Task: Appraise party across all layers and produce evaluation checklist
This page documents a task in the Commission: party story. It captures the goal, current status, acceptance, and any notes or results.
Goal
Apply the domain entity evaluation checklist to party across every
access layer, recording what exists, what works post-NATS, and what is
missing or broken. Findings drive the story's remaining task breakdown.
Shell, CLI, HTTP, and Wt are tracked by separate top-level commissioning
stories, not by this story — their layer status is recorded here for
completeness but does not spawn follow-up tasks on this story.
Status
| Field | Value |
|---|---|
| State | DONE |
| Parent story | Commission: party |
| Now | Nothing. |
| Waiting on | Nothing. |
| Next | Nothing. |
| Last touched | 2026-07-04 |
Acceptance
- Every checklist layer has a recorded verdict for party.
- Gaps are either tasks on this story, or explicitly assigned to another story (shell, CLI, HTTP, Wt are out of scope for this story's task breakdown).
- The story's task breakdown reflects the findings.
Plan
Appraisal performed against the domain entity evaluation checklist on 2026-07-04, using fresh origin/main.
Notes
Appraisal against the checklist, 2026-07-04:
| Layer | Verdict | Notes |
|---|---|---|
| DB | ⚠ issues | Table/trigger fine, valid_to guard already correct; refdata_party_functions_create.sql missing set search_path on 3 security-definer functions. |
| Codegen | ⚠ unmanaged | Org model exists; no JSON driver, not in generate_workspace_entities.sh. |
| Domain (C++) | ✅ complete | All files present in ores.refdata/api/. |
| Repository/Svc | ✅ complete | Present in ores.refdata/core/, incl. RLS isolation tests. |
| Messaging/NATS | ✅ present | Handlers wired in registrar.cpp; needs live verification. |
| Qt | ✅ present | ores.qt/party/ complete, shared detail-dialog pattern; needs live post-NATS verification. |
| Shell | ⚠ issues | Only list implemented; add=/=remove missing — separate story owns this. |
| CLI | ❌ missing | Nothing implemented — separate story owns this. |
| HTTP | ❌ missing | Separate story owns this. |
| Wt | ❌ missing | Separate story owns this. |
| Manual | ❌ missing | No dedicated chapter — passing mentions only. |
Follow-up tasks (shell/CLI/HTTP/Wt excluded — separate stories):
- Bring party under codegen; verify zero-diff regen. Codegen's SQL
templates already emit
security definer set search_pathcorrectly (verified against party_type's generated SQL), so regen is expected to fix the security-definer gap inrefdata_party_functions_create.sqlas a side effect — no separate manual SQL patch task. - Verify Qt UI end-to-end post-NATS; fix regressions found.
PRs
| PR | Title |
|---|---|
Review
| Comment summary | File | Decision | Notes |
|---|---|---|---|
Result
Full-layer verdict recorded (see Notes table). Spawned 2 follow-up tasks on this story: "Bring party under codegen" (blocked — hand-written trigger logic with no facet) and "Verify party Qt UI end-to-end post-NATS" (blocked on a follow-up QA session, 3 bugs fixed so far). Security-definer search_path gap fixed directly rather than left for the blocked codegen migration.