# 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** 💙🔥❄️