Sprint 10

Table of Contents

This page documents a sprint (Sprint 10) 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 data quality and code generation work. Delivered exactly that: a simple in-tree codegen that emits domain-types SQL and the ER diagram; xsdcpp-based codegen for ORE XML inside a dedicated ores.ore component; the 13 reference-data types party needs landed through FpML codegen; a metadata/production schema split that resolves the bootstrap paradox; dataset bundles and a Qt System Provisioner Wizard that uses them.

Status

Field Value
State DONE
Parent version Version 0
Previous Sprint 09
Start 2026-01-20
End (expected) 2026-01-28
Now Sprint closed 2026-01-27. Two stories carry forward: the FPML export/import implementation and the BOINC compute-grid design.
Waiting on None — carried items scheduled forward.
Next Sprint 11
Release Notes Release notes
Last touched 2026-01-27

Achievements

  • ORE XML codegen established (ores.ore + xsdcpp; MSVC-compatible).
  • 13 FPML party-scheme types generated via the new party codegen path.
  • Dataset bundles and System Provisioner Wizard landed.
  • In-tree codegen infrastructure with domain-types SQL and ER diagram generation.
  • SQL directory reorganised into create/, drop/, populate/ per component.
  • Metadata/production schema split established.

Stories

For the definitions of the themes see Themes.

Infrastructure

Story State Start End Description
Schema polish DONE   2026-01-26 layer cleanup, rounding types, icon labels, mapping artefact.

Product

Story State Start End Description
Party schemes and FPML reference data DONE   2026-01-23 13 types via FpML codegen + DQ artefact workflow; GLEIF subset. Continues from sprint 09 party-database groundwork.
Image cache polish DONE   2026-01-23 reload on new datasets; incremental loading via modified_since.
ORE XML codegen DONE   2026-01-27 ores.ore + xsdcpp + Windows MSVC fix.
Dataset bundles and provisioning DONE   2026-01-27 metadata/production schema split, bundles, System Provisioner Wizard.
Librarian polish DONE   2026-01-27 sprint-09 PR-review fix-up.
FPML export and import groundwork BACKLOG     ores.fpml scaffolded; export/import postponed.
Compute grid analysis (BOINC-based) BACKLOG     design pass; implementation deferred.

Tooling

Story State Start End Description
Codegen infrastructure DONE   2026-01-24 simple in-tree codegen; domain-types SQL; ER diagram from SQL.
SQL directory refactor DONE   2026-01-24 create/, drop/, populate/ by component; safer teardown; admin naming convention.

Documentation

Story State Start End Description
External data reorganisation DONE   2026-01-24 domain-specific subdirectories + manifests; coding schemes via DQ pipeline.

Agile

Story State Start End Description
Sprint 10 housekeeping DONE   2026-01-27 backlog + OCR + misspell-CI fix.

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

  • The codegen-first approach paid back immediately: domain-types SQL, ER diagram, party reference data (13 entity types in one PR) all landed cleanly thanks to the new infra.
  • xsdcpp got us from manually writing ORE types to real ORE samples round-trip through generated code inside a single sprint, including the upstream issue + the Windows MSVC follow-up.
  • The metadata/production schema split was the right shape for the bootstrap wizard — the wizard could be much simpler than it would have been before the split.
  • Three SQL-directory refactor PRs landed back-to-back without breaking the world, thanks to git-history-preserving moves.

What hurt

  • The PR for party-related schemes was huge (15 entity types, 18 datasets). It landed but the review surface was unfriendly.
  • Claude Code token budget was the precipitating cause of the codegen story — felt like a forced move rather than a deliberate investment. Still worth doing; just worth noting.
  • The misspell-action fix was annoying out of proportion to its size — GLM 4.7 kept suggesting unhelpful approaches before manual fix-up.
  • xsdcpp gaps surfaced late (sub-elements / substitution groups); documented in ore_xsd_schema_gaps.md rather than fixed in-sprint.

What changed

  • Codegen is now a load-bearing part of the workflow, not a one-off.
  • ores.ore is the new home for ORE-specific import/export.
  • ores.fpml is scaffolded for the FPML side, even though its implementation carries forward.
  • Database schema is split into metadata and production; the bootstrap chicken-and-egg is resolved.
  • Bootstrap is a Qt wizard, not a shell ritual.

Emacs 29.1 (Org mode 9.6.6)