Sprint 09

Table of Contents

This page documents a sprint (Sprint 09) 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

Originally implement data management infrastructure. Delivered: stood up Data Quality as a first-class subsystem (ores.dq) end to end — concept model, domain types + FpML, ER refactor, breaking protocol bump, Data Librarian UI, publication workflow, validated against a fake-world dataset. Around it: connection management (so the multi-environment agent workflow stops being painful), database naming made component-explicit, a dedicated security module, and CLI coverage of the entities that landed in earlier sprints.

Status

Field Value
State DONE
Parent version Version 0
Previous Sprint 08
Start 2026-01-11
End (expected) 2026-01-20
Now Sprint closed 2026-01-20. Two items carry forward: the per-entity documentation refactor (already mostly absorbed into v2) and the party-table groundwork.
Waiting on Nothing.
Next Sprint 10
Release Notes Release notes
Last touched 2026-01-20

Achievements

  • Data Quality subsystem and Data Librarian established as flagship features.
  • ores.security module introduced with RAII OpenSSL.
  • Connection management (ores.connections) live with Connection Browser MDI.
  • Database renamed ores.risk → ores.refdata; consistent component_entity naming enforced.
  • CLI list/delete coverage extended to five entities.
  • Qt icon-enum and theme refactored for consistent visual identity.

Stories

For the definitions of the themes see Themes.

Infrastructure

Story State Start End Description
Engineering hygiene DONE   2026-01-14 model refresh + pr-manager skill + valgrind fixes; documentation refactor postponed.
Security module DONE   2026-01-13 ores.security with RAII OpenSSL.
Connection management DONE   2026-01-15 ores.connections + Connection Browser MDI + modernised login dialog.
Database naming refactor DONE   2026-01-14 ores.risk → ores.refdata; <component>_<entity>_<suffix> across the schema.

Product

Story State Start End Description
Data Quality subsystem and Data Librarian DONE   2026-01-20 the flagship of the sprint.
Qt visual refresh DONE   2026-01-20 icon-enum + theme refactor.
Party database groundwork BACKLOG     table structure only; postponed.

Tooling

Story State Start End Description
CLI entity coverage DONE   2026-01-12 list/delete commands for the five entities the CLI was missing; helper-driven refactor.

Agile

Story State Start End Description
Sprint 09 housekeeping DONE   2026-01-20 backlog + OCR.

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

  • Data Quality landed as a coherent subsystem rather than piecemeal: concept first, then domain types + FpML, then ER refactor, messaging, UI, publication, and finally a fake-world validation pass.
  • Connection management unblocked the multi-environment agent workflow the project has been operating under for the last few sprints.
  • Two big refactors — rename risk→refdata and the schema-wide naming pass — landed cleanly thanks to the prefix pattern being mechanical.
  • The DQ subsystem migration of change-management messages out of IAM forced a circular-dependency fix that improved layering more broadly.

What hurt

  • The DQ protocol bump (21.3 → 22.0) is genuinely breaking; the cost is paid up-front while client count is small, but it's still a cost.
  • Documentation-refactor scope overlapped substantially with v2; we ended up postponing the v0 task because doing both would have been duplicate work.
  • Boost.Graph as a build-time dependency is heavy for the one topological-sort we need today; justified by the more-graphs-coming argument but worth revisiting if that doesn't materialise.

What changed

  • ores.security is now the only place that knows about OpenSSL primitives; ores.iam and ores.connections consume it.
  • ores.risk is gone — ores.refdata replaces it everywhere.
  • Schema-wide <component>_<entity>_<suffix> naming is now the rule; new entities follow it by default.
  • ores.dq is the home of data-quality and change-management machinery; messaging migrated accordingly.
  • Connection bookmarks live on the client (SQLite + AES-256-GCM) rather than mixed into the server schema.

Emacs 29.1 (Org mode 9.6.6)