JSON
{
"confidence": "medium",
"operational": {
"kind": "http_service",
"drift": "unknown",
"score": 0,
"checks": [
{
"ok": false,
"name": "health",
"detail": "/health no response"
}
],
"status": "down",
"latest_tag": null,
"deployed_version": null
},
"gap_analysis": "Core dashboard code is essentially built; the deploy/run-it-daily part of the DoD is operational (not code-verifiable) and outside scope. Two captured, genuinely-missing code-level items remain: the Cerebro 'remaining-work' widget (no RemainingWork component/route/type exists in the repo) and the CI migration from the 324-line bespoke .gitlab-ci.yml to a thin include of the shared generic pipeline (still bespoke, no include: present).",
"proposed_tasks": [
{
"title": "Implement Cerebro remaining-work widget",
"subtasks": [
{
"title": "Extend WidgetType union and register widget in lib/widgets/registry.ts",
"estimated_minutes": 45
},
{
"title": "Add app/api Cerebro proxy route + lib Cerebro client (URL/token from Infisical)",
"estimated_minutes": 120
},
{
"title": "Build components/widgets/RemainingWork.tsx with loading/empty/error states",
"estimated_minutes": 150
},
{
"title": "Wire defaultSize/category/defaultRefreshMs/configFields and verify catalog add",
"estimated_minutes": 45
}
],
"description": "Add the per-project remaining-work + confidence widget (TSK F62D74). No RemainingWork component, registry entry, WidgetType, or Cerebro proxy route exists in the repo yet. Build it following existing widget conventions (registry + component + configFields + poll pattern like TaskList/ServiceList), with a mtac API route proxying Cerebro (URL/token via Infisical), and loading/empty/error states.",
"estimated_minutes": 360
},
{
"title": "Migrate .gitlab-ci.yml to shared generic pipeline include",
"subtasks": [
{
"title": "Replace inline stages with include: + mtac overrides for web/agent images and jarvis deploy",
"estimated_minutes": 150
},
{
"title": "Update PROJECT.yaml to satisfy generic pipeline config interface",
"estimated_minutes": 60
},
{
"title": "Run ci-lint-local.sh and resolve config/Dockerfile/compose findings",
"estimated_minutes": 30
}
],
"description": "Reduce mtac's bespoke 324-line .gitlab-ci.yml to a thin include of the shared generic pipeline project (mirroring cerebro), plus mtac-specific overrides for multi-image (web + agent) build/push, Infisical bootstrap, smoke, rollback, and tagging (TSK 664BE1). Update PROJECT.yaml fields the generic pipeline requires. Validate locally with ci-lint-local.sh.",
"estimated_minutes": 240
}
],
"completion_percent": 85,
"current_state_summary": "MTAC is a feature-complete Next.js homelab dashboard: multi-host API routes (hosts, containers, host metrics, projects, services, logs, uptime, tasks, chart, links), a mature widget system (registry + 11 widget components), a Node agent with Infisical bootstrap, Docker/compose, a bespoke GitLab CI pipeline, and deploy docs. Operational state is currently down (0%), but the application code itself is largely complete.",
"tasks_to_mark_complete": [],
"estimated_hours_remaining": 10
}