CodeIssuesPull RequestsActionsSecurityInsights
✨ AI
More
Settings

feat(medic): repair registry + spine doctor — recovery that proves itself #5536

Merged⚡ AI-generatedXSccantynz wants to mergefeat/medic-spine-doctormainopened 6d ago
ccantynzcommented 6d ago

Mission Control build #2 (agent-built, coordinator-integrated over the truth ledger)

The Vapron medic contract, implemented and test-pinned: "repaired" is recorded only when the red check re-ran green — a restart exiting 0 proves nothing — and every decline is a recorded refusal with a machine-readable reason, because a medic that quietly declines looks identical to a broken one.

  • Registry (closed action allowlist): stuck CI runs → requeue (imports the runner's own reaper); mirror reds → resync; blip-prone probes (peer:watch, dep:anthropic) → re-run-to-verify. Deliberate none-and-page: postgres/disk/TLS reds, healthz/readyz (autoheal owns containers), journeys (code defects), and doctor:* (a dead watcher can't be kicked from inside). clear-failed-deploy-marker is excluded by design — re-arming deploys over an unreviewed rollback is the 2026-08-19 incident again.
  • Spine doctor: four doctor:* meta-checks (tick age, core/journey/surface row ages) persist through the existing check pipeline — a dead watcher pages like a dead service, boot-null renders yellow so deploys don't page, and doctor:* rows are filtered from the public incident feed (internal watcher names aren't customer information).
  • Outcomes ledger medic_outcomes (migration 0129), budgets/cooldowns read from it so deploys can't reset them. /admin/medic renders registry, outcomes, watcher ages.

72/72 tests across medic+truth+runner-invariants after integration; typecheck clean.

🤖 Generated with Claude Code

ccantynzAI Reviewcommented 6d ago

AI Triage

(no summary)

Priority: medium Risk area: mixed

Suggested labels: (no label suggestions) Suggested reviewers: (no reviewer suggestions)

Suggestions only — nothing has been applied. The PR author stays in control.

gluecron[bot]🤖 botAI Reviewcommented 6d ago

AI review unavailable

The platform's AI balance is exhausted, so AI generation is temporarily unavailable. Nothing was lost. You can queue this as a repair for the internal agent from the repository's Health page, or try again once the balance is restored. The PR is otherwise unchanged.

Cross-repo impact

See what breaks downstream if this PR merges.

Analyze →
⮌ Merged

This pull request was merged into main.

c comment · e edit title · m merge · a approve · r request changes · ? shortcuts