Task: Run the audit on the four drift-free components
Table of Contents
This page documents a task in the Component architecture audit: first run on the drift-free components story. It captures the goal, current status, acceptance, and any notes or results.
1. Goal
Run the 15-item component architecture audit on ores.refdata,
ores.dq, ores.iam, and ores.compute, one at a time. Produce the
checklist document with its tooling. Record the gaps and the
complexity measure per component. Fix every mechanical gap.
2. Status
| Field | Value |
|---|---|
| State | DONE |
| Parent story | Component architecture audit: first run on the drift-free components |
| Now | Nothing. |
| Waiting on | Nothing. |
| Next | Review and merge the branch. |
| Last touched | 2026-09-07 |
3. Acceptance
- The checklist document
component_architecture_audit.orgexists with 15 items, the canonical lizard invocation, and the triage rules. - The four components each ran the full checklist.
- Mechanical gaps are fixed on the branch, with
validate_docs.pygreen on all 44 components. - The
ores.computeaudit record, with the complexity numbers, sits in its component overview.
4. Plan
Audit order: refdata first, then dq, iam, compute. Per component:
survey the tree and the documentation against the checklist, record
the gaps, fix the mechanical ones, measure complexity with lizard,
and report. The checklist doc and its tooling were built before the
first run. The record of what each audit found is in the branch's
commits and in * Result below.
5. Notes
6. Test Scenarios
Manual QA scenarios (scaffolded via compass add test_scenario, run
through the QA Validation Runner panel) that verify this task. Link
new ones here as they're created; the scenario doc itself links back
via its "Verifies task" field.
| Scenario | State | Notes |
|---|---|---|
7. PRs
| PR | Title |
|---|---|
| #2025 | [doc,ores.refdata,ores.iam,ores.compute] Component architecture audit, records, and compute lifecycle doc |
8. Review
| # | Comment summary | File | Decision | Notes |
|---|---|---|---|---|
| 1 | Client diagram targets unreachable: the parts never add the modeling subdirectory | projects/ores.compute/client/CMakeLists.txt, projects/ores.refdata/client/CMakeLists.txt | Accepted | Fixed in 9091f3d7b0. Configure + both generate_ores.<part>.client_diagram targets verified. |
9. Result
All four audits completed on 2026-09-06 and 2026-09-07.
ores.refdata. Fixed: the client part gained a full overview, a diagram, the modeling glue, and its System Model registry row; the stale docs exception is gone. Recorded: cache classes in the client part declareores::refdata::service::cache; the 763-linegenerate_fictional_currencieshotspot. Measure: 68875 NLOC at an average CCN of 1.8, one warning.ores.dq. Clean. No mechanical gaps. Measure: 22272 NLOC over 1142 functions at CCN 1.8. Four warnings, all record-only, led byresolve_publication_orderat CCN 18 and the FSM row-to-state mappers infsm_service.cppat CCN 19 to 21.ores.iam. Fixed: the group overview omitted the client part and claimed three sub-components; the table and the count now include it. Recorded: no tests formake_service_token_provider; six lizard warnings, worstprovision_acmeat CCN 30 over 339 lines, thenauth_handler::loginat CCN 25. Measure: 15225 NLOC over 676 functions at CCN 2.2.ores.compute. Fixed: the client part had no modeling dir, no overview, no diagram, and no registry row; all are in place now, and stale summaries across the System Model and the part overviews are aligned. Recorded: no client package-publisher tests;process_assignmentat CCN 17. Measure: 9607 NLOC over 466 functions at CCN 2.0, one warning. The audit record sits in the component overview.
Method notes: lizard is pinned in the ores.compass venv; no compass
command was added. validate_docs.py is now composite-aware with a
NAME_COLLISION check, and the exceptions file records
ores.analytics.quant and the diagram-less parts. The marketdata
client-part registration gap is out of scope and recorded in the
audit story.
Status at close: All four audits are done and committed on the branch.