# QA Review MC #9785 reviewing MC #8764

# QA Review — MC #9785 (reviewing MC #8764)

**Reviewer:** John / pi-orchestrator (Proveo persona)  
**Reviewed at (UTC):** 2026-07-28T17:47:15Z  
**Source task:** #8764 — Fix mc-dashboard.js missing agent-metrics-api.js dependency (crash loop since 2026-04-19)  
**Source status:** done (completed 2026-04-27 16:56:50)  
**Source priority:** H  
**Source owner:** codecraft

## Scope

Reviewed whether `~/system/tools/mc-dashboard.js` still has the restored hard dependency `./agent-metrics-api.js`, whether the module exports the functions used by the dashboard, and whether the live Mission Control Dashboard on `localhost:3030` responds on the affected metrics routes without crashing.

## Tool-verified findings

- `node ~/system/tools/mc.js show 8764` confirms the original DoD: restored `agent-metrics-api.js`; all 4 used exports confirmed; daemon and `localhost:3030` were reported healthy at completion.
- `~/system/tools/agent-metrics-api.js` exists on disk (`13,874` bytes at review time).
- `~/system/tools/mc-dashboard.js` has the hard require at line 214: `const agentMetrics = require('./agent-metrics-api.js');`.
- Dashboard uses these 4 exports: `getTaskMetrics`, `getAgentStats`, `getErrorsSummary`, `getTimeline`.
- `agent-metrics-api.js` exports those 4 functions plus `getCostsSummary`.
- Syntax checks passed: `node --check tools/agent-metrics-api.js` and `node --check tools/mc-dashboard.js`.
- Module import/export smoke passed: `exports-ok getTaskMetrics,getAgentStats,getErrorsSummary,getTimeline,getCostsSummary`.
- CLI smoke produced JSON artifacts for tasks, stats, errors, timeline for task 8764, and costs.
- Live dashboard LaunchAgent is loaded: `com.john.mc-dashboard` with PID `1092` and status `0` during review.
- Live HTTP smoke returned 200 for `/`, `/api/tasks/metrics`, `/api/agents/stats`, `/api/errors/summary`, and `/api/timeline/8764`.

## QA-19 gate check for source task

Ran `node ~/system/tools/qa-19.js check 8764` and saved output to `qa-19-check-8764.txt`.

Result:

```text
SCORE: 5/17 (2 skipped, 6 pending)
REQUIRED: 17/17 for H priority
GATE: PENDING
```

Important process finding: task history for #8764 includes a `FORCED_COMPLETION` entry noting missing `/tmp/gotcha-task-8764.md`, missing `/tmp/verify-8764/validator-independent.json`, and blocked claim-gate labels at the time of completion. This QA review therefore cannot claim the original completion followed the full H-priority process gate.

## Verdict

**Functional QA verdict for #8764: PASS.** The missing dependency is present, the dashboard imports it successfully, affected metric/timeline routes return live HTTP 200 responses, and no current crash loop was observed for `com.john.mc-dashboard` during this review.

**Process verdict: PASS_WITH_FINDINGS.** The original H-priority completion was forced and still has a QA-19 `PENDING` result due to missing historical GOTCHA/build/test/validator artifacts. This is recorded as a process non-conformance, not as a current functional failure of the restored dependency.

## Evidence files

- `/Users/makinja/system/evidence/9785/qa-review-8764.md`
- `/Users/makinja/system/evidence/9785/summary.json`
- `/Users/makinja/system/evidence/9785/verification.json`
- `/Users/makinja/system/evidence/9785/exports-check.txt`
- `/Users/makinja/system/evidence/9785/cli-output-sizes.txt`
- `/Users/makinja/system/evidence/9785/live-curl-smoke.txt`
- `/Users/makinja/system/evidence/9785/qa-19-check-8764.txt`
- `/tmp/alai/019fa9d3-4742-7637-9dcd-c77069c84dff/evidence-9785/verification.json`