Story: Advanced counterparty dialog

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

Reshape the counterparty dialog into a five-tab layout and refactor party + counterparty dialogs behind a strategy pattern.

Status

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

Acceptance

  • Five-tab counterparty dialog (General / Identifiers / Contacts / Hierarchy / Metadata).
  • Inline identifier + contact management.
  • Change-reason dialog on amendment.
  • Eventing for counterparty + identifier + contact info.
  • Strategy-pattern refactor collapses party + counterparty dialogs into one class with two strategies.

Tasks

Task State Start End Description
Counterparty dialog: 5-tab layout DONE 2026-05-19 2026-02-18 Tabs: General Info / Identifiers / Contacts / Hierarchy / Metadata. Inline sub-entity management; counterparty hierarchy tree; change-reason dialog on amend; eventing for counterparty + identifier + contact info; tenant_id fix on save handlers; reconnect crash fix.
Refactor party + counterparty dialogs DONE 2026-05-19 2026-02-19 Strategy pattern: entity_detail_operations abstract interface; unified generic EntityDetailDialog; PartyDetailDialog deleted; PartyController + CounterpartyController instantiate the generic dialog with appropriate strategy.

Decisions

Five tabs from Gemini analysis + metadata
matches industry pattern.
Strategy pattern
80% of the two dialogs was identical; one class with two strategies kills the duplication.

Out of scope

  • Trading-limit + SSI tabs as functional surfaces (sketched only).

See also

None.

Emacs 29.1 (Org mode 9.6.6)