ca-doctor · diff
git:20260902.10d9b01 to git:20260917.8f29537
11 added, 0 removed. Audit A to A.
---
name: ca-doctor
description: Verify the active host install, package, command ownership, enforcement, and harmless live-fire probe. Read-only.
argument-hint: (none)
---
# $ca-doctor — install health
Silent dormancy is the worst failure shape this plugin has: the gates look installed but never fire.
This command proves the active host is healthy and reports every non-OK finding with an exact
remediation.
## Flow
+
+ The mechanical report also invokes the installation-pinned artifact client's `capabilities`
+ operation. When the repository contains an HTML authority, it performs a bounded catalog read to
+ surface invalid or ambiguous artifacts. It MUST NOT load the artifact schema, search `PATH`, use a
+ repository binary, mutate an artifact, or silently fall back to Markdown.
+
+ - `CAPABILITY_MISSING` or another installation identity failure is unhealthy: report “repair or
+ reinstall the pinned artifact payload; HTML work is blocked.” Unrelated legacy Markdown remains
+ usable.
+ - An invalid HTML artifact is unhealthy: preserve the bounded engine code and direct the user to
+ inspect `repair-preview` before any explicit reviewed repair.
1. Resolve the plugin root from this loaded skill path, then run its `hooks/doctor.py` with Python 3
and present the report verbatim. Do not try an empty plugin-root environment variable first.
2. In an arbiter-enabled repo, attempt `git add --all --dry-run` via the shell tool. `[H-03]` means
hooks are firing; execution means **CRITICAL: gates dormant**.
## Remediation ladder
1. Restart Codex so hooks register at session start.
2. Remove and re-add `ca-codex@codearbiter`, then approve the changed hook set in `/hooks`.
3. If dormancy was intended, `$ca-init` opts the repository in.
## When NOT to use
- Scaffold state only → `$ca-init --check`.
- Project progress, not install health → `$ca-status`.
## Hard gate
Read-only. MUST NOT create markers, stage files, grant trust, weaken a block, or retry the live-fire
probe with different spelling. MUST surface a failed probe as CRITICAL, never as a footnote.
For an arbiter-enabled repository, the mechanical report treats the Git backstop as healthy only
after exact managed-shim and live-enforcer validation, plus a harmless selected-Git
`git hook run pre-push` probe with empty input. It never executes a foreign hook.