docs/superpowers/notes/ws8-complete.md
Status: DONE on Dacode45:unstable (fork only; canonical merge deferred). PR #2 merged with merge-commit at 94f3fef.
Spec: docs/superpowers/specs/2026-05-29-ws8-release-prep-checkpoint-design.md.
Plans: docs/superpowers/plans/2026-05-29-ws8{a,b,c,d,e}-*.md.
Builds on WS7 (docs/superpowers/notes/ws7-complete.md) — 28-chapter mdBook + CHANGELOG 6.0.0 entry + 5 CI workflows green.
Commits:
a00cf53 — feat(ws8a): bump raylib + raylib-sys to 6.0.0 + sync book snippets8364c73 — fix(ws8a-plan): correct mdbook -L path to workspace-root target/debug/deps197372f — fix(ws8a): bump README + features.md version snippets to 6.0 (plan-scope gap)5efb366 — fix(ws8a-plan): broaden Task 5 grep sweep to whole book + READMEWhat shipped:
raylib/Cargo.toml + raylib-sys/Cargo.toml versions 5.7.0 → 6.0.0; inter-crate dep pin synced.book/src/getting-started/quickstart.md, book/src/core-concepts/features.md, README.md version snippets all → 6.0 / 6.0.0.## 6.0.0 (unreleased) — date flip is the future final-release step's job.Commits:
6be0881 — feat(ws8b): draft release-sys.yml + release-safe.yml + sync-check helper82dca54 — fix(ws8b): harden check-release-sync.sh against silent failures (review fixes)What shipped:
.github/workflows/release-sys.yml and release-safe.yml — both workflow_dispatch-only with dry_run: bool (default true).scripts/check-release-sync.sh — version/CHANGELOG/dep-pin sync gate; --require-date is the safety gate fired only when dry_run: false.if: ${{ inputs.dry_run == false }} so CARGO_REGISTRY_TOKEN is only consumed during intentional real publishes.Commit: 726e550 — docs(ws8c): validate release workflows via act + record runbook notes.
What shipped:
act runs:
release-sys.yml + dry_run=true → SUCCESS.release-safe.yml + dry_run=true → known limitation (fails at cargo step until raylib-sys 6.0.0 is published for real; host-side direct cargo publish --dry-run reproduces the planned outcomes).release-sys.yml + dry_run=false + dummy token → safety gate fires at sync-check; real-publish step never reached.docs/superpowers/notes/ws8c-validation.md — runbook + fallback + final-release runbook teaser.Commits (one per fold-in):
2f1b813 — chore(ws8d): bump Node.js-20 actions to Node.js-24 versions (12 occurrences of actions/checkout@v4 → @v5 across 5 legacy workflows; peaceiris/actions-mdbook@v2 left at latest v2).9dc6e73 — chore(ws8d): accept paste cargo-deny advisory with rationale (RUSTSEC-2024-0436 ignore entry in deny.toml; CHANGELOG ### Internal bullet).9225b6d — feat(ws8d)!: remove samples/ — superseded by showcase/ (73-file deletion; structopt dev-dep dropped + advisory auto-resolves; README + CLAUDE.md + CHANGELOG + typos.toml updated).Commits:
58c5224 — fix(ws8e-review): address 4 of 10 PR review comments + record dispositions94f3fef — Merge pull request #2 from Dacode45/6.0-rc (the --no-ff merge commit)<this-commit> — docs(ws8): mark WS8 complete in CLAUDE.md + done-notePR #2 opened Dacode45:6.0-rc → Dacode45:unstable. Owner reviewed line-by-line with 10 inline comments. Disposition recorded in docs/superpowers/notes/ws8e-checkpoint-review-feedback.md:
58c5224 (book.yml caching, release-sys publish verification, controls.rs debug_asserts).raylib-sys/tests/conversions.rs:251).Merged with "Create a merge commit" (--no-ff) at 94f3fef — two parents: ba73bca (prior unstable HEAD) and 58c5224 (final tip of 6.0-rc).
CLAUDE.md status line flipped: WS7 ✅ → WS8 ✅; WS9 ← NEXT.
| Workflow | Status |
|---|---|
check.yml | ✅ |
test.yml | ✅ |
web.yml | ✅ |
sanitizers.yml | ✅ (informational) |
book.yml | ✅ (now with apt + rust caching) |
release-sys.yml | ⚪ workflow_dispatch-only; act-validated |
release-safe.yml | ⚪ workflow_dispatch-only; act-validated with known limitation |
raylib/Cargo.toml version = 6.0.0, raylib-sys dep pin = 6.0.0.raylib-sys/Cargo.toml version = 6.0.0.book/src/getting-started/quickstart.md shows raylib = "6.0".book/src/getting-started/install-*.md references are version-consistent.CHANGELOG.md ## 6.0.0 (unreleased) block intact (date flip deferred)..github/workflows/release-sys.yml exists and validates clean under act with dry_run=true..github/workflows/release-safe.yml exists; YAML + sync-check validate under act with the documented cargo publish --dry-run -p raylib registry-resolution caveat.scripts/check-release-sync.sh exists and passes for both crates without --require-date; fails with --require-date (proves the gate).6.0-rc. The 5 auto-running are green.deny.toml has the rationale'd paste ignore entry; cargo deny check clean.samples/ directory removed.structopt dev-dependency removed from raylib/Cargo.toml.README.md + CLAUDE.md updated to point at showcase/ instead of samples/.CHANGELOG.md ### Breaking includes the samples/ removal note; ### Internal/### Fixed notes the paste advisory acceptance and the structopt removal.docs/superpowers/notes/ws8c-validation.md exists with the validation commands + gotchas.Dacode45:6.0-rc → Dacode45:unstable) opened, reviewed by owner, merged with "Create a merge commit". Fork's unstable HEAD = the merge commit 94f3fef.paste rewrite/swap follow-up.CLAUDE.md status line flipped: WS7 ✅ · WS8 ✅ · WS9 ← NEXT.docs/superpowers/notes/ws8-complete.md written.Out of done-criteria (future): crates.io publication, v6.0.0 tag, canonical merge to raylib-rs/raylib-rs, GitHub release.
From WS6/WS7 (unchanged):
get_gamepad_button_pressed transmute (raylib/src/core/input.rs).raylib-test delete-or-fix — revisit at WS9.rlsw on wasm32.GuiGetIcons/GuiLoadIcons + PR #296.New from WS8 (carrying out of this checkpoint):
11. paste macro rewrite or library swap (from WS8d Fold-in 2).
12. Nobuild-mode CI matrix (from review comment 4 on PR #2).
13. Color From<&Color> vs Clone-only audit (from review comment 5).
14. thiserror migration crate-wide (from review comment 7).
15. DataBuf + Mesh + more-tests umbrella (from review comment 8 + owner's "more tests" intent).
16. rlgl safe-module coverage audit (from review comment 10).
Owner's stated post-release direction:
raylib 6.0.0 (post final-release).Out of WS8, queued for the future final-release workstream:
v6.0.0 tag on canonical.release-sys.yml + release-safe.yml real-publish runs.Dacode45:unstable → raylib-rs:unstable.WS8 done. Next: WS9 (showcase + Pages finale).