Sprint 15
Table of Contents
This page documents a sprint (Sprint 15) 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
Implement compute grid. Delivered exactly that — BOINC-inspired distributed grid across the whole stack, with telemetry pipeline + RAG service-health dashboard. Around it: the api/core architecture migration across all ten service libraries (the long-overdue Conway-pleasing refactor), JWT refresh closing the silent-expiry hole left by sprint 14's RS256 work, unified system_settings replacing the boolean-only feature_flags, and four CDM-inspired instrument domain models (rates, FX, bond, credit).
Status
| Field | Value |
|---|---|
| State | DONE |
| Parent version | Version 0 |
| Previous | Sprint 14 |
| Start | 2026-03-19 |
| End (expected) | 2026-03-30 |
| Now | Sprint closed 2026-03-30. No BACKLOG carry-overs this sprint. |
| Waiting on | Nothing. |
| Next | Sprint 16 |
| Release Notes | Release notes |
| Last touched | 2026-03-30 |
Achievements
- Compute grid (BOINC-inspired) implemented, observed, and polished end-to-end.
- API/core architecture split: 10 service libraries refactored into
*.api+*.core. - CDM instrument domain models for rates, FX, credit, and bond.
- ORE import bugs fixed under real-data conditions.
- PostgreSQL roles environment-isolated with prefixes.
feature_flagsreplaced by unifiedsystem_settings.
Stories
For the definitions of the themes see Themes.
Infrastructure
| Story | State | Start | End | Description |
|---|---|---|---|---|
| Unified system_settings | DONE | 2026-03-20 | replace feature_flags. | |
| Compute grid observability | DONE | 2026-03-21 | telemetry + RAG dashboard. | |
| JWT refresh | DONE | 2026-03-21 | closes the loop on sprint-14 RS256. | |
| NATS service discovery for HTTP base URL | DONE | 2026-03-22 | and the architecture migration plan. | |
| API/core architecture migration | DONE | 2026-03-23 | 10 service libraries split into *.api + *.core. | |
| Engineering hygiene | DONE | 2026-03-25 | sccache cache bloat, tenant_id in tests, ORES_PRESET + start-client.sh. | |
| Generators to api layer + http.server split | DONE | 2026-03-25 | cross-cutting cleanup completing the migration. | |
| Environment isolation for database roles | DONE | 2026-03-25 | prefixed PostgreSQL roles. |
Product
| Story | State | Start | End | Description |
|---|---|---|---|---|
| Fix ORE import bugs | DONE | 2026-03-19 | real-data shakedown of the sprint-14 wizard. | |
| Loading indicator on entity list windows | DONE | 2026-03-20 | UI consistency. | |
| Compute grid implementation | DONE | 2026-03-21 | the sprint's mission. Continues from sprint 10 compute_grid_analysis. | |
| Compute grid polish and E2E fixes | DONE | 2026-03-26 | real-data testing + loading-lifecycle refactor. | |
| CDM instrument domain models | DONE | 2026-03-30 | rates / FX / credit / bond, in four phases. | |
| Badges to database (phase 1) | DONE | 2026-03-28 | DB-driven badge metadata. |
Agile
| Story | State | Start | End | Description |
|---|---|---|---|---|
| Sprint 15 housekeeping | DONE | 2026-03-24 | backlog refinement. |
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.
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
- Compute grid landed end-to-end in one sprint, with observability + RAG dashboard + comprehensive E2E polish round.
- API/core migration applied uniformly across all ten service libraries with a consistent three-layer pattern.
- JWT refresh + telemetry hypertable closes the sprint-14 silent- expiry hole properly.
- CDM instrument phases 1-4 all landed: rates, FX, bond, credit domain models with full vertical slices.
- system_settings unification touched 9 phases / every layer but finished cleanly with all legacy files removed.
What hurt
- 86h sprint — among the heaviest. Compute grid + 4 CDM phases + 10- service architecture migration is a lot for one window.
- CDM CLI commands deferred across all four phases; database recreate left as a manual step for FX/bond/credit tables.
- Three protocol bumps (45 → 46 system_settings, 49 → 50 NATS subject prefixes, lifetime config) within the sprint; less than sprint 13 but still high.
- AbstractClientModel signal refactor surfaced via the compute grid's missing endLoading() calls — a class of bug we should have caught systematically earlier.
What changed
ores.computeis a real component withservice+wrapperbinaries; the grid is operational.- Every service library is now
*.api+*.core; no more monolithic domain modules. - JWT tokens refresh transparently on the client; auth events feed
ores_iam_auth_events_tbl. ores_variability_feature_flags_tblis gone;system_settingswith typed accessors replaces it.- All entity list windows show a consistent loading indicator;
AbstractClientModeldrives the loading lifecycle. - Four CDM-inspired instrument models exist as first-class entities.
- Badge metadata moved from hardcoded Qt colours to database definitions (phase 1).
- PostgreSQL roles are environment-prefixed; cross-env contamination fixed at the role layer.
ORES_PRESETcentralised in.env;start-client.shlaunches coloured Qt instances.