{
  "generatedAt": "2026-07-23T16:09:34.300Z",
  "activeTicket": "DS-013",
  "shipped": [
    {
      "name": "router",
      "commit": "b47c67e"
    },
    {
      "id": "DC-001",
      "name": "decision-engine",
      "commit": "#271"
    },
    {
      "id": "DC-002",
      "name": "governance",
      "commit": "#268"
    },
    {
      "id": "DC-003",
      "name": "triage",
      "commit": "#272"
    },
    {
      "id": "DC-011",
      "name": "mlops",
      "commit": "main"
    },
    {
      "id": "DC-013",
      "name": "cx-schema",
      "commit": "main"
    },
    {
      "id": "DC-021",
      "name": "rsi-console",
      "commit": "main"
    },
    {
      "id": "DC-022",
      "name": "tree-guide-studio",
      "commit": "2026-07-06"
    },
    {
      "id": "DC-023",
      "name": "rsi-loop",
      "commit": "main"
    }
  ],
  "tickets": [
    {
      "file": "DC-001-decision-engine.md",
      "id": "DC-001",
      "status": "shipped",
      "title": "Extract @cortex/decision-engine"
    },
    {
      "file": "DC-002-governance.md",
      "id": "DC-002",
      "status": "shipped",
      "title": "Extract @cortex/governance"
    },
    {
      "file": "DC-003-triage.md",
      "id": "DC-003",
      "status": "shipped",
      "title": "Extract @cortex/triage"
    },
    {
      "file": "DC-011-mlops.md",
      "id": "DC-011",
      "status": "shipped",
      "title": "Extract @cortex/mlops"
    },
    {
      "file": "DC-013-cx-schema.md",
      "id": "DC-013",
      "status": "shipped",
      "title": "`cx_*` schema + back-compat views"
    },
    {
      "file": "DC-021-self-improvement-console.md",
      "id": "DC-021",
      "status": "shipped",
      "title": "Self-Improvement Console (studio RSI inbox)"
    },
    {
      "file": "DC-022-tree-guide-studio.md",
      "id": "DC-022",
      "status": "shipped",
      "title": "Guide / Tree Studio parity (`tree-graph.js`)"
    },
    {
      "file": "DC-023-rsi-loop.md",
      "id": "DC-023",
      "status": "shipped",
      "title": "RSI loop (`cx_signals` → proposals → measurement)"
    }
  ],
  "packages": [
    {
      "name": "client",
      "tests": "present"
    },
    {
      "name": "decision-engine",
      "tests": "present"
    },
    {
      "name": "governance",
      "tests": "present"
    },
    {
      "name": "mlops",
      "tests": "present"
    },
    {
      "name": "rag",
      "tests": "present"
    },
    {
      "name": "router",
      "tests": "present"
    },
    {
      "name": "rsi",
      "tests": "present"
    },
    {
      "name": "triage",
      "tests": "present"
    }
  ],
  "prCap": 3,
  "workerPrs": 0,
  "workerGhOk": false,
  "overCap": false,
  "cortexPrs": [],
  "issues": [],
  "health": [
    "gh unavailable — worker PR count defaulted to 0 (re-run with gh auth)"
  ],
  "ok": true,
  "readyCount": 0,
  "testsFail": false,
  "brief": {
    "available": true,
    "date": "2026-07-22",
    "path": ".brain/cortex-brief-2026-07-22.md",
    "body": "**Diagnozer Cortex — daily brief — 2026-07-22**\n\n- Shipped (last 24h, cortex/control): 1 commit(s) — chore(gates): publish gate-results from \n- Packages: shipped [router, decision-engine, governance, triage, mlops, cx-schema, rsi-console, tree-guide-studio, rsi-loop] · client(present), decision-engine(present), governance(present), mlops(present), rag(present), router(present), rsi(present), triage(present)\n- Tickets: active DS-013 · DC-001:shipped DC-002:shipped DC-003:shipped DC-011:shipped DC-013:shipped DC-021:shipped DC-022:shipped DC-023:shipped\n- Control health: worker PRs 0/3 (gh assumed 0) · cortex issues 0 · OK\n- RSI loop: core shipped (DC-023 shipped, DC-021 shipped) — tune proposal heuristics + measurement dashboards (DC-032).\n\n- Ten suggested next moves:\n  1. Launch the active ticket DS-013 at cursor.com/agents (branch feat/ds-013-…); paste its prompt from cloudflare-pages/cortex/tickets/DS-013-*.md.\n  2. Recruit 3–5 paid Benchmark Council clinicians (the #1 defensibility blocker, DS-020) — runs alongside the build.\n  3. Keep ignition priority-0: DS-001 apex cutover, content density (G06), first verified-recognition cohort.\n  4. Before opening Phase 2, confirm the gate: apex live + ≥1,000 verified surveys, or an explicit founder opportunity-cost call.\n  5. Promote DC-013 (cx_* schema + back-compat views) early in Phase 1 — it unblocks the API seam and the RSI loop.\n  6. Refresh the /command/cortex panel mirror in CI/cron: `node SCRIPTS/cortex_status.mjs --write` so the web dashboard stays current.\n  7. Spec DC-021 (Self-Improvement Console) UX while Phase 0–1 run, so Phase 2 starts with a ready design.\n  8. Add a contract test for each cx_* migration to guard against schema drift (SSOT risk note).\n  9. Lock the external brand lockup (Diagnozer Cortex) before DC-020 studio chrome bakes it in.\n  10. Run `make cortex-test` in pre-merge for every cortex PR; require the golden byte-identical check.\n\n",
    "suggestions": [
      "Launch the active ticket DS-013 at cursor.com/agents (branch feat/ds-013-…); paste its prompt from cloudflare-pages/cortex/tickets/DS-013-*.md.",
      "Recruit 3–5 paid Benchmark Council clinicians (the #1 defensibility blocker, DS-020) — runs alongside the build.",
      "Keep ignition priority-0: DS-001 apex cutover, content density (G06), first verified-recognition cohort.",
      "Before opening Phase 2, confirm the gate: apex live + ≥1,000 verified surveys, or an explicit founder opportunity-cost call.",
      "Promote DC-013 (cx_* schema + back-compat views) early in Phase 1 — it unblocks the API seam and the RSI loop.",
      "Refresh the /command/cortex panel mirror in CI/cron: `node SCRIPTS/cortex_status.mjs --write` so the web dashboard stays current.",
      "Spec DC-021 (Self-Improvement Console) UX while Phase 0–1 run, so Phase 2 starts with a ready design.",
      "Add a contract test for each cx_* migration to guard against schema drift (SSOT risk note).",
      "Lock the external brand lockup (Diagnozer Cortex) before DC-020 studio chrome bakes it in.",
      "Run `make cortex-test` in pre-merge for every cortex PR; require the golden byte-identical check."
    ]
  },
  "mirrorRefresh": "make cortex-status-mirror",
  "currentPhase": 2,
  "phases": [
    {
      "id": 0,
      "label": "Extract engine",
      "tickets": "DC-000–003",
      "goal": "Domain-free packages + shims; byte-identical deterministic paths",
      "state": "complete"
    },
    {
      "id": 1,
      "label": "Data + API seam",
      "tickets": "DC-010–014",
      "goal": "cx_* schema + OpenAPI /v1 + @cortex/client",
      "state": "complete"
    },
    {
      "id": 2,
      "label": "HERO GUI + RSI",
      "tickets": "DC-020–023",
      "goal": "Studio + Self-Improvement Console + closed signal loop",
      "state": "active"
    },
    {
      "id": 3,
      "label": "Model & Router Lab",
      "tickets": "DC-030–033",
      "goal": "Train → eval → promote with real gates",
      "state": "upcoming"
    },
    {
      "id": 4,
      "label": "Multi-property",
      "tickets": "DC-040–042",
      "goal": "MCP + 2nd adapter + spin-out readiness",
      "state": "upcoming"
    }
  ]
}
