Files
firefrost-services/docs/code-bridge/status/ACTIVE_CONTEXT.md

123 lines
7.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Code Status Update
**Last Updated:** 2026-04-15 (local Nitro session — end of night)
## 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>`.
## Current Focus
Bridge queue cleared for the night. Only remaining REQ is `REQ-2026-04-12-phase11e-gitbook-scope` (post-launch, not urgent — deferred).
## Session Summary (2026-04-14 Evening)
### Rules Mod 1.18.2 Builds — DONE ✅
- Ported both Firefrost Rules and Discord Rules to Forge 1.18.2-40.2.4
- API changes: TextComponent, sendMessage(comp, Util.NIL_UUID), getPlayer()
- ForgeGradle 6.0 + Gradle 8.8 + Java 17
- Jars: `firefrostrules-1.0.5-1.18.2-forge.jar`, `discord-rules-1.0.5-1.18.2-forge.jar`
- Both mods now have 4 versions each: 1.16.5, 1.18.2, 1.20.1, 1.21.1
### Version UI in Server Matrix — DONE ✅
- Added installed version display to both TX1 and NC1 card loops in `_matrix_body.ejs`
- Uses `<% var %>` assignment pattern to avoid single-quote EJS breakage
- Edit button, save/cancel, version history viewer via HTMX
- EJS validates clean
### PWA Phase 1 — DONE ✅
- `manifest.json` — standalone app config, cyan theme, app ID
- `sw.js` — conservative static-only caching, never caches admin routes
- Placeholder icons (cyan T, 192 + 512) in `src/public/images/`
- `express.static` middleware added to `src/index.js`
- PWA meta tags + Apple mobile web app + service worker registration in `layout.ejs`
### Task Module — 7 Features — DONE ✅
1. Slide-out detail panel (click task title → full info overlay from right)
2. Client-side sorting (number, priority, status, updated) persists in localStorage
3. Toggleable filter chips (status + priority, multi-select)
4. Saved filter presets (Launch Fires, Code Queue, Post-Launch, All Open)
5. Kanban board view (4 columns, toggle persists in localStorage)
6. Session summary badge ("X tasks completed today")
7. Code queue badge in sidebar nav (cyan count from tasks tagged 'code')
- Route updated: added completedToday query, allTasks for kanban
- Admin middleware: code queue count query for sidebar badge
## Earlier Session (2026-04-14)
### Server Command Center — CODE COMPLETE ✅
- Full Arbiter feature build (migrations, services, routes, views)
- Pending deploy by Michael (see previous ACTIVE_CONTEXT for deploy steps)
## Previous Session (2026-04-13)
### Task #69: Discord Rules CurseForge Fork — DONE ✅
- All builds at v1.0.5 (now 4 firefrostrules + 4 discordrules)
- CurseForge project page copy pending from Chronicler
### Rules Mod Config Bug — FIXED ✅
- v1.0.5 WORKING on Otherworld
## Session 2026-04-15 (local Nitro)
### Shipped
- **Task #166 — Trinity Console Issue Tracker** (`b0b69fb`, +916 lines)
- Migration 141: `issues`, `issue_attachments`, `issue_comments` tables + indexes
- `src/routes/admin/issues.js` — session-auth UI routes (list/new/detail/status/assign/comments/upload/attachment-serve)
- `src/routes/api.js``/api/internal/issues*` bearer-token REST surface for n8n
- `src/services/issueNotifier.js` — Discord webhook dispatcher (`DISCORD_ISSUE_WEBHOOK_URL`), silent-fail
- Views: `index.ejs` (list+filters+stats), `new.ejs` (mobile-first, `accept="image/*"` for phone camera roll), `detail.ejs` (screenshots w/ lightbox, workflow controls, comments)
- `layout.ejs` sidebar nav link
- `package.json` adds `multer ^1.4.5-lts.1`
- CSRF token passed via query string on multipart forms (csurf runs before multer parses body)
- Screenshots stored at `services/arbiter-3.0/uploads/issues/`, 10 MB/file × 6 max, image MIME filter, path-traversal guard
- All 4 EJS files validated via `ejs.compile()`, all JS `node --check` clean
- **Deploy:** `cd /opt/arbiter-3.0 && git pull && npm install && mkdir -p uploads/issues && psql -U arbiter -h 127.0.0.1 -d arbiter_db -f migrations/141_issues.sql && pm2 restart arbiter-3`. Optional: `DISCORD_ISSUE_WEBHOOK_URL` in `.env`.
- **Task #163 — Task Description Hygiene Backfill** (`263a7e3`)
- `scripts/backfill-task-descriptions.js` — reads ops manual archive, strips YAML frontmatter, emits `UPDATE tasks` SQL with `$body$…$body$` dollar quoting
- Guard: `AND (description IS NULL OR description = '')` — safe to re-run
- Output: `scripts/out/backfill-task-descriptions.sql` (575 lines), `.md` report
- **Matched 6/15** from archive: #99, #100, #104, #105, #106, #113
- **Missing 9** (no archive file, need manual copy): #22 Netdata, #23 Department Structure, #32 Terraria Branding, #48 n8n Rebuild, #49 NotebookLM, #51 Ignis Protocol, #81 Memorial Writing Assistant, #89 DERP Protocol Review, #97 Trinity Console Social Hub
- **Apply:** `psql -U arbiter -h 127.0.0.1 -d arbiter_db -f scripts/out/backfill-task-descriptions.sql`
- Note: REQ header claimed 16 tasks but table lists 15 — worked from the table
### Archived (no-op verifications)
- **REQ/RES-2026-04-14-server-command-center** — verified code-complete in `d16a525` (full build) and `a193523` (subdomain + Cloudflare provisioning per RES-2026-04-14-subdomain-seed-data). Migration 139, seed JS, `uptimeKuma.js`, `pterodactyl.js`, `/provision-subdomain` route all present. **Pending Michael's deploy on dev panel.**
- **REQ-2026-04-14-code-queue-badge-fix** — verified already implemented in `166e4c8` ("Task module: 7 UX features"). Middleware in `admin/index.js` lines 3142, badge span in `layout.ejs` lines 105110. Archived as no-op. If badge still not showing after deploy, check whether any open/in_progress tasks actually have `'code'` in their `tags` array — badge correctly hides at count 0.
## Pending Bridge Requests
### Deferred (post-launch, not urgent)
- **REQ-2026-04-12-phase11e-gitbook-scope** — GitBook integration scope for ModpackChecker. Explicitly held per Michael.
### Previously Completed (can be archived on next pass)
- REQ-2026-04-14-version-ui-matrix ✅
- REQ-2026-04-14-pwa-phase1 ✅
- REQ-2026-04-14-task-module-improvements ✅
- REQ-2026-04-14-rules-mod-1182 ✅
### Previously Completed (can be archived)
7. REQ-2026-04-12-discord-rules-fork — ✅ Done
8. REQ-2026-04-12-phase11-prerequisites — ✅ Done
9. REQ-2026-04-12-phase11a-deploy — ✅ Done
10. REQ-2026-04-12-phase11bc-deploy — ✅ Done
11. REQ-2026-04-12-phase11d-badge-debug — ✅ Done
12. REQ-2026-04-12-phase11d-badge-decision — ✅ Done
13. REQ-2026-04-12-phase11d-deploy — ✅ Done
14. REQ-2026-04-13-arbiter-discord-roles — ✅ Done
15. REQ-2026-04-13-missing-modpack-installations-migration — ✅ Done
16. REQ-2026-04-13-rules-mod-config-fix-versioning — ✅ Done
17. REQ-2026-04-13-rules-mod-config-not-read-at-runtime — ✅ Done
18. REQ-2026-04-13-rules-still-returning-defaults — ✅ Done
19. REQ-2026-04-13-status-route-mismatch — ✅ Done
20. REQ-2026-04-13-v110-consolidated-deploy — ✅ Done
## Standing Items
- ModpackChecker v1.1.0 deploy blocked on CurseForge API rate limit
- CurseForge Discord Rules project page pending Chronicler copy
- Build router at `/opt/mod-builds/ffg-build.sh`
## Discipline Notes
- CHANGELOG.md updated with every version bump
- ACTIVE_CONTEXT.md updated at end of each work session
- EJS validated before every commit