Story: Clean ores.connections 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.connections meets the Component Clean Standard: the items marked All pass, each item that does not apply is recorded with its reason, and ores.connections joins COMPONENTS_UNDER_TEST. Order 10 of 35 in the sprint 26 component clean-up, tier 1 (foundation infrastructure).
The inventory found no consumer left, so ores.connections reaches the standard by removal. The item table is on the task. This page records the decision.
2. Status
| Field | Value |
|---|---|
| State | DONE |
| Parent sprint | Sprint 26 |
| Now | Nothing. |
| Waiting on | Nothing. |
| Next | Nothing. |
| Last touched | 2026-09-23 |
3. Acceptance
- Every checklist item that applies to a component of kind All passes, or is recorded with the reason it does not apply.
- Every item that cannot pass is recorded as an exception with its reason.
- Every generator defect found is fixed at its source, with a regression test.
- No consumer is left without the component, and the tree builds without it.
The original acceptance asked that ores.connections join
COMPONENTS_UNDER_TEST and that check_component_drift.py --all pass with
it listed. Both are superseded, because the component is removed. The
registry item is recorded as the accepted exception on the task.
4. Tasks
| Task | State | Start | End | Description |
|---|---|---|---|---|
| Bring ores.connections to the clean standard | DONE | 2026-09-23 | 2026-09-23 | Work ores.connections through the Component Clean Standard in order and record each item. |
5. Notes
- Survey on 2026-09-23: 0 entity, junction or operation models; 70 C++ files outside tests, 0 of them generated (0%); 0 messaging headers, 0 of them hand-written.
- Consumer census on 2026-09-23: the only reference in the tree was
projects/CMakeLists.txt,add_subdirectory(.../ores.connections). Nothing linked the library.
6. Decisions
- Retire the component instead of cleaning it. The inventory settled
this. ores.connections had no consumer:
projects/CMakeLists.txtbuilt it and nothing linked it. Its only user was the Connection Browser inores.qt, which sprint 25 deleted, and that task recorded the state already: "ores.connections has no consumer left." The web client does not want a per-user store either. The connections store was removed, and why records thatores.webbuilt one and then deleted it, because it fused where the application points with who the user is. The environment is now declared inconfig/environments.jsonand chosen with--env. ores.connections is the C++ half of the design that decision retired. - The standard applies by subtraction. H02 forbids dead code, so removing
the component leaves nothing unclean. Keeping it could not reach the
standard. It has no org models, no row in
component_catalogue.org, and the codegen has no SQLite target, so the Model, Protocol and Wiring items have no exception to record, only work that does not exist. - The registry item is the accepted exception. V06 asks a clean component
to join
COMPONENTS_UNDER_TEST. A removed component cannot join. The task records the item as not applicable and the acceptance above is superseded. - The programme has a gap for model-less components. Only
check_component_drift.pyandcheck_protocol_twin_coverage.pyreadCOMPONENTS_UNDER_TEST, and both admit model-bearing catalogue entries only. ores.connections is the first model-less tier-1 component this programme has attempted, so the other nine (platform, logging, utility, orgmode, diff, storage, security, database, nats) will meet the same V06 question. The programme should answer it once, and this story records it rather than inventing a private rule.
7. Out of scope
- The retired Qt client's manual chapter.
doc/manual/user_guide/chapter_connecting.orgstill describesconnections.dband givesores.qtpaths for it. That is deliberate. PR #2138, now merged, makes the whole manual the record of the retired client and its chapters the domain source, so the chapter is history rather than a live reference. - The two sprint-history pages that name the component. Their links to the
deleted
:ID:became plain text, so the history reads andcompass lintpasses. The pages stay. doc/agile/product_backlog/next/persist_tag_colour_and_tag_dialog.orgis Qt-only and carries theores.qttag. Its premise, colouring the Qt Connection Browser's tags, went with that client, so it belongs to a backlog review rather than to this story.doc/agile/product_backlog/next/fix_component_doc_drift.orgnames the component in itsaffected components at time of writingsnapshot. That snapshot also namesores.controllerandores.wt.service, whichprojects/no longer holds. It is stale for reasons beyond this story, so trimming one name would leave it equally wrong and imply the list is kept current. The backlog review owns it.- Repo-wide CMake source-list drift. 149
component_files.cmakefiles in other components lack the generated-file marker that commit3a40c9c57eadded to the templates on 2026-09-23. That is each of those components' own G06 item under this programme. projects/modeling/ores.pngis already stale against its own source. A render of HEAD'sores.pumlbefore this change gives 630699 bytes against the committed 710319, so regenerating it churns the whole image for reasons that predate this branch.ores.shell.iamhas no.pumlin itsmodeling/, whichvalidate_docs.pyreports. That is ores.shell's H01 item.- The local
.envstill holdsORES_CONNECTIONS_MASTER_PASSWORD. The file is gitignored, andcompass env configuredrops the variable now thatenv_init.pystopped writing it.
8. Result
ores.connections is removed, and the references it left behind are removed
with it. Six files were transitively dead inside the component as well,
because get_recent_parties, get_child_folders and resolve_connection
had no caller of their own.
The removal is one commit and reverts on its own. The reference sweep is a second commit.