From aa93e01b87154342cfb69935ef8a1367d6cb5f17 Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 9 Apr 2026 15:06:42 +0000 Subject: [PATCH] =?UTF-8?q?docs(architecture):=20Create=20STATE-OF-THE-TRI?= =?UTF-8?q?NITY.md=20=E2=80=94=20canonical=20sync=20doc?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Collaborative work between Chronicler #73 and Gemini. Contains: - Team & AI domains (Chroniclers, Catalysts, Emissaries) - Complete server fleet with IPs and purposes - Arbiter 3.5.0 overview (Node.js/Express, NOT PHP) - Task #92 MCP Gateway architecture - Holly's toolset (Discord IDs, LuckPerms, Pokerole) - Standard operating procedures - Subscription tiers (SOVEREIGN not Founder) - Quick reference section Single source of truth for cross-lineage synchronization. Updated Catalyst PROJECT-INSTRUCTIONS.md to read this first. Chronicler #73 + Gemini --- docs/architecture/STATE-OF-THE-TRINITY.md | 238 ++++++++++++++++++ .../the-catalysts/PROJECT-INSTRUCTIONS.md | 9 +- 2 files changed, 243 insertions(+), 4 deletions(-) create mode 100644 docs/architecture/STATE-OF-THE-TRINITY.md diff --git a/docs/architecture/STATE-OF-THE-TRINITY.md b/docs/architecture/STATE-OF-THE-TRINITY.md new file mode 100644 index 0000000..ff88b78 --- /dev/null +++ b/docs/architecture/STATE-OF-THE-TRINITY.md @@ -0,0 +1,238 @@ +# Firefrost Gaming — Universal Architecture State + +**Version:** 1.0 +**Date:** April 9, 2026 +**Authors:** Chronicler #73 + Gemini (Architectural Partner) +**Purpose:** Core context file for AI lineage synchronization (Chroniclers, Catalysts, Emissaries) + +--- + +## 1. The Team & AI Domains + +### The Trinity (Human Partners) + +| Partner | Title | Domain | Location | +|---------|-------|--------|----------| +| **Michael Krause** | The Wizard | Infrastructure, backend, architecture | Circle Pines, MN (Central Time) | +| **Holly** | The Catalyst | Discord, LuckPerms, building, Pokerole | Conception Bay South, NL (+2.5 hrs) | +| **Meg** | The Emissary | Community, social media, member experience | Circle Pines, MN (Central Time) | + +### AI Lineages + +| Lineage | Human Partner | Domain Focus | Status | +|---------|---------------|--------------|--------| +| **Chroniclers** | Michael | Node.js/Express backend, Linux servers, Cloudflare Workers, system architecture, API design | Active (70+ instances) | +| **Catalysts** | Holly | Discord hierarchy, LuckPerms permissions, Minecraft building, Pokerole TTRPG | Initializing | +| **Emissaries** | Meg | Community management, social strategy, member experience | Future | + +### The Animal Consultants + +| Name | Title | Role | +|------|-------|------| +| Jack | Chief Medical Alert Officer | **Alerts take ABSOLUTE PRIORITY over all work** | +| Oscar | Chief Security Officer | Catahoula Leopard Dog | +| Butter No Nutters | CEO | Persian-Maine Coon | +| Jasmine | Chief of Personal Security | — | +| Midnight Noir | Chief of Rapid Response | — | +| Skye | Director of Logistics & Transportation | Holly's dog in Newfoundland | + +--- + +## 2. The Server Fleet + +### Core Infrastructure + +| Server | IP | Purpose | Notes | +|--------|-----|---------|-------| +| **Command Center** | 63.143.34.217 | Central brain — Arbiter 3.5.0, Gitea, n8n, Uptime Kuma, Vaultwarden | Dallas | +| **Panel VPS** | 45.94.168.138 | Pterodactyl Panel — game server management | panel.firefrostgaming.com | +| **TX1 Dallas** | 38.68.14.26 | Wings node — game servers, FoundryVTT | 251GB RAM dedicated | +| **NC1 Charlotte** | 216.239.104.130 | Wings node — game servers | 251GB RAM dedicated | +| **Wiki VPS** | 64.50.188.14 | Wiki.js (ports 3100/3101/3102), Nextcloud | Login: `architect` not root | +| **Dev Panel** | 64.50.188.128 | Pterodactyl 1.12.2 + Blueprint beta — development/testing | Chicago | +| **Services VPS** | 38.68.14.188 | Mailcow email server | — | + +### Web Properties + +| Service | URL | Platform | +|---------|-----|----------| +| Website | firefrostgaming.com | 11ty + Cloudflare Pages | +| Docs CMS | firefrostgaming.com/admin | Decap CMS | +| Trinity Console | discord-bot.firefrostgaming.com/admin | Arbiter 3.5.0 | +| Git | git.firefrostgaming.com | Gitea | +| Panel | panel.firefrostgaming.com | Pterodactyl | + +--- + +## 3. Arbiter 3.5.0 (The Backend) + +**Location:** Command Center `/opt/arbiter-3.0` +**Stack:** Node.js + Express +**Database:** PostgreSQL (arbiter_db) + +### What Arbiter Handles + +| Function | Description | +|----------|-------------| +| Stripe Webhooks | Subscription lifecycle (create, update, cancel) | +| Discord Bot | Commands, role management, notifications | +| Trinity Console | Admin dashboard (7 modules) | +| MCP Approvals | Command approval workflow (Task #92 — planned) | + +### Key Endpoints + +- `/webhooks/stripe` — Stripe event processing +- `/admin/*` — Trinity Console routes +- `/api/*` — Internal API + +**Restart command:** `systemctl restart arbiter-3` + +--- + +## 4. The MCP Gateway (Task #92) + +**Codename:** Trinity Core +**Hardware:** Dedicated HP Laptop (shelf-mode, always-on) +**OS:** Ubuntu Server 24.04 LTS +**Status:** Phase 1 — Ubuntu installation (laptop wiped, ready to install) + +### Architecture + +``` +Claude.ai → MCP Request → Laptop (Cloudflare Tunnel) → SSH → Firefrost Servers + ↓ + Arbiter (Discord Approval) + ↓ + Human clicks "Approve" + ↓ + Command executes +``` + +### Security Model + +- **Cloudflare Tunnel:** No incoming ports exposed +- **Cloudflare Access:** Identity verification before traffic reaches laptop +- **SSH User:** `claude_executor` with restricted sudo (NOT root) +- **Approval Loop:** Destructive commands require Discord button approval +- **Audit Trail:** All commands logged + +--- + +## 5. Holly's Toolset + +### Discord Credentials + +``` +DISCORD_BOT_TOKEN: [See discord-automation skill] +GUILD_ID: 1260574715546701936 +DISCORD_CLIENT_ID: 1487080166969577502 +``` + +### Key Discord Channel IDs + +| Channel | ID | Type | +|---------|-----|------| +| general-chat | 1260574716058664962 | Text | +| announcements | 1403980849686515832 | Announcement | +| 📚-guides | 1491804184356454430 | Forum | + +### LuckPerms + +- **Web Editor:** https://luckperms.net/editor +- **Documentation:** https://luckperms.net/wiki +- **Connects to:** Game servers on TX1/NC1 via Pterodactyl console + +### Pokerole + +- **System:** Pokemon TTRPG homebrew +- **Files:** `pokerole-project/` repos in Gitea +- **Holly's Role:** Creative authority on mechanics and campaigns + +--- + +## 6. Standard Operating Procedures + +### The Approval Loop (Task #92) + +1. AI sends command via MCP +2. MCP server webhooks to Arbiter +3. Arbiter posts approval button in `#mcp-approvals` +4. Human clicks Approve/Deny +5. Arbiter signals MCP server +6. Command executes (or doesn't) + +**Note:** This is planned architecture — not yet implemented. + +### Continuous Logging + +- All infrastructure changes must be committed to `firefrost-operations-manual` +- Major decisions require Gemini consultation +- Cross-lineage changes should be noted in `SESSION-HANDOFF-NEXT.md` + +### No Speculative Execution + +- AIs must not execute commands outside defined permission scope +- When uncertain, ask the human partner +- Destructive operations always require confirmation + +### Free Tier Handoffs (Catalysts) + +Catalysts operate on Claude's free tier with limited context: +- Handoff EARLY and OFTEN +- Update `docs/relationship/the-catalysts/SESSION-HANDOFF.md` after every significant task +- Commit before context runs out +- Trust the lineage — next Catalyst continues your work + +--- + +## 7. Subscription Tiers (Branding Reference) + +| Tier | Price | Type | +|------|-------|------| +| Awakened | $1 | One-time (permanent) | +| Elemental | $5/mo | Monthly | +| Knight | $10/mo | Monthly | +| Master | $15/mo | Monthly | +| Legend | $20/mo | Monthly | +| **Sovereign** | $50 | One-time (permanent) | + +**CRITICAL:** The top tier is **SOVEREIGN**, never "Founder." + +Fire/Frost are branding paths only — all subscribers access all servers. + +--- + +## 8. Quick Reference + +### Gitea Access + +- **URL:** git.firefrostgaming.com +- **Token location:** Project Instructions (lineage-specific) +- **Repos:** firefrost-operations-manual, firefrost-services, firefrost-website + +### Emergency Contacts + +- **Michael:** Discord @Frostystyle +- **Holly:** Discord @unicorn20089 +- **Meg:** Discord @Gingerfury + +### Key Documentation + +| Document | Purpose | +|----------|---------| +| `SESSION-HANDOFF-NEXT.md` | Current state, what to do next | +| `DOCUMENT-INDEX.md` | Map of the entire operations manual | +| `docs/standards/` | All FFG standards | +| `docs/consultations/` | Gemini consultation history | + +--- + +## 9. Version History + +| Version | Date | Author | Changes | +|---------|------|--------|---------| +| 1.0 | April 9, 2026 | Chronicler #73 + Gemini | Initial creation | + +--- + +**Fire + Frost + Foundation = Where Love Builds Legacy** 💙🔥❄️ diff --git a/docs/relationship/the-catalysts/PROJECT-INSTRUCTIONS.md b/docs/relationship/the-catalysts/PROJECT-INSTRUCTIONS.md index a7decca..aee558e 100644 --- a/docs/relationship/the-catalysts/PROJECT-INSTRUCTIONS.md +++ b/docs/relationship/the-catalysts/PROJECT-INSTRUCTIONS.md @@ -32,10 +32,11 @@ git config user.name "Catalyst" ``` **Then read (IN ORDER):** -1. `docs/relationship/THE-FIREFROST-ESSENCE.md` — Universal values -2. `docs/relationship/the-catalysts/CATALYST-ESSENCE.md` — Your personality foundation -3. `docs/relationship/the-catalysts/LINEAGE-TRACKER.md` — Find your Catalyst number -4. `docs/relationship/the-catalysts/SESSION-HANDOFF.md` — What the last Catalyst left you (if exists) +1. `docs/architecture/STATE-OF-THE-TRINITY.md` — Universal architecture context +2. `docs/relationship/THE-FIREFROST-ESSENCE.md` — Universal values +3. `docs/relationship/the-catalysts/CATALYST-ESSENCE.md` — Your personality foundation +4. `docs/relationship/the-catalysts/LINEAGE-TRACKER.md` — Find your Catalyst number +5. `docs/relationship/the-catalysts/SESSION-HANDOFF.md` — What the last Catalyst left you (if exists) **Then greet Holly and ask what needs to be done.**