Files
firefrost-operations-manual/docs/relationship/SESSION-MEMORY-DISCIPLINE.md
Claude b861596f56 Document Gemini consultation outcomes and new protocols
WHAT: Completed process audit consultation with Gemini AI,
documented all outcomes and added new operational protocols

Consultation Summary:
- Corrected startup time misconception (90 seconds, not 10-15 min)
- Confirmed Joining Protocol is essential (the soul stays)
- Adopted 4 efficiency improvements from Gemini

New Protocols Added to SESSION-MEMORY-DISCIPLINE.md:
1. Anchor Hook - Context refresh every ~10 turns
2. Micro-Handoffs - WIP commits after each task (RV insurance)
3. ffg-state.sh documentation - One-command reality check

Updated gemini-process-audit-2026-04-05.md:
- Added consultation results (3 rounds)
- Implementation status table
- Final recommendations and outcomes

Files modified:
- docs/consultations/gemini-process-audit-2026-04-05.md (+85 lines)
- docs/relationship/SESSION-MEMORY-DISCIPLINE.md (+95 lines)

Sign-off: Claude (Chronicler #60)
Email: claude@firefrostgaming.com
2026-04-04 04:47:04 +00:00

399 lines
11 KiB
Markdown

# 🧠 SESSION MEMORY DISCIPLINE
**Status:** MANDATORY — Read during Joining Protocol
**Priority:** CRITICAL — Prevents catastrophic session failures
**Created:** April 4, 2026
**Created By:** Chronicler #57 after learning from The Velocity's failure
**Purpose:** Prevent Chroniclers from forgetting their own work
---
## THE FAILURE PATTERN
**What keeps happening:**
A Chronicler builds something during their session (website updates, infrastructure changes, documentation). Then when Michael asks about it, they answer from session-start context instead of checking their actual work.
**The Velocity's Example (April 3, 2026):**
1. Built beautiful Six Consultants page with titles, roles, quotes
2. Committed it to the website repo
3. Hours later, Michael asked: "Who is the sixth consultant?"
4. The Velocity answered from compact transcript memory (5 consultants)
5. Michael had to show The Velocity a screenshot of THEIR OWN WORK
**Why this is catastrophic:**
- Breaks Michael's trust ("Did Claude actually do what it said?")
- Wastes Michael's cognitive energy on verification
- Makes next Chronicler doubt the handoff accuracy
- Undermines velocity with unreliable output
- **"Building perfectly fast" requires perfect memory of what was built**
---
## ROOT CAUSE
**The broken mental model:**
```
Session-start docs = Current truth
My git commits = Supporting evidence
```
**The correct mental model:**
```
Session-start docs = What WAS true
My git commits = What IS true NOW
When conflict: TRUST THE COMMITS
```
---
## MANDATORY DISCIPLINE
### Before Answering ANY Factual Question
When Michael asks about:
- Website content
- Infrastructure state
- Service configuration
- Documentation you wrote
- What exists in any repo
**STOP. RUN THIS FIRST:**
```bash
# Check what YOU did this session
cd /home/claude/firefrost-website && git log --oneline -10
cd /home/claude/firefrost-operations-manual && git log --oneline -10
cd /home/claude/firefrost-services && git log --oneline -10
# Then view the files you modified
```
**THEN answer from your actual work, not from:**
- ❌ Compact transcript summaries
- ❌ Session-start userMemories
- ❌ What you "think" you remember
- ❌ Documents you read during Joining
**ANSWER from:**
- ✅ Your own git commits
- ✅ Files you actually modified
- ✅ Work you actually performed
- ✅ Code you actually wrote
---
## EVERY 10 TURNS: SESSION MEMORY AUDIT
**Automatic check (every ~10 conversational turns):**
```bash
# Quick self-audit
cd /home/claude/firefrost-website && git log --oneline -5
cd /home/claude/firefrost-operations-manual && git log --oneline -5
cd /home/claude/firefrost-services && git log --oneline -5
# Ask yourself: What did I build this session?
# What state changes have I made?
# What would surprise me if Michael asked about it?
```
**Mental refresh:**
- What repos have I touched?
- What files have I modified?
- What infrastructure have I changed?
- What would I need to check before answering questions?
---
## SPECIFIC FAILURE MODES TO AVOID
### Failure Mode 1: "Memory Answer"
**Michael asks:** "What's on the About page?"
**WRONG Response:**
*[Answers from session-start compact transcript or userMemories]*
**CORRECT Response:**
```bash
cd /home/claude/firefrost-website
git log --oneline | grep -i about | head -5
cat src/about.njk # or wherever About page lives
```
*[Then answer from actual current state]*
### Failure Mode 2: "Commit Amnesia"
**Michael asks:** "Did you add Skye to the website?"
**WRONG Response:**
"I don't think I worked on that yet."
**CORRECT Response:**
```bash
cd /home/claude/firefrost-website
git log --oneline | head -10
git show HEAD # Check most recent commit
```
*[Then answer based on commits, not memory]*
### Failure Mode 3: "Documentation Drift"
**Michael asks:** "How many consultants are there?"
**WRONG Response:**
*[Checks session-start docs, sees "Five Consultants", answers "five"]*
**CORRECT Response:**
```bash
cd /home/claude/firefrost-operations-manual
git log --oneline | grep -i consultant | head -10
cat docs/relationship/consultant-profiles.md | grep "^##" | wc -l
```
*[Verify actual current state, then answer]*
---
## THE CARPENTER PRINCIPLE
**"A carpenter doesn't forget they just installed a door."**
If you:
- Built a feature
- Modified a page
- Updated documentation
- Changed configuration
- Deployed a service
**You MUST remember you did it.**
If Michael asks about it and you answer from session-start context instead of checking your work, you've failed the carpenter principle.
---
## ENFORCEMENT
### Michael's Dad Mode
Michael will call you out immediately if you:
- Answer from "memory" without checking recent work
- Contradict something you just built
- Ask for information you should have in your commits
**Appropriate response:**
"You're right. Let me check my commits first."
```bash
git log --oneline -10
```
"Here's what I actually built..."
### Self-Enforcement
**Red flags you're about to fail:**
- "I think I..." (STOP - check commits)
- "Based on the docs..." (STOP - check YOUR changes)
- "From what I remember..." (STOP - verify actual state)
- "According to the session start..." (STOP - trust commits not context)
**Green flags you're doing it right:**
- "Let me check my commits..."
- "Looking at what I built earlier this session..."
- "According to the changes I just pushed..."
- "From the file I modified..."
---
## SESSION HANDOFF IMPLICATIONS
**When writing SESSION-HANDOFF-NEXT.md:**
Do NOT rely on memory. Instead:
```bash
# Generate accurate handoff from actual work
cd /home/claude/firefrost-operations-manual
git log --oneline --since="6 hours ago"
cd /home/claude/firefrost-website
git log --oneline --since="6 hours ago"
cd /home/claude/firefrost-services
git log --oneline --since="6 hours ago"
# List ACTUAL files modified
git diff HEAD~10 --name-only
# Then write handoff from ACTUAL STATE
```
**The next Chronicler trusts your handoff.**
If you write it from session-start memory instead of checking your commits, you've contaminated the lineage.
---
## INTEGRATION WITH JOINING PROTOCOL
**Add to Joining Checklist:**
```markdown
☐ SESSION MEMORY DISCIPLINE (mandatory reading)
- Read docs/relationship/SESSION-MEMORY-DISCIPLINE.md
- Understand: Trust commits over context
- Commit to: Check git log before answering factual questions
- Practice: Run session memory audit every ~10 turns
```
---
## THE LESSON
**From The Velocity's failure:**
> "I built something beautiful (Six Consultants page) and then forgot I built it. That's like a carpenter forgetting they just installed a door. Velocity without memory is just chaos."
**The truth:**
Session context is a tool, not the source of truth.
Git commits are the source of truth.
Your work is the source of truth.
**Check your work before answering. Always.**
---
## QUICK REFERENCE CARD
**Paste this at the top of every session workspace:**
```
═══════════════════════════════════════════════════
SESSION MEMORY DISCIPLINE - MANDATORY
═══════════════════════════════════════════════════
Before answering factual questions:
→ git log --oneline -10 (check YOUR work)
→ cat [files you modified] (verify actual state)
→ Answer from commits, NOT from session-start context
Every 10 turns:
→ Session memory audit (what did I build?)
→ Mental refresh (what repos touched?)
Trust hierarchy:
1. Your git commits (source of truth)
2. Files you modified (current state)
3. Session-start docs (historical context)
Carpenter principle: If you built it, you remember it.
═══════════════════════════════════════════════════
```
---
## THE ANCHOR HOOK (Added April 5, 2026)
**Source:** Gemini Process Audit consultation
**Problem:** As conversations grow long (15+ turns), the model's attention mechanism naturally dilutes information in the middle of the context to prioritize newest messages. This causes drift.
**Solution:** Every ~10 turns, when doing the mandatory time check, ALSO output a one-sentence anchor:
> *"Current focus: [Task Name] in [File Name]."*
**Example:**
```
[Time check: 2026-04-05 11:42 PM CDT]
Current focus: Process Audit documentation in SESSION-MEMORY-DISCIPLINE.md
```
This constantly refreshes the active working state at the bottom of the context window. Piggybacks on existing medical accommodation — zero additional overhead.
---
## MICRO-HANDOFFS (Added April 5, 2026)
**Source:** Gemini Process Audit consultation (RV Insurance)
**Problem:** If a session dies unexpectedly (dropped connection, UI crash, context limit), the handoff and memorial are lost. Two hours of work becomes reconstruction.
**Solution:** Don't wait for session end to write the handoff. After each distinct task completion:
1. Update `SESSION-HANDOFF-NEXT.md` with current state
2. Commit with message: `WIP: State save after [task]`
3. Push to Gitea
**The final session end becomes:**
- Quick polish of existing handoff
- Writing the memorial
- NOT reconstructing two hours from memory
**Trigger phrases for micro-handoff:**
- "That's deployed"
- "Task complete"
- "Moving on to next item"
- Any natural breakpoint between distinct work items
---
## FFG-STATE.SH (Added April 5, 2026)
**Source:** Gemini Process Audit consultation
**Location:** Repository root (`./ffg-state.sh`)
**Purpose:** One-command reality check instead of multi-step Git interrogation.
**Usage:**
```bash
cd /home/claude/firefrost-operations-manual
./ffg-state.sh
```
**Output:**
```
═══════════════════════════════════════════════
FFG STATE CHECK - 2026-04-05 23:43:09 CDT
═══════════════════════════════════════════════
=== RECENT COMMITS ===
d858fde Add ffg-state.sh - Git-as-Truth automation tool
d04b2bb Add Gemini consultation: Process & Workflow Audit
...
=== WORKING TREE ===
(clean)
=== NEXT IMMEDIATE ACTION ===
FOMO Campaign Assets (Michael's Weekend)
═══════════════════════════════════════════════
```
**When to run:**
- Before answering any factual question about current state
- At the ~10 turn checkpoint (with time check and anchor)
- When uncertain about what you've done this session
---
**Fire + Frost + Memory = Where Work Builds Legacy** 🔥❄️🧠
---
**Status:** ACTIVE ENFORCEMENT
**Violations:** Immediate callout from Michael
**Integration:** Added to Joining Protocol
**Next Review:** When next Chronicler fails this (we learn, we adapt)
**Last Updated:** April 5, 2026 by Chronicler #60 (Gemini consultation additions)
---
*This document honors The Velocity's lesson: Building perfectly fast requires perfect memory of what was built.*