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_flags replaced by unified system_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.

prs_commits.png

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.

line_churn.png

Cumulative Stories Done

Line chart tracking stories marked DONE during the sprint. Steady upward slope is healthy; plateauing signals a stall.

stories_done.png

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.compute is a real component with service + wrapper binaries; 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_tbl is gone; system_settings with typed accessors replaces it.
  • All entity list windows show a consistent loading indicator; AbstractClientModel drives 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_PRESET centralised in .env; start-client.sh launches coloured Qt instances.

Emacs 29.1 (Org mode 9.6.6)