Sprint 13
Table of Contents
This page documents a sprint (Sprint 13) of ORE Studio v0. It captures the sprint's mission, current status, and the stories that compose it. For the surrounding context — version goals, sprint order, and product identity — see Version 0.
Mission
Add trade and scheduling support. Delivered the foundations:
multi-party login + account-party management closes the future-story
note from sprint 12; the scheduling subsystem stands up
ores.scheduler over pg_cron with a Quartz.NET-style fluent API;
the portfolio explorer combines books + portfolios + trades into a
navigable tree; batch save/delete go atomic across 23 entities; FSM
moves into DQ where it belongs; party-level RLS extends to books /
portfolios / trades.
Status
| Field | Value |
|---|---|
| State | DONE |
| Parent version | Version 0 |
| Previous | Sprint 12 |
| Start | 2026-02-20 |
| End (expected) | 2026-02-28 |
| Now | Sprint closed 2026-02-28. Two items carry forward: the trade-import mapping dialog (6h work-in-progress) and the party-level refdata restrictions (framework only). |
| Waiting on | Nothing. |
| Next | Sprint 14 |
| Release Notes | Release notes |
| Last touched | 2026-02-28 |
Achievements
- Scheduling subsystem landed: protocol, library, and queue.
- Multi-party login picker and account-party management live.
- FSM consolidated into DQ; portfolio explorer combining tree and trade table.
- Tabbed dialog pattern adopted across all detail dialogs.
- RLS extended to books, portfolios, and trades.
- Batch operations (atomic save and delete) and session telemetry plotting established.
Stories
For the definitions of the themes see Themes.
Infrastructure
| Story | State | Start | End | Description |
|---|---|---|---|---|
| Provenance and actor | DONE | 2026-02-21 | performed_by / modified_by stamping tightened; current_actor GUC. | |
| Session telemetry plotting | DONE | 2026-02-22 | RTT + bytes hypertable + QChartView. | |
| Party isolation for books / portfolios / trades | DONE | 2026-02-24 | RLS extended. |
Product
| Story | State | Start | End | Description |
|---|---|---|---|---|
| FSM consolidation into DQ | DONE | 2026-02-20 | moves FSM under DQ. Continues from sprint 12 fsm_and_trade_support. | |
| Detail dialogs modernisation | DONE | 2026-02-25 | tabbed dialogs + toolbar removal. | |
| Account-party management and login | DONE | 2026-02-23 | multi-party login picker. Continues from sprint 12 party_level_rls_isolation. | |
| Refdata taxonomy work | DONE | 2026-02-24 | rounding type, currency taxonomy split, asset-class naming. | |
| Business centre polish | DONE | 2026-02-22 | city_name + flag fixes. | |
| Connection browser environments | DONE | 2026-02-24 | environment + connection split. | |
| Portfolio explorer | DONE | 2026-02-25 | combined tree + trade table. | |
| Trade import mapping analysis | DONE | 2026-02-25 | design pass. | |
| Trade import mapping dialog | BACKLOG | POSTPONED. | ||
| Scheduling subsystem | DONE | 2026-02-27 | protocol + lib + queue. | |
| Batch operations | DONE | 2026-02-28 | atomic save + delete. | |
| Party-level refdata restrictions | BACKLOG | BACKLOG framework only. |
Agile
| Story | State | Start | End | Description |
|---|---|---|---|---|
| Sprint 13 housekeeping | DONE | 2026-02-24 | backlog + two-step release notes. |
Charts
Charts generated via sprint_charts cmake target.
PRs & Commits per Day
Dual-axis bar chart. PRs (left axis) and commits (right axis) per day. A high commits-to-PR ratio may indicate scope creep.
Daily Line Churn
Lines added (green) and deleted (red) per day. Building work produces mostly additions; refactoring produces a mix. Days with no churn may indicate blockers.
PR Cycle Time
Hours from PR open to merge, one bar per PR. Long bars indicate review bottlenecks. Generated only when PR data is available.
Cumulative Stories Done
Line chart tracking stories marked DONE during the sprint. Steady upward slope is healthy; plateauing signals a stall.
Retrospective
What went well
- Account-party + multi-party login closes the largest open thread from the sprint-12 party-RLS landing.
- Portfolio explorer pulls together books, portfolios, and trades into one navigable view scoped by session party — the first time these surfaces felt cohesive.
- Scheduling subsystem landed end-to-end inside the sprint: lib, protocol, and queue.
- Batch save/delete across 23 entities was a big payback on the protocol consolidation discipline.
- The two-step release-notes process (summarise → write) is now process; needed for any future LLM-aided release notes.
What hurt
- 16 stories / 22 tasks is right at the top of comfortable; trade- import dialog (6h of work) and party-level refdata restrictions (framework only) carry forward.
- Three breaking protocol bumps in one sprint (38, 41, 43, 45, 46 actually five) — wire-format churn was high; each was justified individually but the cumulative cost on clients is real.
- Currency-taxonomy rename pass happened immediately after the taxonomy split — would have been cleaner to ship together.
What changed
ores.fsmis gone; FSM lives under DQ asores.dq.fsm.*.- Login is multi-party-aware; accounts can carry multiple party assignments.
- Trade visibility is party-scoped (alongside books and portfolios).
- Currency carries
asset_class+market_tierinstead of free-textcurrency_type. ores.schedulerwrapspg_cronfor scheduled jobs.- Save + delete are atomic at the batch level.
environmentandconnectionare separate concepts in the connection browser.- Provenance no longer has a
current_userescape hatch.