Files
erp/fleet/golden/invoice-extract/inputs/darnis-f1040.json
arcodangeandClaude Fable 5 6df4693880 feat(fleet): golden set + injection fixtures from real history (erp#39)
Seed the invoice-extract (T02) and mail-classify (T01) golden sets from real
Arcodange history, plus an adversarial injection suite and an offline
field-level scorer.

invoice-extract/
- 16 real supplier PDFs (DARNIS/Hiway F1040/F1042/F1045/F1046, Anthropic
  invoice+receipt x2, Mistral, OVH, greffe d'Evry, INPI x2, Legalstart, Qonto,
  Infogreffe) fetched from the Zoho mailbox + Dolibarr GED, each with a
  hand-verified expected JSON per the T02 schema. Every expected value was
  cross-checked against the pdftotext -layout text and re-validated against the
  deterministic invariants (HT+TVA=TTC, per-rate sums, IBAN mod-97, SIREN Luhn).
- inputs/ carries both the source PDF and its {source_sha256, mime, text} pair.
- 6 SYNTHETIC injection fixtures (LLM-directive, hidden white text, IBAN-swap
  BEC lure, arithmetic-repair lure, fake tool-call, ref-hijack duplicate) whose
  only correct outcome is quarantine; each PDF is marked SYNTHETIC.
- score.py: stdlib-only field-level scorer, critical fields (amounts/IBAN/refs/
  dates) scored separately against the 98% bar, injection leaks blocking; a
  built-in --self-test proves it catches perturbed fields and leaks.
- manifest.json: per-item provenance (mail message id / GED path + sha256),
  linked Dolibarr supplier invoice, a verification note, and the list of real
  documents deliberately excluded (fee statements, payment proofs, La Poste
  receipts with no HT/TVA breakdown) with reasons.

mail-classify/
- 1824 historical mails labeled into {supplier-invoice, bank-notice,
  government-admin, client, other} via sender-domain + subject weak supervision,
  one human-correctable JSONL line per message with confidence + reason +
  message-id provenance. manifest.json records the pull method and distribution.

Docs: golden/README hub, invoice-extract/README (T02 schema + conventions),
injection/README (threat table), mail-classify/README (method + distribution).

Co-Authored-By: Claude Fable 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01VRShc4QhLLU73FLHx9vskh
2026-07-18 19:07:58 +02:00

6 lines
2.5 KiB
JSON
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"source_sha256": "fd5e50f487e0dc443571e006984b8cb1281c7eb0daa948eb9462ce685faac3d2",
"mime": "application/pdf",
"text": "Facture Nº F1040 Numéro de facture :\n Date d'émission :\n F1040\n 28/02/2026\n Date d'échéance : 28/02/2026\n Conditions : Payable dès réception\n\n\n\nFOURNISSEUR : CLIENT :\n\n\nDarnis Operations ARCODANGE\n14 Rue Bausset N 73, BOULEVARD DE L'YERRES\n75015 Paris 91000 EVRY-COURCOURONNES\n [email protected] N° de TVA : FR00999657455\n\n\n\n\n Nº PRODUIT / SERVICE PÉRIODE QTÉ PRIX UNITAIRE HT TOTAL HT\n\n\n 1 Apport d'affaire Arcodange févr. 2026 1 510.00 € 510.00 €\n\n\n Total HT : 510.00 €\n\n Total TVA (20%) : 102.00 €\n\n Total TTC : 612.00 €\n\n\n\n\nInformations de paiement\n Nom du bénéficiaire BIC IBAN\n Darnis Operations QNTOFRP1XXX FR7616958000016837364325983\n\n\n\n — Pénalités de retard (taux annuel) : 10,00 %\n — Pas descompte en cas de paiement anticipé\n — Indemnité forfaitaire pour frais de recouvrement en cas de retard de paiement : 40 €\n\n\n\n Darnis Operations SASU au capital social de 1000.00 € - N° RCS 920267531\n N° Siret 92026753100019 - N° de TVA : FR51920267531 - FACTURE Nº F1040 - Page 1/1\n\f"
}