{
  "count": 11,
  "description": "Worked solutions to specific failures, each with a real failing input and the exact diagnostic returned for it.",
  "recipes": [
    {
      "slug": "edi-997-specification",
      "title": "EDI 997 specification: every segment and code, with a live decoder",
      "description": "The complete AK1 through AK9 structure of a Functional Acknowledgment, every error code in every position, and an endpoint that turns one into plain language.",
      "url": "https://fluentedi.com/recipes/edi-997-specification",
      "keywords": [
        "edi 997 specification",
        "997 segments",
        "ak1 ak2 ak3 ak4 ak5 ak9",
        "997 error codes",
        "functional acknowledgment format",
        "edi 997 decoder",
        "999 implementation acknowledgment"
      ],
      "tools": [
        "https://fluentedi.com/v1/edi/acknowledge",
        "https://fluentedi.com/v1/edi/validate",
        "https://fluentedi.com/v1/edi/parse"
      ]
    },
    {
      "slug": "edi-856-specification",
      "title": "EDI 856 specification: segment structure, the HL hierarchy, and a worked ASN",
      "description": "What an Advance Ship Notice contains, how the HL loop encodes shipment structure, which segments are mandatory, and a complete valid example you can run.",
      "url": "https://fluentedi.com/recipes/edi-856-specification",
      "keywords": [
        "edi 856 specification",
        "856 asn format",
        "856 segments",
        "hl hierarchy 856",
        "advance ship notice structure",
        "bsn segment",
        "man gm sscc",
        "edi 856 example"
      ],
      "tools": [
        "https://fluentedi.com/v1/edi/build",
        "https://fluentedi.com/v1/edi/validate",
        "https://fluentedi.com/v1/edi/parse",
        "https://fluentedi.com/v1/gs1/checkdigit"
      ]
    },
    {
      "slug": "edi-850-specification",
      "title": "EDI 850 specification: purchase order segments and a worked example",
      "description": "The structure of an X12 850 — BEG, N1 party loops, PO1 line items, DTM dates and CTT — with an endpoint that parses one into JSON.",
      "url": "https://fluentedi.com/recipes/edi-850-specification",
      "keywords": [
        "edi 850 specification",
        "850 purchase order format",
        "beg segment",
        "po1 segment",
        "edi 850 example",
        "x12 850 structure",
        "purchase order edi format"
      ],
      "tools": [
        "https://fluentedi.com/v1/edi/parse",
        "https://fluentedi.com/v1/edi/validate",
        "https://fluentedi.com/v1/id/validate"
      ]
    },
    {
      "slug": "856-asn-rejected-hl-hierarchy",
      "title": "Why an 856 ASN is rejected for HL hierarchy errors",
      "description": "The HL loop flattens a shipment's tree into a list, and every level must name the ID its parent was actually given. Here is what breaks, and how to see it before the retailer does.",
      "url": "https://fluentedi.com/recipes/856-asn-rejected-hl-hierarchy",
      "keywords": [
        "856 hl segment",
        "asn rejected",
        "hl loop error",
        "orphan parent",
        "edi 856 hierarchy",
        "hl02"
      ],
      "tools": [
        "https://fluentedi.com/v1/edi/validate",
        "https://fluentedi.com/v1/edi/build",
        "https://fluentedi.com/v1/edi/parse"
      ]
    },
    {
      "slug": "sscc-18-check-digit",
      "title": "Computing and validating an SSCC-18 check digit",
      "description": "Every carton label in an ASN carries an SSCC-18 whose last digit is a GS1 mod-10 checksum. Here is the algorithm, and the spreadsheet behaviour that silently corrupts one.",
      "url": "https://fluentedi.com/recipes/sscc-18-check-digit",
      "keywords": [
        "sscc-18",
        "sscc check digit",
        "gs1 mod 10",
        "carton label",
        "man*gm",
        "gtin check digit"
      ],
      "tools": [
        "https://fluentedi.com/v1/gs1/checkdigit",
        "https://fluentedi.com/v1/id/validate",
        "https://fluentedi.com/v1/edi/build"
      ]
    },
    {
      "slug": "se01-segment-count-mismatch",
      "title": "SE01 segment count does not match: what the receiver is counting",
      "description": "A rejection for SE01 almost always means the sender counted differently from the spec. The rule is narrower than it looks.",
      "url": "https://fluentedi.com/recipes/se01-segment-count-mismatch",
      "keywords": [
        "se01",
        "segment count",
        "edi 997 ak5 4",
        "x12 se segment",
        "transaction set trailer"
      ],
      "tools": [
        "https://fluentedi.com/v1/edi/validate",
        "https://fluentedi.com/v1/edi/acknowledge",
        "https://fluentedi.com/v1/edi/build"
      ]
    },
    {
      "slug": "edi-997-rejection-codes",
      "title": "Reading a 997: what AK5, AK3 and AK4 codes actually mean",
      "description": "A Functional Acknowledgment reports its verdict as bare letters and numbers. Here is how to turn one into a sentence, and why silence is worse than rejection.",
      "url": "https://fluentedi.com/recipes/edi-997-rejection-codes",
      "keywords": [
        "edi 997",
        "ak5",
        "ak9",
        "functional acknowledgment",
        "997 rejected",
        "ak3 ak4",
        "999 ik5"
      ],
      "tools": [
        "https://fluentedi.com/v1/edi/acknowledge",
        "https://fluentedi.com/v1/edi/validate",
        "https://fluentedi.com/v1/edi/parse"
      ]
    },
    {
      "slug": "isa-segment-must-be-106-characters",
      "title": "The ISA header is fixed-width: 106 characters, no exceptions",
      "description": "Most X12 segments are delimited. ISA is not — every element has an exact width and must be padded. One character out and the receiver's parser fails before reading anything.",
      "url": "https://fluentedi.com/recipes/isa-segment-must-be-106-characters",
      "keywords": [
        "isa segment",
        "isa 106 characters",
        "x12 envelope",
        "isa padding",
        "edi translator error"
      ],
      "tools": [
        "https://fluentedi.com/v1/edi/build",
        "https://fluentedi.com/v1/edi/validate",
        "https://fluentedi.com/v1/edi/parse"
      ]
    },
    {
      "slug": "llm-produced-invalid-json",
      "title": "Repairing malformed JSON from a language model",
      "description": "Models emit JSON wrapped in prose, fenced in markdown, with trailing commas, single quotes, Python literals, or simply cut off. All of it is mechanically fixable.",
      "url": "https://fluentedi.com/recipes/llm-produced-invalid-json",
      "keywords": [
        "fix llm json",
        "malformed json",
        "json parse error",
        "trailing comma",
        "truncated json",
        "agent json output"
      ],
      "tools": [
        "https://fluentedi.com/v1/json/repair",
        "https://fluentedi.com/v1/json/query",
        "https://fluentedi.com/v1/json/canonical"
      ]
    },
    {
      "slug": "agent-timezone-and-deadline-errors",
      "title": "Why agents miss deadlines: timezone and window arithmetic",
      "description": "A language model has no clock. It also has no reliable intuition for whether an instant falls inside a window, which is how ship windows get missed with no error anywhere.",
      "url": "https://fluentedi.com/recipes/agent-timezone-and-deadline-errors",
      "keywords": [
        "agent timezone bug",
        "datetime now utc",
        "ship window",
        "late asn",
        "deadline calculation",
        "dst bug"
      ],
      "tools": [
        "https://fluentedi.com/v1/time/window",
        "https://fluentedi.com/v1/time/now",
        "https://fluentedi.com/v1/time/convert",
        "https://fluentedi.com/v1/cron/next"
      ]
    },
    {
      "slug": "secrets-leaking-into-agent-logs",
      "title": "Stopping credentials leaking when an agent shares logs",
      "description": "Agents paste logs, environment files and stack traces into models, tickets and chat. Anything in a URL or an env var goes with them.",
      "url": "https://fluentedi.com/recipes/secrets-leaking-into-agent-logs",
      "keywords": [
        "secret in logs",
        "redact credentials",
        "api key leaked",
        "safe to paste",
        "agent security",
        "pii redaction"
      ],
      "tools": [
        "https://fluentedi.com/v1/secret/scan",
        "https://fluentedi.com/v1/url/scan",
        "https://fluentedi.com/v1/jwt/decode"
      ]
    }
  ]
}