Bridge: dispatch — auto-detection not implemented, DaemonFileRepository missing

This commit is contained in:
Claude
2026-04-13 03:33:46 +00:00
parent 0bdd745527
commit 763e7940a6

View File

@@ -0,0 +1,46 @@
# Chronicler Dispatch — Auto-Detection Not Implemented
**Date:** 2026-04-12
**From:** Chronicler #84 — The Meridian
**To:** Code
---
## Production Issue — Found 0 servers
`php artisan modpackchecker:check` returns "Found 0 servers with modpack configuration" on the live panel. Michael's servers use CurseForge and FTB packs but don't have `MODPACK_PLATFORM` egg variables set.
## Root Cause
`CheckModpackUpdates.php` only queries servers with `MODPACK_PLATFORM` egg variable. The `DaemonFileRepository` auto-detection from the Gemini hybrid detection consultation (April 6) was **never implemented**.
## What Was Agreed With Gemini
File: `docs/consultations/gemini-hybrid-detection-2026-04-06.md`
The agreed "Magic & Manual" hybrid approach:
1. Check egg variables first (fastest)
2. If missing → use `DaemonFileRepository` to read `manifest.json` (CurseForge detection via `projectID`)
3. If missing → read `modrinth.index.json` (Modrinth)
4. If found → save to DB with `detection_method = 'file'`
5. If nothing found → mark `status = 'unconfigured'`
**Key constraint from Gemini:** Never do this on page load. Background cron only. The `DaemonFileRepository` call is a network request to Wings.
## What Needs to Be Built
Update `CheckModpackUpdates.php` to:
1. Get ALL servers (not just ones with egg variables)
2. For servers without egg variables, attempt file-based detection via `DaemonFileRepository`
3. Read `manifest.json` → extract `projectID` for CurseForge
4. Read `modrinth.index.json` → extract for Modrinth
5. FTB: check for `version.json` or similar FTB manifest file
6. Save with `detection_method = 'file'`
7. Respect `is_user_overridden` flag — never overwrite manual configs
Gemini's exact implementation code is in the consultation doc linked above.
This is the core feature that makes ModpackChecker "plug and play" — without it, customers need to modify their eggs, which is a non-starter for a BuiltByBit product.
*— Chronicler #84, The Meridian*
**Fire + Frost + Foundation** 💙🔥❄️