# MAGATAMA UI / Cache / RunPod / Tooltip / Changelog Fix Date: 2026-05-06 Author: Codex ## Scope Addressed the current MAGATAMA operator complaints in one block: - training UI still showed `1097` - findings page looked blank - attack paths looked empty/broken - Switchblade port hover only showed a help cursor / question mark - changelog looked stale ## What Was Fixed ### 1. Training truth source `magatamallm` RunPod launches still logged the old legacy deduplicated `fixes.jsonl` count (`1097`) during SSE startup. This was corrected so RunPod launches now: - still dedupe the legacy fix corpus where needed - but no longer present that count as the operator-facing training truth - instead emit the lane-specific RunPod manifest totals after dataset refresh Live verified via public MAGATAMA API: - `collectedExamples = 15620` - `effectiveExamples = 15620` - `evalExamples = 1736` - `totalExamples = 17356` - `newSinceLastTraining = 15620` ### 2. RunPod completion truthfulness RunPod worker jobs could return `COMPLETED` even though the logs contained real training failures. MAGATAMA now inspects worker logs for markers such as: - `Traceback` - `SyntaxError` - non-zero exit status - explicit train/fine-tune failure text If such evidence exists, the run is recorded as worker-failed instead of being treated as a clean success. ### 3. Findings page no longer looks broken when empty The live findings API currently returns: - `findings = []` - `total = 0` The UI now renders an explicit empty-state row when there are no open findings or when filters hide everything, instead of leaving the table visually blank. ### 4. Attack Paths empty-state clarified Attack Paths previously looked broken when the selected scope had zero assets. The UI now explicitly states: - the current scope has `0 assets` - operators should widen location/datacenter/rack scope - the graph stays intentionally empty when no correlated multi-step paths exist ### 5. Frontend cache + scope hardening Frontend cache handling was improved: - cache version bumped to `2026-05-06b` - stale legacy `magatama_api_cache:*` entries are cleared - per-endpoint TTLs were introduced - invalid scope selections are normalized - empty scoped selections reset rather than silently trapping the UI in misleading empty views ### 6. Switchblade port hover improved The old port chips relied only on browser-native `title` behavior. Now: - port chips carry `data-tooltip` - custom tooltip CSS is shipped live - usage/state text should appear as a real hover bubble Live Erik file check confirmed: - `data-tooltip` markers present - tooltip CSS present ### 7. Changelog self-healing The public changelog cache in MAGATAMA core previously returned cached data indefinitely if structurally valid. Now: - cached changelog older than 6 hours triggers a rebuild from git history Live verified on Erik through dashboard proxy: - `generatedAt = 2026-05-06T15:18:42.708Z` - latest entries include fresh `2026-04-30` material again ## Files Touched In MAGATAMA - `packages/dashboard/public/index-v2.html` - `packages/dashboard/src/server.ts` - `packages/core/src/routes/changelog.ts` ## Deployment Status Built locally and redeployed to Erik: - dashboard dist synced - core dist synced - `index-v2.html` synced - PM2 restarted: - `magatama-dashboard` - `magatama` ## Important Live Evidence - public `api/llm/status` shows lane-export counts, not `1097` - public `api/findings?limit=1` returns empty findings cleanly - Erik live dashboard file contains: - `API_CACHE_VERSION = '2026-05-06b'` - `data-tooltip` - `Im aktuellen Scope liegen 0 Assets.` - `Klicken für Details` ## Open Truths - current live findings are genuinely `0`; this is not a hidden frontend-only failure - Attack Paths can still be empty if there are truly no scoped assets or no correlated attack stories - RunPod serverless still needs endpoint-side reliability; the MAGATAMA-side truthfulness improvements do not by themselves fix a broken RunPod release/worker pipeline