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

I1954

Every runner reaches the ledger, through the recording branch

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
2
Waiting on
Holds back
Behind it in all
6
Evidence
0 of 4
In the waySubjectDetail
issueI1951I1951 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 I1954

majordomus plan verify I1954

majordomus plan done I1954

What it is

Objective
Wire the trunk's runs to the recording branch of ADR 0080 and every runner to a measured report, so that a merge to master is followed by one recording pull request that changes only the ledger (ADR 0087 decisions 1, 6 and 16).
Why
CI runs every test on every merge and keeps none of it in the tracked ledger. Until this lands, the ledger holds only local rows and the site renders mostly not_run.
Now
No workflow records CI's executions into the tracked ledger. The suite runner's report has no reason column and no measurement, and the crate and coverage runners emit no provenance.
Wanted
A trunk run, after a merge and on a schedule, records with --origin ci and with the provenance evidence stamp measured, and opens at most one recording pull request whose diff is the ledger, by a token whose events start the required workflow; a trunk commit that the ledger committed in it already covers (the newest ci execution's commit is contained in it and nothing but the ledger changed since), as the landing of a recording pull request on the commit it measured is, starts no recording, while a ledger-only commit on top of a merge no landed recording covers is recorded; every runner's report carries its revision and the reason a case did not pass.
Done when
unknown: the record declares no `completion`
Risk
It also waits on PR #629 (the skip word), PR #587 (new shell refused), PR #566 and PR #355, and on the owner's choice of token (ADR 0087 decision 16). Each recording costs a full suite run.

Acceptance

  • A trunk run's executions reach the tracked ledger only through a recording pull request whose diff is the ledger alone, and at most one such pull request is open
  • The recording pull request starts the required workflow, by the token the owner chose
  • A covered trunk commit starts no recording, whether a merge or the schedule started its run: the newest ci execution in the ledger committed in it names a commit it contains, and nothing but .ai/repo/evidence/ledger.json changed since, so that landing a recording pull request on the commit it measured opens no further one (ADR 0087 decision 1); asserted by case 510
  • A ledger-only commit that lands on top of a merge no landed recording covers is recorded, by the run its landing starts and by the schedule: case 510 lands the recording of one merge on top of a later merge whose recording was lost, and asserts that the next run records instead of stopping
  • A recording job that cannot compare the ledger's commit with the trunk commit fails and says why, and neither records nor stops as covered; asserted by case 510
  • Every runner's report carries the commit and tree its run measured, and a case that did not pass carries its reason
Validation
bash test/run.sh 510_ci_evidence_reaches_the_ledger_through_a_recording_branchbash test/run.sh 511_every_runner_report_carries_its_revision_and_reasonbash test/run.sh 357_ci_records_evidencebash test/run.sh 94_ci_plan
Evidence required
recording_branch_wiredrecording_stops_at_a_covered_commitrecording_resumes_over_an_unrecorded_mergerunner_reports_measured
Evidence present
unknown: the record carries no `evidence` entries

Scope

Touches
.github/workflows/validate.ymlscripts/ci/evidence-collectscripts/rust-checkscripts/rust-coveragescripts/shell-coveragetest/run.shtest/cases/94_ci_plan.shtest/cases/357_ci_records_evidence.shtest/cases.ai/repo/automation/inventory.jsonldocs/EVIDENCE.mddocs/COVERAGE.mddocs/CLAIMS.yamldocs/claims.ai/repo/features/evidence.md.ai/repo/features/ci.md.ai/repo/features/coverage.md
Not
Committing the ledger from a validating runNew shell automation (ADR 0069)Making the required ci check depend on the evidence job
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.