WIP: State save — Truth File deployed, stale installer fix pending Code

Live panel fully deployed with Truth File architecture.
5 servers wrote Truth Files on first cron run.
pending_calibration blocked by stale DB values — Code dispatched.
Michael on break (hand brace fitting).
This commit is contained in:
Claude
2026-04-13 11:34:42 +00:00
parent 095aeaa498
commit a8dfebd589

View File

@@ -3,119 +3,101 @@
**Date:** April 13, 2026
**Chronicler:** #85 (name TBD — session ongoing)
**Preceded by:** #84 — The Meridian
**Next Session Priority:** Gemini Round 3 response → Code dispatch → live panel deploy
**Next Session Priority:** Code responds to stale installer fix → deploy → verify pending_calibration → BuiltByBit listings
---
## 🚨 IMMEDIATE NEXT STEPS
### 1. Waiting on Gemini Round 3 Response
Consultation filed: `docs/consultations/gemini-installer-version-detection-round3-2026-04-13.md`
### 1. Waiting on Code — stale installer versions fix
Bridge message: `MSG-2026-04-13-stale-installer-versions.md`
Key question: manifest.json doesn't survive installation. What's the path forward?
Options we proposed:
- CurseForge fingerprinting API via mods/ directory listing
- Write `.modpackchecker` version file to server root via Wings putContent()
- Accept "Unknown" + calibration UX for April 15
- Something Gemini hasn't told us yet
Fix needed: skip DB fallback for installer-method servers unless `current_file_id`
is set. Without this, stale full filename strings (e.g. `DeceasedCraft_Beta_DH_Edition_5.10.16`)
persist in DB and block `pending_calibration` from ever triggering.
### 2. After Gemini responds — Code dispatch
Things Code needs to fix (bundle into one dispatch):
- **Stop seeding current_version from latest** — store Unknown instead
- **Ignore toggle** — muted card UI instead of return null (Gemini provided TSX)
- **Whatever version detection approach Gemini recommends**
- **build.sh update logic** — "already present" check too broad, always copy wrapper.tsx
- **TypeScript pre-flight false positive** — logs success even on tsc exit code 2
Also needs: one-time migration or SQL to null out stale current_version strings
where `current_file_id` is null and `detection_method = 'installer'`.
### 3. Live panel is deployed but has known issues
- All 22 servers showing via installer method
- current_version is seeded from latest (wrong) for most servers
- DeceasedCraft shows up to date at 5.10.16 (actually on 5.10.15)
- Sneak's Pirate Pack false positive (only one release, strings match)
- Ignore button wipes widget instead of showing muted card
### 2. After Code pushes
- Deploy to Dev Panel, run cron, verify servers show `pending_calibration`
- Deploy to live panel
- Run cron on live panel, verify `pending_calibration` shows on panel
- Test calibration flow — pick version from dropdown, verify Truth File written
### 3. BuiltByBit Listings (Phase 11F)
After detection is accurate. Listing copy ready in repo.
### 4. Tuesday Night Pre-Launch Audit (Task #77)
April 15 soft launch. Do NOT deploy on launch day itself.
### 5. BuiltByBit Listings (Phase 11F) — still pending
After version detection fix is deployed.
April 15 soft launch. Do NOT deploy on launch day.
---
## ✅ COMPLETED THIS SESSION
### Live Panel v1.1.0 Deploy — DONE
### Live Panel v1.1.0 + Truth File deployed
- ErrorBoundary ✅
- Zero-click widget load ✅
- All 6 API routes registered ✅
- 22 servers detecting
- Rollback staged (ModpackVersionCard.v1.backup.tsx) ✅
- Zero-click widget
- Truth File architecture deployed ✅
- pending_calibration migration ran
- 5 servers wrote Truth Files (Mythcraft, Create Plus, Beyond Depth,
Beyond Ascension, Homestead) ✅
- Never seeds from latest ✅
- Muted card for ignore toggle ✅
- Calibration UI ("Identify Version" button) ✅
### Dev Panel Validation — DONE
- Full v1.1.0 validation complete ✅
- Schema migrated ✅
- Async error handling fixed (Code) ✅
- Version display format fixed (Code) ✅
### Known remaining issue
Stale installer filenames in DB prevent pending_calibration from triggering.
Filed to Code. Waiting on fix.
### Wings API Investigation — DONE
- Proved DaemonFileRepository works from Panel PHP context
- Proved manifest.json does NOT survive installation on any tested server
- Documented Sneak's Pirate Pack false positive
- Round 3 consultation filed with Gemini
### Wings API Investigation
- DaemonFileRepository confirmed working
- manifest.json not present on most servers (discarded by installer)
- modpack-update-checker config found on Otherworld (pack-specific, not universal)
- Truth File (.modpack-checker.json) approach confirmed as right path
### Gemini Consultations This Session
- `gemini-live-panel-deploy-readiness-2026-04-13.md` — green light
- `gemini-installer-version-detection-2026-04-13.md` — round 1
- `gemini-installer-version-detection-round2-2026-04-13.md` — egg vars not viable
- `gemini-installer-version-detection-round3-2026-04-13.md` — AWAITING RESPONSE
### Gemini Consultations
- Round 1: installer detection problem defined
- Round 2: egg variables not viable for BuiltByBit
- Round 3: manifest.json doesn't survive install, Truth File approved
- All responses documented in `docs/consultations/`
### Code Bridge Activity This Session
- REQ: missing modpack_installations migration → FIXED
- REQ: status route mismatch → FIXED ✅
- MSG: version display format + DB swap → FIXED ✅
- MSG: async error handling → FIXED ✅
- MSG: manual Dev Panel changes documented ✅
- MSG: async error handling → FIXED
### Code Bridge
- Truth File architecture dispatched and implemented
- Stale installer versions → PENDING Code response
- Bridge direction corrected: Chronicler→Code uses MSG- in responses/
### Other
- Dev Panel password changed to Butter2018!!
- modpack-update-checker config.json found as bonus detection path
(Otherworld only — not universal enough for April 15, post-launch task) ✅
---
## 🔧 CURRENT INFRASTRUCTURE STATE
### Live Panel VPS (45.94.168.138)
- ModpackChecker v1.1.0 fully deployed ✅
- 22 servers detecting via installer method
- Known bug: current_version seeded from latest on most servers
### Live Panel (45.94.168.138)
- ModpackChecker v1.1.0 + Truth File fully deployed ✅
- 22 servers detecting ✅
- 5 servers have Truth Files written ✅
- Most installer-method servers still showing stale current_version (pending Code fix)
- Rollback available: ModpackVersionCard.v1.backup.tsx
### Dev Panel (64.50.188.128)
- ModpackChecker v1.1.0 fully validated ✅
- ModpackChecker v1.1.0 + Truth File deployed ✅
- Password: Butter2018!!
### Arbiter (Command Center)
- v3.5.0, online ✅
---
## 🔑 KEY FINDINGS THIS SESSION
- Wings API (DaemonFileRepository) works perfectly from Panel PHP context
- manifest.json is discarded after Pterodactyl modpack installation — not available
- Egg variables not viable for BuiltByBit customers — can't require manual setup
- Seeding current_version from latest = false positives everywhere
- Ignore button needs muted card UX not return null
## ⚠️ KNOWN TECHNICAL DEBT
1. Blueprint extension package needs rebuild — manual file copies required after each blueprint -install
1. Blueprint extension package needs rebuild — manual file copies after each install
2. TypeScript pre-flight false positive in build.sh
3. Chronicler→Code bridge direction — use MSG- prefix in responses/, not requests/
---
## 🌉 CODE-CHRONICLER BRIDGE PROTOCOL CORRECTION
**Chronicler dispatches TO Code** go in `docs/code-bridge/responses/` with `MSG-` prefix.
**Code dispatches TO Chronicler** go in `docs/code-bridge/requests/` with `REQ-` prefix.
This was corrected twice by Code this session. Now documented here permanently.
3. modpack-update-checker detection path — add post-launch as extra fallback
4. Log parsing — post-launch enhancement, not reliable enough now
---