Skip to content

v1.49.0

Choose a tag to compare

@esanacore esanacore released this 27 Sep 20:25
· 66 commits to main since this release
d7afbce

The fleet bump carries the adopter's own version references with it, and the
alignment checker stops mistaking a session log for a stale claim. Both changes
are additive or strictly less likely to fail than before, so no adopter's CI can
turn red on this release and no documented invocation changes — MINOR under the
compatibility policy.

Changed

  • bump_adopters.sh moves adopter-side version references with the pin.
    A repository that names the constitution version in prose — Engineering Constitution v1.48.0 in CLAUDE.md, a CONSTITUTION_VERSION file, a README
    line — fails check_version_alignment.sh the moment the gitlink moves past
    it. The fleet bump moved only the gitlink, so every release left such an
    adopter's compliance gate red until someone hand-edited one line;
    AI-Process-Engineer needed exactly that commit on 1.48.0 and again on
    1.48.1. The bump now rewrites those references in the same commit as the
    gitlink, scanning precisely what check_version_alignment.sh scans and
    applying the same "first semantic version on a line that mentions the
    constitution" rule, so an unrelated version on the same line is left alone.
    Rewrites are listed per repository in the run output and recorded in the
    commit body. Three new cases in scripts/test_bump_adopters.sh (8 total)
    cover the rewrite, a repository with no references being committed
    untouched, and — the case that matters — check_version_alignment.sh
    exiting 0 against the bumped result.

Fixed

  • check_version_alignment.sh no longer treats a session log as a stale
    claim, and bump_adopters.sh no longer rewrites one.
    The checker flagged
    any line naming the constitution and a version other than the pinned one,
    which is wrong for docs/AGENT_HANDOFF.md: DOCUMENTATION.md defines that
    file as capturing "state after work", one entry per session, so a version it
    names is a historical fact rather than a claim about the current pin. In a
    real adopter it reported three mismatches for ## Last Session — 2026-08-27: Constitution 1.46.0, its scope line, and **Branch**: chore/constitution-1.46.0`` — all true as written.

    The file is no longer scanned, by either script. This matters most for the
    version-reference rewrite added above: sharing the checker's rule meant it
    inherited the checker's blind spot, so the next fleet bump would have
    silently rewritten those lines across every adopter — falsifying handoff
    records and inventing branch names that never existed. The rewrite had not
    yet run against a release, so nothing was altered.

    For a historical mention inside a file that is otherwise current, a line
    containing version-alignment:ignore is skipped by both scripts. The opt-out
    is explicit: an unmarked stale mention still fails, so this is not a blanket
    exemption. scripts/test_check_version_alignment.sh gains four cases
    (10 total) and scripts/test_bump_adopters.sh gains assertions inside its
    rewrite case, including a mechanical guard that fails if the two scripts'
    scanned sets ever drift apart again.