# Active Session State — [project or branch] ` 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. --> Epic: Feature: Task: **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`] --- ## 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.]