Task: Write the remaining ores.refdata user journeys

Table of Contents

This page documents a task in the Extract the user journeys that replace the ores.qt screens story. It captures the goal, current status, acceptance, and any notes or results.

1. Goal

Every journey in the agreed ores.refdata catalogue has a user journey document, and every Qt action the extraction recorded is covered by a journey or recorded as dropped.

2. Status

Field Value
State DONE
Parent story Extract the user journeys that replace the ores.qt screens
Now Nothing.
Waiting on Nothing.
Next Nothing.
Last touched 2026-10-04

3. Acceptance

  • Journeys 2, 3 and 5 to 9 of the catalogue are written, each with a wireframe and a coverage table checked against the generated protocol headers.
  • Journeys 5 to 9 have groups, added to the journeys index.
  • Items Q04, D01 to D05 and X05 of the extraction standard pass for the whole component.

4. Plan

(Implementation strategy. Written when work starts; key decisions are distilled into the parent story's * Decisions at close, but the plan itself stays — it is the historical record of what we did.)

5. Measurements

Every number this task claims about a tree, with the command that produced it and the commit it was measured at. A number without both is not a measurement, because a clean-up record describes a tree and trunk moves under a branch: a consumer count, a gate's component count and a suite's size all change with no code changing, and the reader of a bare number cannot tell which tree it came from. Where the raw output matters, put it in an evidence/ file beside the task and name that file in the Command column.

What Value Command Commit
       

6. Notes

6.1. Progress

# Journey Group State
2 Set up a currency pair Currencies and FX written
3 Group currencies for the desk Currencies and FX written
5 Onboard a counterparty to be decided to write
6 Keep a party's details current to be decided to write
7 Shape the book structure to be decided to write
8 Define the conventions for an instrument to be decided to write; waits on the workspace removal
9 Define how tenors resolve to be decided to write

6.2. Gaps found in this task

  1. No refdata junction checks its ends. The inserts of currency_calendar, currency_country, currency_currency_group, currency_pair_convention_calendar and the three party_* junctions check the tenant only, so a row can name a record that does not exist. The junctions keep closed versions, but no operation reads them.
  2. Closing a desk group leaves its membership rows open.
  3. Memberships cannot be read by group; the filter takes currency codes only.
  4. A pair and its convention are written in two operations, and the pair code is not checked against its legs on the server.
  5. The pair list cannot be filtered by currency or classification.
  6. The business_day_convention note on the currency pair convention model names a trading table; the insert validates against the refdata list.
  7. Continues Extract the ores.refdata user journeys, which recorded the inventory, the Qt dispositions, the agreed catalogue and the recurring gaps, and wrote journeys 1, 4 and 10.
  8. Journey 8 (conventions) depends on the workspace removal: the conventions still use workspace-scoped-lookup.

7. Test Scenarios

Manual QA scenarios (scaffolded via compass add test_scenario) that verify this task. Link new ones here as they're created; the scenario doc itself links back via its "Verifies task" field.

Scenario State Notes
     

8. PRs

PR Title
#2633 [doc] Write the currency pair and desk group journeys

9. Review

# Comment summary File Decision Notes
1 PR #2633 round 1: re-confirm the Operations role claims both journeys Declined Checked against iam_roles_populate.sql when written: Operations holds currency, currency junction and pair-convention-calendar permissions only
2 PR #2633 round 1: say what a pair without a convention looks like journey_set_up_a_currency_pair.org Accepted It opens with an empty convention form and a notice
3 PR #2633 round 1: step 2 reads as a server rule journey_set_up_a_currency_pair.org Accepted Step 2 now says the screen enforces the order
4 PR #2633 round 1: state why group removal order matters journey_group_currencies_for_the_desk.org Accepted Step 6 explains the safe order
5 PR #2633 round 1: file the members-by-group gap as a backlog item task Declined for now The gaps are recorded on the task; captures are filed when the task closes
6 PR #2633 round 1: confirm the site build — Noted Reported on the PR when it finishes

10. Result

Journeys 2 and 3 of the agreed refdata catalogue are written in the Currencies and FX group: Set up a currency pair, and Group currencies for the desk. Each has a wireframe and a coverage table whose 24 subjects were checked against the generated protocol headers. The earlier junction wording is corrected, and six gaps are recorded, the widest being that no refdata junction checks its ends. Delivered in PR #2633.

Journeys 5 to 9 moved to Write the refdata party, book, convention and tenor journeys.

Emacs 29.3 (Org mode 9.6.15)