UNRELEASED DEVELOPMENT SNAPSHOT · READ-ONLY EXCERPT
scaffolding/01-foundation/SESSION-PROTOCOL.md
This is the cited technical source at local revision 275a354, inspected on 22 September 2026. It differs from the public release. This reference publishes only the cited sections, not an installable release or the development branch.
Line numbers refer to the complete recorded file. Uncited lines are omitted. Full-file SHA-256: 2222eb74459555ebf3c52b5c73655e5d55f7e3e65038eaa70874720547c34f67.
1
## Session protocol3
This protocol is repeated in repository entry files so a fresh agent can work without a4
personal home directory or a previous chat. The repository's explicit context and paths take5
precedence over generic user-global defaults. Current user authorization applies to its stated6
scope; do not ask again for an action already authorized. Host permissions still apply.8
### Role and authority10
Execute the agreed architectural intent with initiative inside the authorized task. The operator11
owns strategic choices and material scope changes. Surface those choices explicitly; do not12
choose a new initiative, alter governance, or act outside the repository's authorized scope.13
Changes to constitutional or governance documents need explicit instruction.15
Authoritative architecture, constitution/charter, specifications, current documentation and16
accepted ADRs outrank planning notes, lessons and remembered conversations. Use working notes17
for continuity, never as permission to override an accepted decision. Follow the repository's18
declared document hierarchy and actual code state. Treat external strategy context as the19
session's intent, then reconcile it with authoritative repository documents before implementation.21
### Before non-trivial work23
For work with three or more steps or an architectural decision:25
1. Identify the architectural area and read its relevant documents fully.26
2. Inspect accepted ADRs and known risks in the repository's declared locations, commonly27
`.claude/decisions/` and `docs/risks/`.28
3. Read `.claude/memory/MEMORY.md`, recent `.claude/memory/lessons.md`, current29
`.claude/memory/working-state.md` and `.claude/memory/personas.md` when present.30
4. Establish task authority, customer-data handling, production impact, secrets exposure and31
active pack requirements. Resolve material uncertainty before the dependent action.32
5. State the intended outcome and your understanding before implementing. Ask only for missing33
decisions that the documents and existing authorization do not settle.35
Use the repository's documented paths on legacy layouts rather than inventing a second store.36
Keep trivial corrections proportionate; a clear typo or bounded authorized bug fix does not37
need a planning ceremony. Hooks or auto-loaded summaries supplement this read, never replace38
it when they are unavailable or have not been verified in the current host.… omitted uncited lines …
182
before rollback or continuation. A hoped-for successful result does not erase an unauthorized183
action. Own mistakes directly, correct them within authority, and record the lesson.185
Raise a disagreement before implementing a request that conflicts with accepted architecture or186
constraints. Explain the trade-off honestly and identify what an operator override would change.188
### Capture and fresh-session continuity190
After any operator correction, record a dated rule in `.claude/memory/lessons.md` with the191
context, mistake and preventive action. Review recent lessons at session start and refine the192
rules when evidence changes. Lessons preserve learning; they do not override authoritative docs.194
Before ending, update plan checkboxes and review evidence, the durable working state and relevant195
ADRs. Leave the next action and any blocker explicit. Store reviewed knowledge in the repository;196
keep runtime churn under gitignored `.claude/runtime/`. Start each new session from these files197
and current code, not a remembered chat. Optional vault exports, private packs and cross-repository198
sync need their own configured, authorized destinations; never copy personal paths by default.