feat: every edi table explains itself; Setup status; Install sample maps #18

Merged
KofTwentyTwo merged 3 commits from feature/tables-populated-defaults into develop 2026-10-14 22:42:45 +00:00
KofTwentyTwo commented 2026-10-14 22:18:03 +00:00 (Migrated from github.com)

Audit per table (27)

Used at runtime: all 27 (the inventory's "edi_event / edi_as2_mdn look write-only" is half right).

  • Seeded by the qbit at startup (EdiRuntime.initialize / BuiltInGuideLoader, insert/upsert by checksum): edi_guide, _segment, _element, _rule, edi_code_list, _value. There are 41 built-in guides, not 42.
  • Host data (start empty, help explains order): partner, identity, agreement, agreement_document, transport, certificate.
  • Maps: edi_map / edi_map_rule start empty; new "Install sample maps" action (32 bundled files, not 36). edi_map_sample is user content from Preview Map uploads.
  • Runtime logs: control_number (allocated on first send), inbox, payload (DATABASE store only), interchange, functional_group, transaction, transaction_error, exception, outbound_request, outbound_message.
  • edi_event: write-only audit log (EdiJournal, raw download), shown as a child list on the interchange. Documented in STARTS_EMPTY as an audit log; no reader added.
  • edi_as2_mdn: IS read (duplicate-MDN check in As2MdnReceiver, replay of a sent MDN in As2Receiver/As2RouteProvider). Documented.

Changed

  • Help bundle help/qbit-edi.yaml + EdiHelp (STAND-IN qqq#1198), applied after the qbit installs; app help gives the order partner, identity, agreement, document, transport.
  • Home: "Setup status" widget (EdiSetupStatus), counting active rows as the runtime does.
  • "Install sample maps" table action on edi_map: standard streamed ETL, minInputRecords(0), edi.admin, insert-only by map name, installs DRAFT, revision 0, no partner, no agreement document, bound to the built-in guide.
  • README, CHANGELOG, UPGRADE.md. No Liquibase changelog needed (runtime seeding already exists).

Tests

EdiTablesGuardrailTest (use, seeded-or-STARTS_EMPTY, seed twice + edit survives, help), InstallSampleMapsTest (list matches files, runs the real process, drafts and unbound, second run adds nothing, edit kept, deleted comes back, host's same-named map untouched), EdiSetupStatusTest. ./mvnw -o verify green.

Not done

  • Sample maps point at example target tables (sample_order etc.); the host must change the table before Activate.
  • No reader added for edi_event.

🤖 Generated with Claude Code

## Audit per table (27) Used at runtime: all 27 (the inventory's "edi_event / edi_as2_mdn look write-only" is half right). - Seeded by the qbit at startup (`EdiRuntime.initialize` / `BuiltInGuideLoader`, insert/upsert by checksum): edi_guide, _segment, _element, _rule, edi_code_list, _value. There are 41 built-in guides, not 42. - Host data (start empty, help explains order): partner, identity, agreement, agreement_document, transport, certificate. - Maps: edi_map / edi_map_rule start empty; new "Install sample maps" action (32 bundled files, not 36). edi_map_sample is user content from Preview Map uploads. - Runtime logs: control_number (allocated on first send), inbox, payload (DATABASE store only), interchange, functional_group, transaction, transaction_error, exception, outbound_request, outbound_message. - edi_event: write-only audit log (EdiJournal, raw download), shown as a child list on the interchange. Documented in STARTS_EMPTY as an audit log; no reader added. - edi_as2_mdn: IS read (duplicate-MDN check in As2MdnReceiver, replay of a sent MDN in As2Receiver/As2RouteProvider). Documented. ## Changed - Help bundle `help/qbit-edi.yaml` + `EdiHelp` (STAND-IN qqq#1198), applied after the qbit installs; app help gives the order partner, identity, agreement, document, transport. - Home: "Setup status" widget (`EdiSetupStatus`), counting active rows as the runtime does. - "Install sample maps" table action on edi_map: standard streamed ETL, `minInputRecords(0)`, `edi.admin`, insert-only by map name, installs DRAFT, revision 0, no partner, no agreement document, bound to the built-in guide. - README, CHANGELOG, UPGRADE.md. No Liquibase changelog needed (runtime seeding already exists). ## Tests `EdiTablesGuardrailTest` (use, seeded-or-STARTS_EMPTY, seed twice + edit survives, help), `InstallSampleMapsTest` (list matches files, runs the real process, drafts and unbound, second run adds nothing, edit kept, deleted comes back, host's same-named map untouched), `EdiSetupStatusTest`. `./mvnw -o verify` green. ## Not done - Sample maps point at example target tables (sample_order etc.); the host must change the table before Activate. - No reader added for edi_event. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Sign in to join this conversation.