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
I1949
CI evidence is recorded clean, and its report is the tracked ledger's verdict
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
13- Evidence
2of2
Moves
plan.transitionWhat it is
- Objective
- Fix PR #577 on its own branch so that the CI evidence job derives its report from the tracked ledger before it records the run's executions, every job that runs tests measures its tree where it ran, and the site publishes current only under ADR 0087's interim rule (decision 1).
- Why
- As PR #577 is written, the collector records first and derives the report after, so the transcript the site publishes as current is a verdict over the run's own rows from a checkout nobody measured. ADR 0087 amends ADR 0068 on exactly those sentences.
- Now
- Measured 2026-10-08 on master 4090b2b8ae. PR 577 and this slice (PR 645) are on master: the evidence job derives its report before recording and each producing job measures its tree (case 357 passes). Still open: every rust lane measures its tree dirty, because an untracked timings.tsv at the repository root is not among the excluded paths (.github/workflows/validate.yml excludes only apps/majordomus-cli/timings.tsv and apps/majordomus-cli/dist), so the evidence manifest of run 37744906831 carries working_tree dirty for the crate producer and the site cannot publish current from it.
- Wanted
- The evidence job derives its report over the tracked ledger as committed at the run's commit before it records; the suite and rust jobs measure their trees, excluding only their named outputs, and upload the measurement; scripts/pages evidence publishes current only when the run is of the published commit, every job that ran tests measured a clean tree, the report was derived on a clean checkout and nothing was absent, refused or failed, and otherwise stale or unknown, naming each reason.
- Done when
- unknown: the record declares no `completion`
- Risk
- Stacked on PR #577, which conflicts with master and so gets no pull-request run of its own: this slice's acceptance is its own pull-request run. A run of #577 after it merges master is a gate of #577's landing, not of this slice.
Acceptance
- The evidence job derives its report before it records, over the tracked ledger as committed at the run's commit
- Every job that ran tests measures its tree, excluding only its named outputs, and the manifest carries each measurement
- scripts/pages evidence publishes current only under ADR 0087's interim rule, and otherwise stale or unknown naming each reason
- Case 357 asserts both halves, and this slice's own pull-request run shows crate executions and clean measured trees
- Validation
bash test/run.sh 357_ci_records_evidence- Evidence required
report_derived_before_recordingproducer_trees_measured- Evidence present
report_derived_before_recordingproducer_trees_measured
Scope
- Touches
.github/workflows/validate.ymlscripts/ci/evidence-collectscripts/pagessite/templates/evidence.htmldocs/EVIDENCE.mddocs/CLAIMS.yamldocs/claims/evidence-recorded-in-ci.mdtest/cases/357_ci_records_evidence.sh- Not
The behavioural-tests environment, the summary step and the ci-metrics-suite upload of the suite jobMoving suite.tsv out of the workspace, where the suite budget of PR #627 reads itAny row of docs/CLAIMS.yaml other than the claim and note of evidence-recorded-in-cidocs/EVIDENCE.md outside its Recorded in CI sectionThe leading comment and the article line of site/templates/evidence.html- 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-14T07:59:56Z
- Started
- 2026-10-14T07:59:48Z
- Verified
- unknown: the record declares no `verified_at`
- Completed
- 2026-10-14T07:59:56Z
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.