Sprint 02

Table of Contents

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

Lay the foundations for a client/server architecture and modernise the project's serialisation and storage paths.

(Synthesised from the v0 mission: "Create basic project infrastructure" plus "Add client and server support". The serialisation and storage work was the largest single thread by time, so it is reflected in the mission explicitly.)

Status

Field Value
State DONE
Parent version Version 0
Previous Sprint 01
Start 2025-02-02
End (expected) 2025-10-23
Now Nothing.
Waiting on Nothing.
Next Sprint 03
Release Notes Release notes
Last touched 2025-10-23

Achievements

  • Client/server foundations established.
  • Serialisation and storage modernised.
  • Risk module extracted.

Stories

For the definitions of the themes see Themes.

Infrastructure

Story State Start End Description
Build stabilisation DONE   2025-10-23 Windows/macOS builds, vcpkg caching, Valgrind suppressions, broken-build firefighting.
Client/server foundations DONE   2025-10-15 cobalt-based server and client, comms library, messaging for risk. Records the GRPC and 0MQ experiments that were abandoned along the way.
Modernise serialisation and storage DONE   2025-10-10 adopt reflect-cpp for JSON, replace XML parsing with reflect-cpp, use sqlgen for Postgres.

Product

Story State Start End Description
Currencies temporal and export DONE   2025-09-30 temporal support for currencies, CLI dump command, a containing structure for ORE example data.
Risk module extraction DONE   2025-10-05 rename core to risk and refactor the contents accordingly.

Tooling

Story State Start End Description
CLI refactor and test DONE   2025-10-10 restructure the CLI to follow the new project layout and add tests to the CLI parser.

Agile

Story State Start End Description
Sprint 02 housekeeping DONE   2025-10-23 sprint refinement, whiteboarding for the new architecture, dev-environment fixes, Gemini action.

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

Filled in retrospect, from the v0 record:

What worked
the whiteboard-first approach to the client/server architecture paid off — once the picture was clear, the cobalt implementation came together quickly. Reflect-cpp dramatically reduced serialisation boilerplate.
What did not
significant time was spent firefighting Windows and macOS build issues. The GRPC and 0MQ experiments were worthwhile architectural exploration but cost ~10 hours that produced no merged code.
Carry forward to v2
the cancelled experiments are recorded as ABANDONED tasks rather than deleted — they document why we are not using GRPC or 0MQ. This is exactly the kind of provenance that is missing in the v0 model.

Emacs 29.1 (Org mode 9.6.6)