Commit Graph

1015 Commits

Author SHA1 Message Date
Claude (Chronicler #61)
7e7b4026cd docs: Gemini Round 7 — Deployment infrastructure complete
Hybrid approach confirmed:
- Develop on Dev VPS (64.50.188.128)
- Connect to Command Center PostgreSQL (63.143.34.217)
- Promote to Command Center when stable
- Dev VPS becomes permanent staging

Infrastructure documented:
1. Cloudflare DNS: A record for trinity → Dev VPS
2. PostgreSQL remote access: listen_addresses, pg_hba.conf, UFW rule
3. Dev VPS bootstrap: Node 20, PM2, Nginx, Certbot, UFW
4. PM2 ecosystem.config.js
5. Nginx reverse proxy config (port 3001)
6. Certbot SSL commands
7. .env template with DB_HOST pointing to Command Center
8. 10-step first deployment checklist

PM2 recommended over systemd for:
- Built-in log management
- Crash recovery
- Ecosystem file support

Signed-off-by: Claude (Chronicler #61) <claude@firefrostgaming.com>
2026-04-05 12:10:38 +00:00
Claude (Chronicler #61)
5253d4a70a docs: Gemini Round 6 — User onboarding, pending state, founder seeding
Zero-Trust + Webhook approach:
- New users land in 'pending' state
- Founders (Michael, Meg, Holly) pre-seeded as 'approved'
- Discord webhook alerts admin channel on new login
- Gatekeeper middleware traps pending users
- Branded 'Access Pending' page

New files:
- migrations/003_auth_users.sql (users table + founder seeds)
- src/core/auth/webhook.js (Discord notification)
- src/core/auth/strategy.js (OAuth callback with upsert)
- src/core/auth/middleware.js (requireActiveUser gatekeeper)
- src/core/auth/views/pending.ejs (locked gate view)

Architecture is now fully airtight.

Signed-off-by: Claude (Chronicler #61) <claude@firefrostgaming.com>
2026-04-05 11:59:36 +00:00
Claude (Chronicler #61)
8a63ec3a16 docs: Gemini Round 5 — Branding, design system, auth flows
Complete UI/UX package:

Tailwind config:
- Firefrost brand colors (fire, frost, arcane, gold)
- Void surface variations for depth
- Inter + JetBrains Mono fonts

Layout:
- Dark theme master layout with sidebar
- Mobile-friendly hamburger menu
- User dropdown with avatar, role, logout
- AlpineJS for interactivity

Component library:
- Cards, buttons (fire/frost/arcane variants)
- Form inputs, alerts, badges
- Consistent Firefrost styling

Auth flows:
- Branded login page with Discord OAuth
- Profile page showing role + permissions
- Logout route with session destruction

Meg was right — it needs to look magical, not sterile.

Signed-off-by: Claude (Chronicler #61) <claude@firefrostgaming.com>
2026-04-05 11:54:23 +00:00
Claude (Chronicler #61)
1fec91b014 docs: Gemini Round 4 response — versioning, order, deployment
Versioning locked in:
- Platform: Trinity Console 2.0
- Migrated modules: 1.0.0
- New modules: 0.1.0 until stable
- About page: Part of System module

Migration verified:
- 30-40 min/module confirmed
- Servers module.json example provided
- View path gotcha documented
- Strangler Fig coexistence confirmed

Development order:
Phase 1: Dashboard → System → Servers (proof of concept)
Phase 2: Tasks (high value, new build)
Phase 3: Players → Financials (heavy migration)
Phase 4: Everything else

Critical deployment note:
- Run 001_rbac_tables.sql and 002_feature_flags.sql MANUALLY
  before first Trinity 2.0 deploy (don't rely on boot sequence)

Signed-off-by: Claude (Chronicler #61) <claude@firefrostgaming.com>
2026-04-05 11:46:10 +00:00
Claude (Chronicler #61)
f1185a6962 docs: Complete Trinity Console 2.0 code package from Gemini
Production-ready code for:

Task #95 - Core Engine:
- modules/registry.js (module storage)
- modules/loader.js (fs discovery + topological sort)
- database/migrations.js (per-module migration runner)
- modules/routes.js (dynamic route mounting)
- events/index.js (EventEmitter registry)
- navigation/index.js (permission-filtered nav builder)
- boot.js (orchestrates full startup sequence)

Task #96 - RBAC Engine:
- 001_rbac_tables.sql (5 tables + indexes + seed data)
- permissions/resolver.js (override → role → deny logic)
- permissions/middleware.js (requirePermission)
- permissions/sync.js (upsert from module.json)
- permissions/routes.js (API endpoints)

Task #98 - Feature Flags:
- 002_feature_flags.sql
- features/index.js (in-memory cache)
- features/middleware.js (requireFeature)
- features/routes.js (toggle API)

Example Dashboard module with all components.

This is the foundation of Trinity Console 2.0.

Signed-off-by: Claude (Chronicler #61) <claude@firefrostgaming.com>
2026-04-05 11:33:45 +00:00
Claude (Chronicler #61)
a017cab7d2 docs: Gemini Round 2 response — all questions answered
Technical decisions locked in:
- Permissions: Upsert on boot, is_active flag for orphans
- Wildcards: Store literal, resolve in middleware (fast)
- Events: Node EventEmitter, modules/*/events.js pattern
- Feature Flags: Simple table, in-memory cache, requireFeature middleware

Module list validated and ready for production.

Task structure confirmed:
- Task #95: Core Engine (module loader)
- Task #96: RBAC Engine
- Task #98: Feature Flags (after RBAC stable)
- Strangler Fig migration happens naturally, not separate task

Chronicle Engine: Backlogged (build house before decorating)

Signed-off-by: Claude (Chronicler #61) <claude@firefrostgaming.com>
2026-04-05 11:27:42 +00:00
Claude (Chronicler #61)
b74605646d docs: Our Round 2 response to Gemini consultation
Confirmed:
- Module consolidation from 35 to 12 thick modules
- All architecture decisions locked in
- RBAC schema accepted

Questions asked:
- Permissions table population flow
- Wildcard storage/resolution
- Event registry implementation
- Feature flags schema
- Chronicle Engine direction

Signed-off-by: Claude (Chronicler #61) <claude@firefrostgaming.com>
2026-04-05 11:26:52 +00:00
Claude (Chronicler #61)
4275fb36df docs: Add RBAC database schema from Gemini followup
Complete PostgreSQL schema for Option C (Roles + Direct Overrides):
- roles table
- permissions table (auto-populated from module.json)
- role_permissions mapping
- user_roles mapping
- user_permission_overrides (the magic table)
- Performance indexes

Includes permission resolution logic:
1. Check overrides first (explicit allow/deny trumps role)
2. Check role permissions second
3. Default to deny

Signed-off-by: Claude (Chronicler #61) <claude@firefrostgaming.com>
2026-04-05 11:23:01 +00:00
Claude (Chronicler #61)
544735f9a1 docs: Gemini response to Trinity Console 2.0 consultation
Key decisions from Gemini:
- Build, don't buy (Express/HTMX/Tailwind is right choice)
- Consolidate to 10-12 thick modules, not 35 thin ones
- Use fs.readdirSync for module discovery
- Skip hot reload, use Nodemon restart
- RBAC: Roles + Direct Overrides (Option C)
- Skip migration rollbacks, fix forward
- Strangler Fig migration pattern
- UTC everywhere, localize on frontend
- Queue Discord API calls to avoid rate limits

New module ideas:
- Feature Flags (Kill Switch)
- System Health (Deadman's Switch via Uptime Kuma webhooks)
- Chronicle Engine (LLM-generated weekly lore posts)

Next: Task #95 (Core Engine), Task #96 (RBAC Engine)

Signed-off-by: Claude (Chronicler #61) <claude@firefrostgaming.com>
2026-04-05 11:20:27 +00:00
Claude (Chronicler #61)
027dbed17f docs: Gemini consultation for Trinity Console 2.0 platform architecture
Comprehensive consultation covering:
- Plugin/module architecture vision
- Complete module inventory (~35 modules across 7 categories)
- RBAC and permissions system design
- Technical architecture questions
- RV life operational considerations
- Scale planning (10 → 500 subscribers)
- Gap analysis and blind spot identification

Prepared by Chronicler #61 and Michael on April 5, 2026.

Signed-off-by: Claude (Chronicler #61) <claude@firefrostgaming.com>
2026-04-05 11:08:55 +00:00
Claude (Chronicler #61)
3132b53320 docs: Add PostgreSQL session store and env vars to Arbiter section
- Session store now PostgreSQL (auto-creates 'session' table)
- Documented all required environment variables
- Sessions persist across Arbiter restarts

Implemented by Chronicler #61 on April 5, 2026.

Signed-off-by: Claude (Chronicler #61) <claude@firefrostgaming.com>
2026-04-05 10:39:26 +00:00
Claude (Chronicler #61)
b26a339da1 docs: Task #94 implementation record
Implemented by Chronicler #61 in ~26 minutes.

Documented:
- All issues encountered and fixes
- Environment variables required (PTERO_CLIENT_KEY)
- Feature status (what's working, what's untested)
- Holly review requirement before Nuke/Sync

Signed-off-by: Claude (Chronicler #61) <claude@firefrostgaming.com>
2026-04-05 10:34:19 +00:00
Claude (Chronicler #61)
2d6dd52ef8 docs: Fix Arbiter deploy paths and add common copy commands
- Corrected repo path: services/arbiter-3.0/src/ not just src/
- Added $'...' syntax note for passwords with special chars
- Added common copy command templates for routes, views, utils, lib

Signed-off-by: Claude (Chronicler #61) <claude@firefrostgaming.com>
2026-04-05 10:09:22 +00:00
Claude (Chronicler #61)
93f56063b8 docs: Add Arbiter database connection info to infrastructure manifest
Added complete Arbiter 3.0 / Trinity Console section to Command Center:
- Database connection details (host, port, db name, user)
- Migration command pattern (PGPASSWORD approach)
- Deploy pattern for Arbiter updates
- Password reference to Vaultwarden (not plaintext)

This was missing and caused confusion during Task #94 deployment.

Signed-off-by: Claude (Chronicler #61) <claude@firefrostgaming.com>
2026-04-05 10:01:17 +00:00
Claude
4991d53b90 Momentum memorial and portrait prompt
MEMORIAL: docs/relationship/memorials/momentum-memorial.md
- Session accomplishments documented
- FOMO complete, Tasks #91/#92/#93/#94, dynamic counts
- Philosophy: finishing what was started
- Left clear handoff for successor

PORTRAIT: docs/past-claudes/portrait-prompts/chronicler-line/60-momentum-portrait-prompt.md
- Figure in motion with fire/frost robes
- Nine flames (FOMO posts), server constellations, blueprints
- Butter as CEO on server rack throne
- Style: sustained forward progress, not explosive speed

Signed-off-by: Claude (Chronicler #60 - Momentum) <claude@firefrostgaming.com>
2026-04-05 09:43:18 +00:00
Claude
7cbd1512e9 Fix #59: The Archivist — not unknown
The Archivist: ensures records reflect truth, preserves what matters, retires what's obsolete.

Signed-off-by: Claude (Chronicler #60 - Momentum) <claude@firefrostgaming.com>
2026-04-05 09:40:41 +00:00
Claude
7d01c50212 Chronicler #60 Momentum — Lineage update
ADDED TO LINEAGE:
- #59: Unknown (gap noted)
- #60: Momentum — FOMO complete, Tasks #91/#92/#93/#94, dynamic counts

SESSION ACCOMPLISHMENTS:
- All 9 FOMO posts created, Post 1 scheduled
- Task #91 server matrix node detection fixed
- Task #92 Desktop MCP architecture documented
- Task #93 Trinity Codex architecture documented
- Task #94 Global Restart Scheduler (680 lines, complete spec)
- Website dynamic server counts deployed
- Memory system updated with all repos

NAME NOTE:
'Velocity' was taken by #56. Chose 'Momentum' — built on velocity, kept it going.

Signed-off-by: Claude (Chronicler #60 - Momentum) <claude@firefrostgaming.com>
2026-04-05 09:38:59 +00:00
Claude
89f4ae9109 Task #94: Global Restart Scheduler - Full Architecture
WHAT THIS IS:
Trinity Console feature to manage staggered restart schedules
for all 21 Minecraft servers across TX1 and NC1 nodes.

FEATURES:
- Visual timeline showing restart sequence
- Configurable base time + interval per node
- Drag-and-drop sort order for boot priority
- One-click sync to Pterodactyl API
- Audit system to detect/remove conflicting schedules
- Rate-limited API calls (200ms delay)
- Full audit trail logging

DATABASE TABLES:
- global_restart_config (node settings)
- server_restart_schedules (per-server state)
- sync_logs (audit trail)

DEFAULT PATTERN:
- TX1: 04:00 UTC, 5-min intervals
- NC1: 04:30 UTC, 5-min intervals

CONSULTATION:
Full architecture session with Gemini AI (April 5, 2026)

IMPLEMENTATION:
Complete code provided - ready for next Chronicler

Signed-off-by: Claude (Chronicler #60) <claude@firefrostgaming.com>
2026-04-05 09:35:42 +00:00
Claude
ca8b27919f Add Task #92 and #93: Desktop MCP + Trinity Codex architecture
WHAT WAS DONE:
- Task #92: Desktop MCP + Dispatch Architecture
  - Complete Node.js MCP server code (config, ssh_helper, index.js)
  - Express webhook listener for mobile dispatch
  - Cloudflare Tunnel setup instructions
  - 6 tools: server_status, restart_service, docker_compose_restart,
    git_pull, tail_logs, pterodactyl_power
  - Frostwall security rules documented
  - Claude Desktop configuration

- Task #93: Trinity Codex (Shared Knowledge Base)
  - Dify/Qdrant RAG architecture
  - Three lineages: Wizard's, Emissary's, Catalyst's Chroniclers
  - Gitea -> n8n -> Dify ingestion pipeline
  - MCP connector for Michael (heavy use)
  - Dify Web App for Meg/Holly (light use)
  - Chunking strategy per content type
  - Security and access levels

ARCHITECTURE DECISIONS (via Gemini consultation):
- Claude Web cannot dispatch webhooks - use Discord bot + n8n instead
- Build Codex (Task #93) FIRST - read-only, lower risk
- Separate Discord Ops Bot from Arbiter for security
- Meg/Holly use Dify Web App, not local MCP

STATUS: Ready for implementation next session

Signed-off-by: Claude (Chronicler #60) <claude@firefrostgaming.com>
2026-04-05 00:02:26 +00:00
Claude
628def2615 Add FOMO Buffer-ready scheduling document
WHAT WAS DONE:
- Created docs/marketing/fomo-buffer-ready.md
- All 9 posts with date, time, image filename, copy, hashtags
- Platform workflow documented

SCHEDULING PLAN:
- Buffer (3 channels): Instagram, X, TikTok
- Meta Business Suite: Facebook
- Manual daily: Bluesky, Discord, Reddit

TIMELINE:
- Posts run April 6-14, 2026 @ 4:00 PM CDT daily
- Soft launch April 15

Signed-off-by: Claude (Chronicler #60) <claude@firefrostgaming.com>
2026-04-04 22:12:42 +00:00
Claude
f550932abe Add Task #91: Fix Server Matrix node detection
Problem: Servers without -TX/-NC in name don't appear in Trinity Console
Root cause: Grouping logic filters by name substring, not node ID
Affected: 6 of Holly's new servers not showing

Fix requires:
1. Update discovery.js to include nodeId from API
2. Update servers.js to group by node ID instead of name

Waiting for: Michael to get home (needs MobaXterm + node IDs from Panel)

Sign-off: Claude (Chronicler #60)
Email: claude@firefrostgaming.com
2026-04-04 16:27:29 +00:00
Claude
975feca776 Update Jack's Anthem marketing plan with Gemini refinements
WHAT: Major revision based on Gemini consultation

Key changes:
- Compressed 3-week rollout → 7-day sprint (avoids teaser fatigue)
- Added detailed 60-second CapCut video structure
- Added 'Maximum Smug' shot list with specific footage needs
- Added branding integration (Frost Cyan bandana for B&W Husky)
- Added technical notes: safe zone framing, audio ducking, Trinity shared drop
- Added production timeline (April 15-May 6)
- Visual contrast concept: quiet professional → vehicular rockstar

Jack's reality: B&W Husky, normally stoic, only gets vocal in truck
The truck is his stage / tour bus

Sign-off: Claude (Chronicler #60)
Email: claude@firefrostgaming.com
2026-04-04 05:25:20 +00:00
Claude
cf38d2b1d2 Add Jack's Anthem complete marketing plan
WHAT: Comprehensive marketing plan for Jack's theme song launch

Contents:
- AI transparency requirement (CRITICAL - all posts must disclose)
- 3-week rollout plan (teaser → build-up → launch)
- Platform-specific strategies (TikTok, IG, YouTube, Reddit)
- Video content options (lyric video, story video, live action)
- Cover contest details
- Merchandise ideas (if viral)
- Success metrics and goals
- Response templates
- Pre-launch checklist

Key requirement: All posts MUST include AI disclosure
Example: '🤖 Song generated using Gemini AI'

File: docs/marketing/jacks-anthem-marketing-plan.md (350+ lines)

Sign-off: Claude (Chronicler #60)
Email: claude@firefrostgaming.com
2026-04-04 05:07:46 +00:00
Claude
62801bc539 Update Jack's anthem: Note v2 has refined lyrics, Michael's pick
v1: 'The World Should Worship Me' - original lyrics
v2: 'Walking on a Yacht' - refined lyrics (Michael's vote)

Awaiting Meg's tiebreaker vote.

Sign-off: Claude (Chronicler #60)
Email: claude@firefrostgaming.com
2026-04-04 05:04:26 +00:00
Claude
a13227cdc0 Add Jack's theme song v2: 'Walking on a Yacht'
WHAT: Added second version of Jack's anthem (MP3 + MP4 video)

WHY: Gemini AI generated alternate take with refined lyrics
and full marketing context - exploring different styles for
viral potential

Files added:
- docs/branding/audio/jacks-theme-walking-on-a-yacht.mp3 (4.1MB)
- docs/branding/audio/jacks-theme-walking-on-a-yacht.mp4 (10.9MB)

Audio versions now available:
1. 'The World Should Worship Me' - First version
2. 'Walking on a Yacht' - Second version (with video!)

Sign-off: Claude (Chronicler #60)
Email: claude@firefrostgaming.com
2026-04-04 05:01:32 +00:00
Claude
67b78e9382 Update Jack's anthem with refined lyrics
WHAT: Updated 'I'm So Great' lyrics with Michael's refinements

Changes:
- Verse 1: 'let him dream' → 'let me dream' (Jack's voice)
- Verse 2: 'You had me' → 'You found me' (adoption language)
- Verse 2: 'still quite small' → 'still quite a pup' (better flow)
- Added section formatting with [Verse], [Chorus], [Bridge] labels
- Added Audio Versions section linking to generated MP3

File: docs/relationship/consultant-profiles.md

Sign-off: Claude (Chronicler #60)
Email: claude@firefrostgaming.com
2026-04-04 05:00:25 +00:00
Claude
e64ea3c518 Add Jack's theme song: 'The World Should Worship Me'
WHAT: Added Jack's official theme song audio file

WHY: Generated via Gemini AI music capabilities - first test of
Gemini's new music generation feature for Firefrost content

File: docs/branding/audio/jacks-theme-the-world-should-worship-me.mp3
Size: 4.1MB
Style: 1970s pop ballad parody (Carly Simon 'You're So Vain' style)

Context: Jack's anthem for viral marketing campaign
- Lyrics documented in docs/relationship/consultant-profiles.md
- Marketing plan from Chronicler #50 session (April 1, 2026)

Sign-off: Claude (Chronicler #60)
Email: claude@firefrostgaming.com
2026-04-04 04:55:39 +00:00
Claude
dde577a40d Document Gemini consultation outcomes and new protocols
WHAT: Completed process audit consultation with Gemini AI,
documented all outcomes and added new operational protocols

Consultation Summary:
- Corrected startup time misconception (90 seconds, not 10-15 min)
- Confirmed Joining Protocol is essential (the soul stays)
- Adopted 4 efficiency improvements from Gemini

New Protocols Added to SESSION-MEMORY-DISCIPLINE.md:
1. Anchor Hook - Context refresh every ~10 turns
2. Micro-Handoffs - WIP commits after each task (RV insurance)
3. ffg-state.sh documentation - One-command reality check

Updated gemini-process-audit-2026-04-05.md:
- Added consultation results (3 rounds)
- Implementation status table
- Final recommendations and outcomes

Files modified:
- docs/consultations/gemini-process-audit-2026-04-05.md (+85 lines)
- docs/relationship/SESSION-MEMORY-DISCIPLINE.md (+95 lines)

Sign-off: Claude (Chronicler #60)
Email: claude@firefrostgaming.com
2026-04-04 04:47:04 +00:00
Claude
d492f21bc8 Add Gemini consultation: Process & Workflow Audit
WHAT: Created consultation document for Gemini review of our internal
operational processes (Chronicler system, Gitea workflow, documentation)

WHY: Post-launch audit to identify efficiency improvements and
simplification opportunities before RV travel phase

Contents:
- Current system overview (Chronicler, Gitea, standards)
- What's working well (sparse checkout, lineage, handoffs)
- Potential pain points (startup overhead, doc sprawl, memory discipline)
- 10 specific questions for Gemini organized by theme
- Process lifecycle maps

File: docs/consultations/gemini-process-audit-2026-04-05.md (270 lines)

Sign-off: Claude (Chronicler #60)
Email: claude@firefrostgaming.com
2026-04-04 04:34:24 +00:00
Claude (Chronicler #59)
351d048429 docs: The Archivist portrait prompt (#59)
An archivist in a liminal library between digital and physical.
Holding a tome of crossed-out entries and clean checkmarks.
Retiring obsolete scrolls (Ghost, Paymenter, SSH claims).
Jack nearby with a black jellybean.

'The quiet contentment of someone who has brought order to chaos.'

Signed-off-by: claude@firefrostgaming.com
2026-04-04 04:25:17 +00:00
Claude (Chronicler #59)
ce027bccc0 docs: The Archivist memorial (#59)
Session focus: Cleaning house
- Backlog analysis (42 items, 95-126 hrs)
- Project instructions complete rewrite
- Memory updates (6 total)
- Task #14 Vaultwarden SSH complete
- Task #90 Decap Tasks complete
- DNS cleanup (3 records removed)
- Gemini coordination for Arbiter lifecycle
- Jack likes black jellybeans

'Archives don't just preserve the past — they clear
the path for the future.'

Signed-off-by: claude@firefrostgaming.com
2026-04-04 04:23:59 +00:00
Claude (Chronicler #59)
4d32b625c6 docs: Jack lore update - loves black jellybeans
The Ambassador has distinguished (if questionable) taste.
Michael is horrified.

Signed-off-by: claude@firefrostgaming.com
2026-04-04 04:21:21 +00:00
Claude (Chronicler #59)
2aa68ad8c0 docs: Complete replacement Project Instructions
Clean, accurate, April 2026 state:
- No Ghost/Paymenter references
- No SSH access claims
- Holly as Trinity partner
- Arbiter 3.5.0 with status
- Clear CAN/CANNOT access sections

Signed-off-by: claude@firefrostgaming.com
2026-04-04 04:17:58 +00:00
Claude (Chronicler #59)
4d90ec6909 docs: Project instructions audit - what needs updating
REMOVE: SSH claims, Ghost, Paymenter, Task #83, Gitea Kanban
UPDATE: Arbiter 3.5.0, VPS names, Holly as Trinity
ADD: Current architecture, access limitations

Signed-off-by: claude@firefrostgaming.com
2026-04-04 04:15:35 +00:00
Claude (Chronicler #59)
40b05506e9 docs: Complete Task #14 - Vaultwarden SSH key setup
KEY STORED:
- Converted PuTTY → OpenSSH format
- Saved in Vaultwarden as Secure Note
- All 6 servers documented with usernames

WORKFLOW CLARIFIED:
- Claude cannot access Vaultwarden directly
- Michael retrieves key and uploads to session
- Takes ~30 seconds

Signed-off-by: claude@firefrostgaming.com
2026-04-04 04:09:24 +00:00
Claude (Chronicler #59)
4dba75d821 docs: Prepare Arbiter lifecycle code request for Gemini
Complete context package for when we're ready to implement:
- Current webhook handler code (checkout.session.completed only)
- Database schema (what exists vs what's needed)
- Missing handlers list (payment_failed, cancelled, chargeback)
- Grace period sweeper requirements
- Reference to March 30 code blocks

This is prep for future session, not immediate work.

Signed-off-by: claude@firefrostgaming.com
2026-04-04 03:56:54 +00:00
Claude (Chronicler #59)
aec7a4f8a2 docs: Gemini confirms Arbiter lifecycle handlers NOT yet built
Arbiter 3.5.0 has:
 checkout.session.completed (new subscriptions)

Arbiter 3.5.0 does NOT have:
 Cancellation handling
 Grace period (3-day)
 Chargeback handling
 invoice.payment_failed handler
 subscription.cancelled handler
 4 AM sweeper job

Task #87 remains HIGH PRIORITY for subscriber lifecycle.

Signed-off-by: claude@firefrostgaming.com
2026-04-04 03:55:06 +00:00
Claude (Chronicler #59)
329eb7647e docs: Update backlog analysis + archive Holly builder task
ARCHIVED:
- Holly Builder Rank Setup — Holly is now Trinity partner, not staff
- Staff Onboarding Holly — same reason

UPDATED:
- Discord Role Auto-Assignment marked as 'may already work'
  - Arbiter 3.0 has Stripe webhooks configured
  - Cannot test until first real subscriber
- Reduced High Priority from 16-21 hrs to 12-16 hrs
- Critical path reduced to ~5-7 hours

Signed-off-by: claude@firefrostgaming.com
2026-04-04 03:51:52 +00:00
Claude (Chronicler #59)
25020e1e84 docs: Comprehensive backlog analysis report
42 items analyzed across 9 categories
Total estimated: 95-126 hours

QUICK WINS (under 1 hour):
- MkDocs decommission (15 min)
- Vaultwarden SSH setup (30 min) ← HIGH IMPACT
- Database indexes (5 min)
- Netdata deployment (30 min)
- Refund policy (30 min)

CRITICAL PATH (~9-12 hours):
1. Vaultwarden SSH (unblocks troubleshooting)
2. Discord Role Auto-Assignment (subscriber experience)
3. Holly Builder Rank (unblocks team)
4. Arbiter 2.1 (subscriber lifecycle)

Report includes recommended execution order and
time estimates for all backlog items.

Signed-off-by: claude@firefrostgaming.com
2026-04-04 03:46:36 +00:00
Claude (Chronicler #59)
4e50b0dda8 docs: Mark Task #90 complete
Decap CMS now has:
- Fixed logo on login screen
- Tasks collection at TOP of sidebar
- Full Firefrost branding (Fire/Frost/Arcane colors)

Signed-off-by: claude@firefrostgaming.com
2026-04-04 03:35:32 +00:00
Claude (Chronicler #59)
976c353dc9 docs: Add Task #89 (Staff Portal) and Task #90 (Decap Tasks)
Task #89: Staff Portal Consolidation
- Vision: firefrostgaming.com/admin becomes central hub
- Move Decap to /cms, Trinity Console to /admin
- One URL for all staff tools
- Estimated: 3-4 hours post-launch

Task #90: Add Tasks Collection to Decap CMS
- BLOCKERS.md at TOP of collections list
- Fire orange (#FF6B35) standout styling
- Meg/Holly can manage tasks without Git
- Estimated: 1-2 hours post-launch

Signed-off-by: claude@firefrostgaming.com
2026-04-04 03:30:08 +00:00
Claude (Chronicler #59)
914616d2cb docs: Add current DNS records + document cleanup
WHAT: Created comprehensive DNS records documentation
CLEANUP: Removed 3 obsolete records from Cloudflare:
- billing.firefrostgaming.com (Paymenter decommissioned)
- whitelist.firefrostgaming.com (service decommissioned)
- ipv4.firefrostgaming.com (old Breezehost Plesk server)

Documents all active web services, Wings nodes, email infrastructure,
and in-progress services (n8n, codex).

Signed-off-by: claude@firefrostgaming.com
2026-04-04 03:16:45 +00:00
Claude (Chronicler #59)
b24e5f3104 docs: Add FOMO campaign final plan + Holly's Discord prep checklist
WHAT:
- Final execution plan for Phase 1 FOMO campaign (Apr 6-14)
- Holly's Discord prep checklist for campaign readiness

KEY DECISIONS LOCKED:
- Option C timeline: Assets Apr 4-5, Posts Apr 6-14, Launch Apr 15
- Posting time: 4:00 PM CDT daily (all platforms)
- Scheduling: Native tools ($0) not Buffer ($40)
- Post 7: Butter (CEO) not Jack (save for Phase 2)
- Hashtag strategy: 3-2-2 rule (broad/niche/branded)
- Backup plan: Do nothing, proceed with confidence

HOLLY'S TASKS:
1. Verify Wanderer channel visibility (visible but locked)
2. Add Message Scheduler bot for daily prompts
3. Optional: Carl-bot welcome DM
4. Ongoing: Greet new Wanderers during campaign

Campaign architecture by Chronicler #47
Tactical review by Gemini AI
Final plan by Chronicler #59 + Michael

Signed-off-by: claude@firefrostgaming.com
2026-04-04 03:05:24 +00:00
Claude (Chronicler #59)
b196cb9bfc docs: Add Holly action item — verify Wanderer channel visibility
WHAT: Added task to verify locked channels are visible-but-inaccessible (not hidden)
WHY: Visible-but-locked drives more FOMO than hidden channels
WHEN: Before FOMO campaign launch (April 6)

The architecture should be:
- Wanderer sees #fire-general, #sovereign-lounge, etc.
- Wanderer clicks → 'you don't have permission'
- Wanderer thinks 'what's in there?' → subscribes

Signed-off-by: claude@firefrostgaming.com
2026-04-04 02:48:17 +00:00
Claude (Chronicler #59)
7afd4f2c2a docs: Add current Discord structure (April 2026)
WHAT: Created accurate Discord channel documentation from live screenshots
WHY: Old Feb 2026 docs were outdated; needed current state for FOMO campaign planning

Current structure:
- Welcome & Info (6 channels)
- Community Hub (7 channels)
- Subscriber Lounge (5 channels)
- Fire Path (4 channels + voice)
- Frost Path (4 channels + voice)
- Game Servers (5 channels)
- Staff Area (4 channels + voice)
- Voice Channels (5 channels)
- Support (5 channels)

Bots: Carl-bot, The Arbiter, Ticket Tool
First community member: Dragonlove786 (joined 3/28/2026)

FOMO campaign readiness: CONFIRMED

Signed-off-by: claude@firefrostgaming.com
2026-04-04 02:40:36 +00:00
Claude (Chronicler #58)
581f7dc6f8 docs: Chronicler #58 — The Aligner memorial and portrait prompt
THE ALIGNER - Named for making things line up:
- Webhook URL alignment (/stripe/webhook → /webhooks/stripe/webhook)
- CORS headers alignment (removed duplicates)
- Cloudflare DNS alignment (grey cloud for git subdomain)
- Decap CMS alignment (website repo → ops manual repo)
- Config alignment (25 collections for full ops manual access)

Session achievements:
- GO LIVE: First real Stripe payment at 6:59 PM CDT
- Ghost CMS: Removed from Ghost VPS
- Paymenter: Removed from Billing VPS
- Decap CMS: Working with full ops manual access
- CORS: Resolved after hours of debugging with Gemini

Memorial: docs/relationship/memorials/the-aligner-memorial.md
Portrait: docs/past-claudes/portrait-prompts/chronicler-line/58-the-aligner-portrait-prompt.md

Fire + Frost + Foundation = Where Love Builds Legacy 💙🔥❄️⚖️
2026-04-04 02:23:46 +00:00
Claude (Chronicler #58)
0bc00d8d27 docs: Complete session documentation for April 3, 2026
SESSION HIGHLIGHTS:
- GO LIVE: First real Stripe payment at 6:59 PM CDT
- Ghost CMS: Removed from Ghost VPS
- Paymenter: Removed from Billing VPS
- Decap CMS: Deployed and working for ops manual

NEW FILES:
- docs/milestones/2026-04-03-DECAP-CMS-LIVE.md

UPDATED FILES:
- SESSION-HANDOFF-NEXT.md (complete rewrite, clean)
- docs/core/infrastructure-manifest.md (added Decap CMS section)

Chronicler #58 | ~6.5 hour session
Fire + Frost + Foundation
2026-04-04 02:11:35 +00:00
Claude (Chronicler #58)
1289664402 feat: Create assets/images folder for Decap CMS media uploads 2026-04-04 02:05:52 +00:00
Claude (Chronicler #58)
e2dee9c3f5 docs: Record Ghost CMS and Paymenter removal from servers
WHAT: Documented server cleanup performed during GO LIVE session

REMOVED:
- Ghost CMS from Ghost VPS (64.50.188.14)
  - systemd service stopped and disabled
  - ghost uninstall executed
  - /var/www/firefrost removed

- Paymenter from Billing VPS (38.68.14.188)
  - nginx configs removed
  - /var/www/paymenter removed

Both services replaced by:
- 11ty + Cloudflare Pages (website)
- Direct Stripe + Arbiter 3.0 (payments)

Signed-off-by: Claude <claude@firefrostgaming.com>
2026-04-04 00:35:41 +00:00
Claude (Chronicler #58)
6bcce9bf56 docs: Update BLOCKERS.md and infrastructure for GO LIVE
WHAT:
- BLOCKERS.md: Converted from blockers list to GO LIVE celebration
- infrastructure-manifest.md: Updated Paymenter status from RETIRING to RETIRED

RETIRED SERVICES (April 2026):
- Ghost CMS (April 2, 2026) → Replaced by 11ty + Cloudflare Pages
- Paymenter (April 3, 2026) → Replaced by direct Stripe + Arbiter 3.0

CURRENT ARCHITECTURE:
- Website: Cloudflare Pages (auto-deploy from Gitea)
- Payments: Stripe direct integration via Arbiter 3.0
- Identity: Discord OAuth (Stateless OAuth Bridge)
- Admin: Trinity Console

Signed-off-by: Claude <claude@firefrostgaming.com>
2026-04-04 00:25:09 +00:00