Story: Clean ores.testing to the component clean standard
Table of Contents
This page documents a story in Sprint 26. It captures the goal, current status, acceptance criteria, and the tasks that compose it.
1. Goal
ores.testing meets the Component Clean Standard: the items marked All pass, each item that does not apply is recorded with its reason, and the one item that cannot pass is recorded as an exception with its proof. Order 33 of 35 in the sprint 26 component clean-up, tier 4 (client or test support).
2. Status
| Field | Value |
|---|---|
| State | DONE |
| Parent sprint | Sprint 26 |
| Now | Nothing. |
| Waiting on | Nothing. |
| Next | Nothing. |
| Last touched | 2026-09-26 |
3. Acceptance
- Every checklist item that applies to a component of kind All passes, with its evidence recorded on the task.
- Every item that does not apply is recorded as not applicable, with the reason.
- Every generator defect found is fixed at its source, with a regression test.
- ores.testing is listed in
COMPONENTS_UNDER_TEST, or the reason the entry cannot be added is recorded as an exception.
4. Tasks
| Task | State | Start | End | Description |
|---|---|---|---|---|
| Bring ores.testing to the clean standard | DONE | 2026-09-26 | 2026-09-26 | Work ores.testing through the Component Clean Standard in order and record each item. |
5. Notes
- Survey on 2026-09-23: 0 entity, junction or operation models; 23 C++ files outside tests, 0 of them generated (0%); 0 messaging headers, 0 of them hand-written.
- Test support. Most items apply only as hygiene (G03, H01, H02); record the rest as not applicable.
- The 2026-09-23 note held, with one addition. The component had no tests, which the Component Architecture Audit calls a finding, so the pass adds a Catch2 suite. The standard had also grown from 42 to 49 items since the story was written, and the task records all 49.
6. Decisions
- The component keeps its place outside
COMPONENTS_UNDER_TEST. The enrolment is not a formality: the dry run empties both generated source lists and makes a database mandatory for the component's own unit suite, so V06 records it as an exception with the proof. - The suite covers the surface that needs neither a database nor a fleet. The database-bound classes stay with the consumer suites that already exercise them, and V08 records the five files no test of the component reaches.
- Two findings leave this pass with a home rather than a fix: the unsanitised log filename, which is
sanitize_test_log_filename_from_test_name, and the scanner's cyclomatic complexity of 29, which the complexity measure surfaces for a later refactoring pass.