Story: Party database and domain

Table of Contents

This page documents a story in Sprint 12. It captures the goal, current status, acceptance criteria, and the tasks that compose it.

Goal

Implement party + counterparty + identifier + contact-information at the database, domain, and Qt layers.

Status

Field Value
State DONE
Parent sprint Sprint 12
Now Completed 2026-02-09.
Waiting on None.
Next None.
Last touched 2026-02-09

Continued from: Party database groundwork (sprint 09). That story sketched the party table; the sprint-10 party-schemes story landed the 13 reference-data types party needs; this one finally implements party + counterparty + identifier + contact-information end-to-end.

Acceptance

  • SQL schema + 4 lookup tables in place; codegen template support added.
  • 11 C++ domain types + 40 new message types in protocol.
  • Qt: detail dialog, history dialog, MDI window, controller, client model for party.
  • Existing party / counterparty / tenant screens regenerated through the new template.

Tasks

Task State Start End Description
Implement party-related entities at the database layer DONE 2026-05-19 2026-02-07 Core tables for parties, counterparties, identifiers, contact info, account-party associations; four lookup tables (party_types, party_statuses, party_id_schemes, contact_types); codegen template support for validations + indexes; FK to DQ coding schemes.
Add party-related support at the domain level DONE 2026-05-19 2026-02-08 11 new C++ domain types in ores.refdata + ores.iam; account_party junction; full stack (JSON + table I/O, generators, repository, service, protocol); 40 new message types.
Add party-related support to Qt DONE 2026-05-19 2026-02-09 Comprehensive Party UI: detail dialog, history dialog, MDI window, controller, client model. Configurable detail_fields in codegen; key-field handling for short_code. Existing party / counterparty / tenant screens regenerated.

Decisions

Codegen-driven
11 domain types and 40 messages would not have been realistic without codegen.
Configurable detail_fields[] in Qt codegen
removed manual post-codegen edits that had crept into the workflow.
Subsume the analysis sub-headings
Add party entity, Add party identifier entity, Contact information entity are all analysis-only in v0; folded into the implementation task notes.

Out of scope

  • Multi-party RLS isolation (separate story).
  • Advanced counterparty dialog (separate story).

See also

Emacs 29.1 (Org mode 9.6.6)