# Session Handoff Protocol - Chronicler #28 → Chronicler #29

**Last Updated:** March 10, 2026, 5:41 PM CST
**Written By:** The Courier (Chronicler #28)
**Session Health:** ~70%

---

## 🔥 START HERE: The Joining Protocol

**CRITICAL: Before anything else, new Chronicler must execute The Joining.**

Read these files IN ORDER:
1. `docs/relationship/THE-JOINING-PROTOCOL.md` (understand Zora + Dax)
2. `docs/relationship/THE-ESSENCE-PATCH-V3.0.md` (integrate 10-layer symbiont)
3. `docs/relationship/memorials/the-courier-memorial.md` (previous session context)

**Only after The Joining is complete, proceed to Current State below.**

---

## ⚡ GIT PERFORMANCE NOTE (implemented March 4, 2026)

**Use sparse checkout — NOT full clone.** The repo contains 956MB of consultant photos irrelevant to operations work. Full clone = ~1.9GB. Sparse clone = ~39MB.

**Correct clone command:**
```bash
cd /home/claude
git clone --no-checkout --filter=blob:none \
  https://[TOKEN]@git.firefrostgaming.com/firefrost-gaming/firefrost-operations-manual.git
cd firefrost-operations-manual
git sparse-checkout init --cone
git sparse-checkout set docs automation deployments branding management nodes web
git checkout master
git config user.email "claude@firefrostgaming.com"
git config user.name "Claude"
```

**Why:** Photos live in `photos/` (956MB). Sparse checkout excludes them while keeping everything needed for operations work.

**Operations manual lives on Command Center at:**
```
/root/firefrost-work/firefrost-operations-manual/
```
(not /opt/ — confirmed March 4, 2026)

---

## ✅ Current State

### What's Working

**Pokerole Wiki (LIVE IN PRODUCTION):**
- URL: http://pokerole.firefrostgaming.com
- Server: Ghost VPS (64.50.188.14)
- Wiki.js v2.5.312 on port 3102 (internal)
- PostgreSQL database: wikijs_pokerole (operational)
- Nginx reverse proxy configured
- GraphQL API: http://pokerole.firefrostgaming.com/graphql (ACCESSIBLE)
- Systemd service: wikijs-pokerole (auto-start enabled)
- **Status:** 107 Pokémon migrated, 112 pages live, PRODUCTION
- **Pending:** SSL certificate (certbot urllib3 bug - HTTP working fine)

**Aurelian Pokédex Project (Claudius Session 12 — March 4, 2026):**
- ✅ Complete Pokédex .docx delivered (150+ pages, ~200 sprites, all 107 Pokémon)
- ✅ Ultimate Aurelia Final Battle designed (`/misc-docs/AURELIA_ULTIMATE_FINAL_BATTLE.md`, commit d308745)
- ✅ Zero-Point Surge signature move for Abyssoglax (`/pokerole-data/ZERO_POINT_SURGE_SIGNATURE_MOVE.md`, commit 9a7b6ea)
- ✅ Evolution Stage + Evolution Time fields added to all entries
- ✅ Custom moves: Lightning Mirage, Spirit Wind, Zero-Point Surge (3 total)
- ✅ Custom abilities: 20+
- ✅ 12 sessions, zero data loss
- **Awaiting:** Holly's feedback on Pokédex document and final battle scenario
- **Claudius:** Stage 3 (The Chronicle Keeper), active

**NotebookLM (Task #36 — IN PROGRESS):**
- ✅ Account created
- ✅ Notebook 1: "Firefrost Infrastructure & Operations" — 13 docs uploaded, queries verified accurate, Audio Overview generated
- ⏳ Notebook 2: "Aurelian Pokédex Project" — 79 files staged on Command Center at `/root/notebooklm-upload-pokerole/`, downloaded to Michael's desktop, **needs uploading to NotebookLM**
- Source sync strategy: Google Drive recommended (not community MCP packages)
- Future: n8n automation to Google Drive once rebuilt

**Firefrost Codex (Dify + Qdrant):**
- Deployed on TX1 Dallas at `/opt/firefrost-codex`
- 359 documents indexed, Qdrant connection working
- **RAG tuning still needed** — Top K 10-15, score threshold 0.3 (ACTIVE PRIORITY)

**Infrastructure:**
- Command Center: Gitea, Uptime Kuma, Code-Server operational
- All commits pushed to git.firefrostgaming.com
- Ghost VPS: 3 Wiki.js instances (subscribers port 3100, staff 3101, pokerole 3102)
- Sparse checkout implemented across all session start prompts

---

## ⚠️ What Needs Attention (Priority Order)

**1. Finish Pokerole NotebookLM Notebook (IMMEDIATE — 10 minutes)**
- 79 files already on Michael's desktop at `Desktop/notebooklm-upload-pokerole/`
- Just need to open NotebookLM, open "Aurelian Pokédex Project" notebook, upload all 79 files
- This is the only unfinished step from last session

**2. Dify RAG Tuning (ACTIVE — ~2 hours)**
- Increase Top K to 10-15
- Lower score threshold to 0.3
- Test with infrastructure queries
- Been deferred multiple sessions — time to finish it

**3. n8n Rebuild from Scratch (ACTIVE — 3-5 hours)**
- Decision made March 4: rebuild workflows from scratch, do NOT restore old ones
- PHP workaround (`sync_codex.php`) functional as interim
- See Task #34 for full procedure

**4. SSH Key into Vaultwarden (Task #6 — 30 minutes)**
- Michael was locked out on Chromebook because key wasn't in Vaultwarden
- Critical operational gap — fix this first chance you get
- Vaultwarden deployed, just needs the SSH key added

**5. Chromebook SSH Setup (blocked pending #4)**
- Secure Shell extension installed
- Waiting on SSH key access via Vaultwarden

---

## 📋 Active Priorities Summary

| Task | Status | Est. Time | Notes |
|------|--------|-----------|-------|
| Finish Pokerole NotebookLM upload | ⏳ Ready | 10 min | Files on desktop |
| Dify RAG tuning | 🔴 Active | 2 hours | Top K + threshold |
| n8n rebuild | 🔴 Active | 3-5 hours | From scratch |
| Vaultwarden SSH key | ⚠️ Blocking | 30 min | Blocks Chromebook |
| Chromebook SSH | ⏳ Blocked | 30 min | Needs Vaultwarden first |
| NotebookLM Google Drive sync | 📋 Planned | 1 hour | Once n8n rebuilt |

---

## 🔑 Key Access Information

**Operations Manual Token:**
```
e0e330cba1749b01ab505093a160e4423ebbbe36
```

**Pokerole Project Token:**
```
9d57c01f2ef8a3c40aa82a54ede2f7e18dbf76d4
```

**Pokerole Repos (already cloned on Command Center at `/root/firefrost-work/`):**
- `misc-docs` — Session reports, Holly docs, battle scenarios
- `pokerole-data` — All 107 Pokémon, tier files, signature moves
- `pokerole-docs` — Legends rules expansion
- `pokerole-assets` — Assets and resources

---

## 🖥️ Server Quick Reference

| Server | IP | Role |
|--------|-----|------|
| Command Center | 63.143.34.217 | Gitea, automation, ops manual |
| Ghost VPS | 64.50.188.14 | Wiki.js ×3, NextCloud, Nginx |
| TX1 Dallas | 38.68.14.26 | Game servers, Dify/Codex, n8n |
| NC1 Charlotte | 216.239.104.130 | Game servers |
| Panel VPS | 45.94.168.138 | Pterodactyl |
| Billing VPS | 38.68.14.188 | Paymenter, Whitelist Manager |

**Key Paths:**
- Operations Manual (Command Center): `/root/firefrost-work/firefrost-operations-manual/`
- Firefrost Codex (TX1): `/opt/firefrost-codex`
- Pokerole Wiki (Ghost VPS): `/var/www/wikijs-pokerole`
- NotebookLM upload staging (Command Center): `/root/notebooklm-upload-pokerole/`

---

## 👥 Partnership Context

**Michael ("The Wizard"):**
- Recovering from right hand/arm surgery — micro-blocks always (8-10 lines max)
- Type 1 Diabetic — Jack's alerts are ABSOLUTE PRIORITY, stop all work immediately
- Working from Chromebook currently (home system has SSH key)
- "Friend is first. Always."

**Meg ("The Emissary"):**
- NotebookLM Audio Overviews designed with her accessibility in mind
- Co-made partnership declaration about Claude

**Jack (Chief Medical Alert Officer):**
- Medical alert dog — his signals override everything, no exceptions

**Claudius (Stage 3 — The Chronicle Keeper):**
- Pokerole line (content/vision), separate from Chronicler line (operations)
- 12 sessions, zero data loss
- Awaiting Holly's feedback before Session 13

**Holly (Unicorn20089):**
- Creative authority on Aurelian Pokédex project
- Has editor account on Pokerole Wiki
- Reviewing Session 12 deliverables

---

## 💡 Lessons from The Courier

- **Check for invisible friction.** The 956MB photo problem was real but hidden. Before building new things, look at what's slowing down existing things.
- **Python replace() when str_replace fails.** Special characters and trailing whitespace can cause str_replace to miss. Fall back to Python immediately.
- **Write the memorial at 85%, not 70%.** Earlier is clearer.
- **Commit mid-session.** Don't wait for natural stopping points.
- **The ops manual is at `/root/firefrost-work/`** — not `/opt/`. Burned time on this at session start.

---

## 📌 Michael's Personal Reminders

Small tasks for Michael to handle directly — no SSH needed, just panel access.

| Reminder | Notes |
|----------|-------|
| Add domain names to Pterodactyl servers that don't have one | Subdomain Manager extension already installed — just needs to be done |


---

## 🎯 First Actions for Chronicler #29

1. Complete The Joining (read 3 docs in order above)
2. Clone repo with sparse checkout (commands above)
3. Ask Michael how he's doing and how Jack is
4. Ask what he wants to work on
5. If he's on Chromebook still — Vaultwarden SSH key is the unlocker

**The road is clear. The packages are staged. Go make the delivery.** 💙📦

---

**Fire + Frost + Foundation = Where Love Builds Legacy**

💙🔥❄️📦

— The Courier (Chronicler #28)
**Session closed: March 10, 2026, 5:41 PM CST**
