@arbiterforge/ca-pi 0.6.3 → 0.10.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 (67) hide show
  1. package/README.md +41 -98
  2. package/package.json +1 -1
  3. package/plugins/ca-pi/CHANGELOG.md +145 -0
  4. package/plugins/ca-pi/COMMANDS.md +138 -68
  5. package/plugins/ca-pi/SKILLS.md +137 -30
  6. package/plugins/ca-pi/agents/INDEX.md +3 -2
  7. package/plugins/ca-pi/agents/checkpoint-aggregator.md +8 -7
  8. package/plugins/ca-pi/agents/design-quality-reviewer.md +1 -1
  9. package/plugins/ca-pi/agents/finding-triage.md +31 -14
  10. package/plugins/ca-pi/agents/verdict-aggregator.md +64 -0
  11. package/plugins/ca-pi/{ORCHESTRATOR.md → arbiter.md} +37 -36
  12. package/plugins/ca-pi/extensions/codearbiter.js +844 -19
  13. package/plugins/ca-pi/generated/command-catalog.json +386 -196
  14. package/plugins/ca-pi/generated/roles.json +9 -0
  15. package/plugins/ca-pi/hooks/_arbiterstatelib.py +59 -11
  16. package/plugins/ca-pi/hooks/_bashguardlib.py +30 -12
  17. package/plugins/ca-pi/hooks/_gitexec.py +23 -0
  18. package/plugins/ca-pi/hooks/_githooks.py +50 -23
  19. package/plugins/ca-pi/hooks/_hooklib.py +148 -20
  20. package/plugins/ca-pi/hooks/_host.py +9 -1
  21. package/plugins/ca-pi/hooks/_metricslib.py +20 -0
  22. package/plugins/ca-pi/hooks/_modelib.py +762 -0
  23. package/plugins/ca-pi/hooks/_protectedlib.py +13 -4
  24. package/plugins/ca-pi/hooks/_prunelib.py +51 -12
  25. package/plugins/ca-pi/hooks/_prunepolicy.py +33 -7
  26. package/plugins/ca-pi/hooks/_readinjectlib.py +10 -4
  27. package/plugins/ca-pi/hooks/_releaselib.py +278 -48
  28. package/plugins/ca-pi/hooks/_updatelib.py +230 -50
  29. package/plugins/ca-pi/hooks/doctor.py +58 -9
  30. package/plugins/ca-pi/hooks/git-enforce.py +10 -3
  31. package/plugins/ca-pi/hooks/hostapi.py +220 -22
  32. package/plugins/ca-pi/hooks/pi-bridge.py +10 -4
  33. package/plugins/ca-pi/hooks/prompt-submit.py +486 -0
  34. package/plugins/ca-pi/hooks/prune-transcript.py +23 -3
  35. package/plugins/ca-pi/hooks/session-start.py +529 -435
  36. package/plugins/ca-pi/hooks/statusline.py +28 -10
  37. package/plugins/ca-pi/hooks/wire-statusline.py +13 -8
  38. package/plugins/ca-pi/includes/anti-slop-design/INDEX.md +1 -1
  39. package/plugins/ca-pi/includes/command-compatibility.md +16 -0
  40. package/plugins/ca-pi/includes/dangerous-mode.md +57 -0
  41. package/plugins/ca-pi/includes/ops-mode.md +96 -0
  42. package/plugins/ca-pi/includes/pi-host-notes.md +10 -1
  43. package/plugins/ca-pi/includes/redirect.md +12 -1
  44. package/plugins/ca-pi/includes/routing-table.md +14 -5
  45. package/plugins/ca-pi/includes/safety-core.md +86 -0
  46. package/plugins/ca-pi/includes/smarts/core.md +1 -1
  47. package/plugins/ca-pi/routines/INDEX.md +1 -1
  48. package/plugins/ca-pi/routines/decision-lifecycle/SKILL.md +55 -3
  49. package/plugins/ca-pi/routines/decision-lifecycle/references/adr-template.md +9 -1
  50. package/plugins/ca-pi/routines/decompose/SKILL.md +1 -1
  51. package/plugins/ca-pi/routines/dispatching-parallel-agents/SKILL.md +4 -4
  52. package/plugins/ca-pi/routines/release/SKILL.md +1 -1
  53. package/plugins/ca-pi/skills/ca-checkpoint/SKILL.md +5 -4
  54. package/plugins/ca-pi/skills/ca-cleanup/SKILL.md +6 -0
  55. package/plugins/ca-pi/skills/ca-context-check/SKILL.md +6 -0
  56. package/plugins/ca-pi/skills/ca-create-context/SKILL.md +6 -0
  57. package/plugins/ca-pi/skills/ca-decompose/SKILL.md +6 -0
  58. package/plugins/ca-pi/skills/ca-doctor/SKILL.md +4 -0
  59. package/plugins/ca-pi/skills/ca-init/SKILL.md +18 -1
  60. package/plugins/ca-pi/skills/ca-pr/SKILL.md +17 -1
  61. package/plugins/ca-pi/skills/ca-review/SKILL.md +3 -4
  62. package/plugins/ca-pi/skills/ca-spike/SKILL.md +15 -8
  63. package/plugins/ca-pi/skills/ca-status/SKILL.md +13 -1
  64. package/plugins/ca-pi/skills/ca-watch/SKILL.md +6 -0
  65. package/plugins/ca-pi/includes/dev-mode.md +0 -30
  66. package/plugins/ca-pi/skills/ca-arbiter/SKILL.md +0 -36
  67. package/plugins/ca-pi/skills/ca-dev/SKILL.md +0 -42
@@ -1,197 +1,387 @@
1
- [
2
- {
3
- "name": "add-dep",
4
- "description": "Vet a new or changed third-party dependency for license, provenance, and supply-chain risk before any install runs.",
5
- "skillPath": "skills/ca-add-dep/SKILL.md"
6
- },
7
- {
8
- "name": "adr",
9
- "description": "Author a numbered, dated, user-attributed Architecture Decision Record under .codearbiter/decisions/.",
10
- "skillPath": "skills/ca-adr/SKILL.md"
11
- },
12
- {
13
- "name": "adr-status",
14
- "description": "Report the health of Architecture Decision Records — aged, unchallenged, supersession candidates, unresolved CONFIRM-NN. Read-only.",
15
- "skillPath": "skills/ca-adr-status/SKILL.md"
16
- },
17
- {
18
- "name": "arbiter",
19
- "description": "Exit maintainer dev mode — restore orchestration, remove the dev marker, log the exit.",
20
- "skillPath": "skills/ca-arbiter/SKILL.md"
21
- },
22
- {
23
- "name": "audit",
24
- "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.",
25
- "skillPath": "skills/ca-audit/SKILL.md"
26
- },
27
- {
28
- "name": "btw",
29
- "description": "Lightweight Q&A about the project — answer from context and return, no routing, no state change.",
30
- "skillPath": "skills/ca-btw/SKILL.md"
31
- },
32
- {
33
- "name": "checkpoint",
34
- "description": "Periodic multi-reviewer sweep of the whole codebase — surfaces a triaged checkpoint report.",
35
- "skillPath": "skills/ca-checkpoint/SKILL.md"
36
- },
37
- {
38
- "name": "chore",
39
- "description": "Sanctioned lane for non-behavioral work — docs-only edits, dependency bumps, reverts. Type-scaled gates; no TDD demanded of prose.",
40
- "skillPath": "skills/ca-chore/SKILL.md"
41
- },
42
- {
43
- "name": "cleanup",
44
- "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.",
45
- "skillPath": "skills/ca-cleanup/SKILL.md"
46
- },
47
- {
48
- "name": "commands",
49
- "description": "Show the codeArbiter command catalog — the public command list and what each routes to.",
50
- "skillPath": "skills/ca-commands/SKILL.md"
51
- },
52
- {
53
- "name": "commit",
54
- "description": "Run the full commit gate — the only sanctioned path to a git commit.",
55
- "skillPath": "skills/ca-commit/SKILL.md"
56
- },
57
- {
58
- "name": "conflict",
59
- "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.",
60
- "skillPath": "skills/ca-conflict/SKILL.md"
61
- },
62
- {
63
- "name": "context-check",
64
- "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.",
65
- "skillPath": "skills/ca-context-check/SKILL.md"
66
- },
67
- {
68
- "name": "create-context",
69
- "description": "Brownfield back-fill — scout an existing codebase and populate .codearbiter/, then lock it initialized.",
70
- "skillPath": "skills/ca-create-context/SKILL.md"
71
- },
72
- {
73
- "name": "debug",
74
- "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.",
75
- "skillPath": "skills/ca-debug/SKILL.md"
76
- },
77
- {
78
- "name": "decompose",
79
- "description": "Greenfield decomposition interview — a layered interview that populates .codearbiter/ and locks it initialized.",
80
- "skillPath": "skills/ca-decompose/SKILL.md"
81
- },
82
- {
83
- "name": "dev",
84
- "description": "Maintainer override suspend orchestration to edit codeArbiter itself. Env-gated (CODEARBITER_DEV=1), entry/exit logged to overrides.log.",
85
- "skillPath": "skills/ca-dev/SKILL.md"
86
- },
87
- {
88
- "name": "doctor",
89
- "description": "Verify the active host install, package, command ownership, enforcement, wrapper self-test, and active-dispatch coverage gap. Read-only.",
90
- "skillPath": "skills/ca-doctor/SKILL.md"
91
- },
92
- {
93
- "name": "feature",
94
- "description": "Start a feature: brainstorm a spec, get it approved, then drive it test-first through the pipeline. The one entry to implementation.",
95
- "skillPath": "skills/ca-feature/SKILL.md"
96
- },
97
- {
98
- "name": "fix",
99
- "description": "Fix a confirmed bug: a failing regression test first, then a minimal fix, then the rest of the tdd gates.",
100
- "skillPath": "skills/ca-fix/SKILL.md"
101
- },
102
- {
103
- "name": "init",
104
- "description": "Opt this repo into codeArbiter — scaffold the root-level .codearbiter/ state store.",
105
- "skillPath": "skills/ca-init/SKILL.md"
106
- },
107
- {
108
- "name": "metrics",
109
- "description": "Read-only 3-metric governance glance — override rate, small-lane rate, sprint low-confidence ratio — each with a trend arrow vs. the prior 20-commit window.",
110
- "skillPath": "skills/ca-metrics/SKILL.md"
111
- },
112
- {
113
- "name": "new-skill",
114
- "description": "Author a new codeArbiter skill: prove the gap is real, get the spec approved, then write it.",
115
- "skillPath": "skills/ca-new-skill/SKILL.md"
116
- },
117
- {
118
- "name": "override",
119
- "description": "Sanctioned, logged bypass of a gate or hard rule one audit line, then proceed.",
120
- "skillPath": "skills/ca-override/SKILL.md"
121
- },
122
- {
123
- "name": "pr",
124
- "description": "Open a pull request the only sanctioned way — clear every BLOCK-level review finding, then stage the PR. Never a direct write to the default branch.",
125
- "skillPath": "skills/ca-pr/SKILL.md"
126
- },
127
- {
128
- "name": "preview",
129
- "description": "Zero-onboarding, read-only dry-run of the reviewer fleet against the current uncommitted diff. Predicts reviewers, runs the state-free secret scan, writes nothing.",
130
- "skillPath": "skills/ca-preview/SKILL.md"
131
- },
132
- {
133
- "name": "prune",
134
- "description": "Trim transcript clutter to extend session lifetime — analyze, prune a copy, or toggle the after-each-turn service. Dry-run by default; gains land at resume/compaction, not the current turn.",
135
- "skillPath": "skills/ca-prune/SKILL.md"
136
- },
137
- {
138
- "name": "reconcile",
139
- "description": "SMARTS arbitration — reconcile architectural artifacts against the scaffold and prior decisions; every variance resolved by an explicit, user-attributed choice.",
140
- "skillPath": "skills/ca-reconcile/SKILL.md"
141
- },
142
- {
143
- "name": "refactor",
144
- "description": "Restructure code with behavioral parity proven through unmodified pre-existing tests, then refactor. No behavior change.",
145
- "skillPath": "skills/ca-refactor/SKILL.md"
146
- },
147
- {
148
- "name": "release",
149
- "description": "Cut a release the only sanctioned way — SemVer bump from the commit log, a CHANGELOG section, an annotated tag. Takes the declared target's name as its only argument, or --dry-run to preview one with no write. The only path to a version tag.",
150
- "skillPath": "skills/ca-release/SKILL.md"
151
- },
152
- {
153
- "name": "review",
154
- "description": "Review a diff with the reviewer fleet, funneled to one triaged verdict. Targets the current working diff, a path, or an inbound GitHub PR.",
155
- "skillPath": "skills/ca-review/SKILL.md"
156
- },
157
- {
158
- "name": "spike",
159
- "description": "Exploratory spike on a throwaway branch — answer a named question with disposable code. Never merges; exits to a findings note or /ca-feature.",
160
- "skillPath": "skills/ca-spike/SKILL.md"
161
- },
162
- {
163
- "name": "sprint",
164
- "description": "Autonomous sprint one interactive spec gate, then plan-to-PR execution with every auto-decision SMARTS-scored and logged. Hard gates remain true stops.",
165
- "skillPath": "skills/ca-sprint/SKILL.md"
166
- },
167
- {
168
- "name": "standup",
169
- "description": "Daily repo hygiene — review the day's repo state, then perform the cleanups under per-action confirmation. Fast-forward only, never destructive without a yes.",
170
- "skillPath": "skills/ca-standup/SKILL.md"
171
- },
172
- {
173
- "name": "status",
174
- "description": "Show the project's current state at a glance — stage, open tasks, open questions, overrides since the last checkpoint, current branch. Read-only.",
175
- "skillPath": "skills/ca-status/SKILL.md"
176
- },
177
- {
178
- "name": "task",
179
- "description": "The sanctioned task-board mutator — add a queued task, start one (flips to in-progress and stamps the date, minting a dotted ID on pick-up), or mark an in-progress task done. The only blessed write to open-tasks.md.",
180
- "skillPath": "skills/ca-task/SKILL.md"
181
- },
182
- {
183
- "name": "threat-model",
184
- "description": "Opt-in lightweight STRIDE pass for a sensitive feature before implementation. Not a routine gate — invoke it when a change warrants security thought.",
185
- "skillPath": "skills/ca-threat-model/SKILL.md"
186
- },
187
- {
188
- "name": "tribunal",
189
- "description": "Deep, rarely-convened whole-codebase audit — eleven specialist lenses, a resumable on-disk audit log, findings filed as GitHub issues on approval. Expensive; estimates cost and STOPs before running. Never a required gate.",
190
- "skillPath": "skills/ca-tribunal/SKILL.md"
191
- },
192
- {
193
- "name": "watch",
194
- "description": "Watch a PR's CI to completion — diagnose on red, notify and offer the merge on green. Never auto-merges.",
195
- "skillPath": "skills/ca-watch/SKILL.md"
1
+ {
2
+ "schemaVersion": 1,
3
+ "visibilityOrder": [
4
+ "core",
5
+ "advanced",
6
+ "alias",
7
+ "internal",
8
+ "deprecated"
9
+ ],
10
+ "workflowOrder": [
11
+ "evaluate",
12
+ "initialize",
13
+ "change",
14
+ "review",
15
+ "decide",
16
+ "ship",
17
+ "operate",
18
+ "extend",
19
+ "help"
20
+ ],
21
+ "compatibility": {
22
+ "clockStarts": "confirmed-non-draft-github-release",
23
+ "removalRequires": "separately-approved-major",
24
+ "targets": {
25
+ "claude": {
26
+ "publishedWithoutMetadata": "2.16.0",
27
+ "firstContainingRelease": "2.17.0",
28
+ "retainThrough": "2.x",
29
+ "earliestRemoval": "3.0.0"
30
+ },
31
+ "codex": {
32
+ "publishedWithoutMetadata": "0.8.0",
33
+ "firstContainingRelease": "0.9.0",
34
+ "retainThrough": "0.x",
35
+ "earliestRemoval": "1.0.0"
36
+ },
37
+ "pi": {
38
+ "publishedWithoutMetadata": "0.9.0",
39
+ "firstContainingRelease": "0.10.0",
40
+ "retainThrough": "0.x",
41
+ "earliestRemoval": "1.0.0"
42
+ }
43
+ }
44
+ },
45
+ "commands": {
46
+ "add-dep": {
47
+ "name": "add-dep",
48
+ "description": "Vet a new or changed third-party dependency for license, provenance, and supply-chain risk before any install runs.",
49
+ "skillPath": "skills/ca-add-dep/SKILL.md",
50
+ "visibility": "core",
51
+ "workflow": "change",
52
+ "canonical": "add-dep",
53
+ "legacyRoutes": []
54
+ },
55
+ "adr": {
56
+ "name": "adr",
57
+ "description": "Author a numbered, dated, user-attributed Architecture Decision Record under .codearbiter/decisions/.",
58
+ "skillPath": "skills/ca-adr/SKILL.md",
59
+ "visibility": "core",
60
+ "workflow": "decide",
61
+ "canonical": "adr",
62
+ "legacyRoutes": []
63
+ },
64
+ "adr-status": {
65
+ "name": "adr-status",
66
+ "description": "Report the health of Architecture Decision Records — aged, unchallenged, supersession candidates, unresolved CONFIRM-NN. Read-only.",
67
+ "skillPath": "skills/ca-adr-status/SKILL.md",
68
+ "visibility": "advanced",
69
+ "workflow": "decide",
70
+ "canonical": "adr-status",
71
+ "legacyRoutes": []
72
+ },
73
+ "audit": {
74
+ "name": "audit",
75
+ "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.",
76
+ "skillPath": "skills/ca-audit/SKILL.md",
77
+ "visibility": "advanced",
78
+ "workflow": "operate",
79
+ "canonical": "audit",
80
+ "legacyRoutes": []
81
+ },
82
+ "btw": {
83
+ "name": "btw",
84
+ "description": "Lightweight Q&A about the project answer from context and return, no routing, no state change.",
85
+ "skillPath": "skills/ca-btw/SKILL.md",
86
+ "visibility": "deprecated",
87
+ "workflow": "help",
88
+ "replacement": "ask the question directly"
89
+ },
90
+ "checkpoint": {
91
+ "name": "checkpoint",
92
+ "description": "Periodic multi-reviewer sweep of the whole codebase — surfaces a triaged checkpoint report.",
93
+ "skillPath": "skills/ca-checkpoint/SKILL.md",
94
+ "visibility": "advanced",
95
+ "workflow": "review",
96
+ "canonical": "checkpoint",
97
+ "legacyRoutes": []
98
+ },
99
+ "chore": {
100
+ "name": "chore",
101
+ "description": "Sanctioned lane for non-behavioral work — docs-only edits, dependency bumps, reverts. Type-scaled gates; no TDD demanded of prose.",
102
+ "skillPath": "skills/ca-chore/SKILL.md",
103
+ "visibility": "core",
104
+ "workflow": "change",
105
+ "canonical": "chore",
106
+ "legacyRoutes": []
107
+ },
108
+ "cleanup": {
109
+ "name": "cleanup",
110
+ "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.",
111
+ "skillPath": "skills/ca-cleanup/SKILL.md",
112
+ "visibility": "alias",
113
+ "workflow": "ship",
114
+ "canonical": "pr",
115
+ "replacement": "pr --cleanup"
116
+ },
117
+ "commands": {
118
+ "name": "commands",
119
+ "description": "Show the codeArbiter command catalog the public command list and what each routes to.",
120
+ "skillPath": "skills/ca-commands/SKILL.md",
121
+ "visibility": "advanced",
122
+ "workflow": "help",
123
+ "canonical": "commands",
124
+ "legacyRoutes": []
125
+ },
126
+ "commit": {
127
+ "name": "commit",
128
+ "description": "Run the full commit gate — the only sanctioned path to a git commit.",
129
+ "skillPath": "skills/ca-commit/SKILL.md",
130
+ "visibility": "core",
131
+ "workflow": "ship",
132
+ "canonical": "commit",
133
+ "legacyRoutes": []
134
+ },
135
+ "conflict": {
136
+ "name": "conflict",
137
+ "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.",
138
+ "skillPath": "skills/ca-conflict/SKILL.md",
139
+ "visibility": "internal",
140
+ "workflow": "decide",
141
+ "canonical": "conflict",
142
+ "legacyRoutes": []
143
+ },
144
+ "context-check": {
145
+ "name": "context-check",
146
+ "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.",
147
+ "skillPath": "skills/ca-context-check/SKILL.md",
148
+ "visibility": "alias",
149
+ "workflow": "operate",
150
+ "canonical": "status",
151
+ "replacement": "status drift"
152
+ },
153
+ "create-context": {
154
+ "name": "create-context",
155
+ "description": "Brownfield back-fill — scout an existing codebase and populate .codearbiter/, then lock it initialized.",
156
+ "skillPath": "skills/ca-create-context/SKILL.md",
157
+ "visibility": "alias",
158
+ "workflow": "initialize",
159
+ "canonical": "init",
160
+ "replacement": "init --brownfield"
161
+ },
162
+ "debug": {
163
+ "name": "debug",
164
+ "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.",
165
+ "skillPath": "skills/ca-debug/SKILL.md",
166
+ "visibility": "advanced",
167
+ "workflow": "change",
168
+ "canonical": "debug",
169
+ "legacyRoutes": []
170
+ },
171
+ "decompose": {
172
+ "name": "decompose",
173
+ "description": "Greenfield decomposition interview — a layered interview that populates .codearbiter/ and locks it initialized.",
174
+ "skillPath": "skills/ca-decompose/SKILL.md",
175
+ "visibility": "alias",
176
+ "workflow": "initialize",
177
+ "canonical": "init",
178
+ "replacement": "init --greenfield"
179
+ },
180
+ "doctor": {
181
+ "name": "doctor",
182
+ "description": "Verify the active host install, package, command ownership, enforcement, wrapper self-test, and active-dispatch coverage gap. Read-only.",
183
+ "skillPath": "skills/ca-doctor/SKILL.md",
184
+ "visibility": "core",
185
+ "workflow": "operate",
186
+ "canonical": "doctor",
187
+ "legacyRoutes": []
188
+ },
189
+ "feature": {
190
+ "name": "feature",
191
+ "description": "Start a feature: brainstorm a spec, get it approved, then drive it test-first through the pipeline. The one entry to implementation.",
192
+ "skillPath": "skills/ca-feature/SKILL.md",
193
+ "visibility": "core",
194
+ "workflow": "change",
195
+ "canonical": "feature",
196
+ "legacyRoutes": []
197
+ },
198
+ "fix": {
199
+ "name": "fix",
200
+ "description": "Fix a confirmed bug: a failing regression test first, then a minimal fix, then the rest of the tdd gates.",
201
+ "skillPath": "skills/ca-fix/SKILL.md",
202
+ "visibility": "core",
203
+ "workflow": "change",
204
+ "canonical": "fix",
205
+ "legacyRoutes": []
206
+ },
207
+ "init": {
208
+ "name": "init",
209
+ "description": "Opt this repo into codeArbiter — scaffold the root-level .codearbiter/ state store.",
210
+ "skillPath": "skills/ca-init/SKILL.md",
211
+ "visibility": "core",
212
+ "workflow": "initialize",
213
+ "canonical": "init",
214
+ "legacyRoutes": [
215
+ "create-context",
216
+ "decompose"
217
+ ]
218
+ },
219
+ "metrics": {
220
+ "name": "metrics",
221
+ "description": "Read-only 3-metric governance glance — override rate, small-lane rate, sprint low-confidence ratio — each with a trend arrow vs. the prior 20-commit window.",
222
+ "skillPath": "skills/ca-metrics/SKILL.md",
223
+ "visibility": "advanced",
224
+ "workflow": "operate",
225
+ "canonical": "metrics",
226
+ "legacyRoutes": []
227
+ },
228
+ "new-skill": {
229
+ "name": "new-skill",
230
+ "description": "Author a new codeArbiter skill: prove the gap is real, get the spec approved, then write it.",
231
+ "skillPath": "skills/ca-new-skill/SKILL.md",
232
+ "visibility": "advanced",
233
+ "workflow": "extend",
234
+ "canonical": "new-skill",
235
+ "legacyRoutes": []
236
+ },
237
+ "override": {
238
+ "name": "override",
239
+ "description": "Sanctioned, logged bypass of a gate or hard rule — one audit line, then proceed.",
240
+ "skillPath": "skills/ca-override/SKILL.md",
241
+ "visibility": "core",
242
+ "workflow": "operate",
243
+ "canonical": "override",
244
+ "legacyRoutes": []
245
+ },
246
+ "pr": {
247
+ "name": "pr",
248
+ "description": "Open a pull request the only sanctioned way — clear every BLOCK-level review finding, then stage the PR. Never a direct write to the default branch.",
249
+ "skillPath": "skills/ca-pr/SKILL.md",
250
+ "visibility": "core",
251
+ "workflow": "ship",
252
+ "canonical": "pr",
253
+ "legacyRoutes": [
254
+ "cleanup",
255
+ "watch"
256
+ ]
257
+ },
258
+ "preview": {
259
+ "name": "preview",
260
+ "description": "Zero-onboarding, read-only dry-run of the reviewer fleet against the current uncommitted diff. Predicts reviewers, runs the state-free secret scan, writes nothing.",
261
+ "skillPath": "skills/ca-preview/SKILL.md",
262
+ "visibility": "core",
263
+ "workflow": "evaluate",
264
+ "canonical": "preview",
265
+ "legacyRoutes": []
266
+ },
267
+ "prune": {
268
+ "name": "prune",
269
+ "description": "Trim transcript clutter to extend session lifetime — analyze, prune a copy, or toggle the after-each-turn service. Dry-run by default; gains land at resume/compaction, not the current turn.",
270
+ "skillPath": "skills/ca-prune/SKILL.md",
271
+ "visibility": "advanced",
272
+ "workflow": "operate",
273
+ "canonical": "prune",
274
+ "legacyRoutes": []
275
+ },
276
+ "reconcile": {
277
+ "name": "reconcile",
278
+ "description": "SMARTS arbitration — reconcile architectural artifacts against the scaffold and prior decisions; every variance resolved by an explicit, user-attributed choice.",
279
+ "skillPath": "skills/ca-reconcile/SKILL.md",
280
+ "visibility": "advanced",
281
+ "workflow": "decide",
282
+ "canonical": "reconcile",
283
+ "legacyRoutes": []
284
+ },
285
+ "refactor": {
286
+ "name": "refactor",
287
+ "description": "Restructure code with behavioral parity proven through unmodified pre-existing tests, then refactor. No behavior change.",
288
+ "skillPath": "skills/ca-refactor/SKILL.md",
289
+ "visibility": "core",
290
+ "workflow": "change",
291
+ "canonical": "refactor",
292
+ "legacyRoutes": []
293
+ },
294
+ "release": {
295
+ "name": "release",
296
+ "description": "Cut a release the only sanctioned way — SemVer bump from the commit log, a CHANGELOG section, an annotated tag. Takes the declared target's name as its only argument, or --dry-run to preview one with no write. The only path to a version tag.",
297
+ "skillPath": "skills/ca-release/SKILL.md",
298
+ "visibility": "core",
299
+ "workflow": "ship",
300
+ "canonical": "release",
301
+ "legacyRoutes": []
302
+ },
303
+ "review": {
304
+ "name": "review",
305
+ "description": "Review a diff with the reviewer fleet, funneled to one triaged verdict. Targets the current working diff, a path, or an inbound GitHub PR.",
306
+ "skillPath": "skills/ca-review/SKILL.md",
307
+ "visibility": "core",
308
+ "workflow": "review",
309
+ "canonical": "review",
310
+ "legacyRoutes": []
311
+ },
312
+ "spike": {
313
+ "name": "spike",
314
+ "description": "Exploratory spike on a throwaway branch — answer a named question with disposable code. Never merges; exits to a findings note or /ca-feature.",
315
+ "skillPath": "skills/ca-spike/SKILL.md",
316
+ "visibility": "core",
317
+ "workflow": "change",
318
+ "canonical": "spike",
319
+ "legacyRoutes": []
320
+ },
321
+ "sprint": {
322
+ "name": "sprint",
323
+ "description": "Autonomous sprint — one interactive spec gate, then plan-to-PR execution with every auto-decision SMARTS-scored and logged. Hard gates remain true stops.",
324
+ "skillPath": "skills/ca-sprint/SKILL.md",
325
+ "visibility": "core",
326
+ "workflow": "change",
327
+ "canonical": "sprint",
328
+ "legacyRoutes": []
329
+ },
330
+ "standup": {
331
+ "name": "standup",
332
+ "description": "Daily repo hygiene — review the day's repo state, then perform the cleanups under per-action confirmation. Fast-forward only, never destructive without a yes.",
333
+ "skillPath": "skills/ca-standup/SKILL.md",
334
+ "visibility": "advanced",
335
+ "workflow": "operate",
336
+ "canonical": "standup",
337
+ "legacyRoutes": []
338
+ },
339
+ "status": {
340
+ "name": "status",
341
+ "description": "Show the project's current state at a glance — stage, open tasks, open questions, overrides since the last checkpoint, current branch. Read-only.",
342
+ "skillPath": "skills/ca-status/SKILL.md",
343
+ "visibility": "core",
344
+ "workflow": "operate",
345
+ "canonical": "status",
346
+ "legacyRoutes": [
347
+ "context-check"
348
+ ]
349
+ },
350
+ "task": {
351
+ "name": "task",
352
+ "description": "The sanctioned task-board mutator — add a queued task, start one (flips to in-progress and stamps the date, minting a dotted ID on pick-up), or mark an in-progress task done. The only blessed write to open-tasks.md.",
353
+ "skillPath": "skills/ca-task/SKILL.md",
354
+ "visibility": "core",
355
+ "workflow": "operate",
356
+ "canonical": "task",
357
+ "legacyRoutes": []
358
+ },
359
+ "threat-model": {
360
+ "name": "threat-model",
361
+ "description": "Opt-in lightweight STRIDE pass for a sensitive feature before implementation. Not a routine gate — invoke it when a change warrants security thought.",
362
+ "skillPath": "skills/ca-threat-model/SKILL.md",
363
+ "visibility": "advanced",
364
+ "workflow": "review",
365
+ "canonical": "threat-model",
366
+ "legacyRoutes": []
367
+ },
368
+ "tribunal": {
369
+ "name": "tribunal",
370
+ "description": "Deep, rarely-convened whole-codebase audit — eleven specialist lenses, a resumable on-disk audit log, findings filed as GitHub issues on approval. Expensive; estimates cost and STOPs before running. Never a required gate.",
371
+ "skillPath": "skills/ca-tribunal/SKILL.md",
372
+ "visibility": "advanced",
373
+ "workflow": "review",
374
+ "canonical": "tribunal",
375
+ "legacyRoutes": []
376
+ },
377
+ "watch": {
378
+ "name": "watch",
379
+ "description": "Watch a PR's CI to completion — diagnose on red, notify and offer the merge on green. Never auto-merges.",
380
+ "skillPath": "skills/ca-watch/SKILL.md",
381
+ "visibility": "alias",
382
+ "workflow": "ship",
383
+ "canonical": "pr",
384
+ "replacement": "pr --watch"
385
+ }
196
386
  }
197
- ]
387
+ }
@@ -209,5 +209,14 @@
209
209
  "bash",
210
210
  "write"
211
211
  ]
212
+ },
213
+ {
214
+ "name": "verdict-aggregator",
215
+ "classification": "reviewer",
216
+ "charterPath": "agents/verdict-aggregator.md",
217
+ "skillPaths": [],
218
+ "tools": [
219
+ "read"
220
+ ]
212
221
  }
213
222
  ]