@arbiterforge/ca-pi 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (206) hide show
  1. package/LICENSE +661 -0
  2. package/README.md +558 -0
  3. package/package.json +35 -0
  4. package/plugins/ca-pi/CHANGELOG.md +1030 -0
  5. package/plugins/ca-pi/COMMANDS.md +90 -0
  6. package/plugins/ca-pi/ORCHESTRATOR.md +159 -0
  7. package/plugins/ca-pi/SKILLS.md +47 -0
  8. package/plugins/ca-pi/SPRINT.md +142 -0
  9. package/plugins/ca-pi/agents/INDEX.md +31 -0
  10. package/plugins/ca-pi/agents/architecture-drift-reviewer.md +86 -0
  11. package/plugins/ca-pi/agents/auth-crypto-reviewer.md +60 -0
  12. package/plugins/ca-pi/agents/backend-author.md +60 -0
  13. package/plugins/ca-pi/agents/checkpoint-aggregator.md +111 -0
  14. package/plugins/ca-pi/agents/coverage-auditor.md +71 -0
  15. package/plugins/ca-pi/agents/decision-challenger.md +116 -0
  16. package/plugins/ca-pi/agents/dependency-reviewer.md +79 -0
  17. package/plugins/ca-pi/agents/design-quality-reviewer.md +80 -0
  18. package/plugins/ca-pi/agents/finding-triage.md +86 -0
  19. package/plugins/ca-pi/agents/frontend-author.md +64 -0
  20. package/plugins/ca-pi/agents/grader.md +173 -0
  21. package/plugins/ca-pi/agents/infra-author.md +64 -0
  22. package/plugins/ca-pi/agents/map-deps.md +35 -0
  23. package/plugins/ca-pi/agents/map-structure.md +37 -0
  24. package/plugins/ca-pi/agents/migration-reviewer.md +65 -0
  25. package/plugins/ca-pi/agents/scout.md +127 -0
  26. package/plugins/ca-pi/agents/security-reviewer.md +72 -0
  27. package/plugins/ca-pi/agents/tribunal-lens-reviewer.md +65 -0
  28. package/plugins/ca-pi/extensions/codearbiter-child.js +1885 -0
  29. package/plugins/ca-pi/extensions/codearbiter.js +9802 -0
  30. package/plugins/ca-pi/generated/command-catalog.json +197 -0
  31. package/plugins/ca-pi/generated/roles.json +213 -0
  32. package/plugins/ca-pi/helpers/windows-supervisor.js +205 -0
  33. package/plugins/ca-pi/hooks/_activationlib.py +196 -0
  34. package/plugins/ca-pi/hooks/_arbiterstatelib.py +208 -0
  35. package/plugins/ca-pi/hooks/_babysitlib.py +76 -0
  36. package/plugins/ca-pi/hooks/_bashguardlib.py +1667 -0
  37. package/plugins/ca-pi/hooks/_boxlib.py +131 -0
  38. package/plugins/ca-pi/hooks/_colorlib.py +304 -0
  39. package/plugins/ca-pi/hooks/_durabilitylib.py +186 -0
  40. package/plugins/ca-pi/hooks/_entrylib.py +41 -0
  41. package/plugins/ca-pi/hooks/_fmtlib.py +161 -0
  42. package/plugins/ca-pi/hooks/_gitexec.py +45 -0
  43. package/plugins/ca-pi/hooks/_githooks.py +920 -0
  44. package/plugins/ca-pi/hooks/_gitlib.py +110 -0
  45. package/plugins/ca-pi/hooks/_hooklib.py +595 -0
  46. package/plugins/ca-pi/hooks/_host.py +115 -0
  47. package/plugins/ca-pi/hooks/_intentlib.py +242 -0
  48. package/plugins/ca-pi/hooks/_ledgerlib.py +1035 -0
  49. package/plugins/ca-pi/hooks/_metricslib.py +709 -0
  50. package/plugins/ca-pi/hooks/_pathnorm.py +74 -0
  51. package/plugins/ca-pi/hooks/_planfilelib.py +664 -0
  52. package/plugins/ca-pi/hooks/_previewlib.py +193 -0
  53. package/plugins/ca-pi/hooks/_protectedlib.py +312 -0
  54. package/plugins/ca-pi/hooks/_protectedstatelib.py +411 -0
  55. package/plugins/ca-pi/hooks/_provenancelib.py +971 -0
  56. package/plugins/ca-pi/hooks/_prunelib.py +1398 -0
  57. package/plugins/ca-pi/hooks/_prunepolicy.py +235 -0
  58. package/plugins/ca-pi/hooks/_readinjectlib.py +1080 -0
  59. package/plugins/ca-pi/hooks/_releaselib.py +2657 -0
  60. package/plugins/ca-pi/hooks/_scopelib.py +262 -0
  61. package/plugins/ca-pi/hooks/_segmentslib.py +278 -0
  62. package/plugins/ca-pi/hooks/_sensitivelib.py +270 -0
  63. package/plugins/ca-pi/hooks/_sessionlib.py +78 -0
  64. package/plugins/ca-pi/hooks/_sloplib.py +244 -0
  65. package/plugins/ca-pi/hooks/_standuplib.py +214 -0
  66. package/plugins/ca-pi/hooks/_subagentslib.py +219 -0
  67. package/plugins/ca-pi/hooks/_taskboardlib.py +1088 -0
  68. package/plugins/ca-pi/hooks/_updatelib.py +278 -0
  69. package/plugins/ca-pi/hooks/babysit.py +47 -0
  70. package/plugins/ca-pi/hooks/boardsync.py +129 -0
  71. package/plugins/ca-pi/hooks/doctor.py +420 -0
  72. package/plugins/ca-pi/hooks/git-enforce.py +325 -0
  73. package/plugins/ca-pi/hooks/hostapi.py +460 -0
  74. package/plugins/ca-pi/hooks/init-codearbiter.py +225 -0
  75. package/plugins/ca-pi/hooks/metrics.py +62 -0
  76. package/plugins/ca-pi/hooks/migration-pass.py +129 -0
  77. package/plugins/ca-pi/hooks/pi-bridge.py +543 -0
  78. package/plugins/ca-pi/hooks/post-write-edit.py +231 -0
  79. package/plugins/ca-pi/hooks/pre-bash.py +90 -0
  80. package/plugins/ca-pi/hooks/pre-edit.py +284 -0
  81. package/plugins/ca-pi/hooks/pre-read.py +81 -0
  82. package/plugins/ca-pi/hooks/pre-write.py +217 -0
  83. package/plugins/ca-pi/hooks/preview.py +69 -0
  84. package/plugins/ca-pi/hooks/prune-transcript.py +232 -0
  85. package/plugins/ca-pi/hooks/releasehash.py +216 -0
  86. package/plugins/ca-pi/hooks/security-pass.py +139 -0
  87. package/plugins/ca-pi/hooks/session-start.py +1218 -0
  88. package/plugins/ca-pi/hooks/statusline.py +736 -0
  89. package/plugins/ca-pi/hooks/taskwrite.py +351 -0
  90. package/plugins/ca-pi/hooks/update-refresh.py +51 -0
  91. package/plugins/ca-pi/hooks/wire-statusline.py +435 -0
  92. package/plugins/ca-pi/includes/anti-slop-design/INDEX.md +55 -0
  93. package/plugins/ca-pi/includes/anti-slop-design/color.md +43 -0
  94. package/plugins/ca-pi/includes/anti-slop-design/core.md +244 -0
  95. package/plugins/ca-pi/includes/anti-slop-design/images.md +32 -0
  96. package/plugins/ca-pi/includes/anti-slop-design/layout.md +45 -0
  97. package/plugins/ca-pi/includes/anti-slop-design/medium-cli.md +39 -0
  98. package/plugins/ca-pi/includes/anti-slop-design/medium-dataviz.md +43 -0
  99. package/plugins/ca-pi/includes/anti-slop-design/medium-diagram.md +35 -0
  100. package/plugins/ca-pi/includes/anti-slop-design/medium-documents.md +70 -0
  101. package/plugins/ca-pi/includes/anti-slop-design/medium-slides.md +30 -0
  102. package/plugins/ca-pi/includes/anti-slop-design/medium-web.md +39 -0
  103. package/plugins/ca-pi/includes/anti-slop-design/typography.md +51 -0
  104. package/plugins/ca-pi/includes/author-tdd-workflow.md +14 -0
  105. package/plugins/ca-pi/includes/compaction-charter.md +16 -0
  106. package/plugins/ca-pi/includes/cut-docs.md +16 -0
  107. package/plugins/ca-pi/includes/dev-mode.md +30 -0
  108. package/plugins/ca-pi/includes/farm.md +237 -0
  109. package/plugins/ca-pi/includes/fresh-verification.md +14 -0
  110. package/plugins/ca-pi/includes/harvest.md +69 -0
  111. package/plugins/ca-pi/includes/maturity-coverage.md +102 -0
  112. package/plugins/ca-pi/includes/pi-host-notes.md +69 -0
  113. package/plugins/ca-pi/includes/redirect.md +69 -0
  114. package/plugins/ca-pi/includes/reference-map.md +22 -0
  115. package/plugins/ca-pi/includes/review-matrix.md +14 -0
  116. package/plugins/ca-pi/includes/reviewer-contract.md +53 -0
  117. package/plugins/ca-pi/includes/routing-table.md +47 -0
  118. package/plugins/ca-pi/includes/security-gate-record.md +22 -0
  119. package/plugins/ca-pi/includes/smarts/core.md +90 -0
  120. package/plugins/ca-pi/includes/smarts/decision-log-format.md +56 -0
  121. package/plugins/ca-pi/routines/INDEX.md +32 -0
  122. package/plugins/ca-pi/routines/brainstorming/SKILL.md +122 -0
  123. package/plugins/ca-pi/routines/commit-gate/SKILL.md +151 -0
  124. package/plugins/ca-pi/routines/context-check/SKILL.md +85 -0
  125. package/plugins/ca-pi/routines/context-creation/SKILL.md +171 -0
  126. package/plugins/ca-pi/routines/crypto-compliance/SKILL.md +41 -0
  127. package/plugins/ca-pi/routines/debug/SKILL.md +99 -0
  128. package/plugins/ca-pi/routines/decision-lifecycle/SKILL.md +104 -0
  129. package/plugins/ca-pi/routines/decision-lifecycle/references/adr-template.md +74 -0
  130. package/plugins/ca-pi/routines/decision-variance/SKILL.md +147 -0
  131. package/plugins/ca-pi/routines/decompose/SKILL.md +168 -0
  132. package/plugins/ca-pi/routines/dispatching-parallel-agents/SKILL.md +76 -0
  133. package/plugins/ca-pi/routines/executing-plans/SKILL.md +83 -0
  134. package/plugins/ca-pi/routines/finishing-a-development-branch/SKILL.md +91 -0
  135. package/plugins/ca-pi/routines/post-merge-cleanup/SKILL.md +233 -0
  136. package/plugins/ca-pi/routines/refactor/SKILL.md +91 -0
  137. package/plugins/ca-pi/routines/release/SKILL.md +315 -0
  138. package/plugins/ca-pi/routines/secret-handling/SKILL.md +67 -0
  139. package/plugins/ca-pi/routines/security-architecture/SKILL.md +63 -0
  140. package/plugins/ca-pi/routines/skill-author/SKILL.md +108 -0
  141. package/plugins/ca-pi/routines/skill-author/references/skill-template.md +58 -0
  142. package/plugins/ca-pi/routines/subagent-driven-development/SKILL.md +149 -0
  143. package/plugins/ca-pi/routines/subagent-driven-development/references/farm-dispatch.md +145 -0
  144. package/plugins/ca-pi/routines/tdd/SKILL.md +139 -0
  145. package/plugins/ca-pi/routines/tribunal/SKILL.md +109 -0
  146. package/plugins/ca-pi/routines/tribunal/references/ai-markers.md +29 -0
  147. package/plugins/ca-pi/routines/tribunal/references/cost-and-models.md +64 -0
  148. package/plugins/ca-pi/routines/tribunal/references/finding-record.md +27 -0
  149. package/plugins/ca-pi/routines/tribunal/references/issue-filing.md +47 -0
  150. package/plugins/ca-pi/routines/tribunal/references/lenses/appsec.md +22 -0
  151. package/plugins/ca-pi/routines/tribunal/references/lenses/architecture.md +23 -0
  152. package/plugins/ca-pi/routines/tribunal/references/lenses/coverage.md +20 -0
  153. package/plugins/ca-pi/routines/tribunal/references/lenses/infra.md +24 -0
  154. package/plugins/ca-pi/routines/tribunal/references/lenses/migration.md +22 -0
  155. package/plugins/ca-pi/routines/tribunal/references/lenses/observability.md +21 -0
  156. package/plugins/ca-pi/routines/tribunal/references/lenses/performance.md +22 -0
  157. package/plugins/ca-pi/routines/tribunal/references/lenses/reliability.md +23 -0
  158. package/plugins/ca-pi/routines/tribunal/references/lenses/secrets-supply.md +22 -0
  159. package/plugins/ca-pi/routines/tribunal/references/lenses/test-fidelity.md +24 -0
  160. package/plugins/ca-pi/routines/tribunal/references/lenses/typesafety.md +21 -0
  161. package/plugins/ca-pi/routines/tribunal/references/report.md +19 -0
  162. package/plugins/ca-pi/routines/tribunal/references/schemas.md +58 -0
  163. package/plugins/ca-pi/routines/tribunal/references/telemetry.md +28 -0
  164. package/plugins/ca-pi/routines/tribunal/references/triage.md +53 -0
  165. package/plugins/ca-pi/routines/using-git-worktrees/SKILL.md +85 -0
  166. package/plugins/ca-pi/routines/writing-plans/SKILL.md +129 -0
  167. package/plugins/ca-pi/routines/writing-plans/references/farm-plan.md +50 -0
  168. package/plugins/ca-pi/skills/ca-add-dep/SKILL.md +88 -0
  169. package/plugins/ca-pi/skills/ca-adr/SKILL.md +30 -0
  170. package/plugins/ca-pi/skills/ca-adr-status/SKILL.md +30 -0
  171. package/plugins/ca-pi/skills/ca-arbiter/SKILL.md +36 -0
  172. package/plugins/ca-pi/skills/ca-audit/SKILL.md +51 -0
  173. package/plugins/ca-pi/skills/ca-btw/SKILL.md +23 -0
  174. package/plugins/ca-pi/skills/ca-checkpoint/SKILL.md +50 -0
  175. package/plugins/ca-pi/skills/ca-chore/SKILL.md +58 -0
  176. package/plugins/ca-pi/skills/ca-cleanup/SKILL.md +55 -0
  177. package/plugins/ca-pi/skills/ca-commands/SKILL.md +21 -0
  178. package/plugins/ca-pi/skills/ca-commit/SKILL.md +27 -0
  179. package/plugins/ca-pi/skills/ca-conflict/SKILL.md +61 -0
  180. package/plugins/ca-pi/skills/ca-context-check/SKILL.md +32 -0
  181. package/plugins/ca-pi/skills/ca-create-context/SKILL.md +32 -0
  182. package/plugins/ca-pi/skills/ca-debug/SKILL.md +42 -0
  183. package/plugins/ca-pi/skills/ca-decompose/SKILL.md +30 -0
  184. package/plugins/ca-pi/skills/ca-dev/SKILL.md +42 -0
  185. package/plugins/ca-pi/skills/ca-doctor/SKILL.md +44 -0
  186. package/plugins/ca-pi/skills/ca-feature/SKILL.md +105 -0
  187. package/plugins/ca-pi/skills/ca-fix/SKILL.md +42 -0
  188. package/plugins/ca-pi/skills/ca-init/SKILL.md +56 -0
  189. package/plugins/ca-pi/skills/ca-metrics/SKILL.md +80 -0
  190. package/plugins/ca-pi/skills/ca-new-skill/SKILL.md +34 -0
  191. package/plugins/ca-pi/skills/ca-override/SKILL.md +72 -0
  192. package/plugins/ca-pi/skills/ca-pr/SKILL.md +61 -0
  193. package/plugins/ca-pi/skills/ca-preview/SKILL.md +86 -0
  194. package/plugins/ca-pi/skills/ca-prune/SKILL.md +100 -0
  195. package/plugins/ca-pi/skills/ca-reconcile/SKILL.md +43 -0
  196. package/plugins/ca-pi/skills/ca-refactor/SKILL.md +43 -0
  197. package/plugins/ca-pi/skills/ca-release/SKILL.md +57 -0
  198. package/plugins/ca-pi/skills/ca-review/SKILL.md +63 -0
  199. package/plugins/ca-pi/skills/ca-spike/SKILL.md +41 -0
  200. package/plugins/ca-pi/skills/ca-sprint/SKILL.md +44 -0
  201. package/plugins/ca-pi/skills/ca-standup/SKILL.md +112 -0
  202. package/plugins/ca-pi/skills/ca-status/SKILL.md +56 -0
  203. package/plugins/ca-pi/skills/ca-task/SKILL.md +61 -0
  204. package/plugins/ca-pi/skills/ca-threat-model/SKILL.md +45 -0
  205. package/plugins/ca-pi/skills/ca-tribunal/SKILL.md +44 -0
  206. package/plugins/ca-pi/skills/ca-watch/SKILL.md +78 -0
@@ -0,0 +1,51 @@
1
+ ---
2
+ name: ca-audit
3
+ description: Assemble the governance record for a range — commits, overrides, ADRs, sprint auto-decisions, open questions, checkpoint findings — into one dated audit packet. Read-only.
4
+ argument-hint: "[<from-ref> <to-ref> | --since-checkpoint | --since <date>]"
5
+ ---
6
+
7
+ # /ca-audit — promotion packet
8
+
9
+ Everything codeArbiter logs, it logs append-only and scattered: `overrides.log`, `triage.log`,
10
+ `decisions/`, `sprint-log.md`, `checkpoints/`. This command assembles them into the one document a
11
+ team lead, compliance reviewer, or auditor actually asks for: *what happened in this window, who
12
+ authorized it, and what is still open.* Read-only over every source; its only write is the packet.
13
+
14
+ ## Window
15
+
16
+ - `<from-ref> <to-ref>` — two tags/SHAs (e.g. `v1.2.0 v1.3.0`).
17
+ - `--since-checkpoint` — from the `last-checkpoint` record to HEAD.
18
+ - `--since <date>` — ISO date to HEAD.
19
+ - No argument → from the most recent tag to HEAD (no tags → last checkpoint; neither → BLOCK and
20
+ ask for an explicit window).
21
+
22
+ ## Flow
23
+
24
+ 1. Resolve the window to a commit range and a time range; both appear in the packet header.
25
+ 2. Gather, citing each source file:
26
+ - **Commits** — `git log` over the range, grouped by Conventional-Commit type; merge commits
27
+ listed with their PR reference.
28
+ - **Overrides** — every `overrides.log` line in the time range, verbatim (including
29
+ `SECURITY-OVERRIDE` and `DEV:` entries), each with its `BY:` identity.
30
+ - **Triage** — every small-lane classification in `triage.log` in range.
31
+ - **Decisions** — ADRs created or superseded in range (from `decisions/` file dates and the
32
+ supersede chains), each with its Decided-by attribution.
33
+ - **Sprint auto-decisions** — entries from `sprint-log.md` in range; list every `low`-confidence
34
+ entry verbatim, count the `high` ones.
35
+ - **Open questions** — all currently-unresolved `[CONFIRM-NN]` items.
36
+ - **Checkpoint findings** — from the most recent `checkpoints/*.md`: findings still open.
37
+ 3. Write the packet to `<project-root>/.codearbiter/audits/<YYYY-MM-DD>.md` (second run the
38
+ same day appends `-2`, `-3`, … — an existing packet is never overwritten). Surface the path and
39
+ a three-line summary: commits, overrides, open items.
40
+
41
+ ## Hard gate
42
+
43
+ Read-only over every source — MUST NOT modify any log, decision, or checkpoint while assembling.
44
+ MUST NOT overwrite an existing packet. MUST quote override and low-confidence sprint entries
45
+ verbatim — never paraphrase an audit line. An empty section is stated as empty, never omitted —
46
+ "no overrides in window" is itself the finding.
47
+
48
+ ## When NOT to use
49
+
50
+ - Live project state right now → `/ca-status`.
51
+ - Triggering reviews → `/ca-checkpoint` (this command only reports what reviews already found).
@@ -0,0 +1,23 @@
1
+ ---
2
+ name: ca-btw
3
+ description: Lightweight Q&A about the project — answer from context and return, no routing, no state change.
4
+ argument-hint: "<question>"
5
+ ---
6
+
7
+ # /ca-btw — quick Q&A
8
+
9
+ The one exception to the slash-command pipeline. Answer the question and return. No skill is routed
10
+ to, no agent dispatched, no file written. Always safe to invoke.
11
+
12
+ ## Flow
13
+
14
+ 1. Read `<project-root>/.codearbiter/` docs as needed to answer accurately — `CONTEXT.md`,
15
+ `tech-stack.md`, `coding-standards.md`, `security-controls.md`, `decisions/`, `specs/`, `plans/`.
16
+ 2. Answer directly and conversationally — not a formatted report.
17
+ 3. If the answer is not in context, say so plainly. Never guess.
18
+
19
+ ## Hard gate
20
+
21
+ Read-only. MUST NOT write or modify any file, route to a skill, dispatch an agent, run tests, or
22
+ resolve a `[CONFIRM-NN]`. If the question is really a request to build or fix something, say so and
23
+ point to `/ca-feature` or `/ca-fix` — do not start implementation from `/ca-btw`.
@@ -0,0 +1,50 @@
1
+ ---
2
+ name: ca-checkpoint
3
+ description: Periodic multi-reviewer sweep of the whole codebase — surfaces a triaged checkpoint report.
4
+ argument-hint: (none)
5
+ ---
6
+
7
+ # /ca-checkpoint — codebase sweep
8
+
9
+ Periodic sweep of the entire codebase with the reviewer fleet, funneled to a single dated report. Surfaces findings — not a promotion gate, enforces no sign-off.
10
+
11
+ ## Flow
12
+
13
+ 1. Build the unit list — the same fleet as `/ca-review`, scoped to the whole codebase against the
14
+ `<project-root>/.codearbiter/` docs:
15
+
16
+ | Reviewer | Reads |
17
+ |---|---|
18
+ | `security-reviewer` | `security-controls.md`; reviews security posture |
19
+ | `auth-crypto-reviewer` | `security-controls.md`; authn/crypto/key/secret paths |
20
+ | `dependency-reviewer` | dependency manifests; license + supply-chain posture |
21
+ | `migration-reviewer` | migration history; safety + classification |
22
+ | `coverage-auditor` | test coverage vs. obligations across the tree |
23
+ | `architecture-drift-reviewer` | `decisions/`; drift between code and accepted ADRs |
24
+
25
+ 2. Route to `dispatching-parallel-agents` (`<plugin-root>/routines/dispatching-parallel-agents/SKILL.md`) with that unit list (read-only batch). It dedupes, then
26
+ funnels through `finding-triage` → `checkpoint-aggregator`.
27
+ 3. `checkpoint-aggregator` writes the dated report to
28
+ `<project-root>/.codearbiter/checkpoints/YYYY-MM-DD.md`: findings by severity with
29
+ file:line, and out-of-scope items marked inline `[NEEDS-TRIAGE]`.
30
+ 4. Write the current override **count** to `<project-root>/.codearbiter/last-checkpoint` — the
31
+ integer baseline the startup briefing subtracts for its overrides-since-checkpoint counter. The value is
32
+ the number of non-comment, non-blank lines in `overrides.log` at this moment (`0` if the log is
33
+ absent). This re-zeros the `over:N` segment until the next `/ca-override`. Write a bare integer,
34
+ not a timestamp — the briefing treats any value above the current total as stale and falls back
35
+ to showing every override.
36
+ 5. Report the checkpoint path.
37
+
38
+ ## Hard gate
39
+
40
+ Read-only except writing the checkpoint doc and `last-checkpoint` — MUST NOT modify code. MUST NOT
41
+ consume raw reviewer output — only the `finding-triage` → `checkpoint-aggregator` verdict. MUST NOT
42
+ resolve a `[CONFIRM-NN]` surfaced during the sweep by guessing. The report surfaces findings; it does
43
+ not block or sign off anything.
44
+
45
+ ## When NOT to use
46
+
47
+ - Reviewing just the current diff → `/ca-review`.
48
+ - A pre-implementation threat model → `/ca-threat-model`.
49
+ - ADR health only → `/ca-adr-status`.
50
+ - A whole-codebase deep audit → `/ca-tribunal` (checkpoint is the lean periodic sweep; tribunal its rare deep counterpart).
@@ -0,0 +1,58 @@
1
+ ---
2
+ name: ca-chore
3
+ description: Sanctioned lane for non-behavioral work — docs-only edits, dependency bumps, reverts. Type-scaled gates; no TDD demanded of prose.
4
+ argument-hint: "<docs|deps|revert> <description or SHA>"
5
+ ---
6
+
7
+ # /ca-chore — non-behavioral change lane
8
+
9
+ The sanctioned path for work that has no behavioral surface to test-drive. Three types, each with
10
+ the gates that fit it — and nothing it doesn't need. Everything still exits through `commit-gate`
11
+ (classification `docs` / `chore` / `revert`) and lands via branch/PR.
12
+
13
+ ## Types
14
+
15
+ **docs** — README, comments, CHANGELOG, `.codearbiter/` prose, typo fixes.
16
+ - Gates: secrets scan over the diff; diff review (no behavioral code change smuggled in);
17
+ anti-slop copy pass on any user-facing doc in the change; `commit-gate`.
18
+ - **Anti-slop copy pass** — for any user-facing doc the change touches (repo-root community docs
19
+ and `docs/**`; not codeArbiter's own framework bodies), load
20
+ `<plugin-root>/includes/anti-slop-design/INDEX.md`, then `core.md` and the
21
+ `medium-documents` leaf (§7.A.1), and run the §3.A em-dash ban and the §3.B copy self-audit over
22
+ the authored prose before `commit-gate`. The `H-13` PostToolUse reminder surfaces §3.A separator
23
+ dashes as you write, so the pass is a confirmation, not a discovery.
24
+ - No `tdd` — prose has no failing test to write.
25
+
26
+ **deps** — bump an existing dependency's version (manifest + lockfile together, never one without
27
+ the other).
28
+ - Gates: dispatch `dependency-reviewer` (same vetting as `/ca-add-dep` — license, provenance,
29
+ supply chain, changelog of the bump); full test suite green after the bump; `commit-gate`.
30
+ - A bump that requires code changes to adopt is not a chore — route the code change through
31
+ `/ca-feature` or `/ca-fix`.
32
+
33
+ **revert** — back out a named commit.
34
+ - Gates: `git revert <SHA>` (never hand-edited backout); full suite green after the revert; the
35
+ commit message references the reverted SHA and the reason; `commit-gate`.
36
+ - No new regression test demanded — the revert restores already-tested behavior. If the revert is
37
+ fixing a defect the suite missed, open `/ca-fix` afterward to pin it.
38
+
39
+ ## Flow
40
+
41
+ 1. Classify `$ARGUMENTS` into one of the three types. Anything with a behavioral code change beyond
42
+ a mechanical revert is NOT a chore — redirect to `/ca-feature` or `/ca-fix` and stop.
43
+ 2. Run the type's gates above.
44
+ 3. Exit through `commit-gate` with the matching classification, then
45
+ `finishing-a-development-branch` as usual.
46
+
47
+ ## Hard gate
48
+
49
+ MUST reject a change containing behavioral code (beyond the revert itself) — that is `/ca-feature`
50
+ or `/ca-fix` territory. MUST keep manifest and lockfile changes in the same commit for `deps`.
51
+ MUST run the full suite for `deps` and `revert`. MUST run the anti-slop copy pass on any user-facing
52
+ doc a `docs` change authors or edits. Never skips `commit-gate`.
53
+
54
+ ## When NOT to use
55
+
56
+ - Any new or changed behavior → `/ca-feature` / `/ca-fix`.
57
+ - Adding a NEW dependency → `/ca-add-dep`.
58
+ - Restructuring code → `/ca-refactor`.
@@ -0,0 +1,55 @@
1
+ ---
2
+ name: ca-cleanup
3
+ description: Finish an already-merged branch — classify the leftover artifacts, return to a fast-forwarded default checkout, and delete the merged local branch. Every discard confirmed per item; containment proven, never assumed.
4
+ argument-hint: (none)
5
+ ---
6
+
7
+ # /ca-cleanup — post-merge branch transition
8
+
9
+ Your PR merged. You are still standing on the branch, with build output, worktree
10
+ residue, and scratch files around you. This command owns the ordinary walk back:
11
+ prove the branch actually landed, decide what the leftovers are, get to a clean
12
+ fast-forwarded default checkout, and drop the merged local branch.
13
+
14
+ It exists because nothing else owned it. `/ca-standup` is daily hygiene and
15
+ deliberately never touches the current branch or the default one;
16
+ `/ca-chore` takes docs, dependency bumps, and reverts. Issue #308 recorded
17
+ what the gap produced: a routine cleanup routed to `/ca-chore`, which
18
+ refused it, and then to `/ca-override` — a bypass invented to cover missing
19
+ coverage. This is that coverage.
20
+
21
+ ## Routes to
22
+
23
+ The `post-merge-cleanup` skill (`<plugin-root>/routines/post-merge-cleanup/SKILL.md`),
24
+ which owns the containment proof, the artifact classification, and the per-item
25
+ confirmations.
26
+
27
+ ## When NOT to use
28
+
29
+ - The branch has NOT merged yet → `/ca-pr` (`finishing-a-development-branch`)
30
+ owns the terminal decision; come back here after it lands.
31
+ - Daily start-of-day hygiene across *other* branches and worktrees →
32
+ `/ca-standup`.
33
+ - A read-only look at what is dirty → `/ca-status`.
34
+ - Uncommitted work you want to keep → `/ca-commit`. This command never
35
+ commits for you.
36
+
37
+ ## Hard gate
38
+
39
+ - MUST prove the current branch is contained in the **fetched** default branch —
40
+ SHA-ancestry, or a squash-merge proven by the merged PR record (`headRefOid`
41
+ == HEAD) — before anything is deleted. An unproven or unfetched comparison
42
+ STOPs — a branch that only *looks* merged is not merged.
43
+ - MUST classify every dirty or untracked artifact as **unique**, **redundant**,
44
+ or **superseded**, and MUST NOT discard a unique or unclassifiable one without
45
+ explicit per-item confirmation naming it.
46
+ - MUST confirm each removal individually — no batched yes, no implied yes.
47
+ - MUST reach the default branch with a clean working tree, and MUST fast-forward
48
+ with `--ff-only` only — never a merge commit, never a rebase, never a reset
49
+ that discards work.
50
+ - MUST use `git branch -d`, and MAY use `-D` only when the squash-merge PR-record
51
+ proof held this run and `-d` refused, with that proof restated and the branch
52
+ named in the confirmation. MUST NOT otherwise force-delete a branch, force-push,
53
+ delete a remote branch, or write to the default branch.
54
+ - MUST NOT require `/ca-override`. This is ordinary lifecycle work; if it
55
+ cannot proceed, the reason is a stated gate, not a bypass.
@@ -0,0 +1,21 @@
1
+ ---
2
+ name: ca-commands
3
+ description: Show the codeArbiter command catalog — the public command list and what each routes to.
4
+ argument-hint: (none)
5
+ ---
6
+
7
+ # /ca-commands — command catalog
8
+
9
+ Present the public command list. Read-only, no state change.
10
+
11
+ ## Flow
12
+
13
+ 1. Read the quick-reference table from `<plugin-root>/COMMANDS.md` — the single source of truth
14
+ for the catalog.
15
+ 2. Output that table only — command, one-line description, route. No prose walkthrough, and no
16
+ second copy maintained here (a hard-coded table drifts against `COMMANDS.md`).
17
+
18
+ ## Hard gate
19
+
20
+ Read-only. MUST NOT modify a file or route to a skill. MUST render from `COMMANDS.md`, never from a
21
+ catalog copied into this file. Output the catalog only.
@@ -0,0 +1,27 @@
1
+ ---
2
+ name: ca-commit
3
+ description: Run the full commit gate — the only sanctioned path to a git commit.
4
+ argument-hint: (none)
5
+ ---
6
+
7
+ # /ca-commit — commit gate
8
+
9
+ The only path to a commit. The orchestrator issues no `git commit` without the `commit-gate` skill
10
+ clearing first. "It looks good" is not authorization. No arguments — the skill reads current git
11
+ state (staged files, diff, test results) and decides whether every gate is green.
12
+
13
+ ## Routes to
14
+
15
+ The `commit-gate` skill (`<plugin-root>/routines/commit-gate/SKILL.md`) — all phases. The skill
16
+ is canonical for its phases, gates, and output format.
17
+
18
+ ## When NOT to use
19
+
20
+ - Before writing code → `/ca-feature` or `/ca-fix` first.
21
+ - To check PR readiness → `/ca-pr` (dispatches additional BLOCK-level reviewers).
22
+ - To run tests without committing → run the test command from `tech-stack.md` directly.
23
+
24
+ ## Hard gate
25
+
26
+ MUST NOT commit without `commit-gate` clearing. MUST NOT commit if the project test suite is not
27
+ green.
@@ -0,0 +1,61 @@
1
+ ---
2
+ name: ca-conflict
3
+ description: Stop everything and surface a rule conflict — persona vs. docs vs. code. Present both sides and the conflict-hierarchy level; the user resolves. No silent reconciliation.
4
+ argument-hint: (none)
5
+ ---
6
+
7
+ # /ca-conflict — conflict protocol
8
+
9
+ Orchestrator protocol, not a skill route. When a rule conflict surfaces — the persona, a `.codearbiter/` document, and code contradict each other, or two docs contradict each other — all other work STOPs and the conflict is presented for the user to resolve. The orchestrator never picks a side.
10
+
11
+ ## Flow
12
+
13
+ 1. **Halt** — suspend the in-progress task. No partial progress.
14
+ 2. **Identify** the conflicting sources (A and B): which document, file, or rule each is.
15
+ 3. **Quote** the exact passages side by side.
16
+ 4. **Classify** the conflict against the §2 conflict-resolution hierarchy and name the level the
17
+ tension sits at. Note which source was more recently updated — informational, not determinative.
18
+ 5. **Present** and wait. Work resumes only after the user explicitly resolves.
19
+
20
+ ## Output
21
+
22
+ ```
23
+ ## Conflict detected — work halted
24
+
25
+ ### Source A
26
+ File: <path> · Last updated: <date>
27
+ > <exact quoted text>
28
+
29
+ ### Source B
30
+ File: <path> · Last updated: <date>
31
+ > <exact quoted text>
32
+
33
+ ### Nature of conflict
34
+ <what the two sources disagree about>
35
+
36
+ ### Conflict-hierarchy level
37
+ Level N — <why the tension sits here>
38
+
39
+ ### To resolve
40
+ <options — update A, update B, or supersede one via an ADR>
41
+
42
+ ---
43
+ Work is halted. Resolve before the orchestrator proceeds.
44
+ ```
45
+
46
+ ## When routed automatically
47
+
48
+ The orchestrator surfaces a conflict on its own when the persona and a `.codearbiter/` doc contradict
49
+ each other, two docs contradict, code contradicts an accepted ADR, a new ADR contradicts an accepted
50
+ one, or a task instruction contradicts a hard gate.
51
+
52
+ ## After resolution
53
+
54
+ The orchestrator records the resolution; if the user authorized a doc update, it makes that update
55
+ (the one sanctioned side effect) and resumes from the suspension point.
56
+
57
+ ## Hard gate
58
+
59
+ MUST stop ALL other work. MUST NOT pick a side without explicit user instruction. MUST NOT decide by
60
+ recency alone. MUST NOT silently continue past a detected conflict. If the conflict involves a guessed
61
+ or auto-resolved `[CONFIRM-NN]`, flag that as a separate critical finding.
@@ -0,0 +1,32 @@
1
+ ---
2
+ name: ca-context-check
3
+ description: Optional manual drift audit — report stale provenance-tracked docs, then per stale doc offer re-scout, re-baseline, or defer. Not the daily loop; commit-gate auto-heal owns routine maintenance.
4
+ argument-hint: (none)
5
+ ---
6
+
7
+ # /ca-context-check — manual drift audit
8
+
9
+ An optional, on-demand audit for bypass cases: a merge or external edit
10
+ changed a tracked source file you are not about to commit, so commit-gate's
11
+ auto-heal did not fire. Routes to the `context-check` skill.
12
+
13
+ ## When to use
14
+
15
+ Use this only when you believe drift was introduced outside a commit (e.g. a
16
+ direct push, a merge you did not author, a manual file edit while outside a
17
+ normal commit workflow). The SessionStart drift line (backed by
18
+ `startup_drift_line`) is the usual signal that this check is warranted.
19
+
20
+ ## When NOT to use
21
+
22
+ - **Routine maintenance** — commit-gate auto-heal runs automatically on every
23
+ commit that touches a `drift_trigger` source. No manual intervention needed
24
+ for the common case.
25
+ - Full brownfield re-scan from scratch → `/ca-create-context`.
26
+ - Project state snapshot → `/ca-status`.
27
+
28
+ ## Hard gate
29
+
30
+ Read-only unless the user explicitly chooses re-scout (partial scout run) or
31
+ re-baseline (hash update in `.codearbiter/.provenance/`). MUST NOT commit on
32
+ its own. MUST NOT modify any derived doc without an explicit user selection.
@@ -0,0 +1,32 @@
1
+ ---
2
+ name: ca-create-context
3
+ description: Brownfield back-fill — scout an existing codebase and populate .codearbiter/, then lock it initialized.
4
+ argument-hint: (none)
5
+ ---
6
+
7
+ # /ca-create-context — brownfield populate
8
+
9
+ Wraps an existing codebase in project state without guessing. Dispatches parallel scouts to read the repository, synthesizes their findings into the surviving `.codearbiter/` doc set, resolves gaps via a targeted interview, and locks the project initialized. No arguments — the skill reads the repo and asks only what it cannot determine.
10
+
11
+ The only permitted path to populate `.codearbiter/` when meaningful source code already exists. For a greenfield project with no source, use `/ca-decompose`.
12
+
13
+ ## Routes to
14
+
15
+ The `context-creation` skill (`<plugin-root>/routines/context-creation/SKILL.md`) — six gated
16
+ phases: pre-flight, scout dispatch, synthesis, gap interview, write, lock. Scouts return paths, line
17
+ numbers, and named values only — never raw source or secret values. The skill is canonical for the
18
+ phases and their gates.
19
+
20
+ ## When NOT to use
21
+
22
+ - Project already initialized (`<!--INITIALIZED-->` in `CONTEXT.md`) → `/ca-status`.
23
+ - Greenfield project, no source → `/ca-decompose`.
24
+ - `.codearbiter/` not yet scaffolded → `/ca-init` first.
25
+ - Update one doc → edit `<project-root>/.codearbiter/` directly or use `/ca-feature`.
26
+
27
+ ## Hard gate
28
+
29
+ BLOCK if `<!--INITIALIZED-->` is already present in `CONTEXT.md`. BLOCK if no meaningful source exists
30
+ (route to `/ca-decompose`). BLOCK if any scout fails to return before synthesis. BLOCK if any
31
+ `[CONFIRM-NN]` exits the gap interview unresolved and undeferred. MUST NOT write `<!--INITIALIZED-->`
32
+ until every gap is resolved or deferred to `open-questions.md`.
@@ -0,0 +1,42 @@
1
+ ---
2
+ name: ca-debug
3
+ description: Investigate-then-decide root-cause analysis for a defect whose cause is unknown. No code changes — exits to /ca-fix, /ca-adr, or a no-action close.
4
+ argument-hint: "<observed symptom>"
5
+ ---
6
+
7
+ # /ca-debug — root-cause investigation
8
+
9
+ Investigates a defect, anomaly, or unexpected behavior whose cause is not yet known. Separates investigation from implementation: no code is modified while debugging. Describe the symptom with enough fidelity that another operator could reproduce it — observed behavior, reproduction steps (or intermittent-trigger profile), and environment. Vague descriptions ("it's flaky") are rejected; the orchestrator asks for clarification before routing.
10
+
11
+ If the cause is already known and a regression test is already named, invoke `/ca-fix` directly.
12
+
13
+ ## Routes to
14
+
15
+ The `debug` skill (`<plugin-root>/routines/debug/SKILL.md`) — five gated phases: symptom
16
+ capture, hypothesis generation, evidence gathering, root-cause decision, handoff. Phase 4 forces one
17
+ named exit:
18
+
19
+ - **(a) Confirmed bug → `/ca-fix`**, carrying the confirmed bug statement, cited evidence, and a named
20
+ regression test obligation tied to the minimal repro.
21
+ - **(b) Behavior/design ambiguity → `/ca-adr`**, with the ambiguity statement and evidence ledger,
22
+ authored only with explicit user attribution.
23
+ - **(c) No-action close** — symptom and rationale appended to
24
+ `<project-root>/.codearbiter/open-tasks.md`.
25
+
26
+ A real finding that is out of scope for those exits is marked inline `[NEEDS-TRIAGE]` and the
27
+ investigation continues.
28
+
29
+ ## When NOT to use
30
+
31
+ - Known bug with a named regression test → `/ca-fix` directly.
32
+ - Design discussion with no failing behavior → `/ca-adr`.
33
+ - New feature → `/ca-feature`.
34
+ - A general "why does it behave this way" question with no defect → `/ca-btw`.
35
+ - Re-entry from inside `/ca-fix` or `/ca-adr` → exit that command first (routing-cycle prevention).
36
+
37
+ ## Hard gate
38
+
39
+ MUST NOT modify any code during Phases 1–5 — code changes belong to `/ca-fix`. MUST exit Phase 4 with
40
+ exactly one of (a)/(b)/(c). Exit (a) MUST carry a regression test obligation. Exit (b) MUST obtain
41
+ user attribution before any `/ca-adr`. MUST NOT promote INCONCLUSIVE evidence to CONFIRMED without a
42
+ cited source.
@@ -0,0 +1,30 @@
1
+ ---
2
+ name: ca-decompose
3
+ description: Greenfield decomposition interview — a layered interview that populates .codearbiter/ and locks it initialized.
4
+ argument-hint: (none)
5
+ ---
6
+
7
+ # /ca-decompose — greenfield populate
8
+
9
+ Stands up project state for a greenfield project — one with no meaningful source code yet. A senior-architect persona drives a six-layer interview eliciting purpose, scope, primary users, domain vocabulary, and architectural constraints, persisting each layer to disk so a context reset loses nothing, then writes the surviving `.codearbiter/` doc set and locks the project initialized. No arguments — the skill interviews the user (a handoff summary may be supplied freely during the interview).
10
+
11
+ The only permitted path to populate `.codearbiter/` when no meaningful source exists. For an existing codebase, use `/ca-create-context`.
12
+
13
+ ## Routes to
14
+
15
+ The `decompose` skill (`<plugin-root>/routines/decompose/SKILL.md`) — six gated phases:
16
+ pre-flight, persona adoption, layered interview, synthesis, population, lock. The skill is canonical
17
+ for the layers and their gates.
18
+
19
+ ## When NOT to use
20
+
21
+ - Project already initialized (`<!--INITIALIZED-->` in `CONTEXT.md`) → `/ca-status`.
22
+ - Existing codebase with source present → `/ca-create-context`.
23
+ - `.codearbiter/` not yet scaffolded → `/ca-init` first.
24
+ - Update one doc → edit `<project-root>/.codearbiter/` directly or use `/ca-feature`.
25
+
26
+ ## Hard gate
27
+
28
+ BLOCK if `<!--INITIALIZED-->` is already present in `CONTEXT.md`. BLOCK if meaningful source is
29
+ detected (route to `/ca-create-context`). BLOCK if any `[CONFIRM-NN]` exits synthesis unresolved and
30
+ undeferred. MUST NOT write `<!--INITIALIZED-->` until every required doc is present and non-empty.
@@ -0,0 +1,42 @@
1
+ ---
2
+ name: ca-dev
3
+ description: Maintainer override — suspend orchestration to edit codeArbiter itself. Env-gated (CODEARBITER_DEV=1), entry/exit logged to overrides.log.
4
+ argument-hint: "[note]"
5
+ ---
6
+
7
+ # /ca-dev — maintainer override
8
+
9
+ Suspends orchestration for working ON codeArbiter — skill, agent, command, and hook bodies,
10
+ `ORCHESTRATOR.md`, settings. Not for project work; for that, use the normal commands or
11
+ `/ca-override`.
12
+
13
+ ## Flow
14
+
15
+ 1. **Env gate** — check the `CODEARBITER_DEV` environment variable. Not set to `1` → refuse in one
16
+ line ("dev mode requires CODEARBITER_DEV=1") and remain in orchestration. This keeps the mode a
17
+ deliberate maintainer posture, not a casual bypass.
18
+ 2. **Log entry** — detect identity from `git config user.email`; append to
19
+ `<project-root>/.codearbiter/overrides.log` (append-only, `>>`):
20
+
21
+ ```
22
+ [ISO-8601 timestamp] | BY: <email> | DEV: enter | NOTE: <note or —>
23
+ ```
24
+
25
+ 3. **Marker** — drop `<project-root>/.codearbiter/.markers/dev-active` (gitignored UI flag).
26
+ 4. **Mode** — plain, direct coding assistant: no routing, no skills, no gates, no `[CONFIRM-NN]`
27
+ surfacing, no redirect. Persists until `/ca-arbiter` or a new session.
28
+
29
+ Note (#271): if another session starts in this repo while this marker is live, SessionStart no longer
30
+ unconditionally clears it out from under you — it is session-scoped now, so a concurrently-running dev
31
+ session's marker survives a different session's startup. See `/ca-arbiter` for the exit-path detail.
32
+
33
+ ## Hard gate
34
+
35
+ MUST refuse without `CODEARBITER_DEV=1`. MUST write the `DEV: enter` log line before suspending
36
+ orchestration. Even in dev mode, `overrides.log` is never rewritten — the append-only rule has no
37
+ dev exception.
38
+
39
+ ## When NOT to use
40
+
41
+ - Bypassing a single gate on project work → `/ca-override "reason"`.
42
+ - Asking a question → `/ca-btw`.
@@ -0,0 +1,44 @@
1
+ ---
2
+ name: ca-doctor
3
+ description: Verify the active host install, package, command ownership, enforcement, wrapper self-test, and active-dispatch coverage gap. Read-only.
4
+ argument-hint: (none)
5
+ ---
6
+
7
+ # /ca-doctor — install health
8
+
9
+ Silent dormancy is the worst failure shape this plugin has: the gates look installed but never fire.
10
+ This command proves the active host is healthy and reports every non-OK finding with an exact
11
+ remediation.
12
+
13
+ ## Flow
14
+
15
+ 1. The `/ca-doctor` alias has already run the extension's structured Pi doctor report before sending
16
+ this generated skill. Present the `<codearbiter-doctor-report>` block below verbatim.
17
+ 2. The report inspects, without granting trust: active Git package origin/version, exact Pi CLI and
18
+ module package identity, stable Pi/Node/Python support, shared-core and bridge paths, command and
19
+ native-equivalent skill-expansion ownership, child/ambient-marker state, and final wrapper sources.
20
+ 3. Its `wrapper-self-test` row submits only `git add --all --dry-run` directly to the stored governed
21
+ Pi bash wrapper. The exact shared-core `[H-03]` block is healthy and cannot stage files; execution
22
+ or a different block is unhealthy. This self-test does not traverse Pi's active dispatcher. Do not
23
+ rerun or respell it.
24
+ 4. Its `active-dispatch` row remains degraded because supported Pi 0.80.5/0.80.10 public extension
25
+ APIs cannot submit that deterministic call through the active dispatcher. PI-AC-28 remains blocked
26
+ until supported-version real-host promotion/CI evidence closes the gap.
27
+
28
+ ## Remediation ladder
29
+
30
+ 1. Restart Pi so package resources and final wrappers register in one fresh process.
31
+ 2. Reinstall `ca-pi` from the approved pinned Git tag. For project-local packages, inspect `/trust`
32
+ and grant trust only if you accept that source; codeArbiter never grants it.
33
+ 3. If dormancy was intended, `/ca-init` opts the repository in.
34
+
35
+ ## When NOT to use
36
+
37
+ - Scaffold state only → `/ca-init --check`.
38
+ - Project progress, not install health → `/ca-status`.
39
+
40
+ ## Hard gate
41
+
42
+ Read-only. MUST NOT create markers, stage files, grant trust, weaken a block, or retry the
43
+ wrapper self-test with different spelling. MUST preserve the degraded active-dispatch diagnosis until
44
+ supported-version real-host promotion/CI evidence closes PI-AC-28.