# os-* standards audit vs cc-architect — 2026-07-16

One-time audit executed after cc-architect's Phase B migration into cc-os (commit
3f76755), per the backlog ticket "Audit os-* plugins against cc-architect standards
(post standards-centralization)". Ran cc-architect's `workflows/audit-plugin.md`
Phase 1–2 checklist against all eight os-* plugins, then remediated.

## Results

All eight plugins pass manifest validation (name/version/description, kebab-case,
semver), have no `name:` fields in SKILL.md frontmatter, and have no `commands/`
dispatcher directories.

Remediation shipped:

- **Per-plugin CLAUDE.md indexes** (ADR-0032 index+PD style) created for os-adr,
  os-backlog (minimal — Planka-retirement rework in flight), os-context, os-sdlc,
  os-shortcuts, os-status, os-vault; os-doc-hygiene's stale pre-build cc-plugins-era
  CLAUDE.md rewritten.
- **os-doc-hygiene cc-plugins references reconciled**: PRD.md target path and
  marketplace naming corrected; broken `../.claude/references/` path and retired
  `/install doc-hygiene@cc-plugins` instructions removed.
- **invariants.md** added for os-shortcuts (4 invariants) and os-vault (8); already
  existed for os-adr, os-doc-hygiene, os-status. os-backlog deferred (rework in
  flight); os-sdlc/os-context not warranted yet.
- **ADR-0025 / os-adr**: no action — the ADR itself records the per-verb-`bin/`
  exemption ("grandfathered... until os-adr is next touched for other reasons").
- **Naming convention** folded into the repo:
  `plugins/cc-architect/references/conventions/cc-os-naming.md` is now canonical;
  the SecondBrain vault note and root CLAUDE.md point to it.
- **Repo-level test runner**: `bin/test` runs every plugin's minitest
  (`tests/all.rb`) and pytest suite, one pytest invocation per plugin (avoids
  same-named `hook_test.py` module collisions). os-vault's `tests/` is an eval
  harness, deliberately excluded.
- **os-vault hook wiring documented**: hooks are intentionally wired via user-level
  `~/.claude/settings.json` pointing at repo source scripts, not a plugin
  `hooks/hooks.json`; recorded in os-vault/CLAUDE.md so the absent hooks.json stops
  reading as a defect.

## Deferred (filed, not fixed)

- os-backlog ADR-0025 deviations (second entry point `bin/wakeup-poll`; no README
  naming gem deps) → Forgejo issue jared/cc-os#74, to be folded into the
  retire-planka-git-issues-only rework.
- os-context `skills/audit-sessions/SKILL.md` stale Planka references and os-status
  `planka:` tracker-scheme handling — both already being fixed by the in-flight
  ADR-0042 rework on main; not touched here to avoid conflicts.
