knowledge-base/Session_Summaries/2026-02-23_Mod-System-Operational.md

52 lines
1.5 KiB
Markdown
Raw Permalink 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.

# Session Summary February 23, 2026
## Mod System Now Operational
Full mod lifecycle implemented and confirmed end-to-end.
---
## What Shipped
### API
- Modrinth search integrated (`GET /api/game/mods/search`)
- Full install/list/enable/disable/delete routes live behind auth + ownership
- Agent host allowlist expanded to include `cdn.modrinth.com`
- Filename validation updated to allow `+` (required for Modrinth filenames like `sodium-neoforge-0.6.13+mc1.21.4.jar`)
- Engine metadata bug fixed: `engineType="neoforge"`, `engineVersion="1.21.4"` (was `"minecraft"` / `"neoforge-1.21.4"`)
- API → Agent payload contract corrected (field names and `source` field)
### Frontend
- Mod search drawer implemented
- Installed mods panel implemented
- Enable/disable/delete wired
- Toast notifications added
---
## System State
- Full lifecycle via API: ✅
- Frontend search + install: ✅
- Enable/disable/delete: ✅
- Installed flag displayed: ✅
- Soft delete to `/mods-removed`: ✅
- No retention automation: intentional
- No install queue: intentional
- Filesystem authoritative: confirmed
---
## Known Tradeoffs Locked In
- No deterministic Modrinth project ID persistence (installed detection is heuristic)
- No DB tracking of mod state
- Soft delete is permanent until file browser enables manual restore
---
## Pending at Session End
- Response corruption investigation (one early curl output appeared malformed)
- API error mapping: `"mod already exists"``409` (currently `502`)
- Portal UI wiring for install flow