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

I1959

The evidence publication is typed, bound to its build, and kept on gh-pages

Where it stands

devtask.issue
Readiness
blocked 2 of its dependencies are not DONE
Status
BLOCKED
Can start
not now
Milestone
Milestone status
ACTIVE
Wave
4
Waiting on
Holds back
Behind it in all
5
Evidence
0 of 2
In the waySubjectDetail
issueI1955I1955 is not DONE
issueI1954I1954 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 I1959

majordomus plan verify I1959

majordomus plan done I1959

What it is

Objective
Make scripts/pages call evidence publish in the build's checkout, refuse a dataset that is not bound to the build, and keep each deployed revision's evidence on gh-pages under evidence/<sha>/, retiring the interim publication of PR #577 (ADR 0087 decision 3).
Why
ADR 0087 retires the interim Recorded by CI publication once the script calls evidence publish, and CI artifacts expire, so the evidence of a deployed revision has to outlive them.
Now
scripts/pages evidence (PR #577 with I1949) computes its own publication state in shell; nothing refuses a dataset for another commit; the evidence exists only as a CI artifact.
Wanted
scripts/pages evidence calls majordomus evidence publish; site-build refuses a dataset whose presented commit is not build.json.commit and any proven whose evidence commit the build does not contain; gh-pages keeps evidence/<sha>/ for every deployed revision; the artifact listing is paginated; the site's publication carries the first matching row of ADR 0087 decision 3's publication table, so an ancestor's record is listed by its commit beside dirty, stale, pending or unknown, no evidence is pending or unknown with the reason, and unavailable is no longer published, as decision 1 amends ADR 0068 when the interim section retires.
Done when
unknown: the record declares no `completion`
Risk
unknown: the record declares no `risk`

Acceptance

  • The site's evidence dataset is produced only by evidence publish, run in the build's checkout
  • site-build refuses a dataset for another commit, and a proven whose evidence commit the build does not contain
  • A deployed revision's evidence stays reachable on gh-pages after its CI artifact expires
  • Once the interim section retires, an ancestor-only record never publishes current, no evidence publishes pending or unknown naming the reason, and unavailable is not published, as ADR 0087 decision 1 amends ADR 0068 ¶3 and ¶4; asserted by case 518
Validation
bash test/run.sh 518_evidence_publication_is_bound_to_its_buildbash test/run.sh 519_evidence_survives_artifact_expiry
Evidence required
publication_bound_to_its_buildevidence_outlives_artifacts
Evidence present
unknown: the record carries no `evidence` entries

Scope

Touches
scripts/pagesscripts/site-buildscripts/site-deployscripts/ci/link-check.github/workflows/pages.yml.github/workflows/validate.yml.ai/repo/ci/pages.yaml.gitignoretest/casestest/cases/357_ci_records_evidence.shdocs/EVIDENCE.mddocs/GITHUB_PAGES_ARCHITECTURE.mddocs/GITHUB_PAGES_PERFORMANCE.mddocs/CLAIMS.yamldocs/claims.ai/repo/features/ci.md
Not
A new shell unitA verdict computed in the script
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.