Story: Entity classification and drift baseline: ores.workspace

Table of Contents

This page documents a story in Sprint 25. It captures the goal, current status, acceptance criteria, and the tasks that compose it.

1. Goal

Bring ores.workspace to the state the compass-codegen-fix-drift skill defines: every codegen-eligible entity bound to a profile or recorded as a genuine no-match, zero-diff regeneration verified, and any real gap the check surfaces fixed rather than skipped. Once trusted, workspace-cpp joins the known-drift-free registry that the drift gate checks.

2. Status

Field Value
State ABANDONED
Parent sprint Sprint 25
Now Nothing.
Waiting on Nothing.
Next Nothing.
Last touched 2026-09-23

3. Acceptance

  • Every ores.workspace entity is bound to a matching Variability Profile, or recorded as a genuine no-match with a documented reason.
  • Every rebound entity is regenerated and diffed against its pre-rebind checked-in output; zero diff is the pass condition, and any non-zero diff is fixed, not worked around.
  • Full local build clean, schema drift current per compass db status, full ctest suite green after regeneration.
  • workspace-cpp joins the KNOWN_DRIFT_FREE registry in check_component_drift.py (skill step 8), and the compass-pr-raise skill's local codegen-drift check runs --all over the registry, so future PRs touching ores.workspace fail on any regeneration drift.
  • The superseded ad hoc task 'Apply safe drift to workspace-cpp' is marked ABANDONED, pointing here.
  • The known starting-point wrinkles already recorded (has_party_id template flag; workspace_service/workspace_repository/workspace_protocol currently hand-crafted and excluded) are each resolved – either brought under codegen properly, or verified as a genuinely correct, documented exclusion – not carried forward as an unexamined restore-from-HEAD step.
  • Done shape (2026-09-07 program decision): the bind task closes at the drift gate. The story closes only after the post-merge live system test: recreate the database, provision a tenant, and exercise this component's flows. Defects the test surfaces get follow-up tasks on this story. The compute/iam binds set this shape: their live system test caught a service-grant defect ctest cannot see.

4. Tasks

Task State Start End Description
Bind ores.workspace entities to profiles; verify zero-diff regen ABANDONED   2026-09-23 Implement profile binding for the workspace-cpp catalogue entry, rebind every matching entity, regenerate, and confirm byte-identical output, following the compass-codegen-fix-drift skill. Known starting point: add has_party_id template flag (party_id field across domain struct, entity, mapper, generator); restore workspace_service, workspace_repository, workspace_protocol from HEAD because production is hand-crafted.

5. Decisions

6. Out of scope

7. Result

Abandoned at sprint 25 close. Sprint 26 replaces the codegen approaches tried so far with one method: for each module, sync codegen and clear its drift. Sprint 26 opens new, clean stories for each module. This story is not carried forward.

Emacs 29.3 (Org mode 9.6.15)