Story: Entity classification and drift baseline across all components
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.
Goal
(Describe the user-visible outcome this story delivers.)
Status
| Field | Value |
|---|---|
| State | BACKLOG |
| Parent sprint | Sprint 25 |
| Now | Not yet started. |
| Waiting on | Nothing. |
| Next | Break the story into tasks. |
| Last touched | 2026-08-03 |
Acceptance
- The 14 ad hoc per-component drift tasks are re-scoped (or closed/replaced) using real data instead of guesses. entity_coverage_matrix.org, entity_evaluation_checklist.org, and entity_catalogue.org are deleted once whatever supersedes them is in place.
- (Original, now optional) The classification tool is run across every remaining component (all ~19 beyond ores.refdata), producing totals and per-component breakdowns of how many entities are regular vs not, and why not – kept as an acceptance item only if the report is still judged worth producing once the 12 remediation stories land; see Decisions.
Tasks
| Task | State | Start | End | Description |
|---|---|---|---|---|
| Roll out the classification tool to all remaining components and delete stale docs | BACKLOG | Narrowed 2026-08-04: re-scoping is done (see Decisions); remaining work is retiring the 3 stale docs and deciding whether the quantified report still adds value. |
Decisions
- 2026-08-04: re-scoped the 14 ad hoc "Apply safe drift to X-cpp" tasks directly against the codegen component catalogue (
projects/ores.codegen/library/component_catalogue.org) and the ores.refdata pilot's proven acceptance bar, rather than waiting on the read-only classification/drift report this story originally scoped. Result: 12 new per-component stories (composite components – ores.dq, ores.iam, ores.trading – get one story with a task per SQL/C++ subcomponent; the other 9 get one story each), each requiring profile binding, zero-diff regen, and extending thecheck_component_drift.pyCI check to that component – so the bar is "zero drift, CI-enforced," strictly stronger than this story's original "produce a report" scope.ores.controllerwas excluded: the component has been decommissioned (projects/ores.controller*no longer exists), so its ad hoc task was marked ABANDONED rather than re-scoped. See the sprint's Stories table for the 12 new story links.
Out of scope
- Fixing/regenerating entities was originally out of scope for this story; superseded – fixing is now the explicit acceptance bar of the 12 new stories.