Review date: 2026-05-19
Scope: Task 27 review of the local MVP implementation before demo hardening and runbook rehearsal.
- No real secrets are present in source control.
- Secret-looking values found by scan are fixtures, placeholders, environment variable names, or test-only tokens.
- External Phoenix trace data is treated as untrusted evidence in analyst instructions.
- Watcher detector logic works from normalized trace evidence and does not execute trace contents.
- Dashboard evidence, timeline, detector, and patch strings are rendered as React text, not raw HTML.
- Prompt patch promotion remains human-gated through watcher patch endpoints.
- Phoenix MCP prompt write tool is hidden and blocked by default.
- Health checks and structured logs exist for deployable services.
Severity: important
The adapter advertised and executed save-prompt-patch without an explicit runtime gate. The current client only returned a local draft object, but the tool name and contract represented a prompt write surface. This conflicted with the MVP requirement that destructive Phoenix prompt write tools be disabled or gated.
Resolution: save-prompt-patch is now hidden from tools/list and returns PROMPT_WRITE_TOOL_DISABLED unless PHOENIX_MCP_ENABLE_PROMPT_WRITES=true.
No critical or important findings are currently deferred.
Commands to run for this review:
pnpm lint
pnpm test
pnpm buildRecord results here after running:
pnpm lint: passed on 2026-05-19.pnpm test: passed on 2026-05-19; 22 test files and 75 tests passed.pnpm build: passed on 2026-05-19.