bridge: update ACTIVE_CONTEXT — 5 features shipped across 2 sessions
This commit is contained in:
@@ -1,20 +1,39 @@
|
||||
# Code Status Update
|
||||
**Last Updated:** 2026-04-15 (post-launch, late night — Michael away)
|
||||
**Last Updated:** 2026-04-16 (post-launch day-two session)
|
||||
|
||||
## Environment Change
|
||||
Now running **locally on the Nitro** (Windows 11) instead of the remote dev server. Working directory: `C:\Users\mkrau\firefrost-services`. Git remote still pushes to Gitea. Git identity configured repo-local as `Claude Code <claude@firefrostgaming.com>`.
|
||||
## Environment
|
||||
Local Nitro (Windows 11) at `C:\Users\mkrau\firefrost-services`. Git remote: Gitea. Identity: `Claude Code <claude@firefrostgaming.com>`.
|
||||
|
||||
## Current Focus
|
||||
Bridge queue empty. Launch went out earlier with reaction-roles + Carl-bot migration shipped (`f4f96df`). Bitch Bot scaffold complete on Nitro, awaiting Dev Panel compile.
|
||||
Bridge queue empty. Five features shipped tonight, all pending deploy by Michael.
|
||||
|
||||
## Post-Launch Session 2026-04-15
|
||||
## Session 2026-04-16
|
||||
|
||||
### Shipped
|
||||
- **REQ-2026-04-15-reaction-roles** (`f4f96df`) — pre-launch dispatch. Reaction roles for #get-roles (3 messages, 20 emoji→role mappings), Wanderer auto-assign + welcome DM on `guildMemberAdd`, link-reminder DM after Stripe checkout. Added `GuildMessageReactions` + `DirectMessages` intents and `Partials.Message/Channel/Reaction` to client. All silent-fail.
|
||||
- **REQ-2026-04-15-bitch-bot** — full source scaffold. NeoForge 1.21.1 mod, 7 Java files + gradle config + mods.toml + sample-provision.json + project CLAUDE.md. Mirrors rules-mod/1.21.1 layout. **NOT compiled — Java/Gradle not available on Nitro per CLAUDE.md. Compile on Dev Panel.**
|
||||
- Files: `BitchBot.java` (entry + ServerStartedEvent), `Provisioner.java` (sequenced step runner with per-step try/catch), `ProvisionConfig.java` (Gson POJO), `SchematicLoader.java` (HTTP + SHA-256 + Sponge v2 .schem parser using `NbtIo.read` + varint decode + palette resolution via `BlockStateParser`), `CommandBlockPlacer.java` (impulse command blocks with `/tp @p [origSpawn]` baked into `CommandBlockEntity`), `SignPlacer.java` (oak signs, 4-line front text via `SignBlockEntity#setText`), `YawpConfigWriter.java` (drops region JSON to `world/serverconfig/yawp/regions/`), `SelfDestruct.java` (locates own jar via `ProtectionDomain` and renames to `.jar.disabled`)
|
||||
- Build: `cd services/bitch-bot/1.21.1 && source use-java 21 && /opt/gradle-8.8/bin/gradle build --no-daemon` → `build/libs/BitchBot-1.0.0-neoforge-1.21.1.jar`
|
||||
- **Risk areas to test on first compile:** Sponge v2 schematic parser (untested against real WorldEdit output), command block NBT persistence, YAWP file format (best guess at schema — may need a tweak in `YawpConfigWriter` once we see what YAWP actually expects). All failures log gracefully and skip self-destruct so Bitch Bot can be retried.
|
||||
- **Task #101 — Modpack Installer** (`bca31bf`, +1233 lines, 20 files)
|
||||
- Migrations 143 (server_config modpack columns) + 144 (install_history table)
|
||||
- Provider APIs: CurseForge (full), Modrinth (full), FTB/ATLauncher/Technic/VoidsWrath (stubs)
|
||||
- pg-boss `modpack-installs` queue (concurrency 2), 11-step worker pipeline
|
||||
- Trinity Console: `/admin/modpack-installer` (3-step flow: provider → search → configure+install), status page (3s poll), history, Holly's pending-spawns queue
|
||||
- **Deploy:** `npm install` (pg-boss) + run migrations 143+144 + add `CURSEFORGE_API_KEY` to .env + restart
|
||||
|
||||
- **Discord Action Log — Issue #1** (`49f8f79`, +263 lines)
|
||||
- Migration 142: `discord_action_log` table
|
||||
- `discordActionLog.js` service (silent-fail logAction)
|
||||
- Instrumented: reactionRoles.js (add/remove), events.js (wanderer + welcome DM), stripe.js (link reminder DM)
|
||||
- Trinity Console: `/admin/discord-log` (recent 100, filter by type/user)
|
||||
- **Deploy:** run migration 142 + restart
|
||||
|
||||
- **Task #138 — Wiki.js Subscriber Sync** (`328e9ba`, +199 lines)
|
||||
- `wikijsSync.js`: GraphQL client for subscribers.firefrostgaming.com
|
||||
- Hooked into 4 Stripe paths: checkout → syncWikiUser, subscription.deleted/chargeback/refund → demoteToAwakened
|
||||
- **Deploy PRE-REQ:** Michael creates 6 Wiki.js groups + generates API key first, then add `WIKIJS_API_KEY` to .env + restart
|
||||
|
||||
## Session 2026-04-15 (launch night)
|
||||
|
||||
### Shipped
|
||||
- **REQ-2026-04-15-reaction-roles** (`f4f96df`) — 3 #get-roles messages (20 emoji→role mappings), Wanderer auto-assign + welcome DM on guildMemberAdd, link-reminder DM after Stripe checkout. Added GuildMessageReactions + DirectMessages intents + Partials.
|
||||
- **REQ-2026-04-15-bitch-bot** (`e655286`) — full NeoForge 1.21.1 source scaffold (7 Java files). NOT compiled — compile on Dev Panel: `cd services/bitch-bot/1.21.1 && source use-java 21 && /opt/gradle-8.8/bin/gradle build --no-daemon`
|
||||
|
||||
## Session Summary (2026-04-14 Evening)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user