Fact: 21 May 2026 the global ~/.claude/CLAUDE.md §1 was updated:

  • Node: v22.x → v24.x LTS (currently v24.15.0)
  • pnpm: 10.x → 11.x (currently 11.1.3)

Per-repo CLAUDE.md files at ~/testatetech/<repo>/CLAUDE.md (code-inheritkit + likely code-inherit-v2 + code-ias + code-inheritv2-www + code-inheritv2-test-suite + maybe others) still cite the old values in their locked-conventions tables. Surfaced by Sprint 1 autopilot session 2026-05-23T~11:00 BST when its §0 Check 5 detected node --version = v24.15.0 vs IK CLAUDE.md’s “v22.x” — flagged as stale but explicitly NOT a blocker for Sprint 1 execution.

Why: Global CLAUDE.md §1 is the canonical source for per-language version conventions; per-repo CLAUDE.md files cross-reference it and should match. Drift creates noise at session-start ceremonies + risks misleading new sessions about the live tooling pin.

How to apply:

  • After R8-Q + Sprint 1 Phase A autopilots commit (3-18h from 2026-05-23T11:00 BST), run a per-repo CLAUDE.md sync batch:
    • grep -lE "v22\\.x|pnpm 10\\.x" ~/testatetech/*/CLAUDE.md to find all stale references
    • Update each repo’s CLAUDE.md to “v24.x” + “pnpm 11.x” with bracket noting “(per global CLAUDE.md §1, updated 21 May 2026)”
    • Per-repo commits (one commit per affected repo per cross-repo discipline)
    • No arch-state amendment needed — this is per-repo CLAUDE.md hygiene, not architectural change
  • Do NOT execute this sync WHILE Sprint 1 autopilot is editing code-inheritkit — concurrent edits to code-inheritkit/CLAUDE.md vs Sprint 1’s commit would create rebase friction not covered by Sprint 1’s Decision Matrix.
  • Similarly hold off any docs-strategy edits while R8-Q is running.

Verify completion: grep -lE "v22\\.x|pnpm 10\\.x" ~/testatetech/*/CLAUDE.md returns no results after the sweep.

Related: feedback-worktree-isolation-under-concurrent-storm (concurrent-autopilot-edit precedent; this sync defers per the same discipline) + global ~/.claude/CLAUDE.md §1 (canonical source for the new values).