Task: Delete the ores.cli component and its round-trip chain
Table of Contents
This page documents a task in the Decommission ores.cli story. It captures the goal, current status, acceptance, and any notes or results.
1. Goal
Delete projects/ores.cli/, the domain round-trip dataset and checker, the CLI recipes, and every hard-gate reference, so the tree configures and builds without ores.cli.
2. Status
| Field | Value |
|---|---|
| State | DONE |
| Parent story | Decommission ores.cli |
| Now | Nothing. |
| Waiting on | Nothing. |
| Next | Nothing. |
| Last touched | 2026-09-23 |
3. Acceptance
- projects/ores.cli/, doc/recipes/cli/, assets/test_data/domain_roundtrip/, scripts/ore_domain_roundtrip_check.py, and the ore_coverage workflow are gone.
- A reference sweep over live paths returns no ores.cli hit.
- The tree configures and builds, and compass lint passes with no dangling id link.
4. Plan
Four units, each landed as its own commit and checked before the next.
- Delete
projects/ores.cli/and theores.cliline inprojects/CMakeLists.txt. - Delete the round-trip chain:
assets/test_data/domain_roundtrip/,scripts/ore_domain_roundtrip_check.py, and.github/workflows/ore_coverage.yml. - Delete
doc/recipes/cli/and fix every live reference: the dangling id links flagged bycompass lint, the architecture pages, the manual chapters, the recipe inventories, and the backlog story that plannedores.cli iam tenants list. - Verify: a reference sweep over live paths, a configure and build,
and
compass lint.
Fallback: the component is one commit, so if the build finds an
unexpected dependent, git revert of that commit restores it.
5. Notes
6. Test Scenarios
Manual QA scenarios (scaffolded via compass add test_scenario)
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 |
|---|---|
| #2140 | [cli] Decommission ores.cli |
8. Review
| Comment summary | File | Decision | Notes |
|---|---|---|---|
9. Delivery
PR [#2140](https://github.com/OreStudio/OreStudio/pull/2140) merged on
2026-09-23 as 388a90445f. It was rebased onto ddced912a5 first, which
resolved two conflicts with the Qt-remnant cleanup, in
doc/meta/tag_inventory.org and projects/ores.hpp. Two independent
verifiers returned PASS+NOTES, one before the rebase and one after. All
six PR checks passed.
10. Result
Done on 2026-09-23, branch feature/decommission-ores-cli, off
origin/main at 8d2565db07.
Deleted, in three commits:
projects/ores.cli/, 129 files and 12,922 lines of C++, plus itsadd_subdirectoryline. Nothing linkedores.cli.lib, and no codegen model, template or drift registry named it.- The round-trip chain:
assets/test_data/domain_roundtrip/(1474 XML files),scripts/ore_domain_roundtrip_check.py, and.github/workflows/ore_coverage.yml. doc/recipes/cli/, 65 files, and every live reference to them.
Checked against the acceptance criteria:
- Deleted. All five are gone.
- Reference sweep.
git grepover live paths returns no hit outside historical sprint archives, dated plans, discarded backlog entries and the kanban test fixtures. Those keep their text as the record, and the backlog items that planned CLI work now carry a retirement note and point atores.shell. - Build.
cmake --preset linux-clang-debug-makeconfigures andcmake --build --preset linux-clang-debug-make -j 8exits 0. The build was a full rebuild of 3,739 objects.ores.shell.exeand the service executables link and build. - Lint.
compass lintexits 0 with no dangling id link. The 158 durable-to-agile links are a pre-existing advisory, unchanged.
Not run: ctest. The environment is stale (.env is version 20 against
a required 22, and 23 services are missing), so the database-backed
suites cannot run here. The build and the sweep are the evidence for
this change; the deletion removes code rather than altering behaviour.
Follow-up recorded, not done here: ores::ore::xml::exporter::roundtrip
lost its only caller, and ores.service::run_host_sync now has one.
Both are tracked in the story's out-of-scope list.