Commission party, counterparty, and party_status together

Table of Contents

This page is a capture in the deferred bucket of the product backlog — a pre-sprint idea, not yet pulled into a sprint as a story.

What

Sprint 22 opened three separate commissioning stories — Commission: party, Commission: counterparty, and Commission: party_status — but none finished, all three stuck on the same underlying blockers: the composite/hierarchy codegen work (no facet yet for auto-generated codename/sequence, per-entity queue provisioning, or self-referential hierarchy validation) and, for history-dialog verification specifically, the not-yet-landed temporal composite entity versioning story. Rather than carry three separate half-finished stories forward, this capture consolidates them: next sprint, once the composite/hierarchy and temporal-versioning blockers clear, break this into fresh per-entity tasks covering what each one still actually needs:

  • party: bring under codegen with zero-diff regen (blocked on the hierarchy/codename/queue-provisioning facet); Qt UI end-to-end verification, including history dialog, delete, and cross-session eventing (blocked on both a dedicated QA session and temporal composite versioning landing, since party's history dialog is exactly what that story changes).
  • counterparty: Qt UI end-to-end verification (blocked, same reasons as party — counterparty shares the same composite/history machinery); write the manual chapter (not started) and NATS message reference.
  • party_status: verify/fix SQL DDL against the evaluation checklist (not started) — this is the only party_status-specific item left; it does not need its own manual chapter, it belongs as a subsection of party's chapter, the same way book_status is documented alongside Book rather than standalone.
  • prerequisite, not yet done: bind the composite child-entity and hierarchy Qt widgets to party and counterparty, verify feature parity against the hand-maintained EntityDetailDialog, and retire that abstraction. Composite child-entity and hierarchy Qt widgets for codegen is otherwise DONE this sprint — the reusable HierarchyTreeWidget, the hierarchy-model-builder, the child-entity Qt facet design, and the SQL/NATS hierarchy layer all shipped. Only this one binding step, Bind composite child-entity and hierarchy widgets to party and counterparty, remains, and it belongs here rather than in that now-closed story, since it only makes sense in the context of this consolidated party/counterparty work.
  • prerequisite, partially done: Implement temporal composite entity versioning is otherwise DONE this sprint — the SQL touch-function mechanism, the as-of window-join composition query, and the open architectural decisions are all resolved and shipped. Two tasks remain, both moved here since they're gated on the same party/counterparty binding work above, not independent: Qt composite history/version dialog (PR #1469 landed an interim flat-list implementation with steps 2-4 of its test scenario passing; explicitly blocked on per-child history dialogs from the binding task) and Document the composite versioning approach and codegen recipe (gated on the mechanism being "fully implemented and proven" — i.e. on the Qt dialog task above landing for real).

Shell/CLI and Wt/HTTP items for all three are not carried here — they're superseded by the top-level Shell entity commands, CLI commands, Wt entity UI, and HTTP entity endpoints commissioning-story captures, same as every other entity this sprint.

Why

Party and counterparty are the two most structurally complex refdata entities (self-referential hierarchy, composite child entities), and this sprint's health reviews found the composite-hierarchy Qt widgets story and the temporal composite versioning story — the two prerequisites both party and counterparty are actually blocked on — themselves still mid-flight. Carrying three separate stub stories forward independently would just re-create the same fragmented tracking that made this sprint's paperwork hard to trust; one capture, re-broken-out once the real blockers clear, keeps the dependency visible in one place.

Superseded

Promoted into Story: Commission: party, counterparty, and party_status in Sprint 23 on 2026-07-13 — both prerequisites (composite hierarchy Qt widgets, temporal composite entity versioning) and their binding/dialog/documentation tasks are now DONE, so the consolidated commission work could be broken back out into fresh per-entity tasks as planned above.

References

See also

Emacs 29.3 (Org mode 9.6.15)