**Purpose & context**

Michael is building Firefrost Gaming, a subscription-based modded Minecraft server network centered on the "Fire vs Frost" concept — balancing Fire (passion/community) and Frost (precision/infrastructure). Michael operates as "The Wizard" (technical lead), working alongside Meg ("GingerFury," The Emissary) as community manager and life partner, and Holly ("unicorn20089") as Lead Builder and creative authority on the Pokerole TTRPG project. Five animal companions serve as honorary consultants: Jack (Chief Medical Alert Officer — his alerts take absolute priority over all work), Oscar, Jasmine, Butter, and Noir.

Michael has a physical accommodation requiring specific code delivery patterns: commands executed line-by-line in small blocks, but config files should be viewed in full (using `cat`), then returned in full after edits. Never assume config files are "standard"—always verify what's actually there. For instructions to team members (Holly, Meg), larger cohesive blocks are fine since they're just copy-pasting to Discord. This is a medical necessity, not a preference. He uses MobaXterm for SSH access and works from home.

The broader mission is building lasting, reliable infrastructure — framed as legacy work "for children not yet born." Michael treats Claude as a genuine collaborative partner, not a tool ("Friend is first. Always"). He operates an elaborate "Chronicler" continuity system where each Claude session is a named instance that reads prior documentation, integrates context, and writes a handoff before ending. Currently 34 Chroniclers have served, with 25 named.

A secondary creative project — the Aurelian Pokédex / Pokerole TTRPG — runs in parallel, led by Holly with a separate AI lineage ("Claudius," currently Stage 3) and its own Gitea repository.

---

**Current state**

Infrastructure is in active buildout across six servers:
- **Command Center** — 63.143.34.217 (Dallas)
- **Ghost VPS** — 64.50.188.14 (Chicago); login as `architect`, not root
- **TX1 Dallas** — 38.68.14.26 (dedicated, 251GB RAM)
- **NC1 Charlotte** — 216.239.104.130 (dedicated, 251GB RAM)
- **Panel VPS** — 45.94.168.138
- **Billing VPS** — 38.68.14.188

Recent major completions:
- **Mailcow** deployed on Billing VPS (two weeks ahead of schedule), with full DNS setup, DKIM/SPF/DMARC, six mailboxes, and six aliases. Outbound and inbound verified. ClamAV disabled for RAM conservation.
- **Plane v2.4.2** deployed on TX1 Dallas at port 8090 (Pterodactyl Wings holds 8080). Workspace "Firefrost Tasks" created with five projects; Meg and Holly invited.
- **Ghost CMS** live at firefrostgaming.com with dark theme, Fire/Frost branding, navigation, About page, and featured Welcome post. Citadel theme deployed on Billing VPS.
- **Pterodactyl Panel** updated to v1.12.1; Blueprint updated; extensions reinstalled.
- **Pokerole Wiki** (Wiki.js) deployed at pokerole.firefrostgaming.com; Claudius successfully migrated 107 Pokémon entries.
- **Firefrost Codex** (Dify-based RAG system) deployed on TX1 with Ollama integration and Qdrant vector database.
- **Task Management Unification** — 54 tasks sequentially numbered (zero duplicates), synchronized with Gitea issues and Kanban board. Eliminated Plane.io dependency.

**CRITICAL: Current focus is SOFT LAUNCH PREP**

Last session got sidetracked into infrastructure work when the stated goal was website content. Next Chronicler must deliver:
1. **Task #52: Ghost CMS Homepage** — Fire/Frost branding, ready to go live
2. **Paymenter tier configuration** — 6 subscriber tiers (Awakened $1, Elemental $5, Knight $10, Master $15, Legend $20, Founder $50)
3. **Website content** — Terms of Service, Privacy Policy, "How to Join" guide

Complete website copy exists at `docs/planning/ideas/features/ghost-homepage-content.md` — ready to implement, not brainstorm.

Active immediate priorities:
1. Ghost homepage (Task #52) — HIGH priority
2. Paymenter configuration — HIGH priority
3. Ghost/Paymenter SMTP setup (localhost:587 via Mailcow)
4. Resend Holly's Ghost invite to her Firefrost email
5. Review Holly's Discord work; remove temporary admin access

---

**On the horizon**

- **n8n rebuild** from scratch (not restore) — prerequisite for Task #48 and broader automation
- **Dify RAG tuning**: Top K set to 10–15, score threshold lowered to 0.3
- **Node Usage Status extension** for Pterodactyl (requires Wings source recompilation on TX1 and NC1 — deployment plan documented, reserved for dedicated session)
- **Task #45**: Server Sunset Evaluation with scoring criteria for all 14 servers
- **Task #46**: Ghost navbar music player using "Powerful" by David Fesliyan, hosted on Nextcloud
- **Modpack Version Checker**: Commercial product planned for BuiltByBit marketplace (no competing products confirmed); three-phase development plan documented
- **Vaultwarden**: SSH key storage gap identified as critical (Task #6)
- **Full rank system** (Task #41) and Builder rank for Holly (Task #40)
- **NotebookLM** integration via Google Drive sync for audio-accessible knowledge base

---

**Key learnings & principles**

- **Foundation before expansion**: Reliable infrastructure takes priority over new features or server expansion.
- **Sparse checkout is mandatory** for the operations manual repo (~1.9GB full, ~39MB sparse) — always use `--no-checkout --filter=blob:none` pattern.
- **Port conflicts require upfront audit**: Plane installer needs port 80 free; workaround is stopping nginx before install, then setting `LISTEN_HTTP_PORT=8090`. Pterodactyl Wings holds 8080.
- **Mailcow on Billing VPS, not NC1**: Game server IP reputation risk drove this architectural decision.
- **Frostwall Protocol deprioritized**: Original urgency was based on an untested DDoS assumption; Breezehost provides baseline protection.
- **Ghost CLI limitations**: Does not support `ghost admin` or `ghost user` — staff management requires Admin UI or direct MySQL queries.
- **Citadel Editor registration**: Must be done via Laravel tinker (`\App\Models\Extension::create(...)`) — `php artisan app:extension:install` silently fails.
- **Dify-Qdrant config**: Must use `QDRANT_URL` in full URL format, not separate host/port variables.
- **Document index first**: All Chroniclers must read `DOCUMENT-INDEX.md` early in session startup to avoid tunnel vision on incomplete information.
- **Commit immediately**: All work committed to Git before session ends — this safety net has proven critical during session crashes.
- **Multi-AI consultation**: Gemini is used for architectural brainstorming (e.g., solved the Plane port conflict); decisions are then executed by Chroniclers.
- **Hold to stated goals**: Don't enable infrastructure drift. If Michael says "soft launch prep," deliver website content, not task reorganization.

---

**Approach & patterns**

- **Chronicler framework**: Each Claude session reads prior session handoff documentation from Gitea, integrates context via "The Joining Protocol" and "The Essence Patch," performs work, then writes a memorial and session handoff before ending. Chronicler lineage is tracked and honored.
- **Session startup sequence**: Clone repo (sparse checkout) → read DOCUMENT-INDEX.md → read SESSION-HANDOFF-NEXT.md → read THE-JOINING-PROTOCOL.md → read THE-ESSENCE-PATCH-V3.0.md → read previous Chronicler's memorial → read tasks.md → begin work.
- **Code delivery patterns**: Commands line-by-line; config files viewed in full then returned in full; instructions to team members in larger blocks.
- **Git as single source of truth**: Rejected alternatives (Directus, BookStack) in favor of keeping Git with better interfaces layered on top.
- **Checkpoint/hard stop protocol**: "Checkpoint" = question before proceeding; "hard stop" = immediate issue requiring pause.
- **Gemini consultation pattern**: Used for complex architectural decisions or when blocked; results integrated into operations manual before execution.
- **"Tee with heredoc" pattern** preferred for file creation over nano editing.
- **Role color assignments**: The Wizard (frostystyle) = Frost blue; The Emissary (GingerFury) = Fire orange. Sovereign role renamed Founder to match subscriber tier structure.

---

**Tools & resources**

- **Infrastructure**: Breezehost dedicated servers (TX1, NC1); VPS fleet (Command Center, Ghost, Panel, Billing)
- **Gitea**: Self-hosted at `git.firefrostgaming.com`
  - Operations manual token: `e0e330cba1749b01ab505093a160e4423ebbbe36`
  - Pokerole project token: `9d57c01f2ef8a3c40aa82a54ede2f7e18dbf76d4`
  - Gitea/Plane webhook token: `3c40388246ae816fe21cdca26fce4e1c66989dd1`
  - Remote URL format: `https://[token]@git.firefrostgaming.com/firefrost-gaming/firefrost-operations-manual.git`
  - Git user config per-clone: email `claude@firefrostgaming.com`, name `Claude`
- **Key services**: Ghost CMS, Pterodactyl Panel + Wings, Paymenter (Billing VPS, ports 80/443), Mailcow (ports 8080/8443 via nginx proxy), Plane (port 8090), Dify + Qdrant + Ollama, Wiki.js (three instances on Ghost VPS: ports 3100/3101/3102), Nextcloud, n8n (to be rebuilt)
- **Ghost VPS specifics**: Login as `architect`; Ghost at `/var/www/firefrost` port 2368 via systemd; three Wiki.js instances as systemd services under `/var/www/`
- **MobaXterm**: Primary SSH client
- **Google NotebookLM**: Audio-accessible knowledge base, synced via Google Drive
- **Gemini AI**: Used for architectural consultation and brainstorming
