Skip to content
Cockpit0.29.0
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

I1952

Evidence subjects are derived once, in Rust

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
1
Waiting on
none
Holds back
Behind it in all
11
Evidence
2 of 2
A move writes the repository: it stamps one field of this issue's record and appends one event to the ledger, and a commit will carry both.
The same moves from a terminal

majordomus plan start I1952

majordomus plan verify I1952

majordomus plan done I1952

What it is

Objective
Derive the subject index of ADR 0087 decision 9 from existing declarations, compute a subject's verdict over its members through the one aggregation, and have majordomus generate write it as site/data/registry/evidence-subjects.json.
Why
Nothing ties a widget to a subject, and the command-to-test join is derived in shell more than once, with different rules for which header line counts.
Now
No subject index exists. scripts/generate-site-data derives the tests of commands.json, lib/commands.sh reads the first header line, and scripts/ci/command-furnished reads any line.
Wanted
evidence::subject derives claim, rule, feature, command, capability, mcp and use_case subjects; RuleState::as_proof() is the one declared mapping from a rule state; subject findings are a separate, advisory list; majordomus generate writes site/data/registry/evidence-subjects.json, declared in docs/generated/artifacts.json so its merge is derived; and a case holds the shell derivations equal to the index.
Done when
unknown: the record declares no `completion`
Risk
unknown: the record declares no `risk`

Acceptance

  • The index is written only by majordomus generate, to site/data/registry/evidence-subjects.json, and holds no ledger content and no commit
  • A subject's verdict is computed over its members' own verdicts, a rule member contributing through RuleState::as_proof()
  • A case holds the tests of commands.json equal to the index's command routes
  • Subject findings never enter the claim report's findings
Validation
bash test/run.sh 507_evidence_subjects_are_derivedmajordomus generate --checkcargo test --workspace --all-features
Evidence required
subjects_derived_onceparity_with_shell_derivations
Evidence present
subjects_derived_onceparity_with_shell_derivations

Scope

Touches
apps/majordomus-cli/src/evidence/subject.rsapps/majordomus-cli/src/evidence/mod.rsapps/majordomus-cli/src/rules/mod.rsapps/majordomus-cli/src/generate.rsapps/majordomus-cli/tests/generated_documents.rsshare/schemas/generated/site-evidence-subjects.schema.jsonsite/data/registry/evidence-subjects.jsontest/cases/507_evidence_subjects_are_derived.shdocs/EVIDENCE.mddocs/CLAIMS.yamldocs/claims.gitattributes
Not
site/data/generated, which scripts/generate-site-data owns and replaces wholesaleAn authored list of subjectsA capability: the index is read by I1953Making subject findings refuse, which is I1962's
Depends on
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:53:13Z
Started
2026-10-08T10:53:02Z
Verified
2026-10-08T10:53:08Z
Completed
2026-10-08T10:53:13Z

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.