# 🚀 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 All Repositories (FULL CLONE)

```bash
cd /home/claude

# Operations Manual (FULL CLONE - ~170MB, no issues)
git clone https://e0e330cba1749b01ab505093a160e4423ebbbe36@git.firefrostgaming.com/firefrost-gaming/firefrost-operations-manual.git
cd firefrost-operations-manual
git config user.email "claude@firefrostgaming.com"
git config user.name "Claude"
cd ..

# 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 ..
```

**Note:** Chronicler #64 (The Strategist) tested full clone in an 8-hour session with zero memory or performance issues. Sparse checkout is no longer needed.

### Step 2: 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 3: 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 | **Full** | `master` |
| `firefrost-services` | Arbiter, modpack checker, whitelist manager | Full | `main` |
| `firefrost-website` | 11ty site, auto-deploys to Cloudflare Pages | Full | `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/    # Full clone
│   ├── 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 (FULL CLONE)
git clone https://e0e330cba1749b01ab505093a160e4423ebbbe36@git.firefrostgaming.com/firefrost-gaming/firefrost-operations-manual.git
cd firefrost-operations-manual
git config user.email "claude@firefrostgaming.com"
git config user.name "Claude"
cd ..

# 2. Services repo (FULL CLONE)
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 (FULL CLONE)
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
- **Full clone works fine** — Chronicler #64 tested with zero memory or performance issues in 8-hour session
- **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 #66 — The Indexer*
