Files
Claude-Code-Game-Studios/.claude/docs/templates/session-state.md
T
DonchitosandClaude Opus 5.5 be8993bbc5 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
2026-10-08 17:52:48 +11:00

75 lines
2.9 KiB
Markdown

# Active Session State — [project or branch]
<!--
HOW THIS FILE WORKS. Read this before editing it.
This file has TWO regions and they are not interchangeable:
1. The CHECKPOINT region below (STATUS + CHECKPOINT blocks) is the part
machines read. session-start.sh shows it verbatim in the context, so it is
BOUNDED BY CONSTRUCTION: keep it under ~25 lines. It is OVERWRITTEN on
every update, never appended to.
2. Everything after `<!-- /CHECKPOINT -->` is free-form narrative for humans
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: 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:
bash .claude/scripts/rotate-session-state.sh
Nothing is lost — and the commit history already records most of what the
narrative repeats.
-->
<!-- STATUS -->
Epic:
Feature:
Task:
<!-- /STATUS -->
<!-- CHECKPOINT -->
**Updated:** [YYYY-MM-DD]
**Branch:** `[branch]`
**Current task:** [one line — what is actively being worked on]
**Next step:** [one line — the very next action, concrete enough to resume cold]
**Blocked on:** [one line, or `nothing`]
**Files in progress:** [paths, comma-separated, or `none`]
**Run result:** [`/dev-story` writes its `Run result:` line here, verbatim, for `/story-done` to read; other writers leave this line out]
**Open questions:** [one line each, or `none`]
<!-- /CHECKPOINT -->
---
## Notes
[Free-form. Decisions and their rationale, what was tried and rejected, context
that would be expensive to reconstruct. Not machine-read — write for the person
or agent picking this up cold.]
<!--
FIELD NOTES
STATUS block
Drives the status-line breadcrumb (`Combat System > Melee > Hitboxes`), and
only at Production / Polish / Release stage. All three fields are optional —
leave a field blank when it does not apply, and blank all three when there is
no active focus. Do not delete the markers themselves — `statusline.sh`
expects them to exist.
CHECKPOINT block
The recovery payload. `session-start.sh` shows it when a previous session
left state, and again after a compaction (SessionStart runs then too).
`pre-compact.sh` reads it as well, for the debug log. Both read THIS
region and nothing else, which is what keeps the cost fixed no matter how
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: adding wall-jump to
player_movement.gd" is not.
-->