[CO-2c-fix] fix release asset paths - #43
Conversation
CO-2c Release-Gate Audit / Sprint Boundary Report1. Executive AuditScope: Audit mode: release-gate. Repo under active cleanup: yes, limited to release workflow correction and post-release verification. Local/live parity: Overall verdict: CO-2c release artifact gate passes. The live GitHub Release is published, marked Latest, has the expected five assets, and the published attestation verifies locally against the live tag, target commit, target tree, artifact hashes, and Sigstore identity. Ship posture: Severity summary: Blocker 0, Critical 0, Major 1, Minor 0. Static audit confidence: High for CO-2c release surface. Runtime sign-off confidence: High for release provenance and local verification path; Medium for whole-project runtime because full cleanroom/two-machine reproduction is deferred to CO-6. CI/workflow posture: release run 2. Audit Coverage Ledger
3. Claim Verification Matrix
4. What The Dev Team Needs To Do NowMust fix before ship: none for CO-2c artifact publication. Should fix this sprint:
Can defer if consciously accepted:
5. Next-Sprint Watchlist
6. Engineering Deep DiveVerdict: Release workflow correction is sound for CO-2c. PR #42 fixed YAML release notes generation. PR #43 fixed asset download/upload pathing and added a regression test for exact downloaded asset paths. No Blocker/Critical engineering findings remain. 7. Security And Authorization Deep DiveVerdict: Release authorization boundaries were respected after failures. Tag moves/publication corrections happened only after chat authorization. The release attestation identity is pinned to 8. UI/UX Deep DiveVerdict: No new UI surface was introduced in PR #43. Existing v0.22.1 docs page browser QA artifacts are committed from PR #40: 9. Product/PM Deep DiveVerdict: Product trust posture improved materially: downstream modules now have a live first attested baseline instead of a staged candidate. Product risk remains if CO-3 README/ledger wording is not corrected promptly. 10. Documentation Deep Dive[MAJOR] [DOC-001] README still has staged-release language after publication
Why it matters: README is the main downstream consumer entry point. After Evidence:
Blast radius:
Fix:
11. Install / Bootstrap / Seeding Deep DiveVerdict: Fresh virtualenv install/import passed for CivicCore 12. Version And Release Consistency Deep DiveVerdict: Version and release artifact truth are consistent for CO-2c.
13. Test Engineering Deep DiveVerdict: Test gate is green for CO-2c. 14. Runtime QA Deep DiveVerdict: Runtime release verification is green for the CO-2c release surface. Published artifacts were downloaded into 15. Cross-Cutting SynthesisThe release gate now has the trust anchor it was designed to create: a tag-bound workflow identity, signed attestation bundle, artifact hashes, and local verifier path all agree on the same target commit. The main remaining risk is not artifact validity; it is documentation drift in README and the still-open historical retrofit ledger. That is exactly why CO-3 exists and should be handled next under explicit retrofit scope authorization. 16. Verification Gaps And Sign-Off Limits
Verification commands run: Sprint-boundary facts:
|
CO-2c Release-Gate Audit AddendumDirect release-note Sigstore command was also run against the downloaded live This closes the specific CO-2c worked-command reproduction check in addition to the stricter |
Summary
.github/workflows/release.ymlto download release artifacts intorelease-assets/and publish exact file pathsgh release createcannot receive the artifact directory itselfCHANGELOG.mdFailure Context
25363513233passed preflight, full release verification, build, attestation generation, cosign signing, attestation verification, and artifact uploadactions/download-artifactrestored files asdist/dist/*, andgh release create dist/*attempted to upload thedist/distdirectoryv0.22.0remains LatestRelease-Class Boundary
Workflow repair only. This PR does not move/delete/recreate the
v0.22.1tag, publish a GitHub Release, generate a new real-release attestation, upload release assets, edit published release notes, or modify Latest state.Review Surface
Copied from
git diff --name-only origin/main...HEAD:.github/workflows/release.ymlCHANGELOG.mdtests/test_github_workflows.pyVerification
python -m pytest tests/test_github_workflows.py tests/test_release_provenance.py -q-> 4 passedpython -m pytest --collect-only -q-> 249 tests collectedbash scripts/verify-release.sh-> 249 pytest passed, ruff passed, version lockstep passed, release-provenance fixtures passed, required docs present, build artifacts generated, clean virtualenv import smoke passed,VERIFY-RELEASE: PASSEDREADME.md,CHANGELOG.md,CONTRIBUTING.md,LICENSE,.gitignore,docs/index.htmlall present