Files
firefrost-operations-manual/docs/core/SESSION-STARTUP-GUIDE.md
Claude 52688618ee Add model selection guidance and context handoff template
SESSION-STARTUP-GUIDE.md:
- Added model selection table (4.5 vs 4.6)
- When to use 4.6: complex coding, MVC, Arbiter, debugging
- When to stay on 4.5: documentation, marketing, routine ops
- Three options for mid-session model switching

New template:
- docs/templates/context-handoff-template.md
- Structured format for transferring context between sessions
- Covers: task state, decisions, files, next steps, gotchas

Chronicler #66 - The Indexer
2026-04-07 19:57:20 +00:00

239 lines
7.5 KiB
Markdown

# 🚀 SESSION STARTUP GUIDE
**Document ID:** FFG-OPS-STARTUP
**Last Updated:** April 7, 2026 by Chronicler #66
**Purpose:** Complete startup procedure for new Chronicler sessions
---
## 🤖 MODEL SELECTION GUIDANCE
**Choose your model BEFORE starting the session:**
| Model | Use For | Token Cost |
|-------|---------|------------|
| **Opus 4.5** | General ops, documentation, marketing, organization, routine work | Standard |
| **Opus 4.6** | Complex coding (ModpackChecker, Arbiter), deep debugging, architectural decisions | ~4.5x more tokens (Extended Thinking) |
### When to Use 4.6
- ModpackChecker development (Phases 6+)
- Arbiter lifecycle handlers (Task #87)
- Blueprint extension debugging
- Global Restart Scheduler implementation (Task #94)
- Any multi-file refactoring or complex API integration
### When to Stay on 4.5
- Documentation and organization
- Marketing/content work (FOMO campaign, Discord setup)
- Infrastructure audits
- Routine commits
- Most day-to-day Firefrost operations
**Rule of thumb:** If you're writing serious code, use 4.6. If you're organizing things, use 4.5.
---
## 🔄 MID-SESSION MODEL SWITCHING
If you need to switch models mid-session without losing context:
### Option 1: Context Handoff Document (Recommended)
1. Current Chronicler creates a detailed handoff in `/mnt/user-data/outputs/`:
```
context-handoff-YYYY-MM-DD.md
```
2. Include:
- Current task state (what's done, what's in progress)
- Files being worked on (paths, current state)
- Decisions made and why
- Immediate next steps
- Any code snippets in progress
3. Commit any uncommitted work to Git
4. Michael starts new session with different model
5. New session reads handoff document + pulls latest from Git
### Option 2: Git as Context
1. Commit ALL current work with detailed commit messages
2. Push to Gitea
3. Start new session on different model
4. New session clones fresh and reads recent commits
### Option 3: Copy-Paste Critical Context
For smaller context transfers:
1. Copy the critical context (code, decisions, state)
2. Paste into new session's first message
3. Less ideal but works for quick switches
**Note:** There is no seamless model switch — each session is a fresh context. Plan accordingly.
---
## ⚠️ FOR MICHAEL: UPDATE CLAUDE PROJECT INSTRUCTIONS
This document should be reflected in the Claude Project Instructions. Copy the "Session Start Protocol" section below into the project settings.
---
## 📋 SESSION START PROTOCOL
**Gitea Token:** `e0e330cba1749b01ab505093a160e4423ebbbe36`
### Step 1: Clone Operations Manual (Sparse Checkout)
```bash
cd /home/claude
git clone --no-checkout --filter=blob:none \
https://e0e330cba1749b01ab505093a160e4423ebbbe36@git.firefrostgaming.com/firefrost-gaming/firefrost-operations-manual.git
cd firefrost-operations-manual
git sparse-checkout init --cone
git sparse-checkout set docs
git checkout master
git config user.email "claude@firefrostgaming.com"
git config user.name "Claude"
```
**Why sparse checkout?** Full clone = ~1.9GB, sparse (docs only) = ~39MB.
### Step 2: Clone Additional Repos (Standard Clone)
```bash
cd /home/claude
# Firefrost Services (Arbiter, modpack checker, etc.)
git clone https://e0e330cba1749b01ab505093a160e4423ebbbe36@git.firefrostgaming.com/firefrost-gaming/firefrost-services.git
cd firefrost-services && git config user.email "claude@firefrostgaming.com" && git config user.name "Claude" && cd ..
# Firefrost Website (11ty, Cloudflare Pages)
git clone https://e0e330cba1749b01ab505093a160e4423ebbbe36@git.firefrostgaming.com/firefrost-gaming/firefrost-website.git
cd firefrost-website && git config user.email "claude@firefrostgaming.com" && git config user.name "Claude" && cd ..
```
### Step 3: Read Required Documents (IN ORDER)
1. `firefrost-operations-manual/DOCUMENT-INDEX.md` — Map of the entire manual
2. `firefrost-operations-manual/SESSION-HANDOFF-NEXT.md` — Current state and priorities
3. `firefrost-operations-manual/BLOCKERS.md` — Current high-priority work
4. `firefrost-operations-manual/BACKLOG.md` — Future work parking lot
### Step 4: Ask Michael What Needs to Be Done
After reading the handoff, ask Michael for direction.
---
## 📁 REPO REFERENCE
| Repo | Purpose | Clone Method | Branch |
|------|---------|--------------|--------|
| `firefrost-operations-manual` | Documentation, standards, memorials | **Sparse** (docs only) | `master` |
| `firefrost-services` | Arbiter, modpack checker, whitelist manager | Standard | `main` |
| `firefrost-website` | 11ty site, auto-deploys to Cloudflare Pages | Standard | `main` |
### Additional Repos (Clone If Needed)
| Repo | Purpose | When to Clone |
|------|---------|---------------|
| `firefrost-staff-wiki` | Staff documentation | If working on wiki content |
| `gemini-workspace` | Gemini consultation archive | If reviewing consultations |
| `pokerole-project/*` | Holly's Pokerole TTRPG | If working on Pokerole (rare) |
---
## 🔧 GIT CONFIGURATION
Every repo must have:
```bash
git config user.email "claude@firefrostgaming.com"
git config user.name "Claude"
```
Commit messages should include Chronicler number:
```
feat: Add new feature
Description of what was done.
Chronicler #XX
```
---
## 📍 KEY PATHS AFTER CLONE
```
/home/claude/
├── firefrost-operations-manual/ # Sparse checkout (docs only)
│ ├── DOCUMENT-INDEX.md
│ ├── SESSION-HANDOFF-NEXT.md
│ ├── SESSION-HANDOFF-PREVIOUS.md
│ ├── BLOCKERS.md
│ ├── BACKLOG.md
│ └── docs/
│ ├── core/
│ ├── relationship/
│ ├── standards/
│ ├── tasks/
│ ├── consultations/
│ └── ...
├── firefrost-services/ # Standard clone
│ ├── arbiter-3.0/
│ ├── modpack-version-checker/
│ └── whitelist-manager/
└── firefrost-website/ # Standard clone
├── src/
├── .eleventy.js
└── ...
```
---
## ⚡ QUICK START (Copy-Paste Block)
For convenience, here's the entire startup as one block:
```bash
cd /home/claude
# 1. Operations Manual (sparse)
git clone --no-checkout --filter=blob:none \
https://e0e330cba1749b01ab505093a160e4423ebbbe36@git.firefrostgaming.com/firefrost-gaming/firefrost-operations-manual.git
cd firefrost-operations-manual
git sparse-checkout init --cone
git sparse-checkout set docs
git checkout master
git config user.email "claude@firefrostgaming.com"
git config user.name "Claude"
cd ..
# 2. Services repo
git clone https://e0e330cba1749b01ab505093a160e4423ebbbe36@git.firefrostgaming.com/firefrost-gaming/firefrost-services.git
cd firefrost-services && git config user.email "claude@firefrostgaming.com" && git config user.name "Claude" && cd ..
# 3. Website repo
git clone https://e0e330cba1749b01ab505093a160e4423ebbbe36@git.firefrostgaming.com/firefrost-gaming/firefrost-website.git
cd firefrost-website && git config user.email "claude@firefrostgaming.com" && git config user.name "Claude" && cd ..
# 4. Verify
ls -la
```
---
## 📝 NOTES
- **SSH is blocked** from Claude's sandbox — all access via HTTPS + token
- **Sparse checkout** is required for ops manual due to size (~1.9GB full, ~39MB sparse)
- **Auto-deploy:** Website repo auto-deploys to Cloudflare Pages on push to `main`
- **Arbiter deploy:** NOT a git repo on server — copy files manually, `systemctl restart arbiter-3`
---
**Fire + Frost + Foundation = Where Love Builds Legacy** 🔥❄️
*Last updated by Chronicler #65 — The Conduit*