Release 1.1.3 — long skills keep their later steps

Fix release for 1.1.2: the 14 longest skills keep their later phases
after a compaction, a question nobody answered is never taken as an
answer, settings read the same from a subfolder, the commit check works
for a project in a subfolder of a larger repository, every skill opens
with a title, and the shipped allow rules no longer approve deleting a
branch or writing files without asking. Details in CHANGELOG.md; upgrade
steps in UPGRADING.md (v1.1.2 → v1.1.3).

Refs #83
Refs #133

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0185en4t76fPn7315q4c3nko
This commit is contained in:
Donchitos
2026-10-08 17:52:48 +11:00
co-authored by Claude Opus 5.5
parent b21fa0f7f2
commit be8993bbc5
231 changed files with 12000 additions and 10527 deletions
+7 -9
View File
@@ -1,7 +1,7 @@
# Active Session State — [project or branch]
<!--
THE CONTRACT. Read this before editing the file or any hook that consumes it.
HOW THIS FILE WORKS. Read this before editing it.
This file has TWO regions and they are not interchangeable:
@@ -14,12 +14,10 @@
and for a returning agent that wants detail. No hook ever injects it, so
it may grow — but see Rotation below.
Why the split exists: before it, `active.md` was one append-only file doing
both jobs. It reached 712 lines / 44 KB, and each consumer invented its own
slice of it — the status line parsed for a STATUS block nothing wrote,
pre-compact injected `head -100` (12.7 KB), and session-start previewed
`tail -20`, the opposite end. They disagreed because there was no contract to
agree on. Now every consumer reads the named region.
Why the split exists: one append-only file doing both jobs grows without
bound, and every consumer then reads a different slice of it: the top, the
bottom, or a block nothing writes. They disagree because there is no contract
to agree on. With the named regions, every consumer reads the same part.
ROTATION. When the narrative below grows past ~200 lines, move it to
`production/session-logs/` and start it fresh:
@@ -71,6 +69,6 @@ or agent picking this up cold.]
long the narrative gets.
Write it so a cold reader can resume without reading anything else. "Current
task: fixing the thing" is useless; "Current task: wiring modes.rigor into
/gate-check section 6.4" is not.
task: fixing the thing" is useless; "Current task: adding wall-jump to
player_movement.gd" is not.
-->