Release qualification corrections — 2026-09-22
Goal and starting evidence
Bounded corrections to the verified deterministic planner baseline; no new planner or website features, version bump, tag or release. Software stays 0.2.0, unreleased, undergoing release qualification; published release: none. Independent review and a later explicit publication decision remain required even after all correction gates pass.
Fetched main at affec7949d11d78402426f1474118c10a5b85615 (merge of PR #6), whose head was
99c1fad3d84e8bebb458396ee450f0279e358a6c. Work starts from that main commit on
codex/release-qualification-corrections. Git tags and GitHub releases were empty.
The starting main CI 35635500578
and Pages 35635500777 succeeded.
The earlier local worktree registration pointed to a missing Git directory; a clean clone was used
without altering the unrelated local directories or rewriting published history.
Corrections and decisions
| Finding | Disposition | Evidence / decision |
|---|---|---|
| Ambiguous 0.2.0 release wording | FIXED | README, current Changelog header, roadmap and generated site distinguish workspace version, qualification and publication. No formal RC claim. |
| Weak substring version checks | FIXED | Exact README declarations/badges/footer checked against Cargo, Master, schema reference and current Changelog header; 20 targeted mutations, positive repository case and historical-record case. Site uses the same checked authorities without fallback. |
| CPIR 0.1 primary example | FIXED | examples/request.json is minimal current 0.2; the old request is retained as examples/legacy-cpir-0.1.json. Both have Core/API roundtrip and Node coverage; Lab legacy parity uses the named legacy input. Unknown major/minor pairs fail closed. |
| Missing Rust advisory gate | FIXED | Dedicated CI job installs cargo-audit 0.22.2 with locked tool dependencies; committed Cargo.lock is scanned with --deny warnings. No ignores or target exclusions. |
| Mutable workflow actions | FIXED | All direct CI/Pages action references resolve to full upstream commit SHAs and exact tag comments; repository check enforces this form. Weekly GitHub Actions Dependabot updates require normal review. |
| Workflow permissions | CLARIFIED | CI/advisories read contents only; checkout credentials are not persisted. Pages/id-token write permissions are scoped to its main-only deployment job. Triggers unchanged. |
| Implicit workspace build | FIXED | Explicit cargo build --workspace --locked complements all existing gates. |
| Incomplete ADR discovery | FIXED | Index lists all 13 Accepted decisions, titles and topics/amendments; AGENTS requires every relevant Accepted ADR. |
| Ambiguous Master date | CLARIFIED | Original baseline date remains 2026-09-19; Git records later revisions. No invented last-updated date. |
| Missing archived revisions | FIXED after QUESTION investigation | Exact final Git blobs for 0.1/0.2/0.3 restored unchanged, with original commit/path/blob provenance. Current 0.4 is not duplicated. Generated archive pages are labeled historical/non-normative. |
| External view counter | FIXED / policy clarified | Removed Komarev counter; useful informational badges remain with documented dependency/authority limits. |
| Historical release statements | ACCEPTED AS-IS | Accurate dated ADR/progress statements remain intact and do not govern present release status. |
| Existing planner verification/invariants | ACCEPTED AS-IS | No production Rust or planner code changed; independent oracles, graph/recurrence campaigns, admission limits, lifecycle and execution boundaries retained. |
Supply-chain evidence and remaining low-severity finding
cargo audit --file Cargo.lock --deny warnings --json passed with cargo-audit 0.22.2:
101 lockfile dependencies, 1,258 advisories, database commit
57ad4063bb49c1deb04b6fcee30cfbac6b508474 (2026-09-21), zero vulnerabilities and zero warnings.
The scan checks known lockfile advisories, not general Rust security or function reachability.
Pins were resolved through upstream GitHub release and Git-ref APIs on 2026-09-22.
Scanner installation uses the published 0.22.2 release;
there is no downloaded installer script or new application dependency.
MINOR / retained under the existing npm high-severity gate:
GHSA-pxg6-pf52-xh8x, cookie 0.6.0,
via site -> @sveltejs/kit 2.70.3 -> cookie (adapter-static also reports the transitive finding).
The three low npm entries represent one advisory. Its affected operation serializes untrusted
cookie names/paths/domains. Source inspection found no application cookie setters or server routes;
the shipped site is fully prerendered static output. SvelteKit's development/build server includes
the dependency, so this is not described as absent from the repository or generally harmless.
Patched cookie starts at 0.7.0, outside the installed Kit ^0.6.0 range. The registry's current Kit
2.70.3 still requires that range; npm's offered automatic fix is a breaking downgrade.
No ignore, audit suppression or forced override was added. Maintainer review is due at independent
release review, before any server/cookie feature, and no later than 2026-10-22. Prefer an upstream
compatible Kit upgrade; assess a scoped override separately if none becomes available.
Verification
Local environment is Windows with Rust 1.97.0 and Node 26.3.1; CI uses Linux and Node 22.
Browser checks use CEREBRI_BASE_PATH=/Nexus-Cerebri; rustdoc uses RUSTDOCFLAGS=-D warnings.
| Command | Local result |
|---|---|
cargo fmt --check |
PASS |
cargo build --workspace --locked |
PASS |
cargo clippy --workspace --all-targets --all-features --locked -- -D warnings |
PASS |
cargo test --workspace --locked |
PASS, 112 tests including doctests; generated campaigns retained |
cargo doc --workspace --no-deps --locked |
PASS, warnings denied |
cargo build -p cerebri-node --locked |
PASS |
node --test bindings/node/test.mjs |
PASS, 3 tests |
npm run check |
PASS, 22 authority tests plus repository consistency |
node scripts/check-repository.mjs |
PASS, run explicitly |
npm run docs:check |
PASS, no errors/warnings |
npm run docs:build |
PASS after correcting fragment links |
npm --prefix apps/cerebri-lab run check |
PASS, no errors/warnings |
npm --prefix apps/cerebri-lab test |
PASS, 22 tests after correcting the current-fixture assertion |
npm --prefix apps/cerebri-lab run build |
PASS |
npm --prefix apps/cerebri-site run check |
PASS, no errors/warnings |
npm --prefix apps/cerebri-site run build |
PASS after correcting fragment links |
npm --prefix apps/cerebri-site run test:e2e |
PASS, 7 tests including visible current CPIR/publication status |
npm --prefix apps/cerebri-site run test:visual |
PASS, 4 reviewed Windows references |
npm audit --audit-level=high |
PASS, zero findings |
npm --prefix apps/cerebri-lab audit --audit-level=high |
PASS, zero findings |
npm --prefix apps/cerebri-site audit --audit-level=high |
PASS threshold; 3 low entries / 1 advisory, assessed above |
cargo audit --file Cargo.lock --deny warnings --json |
PASS, zero advisories/warnings |
Dependency setup: root/site npm ci --ignore-scripts, Lab npm ci, pinned cargo-audit install and
npm --prefix apps/cerebri-site exec -- playwright install chromium succeeded.
The first branch CI run passed the Rust, Node, repository, site build, browser and accessibility
gates before the visual hash step exposed stale Linux references. Its uploaded failure artifact was
reviewed at 1440/1024/768/390 px; all four Linux renders matched the intended publication-status text
change and their exact hashes were registered. Exact-head CI remains authoritative for final status.
Pages only deploys main, so this PR's site build is the applicable pre-merge check, not a claimed
deployment of the correction branch.
Visualizations, lessons and documentation
No new visualization or product feature. The homepage's existing metadata now shows current CPIR and explicit unreleased/publication status. Its screenshot references require review of that intended text change. All four Windows full-page renders and all four first-CI Linux renders (1440/1024/768/390 px) were visually inspected. Exact hashes are maintained separately for Windows and Linux; unregistered platforms fail rather than skip comparison. No mismatch threshold or visual gate was relaxed. The first local build caught links to Markdown heading fragments that this renderer does not create; links were corrected to canonical documents without weakening prerender checks. The first Lab run found one old primary-fixture minor-version assertion, now corrected to 0.2. Historical evidence stays separate from current declarations, and fresh advisory results are dated evidence rather than timeless security claims.
Updated README/Changelog/roadmap, DE/EN CPIR references, AGENTS/ADR index, Master metadata, archive provenance, documentation/release and security policies, checks/workflows and this log.
Next step
Independent release-qualification review of the correction PR, including the documented low-severity dependency finding, before any subsequent explicit release decision. No release is authorized here.
