3.3 KiB
3.3 KiB
os-status — component detail
Leaf file of ../implementation-status.md. Read on demand.
Global os-status plugin — cc-os/plugins/os-status/ (git-tracked, 2026-07-06);
symlinked into ~/.claude/plugins/os-status. Decision record: ADR-0022 (architecture),
ADR-0026 (/os-status:fix), ADR-0027 (state location). Built via OpenSpec change
add-os-status-plugin (supersedes the WS3 plan doc).
- Purpose: aggregated deterministic SessionStart status checks for the cc-os plugin family — per-project artifacts (ADR system, vault hub note) and environment hazards (subagent model env override).
- Architecture: checks are in-process plain Python functions in
hooks/checks.pywith the uniform signaturecheck(ctx) -> CheckResult(status, message)plus one registry entry (no per-plugin subprocess protocol, no per-project code copies — both rejected in ADR-0022). Three states:ok(silent),note(near-zero-token additionalContext line, never snoozed/suppressed),warn(aggregated into at most one banner; once-per-day snooze- permanent
suppress-<check>markers in gitignored per-project.cc-os/status/— state only, never code; shared.cc-os/configholds optionalhub/vault_pathkey=value overrides).
- permanent
- Initial checks:
subagent-model-env-override(env +~/.claude/settings.jsonenvblock; runs outside git projects too — catches the WS1 Cluster 1 incident deterministically at session start),adr-system-present(verbatim port of os-adr's hook behavior incl..os-adr/suppress),vault-hub-note-present(config slug first, elsetype/hub+project/<name>facet-tag scan of the vault; missing → warn naming/os-vault:write). Later additions:tracker-configured(2026-07-10, os-backlog issue #11),orchestration-audit-due(2026-07-10),project-graph-presentandconfig-version-current(2026-07-12). - Added 2026-07-12 (ADR-0026, issue #21):
/os-status:fixskill — the unified project setup/update command; runs the registry viapython3 hooks/checks.py --json(each result carries aremediationpointer), drives the owning plugin's remediation per failing check, stampsversion=into.cc-os/config(CURRENT_CONFIG_VERSION); idempotent, so re-running is the update path. Warn banner names/os-status:fixas the single entry point. Human gates preserved: fix never fabricates a tracker value and never edits global settings.json. - Fix tune-up (2026-07-12, issues #23/#24): the credvault smoke-test of
/os-status:fix(session cd1ae1cd) was on-contract but surfaced four gaps. Fixes:clear_snoozehelper + self-clearing snoozes when a check evaluates ok/note (both runners); own state relocated to.cc-os/status/with legacy fallback read + migrate-on-write (ADR-0027);write_config_valuenormalizes the whole file tokey=value(no spaces); fix SKILL.md scopes out committing, adds an explicit ".cc-os/in .gitignore" step, clarifies when re-runs are needed. Re-run of/os-status:fixin credvault is the pending IRL verification. - Tests:
python3 tests/hook_test.py(80 as of 2026-07-12; 64 post-#21; 36 initial) incl. byte-identity of PRESENT_NOTE/ABSENT_NOTE against os-adr's source. Invariants ininvariants.md. Smoke-tested 2026-07-06 (cache==source, real headless session fired the hook, env-override canary warns).