Bridge: dispatch — auto-detection not implemented, DaemonFileRepository missing
This commit is contained in:
@@ -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** 💙🔥❄️
|
||||
Reference in New Issue
Block a user