Ziel
Approved requests reach the ERP with their reviewed line items (description, quantity, unit, material, dimensions), not only the three header fields of contract v1. Today corrected line items are audited (#25, PR #42) but never exported.
Akzeptanzkriterien
Nicht Teil dieser Aufgabe
Betroffene Bereiche
contracts/erp-export.openapi.yaml, src/features/export/{contract,payload,adapter}.ts, src/features/review (reviewed values per item)
Testplan
| Kriterium |
Prüfart |
| Contract + mock accept line items |
contract/unit test |
| Payload carries reviewed line items |
integration test (approve → export → mock record) |
| Limit violation blocks approval |
integration test |
| Retry sends identical body |
integration test (existing exactly-once suite extended) |
Offene Entscheidungen
- Contract v2 (
/v2/) or an optional lineItems field in v1? (API rule: breaking changes only with a new version.)
- ERP limits per line-item field (length, max. number of items).
Security/Privacy betroffen?
Public API contract change → human approval of the contract (SYSTEM.md §5). No new personal data beyond what is already exported.
Found during the overnight run (#2 morning report, review of PR #42).
Ziel
Approved requests reach the ERP with their reviewed line items (description, quantity, unit, material, dimensions), not only the three header fields of contract v1. Today corrected line items are audited (#25, PR #42) but never exported.
Akzeptanzkriterien
contracts/erp-export.openapi.yaml) gainslineItemsin a backwards-compatible way (new version or optional field – decision below) and the REST adapter + in-memory mock accept it.exportLimitViolationsfor header fields) – never cut silently.Nicht Teil dieser Aufgabe
Betroffene Bereiche
contracts/erp-export.openapi.yaml,src/features/export/{contract,payload,adapter}.ts,src/features/review(reviewed values per item)Testplan
Offene Entscheidungen
/v2/) or an optionallineItemsfield in v1? (API rule: breaking changes only with a new version.)Security/Privacy betroffen?
Public API contract change → human approval of the contract (SYSTEM.md §5). No new personal data beyond what is already exported.
Found during the overnight run (#2 morning report, review of PR #42).