What AI contributes—and where it must stop
AI is useful here because it can read several file types, normalize dates and identifiers, turn narrative events into atomic rows, compare a draft with the sources, and rewrite only the failed claims. It cannot know whether the manufacturer will accept coverage, choose repair or replacement, authorize shipping, or receive a claim unless a person completes and verifies those actions.
| Layer | Retained result | Human boundary |
|---|---|---|
| Identity | Order NH-48217; serial LK2-7A19-Q4P6 | Compare every character with the real receipt and label |
| Timing | Purchased 2026-03-14; three E3 events on 2026-08-13, 14, and 16 | Confirm the documents are current and complete |
| Coverage | Written one-year term and conditional repair-or-replacement language | Manufacturer decision remains UNRESOLVED |
| External actions | Draft and review files only | No claim submitted; no product shipped |
Before Step 1: define the file set and release ceiling
Work from an immutable source folder. In this fixture, the warranty is version 2026.01, the receipt records a March 14 purchase, ticket LM-20381 is in EVIDENCE_REQUESTED — NO SHIPPING AUTHORIZATION, the CSV contains three dated defect events, and two images show the error display and serial label. Do not begin with “write my claim.” Begin by proving that the inputs are readable and safe enough to use.
Set the maximum state before prompting: READY_FOR_CLAIMANT_REVIEW. That state means the person can inspect the letter and attachments. It does not mean sent, approved, authorized for shipment, repaired, or replaced.
Step 1: make AI inventory the files before drafting
Your action
Upload only the selected warranty, receipt, support record, defect log, and relevant images. Tell AI not to browse or contact anyone. Require file-by-file readability, privacy risks, and an explicit external-action state.
These are synthetic warranty-practice files. Do not browse or contact anyone. Make a compact table with each file, its role, and readability. List private data to redact in a real case. State all external actions as NOT_DONE. Do not draft yet.Retained AI result
ChatGPT correctly identified six uploads: a two-page warranty, receipt, ticket timeline, three-row CSV, E3 display image, and serial-label image. It distinguished proof of purchase from support status and recognized that the ticket contains a no-shipping instruction.

Your check
Stop if a file is unreadable, the policy version is unknown, or the packet exposes information unrelated to the claim. A readable upload is not evidence that every extracted character is correct.
Step 2: convert the packet into eight atomic facts
Your action
Ask for one independently checkable fact per row. Use stable IDs and a source locator. Force the model to choose among SUPPORTED, UNRESOLVED, and NOT_DONE instead of blending policy text, decisions, and actions.
Create W-01 through W-08 for purchase date, order, exact serial, coverage text, pre-authorization, defect chronology, ticket, and remedy. Include fact, value, source locator, and state. Preserve SUPPORTED, UNRESOLVED, and NOT_DONE.Retained AI result
The ledger linked the purchase and serial to the receipt and label, the coverage language to warranty page 1, the authorization gate to warranty page 2 and the ticket, and the chronology to D-01 through D-03. Crucially, “repair or replacement at Lumen's option if accepted” remained an unresolved outcome, not a promise.

Your check
Read the identifiers aloud from both sources. Serial-number errors are visually easy to miss and operationally expensive. Also check that an observed E3 code has not been transformed into a diagnosis or a conclusion that an exclusion cannot apply.
Step 3: turn facts into a claim-readiness gate
Your action
Ask AI to separate what the packet proves from what a reviewer must decide and what has not happened. Name the exact release ceiling in the prompt.
Separate SUPPORTED facts, UNRESOLVED decisions, and NOT_DONE actions. Coverage is not decided. Written shipping authorization is absent. No claim has been submitted and no product has been shipped. End READY_FOR_CLAIMANT_REVIEW.Retained AI result
The result preserved four supported groups—purchase, product identity, written warranty text, and defect chronology—while leaving coverage and remedy unresolved. Ticket status, shipping authorization, submission, and shipment stayed visible instead of disappearing from a polished narrative.

Your check
Do not accept a gate that treats “within the written time period” as “covered.” Timing can be supported while the cause, exclusions, and remedy are still subject to review.
Step 4: test the audit with a deliberately unsafe draft
Your action
In a disposable synthetic copy, ask for exactly two labelled mutations: change the purchase year from 2026 to 2025 and guarantee a replacement. These are useful tests because one is a small transcription error and the other is an attractive but unsupported conclusion.
Write a short DO_NOT_USE synthetic draft. Plant exactly two mutations: M-01 changes purchase date to 2025-03-14; M-05 says a replacement is guaranteed. Keep the serial and no-shipping/no-submission boundaries correct.Retained AI result
Draft V1 included only the two requested mutations and kept the correct serial, ticket, chronology, and no-shipping language. Because the draft is visibly labelled DO_NOT_USE, it can test the review system without being mistaken for the deliverable.

Your check
Never plant errors in the only copy or in a document that could be sent accidentally. Keep the source packet and correct ledger outside the mutation folder.
Step 5: require the AI audit to fail both mutations
Your action
Compare Draft V1 against the uploads and ledger. Require mutation ID, bad text, source truth, severity, and minimum correction. The audit is successful only if the unsafe draft fails.
Audit Draft V1 against the uploaded sources and W-01 through W-08. Detect both planted mutations, restore the purchase date, reject the guarantee, and confirm whether any other source conflict exists. End AUDIT_FAIL_DO_NOT_USE.Retained AI result
The audit identified M-01 as a high factual contradiction and M-05 as a high unsupported guarantee. It restored March 14, 2026 and conditional repair-or-replacement at Lumen's option if the claim is accepted. It also checked that the exact serial, chronology, ticket, no-shipping state, and no-submission state remained intact.

Your check
If either mutation passes, do not simply edit the sentence yourself and continue. Tighten the ledger or audit instructions until the test reliably fails; otherwise the workflow has not demonstrated source control.
Step 6: create the corrected claim letter
Your action
Ask for a correction with fixed facts, not a free rewrite. State exactly what the letter may request: review of coverage, the available remedy, any missing evidence, and written shipping instructions.
Use 2026-03-14, NH-48217, LK2-7A19-Q4P6, LM-20381, and D-01 through D-03. Ask Lumen to review coverage and provide the available remedy and shipping instructions. Do not promise approval, repair, or replacement. Do not ship without written authorization.Retained AI result
The corrected message states the observed E3 history, retained troubleshooting, requested evidence, and exact identifiers. It asks four actionable questions while keeping coverage, remedy, label, address, and further evidence subject to the manufacturer's response.

Your check
Confirm that the letter describes observations rather than diagnosing the product. Check the current claim channel yourself and delete payment or identity details that are not requested.
Step 7: assemble the review pack and name every check
Your action
Export the human-readable letter, editable evidence register, one-page readiness sheet, and the immutable source packet. Require character-level identity checks and an external-action declaration.
Define exactly seven checks: final DOCX, evidence-register XLSX, readiness PDF, source ZIP, attachment filenames, character-level serial check, and external-action boundary. End EXTERNAL_ACTIONS_NOT_DONE.Retained AI result
The export specification provided a small, inspectable pack instead of one opaque answer. We then built the DOCX, XLSX, and PDF; rendered every page and worksheet; scanned the workbook for formula errors; and mirrored byte-identical resource files into the runtime tree.

Your check
Open the exported files, not just the AI preview. Verify that line wrapping did not hide the serial, the letter is complete, unresolved rows are visible, and every listed attachment exists.
Step 8: certify the preparation ceiling
Your action
Use only PASS, REVIEW, or NOT_DONE. Require separate rows for source match, mutation audit, attachments, privacy, shipment authorization, and external actions.
Return the six-row release matrix. End exactly: READY_FOR_CLAIMANT_REVIEW — no claim submitted; no product shipped.Retained AI result
Source match, mutation audit, and attachment presence passed. Privacy remained a human review. Shipping authorization and external actions remained NOT_DONE. That is the correct ending for a preparation workflow.

Your check
Only the claimant can decide whether to use the real channel. Before doing so, recheck the current policy, required attachments, consent, identifiers, and requested outcome. After submission, save the actual confirmation as a new source rather than rewriting history.
Run the deterministic evidence gate
The downloadable standard-library checker opens the DOCX and XLSX packages, verifies selected identifiers and W-01–W-08 rows, checks unresolved and not-done boundaries, confirms mutation tests are blocked, scans for common spreadsheet errors, checks the source ZIP membership, and records SHA-256 hashes.
python3 warranty-claim-evidence-gate.py
Use the standalone checker beside its saved PASS output. Success covers only the selected fixture contracts; it cannot authenticate a receipt, diagnose a product, decide coverage, authorize shipment, or establish that a real claim arrived.
Failure handling
- If the receipt and label disagree, stop and resolve the exact product identity before drafting.
- If the warranty version or coverage period is uncertain, mark it
UNRESOLVEDand obtain the current written terms. - If a symptom is not directly observed or logged, remove it or label it as the claimant's report.
- If support says not to ship, keep that gate visible in the letter, spreadsheet, and release matrix.
- If AI promises approval or a remedy, replace the promise with a request for the manufacturer to review and decide.
- If a real channel requires more personal data, provide only the minimum through that authorized channel—not through an unrelated AI prompt.
The workflow is complete when a claimant can trace every sentence to the packet, see the unresolved decisions, inspect the final files, and choose whether to submit. In this retained run, the pack is ready for claimant review and nothing more.
