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
I1955
The evidence publication is an allow-listed projection
Where it stands
devtask.issue- Readiness
- blocked 1 of its dependencies is not DONE
- Status
- BLOCKED
- Can start
- not now
- Milestone
- Milestone status
- ACTIVE
- Wave
3- Waiting on
- Holds back
- Behind it in all
8- Evidence
0of2
| In the way | Subject | Detail |
|---|---|---|
| issue | I1953 | I1953 is not DONE |
Moves
plan.transitionWhat it is
- Objective
- Add evidence publish, which reads the ledger committed at the presented commit, the run records and coverage, applies the monotone rule, and writes an allow-listed publication with its publication state, carrying text only through the one redactor (ADR 0087 decisions 3 and 14).
- Why
- The site needs a typed dataset whose verdicts are the tracked ledger's at the build commit. The interim publication of ADR 0068 computes its state in a shell script.
- Now
- scripts/pages evidence (PR #577, with I1949) writes site/data/evidence.json from a CI artifact; no typed publication exists.
- Wanted
- majordomus evidence publish --presented <commit> --presented-tree <state> --from <dir> --out <dir> writes an EvidencePublication whose one state (dirty, stale, current, pending or unknown) is the first matching row of ADR 0087 decision 3's publication table, whose every field is on the allow-list, and whose every text has passed the redactor.
- Done when
- unknown: the record declares no `completion`
- Risk
- unknown: the record declares no `risk`
Acceptance
- The publication carries only allow-listed fields, and a field off the list is not published
- Every text it carries has passed the one redactor, and the artifact passes generate::forbidden_in
- The publication state is the first matching row of ADR 0087 decision 3's publication table (dirty, stale, current, pending, unknown), decided from what the publication observes: a dirty build that a record also contradicts reads dirty and names the record, a run concluded without a record reads unknown, and a record of an ancestor only never reads current
- No verdict in it is stronger than the ledger committed at the presented commit
- Validation
bash test/run.sh 512_evidence_publication_is_a_projectioncargo test --test evidence_publication- Evidence required
publication_allow_listedpublication_states_defined- Evidence present
- unknown: the record carries no `evidence` entries
Scope
- Touches
apps/majordomus-cli/src/evidenceapps/majordomus-cli/src/capability/builtin/evidence.rsapps/majordomus-cli/src/cli.rsapps/majordomus-cli/src/commands/evidence.rsapps/majordomus-cli/tests/evidence_publication.rstest/casesdocs/EVIDENCE.mddocs/CLAIMS.yamldocs/claims.ai/repo/features/evidence.md- Not
scripts/pages and the site build, which are I1959'sA version bump- Depends on
- Priority
- p1
- Profile
- implementation
- Parallel safe
- false
- 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-09-26
- Started
- unknown: the record declares no `started_at`
- Verified
- unknown: the record declares no `verified_at`
- Completed
- unknown: the record declares no `completed_at`
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.