A snapshot: read at commit 707a04c7ce8 on 2026-10-18T00:06:01Z by majordomus 0.29.0. Nothing on this page is read again. See it live
I1947
Every feature reaches a test, and every use case has a feature
Where it stands
devtask.issue- Readiness
- complete completion is recorded and every required evidence token is present
- Status
- DONE
- Can start
- not now
- Milestone
- Milestone status
- ACTIVE
- Wave
0- Waiting on
- none
- Holds back
- Behind it in all
12- Evidence
2of2
Moves
plan.transitionWhat it is
- Objective
- Give every active use case an owning feature, and give the cockpit and deployments features a claim naming their own tests, so that a homepage panel routed to a use case reaches a feature and every feature reaches a test through the subject index (ADR 0087 decision 9).
- Why
- The subject index derives subjects from existing declarations. A use case no feature names is a subject the index cannot place under a feature, and a feature with no claim reaches tests only through its rules. Nothing checks use-case ownership today.
- Now
- Some active use cases are named by no feature's use_cases list: `git grep <use-case-id> -- .ai/repo/features` is empty for each of them. .ai/repo/features/cockpit.md and .ai/repo/features/deployments.md carry no claims line.
- Wanted
- Every active use case is named by at least one feature; the cockpit and deployments features each carry a claim whose test names it back; and a case fails, naming each one, when an active use case has no owning feature.
- Done when
- unknown: the record declares no `completion`
- Risk
- unknown: the record declares no `risk`
Acceptance
- Every use case whose status is active is named by at least one feature, and the case fails naming each one that is not
- The case fails when any list it reads is empty or a command in its pipeline fails
- The cockpit and deployments features carry a claim each, and each claim's test names the claim id
- bin/majordomus-cli product validate and bin/majordomus usecase validate pass
- Validation
bash test/run.sh 503_every_use_case_has_a_featurebin/majordomus-cli product validatebin/majordomus usecase validatescripts/ci/claim-proof-check --strict- Evidence required
every_use_case_has_a_featureevery_feature_reaches_a_test- Evidence present
every_use_case_has_a_featureevery_feature_reaches_a_test
Scope
- Touches
.ai/repo/features/finish-contract.md.ai/repo/features/commit.md.ai/repo/features/install.md.ai/repo/features/continuity.md.ai/repo/features/cockpit.md.ai/repo/features/deployments.mdapps/majordomus-cli/tests/cockpit.rstest/cases/84_deployment_contract.shtest/cases/503_every_use_case_has_a_feature.shdocs/CLAIMS.yamldocs/claims- Not
Editing any use case file.ai/repo/features/finish-contract.md.tmpdocs/CLAIMS.yaml beyond the two rows this slice appends- Depends on
- none
- Priority
- p1
- Profile
- implementation
- Parallel safe
- true
- Owner
- unknown: the record declares no `owner`
The work so far
- Branches
- none
- Merged
- none
- Commits
0- Trunk
- master
- Sessions
- none
- Created
- 2026-09-26
- Updated
- 2026-10-08T10:50:38Z
- Started
- 2026-10-08T10:49:57Z
- Verified
- 2026-10-08T10:50:33Z
- Completed
- 2026-10-08T10:50:38Z
Synchronisation
- Adapter
scripts/github-sync- Repository
- unknown: the derived plan's header carries no repository
- External issue
- unknown: a live GitHub state; this executable makes no network call, so only `scripts/github-sync --check` can answer it
- State there
- unknown: a live GitHub state; this executable makes no network call, so only `scripts/github-sync --check` can answer it
Findings
Nothing is wrong with these records.