cc-codeconductor 0.4.3 → 1.0.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 (262) hide show
  1. package/README.md +95 -95
  2. package/dist/cli/errors.d.ts +65 -0
  3. package/dist/core/compilation/compile-checker.d.ts +51 -0
  4. package/dist/core/config/codeconductor-config.d.ts +42 -0
  5. package/dist/core/config/config-loader.d.ts +11 -0
  6. package/dist/core/filesystem/credential-guard.d.ts +18 -0
  7. package/dist/core/goal/goal-planner.d.ts +8 -0
  8. package/dist/core/goal/goal-state.d.ts +15 -0
  9. package/dist/core/loop/git-stats.d.ts +13 -0
  10. package/dist/core/loop/loop-engine.d.ts +79 -0
  11. package/dist/core/memory/episodic-store.d.ts +6 -0
  12. package/dist/core/memory/operational-state.d.ts +6 -0
  13. package/dist/core/orchestrator/runtime-orchestrator.d.ts +25 -0
  14. package/dist/core/planner/product-planner.d.ts +18 -0
  15. package/dist/core/presets/package-paths.d.ts +4 -0
  16. package/dist/core/product-graph/graph-store.d.ts +11 -0
  17. package/dist/core/product-graph/paths.d.ts +18 -0
  18. package/dist/core/verification/verification-runner.d.ts +57 -0
  19. package/dist/domain/loop/loop-state.d.ts +74 -0
  20. package/dist/domain/product/entities.d.ts +11 -0
  21. package/dist/index.d.ts +15 -0
  22. package/dist/index.js +23721 -15064
  23. package/dist/library.js +2595 -0
  24. package/dist/utils/result.d.ts +36 -0
  25. package/dist/validation/schemas.d.ts +3660 -0
  26. package/package.json +15 -2
  27. package/policy.yml +12 -11
  28. package/presets/agy/AGENTS.md +11 -5
  29. package/presets/agy/gates/pre-commit/GATE.md +136 -0
  30. package/presets/agy/skills/cc-fix/SKILL.md +2 -2
  31. package/presets/agy/skills/cc-tdd-cycle/SKILL.md +11 -0
  32. package/presets/agy/skills/evaluation/SKILL.md +6 -0
  33. package/presets/agy/skills/openspec/SKILL.md +32 -0
  34. package/presets/agy/workflows/cc-api-contract.md +12 -0
  35. package/presets/agy/workflows/cc-ask.md +55 -0
  36. package/presets/agy/workflows/cc-clarify.md +33 -0
  37. package/presets/agy/workflows/cc-council.md +31 -7
  38. package/presets/agy/workflows/cc-db-migration.md +22 -9
  39. package/presets/agy/workflows/cc-explore.md +37 -0
  40. package/presets/agy/workflows/cc-feature.md +41 -19
  41. package/presets/agy/workflows/cc-fix.md +50 -23
  42. package/presets/agy/workflows/cc-handoff.md +42 -0
  43. package/presets/agy/workflows/cc-iterative.md +128 -0
  44. package/presets/agy/workflows/cc-openspec.md +75 -0
  45. package/presets/agy/workflows/cc-pagespeed.md +12 -0
  46. package/presets/agy/workflows/cc-prototype.md +39 -0
  47. package/presets/agy/workflows/cc-refactor.md +12 -0
  48. package/presets/agy/workflows/cc-review.md +12 -0
  49. package/presets/agy/workflows/cc-scorecard.md +29 -0
  50. package/presets/agy/workflows/cc-tdd-cycle.md +24 -0
  51. package/presets/agy/workflows/cc-test-plan.md +12 -0
  52. package/presets/agy/workflows/cc-triage.md +35 -0
  53. package/presets/claude/CLAUDE.md +64 -0
  54. package/presets/claude/commands/cc/api-contract.md +12 -0
  55. package/presets/claude/commands/cc/ask.md +55 -0
  56. package/presets/claude/commands/cc/clarify.md +32 -0
  57. package/presets/claude/commands/cc/council.md +87 -0
  58. package/presets/claude/commands/cc/db-migration.md +22 -9
  59. package/presets/claude/commands/cc/explore.md +36 -0
  60. package/presets/claude/commands/cc/feature.md +49 -22
  61. package/presets/claude/commands/cc/fix.md +74 -20
  62. package/presets/claude/commands/cc/handoff.md +44 -0
  63. package/presets/claude/commands/cc/iterative.md +132 -0
  64. package/presets/claude/commands/cc/openspec.md +169 -0
  65. package/presets/claude/commands/cc/pagespeed.md +12 -0
  66. package/presets/claude/commands/cc/prototype.md +38 -0
  67. package/presets/claude/commands/cc/refactor.md +152 -1
  68. package/presets/claude/commands/cc/review.md +90 -17
  69. package/presets/claude/commands/cc/scorecard.md +77 -0
  70. package/presets/claude/commands/cc/tdd-cycle.md +53 -3
  71. package/presets/claude/commands/cc/test-plan.md +12 -0
  72. package/presets/claude/commands/cc/triage.md +34 -0
  73. package/presets/claude/gates/pre-commit/GATE.md +136 -0
  74. package/presets/claude/settings.json +8 -46
  75. package/presets/claude/skills/evaluation/SKILL.md +42 -0
  76. package/presets/claude/skills/openspec/SKILL.md +54 -0
  77. package/presets/codex/AGENTS.md +62 -5
  78. package/presets/codex/commands/cc-ask.md +55 -0
  79. package/presets/codex/gates/pre-commit/GATE.md +136 -0
  80. package/presets/cursor/.cursorignore +15 -0
  81. package/presets/cursor/AGENTS.md +504 -0
  82. package/presets/cursor/agents/architect.md +211 -0
  83. package/presets/cursor/agents/business-agent.md +44 -0
  84. package/presets/cursor/agents/complexity-auditor.md +76 -0
  85. package/presets/cursor/agents/continuous-architect.md +37 -0
  86. package/presets/cursor/agents/contract-builder.md +75 -0
  87. package/presets/cursor/agents/docs.md +181 -0
  88. package/presets/cursor/agents/goal-planner.md +71 -0
  89. package/presets/cursor/agents/impact-analyst.md +43 -0
  90. package/presets/cursor/agents/implementer.md +161 -0
  91. package/presets/cursor/agents/orchestrator.md +377 -0
  92. package/presets/cursor/agents/repo-explorer.md +100 -0
  93. package/presets/cursor/agents/reviewer.md +237 -0
  94. package/presets/cursor/agents/security-reviewer.md +113 -0
  95. package/presets/cursor/agents/task-coach.md +145 -0
  96. package/presets/cursor/agents/tester.md +241 -0
  97. package/presets/cursor/commands/cc/api-contract.md +70 -0
  98. package/presets/cursor/commands/cc/ask.md +55 -0
  99. package/presets/cursor/commands/cc/clarify.md +32 -0
  100. package/presets/cursor/commands/cc/council.md +87 -0
  101. package/presets/cursor/commands/cc/db-migration.md +71 -0
  102. package/presets/cursor/commands/cc/explore.md +36 -0
  103. package/presets/cursor/commands/cc/feature.md +137 -0
  104. package/presets/cursor/commands/cc/fix.md +148 -0
  105. package/presets/cursor/commands/cc/handoff.md +41 -0
  106. package/presets/cursor/commands/cc/iterative.md +133 -0
  107. package/presets/cursor/commands/cc/openspec.md +159 -0
  108. package/presets/cursor/commands/cc/pagespeed.md +115 -0
  109. package/presets/cursor/commands/cc/prototype.md +38 -0
  110. package/presets/cursor/commands/cc/refactor.md +160 -0
  111. package/presets/cursor/commands/cc/review.md +149 -0
  112. package/presets/cursor/commands/cc/scorecard.md +77 -0
  113. package/presets/cursor/commands/cc/tdd-cycle.md +250 -0
  114. package/presets/cursor/commands/cc/test-plan.md +150 -0
  115. package/presets/cursor/commands/cc/triage.md +34 -0
  116. package/presets/cursor/gates/pre-commit/GATE.md +136 -0
  117. package/presets/cursor/rules/behavioral-discipline.mdc +14 -0
  118. package/presets/cursor/rules/context-budget.mdc +12 -0
  119. package/presets/cursor/rules/orchestration.mdc +12 -0
  120. package/presets/cursor/rules/yagni-stdlib.mdc +11 -0
  121. package/presets/cursor/skills/android/SKILL.md +122 -0
  122. package/presets/cursor/skills/api-versioning/SKILL.md +394 -0
  123. package/presets/cursor/skills/astro/SKILL.md +322 -0
  124. package/presets/cursor/skills/auth-token-inspector/SKILL.md +33 -0
  125. package/presets/cursor/skills/code-review/SKILL.md +208 -0
  126. package/presets/cursor/skills/conductor-setup/SKILL.md +127 -0
  127. package/presets/cursor/skills/django-orm/SKILL.md +463 -0
  128. package/presets/cursor/skills/django-testing/SKILL.md +417 -0
  129. package/presets/cursor/skills/django-uv/SKILL.md +409 -0
  130. package/presets/cursor/skills/drizzle-schema-architect/SKILL.md +54 -0
  131. package/presets/cursor/skills/evaluation/SKILL.md +8 -0
  132. package/presets/cursor/skills/fastapi-pydantic-strict/SKILL.md +46 -0
  133. package/presets/cursor/skills/find-skills/SKILL.md +144 -0
  134. package/presets/cursor/skills/jpa-nplusone-detector/SKILL.md +49 -0
  135. package/presets/cursor/skills/jpa-postgres/SKILL.md +626 -0
  136. package/presets/cursor/skills/laravel-specialist/SKILL.md +267 -0
  137. package/presets/cursor/skills/laravel-specialist/references/eloquent.md +351 -0
  138. package/presets/cursor/skills/laravel-specialist/references/livewire.md +512 -0
  139. package/presets/cursor/skills/laravel-specialist/references/queues.md +423 -0
  140. package/presets/cursor/skills/laravel-specialist/references/routing.md +362 -0
  141. package/presets/cursor/skills/laravel-specialist/references/testing.md +522 -0
  142. package/presets/cursor/skills/livewire-alpine-bridge/SKILL.md +39 -0
  143. package/presets/cursor/skills/multi-agent-orchestration/README.md +144 -0
  144. package/presets/cursor/skills/multi-agent-orchestration/SKILL.md +579 -0
  145. package/presets/cursor/skills/multi-agent-orchestration/examples/framework_implementations.py +362 -0
  146. package/presets/cursor/skills/multi-agent-orchestration/examples/orchestration_patterns.py +411 -0
  147. package/presets/cursor/skills/multi-agent-orchestration/scripts/agent_communication.py +334 -0
  148. package/presets/cursor/skills/multi-agent-orchestration/scripts/benchmarking.py +341 -0
  149. package/presets/cursor/skills/multi-agent-orchestration/scripts/workflow_management.py +334 -0
  150. package/presets/cursor/skills/nextjs-typescript/SKILL.md +394 -0
  151. package/presets/cursor/skills/openspec/SKILL.md +52 -0
  152. package/presets/cursor/skills/pagespeed-insights/SKILL.md +445 -0
  153. package/presets/cursor/skills/pagespeed-insights/reference.md +50 -0
  154. package/presets/cursor/skills/pagespeed-perf/SKILL.md +281 -0
  155. package/presets/cursor/skills/php-pro/SKILL.md +210 -0
  156. package/presets/cursor/skills/php-pro/references/async-patterns.md +412 -0
  157. package/presets/cursor/skills/php-pro/references/laravel-patterns.md +377 -0
  158. package/presets/cursor/skills/php-pro/references/modern-php-features.md +323 -0
  159. package/presets/cursor/skills/php-pro/references/symfony-patterns.md +466 -0
  160. package/presets/cursor/skills/php-pro/references/testing-quality.md +466 -0
  161. package/presets/cursor/skills/python/SKILL.md +613 -0
  162. package/presets/cursor/skills/python-django-stack/SKILL.md +500 -0
  163. package/presets/cursor/skills/python-fastapi-stack/SKILL.md +464 -0
  164. package/presets/cursor/skills/security/SKILL.md +384 -0
  165. package/presets/cursor/skills/seo-analytics-injector/SKILL.md +44 -0
  166. package/presets/cursor/skills/spring-auth-auditor/SKILL.md +33 -0
  167. package/presets/cursor/skills/spring-boot-feature/SKILL.md +566 -0
  168. package/presets/cursor/skills/spring-boot-kotlin/SKILL.md +408 -0
  169. package/presets/cursor/skills/spring-boot-testing-strategy/SKILL.md +479 -0
  170. package/presets/cursor/skills/sqlalchemy/SKILL.md +473 -0
  171. package/presets/cursor/skills/tailwind-responsive-auditor/SKILL.md +32 -0
  172. package/presets/cursor/skills/tdd-mutation-tester/SKILL.md +28 -0
  173. package/presets/cursor/skills/testing-tdd/SKILL.md +592 -0
  174. package/presets/cursor/skills/workflow-orchestration-patterns/SKILL.md +98 -0
  175. package/presets/cursor/skills/workflow-orchestration-patterns/references/details.md +223 -0
  176. package/presets/opencode/agents/architect.md +22 -2
  177. package/presets/opencode/agents/complexity-auditor.md +16 -0
  178. package/presets/opencode/agents/contract-builder.md +109 -0
  179. package/presets/opencode/agents/devil.md +158 -0
  180. package/presets/opencode/agents/docs.md +19 -2
  181. package/presets/opencode/agents/goal-planner.md +112 -0
  182. package/presets/opencode/agents/implementer.md +39 -2
  183. package/presets/opencode/agents/orchestrator.md +124 -19
  184. package/presets/opencode/agents/planner.md +61 -0
  185. package/presets/opencode/agents/repo-explorer.md +15 -0
  186. package/presets/opencode/agents/reviewer.md +53 -2
  187. package/presets/opencode/agents/security-reviewer.md +159 -0
  188. package/presets/opencode/agents/task-coach.md +69 -2
  189. package/presets/opencode/agents/tester.md +18 -2
  190. package/presets/opencode/commands/cc-api-contract.md +12 -0
  191. package/presets/opencode/commands/cc-ask.md +55 -0
  192. package/presets/opencode/commands/cc-clarify.md +31 -0
  193. package/presets/opencode/commands/cc-council.md +87 -0
  194. package/presets/opencode/commands/cc-db-migration.md +22 -9
  195. package/presets/opencode/commands/cc-explore.md +35 -0
  196. package/presets/opencode/commands/cc-feature.md +41 -19
  197. package/presets/opencode/commands/cc-fix.md +50 -23
  198. package/presets/opencode/commands/cc-handoff.md +40 -0
  199. package/presets/opencode/commands/cc-iterative.md +127 -0
  200. package/presets/opencode/commands/cc-openspec.md +74 -0
  201. package/presets/opencode/commands/cc-pagespeed.md +12 -0
  202. package/presets/opencode/commands/cc-prototype.md +37 -0
  203. package/presets/opencode/commands/cc-refactor.md +12 -0
  204. package/presets/opencode/commands/cc-review.md +12 -0
  205. package/presets/opencode/commands/cc-scorecard.md +28 -0
  206. package/presets/opencode/commands/cc-tdd-cycle.md +24 -0
  207. package/presets/opencode/commands/cc-test-plan.md +12 -0
  208. package/presets/opencode/commands/cc-triage.md +33 -0
  209. package/presets/opencode/gates/pre-commit/GATE.md +136 -0
  210. package/presets/opencode/prompts/v0.1.0/DEPRECATED.md +11 -0
  211. package/presets/opencode/prompts/v0.2.0/DEPRECATED.md +11 -0
  212. package/presets/opencode/prompts/v0.3.0/DEPRECATED.md +11 -0
  213. package/presets/opencode/prompts/v0.4.0/DEPRECATED.md +11 -0
  214. package/presets/opencode/prompts/v0.5.0/architect.md +222 -0
  215. package/presets/opencode/prompts/v0.5.0/complexity-auditor.md +91 -0
  216. package/presets/opencode/prompts/v0.5.0/contract-builder.md +84 -0
  217. package/presets/opencode/prompts/v0.5.0/docs.md +190 -0
  218. package/presets/opencode/prompts/v0.5.0/goal-planner.md +80 -0
  219. package/presets/opencode/prompts/v0.5.0/implementer.md +171 -0
  220. package/presets/opencode/prompts/v0.5.0/orchestrator.md +388 -0
  221. package/presets/opencode/prompts/v0.5.0/repo-explorer.md +111 -0
  222. package/presets/opencode/prompts/v0.5.0/reviewer.md +248 -0
  223. package/presets/opencode/prompts/v0.5.0/security-reviewer.md +123 -0
  224. package/presets/opencode/prompts/v0.5.0/task-coach.md +156 -0
  225. package/presets/opencode/prompts/v0.5.0/tester.md +252 -0
  226. package/presets/opencode/prompts/v0.6.0/implementer.md +35 -0
  227. package/presets/opencode/prompts/v0.6.0/planner.md +36 -0
  228. package/presets/opencode/prompts/v0.6.0/reviewer.md +40 -0
  229. package/presets/opencode/prompts/v1.0.0/README.md +47 -0
  230. package/presets/opencode/prompts/v1.0.0/architect.md +259 -0
  231. package/presets/opencode/prompts/v1.0.0/complexity-auditor.md +116 -0
  232. package/presets/opencode/prompts/v1.0.0/contract-builder.md +120 -0
  233. package/presets/opencode/prompts/v1.0.0/devil.md +169 -0
  234. package/presets/opencode/prompts/v1.0.0/docs.md +229 -0
  235. package/presets/opencode/prompts/v1.0.0/goal-planner.md +123 -0
  236. package/presets/opencode/prompts/v1.0.0/implementer.md +228 -0
  237. package/presets/opencode/prompts/v1.0.0/orchestrator.md +474 -0
  238. package/presets/opencode/prompts/v1.0.0/planner.md +72 -0
  239. package/presets/opencode/prompts/v1.0.0/repo-explorer.md +147 -0
  240. package/presets/opencode/prompts/v1.0.0/reviewer.md +295 -0
  241. package/presets/opencode/prompts/v1.0.0/security-reviewer.md +170 -0
  242. package/presets/opencode/prompts/v1.0.0/task-coach.md +235 -0
  243. package/presets/opencode/prompts/v1.0.0/tester.md +298 -0
  244. package/presets/opencode/skills/evaluation/SKILL.md +6 -0
  245. package/presets/opencode/skills/openspec/SKILL.md +50 -0
  246. package/presets/seo-hotel/settings.json +0 -17
  247. package/presets/templates/BACKLOG.md +33 -0
  248. package/presets/templates/execution-profile.yml +6 -0
  249. package/presets/templates/model-comparison.md +11 -0
  250. package/presets/templates/regression-checklist.yml +10 -0
  251. package/src/presets/manifests/agy.yml +2 -2
  252. package/src/presets/manifests/claude.yml +2 -2
  253. package/src/presets/manifests/codex.yml +2 -2
  254. package/src/presets/manifests/cursor.yml +19 -3
  255. package/src/presets/manifests/gemini.yml +2 -2
  256. package/src/presets/manifests/opencode.yml +2 -2
  257. package/src/presets/models/agy.yml +97 -49
  258. package/src/presets/models/claude.yml +83 -39
  259. package/src/presets/models/codex.yml +83 -40
  260. package/src/presets/models/cursor.yml +83 -39
  261. package/src/presets/models/gemini.yml +83 -39
  262. package/src/presets/models/opencode.yml +78 -34
@@ -0,0 +1,44 @@
1
+ ---
2
+ description: >-
3
+ [cc: alias] Compact the session into gitignored `.codeconductor/sessions/handoff.md` (redact secrets).
4
+ ---
5
+
6
+ # Handoff Workflow
7
+
8
+ Handoff request: $ARGUMENTS
9
+
10
+ ## Step 0 — CCEP Bootstrap
11
+
12
+ Command: `handoff` (fixed for this workflow — do not infer from user text)
13
+
14
+ 1. Run: `npx cc-codeconductor ccep parse --command handoff "$ARGUMENTS" --output json`
15
+ 2. Run: `npx cc-codeconductor ccep resolve --command handoff "$ARGUMENTS" --output json`
16
+ 3. Run: `npx cc-codeconductor ccep profile handoff --output json`
17
+ 4. After planner/intake JSON is available, run: `npx cc-codeconductor ccep evaluate --command handoff --input <planner.json> --output json`. If `stop` is true, show questions or risks and wait for human input.
18
+ 5. Delegate to subagents using compiled CCEP prompts — never forward raw `$ARGUMENTS` to planners.
19
+
20
+ ---
21
+
22
+ ## Step 1 — Compact (docs)
23
+
24
+ Invoke `docs`. Write **only** `.codeconductor/sessions/handoff.md` (gitignored).
25
+ Do not write `.codeconductor/handoff.md` or any tracked path.
26
+
27
+ Before writing, redact secrets, tokens, API keys, passwords, connection strings,
28
+ `.env` contents, and log/stack-trace lines that embed those values. Summarize
29
+ errors instead of pasting dumps. If unresolved credential material remains, stop
30
+ and wait for a human (CCEP `stopOnHighRisk`).
31
+
32
+ Include: goal, Task Card status (no secret fields), files touched, test
33
+ pass/fail (not log dumps), open questions, the next `/cc:` command, and the
34
+ recommended `context_scope` (`isolated` | `continuation` | `full`) for the next
35
+ session — derived from the Task Card status above, not invented, with a
36
+ one-sentence justification.
37
+
38
+ Do not edit source or tests.
39
+
40
+ ---
41
+
42
+ ## Completion
43
+
44
+ Report the handoff path. Another session should be able to continue from that file alone.
@@ -0,0 +1,132 @@
1
+ ---
2
+ description: >-
3
+ [cc: alias] Run the advanced iterative workflow — Wayfinding AST discovery,
4
+ Relentless Grilling, contract and spec design, TDD, council review, and docs.
5
+ ---
6
+
7
+ # Advanced Iterative Workflow
8
+
9
+ Iterative request: $ARGUMENTS
10
+
11
+ ---
12
+
13
+ ## Step 0 — CCEP Bootstrap
14
+
15
+ Command: `iterative` (fixed for this workflow — do not infer from user text)
16
+
17
+ 1. Run: `npx cc-codeconductor ccep parse --command iterative "$ARGUMENTS" --output json`
18
+ 2. Run: `npx cc-codeconductor ccep resolve --command iterative "$ARGUMENTS" --output json`
19
+ 3. Run: `npx cc-codeconductor ccep profile iterative --output json`
20
+ 4. After planner/intake JSON is available, run: `npx cc-codeconductor ccep evaluate --command iterative --input <planner.json> --output json`. If `stop` is true, show questions or risks and wait for human input.
21
+ 5. Delegate to subagents using compiled CCEP prompts — never forward raw `$ARGUMENTS` to planners.
22
+ Canonical delivery order is test-before-implement whenever both phases apply.
23
+
24
+ ---
25
+
26
+ ## Step 1 — Wayfinding (Repo Explorer role)
27
+
28
+ If `graphify-out/graph.json` exists, run `graphify query "$ARGUMENTS"` (and
29
+ `graphify path` / `graphify explain` when two modules or one concept need a
30
+ scoped subgraph). Then adopt the **Repo Explorer** role as defined in
31
+ `CLAUDE.md` with that graph output.
32
+
33
+ Map directory trees, conventions, god nodes, and affected modules. Do not write
34
+ code in this step. Write a short phase handoff (scope, files, open questions)
35
+ before the next phase — do not chain agents on unspoken context.
36
+
37
+ ---
38
+
39
+ ## Step 2 — Relentless Grilling & Task Card (Task Coach role)
40
+
41
+ Adopt the **Task Coach** role as defined in `CLAUDE.md`.
42
+
43
+ Produce a complete Task Card. The Task Card is ready when it contains: title,
44
+ type, risk classification, scope, context, acceptance criteria, and
45
+ constraints, and every assumption behind it has survived one grilling
46
+ question (Grilling protocol).
47
+
48
+ If any field is missing or ambiguous, ask one clarifying question at a time and
49
+ wait for the answer. Do not proceed with an incomplete Task Card.
50
+
51
+ **STOP here.** Unresolved grilling questions or missing fields populate
52
+ `questionsForUser` in the CCEP-1 `planner-output`; the `ConfirmationGate`
53
+ (`ccep evaluate`) reads that field and halts the workflow until a human
54
+ answers. Show the completed Task Card and wait for that confirmation before
55
+ continuing.
56
+
57
+ ---
58
+
59
+ ## Step 3 — Contract & Technical Plan (Architect role)
60
+
61
+ Adopt the **Architect** role as defined in `CLAUDE.md`. Define contracts first,
62
+ then the Technical Plan.
63
+
64
+ 1. Define API contracts, JSON Schemas, or TypeScript interfaces.
65
+ 2. Formulate the Technical Plan (chosen approach, affected files, trade-offs).
66
+ 3. Apply YAGNI, Simplicity First, and Stdlib-First.
67
+
68
+ **STOP here. Show the Technical Plan and wait for explicit human approval. Do
69
+ not proceed to tests until the plan is approved.**
70
+
71
+ ---
72
+
73
+ ## Step 4 — Test coverage (Tester role)
74
+
75
+ Adopt the **Tester** role as defined in `CLAUDE.md`.
76
+
77
+ 1. Write or extend failing tests for the new behavior before implementation (RED).
78
+ 2. Ensure all acceptance criteria from the Task Card have at least one test.
79
+ 3. Produce a Test Report: test files added or modified, cases covered.
80
+
81
+ ---
82
+
83
+ ## Step 5 — Implementation (Implementer role)
84
+
85
+ Adopt the **Implementer** role as defined in `CLAUDE.md`.
86
+
87
+ Use the approved Technical Plan, contracts, and the failing tests.
88
+ Create a Git Worktree before touching any file; all edits happen inside it.
89
+
90
+ 1. Read the Technical Plan before touching any file.
91
+ 2. Apply the minimal diff — only what the plan specifies.
92
+ 3. Run the project test suite and make the previously written failing tests pass.
93
+ 4. If tests fail, run up to 3 repair cycles (Implementer → Tester).
94
+ 5. Produce an Implementation Summary: what changed, which files, how to verify
95
+ locally.
96
+
97
+ ---
98
+
99
+ ## Step 6 — Multi-Perspective Council Review
100
+
101
+ Invoke the `council` skill on the generated diff (`council-review` phase).
102
+
103
+ The council evaluates Architecture, Security, Product, Delivery, DataOps, and
104
+ Devil. `security-reviewer` may set `securityVeto: true`; that REJECTED verdict
105
+ overrides majority consensus.
106
+
107
+ If ANY agent votes CRITICAL:
108
+ - The Review Report status is **BLOCKED**.
109
+ - Return to Step 5 with the feedback.
110
+
111
+ If APPROVED (no CRITICAL findings), continue.
112
+
113
+ ---
114
+
115
+ ## Step 7 — Documentation (Docs role)
116
+
117
+ Adopt the **Docs** role as defined in `CLAUDE.md` when a public API, public
118
+ module, or user-visible behavior changed.
119
+
120
+ Update: README (if applicable), OpenAPI spec (if applicable), CHANGELOG
121
+ (always when implementation changed), ADR (if an architectural decision was
122
+ made).
123
+
124
+ If `graphify-out/` is in use, run `graphify update .` (AST-only).
125
+
126
+ ---
127
+
128
+ ## Completion
129
+
130
+ The iterative workflow is complete only when: all tests pass, the council
131
+ approves the spec and the diff, no CRITICAL findings remain, and documentation
132
+ and the knowledge graph reflect the implemented behavior.
@@ -0,0 +1,169 @@
1
+ ---
2
+ description: >-
3
+ [cc: alias] Run OpenSpec backlog delivery — validate BACKLOG.md, plan TaskCards,
4
+ orchestrate agents by phase, review gate, and update backlog state.
5
+ ---
6
+
7
+ # OpenSpec Backlog Workflow
8
+
9
+ Scope: $ARGUMENTS
10
+
11
+ Orchestrate FIFO delivery from `BACKLOG.md`. CodeConductor owns planning; agents execute one TaskCard per phase with the installed preset model for each role.
12
+
13
+ ---
14
+
15
+ ## Planning Principles — tracer bullet and blocking edges
16
+
17
+ A **tracer bullet** is a vertical slice of work: one `BC-NNN` backlog item that goes discover → design → test → implement → review and produces a demoable result, sized to fit inside a single agent's context window without needing an intermediate `/clear`.
18
+
19
+ **Quantitative heuristic**: a tracer bullet must fit within a maximum of 5 acceptance criteria and the 5 canonical phases (discover, design, test, implement, review) per context window. If an item needs more, split it into multiple `BC-NNN` items linked by `Depends on` instead of growing one tracer bullet past that budget.
20
+
21
+ **Equivalence**: one `BC-NNN` item equals one tracer bullet equals one or more TaskCards. `cc openspec plan <BC-id>` generates the TaskCards (discover/design/test/implement/review) that implement that item's tracer bullet — each BC-NNN item corresponds to exactly one tracer bullet.
22
+
23
+ **Blocking edges**: the `Depends on` field between `BC-NNN` items expresses a blocking dependency — an item cannot be selected in Step 2 until every item in its `Depends on` list is `DONE`. `Depends on` is the sole mechanism for sequencing tracer bullets; there is no separate edge syntax.
24
+
25
+ ---
26
+
27
+ ## Step 0 — Validate (mandatory gate)
28
+
29
+ Run:
30
+
31
+ ```bash
32
+ npx cc-codeconductor openspec validate
33
+ ```
34
+
35
+ If validation fails:
36
+
37
+ 1. List all errors and recommendations from the CLI output.
38
+ 2. Show the canonical BACKLOG.md structure (## Global, ## Items, ### BC-001 | Title, Priority, Status, Type, Depends on, Description, Scope, Acceptance).
39
+ 3. **STOP.** Do not scan, plan, or execute until the user fixes BACKLOG.md.
40
+
41
+ ---
42
+
43
+ ## Step 0 — CCEP Bootstrap
44
+
45
+ Command: `openspec` (fixed for this workflow — do not infer from user text)
46
+
47
+ 1. Run: `npx cc-codeconductor ccep parse --command openspec "$ARGUMENTS" --output json`
48
+ 2. Run: `npx cc-codeconductor ccep resolve --command openspec "$ARGUMENTS" --output json`
49
+ 3. Run: `npx cc-codeconductor ccep profile openspec --output json`
50
+ 4. After planner/intake JSON is available, run: `npx cc-codeconductor ccep evaluate --command openspec --input <planner.json> --output json`. If `stop` is true, show questions or risks and wait for human input.
51
+ 5. Delegate to subagents using compiled CCEP prompts — never forward raw `$ARGUMENTS` to planners.
52
+ Canonical delivery order is test-before-implement whenever both phases apply.
53
+
54
+ ---
55
+
56
+ ## Step 1 — Scan
57
+
58
+ Run:
59
+
60
+ ```bash
61
+ npx cc-codeconductor openspec scan
62
+ ```
63
+
64
+ Report: new items, modified items, closed/archived items, and whether the file changed.
65
+
66
+ ---
67
+
68
+ ## Step 2 — Select item
69
+
70
+ If `$ARGUMENTS` contains a `BC-xxx` ID, use that item. Otherwise run:
71
+
72
+ ```bash
73
+ npx cc-codeconductor openspec status
74
+ ```
75
+
76
+ Pick the next `READY` item with satisfied dependencies (FIFO by priority). Skip items in `DONE` or `Archive`.
77
+
78
+ **STOP if no eligible item.** Report backlog status and wait for the user.
79
+
80
+ ---
81
+
82
+ ## Step 3 — Plan
83
+
84
+ Run:
85
+
86
+ ```bash
87
+ npx cc-codeconductor openspec plan <BC-id>
88
+ ```
89
+
90
+ Show:
91
+
92
+ - Generated TaskCards (discover → design → test → implement → review when TDD required)
93
+ - Path to `openspec/changes/<slug>/` (proposal, design, tasks, specs)
94
+
95
+ Update BACKLOG item status to `PLANNED` (CLI does this automatically).
96
+
97
+ ---
98
+
99
+ ## Step 4 — Model matrix and execute loop
100
+
101
+ Before executing phases, show resolved models:
102
+
103
+ ```bash
104
+ npx cc-codeconductor scorecard models
105
+ ```
106
+
107
+ For each pending TaskCard, run:
108
+
109
+ ```bash
110
+ npx cc-codeconductor openspec next
111
+ ```
112
+
113
+ Invoke the agent named on the card with **isolated** context (`/clear` between phases unless continuation is required):
114
+
115
+ | Phase | Agent | Role |
116
+ |-------|-------|------|
117
+ | discover | repo-explorer | Map repo and impact |
118
+ | design | architect | Technical plan |
119
+ | test | tester | TDD tests (before implement if TDD required) |
120
+ | implement | implementer | Minimal diff in worktree |
121
+ | review | reviewer | Acceptance + scope gate |
122
+
123
+ Use the model configured in the installed preset for each agent role.
124
+
125
+ After each phase:
126
+
127
+ - Mark progress in deliverable summary.
128
+ - Set TaskCard status to `done` in `.codeconductor/openspec-state.json` when phase completes.
129
+
130
+ Implementer: create a Git worktree before editing (`git worktree add ../<branch>-session <branch>`).
131
+
132
+ ---
133
+
134
+ ## Step 5 — Review gate
135
+
136
+ Run regression when BACKLOG Global `Review required: yes`:
137
+
138
+ ```bash
139
+ npx cc-codeconductor scorecard regression
140
+ ```
141
+
142
+ The `reviewer` agent must verify:
143
+
144
+ - All acceptance criteria from BACKLOG.md
145
+ - Tests pass
146
+ - Scope matches the backlog item
147
+ - No architectural violations
148
+
149
+ If **rejected**: set item status `IN_PROGRESS`, record findings in state, **STOP** and report to user.
150
+
151
+ If **approved**: proceed to Step 6.
152
+
153
+ ---
154
+
155
+ ## Step 6 — Scorecard and update backlog
156
+
157
+ 1. `npx cc-codeconductor scorecard create --task <BC-id> --from-diff`
158
+ 2. Complete criteria; `scorecard record` with verdict and optional cost/tokens
159
+ 3. Set item `Progress: 100%`, `Status: DONE` if PASS
160
+ 4. Move item to `## Archive` in BACKLOG.md if DONE
161
+ 5. Run `npx cc-codeconductor openspec scan`
162
+
163
+ Report completion: Task Cards executed, scorecard verdict, change folder path, files changed.
164
+
165
+ ---
166
+
167
+ ## Skill
168
+
169
+ Apply `.claude/skills/openspec/SKILL.md` for backlog format rules and state transitions.
@@ -4,6 +4,18 @@ Audit web performance using the PageSpeed Insights API. Applies the 80/20
4
4
  principle: identify the 20% of changes that produce 80% of the performance gain.
5
5
  Produces a prioritized report in the current working directory.
6
6
 
7
+ ## Step 0 — CCEP Bootstrap
8
+
9
+ Command: `pagespeed` (fixed for this workflow — do not infer from user text)
10
+
11
+ 1. Run: `npx cc-codeconductor ccep parse --command pagespeed "$ARGUMENTS" --output json`
12
+ 2. Run: `npx cc-codeconductor ccep resolve --command pagespeed "$ARGUMENTS" --output json`
13
+ 3. Run: `npx cc-codeconductor ccep profile pagespeed --output json`
14
+ 4. After planner/intake JSON is available, run: `npx cc-codeconductor ccep evaluate --command pagespeed --input <planner.json> --output json`. If `stop` is true, show questions or risks and wait for human input.
15
+ 5. Delegate to subagents using compiled CCEP prompts — never forward raw `$ARGUMENTS` to planners.
16
+
17
+ ---
18
+
7
19
  ## Usage
8
20
 
9
21
  ```
@@ -0,0 +1,38 @@
1
+ ---
2
+ description: >-
3
+ [cc: alias] Disposable spike in an isolated worktree. Not a merge candidate.
4
+ ---
5
+
6
+ # Prototype Workflow
7
+
8
+ Prototype request: $ARGUMENTS
9
+
10
+ ## Step 0 — CCEP Bootstrap
11
+
12
+ Command: `prototype` (fixed for this workflow — do not infer from user text)
13
+
14
+ 1. Run: `npx cc-codeconductor ccep parse --command prototype "$ARGUMENTS" --output json`
15
+ 2. Run: `npx cc-codeconductor ccep resolve --command prototype "$ARGUMENTS" --output json`
16
+ 3. Run: `npx cc-codeconductor ccep profile prototype --output json`
17
+ 4. After planner/intake JSON is available, run: `npx cc-codeconductor ccep evaluate --command prototype --input <planner.json> --output json`. If `stop` is true, show questions or risks and wait for human input.
18
+ 5. Delegate to subagents using compiled CCEP prompts — never forward raw `$ARGUMENTS` to planners.
19
+
20
+ ---
21
+
22
+ ## Step 1 — Bounds (architect)
23
+
24
+ Invoke `architect`. Define what the spike may touch, time-box, and what must not leak into main. Do not treat this as a production Technical Plan.
25
+
26
+ **STOP here. Wait for approval of the spike bounds.**
27
+
28
+ ---
29
+
30
+ ## Step 2 — Spike (implementer)
31
+
32
+ Invoke `implementer` in a Git worktree that is not a merge candidate. Label the Implementation Summary as disposable. Do not open a PR against protected branches.
33
+
34
+ ---
35
+
36
+ ## Completion
37
+
38
+ Report bounds, worktree path, and what was learned. Recommend `/cc:feature` or `/cc:fix` if the spike should become real work.
@@ -33,6 +33,18 @@ If coverage is insufficient:
33
33
 
34
34
  ---
35
35
 
36
+ ## Step 0 — CCEP Bootstrap
37
+
38
+ Command: `refactor` (fixed for this workflow — do not infer from user text)
39
+
40
+ 1. Run: `npx cc-codeconductor ccep parse --command refactor "$ARGUMENTS" --output json`
41
+ 2. Run: `npx cc-codeconductor ccep resolve --command refactor "$ARGUMENTS" --output json`
42
+ 3. Run: `npx cc-codeconductor ccep profile refactor --output json`
43
+ 4. After planner/intake JSON is available, run: `npx cc-codeconductor ccep evaluate --command refactor --input <planner.json> --output json`. If `stop` is true, show questions or risks and wait for human input.
44
+ 5. Delegate to subagents using compiled CCEP prompts — never forward raw `$ARGUMENTS` to planners.
45
+
46
+ ---
47
+
36
48
  ## Step 1 — Architectural justification (Architect role)
37
49
 
38
50
  Adopt the **Architect** role as defined in `CLAUDE.md`. Always invoke this step
@@ -56,6 +68,141 @@ proceed without written approval of the plan.**
56
68
 
57
69
  ---
58
70
 
71
+ ## Step 1.5 — Blast Radius Assessment (Orchestrator role)
72
+
73
+ After Architect approval, assess the scope of the refactor using impact analysis.
74
+ Large refactors require staged sequencing to keep the tree green between batches.
75
+
76
+ ### When to apply Blast Radius Assessment
77
+
78
+ Always run this step. It determines the route for implementation:
79
+
80
+ - **Narrow refactor** (blast radius within limits) → proceed to Step 2 (normal routing by risk)
81
+ - **Wide refactor** (blast radius exceeds limits) → proceed to expand-migrate-contract sequence
82
+
83
+ ### Measuring blast radius
84
+
85
+ Run impact analysis on the files listed in the approved Refactor Plan:
86
+
87
+ ```bash
88
+ cc impact --files <file1> <file2> ... <fileN>
89
+ ```
90
+
91
+ The report returns three metrics:
92
+
93
+ 1. **affectedComponents** (array of strings) — distinct components/modules that depend on the refactored files
94
+ 2. **brokenContracts** (array of strings) — public interfaces or contracts that change
95
+ 3. **affectedFlows** (array of strings) — end-to-end user flows or business processes impacted
96
+
97
+ ### Threshold decision
98
+
99
+ **Hardcoded heuristic thresholds** (adjust manually for your codebase size):
100
+
101
+ ```
102
+ Wide refactor triggered if ANY condition is true:
103
+ - affectedComponents.length >= 6
104
+ - brokenContracts.length >= 3
105
+ - affectedFlows.length >= 2
106
+ ```
107
+
108
+ If blast radius exceeds these thresholds, the refactor is classified as **wide**
109
+ and requires staged batching. Otherwise, it is **narrow** and proceeds via
110
+ normal risk-based routing.
111
+
112
+ **Note:** These thresholds are heuristics meant for medium-sized codebases
113
+ (5–20K lines). Adjust based on your repository's complexity and component
114
+ density. A high-level import count alone does not guarantee impact.
115
+
116
+ ### Route: Narrow refactor
117
+
118
+ If blast radius is within limits:
119
+
120
+ 1. Show the impact report: affectedComponents count, brokenContracts, affectedFlows.
121
+ 2. Proceed to Step 2 (Route by risk) using the risk level from the approved Refactor Plan.
122
+
123
+ ### Route: Wide refactor — expand-migrate-contract sequence
124
+
125
+ If blast radius exceeds limits, the refactor must be delivered in sequenced
126
+ batches to maintain tree-green guarantees between phases.
127
+
128
+ **Process:**
129
+
130
+ 1. **Expand phase** (batch 1): Introduce the new interface alongside the old one
131
+ without removing the old interface. This allows consumers to adopt
132
+ incrementally. Tests for both old and new paths must pass in this batch.
133
+
134
+ Example: If refactoring a component from function-based to class-based:
135
+ ```typescript
136
+ // OLD: function-based API (keep during expand)
137
+ export function transformData(input: Data): Output {
138
+ return Transform.apply(input);
139
+ }
140
+
141
+ // NEW: class-based API (add during expand)
142
+ export class DataTransformer {
143
+ apply(input: Data): Output {
144
+ return Transform.apply(input);
145
+ }
146
+ }
147
+
148
+ // Both exported; both tested; old not yet removed.
149
+ ```
150
+
151
+ 2. **Migrate batches** (batches 2–N): Each batch moves a logical subset of
152
+ consumers from the old interface to the new one, running tests to confirm
153
+ no regressions. If tests fail in any migrate batch, that batch is BLOCKED
154
+ (via `Depends on` in BACKLOG.md) and subsequent batches do not start until
155
+ the regression is fixed.
156
+
157
+ Example: Migrate Service-A consumers in batch 2, Service-B consumers in
158
+ batch 3, etc. Each batch is a separate `BC-NNN` item in BACKLOG.md.
159
+
160
+ 3. **Contract phase** (final batch): Remove the old interface entirely after all
161
+ consumers are migrated. This is the point where the contract actually changes.
162
+
163
+ **Sequencing batches via BACKLOG.md:**
164
+
165
+ Create multiple `BC-NNN` items, one per batch (expand, then one per migrate, then
166
+ contract). Use the `Depends on` field to enforce ordering:
167
+
168
+ ```
169
+ ### BC-001 | Expand Phase
170
+ Status: READY
171
+ Depends on: (none)
172
+ Description: Introduce new interface alongside old...
173
+
174
+ ### BC-002 | Migrate Batch 1 (Service-A consumers)
175
+ Status: READY (but not eligible until BC-001 done)
176
+ Depends on: BC-001
177
+ Description: Move Service-A from old to new interface...
178
+
179
+ ### BC-003 | Migrate Batch 2 (Service-B consumers)
180
+ Status: READY (but not eligible until BC-002 done)
181
+ Depends on: BC-002
182
+ Description: Move Service-B from old to new interface...
183
+
184
+ ### BC-004 | Contract Phase (Remove old interface)
185
+ Status: READY (but not eligible until BC-003 done)
186
+ Depends on: BC-003
187
+ Description: Delete old interface and consolidate tests...
188
+ ```
189
+
190
+ **BLOCKED policy on test failures:**
191
+
192
+ If any migrate batch's test suite fails after implementation, that batch item
193
+ is marked BLOCKED (and stays BLOCKED in BACKLOG.md until the regression is
194
+ fixed). Subsequent batches in the `Depends on` chain do not start — the
195
+ orchestrator skips them and reports the blocker to the user.
196
+
197
+ This ensures the tree remains green and no downstream consumer migration builds
198
+ on unstable code.
199
+
200
+ **STOP here. Show the Blast Radius Assessment report and the recommended route
201
+ (narrow or wide). If wide, show the proposed batch structure and wait for
202
+ user approval before proceeding.**
203
+
204
+ ---
205
+
59
206
  ## Step 2 — Route by risk
60
207
 
61
208
  Read the risk field from the Refactor Plan and follow the corresponding route.
@@ -140,9 +287,13 @@ findings block completion.
140
287
 
141
288
  ## Completion
142
289
 
143
- Report: Refactor Plan (approved), Implementation Summary, test results before
290
+ Report: Refactor Plan (approved), Blast Radius Assessment (if applicable), Implementation Summary, test results before
144
291
  and after, Review Report (if applicable).
145
292
 
146
293
  The refactor is complete only when: all pre-existing tests still pass, the
147
294
  implementation matches the approved plan exactly, and no CRITICAL review
148
295
  findings remain.
296
+
297
+ If using expand-migrate-contract: completion occurs only after all batches
298
+ (expand, migrate, contract) are DONE and no BLOCKED items remain in the
299
+ sequencing chain.