The project version is a bake input (kit stamp punkkit-stamp.toml
project_version + versioned-scheme output names), but nothing enforced the
step (2) bump -> step (8) bake order; a 2026-08-06 session baked at 0.55.1,
bumped to 0.56.0 and paid a full 11-kit re-bake. Every other release-sequence
edge already had a mechanical gate (provenance, bootsupport staleness, boot
precondition) - this was the un-gated one.
- ::punkboot::get_projectversion_status: shared staleness/consistency
computation (projectversion advisory, check report, gate); states
ok/overdue/bump_uncommitted/unavailable.
- project-version gate on bake/bakehouse/bin: a pending-looking bump (src/
commits since punkproject.toml last changed, none staged) prompts y/N on a
terminal and aborts fast non-interactively unless -expect-projectversion
asserts the intended version. -confirm 0 deliberately does not waive the
gate. A staged-but-uncommitted bump passes (bake reads the working-tree
value); degraded bootsupport reduces the gate to a NOTE.
- -expect-projectversion <ver> (bake/bakehouse/bin argdocs + degraded scan):
assertion verified in every state - a mismatch with punkproject.toml always
aborts before any kit work; unavailable status aborts a supplied assertion
as unverifiable rather than silently losing the requested strictness.
- projectversion overdue warning now states the consequence and prints the
ready-made assertion command; check reports the gate state and current
staleness verdict; workflow text ([K2] bake-input + gate, [K6] no-waiver
exception, steps (2)/(8)) and gethelp/HELPTEXTS/OPT_CONFIRM document it;
root AGENTS.md gains "The version is a bake input (bump BEFORE bake)" +
an Enforcement gate paragraph; src/AGENTS.md closeout bullet extended.
- maketclprojectversion.test: piped characterization (8 tests) - check
report, advisory read-only, and git-fixture verdicts for pending-abort,
assert-match proceed, assert-mismatch abort, bump-staged proceed, no-git
NOTE. maketclhelp.test bakehouse-synopsis pin updated for the new flag.
- Thin-layout + templates-modpod make.tcl copies synced via make.tcl modules.
Claude-Session: https://claude.ai/code/session_01EukjNTv2r5msFgHzWgaCdS
Assisted-by: harness=claude; primary-model=claude-fable-5; api-location=anthropic.com