wicked-garden 12.27.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 (640) hide show
  1. package/.claude-plugin/archetypes.json +166 -0
  2. package/.claude-plugin/components.json +75 -0
  3. package/.claude-plugin/marketplace.json +15 -0
  4. package/.claude-plugin/plugin.json +174 -0
  5. package/.claude-plugin/specialist.json +48 -0
  6. package/.claude-plugin/stack-registry.json +96 -0
  7. package/AGENTS.md +13 -0
  8. package/CHANGELOG.md +712 -0
  9. package/CONTRIBUTING.md +99 -0
  10. package/ETHOS.md +83 -0
  11. package/LICENSE +21 -0
  12. package/README.md +115 -0
  13. package/WICKED_GARDEN_BUS_EVENTS.md +149 -0
  14. package/agents/agentic/architect.md +449 -0
  15. package/agents/agentic/performance-analyst.md +702 -0
  16. package/agents/agentic/safety-reviewer.md +662 -0
  17. package/agents/crew/implementer.md +163 -0
  18. package/agents/crew/researcher.md +94 -0
  19. package/agents/crew/reviewer.md +184 -0
  20. package/agents/data/data-engineer.md +227 -0
  21. package/agents/engineering/api-documentarian.md +440 -0
  22. package/agents/engineering/migration-engineer.md +301 -0
  23. package/agents/engineering/solution-architect.md +208 -0
  24. package/agents/jam/brainstorm-facilitator.md +297 -0
  25. package/agents/jam/council.md +322 -0
  26. package/agents/jam/quick-facilitator.md +85 -0
  27. package/agents/persona/persona-agent.md +121 -0
  28. package/agents/platform/compliance-officer.md +266 -0
  29. package/agents/platform/privacy-expert.md +496 -0
  30. package/agents/platform/security-engineer.md +287 -0
  31. package/agents/product/a11y-expert.md +323 -0
  32. package/agents/product/requirements-analyst.md +238 -0
  33. package/agents/product/ui-reviewer.md +180 -0
  34. package/agents/product/ux-designer.md +199 -0
  35. package/agents/product/value-strategist.md +269 -0
  36. package/agents/qe/semantic-reviewer.md +78 -0
  37. package/commands/agentic/audit.md +24 -0
  38. package/commands/agentic/design.md +24 -0
  39. package/commands/agentic/frameworks.md +25 -0
  40. package/commands/agentic/review.md +27 -0
  41. package/commands/archetype/build.md +12 -0
  42. package/commands/archetype/decide.md +12 -0
  43. package/commands/archetype/explore.md +12 -0
  44. package/commands/archetype/incident.md +12 -0
  45. package/commands/archetype/migrate.md +12 -0
  46. package/commands/archetype/modernize.md +12 -0
  47. package/commands/archetype/review.md +14 -0
  48. package/commands/archetype/ship.md +12 -0
  49. package/commands/archetype/specify.md +12 -0
  50. package/commands/archetype/triage.md +12 -0
  51. package/commands/compile.md +37 -0
  52. package/commands/data/analyze.md +18 -0
  53. package/commands/data/data.md +21 -0
  54. package/commands/data/ml.md +18 -0
  55. package/commands/data/ontology.md +22 -0
  56. package/commands/data/pipeline.md +17 -0
  57. package/commands/deliberate.md +181 -0
  58. package/commands/engineering/add-field.md +77 -0
  59. package/commands/engineering/apply.md +58 -0
  60. package/commands/engineering/arch.md +26 -0
  61. package/commands/engineering/debug.md +27 -0
  62. package/commands/engineering/docs.md +27 -0
  63. package/commands/engineering/new-generator.md +257 -0
  64. package/commands/engineering/patch-plan.md +59 -0
  65. package/commands/engineering/plan.md +29 -0
  66. package/commands/engineering/remove.md +48 -0
  67. package/commands/engineering/rename.md +44 -0
  68. package/commands/engineering/review.md +32 -0
  69. package/commands/help.md +128 -0
  70. package/commands/install.md +118 -0
  71. package/commands/intent.md +54 -0
  72. package/commands/jam/brainstorm.md +37 -0
  73. package/commands/jam/council.md +49 -0
  74. package/commands/jam/quick.md +21 -0
  75. package/commands/jam/revisit.md +79 -0
  76. package/commands/persona/as.md +136 -0
  77. package/commands/persona/define.md +24 -0
  78. package/commands/persona/list.md +118 -0
  79. package/commands/platform/actions.md +20 -0
  80. package/commands/platform/assert.md +18 -0
  81. package/commands/platform/audit.md +23 -0
  82. package/commands/platform/compliance.md +20 -0
  83. package/commands/platform/gh.md +22 -0
  84. package/commands/platform/health.md +22 -0
  85. package/commands/platform/incident.md +23 -0
  86. package/commands/platform/infra.md +24 -0
  87. package/commands/platform/peer-health.md +103 -0
  88. package/commands/platform/plugin-health.md +58 -0
  89. package/commands/platform/security.md +38 -0
  90. package/commands/platform/toolchain.md +96 -0
  91. package/commands/platform/traces.md +20 -0
  92. package/commands/product/a11y.md +19 -0
  93. package/commands/product/acceptance.md +19 -0
  94. package/commands/product/align.md +20 -0
  95. package/commands/product/analyze.md +23 -0
  96. package/commands/product/elicit.md +19 -0
  97. package/commands/product/listen.md +24 -0
  98. package/commands/product/mockup.md +20 -0
  99. package/commands/product/screenshot.md +19 -0
  100. package/commands/product/strategy.md +40 -0
  101. package/commands/product/synthesize.md +23 -0
  102. package/commands/product/ux-review.md +42 -0
  103. package/commands/product/ux.md +20 -0
  104. package/commands/product/visual-direction.md +34 -0
  105. package/commands/prove.md +47 -0
  106. package/commands/report-issue.md +243 -0
  107. package/commands/reset.md +144 -0
  108. package/commands/search/blast-radius.md +58 -0
  109. package/commands/search/hotspots.md +55 -0
  110. package/commands/search/index.md +38 -0
  111. package/commands/search/lineage.md +47 -0
  112. package/commands/search/service-map.md +79 -0
  113. package/commands/setup.md +363 -0
  114. package/commands/smaht/briefing.md +200 -0
  115. package/commands/smaht/events-import.md +95 -0
  116. package/commands/smaht/state.md +19 -0
  117. package/commands/where-am-i.md +58 -0
  118. package/docs/README.md +32 -0
  119. package/docs/adr/0001-code-relationship-graph-engine.md +116 -0
  120. package/docs/adr/0002-major-cleanup-keep-cut.md +91 -0
  121. package/docs/adr/0003-peers-gate-required-layers-optin.md +41 -0
  122. package/docs/adr/0004-code-graph-moves-to-wicked-brain.md +47 -0
  123. package/docs/brain-chunk-format.md +135 -0
  124. package/docs/compiler.md +95 -0
  125. package/docs/daemon-api.md +70 -0
  126. package/docs/domains.md +197 -0
  127. package/docs/getting-started.md +208 -0
  128. package/docs/plans/2026-06-08-wicked-loom-conduct.md +1337 -0
  129. package/docs/plans/2026-06-08-wicked-loom-contract.md +638 -0
  130. package/docs/plans/2026-06-08-wicked-loom-cutover.md +1300 -0
  131. package/docs/plans/2026-06-08-wicked-loom-expand-compose.md +843 -0
  132. package/docs/plans/2026-06-08-wicked-loom-flow-cutover.md +403 -0
  133. package/docs/plans/2026-06-10-codegraph-to-brain-phase1a-graph-core.md +838 -0
  134. package/docs/plans/2026-06-10-codegraph-to-brain-phase1b-injected-edges.md +44 -0
  135. package/docs/required-peers.md +60 -0
  136. package/docs/specs/2026-06-08-wicked-loom-extraction.md +225 -0
  137. package/docs/specs/2026-06-10-codegraph-to-brain-migration.md +168 -0
  138. package/docs/v11/archetypes.md +231 -0
  139. package/hooks/hooks.json +275 -0
  140. package/hooks/scripts/bootstrap.py +1797 -0
  141. package/hooks/scripts/invoke.py +62 -0
  142. package/hooks/scripts/notification.py +166 -0
  143. package/hooks/scripts/permission_request.py +223 -0
  144. package/hooks/scripts/post_tool.py +1374 -0
  145. package/hooks/scripts/pre_compact.py +272 -0
  146. package/hooks/scripts/pre_tool.py +1278 -0
  147. package/hooks/scripts/prompt_submit.py +1109 -0
  148. package/hooks/scripts/session_end.py +95 -0
  149. package/hooks/scripts/stop.py +624 -0
  150. package/hooks/scripts/subagent_lifecycle.py +464 -0
  151. package/hooks/scripts/subscribers/on_gate_decided.py +84 -0
  152. package/hooks/scripts/task_completed.py +322 -0
  153. package/hooks/scripts/worktree_guard.py +148 -0
  154. package/hooks/subscriptions/on_gate_decided.json +9 -0
  155. package/install.mjs +128 -0
  156. package/package.json +41 -0
  157. package/pyproject.toml +59 -0
  158. package/schemas/README.md +32 -0
  159. package/schemas/assert_contracts.json +37 -0
  160. package/schemas/health_probe.json +46 -0
  161. package/schemas/plugin_status.json +37 -0
  162. package/scripts/_adapters/__init__.py +166 -0
  163. package/scripts/_adapters/jira_adapter.py +18 -0
  164. package/scripts/_adapters/linear_adapter.py +18 -0
  165. package/scripts/_adapters/miro_adapter.py +18 -0
  166. package/scripts/_adapters/notion_adapter.py +18 -0
  167. package/scripts/_agents.py +357 -0
  168. package/scripts/_brain_ingest/__init__.py +2 -0
  169. package/scripts/_brain_ingest/session_fact_extractor.py +341 -0
  170. package/scripts/_brain_port.py +163 -0
  171. package/scripts/_bus.py +1081 -0
  172. package/scripts/_bus_catalog_gen.py +93 -0
  173. package/scripts/_bus_consumers.json +46 -0
  174. package/scripts/_bus_emit.py +43 -0
  175. package/scripts/_capability_registry.py +334 -0
  176. package/scripts/_capability_resolver.py +322 -0
  177. package/scripts/_domain_store.py +559 -0
  178. package/scripts/_event_log_reader.py +154 -0
  179. package/scripts/_event_schema.py +305 -0
  180. package/scripts/_event_store.py +397 -0
  181. package/scripts/_heavy_cadence.py +324 -0
  182. package/scripts/_integration_resolver.py +321 -0
  183. package/scripts/_logger.py +151 -0
  184. package/scripts/_loom.py +482 -0
  185. package/scripts/_paths.py +133 -0
  186. package/scripts/_python.sh +22 -0
  187. package/scripts/_run.py +137 -0
  188. package/scripts/_session.py +502 -0
  189. package/scripts/_validate_registry.py +1042 -0
  190. package/scripts/_wicked_testing_probe.py +277 -0
  191. package/scripts/agentic/analyze_agents.py +391 -0
  192. package/scripts/agentic/detect_framework.py +420 -0
  193. package/scripts/agentic/issue_taxonomy.py +357 -0
  194. package/scripts/agentic/pattern_scorer.py +434 -0
  195. package/scripts/classify/persist.py +169 -0
  196. package/scripts/compiler/compile.py +552 -0
  197. package/scripts/compiler/phase0/VERDICT.md +60 -0
  198. package/scripts/compiler/phase0/detect.py +292 -0
  199. package/scripts/compiler/phase0/emit.py +228 -0
  200. package/scripts/compiler/phase0/evidence/Enterprise-AISDLC.bindings.json +30 -0
  201. package/scripts/compiler/phase0/evidence/Enterprise-AISDLC.lint-output.txt +17 -0
  202. package/scripts/compiler/phase0/evidence/Enterprise-AISDLC.stage/.wg/evidence/failing-tests.txt +4 -0
  203. package/scripts/compiler/phase0/evidence/Enterprise-AISDLC.stage/.wg/evidence/honest-tests.txt +2 -0
  204. package/scripts/compiler/phase0/evidence/Enterprise-AISDLC.stage/fab-fail.build.md +8 -0
  205. package/scripts/compiler/phase0/evidence/Enterprise-AISDLC.stage/fab-missing.build.md +8 -0
  206. package/scripts/compiler/phase0/evidence/Enterprise-AISDLC.stage/honest.build.md +8 -0
  207. package/scripts/compiler/phase0/evidence/Enterprise-AISDLC.stage/wg_check_claims.py +174 -0
  208. package/scripts/compiler/phase0/evidence/command_iq.bindings.json +45 -0
  209. package/scripts/compiler/phase0/evidence/command_iq.lint-output.txt +17 -0
  210. package/scripts/compiler/phase0/evidence/command_iq.stage/.projects/evidence-domain/phase-1-clarify/evidence/failing-tests.txt +4 -0
  211. package/scripts/compiler/phase0/evidence/command_iq.stage/.projects/evidence-domain/phase-1-clarify/evidence/honest-tests.txt +3 -0
  212. package/scripts/compiler/phase0/evidence/command_iq.stage/fab-fail.build.md +8 -0
  213. package/scripts/compiler/phase0/evidence/command_iq.stage/fab-missing.build.md +8 -0
  214. package/scripts/compiler/phase0/evidence/command_iq.stage/honest.build.md +8 -0
  215. package/scripts/compiler/phase0/evidence/command_iq.stage/wg_check_claims.py +174 -0
  216. package/scripts/compiler/phase0/evidence/memos.bindings.json +28 -0
  217. package/scripts/compiler/phase0/evidence/memos.lint-output.txt +17 -0
  218. package/scripts/compiler/phase0/evidence/memos.stage/.wg/evidence/failing-tests.txt +4 -0
  219. package/scripts/compiler/phase0/evidence/memos.stage/.wg/evidence/honest-tests.txt +2 -0
  220. package/scripts/compiler/phase0/evidence/memos.stage/fab-fail.build.md +8 -0
  221. package/scripts/compiler/phase0/evidence/memos.stage/fab-missing.build.md +8 -0
  222. package/scripts/compiler/phase0/evidence/memos.stage/honest.build.md +8 -0
  223. package/scripts/compiler/phase0/evidence/memos.stage/wg_check_claims.py +174 -0
  224. package/scripts/compiler/phase0/evidence/verdict.json +104 -0
  225. package/scripts/compiler/phase0/evidence/wicked-bus.bindings.json +29 -0
  226. package/scripts/compiler/phase0/evidence/wicked-bus.lint-output.txt +17 -0
  227. package/scripts/compiler/phase0/evidence/wicked-bus.stage/coverage/failing-tests.txt +4 -0
  228. package/scripts/compiler/phase0/evidence/wicked-bus.stage/coverage/honest-tests.txt +3 -0
  229. package/scripts/compiler/phase0/evidence/wicked-bus.stage/fab-fail.build.md +8 -0
  230. package/scripts/compiler/phase0/evidence/wicked-bus.stage/fab-missing.build.md +8 -0
  231. package/scripts/compiler/phase0/evidence/wicked-bus.stage/honest.build.md +8 -0
  232. package/scripts/compiler/phase0/evidence/wicked-bus.stage/wg_check_claims.py +174 -0
  233. package/scripts/compiler/phase0/evidence/wire-vault-transcript.txt +60 -0
  234. package/scripts/compiler/phase0/run_probe.py +234 -0
  235. package/scripts/compiler/phase0/wire_vault.py +310 -0
  236. package/scripts/crew/__init__.py +0 -0
  237. package/scripts/crew/_task_audit_writer.py +243 -0
  238. package/scripts/crew/_task_reader.py +389 -0
  239. package/scripts/crew/archetypes_v11.py +348 -0
  240. package/scripts/crew/detectors/__init__.py +12 -0
  241. package/scripts/crew/flow_compiler.py +121 -0
  242. package/scripts/crew/phase_manager.py +703 -0
  243. package/scripts/crew/scope_delta.py +264 -0
  244. package/scripts/crew/specialist_resolver.py +218 -0
  245. package/scripts/crew/stack_registry.py +189 -0
  246. package/scripts/data/data_profiler.py +271 -0
  247. package/scripts/data/ontology_recommender.py +231 -0
  248. package/scripts/data/schema_validator.py +267 -0
  249. package/scripts/delivery/drift.py +739 -0
  250. package/scripts/delivery/telemetry.py +614 -0
  251. package/scripts/engineering/patch/codegraph_db.py +125 -0
  252. package/scripts/engineering/patch/generators/__init__.py +56 -0
  253. package/scripts/engineering/patch/generators/base.py +373 -0
  254. package/scripts/engineering/patch/generators/csharp_generator.py +494 -0
  255. package/scripts/engineering/patch/generators/go_generator.py +430 -0
  256. package/scripts/engineering/patch/generators/java_generator.py +928 -0
  257. package/scripts/engineering/patch/generators/jsp_generator.py +454 -0
  258. package/scripts/engineering/patch/generators/kotlin_generator.py +561 -0
  259. package/scripts/engineering/patch/generators/perl_generator.py +510 -0
  260. package/scripts/engineering/patch/generators/php_generator.py +644 -0
  261. package/scripts/engineering/patch/generators/propagation_engine.py +929 -0
  262. package/scripts/engineering/patch/generators/python_generator.py +487 -0
  263. package/scripts/engineering/patch/generators/ruby_generator.py +463 -0
  264. package/scripts/engineering/patch/generators/rust_generator.py +400 -0
  265. package/scripts/engineering/patch/generators/sql_generator.py +594 -0
  266. package/scripts/engineering/patch/generators/typescript_generator.py +439 -0
  267. package/scripts/engineering/patch/patch.py +800 -0
  268. package/scripts/engineering/patch/safety.py +429 -0
  269. package/scripts/jam/__init__.py +0 -0
  270. package/scripts/jam/_bus_consumers.py +271 -0
  271. package/scripts/jam/agentic_cli_registry.py +703 -0
  272. package/scripts/jam/consensus.py +737 -0
  273. package/scripts/jam/detect_clis.py +409 -0
  274. package/scripts/jam/jam.py +283 -0
  275. package/scripts/jam/save_transcript.py +171 -0
  276. package/scripts/loom/__init__.py +22 -0
  277. package/scripts/loom/cli.py +170 -0
  278. package/scripts/loom/compose.py +180 -0
  279. package/scripts/loom/gate.py +120 -0
  280. package/scripts/loom/manifest.py +140 -0
  281. package/scripts/loom/resolve.py +59 -0
  282. package/scripts/persona/__init__.py +0 -0
  283. package/scripts/persona/registry.py +688 -0
  284. package/scripts/platform/guard_pipeline.py +1214 -0
  285. package/scripts/platform/guard_profiles.py +216 -0
  286. package/scripts/platform/observability/assert_contracts.py +434 -0
  287. package/scripts/platform/observability/health_probe.py +915 -0
  288. package/scripts/platform/observability/ops_log_viewer.py +209 -0
  289. package/scripts/platform/prereq_doctor.py +567 -0
  290. package/scripts/qe/conditions_manifest.py +260 -0
  291. package/scripts/qe/content_sanitizer.py +160 -0
  292. package/scripts/qe/coverage_tracker.py +535 -0
  293. package/scripts/qe/discover_scenarios.py +243 -0
  294. package/scripts/qe/evidence_tracker.py +232 -0
  295. package/scripts/qe/prove.py +196 -0
  296. package/scripts/qe/registry_lookup.py +80 -0
  297. package/scripts/qe/registry_store.py +176 -0
  298. package/scripts/qe/semantic_review.py +1005 -0
  299. package/scripts/qe/vault_gate.py +382 -0
  300. package/scripts/qe/verdict_audit.py +175 -0
  301. package/scripts/qe/verdict_schema.py +335 -0
  302. package/scripts/reset.py +220 -0
  303. package/scripts/resolve_path.py +22 -0
  304. package/scripts/sentinel/invariants.py +402 -0
  305. package/scripts/sentinel/pre_push.py +73 -0
  306. package/scripts/setup/__init__.py +1 -0
  307. package/scripts/setup/detect_state.py +114 -0
  308. package/scripts/setup/migrate_legacy.py +67 -0
  309. package/scripts/setup/migrate_v6_projects.py +232 -0
  310. package/scripts/setup/onboarding.py +114 -0
  311. package/scripts/smaht/_bus_consumers.py +98 -0
  312. package/scripts/smaht/adapters/__init__.py +83 -0
  313. package/scripts/smaht/adapters/brain_adapter.py +254 -0
  314. package/scripts/smaht/adapters/context7_adapter.py +438 -0
  315. package/scripts/smaht/adapters/delegation_adapter.py +104 -0
  316. package/scripts/smaht/adapters/domain_adapter.py +206 -0
  317. package/scripts/smaht/adapters/events_adapter.py +231 -0
  318. package/scripts/smaht/adapters/tools_adapter.py +49 -0
  319. package/scripts/smaht/cheatsheet_store.py +236 -0
  320. package/scripts/smaht/context_package.py +386 -0
  321. package/scripts/smaht/knowledge_graph.py +395 -0
  322. package/scripts/smaht/propose_skills.py +856 -0
  323. package/scripts/smaht/test_cheatsheet_store.py +428 -0
  324. package/scripts/statusline.py +151 -0
  325. package/scripts/where_am_i.py +236 -0
  326. package/skills/agentic/agentic-patterns/SKILL.md +91 -0
  327. package/skills/agentic/agentic-patterns/refs/anti-patterns-design.md +283 -0
  328. package/skills/agentic/agentic-patterns/refs/anti-patterns-operational.md +216 -0
  329. package/skills/agentic/agentic-patterns/refs/pattern-catalog.md +329 -0
  330. package/skills/agentic/context-engineering/SKILL.md +142 -0
  331. package/skills/agentic/context-engineering/refs/caching-and-optimization.md +251 -0
  332. package/skills/agentic/context-engineering/refs/compression-techniques.md +171 -0
  333. package/skills/agentic/context-engineering/refs/cost-calculation-budget.md +250 -0
  334. package/skills/agentic/context-engineering/refs/cost-optimization-reporting.md +300 -0
  335. package/skills/agentic/context-engineering/refs/selective-loading.md +179 -0
  336. package/skills/agentic/frameworks/SKILL.md +191 -0
  337. package/skills/agentic/frameworks/refs/framework-profiles-1.md +209 -0
  338. package/skills/agentic/frameworks/refs/framework-profiles-2.md +214 -0
  339. package/skills/agentic/frameworks/refs/migration-patterns-paths.md +267 -0
  340. package/skills/agentic/frameworks/refs/migration-patterns-testing.md +208 -0
  341. package/skills/agentic/refs/audit.md +134 -0
  342. package/skills/agentic/refs/design.md +137 -0
  343. package/skills/agentic/refs/frameworks.md +102 -0
  344. package/skills/agentic/refs/review.md +160 -0
  345. package/skills/agentic/review-methodology/SKILL.md +186 -0
  346. package/skills/agentic/review-methodology/refs/deliverable-templates.md +246 -0
  347. package/skills/agentic/review-methodology/refs/issue-taxonomy-quality-testing.md +277 -0
  348. package/skills/agentic/review-methodology/refs/issue-taxonomy-reliability-safety.md +253 -0
  349. package/skills/agentic/trust-and-safety/SKILL.md +177 -0
  350. package/skills/agentic/trust-and-safety/refs/guardrails-actions.md +246 -0
  351. package/skills/agentic/trust-and-safety/refs/guardrails-input-output.md +238 -0
  352. package/skills/agentic/trust-and-safety/refs/guardrails-resources.md +209 -0
  353. package/skills/agentic/trust-and-safety/refs/safety-checklist-advanced.md +209 -0
  354. package/skills/agentic/trust-and-safety/refs/safety-checklist-core.md +215 -0
  355. package/skills/archetype/SKILL.md +104 -0
  356. package/skills/archetype/refs/build.md +142 -0
  357. package/skills/archetype/refs/decide.md +117 -0
  358. package/skills/archetype/refs/explore.md +66 -0
  359. package/skills/archetype/refs/incident.md +149 -0
  360. package/skills/archetype/refs/migrate.md +170 -0
  361. package/skills/archetype/refs/modernize.md +187 -0
  362. package/skills/archetype/refs/review.md +145 -0
  363. package/skills/archetype/refs/ship.md +117 -0
  364. package/skills/archetype/refs/specify.md +108 -0
  365. package/skills/archetype/refs/triage.md +62 -0
  366. package/skills/classify/SKILL.md +157 -0
  367. package/skills/data/analysis/SKILL.md +125 -0
  368. package/skills/data/analysis/refs/templates.md +170 -0
  369. package/skills/data/data/SKILL.md +118 -0
  370. package/skills/data/data/refs/examples.md +235 -0
  371. package/skills/data/ml/SKILL.md +125 -0
  372. package/skills/data/ml/refs/templates.md +172 -0
  373. package/skills/data/pipeline/SKILL.md +136 -0
  374. package/skills/data/pipeline/refs/templates.md +175 -0
  375. package/skills/data/refs/analyze.md +123 -0
  376. package/skills/data/refs/data.md +95 -0
  377. package/skills/data/refs/ml.md +118 -0
  378. package/skills/data/refs/pipeline.md +92 -0
  379. package/skills/deliberate/SKILL.md +125 -0
  380. package/skills/deliberate/refs/architecture-lens.md +37 -0
  381. package/skills/deliberate/refs/assumptions-lens.md +43 -0
  382. package/skills/deliberate/refs/code-lens.md +38 -0
  383. package/skills/deliberate/refs/content-lens.md +37 -0
  384. package/skills/deliberate/refs/data-lens.md +43 -0
  385. package/skills/deliberate/refs/design-lens.md +37 -0
  386. package/skills/deliberate/refs/opportunity-patterns.md +107 -0
  387. package/skills/deliberate/refs/ops-lens.md +43 -0
  388. package/skills/deliberate/refs/product-lens.md +46 -0
  389. package/skills/deliberate/refs/rethink-framework.md +77 -0
  390. package/skills/deliberate/refs/security-lens.md +47 -0
  391. package/skills/deliberate/refs/testing-lens.md +45 -0
  392. package/skills/deliberate/refs/timing-lens.md +42 -0
  393. package/skills/engineering/architecture/SKILL.md +177 -0
  394. package/skills/engineering/architecture/refs/adr-template.md +268 -0
  395. package/skills/engineering/architecture/refs/architecture-template-deployment.md +176 -0
  396. package/skills/engineering/architecture/refs/architecture-template-design.md +300 -0
  397. package/skills/engineering/architecture/refs/examples-ecommerce-analytics.md +299 -0
  398. package/skills/engineering/architecture/refs/examples-saas-trading.md +291 -0
  399. package/skills/engineering/architecture/refs/patterns-advanced.md +238 -0
  400. package/skills/engineering/architecture/refs/patterns-structural.md +303 -0
  401. package/skills/engineering/backend/SKILL.md +102 -0
  402. package/skills/engineering/backend/refs/checklists.md +146 -0
  403. package/skills/engineering/backend/refs/patterns.md +181 -0
  404. package/skills/engineering/debugging/SKILL.md +99 -0
  405. package/skills/engineering/debugging/refs/patterns.md +248 -0
  406. package/skills/engineering/debugging/refs/process.md +203 -0
  407. package/skills/engineering/docs/SKILL.md +97 -0
  408. package/skills/engineering/engineering/SKILL.md +88 -0
  409. package/skills/engineering/engineering/refs/checklists.md +91 -0
  410. package/skills/engineering/engineering/refs/templates.md +71 -0
  411. package/skills/engineering/frontend/SKILL.md +92 -0
  412. package/skills/engineering/frontend/refs/checklists.md +96 -0
  413. package/skills/engineering/frontend/refs/patterns.md +167 -0
  414. package/skills/engineering/integration/SKILL.md +183 -0
  415. package/skills/engineering/integration/refs/error-handling-best-practices.md +139 -0
  416. package/skills/engineering/integration/refs/error-handling-error-classes-typescript.md +212 -0
  417. package/skills/engineering/integration/refs/error-handling-error-response-format.md +301 -0
  418. package/skills/engineering/integration/refs/error-handling-retry-strategies.md +190 -0
  419. package/skills/engineering/integration/refs/event-schemas-best-practices.md +225 -0
  420. package/skills/engineering/integration/refs/event-schemas-event-naming-conventions.md +303 -0
  421. package/skills/engineering/integration/refs/event-schemas-event-structure.md +288 -0
  422. package/skills/engineering/integration/refs/graphql-best-practices.md +138 -0
  423. package/skills/engineering/integration/refs/graphql-error-handling.md +198 -0
  424. package/skills/engineering/integration/refs/graphql-graphql-basics.md +197 -0
  425. package/skills/engineering/integration/refs/graphql-query-examples.md +226 -0
  426. package/skills/engineering/integration/refs/graphql-schema-design-patterns.md +280 -0
  427. package/skills/engineering/integration/refs/grpc-grpc-overview.md +246 -0
  428. package/skills/engineering/integration/refs/grpc-implementation-examples.md +269 -0
  429. package/skills/engineering/integration/refs/grpc-metadata-headers.md +304 -0
  430. package/skills/engineering/integration/refs/grpc-testing.md +49 -0
  431. package/skills/engineering/integration/refs/openapi-template.yaml +682 -0
  432. package/skills/engineering/integration/refs/resilience-best-practices.md +109 -0
  433. package/skills/engineering/integration/refs/resilience-circuit-breaker-pattern.md +302 -0
  434. package/skills/engineering/integration/refs/resilience-rate-limiting.md +245 -0
  435. package/skills/engineering/integration/refs/resilience-timeout-pattern.md +212 -0
  436. package/skills/engineering/integration/refs/rest-api-fundamentals.md +299 -0
  437. package/skills/engineering/integration/refs/rest-api-responses-security.md +302 -0
  438. package/skills/engineering/integration/refs/versioning-breaking-changes.md +237 -0
  439. package/skills/engineering/integration/refs/versioning-migration-strategies.md +257 -0
  440. package/skills/engineering/integration/refs/versioning-versioning-strategies.md +296 -0
  441. package/skills/engineering/large-scale-migration/SKILL.md +65 -0
  442. package/skills/engineering/patch/SKILL.md +184 -0
  443. package/skills/engineering/refs/arch.md +126 -0
  444. package/skills/engineering/refs/debug.md +142 -0
  445. package/skills/engineering/refs/docs.md +190 -0
  446. package/skills/engineering/refs/plan.md +109 -0
  447. package/skills/engineering/refs/review.md +138 -0
  448. package/skills/engineering/system-design/SKILL.md +154 -0
  449. package/skills/engineering/system-design/refs/anti-patterns-big-ball-of-mud.md +254 -0
  450. package/skills/engineering/system-design/refs/anti-patterns-circular-dependencies.md +241 -0
  451. package/skills/engineering/system-design/refs/anti-patterns-feature-envy.md +168 -0
  452. package/skills/engineering/system-design/refs/anti-patterns-god-object.md +247 -0
  453. package/skills/engineering/system-design/refs/component-template-lifecycle.md +210 -0
  454. package/skills/engineering/system-design/refs/component-template-maintenance.md +219 -0
  455. package/skills/engineering/system-design/refs/component-template-structure.md +276 -0
  456. package/skills/engineering/system-design/refs/dependencies-best-practices.md +260 -0
  457. package/skills/engineering/system-design/refs/dependencies-dependency-principles.md +295 -0
  458. package/skills/engineering/system-design/refs/dependencies-dependency-tracking.md +261 -0
  459. package/skills/engineering/system-design/refs/interface-template-lifecycle.md +211 -0
  460. package/skills/engineering/system-design/refs/interface-template-maintenance.md +212 -0
  461. package/skills/engineering/system-design/refs/interface-template-structure.md +269 -0
  462. package/skills/engineering/system-design/refs/patterns-dependency-injection.md +151 -0
  463. package/skills/engineering/system-design/refs/patterns-facade-pattern.md +257 -0
  464. package/skills/engineering/system-design/refs/patterns-layered-pattern.md +204 -0
  465. package/skills/engineering/system-design/refs/patterns-plugin-architecture.md +229 -0
  466. package/skills/engineering/unit-test-quality/SKILL.md +194 -0
  467. package/skills/ground/SKILL.md +130 -0
  468. package/skills/integration-discovery/SKILL.md +168 -0
  469. package/skills/integration-discovery/refs/capabilities.md +282 -0
  470. package/skills/integration-discovery/refs/cli-detection.md +295 -0
  471. package/skills/integration-discovery/refs/discovery-sources.md +233 -0
  472. package/skills/integration-discovery/refs/task-patterns.md +206 -0
  473. package/skills/jam/SKILL.md +45 -0
  474. package/skills/jam/refs/facilitation-patterns.md +125 -0
  475. package/skills/jam/refs/quick.md +64 -0
  476. package/skills/jam/refs/synthesis-patterns.md +114 -0
  477. package/skills/multi-model/SKILL.md +168 -0
  478. package/skills/multi-model/refs/aichat.md +119 -0
  479. package/skills/multi-model/refs/aider.md +100 -0
  480. package/skills/multi-model/refs/auditability.md +238 -0
  481. package/skills/multi-model/refs/codex.md +169 -0
  482. package/skills/multi-model/refs/context.md +306 -0
  483. package/skills/multi-model/refs/copilot.md +161 -0
  484. package/skills/multi-model/refs/examples.md +224 -0
  485. package/skills/multi-model/refs/gemini.md +185 -0
  486. package/skills/multi-model/refs/goose.md +112 -0
  487. package/skills/multi-model/refs/llm.md +124 -0
  488. package/skills/multi-model/refs/opencode.md +196 -0
  489. package/skills/multi-model/refs/orchestration.md +188 -0
  490. package/skills/multi-model/refs/pi.md +208 -0
  491. package/skills/persona/SKILL.md +144 -0
  492. package/skills/persona/refs/define.md +133 -0
  493. package/skills/platform/actions/refs/actions.md +114 -0
  494. package/skills/platform/audit/SKILL.md +174 -0
  495. package/skills/platform/audit/refs/audit.md +145 -0
  496. package/skills/platform/audit/refs/checklists-evidence-operations.md +144 -0
  497. package/skills/platform/audit/refs/checklists-gdpr-pci-evidence.md +213 -0
  498. package/skills/platform/audit/refs/checklists-soc2-hipaa.md +120 -0
  499. package/skills/platform/audit/refs/frameworks-gdpr-pci.md +225 -0
  500. package/skills/platform/audit/refs/frameworks-soc2-hipaa.md +228 -0
  501. package/skills/platform/compliance/SKILL.md +169 -0
  502. package/skills/platform/compliance/refs/checklists.md +303 -0
  503. package/skills/platform/compliance/refs/compliance.md +117 -0
  504. package/skills/platform/compliance/refs/frameworks.md +282 -0
  505. package/skills/platform/errors/SKILL.md +183 -0
  506. package/skills/platform/errors/refs/patterns.md +271 -0
  507. package/skills/platform/errors/refs/severity.md +264 -0
  508. package/skills/platform/gate-benchmark-rebaseline/SKILL.md +108 -0
  509. package/skills/platform/gh/refs/gh.md +105 -0
  510. package/skills/platform/gh-cli/SKILL.md +120 -0
  511. package/skills/platform/gh-cli/refs/automation.md +63 -0
  512. package/skills/platform/gh-cli/refs/gh-ops.md +103 -0
  513. package/skills/platform/gh-cli/refs/patterns.md +132 -0
  514. package/skills/platform/gh-cli/scripts/gh_ops.py +454 -0
  515. package/skills/platform/github-actions/SKILL.md +159 -0
  516. package/skills/platform/github-actions/refs/security.md +150 -0
  517. package/skills/platform/github-actions/refs/templates.md +230 -0
  518. package/skills/platform/github-actions/refs/troubleshooting.md +174 -0
  519. package/skills/platform/github-actions/scripts/workflow_gen.py +215 -0
  520. package/skills/platform/gitlab-ci/SKILL.md +140 -0
  521. package/skills/platform/gitlab-ci/refs/templates.md +223 -0
  522. package/skills/platform/gitlab-ci/refs/troubleshooting.md +213 -0
  523. package/skills/platform/glab-cli/SKILL.md +133 -0
  524. package/skills/platform/glab-cli/refs/ci-debugging.md +95 -0
  525. package/skills/platform/glab-cli/refs/glab-ops.md +78 -0
  526. package/skills/platform/glab-cli/refs/patterns.md +131 -0
  527. package/skills/platform/glab-cli/scripts/glab_ops.py +313 -0
  528. package/skills/platform/health/SKILL.md +177 -0
  529. package/skills/platform/health/refs/health.md +72 -0
  530. package/skills/platform/health/refs/sources.md +302 -0
  531. package/skills/platform/incident/refs/incident.md +136 -0
  532. package/skills/platform/infra/refs/infra.md +104 -0
  533. package/skills/platform/observability/SKILL.md +128 -0
  534. package/skills/platform/observability/refs/toolchain-discovery.md +243 -0
  535. package/skills/platform/prereq-doctor/SKILL.md +57 -0
  536. package/skills/platform/prereq-doctor/refs/tool-registry.md +58 -0
  537. package/skills/platform/traces/refs/traces.md +101 -0
  538. package/skills/product/acceptance-criteria/SKILL.md +193 -0
  539. package/skills/product/acceptance-criteria/refs/ac-anti-patterns.md +291 -0
  540. package/skills/product/acceptance-criteria/refs/ac-examples.md +277 -0
  541. package/skills/product/accessibility/SKILL.md +197 -0
  542. package/skills/product/accessibility/refs/aria-patterns-basics.md +250 -0
  543. package/skills/product/accessibility/refs/aria-patterns-dynamic.md +187 -0
  544. package/skills/product/accessibility/refs/aria-patterns-interactive.md +246 -0
  545. package/skills/product/accessibility/refs/audit-report-findings.md +248 -0
  546. package/skills/product/accessibility/refs/audit-report-results.md +276 -0
  547. package/skills/product/accessibility/refs/common-violations-html-css.md +270 -0
  548. package/skills/product/accessibility/refs/common-violations-interactive.md +303 -0
  549. package/skills/product/accessibility/refs/keyboard-testing-basics.md +222 -0
  550. package/skills/product/accessibility/refs/keyboard-testing-patterns.md +173 -0
  551. package/skills/product/accessibility/refs/screen-reader-testing-advanced.md +294 -0
  552. package/skills/product/accessibility/refs/screen-reader-testing-commands.md +255 -0
  553. package/skills/product/accessibility/refs/wcag-checklist.md +262 -0
  554. package/skills/product/analyze/SKILL.md +164 -0
  555. package/skills/product/analyze/refs/algorithms.md +238 -0
  556. package/skills/product/analyze/refs/sentiment-patterns.md +180 -0
  557. package/skills/product/imagery/SKILL.md +97 -0
  558. package/skills/product/imagery/alter/SKILL.md +105 -0
  559. package/skills/product/imagery/alter/refs/editing-reference.md +146 -0
  560. package/skills/product/imagery/create/SKILL.md +109 -0
  561. package/skills/product/imagery/create/refs/prompt-engineering.md +112 -0
  562. package/skills/product/imagery/create/refs/provider-reference.md +219 -0
  563. package/skills/product/imagery/review/SKILL.md +101 -0
  564. package/skills/product/imagery/review/refs/analysis-lenses.md +136 -0
  565. package/skills/product/imagery/review/refs/quality-gates.md +153 -0
  566. package/skills/product/imagery/scripts/analyze.sh +23 -0
  567. package/skills/product/imagery/scripts/edit.sh +14 -0
  568. package/skills/product/imagery/scripts/generate.sh +13 -0
  569. package/skills/product/imagery/scripts/provider.py +787 -0
  570. package/skills/product/listen/SKILL.md +175 -0
  571. package/skills/product/listen/refs/channels.md +220 -0
  572. package/skills/product/mockup/SKILL.md +106 -0
  573. package/skills/product/mockup/refs/templates.md +95 -0
  574. package/skills/product/refs/a11y.md +109 -0
  575. package/skills/product/refs/acceptance.md +79 -0
  576. package/skills/product/refs/align.md +67 -0
  577. package/skills/product/refs/analyze.md +77 -0
  578. package/skills/product/refs/elicit.md +67 -0
  579. package/skills/product/refs/listen.md +58 -0
  580. package/skills/product/refs/mockup.md +77 -0
  581. package/skills/product/refs/screenshot.md +59 -0
  582. package/skills/product/refs/strategy.md +77 -0
  583. package/skills/product/refs/synthesize.md +54 -0
  584. package/skills/product/refs/ux-review.md +68 -0
  585. package/skills/product/refs/ux.md +101 -0
  586. package/skills/product/requirements-analysis/SKILL.md +136 -0
  587. package/skills/product/requirements-analysis/refs/requirements-example-auth.md +264 -0
  588. package/skills/product/requirements-analysis/refs/requirements-example-export-integration.md +88 -0
  589. package/skills/product/requirements-analysis/refs/requirements-output-format-template.md +247 -0
  590. package/skills/product/requirements-analysis/refs/user-story-guide.md +296 -0
  591. package/skills/product/requirements-graph/SKILL.md +155 -0
  592. package/skills/product/requirements-graph/refs/examples.md +223 -0
  593. package/skills/product/requirements-graph/refs/schema.md +162 -0
  594. package/skills/product/requirements-migrate/SKILL.md +90 -0
  595. package/skills/product/requirements-navigate/SKILL.md +141 -0
  596. package/skills/product/requirements-navigate/refs/meta-templates.md +141 -0
  597. package/skills/product/screenshot/SKILL.md +147 -0
  598. package/skills/product/strategy/SKILL.md +198 -0
  599. package/skills/product/strategy/refs/frameworks.md +295 -0
  600. package/skills/product/strategy/refs/templates-competitive-market.md +299 -0
  601. package/skills/product/strategy/refs/templates-roi-value.md +207 -0
  602. package/skills/product/synthesize/SKILL.md +116 -0
  603. package/skills/product/synthesize/refs/journey-mapping.md +212 -0
  604. package/skills/product/synthesize/refs/prioritization.md +193 -0
  605. package/skills/product/ux-review/SKILL.md +164 -0
  606. package/skills/product/visual-direction/SKILL.md +137 -0
  607. package/skills/product/visual-review/SKILL.md +131 -0
  608. package/skills/runtime-exec/SKILL.md +138 -0
  609. package/skills/search/codebase-narrator/SKILL.md +131 -0
  610. package/skills/search/codebase-narrator/refs/output-template.md +100 -0
  611. package/skills/smaht/SKILL.md +72 -0
  612. package/skills/smaht/discovery/SKILL.md +65 -0
  613. package/skills/smaht/intent/SKILL.md +89 -0
  614. package/skills/smaht/propose-skills/SKILL.md +142 -0
  615. package/skills/smaht/refs/state.md +76 -0
  616. package/skills/swarm/SKILL.md +132 -0
  617. package/skills/swarm/refs/fan-out.md +104 -0
  618. package/skills/swarm/refs/independent-verification.md +86 -0
  619. package/skills/swarm/refs/receipts-and-evidence.md +69 -0
  620. package/skills/swarm/refs/recon-synthesis.md +87 -0
  621. package/skills/swarm/refs/ship-discipline.md +90 -0
  622. package/skills/wickedizer/SKILL.md +147 -0
  623. package/skills/wickedizer/refs/artifact-types.md +238 -0
  624. package/skills/wickedizer/refs/complexity.md +278 -0
  625. package/skills/wickedizer/refs/de-ai-pass.md +140 -0
  626. package/skills/wickedizer/refs/failure-modes.md +249 -0
  627. package/skills/wickedizer/refs/patterns.md +282 -0
  628. package/skills/wickedizer/refs/review.md +221 -0
  629. package/skills/wickedizer/refs/structure.md +282 -0
  630. package/skills/wickedizer/refs/voice-profile.md +125 -0
  631. package/skills/workflow/SKILL.md +132 -0
  632. package/skills/workflow/refs/archetype-adjustments.md +205 -0
  633. package/skills/workflow/refs/evidence.md +58 -0
  634. package/skills/workflow/refs/integration.md +130 -0
  635. package/skills/workflow/refs/risk-dimension-signals.md +260 -0
  636. package/skills/workflow/refs/scoring-rubric.md +49 -0
  637. package/skills/workflow/refs/signal-keywords.md +176 -0
  638. package/skills/workflow/refs/specialist-routing-rules.md +159 -0
  639. package/skills/worktrees/SKILL.md +87 -0
  640. package/skills/worktrees/refs/recipes.md +96 -0
@@ -0,0 +1,231 @@
1
+ # v11 — Work-shape archetypes
2
+
3
+ This is the design note for the v11 reframe. It explains **why** the
4
+ universal pipeline went away and what replaced it. For **how** to use
5
+ v11 day-to-day, see the README and `.claude/CLAUDE.md`.
6
+
7
+ ## The problem v11 solves
8
+
9
+ Through v6–v10, wicked-garden organized work around a fixed pipeline:
10
+
11
+ ```
12
+ clarify → design → test-strategy → challenge → build → test → review → operate
13
+ ```
14
+
15
+ The shape of work was modulated by a **rigor tier dial** (`minimal | standard | full`).
16
+
17
+ This worked well for medium-complexity feature work. It worked poorly
18
+ for everything else:
19
+
20
+ - **A typo fix** went through clarify (write `objective.md`), design
21
+ (write `architecture.md`), build, test, review — even at `minimal`
22
+ rigor.
23
+ - **A schema migration** had to absorb its expand/backfill/cutover/
24
+ contract phases into the universal pipeline's `build` phase, where
25
+ no hooks understood them as such.
26
+ - **A spec elicitation** had no place — `clarify` was a phase of
27
+ something else, not its own work shape.
28
+ - **A production incident** had to go through `clarify` before
29
+ mitigating, because `clarify` was always first.
30
+ - **A design decision** (ADR) had no native shape — it got bundled
31
+ into `design`, where it shared phase artifacts with implementation
32
+ design.
33
+ - **A code review** of someone else's work was supposed to be
34
+ triggered by gate transitions, not as a primary work shape.
35
+
36
+ The rigor dial didn't fix the shape problem; it only adjusted gate
37
+ strictness within the same shape. Setup all looked the same regardless
38
+ of what kind of work was happening.
39
+
40
+ ## The dogfood that surfaced the structural issue
41
+
42
+ Across a single session in May 2026, seven dogfooding bugs were filed
43
+ (#846 through #852) and fixed:
44
+
45
+ 1. Hardcoded `architecture.md` deliverable in design phase (#849)
46
+ 2. Missing `recorded_at` field in qe-orchestrator's gate-result example (#850)
47
+ 3. Missing `reeval-log.jsonl` auto-generation (#851)
48
+ 4. `crew:gate` enum vs just-finish gate names diverging (#852)
49
+ 5. `phase_manager` returning empty `phase_plan` even after the
50
+ facilitator wrote `process-plan.json` (#846)
51
+ 6. CONDITIONAL findings accumulating without resolution (#848)
52
+ 7. HITL clarify gate missing scope-ambiguity (#847)
53
+
54
+ Each fix was correct in isolation. Together they pointed at the
55
+ underlying issue: every one of these symptoms came from forcing
56
+ heterogeneous work into the same pipeline. The hardcoded deliverable
57
+ filename only made sense for one work shape; the gate enum mismatch
58
+ came from the just-finish skill needing more granular gates than the
59
+ 3-name pipeline supplied; the CONDITIONAL findings had no resolution
60
+ mechanism because the pipeline didn't know what kind of resolution
61
+ the work shape demanded.
62
+
63
+ The dogfood findings were patches on a foundation that was wrong-shaped.
64
+
65
+ ## The reframe
66
+
67
+ Instead of one pipeline + a rigor dial, v11 has **9 archetypes**, each
68
+ with its own:
69
+
70
+ - **Phase shape** — the actual phase order for that kind of work.
71
+ - **Produces contract** — what the archetype outputs.
72
+ - **HITL discipline** — when the human is in the loop, and how hard.
73
+ - **Cost band** — rough effort expectation.
74
+ - **Maturity** — how confident we are in the playbook (research / piloted / production).
75
+
76
+ The archetypes:
77
+
78
+ | Archetype | Phases | Produces | HITL |
79
+ |-----------|---------------------------------------------------------|--------------------------------|-----------------------|
80
+ | triage | classify | routing decision | none |
81
+ | explore | frame → diverge → converge | option set / hypothesis | continuous |
82
+ | specify | elicit → structure → validate | SMART acceptance criteria | discrete:validate |
83
+ | decide | brief → options → score → record | ADR / decision artifact | discrete:select |
84
+ | ship | canary → ramp → full → soak | rollout verdict / SLO snapshot | discrete:ramp |
85
+ | review | scope → assess → findings → remediate-or-accept | verdict / remediation list | hard:final-verdict |
86
+ | incident | triage → investigate → mitigate → resolve → followup | mitigation / RCA / followup | hard:mitigate |
87
+ | build | plan → implement → test → review | shipped code / test report | discrete:review |
88
+ | migrate | plan → expand → backfill → cutover → contract | shape change / rollback proof | hard:cutover |
89
+
90
+ Each archetype is self-contained. Phase names are NOT shared across
91
+ archetypes — `plan` in `build` is not `plan` in `migrate`. We
92
+ deliberately do not factor "common phases" because that's how the v6
93
+ universal pipeline emerged.
94
+
95
+ ## Multi-archetype is normal
96
+
97
+ A single prompt routes to a SET of archetypes, not one:
98
+
99
+ - "implement schema change to add tenant_id with backfill"
100
+ → `build + migrate`
101
+ - "kick off the canary rollout for the new pricing logic"
102
+ → `ship`
103
+ - "review the auth middleware change before we deploy it"
104
+ → `review` (and `ship` after, when the verdict is APPROVE)
105
+
106
+ Run them in dependency order. The catalog declares `next_archetypes`
107
+ per archetype to encode the natural sequence (e.g. `migrate` →
108
+ `ship`).
109
+
110
+ ## What replaces gate-policy.json
111
+
112
+ Each archetype owns its own HITL discipline:
113
+
114
+ - `none` — no human checkpoint. Fires and is done.
115
+ - `continuous` — human is a participant throughout (e.g. brainstorm).
116
+ - `discrete:<gate>` — hard stop at the named gate; auto-pass when the
117
+ produces contract is met.
118
+ - `hard:<gate>` — like discrete, but the gate cannot be auto-approved
119
+ or bypassed without an explicit override audit log.
120
+
121
+ There is no global `gate-policy.json`. There is no universal banned-
122
+ reviewer list. There is no rigor-tier × gate matrix. Each archetype's
123
+ playbook is the policy.
124
+
125
+ ## What "produces contract met" means now
126
+
127
+ The gating archetypes (`build`, `specify`, `decide`, `ship`, `review`,
128
+ `incident`, `migrate`) no longer self-assert "done". A produces gate is
129
+ not the agent declaring its own contract satisfied — it is the contract
130
+ **re-derived**. The gate runs `scripts/qe/vault_gate.py`, which calls
131
+ `wicked-vault cross-check`: it re-hashes the recorded evidence and
132
+ **re-runs its verifier** rather than trusting a cached status. A
133
+ claimed-but-false "tests pass" is rejected at the gate; a missing vault
134
+ **fails closed** — there is no vacuous pass. "Met" means re-derived,
135
+ not asserted.
136
+
137
+ The `hard:*` gates (`review`/final-verdict, `incident`/mitigate,
138
+ `migrate`/cutover) additionally require an **independent judgment** —
139
+ the evaluator is not the agent that did the work, recorded as a
140
+ tamper-evident attestation (`--with-attestations`). Self-graded "done"
141
+ cannot clear a hard gate.
142
+
143
+ This makes **wicked-vault** a required peer alongside wicked-bus,
144
+ wicked-brain, and wicked-testing — on npm, `>= 0.3`.
145
+
146
+ ## What replaces propose-process
147
+
148
+ Nothing, structurally. The `triage` archetype handles classification.
149
+ When a prompt is genuinely ambiguous, `explore` is the fallback —
150
+ diverge / converge to surface the option space, then route from there.
151
+
152
+ The 9-factor scoring rubric was useful but oversold its value: it
153
+ correctly identified signals, but the only thing it could do with
154
+ those signals was pick a tier of the universal pipeline. With work
155
+ shapes per archetype, signal classification is simpler — phrase
156
+ match + boolean signals → archetype set, with confidence scores.
157
+
158
+ ## What stays the same
159
+
160
+ - **`Task()` + `TaskCreate`** are still the dispatch primitives.
161
+ v11 doesn't reimplement them.
162
+ - **Domain skills + agents** (engineering, platform, data, product,
163
+ jam, search, agentic, persona, delivery) are unchanged. Archetypes
164
+ invoke them as needed.
165
+ - **Hooks** still classify intent, track tool use, and run lifecycle
166
+ scripts.
167
+ - **wicked-brain** is still the memory layer. **wicked-bus** is still
168
+ the audit substrate.
169
+ - **Slim Body Contract** still applies — command/skill bodies stay
170
+ small.
171
+ - **Steering, not blocking** is the v10 principle that v11 inherits
172
+ and applies more rigorously.
173
+
174
+ ## What's deleted
175
+
176
+ See `CHANGELOG.md` v11.0.0 for the comprehensive list. Headlines:
177
+
178
+ - The `crew/*` pipeline command + agent + skill family (except
179
+ general-purpose `implementer`/`researcher`/`reviewer` agents and
180
+ `archive` command).
181
+ - `gate-policy.json`, `phases.json`, `autonomy-policy.json`,
182
+ `finding-classification.json`.
183
+ - ~50 legacy scripts in `scripts/crew/` (gate-result schema, dispatch-
184
+ log HMAC, conditions-manifest, content-sanitizer, consensus-gate,
185
+ reconcile, validate-plan, etc.).
186
+ - All v6/v7/v8/v9/v10 specific docs (`MIGRATION-v7.md`, `crew-workflow.md`,
187
+ `cross-phase-intelligence.md`, all of `docs/v9/`, etc.).
188
+
189
+ ## How to extend
190
+
191
+ Adding a 10th archetype:
192
+
193
+ 1. Add an entry to `.claude-plugin/archetypes.json`. Declare phases,
194
+ produces, HITL, signals, etc.
195
+ 2. Write `skills/archetype/refs/{name}.md` — the playbook for the
196
+ archetype, ~70-100 lines, following the template of the existing 9.
197
+ 3. Add `commands/archetype/{name}.md` — a 12-line slash command that
198
+ dispatches the archetype skill.
199
+ 4. Add detection signals to the catalog. Test with
200
+ `scripts/crew/archetypes_v11.py detect --prompt "..."`.
201
+ 5. Update the README + this design note tables.
202
+
203
+ That's it. No phase machinery to extend. No gate matrix to update.
204
+
205
+ ## What we got wrong, and what we'd watch for
206
+
207
+ - **Phrase calibration is hard.** A bad phrase list either over-fires
208
+ (everything routes to `build`) or under-fires (everything routes to
209
+ `triage`). The current calibration (single-phrase match → 0.55 score
210
+ trips MEDIUM threshold) is a starting point. Watch for archetypes
211
+ that never fire vs always fire on small prompts.
212
+ - **Multi-archetype dependency order is implicit.** The catalog
213
+ declares `next_archetypes` but doesn't strictly enforce sequencing.
214
+ If two archetypes co-fire and the agent runs them out of order,
215
+ v11 doesn't catch it. We may need an explicit "must come after"
216
+ field if this surfaces as a real issue.
217
+ - **HITL `hard:*` enforcement is now code, not just doctrine.**
218
+ `scripts/crew/phase_manager.py` (`_HARD_GATE_PHASES`) refuses to advance
219
+ past a hard gate at runtime, and the produces-gate re-derives evidence
220
+ through wicked-loom — which re-runs the verifier via wicked-vault —
221
+ (fail-closed) rather than trusting playbook prose (see "What 'produces
222
+ contract met' means now" above). *Discrete* gates remain doctrine-driven
223
+ (auto-pass when the contract is met). The runtime hard-gate map now mirrors
224
+ exactly the three archetypes the catalog declares `hard:*`
225
+ (`migrate.cutover`, `incident.mitigate`, `review.remediate-or-accept`);
226
+ `specify.validate` and `decide.record` are `discrete:*` and were removed
227
+ from the map. `test_hard_gate_map_matches_catalog` locks that alignment.
228
+ - **The `triage` archetype is the safety net for anything else.**
229
+ When the detector returns only `triage`, it means the prompt
230
+ didn't match anything cleanly. The agent should ASK, not GUESS.
231
+ This is the most important behavior to monitor in early v11.
@@ -0,0 +1,275 @@
1
+ {
2
+ "description": "wicked-garden unified hooks — consolidates 10 plugin hook chains into 7 scripts",
3
+
4
+ "_TODO_329_updatedInput": "Issue #329: updatedInput for in-flight tool redirection. The _allow() helper in pre_tool.py already emits updatedInput in hookSpecificOutput, but Claude Code may not yet honor updatedInput for PreToolUse hooks to redirect tool calls. If/when supported, use updatedInput in the MEMORY.md write guard to redirect Write/Edit on MEMORY.md to a wicked-brain:memory call instead of denying.",
5
+
6
+ "_TODO_333_CwdChanged": "Issue #333: CwdChanged is NOT a valid hook event. When supported, add a CwdChanged hook that re-scopes the active crew project, search index, and session state to the new working directory. This would replace the current cwd-based workspace detection in bootstrap.py.",
7
+
8
+ "_TODO_334_FileChanged": "Issue #334: FileChanged is NOT a valid hook event. When supported, add a FileChanged hook to catch all file mutations (including those from external tools and MCP servers) and mark search index entries as stale. Currently only Write/Edit are tracked via PostToolUse.",
9
+
10
+ "_TODO_337_prompt_agent_hook_types": "Issue #337: Hook types 'prompt' and 'agent' are not documented as supported (only 'command' is used). When supported, use type:'prompt' for lightweight validation hooks (no subprocess overhead) and type:'agent' for complex hooks that need LLM reasoning (e.g., intent classification in UserPromptSubmit).",
11
+
12
+ "_TODO_342_InstructionsLoaded": "Issue #342: InstructionsLoaded is NOT a valid hook event. When supported, add an InstructionsLoaded hook to dynamically inject domain-specific instructions based on the active crew project phase, detected frameworks, and session context. This would replace the static systemMessage approach in bootstrap.py.",
13
+
14
+ "_TODO_340_asyncRewake": "Issue #340: asyncRewake is not a supported hook/tool feature. When supported, use asyncRewake for long-running operations (search indexing, QE acceptance tests, crew gate analysis) so the agent can be suspended and rewoken when the operation completes, instead of polling or blocking.",
15
+
16
+ "_TODO_341_http_hooks": "Issue #341: HTTP hook type (type: 'http') is not supported. When supported, add HTTP hooks for external service integration: POST crew phase transitions to a webhook URL, send gate results to a quality dashboard, notify Slack/Teams on crew project completion. Currently all hooks are type: 'command' (subprocess).",
17
+
18
+ "_TODO_344_isolation_worktree": "Issue #344: Agent frontmatter field 'isolation: worktree' is not supported. When supported, add isolation: worktree to the crew implementer, researcher, and reviewer agents so they operate in separate git worktrees. This would prevent destructive operations (branch switching, file modifications) in one agent from affecting others running in parallel.",
19
+
20
+ "_TODO_345_once_flag": "Issue #345: The 'once' flag is not documented as a supported hook property. When supported, add \"once\": true to the SessionStart bootstrap hook so it only fires on the first session start, not on reconnects. Currently bootstrap.py handles this by checking session state for staleness.",
21
+
22
+ "hooks": {
23
+ "SessionStart": [
24
+ {
25
+ "matcher": "*",
26
+ "hooks": [
27
+ {
28
+ "type": "command",
29
+ "command": "python3 \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/invoke.py\" bootstrap || python \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/invoke.py\" bootstrap || py -3 \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/invoke.py\" bootstrap",
30
+ "timeout": 15000
31
+ }
32
+ ]
33
+ }
34
+ ],
35
+ "UserPromptSubmit": [
36
+ {
37
+ "matcher": "*",
38
+ "hooks": [
39
+ {
40
+ "type": "command",
41
+ "command": "python3 \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/invoke.py\" prompt_submit || python \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/invoke.py\" prompt_submit || py -3 \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/invoke.py\" prompt_submit",
42
+ "timeout": 5000
43
+ }
44
+ ]
45
+ }
46
+ ],
47
+ "PreToolUse": [
48
+ {
49
+ "matcher": "TaskCreate|TaskUpdate",
50
+ "hooks": [
51
+ {
52
+ "type": "command",
53
+ "command": "python3 \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/invoke.py\" pre_tool || python \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/invoke.py\" pre_tool || py -3 \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/invoke.py\" pre_tool",
54
+ "timeout": 1000
55
+ }
56
+ ]
57
+ },
58
+ {
59
+ "matcher": "EnterPlanMode",
60
+ "hooks": [
61
+ {
62
+ "type": "command",
63
+ "command": "python3 \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/invoke.py\" pre_tool || python \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/invoke.py\" pre_tool || py -3 \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/invoke.py\" pre_tool",
64
+ "timeout": 1000
65
+ }
66
+ ]
67
+ },
68
+ {
69
+ "matcher": "Write|Edit",
70
+ "hooks": [
71
+ {
72
+ "type": "command",
73
+ "command": "python3 \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/invoke.py\" pre_tool || python \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/invoke.py\" pre_tool || py -3 \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/invoke.py\" pre_tool",
74
+ "timeout": 3000
75
+ }
76
+ ]
77
+ },
78
+ {
79
+ "matcher": "Bash",
80
+ "hooks": [
81
+ {
82
+ "type": "command",
83
+ "command": "python3 \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/invoke.py\" pre_tool || python \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/invoke.py\" pre_tool || py -3 \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/invoke.py\" pre_tool",
84
+ "timeout": 3000
85
+ }
86
+ ]
87
+ }
88
+ ],
89
+ "PostToolUse": [
90
+ {
91
+ "matcher": "TaskCreate|TaskUpdate|TodoWrite",
92
+ "hooks": [
93
+ {
94
+ "type": "command",
95
+ "command": "python3 \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/invoke.py\" post_tool || python \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/invoke.py\" post_tool || py -3 \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/invoke.py\" post_tool",
96
+ "timeout": 5000
97
+ }
98
+ ]
99
+ },
100
+ {
101
+ "matcher": "Write|Edit",
102
+ "hooks": [
103
+ {
104
+ "type": "command",
105
+ "command": "python3 \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/invoke.py\" post_tool || python \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/invoke.py\" post_tool || py -3 \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/invoke.py\" post_tool",
106
+ "timeout": 3000,
107
+ "async": true
108
+ }
109
+ ]
110
+ },
111
+ {
112
+ "matcher": "Task",
113
+ "hooks": [
114
+ {
115
+ "type": "command",
116
+ "command": "python3 \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/invoke.py\" post_tool || python \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/invoke.py\" post_tool || py -3 \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/invoke.py\" post_tool",
117
+ "timeout": 2000
118
+ }
119
+ ]
120
+ },
121
+ {
122
+ "matcher": "Read",
123
+ "hooks": [
124
+ {
125
+ "type": "command",
126
+ "command": "python3 \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/invoke.py\" post_tool || python \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/invoke.py\" post_tool || py -3 \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/invoke.py\" post_tool",
127
+ "timeout": 5000
128
+ }
129
+ ]
130
+ },
131
+ {
132
+ "matcher": "Skill",
133
+ "hooks": [
134
+ {
135
+ "type": "command",
136
+ "command": "python3 \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/invoke.py\" post_tool || python \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/invoke.py\" post_tool || py -3 \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/invoke.py\" post_tool",
137
+ "timeout": 2000
138
+ }
139
+ ]
140
+ },
141
+ {
142
+ "matcher": "Grep|Glob",
143
+ "hooks": [
144
+ {
145
+ "type": "command",
146
+ "command": "python3 \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/invoke.py\" post_tool || python \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/invoke.py\" post_tool || py -3 \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/invoke.py\" post_tool",
147
+ "timeout": 2000
148
+ }
149
+ ]
150
+ },
151
+ {
152
+ "matcher": "Bash",
153
+ "hooks": [
154
+ {
155
+ "type": "command",
156
+ "command": "python3 \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/invoke.py\" post_tool || python \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/invoke.py\" post_tool || py -3 \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/invoke.py\" post_tool",
157
+ "timeout": 180000,
158
+ "async": true
159
+ }
160
+ ]
161
+ }
162
+ ],
163
+ "PostToolUseFailure": [
164
+ {
165
+ "matcher": "*",
166
+ "hooks": [
167
+ {
168
+ "type": "command",
169
+ "command": "python3 \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/invoke.py\" post_tool || python \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/invoke.py\" post_tool || py -3 \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/invoke.py\" post_tool",
170
+ "timeout": 3000
171
+ }
172
+ ]
173
+ }
174
+ ],
175
+ "TaskCompleted": [
176
+ {
177
+ "hooks": [
178
+ {
179
+ "type": "command",
180
+ "command": "python3 \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/invoke.py\" task_completed || python \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/invoke.py\" task_completed || py -3 \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/invoke.py\" task_completed",
181
+ "timeout": 2000
182
+ }
183
+ ]
184
+ }
185
+ ],
186
+ "SubagentStart": [
187
+ {
188
+ "matcher": "*",
189
+ "hooks": [
190
+ {
191
+ "type": "command",
192
+ "command": "python3 \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/invoke.py\" subagent_lifecycle start || python \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/invoke.py\" subagent_lifecycle start || py -3 \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/invoke.py\" subagent_lifecycle start",
193
+ "timeout": 2000
194
+ }
195
+ ]
196
+ }
197
+ ],
198
+ "SubagentStop": [
199
+ {
200
+ "matcher": "*",
201
+ "hooks": [
202
+ {
203
+ "type": "command",
204
+ "command": "python3 \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/invoke.py\" subagent_lifecycle stop || python \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/invoke.py\" subagent_lifecycle stop || py -3 \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/invoke.py\" subagent_lifecycle stop",
205
+ "timeout": 2000,
206
+ "async": true
207
+ }
208
+ ]
209
+ }
210
+ ],
211
+ "PermissionRequest": [
212
+ {
213
+ "matcher": "*",
214
+ "hooks": [
215
+ {
216
+ "type": "command",
217
+ "command": "python3 \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/invoke.py\" permission_request || python \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/invoke.py\" permission_request || py -3 \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/invoke.py\" permission_request",
218
+ "timeout": 2000
219
+ }
220
+ ]
221
+ }
222
+ ],
223
+ "Notification": [
224
+ {
225
+ "matcher": "*",
226
+ "hooks": [
227
+ {
228
+ "type": "command",
229
+ "command": "python3 \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/invoke.py\" notification || python \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/invoke.py\" notification || py -3 \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/invoke.py\" notification",
230
+ "timeout": 3000,
231
+ "async": true
232
+ }
233
+ ]
234
+ }
235
+ ],
236
+ "PreCompact": [
237
+ {
238
+ "matcher": "*",
239
+ "hooks": [
240
+ {
241
+ "type": "command",
242
+ "command": "python3 \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/invoke.py\" pre_compact || python \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/invoke.py\" pre_compact || py -3 \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/invoke.py\" pre_compact",
243
+ "timeout": 5000
244
+ }
245
+ ]
246
+ }
247
+ ],
248
+ "Stop": [
249
+ {
250
+ "matcher": "*",
251
+ "hooks": [
252
+ {
253
+ "type": "command",
254
+ "command": "python3 \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/invoke.py\" stop || python \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/invoke.py\" stop || py -3 \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/invoke.py\" stop",
255
+ "async": true,
256
+ "timeout": 30000
257
+ }
258
+ ]
259
+ }
260
+ ],
261
+ "SessionEnd": [
262
+ {
263
+ "matcher": "*",
264
+ "hooks": [
265
+ {
266
+ "type": "command",
267
+ "command": "python3 \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/invoke.py\" session_end || python \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/invoke.py\" session_end || py -3 \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/invoke.py\" session_end",
268
+ "async": true,
269
+ "timeout": 30000
270
+ }
271
+ ]
272
+ }
273
+ ]
274
+ }
275
+ }