Surface: Settings → OmniRouter section — the 8-row table (5 upstream + 3 hal0 tools).
File: ui/src/views/Settings.vue:469-507 (MOCK_OMNI_TOOLS literal + loadOmni() fallback).
Current: GET /api/omni-tools returns 404 (endpoint doesn't exist) and the view substitutes a hardcoded MOCK_OMNI_TOOLS array mirroring the design spec. Operators see what looks like a curated registry; in reality nothing on this page reflects what's actually dispatchable on their box.
Real signal: GET /api/omni-tools returning the OmniRouter's live tool roster (the lemonade-sdk/omni collection bundle, enriched with hal0-router tools).
Related: #173 (Settings view), #166 (mock harness — endpoint should be added to allowlist with retirement issue if remaining on this fallback)
Found by dashboard mock-data audit 2026-05-23.
Surface: Settings → OmniRouter section — the 8-row table (5 upstream + 3 hal0 tools).
File:
ui/src/views/Settings.vue:469-507(MOCK_OMNI_TOOLSliteral +loadOmni()fallback).Current:
GET /api/omni-toolsreturns 404 (endpoint doesn't exist) and the view substitutes a hardcodedMOCK_OMNI_TOOLSarray mirroring the design spec. Operators see what looks like a curated registry; in reality nothing on this page reflects what's actually dispatchable on their box.Real signal:
GET /api/omni-toolsreturning the OmniRouter's live tool roster (thelemonade-sdk/omnicollection bundle, enriched with hal0-router tools).Related: #173 (Settings view), #166 (mock harness — endpoint should be added to allowlist with retirement issue if remaining on this fallback)
Found by dashboard mock-data audit 2026-05-23.