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

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
0 of 2
In the waySubjectDetail
issueI1953I1953 is not DONE
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 I1955

majordomus plan verify I1955

majordomus plan done I1955

What 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.