Skip to content
This repository was archived by the owner on May 23, 2026. It is now read-only.
This repository was archived by the owner on May 23, 2026. It is now read-only.

OCA doctor: surface Advance canaries + add environment-specific checks (S1) #18

Description

@JRedeker

Summary

oca doctor should be the user-facing health surface that combines:

  1. Advance-owned signals read from Advance (Temporal worker heartbeat, search attrs, plugin load status — all already exposed via adv_temporal_diagnose)
  2. OCA-environment-specific checks that plugins can't do (MCP server reachability via Vision, plugin install validity, opencode.json rendering integrity, stack.toml schema validity)

Why

Under the cleaner ownership boundary, Advance owns the canary logic (it's plugin-doable). OCA owns the surfacing and adds environment-layer checks that are outside any plugin's scope.

Acceptance Criteria

  • oca doctor --scope adv-runtime reads from adv_temporal_diagnose (does not duplicate detection)
  • oca doctor --scope environment adds OCA-specific checks: MCP server reachability, plugin install validity, opencode.json rendering integrity
  • oca doctor --scope all runs both
  • Non-zero exit on critical failures
  • JSON output mode for scripting
  • Each canary has a clear remediation hint

Boundary

  • Advance owns canary detection logic (already in adv_temporal_diagnose)
  • OCA owns the user-facing health surface and environment-layer checks

Companion ADV issue

Advance may want to expand adv_temporal_diagnose coverage if gaps exist. Tracked separately if needed.

Proposal

docs/proposals/2026-05-03-oca-runtime-doctor-canaries.md
docs/proposals/2026-05-08-cross-repo-boundary-audit.md § Litmus Test

WSJF Estimate

Value: 7 | TC: 5 | RROE: 6 | Effort: 3 | WSJF: 6.0

Metadata

Metadata

Assignees

No one assigned

    Labels

    priority:lowLow prioritytech-debtTechnical debt, refactoring, cleanup

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions