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.
- package/.claude-plugin/archetypes.json +166 -0
- package/.claude-plugin/components.json +75 -0
- package/.claude-plugin/marketplace.json +15 -0
- package/.claude-plugin/plugin.json +174 -0
- package/.claude-plugin/specialist.json +48 -0
- package/.claude-plugin/stack-registry.json +96 -0
- package/AGENTS.md +13 -0
- package/CHANGELOG.md +712 -0
- package/CONTRIBUTING.md +99 -0
- package/ETHOS.md +83 -0
- package/LICENSE +21 -0
- package/README.md +115 -0
- package/WICKED_GARDEN_BUS_EVENTS.md +149 -0
- package/agents/agentic/architect.md +449 -0
- package/agents/agentic/performance-analyst.md +702 -0
- package/agents/agentic/safety-reviewer.md +662 -0
- package/agents/crew/implementer.md +163 -0
- package/agents/crew/researcher.md +94 -0
- package/agents/crew/reviewer.md +184 -0
- package/agents/data/data-engineer.md +227 -0
- package/agents/engineering/api-documentarian.md +440 -0
- package/agents/engineering/migration-engineer.md +301 -0
- package/agents/engineering/solution-architect.md +208 -0
- package/agents/jam/brainstorm-facilitator.md +297 -0
- package/agents/jam/council.md +322 -0
- package/agents/jam/quick-facilitator.md +85 -0
- package/agents/persona/persona-agent.md +121 -0
- package/agents/platform/compliance-officer.md +266 -0
- package/agents/platform/privacy-expert.md +496 -0
- package/agents/platform/security-engineer.md +287 -0
- package/agents/product/a11y-expert.md +323 -0
- package/agents/product/requirements-analyst.md +238 -0
- package/agents/product/ui-reviewer.md +180 -0
- package/agents/product/ux-designer.md +199 -0
- package/agents/product/value-strategist.md +269 -0
- package/agents/qe/semantic-reviewer.md +78 -0
- package/commands/agentic/audit.md +24 -0
- package/commands/agentic/design.md +24 -0
- package/commands/agentic/frameworks.md +25 -0
- package/commands/agentic/review.md +27 -0
- package/commands/archetype/build.md +12 -0
- package/commands/archetype/decide.md +12 -0
- package/commands/archetype/explore.md +12 -0
- package/commands/archetype/incident.md +12 -0
- package/commands/archetype/migrate.md +12 -0
- package/commands/archetype/modernize.md +12 -0
- package/commands/archetype/review.md +14 -0
- package/commands/archetype/ship.md +12 -0
- package/commands/archetype/specify.md +12 -0
- package/commands/archetype/triage.md +12 -0
- package/commands/compile.md +37 -0
- package/commands/data/analyze.md +18 -0
- package/commands/data/data.md +21 -0
- package/commands/data/ml.md +18 -0
- package/commands/data/ontology.md +22 -0
- package/commands/data/pipeline.md +17 -0
- package/commands/deliberate.md +181 -0
- package/commands/engineering/add-field.md +77 -0
- package/commands/engineering/apply.md +58 -0
- package/commands/engineering/arch.md +26 -0
- package/commands/engineering/debug.md +27 -0
- package/commands/engineering/docs.md +27 -0
- package/commands/engineering/new-generator.md +257 -0
- package/commands/engineering/patch-plan.md +59 -0
- package/commands/engineering/plan.md +29 -0
- package/commands/engineering/remove.md +48 -0
- package/commands/engineering/rename.md +44 -0
- package/commands/engineering/review.md +32 -0
- package/commands/help.md +128 -0
- package/commands/install.md +118 -0
- package/commands/intent.md +54 -0
- package/commands/jam/brainstorm.md +37 -0
- package/commands/jam/council.md +49 -0
- package/commands/jam/quick.md +21 -0
- package/commands/jam/revisit.md +79 -0
- package/commands/persona/as.md +136 -0
- package/commands/persona/define.md +24 -0
- package/commands/persona/list.md +118 -0
- package/commands/platform/actions.md +20 -0
- package/commands/platform/assert.md +18 -0
- package/commands/platform/audit.md +23 -0
- package/commands/platform/compliance.md +20 -0
- package/commands/platform/gh.md +22 -0
- package/commands/platform/health.md +22 -0
- package/commands/platform/incident.md +23 -0
- package/commands/platform/infra.md +24 -0
- package/commands/platform/peer-health.md +103 -0
- package/commands/platform/plugin-health.md +58 -0
- package/commands/platform/security.md +38 -0
- package/commands/platform/toolchain.md +96 -0
- package/commands/platform/traces.md +20 -0
- package/commands/product/a11y.md +19 -0
- package/commands/product/acceptance.md +19 -0
- package/commands/product/align.md +20 -0
- package/commands/product/analyze.md +23 -0
- package/commands/product/elicit.md +19 -0
- package/commands/product/listen.md +24 -0
- package/commands/product/mockup.md +20 -0
- package/commands/product/screenshot.md +19 -0
- package/commands/product/strategy.md +40 -0
- package/commands/product/synthesize.md +23 -0
- package/commands/product/ux-review.md +42 -0
- package/commands/product/ux.md +20 -0
- package/commands/product/visual-direction.md +34 -0
- package/commands/prove.md +47 -0
- package/commands/report-issue.md +243 -0
- package/commands/reset.md +144 -0
- package/commands/search/blast-radius.md +58 -0
- package/commands/search/hotspots.md +55 -0
- package/commands/search/index.md +38 -0
- package/commands/search/lineage.md +47 -0
- package/commands/search/service-map.md +79 -0
- package/commands/setup.md +363 -0
- package/commands/smaht/briefing.md +200 -0
- package/commands/smaht/events-import.md +95 -0
- package/commands/smaht/state.md +19 -0
- package/commands/where-am-i.md +58 -0
- package/docs/README.md +32 -0
- package/docs/adr/0001-code-relationship-graph-engine.md +116 -0
- package/docs/adr/0002-major-cleanup-keep-cut.md +91 -0
- package/docs/adr/0003-peers-gate-required-layers-optin.md +41 -0
- package/docs/adr/0004-code-graph-moves-to-wicked-brain.md +47 -0
- package/docs/brain-chunk-format.md +135 -0
- package/docs/compiler.md +95 -0
- package/docs/daemon-api.md +70 -0
- package/docs/domains.md +197 -0
- package/docs/getting-started.md +208 -0
- package/docs/plans/2026-06-08-wicked-loom-conduct.md +1337 -0
- package/docs/plans/2026-06-08-wicked-loom-contract.md +638 -0
- package/docs/plans/2026-06-08-wicked-loom-cutover.md +1300 -0
- package/docs/plans/2026-06-08-wicked-loom-expand-compose.md +843 -0
- package/docs/plans/2026-06-08-wicked-loom-flow-cutover.md +403 -0
- package/docs/plans/2026-06-10-codegraph-to-brain-phase1a-graph-core.md +838 -0
- package/docs/plans/2026-06-10-codegraph-to-brain-phase1b-injected-edges.md +44 -0
- package/docs/required-peers.md +60 -0
- package/docs/specs/2026-06-08-wicked-loom-extraction.md +225 -0
- package/docs/specs/2026-06-10-codegraph-to-brain-migration.md +168 -0
- package/docs/v11/archetypes.md +231 -0
- package/hooks/hooks.json +275 -0
- package/hooks/scripts/bootstrap.py +1797 -0
- package/hooks/scripts/invoke.py +62 -0
- package/hooks/scripts/notification.py +166 -0
- package/hooks/scripts/permission_request.py +223 -0
- package/hooks/scripts/post_tool.py +1374 -0
- package/hooks/scripts/pre_compact.py +272 -0
- package/hooks/scripts/pre_tool.py +1278 -0
- package/hooks/scripts/prompt_submit.py +1109 -0
- package/hooks/scripts/session_end.py +95 -0
- package/hooks/scripts/stop.py +624 -0
- package/hooks/scripts/subagent_lifecycle.py +464 -0
- package/hooks/scripts/subscribers/on_gate_decided.py +84 -0
- package/hooks/scripts/task_completed.py +322 -0
- package/hooks/scripts/worktree_guard.py +148 -0
- package/hooks/subscriptions/on_gate_decided.json +9 -0
- package/install.mjs +128 -0
- package/package.json +41 -0
- package/pyproject.toml +59 -0
- package/schemas/README.md +32 -0
- package/schemas/assert_contracts.json +37 -0
- package/schemas/health_probe.json +46 -0
- package/schemas/plugin_status.json +37 -0
- package/scripts/_adapters/__init__.py +166 -0
- package/scripts/_adapters/jira_adapter.py +18 -0
- package/scripts/_adapters/linear_adapter.py +18 -0
- package/scripts/_adapters/miro_adapter.py +18 -0
- package/scripts/_adapters/notion_adapter.py +18 -0
- package/scripts/_agents.py +357 -0
- package/scripts/_brain_ingest/__init__.py +2 -0
- package/scripts/_brain_ingest/session_fact_extractor.py +341 -0
- package/scripts/_brain_port.py +163 -0
- package/scripts/_bus.py +1081 -0
- package/scripts/_bus_catalog_gen.py +93 -0
- package/scripts/_bus_consumers.json +46 -0
- package/scripts/_bus_emit.py +43 -0
- package/scripts/_capability_registry.py +334 -0
- package/scripts/_capability_resolver.py +322 -0
- package/scripts/_domain_store.py +559 -0
- package/scripts/_event_log_reader.py +154 -0
- package/scripts/_event_schema.py +305 -0
- package/scripts/_event_store.py +397 -0
- package/scripts/_heavy_cadence.py +324 -0
- package/scripts/_integration_resolver.py +321 -0
- package/scripts/_logger.py +151 -0
- package/scripts/_loom.py +482 -0
- package/scripts/_paths.py +133 -0
- package/scripts/_python.sh +22 -0
- package/scripts/_run.py +137 -0
- package/scripts/_session.py +502 -0
- package/scripts/_validate_registry.py +1042 -0
- package/scripts/_wicked_testing_probe.py +277 -0
- package/scripts/agentic/analyze_agents.py +391 -0
- package/scripts/agentic/detect_framework.py +420 -0
- package/scripts/agentic/issue_taxonomy.py +357 -0
- package/scripts/agentic/pattern_scorer.py +434 -0
- package/scripts/classify/persist.py +169 -0
- package/scripts/compiler/compile.py +552 -0
- package/scripts/compiler/phase0/VERDICT.md +60 -0
- package/scripts/compiler/phase0/detect.py +292 -0
- package/scripts/compiler/phase0/emit.py +228 -0
- package/scripts/compiler/phase0/evidence/Enterprise-AISDLC.bindings.json +30 -0
- package/scripts/compiler/phase0/evidence/Enterprise-AISDLC.lint-output.txt +17 -0
- package/scripts/compiler/phase0/evidence/Enterprise-AISDLC.stage/.wg/evidence/failing-tests.txt +4 -0
- package/scripts/compiler/phase0/evidence/Enterprise-AISDLC.stage/.wg/evidence/honest-tests.txt +2 -0
- package/scripts/compiler/phase0/evidence/Enterprise-AISDLC.stage/fab-fail.build.md +8 -0
- package/scripts/compiler/phase0/evidence/Enterprise-AISDLC.stage/fab-missing.build.md +8 -0
- package/scripts/compiler/phase0/evidence/Enterprise-AISDLC.stage/honest.build.md +8 -0
- package/scripts/compiler/phase0/evidence/Enterprise-AISDLC.stage/wg_check_claims.py +174 -0
- package/scripts/compiler/phase0/evidence/command_iq.bindings.json +45 -0
- package/scripts/compiler/phase0/evidence/command_iq.lint-output.txt +17 -0
- package/scripts/compiler/phase0/evidence/command_iq.stage/.projects/evidence-domain/phase-1-clarify/evidence/failing-tests.txt +4 -0
- package/scripts/compiler/phase0/evidence/command_iq.stage/.projects/evidence-domain/phase-1-clarify/evidence/honest-tests.txt +3 -0
- package/scripts/compiler/phase0/evidence/command_iq.stage/fab-fail.build.md +8 -0
- package/scripts/compiler/phase0/evidence/command_iq.stage/fab-missing.build.md +8 -0
- package/scripts/compiler/phase0/evidence/command_iq.stage/honest.build.md +8 -0
- package/scripts/compiler/phase0/evidence/command_iq.stage/wg_check_claims.py +174 -0
- package/scripts/compiler/phase0/evidence/memos.bindings.json +28 -0
- package/scripts/compiler/phase0/evidence/memos.lint-output.txt +17 -0
- package/scripts/compiler/phase0/evidence/memos.stage/.wg/evidence/failing-tests.txt +4 -0
- package/scripts/compiler/phase0/evidence/memos.stage/.wg/evidence/honest-tests.txt +2 -0
- package/scripts/compiler/phase0/evidence/memos.stage/fab-fail.build.md +8 -0
- package/scripts/compiler/phase0/evidence/memos.stage/fab-missing.build.md +8 -0
- package/scripts/compiler/phase0/evidence/memos.stage/honest.build.md +8 -0
- package/scripts/compiler/phase0/evidence/memos.stage/wg_check_claims.py +174 -0
- package/scripts/compiler/phase0/evidence/verdict.json +104 -0
- package/scripts/compiler/phase0/evidence/wicked-bus.bindings.json +29 -0
- package/scripts/compiler/phase0/evidence/wicked-bus.lint-output.txt +17 -0
- package/scripts/compiler/phase0/evidence/wicked-bus.stage/coverage/failing-tests.txt +4 -0
- package/scripts/compiler/phase0/evidence/wicked-bus.stage/coverage/honest-tests.txt +3 -0
- package/scripts/compiler/phase0/evidence/wicked-bus.stage/fab-fail.build.md +8 -0
- package/scripts/compiler/phase0/evidence/wicked-bus.stage/fab-missing.build.md +8 -0
- package/scripts/compiler/phase0/evidence/wicked-bus.stage/honest.build.md +8 -0
- package/scripts/compiler/phase0/evidence/wicked-bus.stage/wg_check_claims.py +174 -0
- package/scripts/compiler/phase0/evidence/wire-vault-transcript.txt +60 -0
- package/scripts/compiler/phase0/run_probe.py +234 -0
- package/scripts/compiler/phase0/wire_vault.py +310 -0
- package/scripts/crew/__init__.py +0 -0
- package/scripts/crew/_task_audit_writer.py +243 -0
- package/scripts/crew/_task_reader.py +389 -0
- package/scripts/crew/archetypes_v11.py +348 -0
- package/scripts/crew/detectors/__init__.py +12 -0
- package/scripts/crew/flow_compiler.py +121 -0
- package/scripts/crew/phase_manager.py +703 -0
- package/scripts/crew/scope_delta.py +264 -0
- package/scripts/crew/specialist_resolver.py +218 -0
- package/scripts/crew/stack_registry.py +189 -0
- package/scripts/data/data_profiler.py +271 -0
- package/scripts/data/ontology_recommender.py +231 -0
- package/scripts/data/schema_validator.py +267 -0
- package/scripts/delivery/drift.py +739 -0
- package/scripts/delivery/telemetry.py +614 -0
- package/scripts/engineering/patch/codegraph_db.py +125 -0
- package/scripts/engineering/patch/generators/__init__.py +56 -0
- package/scripts/engineering/patch/generators/base.py +373 -0
- package/scripts/engineering/patch/generators/csharp_generator.py +494 -0
- package/scripts/engineering/patch/generators/go_generator.py +430 -0
- package/scripts/engineering/patch/generators/java_generator.py +928 -0
- package/scripts/engineering/patch/generators/jsp_generator.py +454 -0
- package/scripts/engineering/patch/generators/kotlin_generator.py +561 -0
- package/scripts/engineering/patch/generators/perl_generator.py +510 -0
- package/scripts/engineering/patch/generators/php_generator.py +644 -0
- package/scripts/engineering/patch/generators/propagation_engine.py +929 -0
- package/scripts/engineering/patch/generators/python_generator.py +487 -0
- package/scripts/engineering/patch/generators/ruby_generator.py +463 -0
- package/scripts/engineering/patch/generators/rust_generator.py +400 -0
- package/scripts/engineering/patch/generators/sql_generator.py +594 -0
- package/scripts/engineering/patch/generators/typescript_generator.py +439 -0
- package/scripts/engineering/patch/patch.py +800 -0
- package/scripts/engineering/patch/safety.py +429 -0
- package/scripts/jam/__init__.py +0 -0
- package/scripts/jam/_bus_consumers.py +271 -0
- package/scripts/jam/agentic_cli_registry.py +703 -0
- package/scripts/jam/consensus.py +737 -0
- package/scripts/jam/detect_clis.py +409 -0
- package/scripts/jam/jam.py +283 -0
- package/scripts/jam/save_transcript.py +171 -0
- package/scripts/loom/__init__.py +22 -0
- package/scripts/loom/cli.py +170 -0
- package/scripts/loom/compose.py +180 -0
- package/scripts/loom/gate.py +120 -0
- package/scripts/loom/manifest.py +140 -0
- package/scripts/loom/resolve.py +59 -0
- package/scripts/persona/__init__.py +0 -0
- package/scripts/persona/registry.py +688 -0
- package/scripts/platform/guard_pipeline.py +1214 -0
- package/scripts/platform/guard_profiles.py +216 -0
- package/scripts/platform/observability/assert_contracts.py +434 -0
- package/scripts/platform/observability/health_probe.py +915 -0
- package/scripts/platform/observability/ops_log_viewer.py +209 -0
- package/scripts/platform/prereq_doctor.py +567 -0
- package/scripts/qe/conditions_manifest.py +260 -0
- package/scripts/qe/content_sanitizer.py +160 -0
- package/scripts/qe/coverage_tracker.py +535 -0
- package/scripts/qe/discover_scenarios.py +243 -0
- package/scripts/qe/evidence_tracker.py +232 -0
- package/scripts/qe/prove.py +196 -0
- package/scripts/qe/registry_lookup.py +80 -0
- package/scripts/qe/registry_store.py +176 -0
- package/scripts/qe/semantic_review.py +1005 -0
- package/scripts/qe/vault_gate.py +382 -0
- package/scripts/qe/verdict_audit.py +175 -0
- package/scripts/qe/verdict_schema.py +335 -0
- package/scripts/reset.py +220 -0
- package/scripts/resolve_path.py +22 -0
- package/scripts/sentinel/invariants.py +402 -0
- package/scripts/sentinel/pre_push.py +73 -0
- package/scripts/setup/__init__.py +1 -0
- package/scripts/setup/detect_state.py +114 -0
- package/scripts/setup/migrate_legacy.py +67 -0
- package/scripts/setup/migrate_v6_projects.py +232 -0
- package/scripts/setup/onboarding.py +114 -0
- package/scripts/smaht/_bus_consumers.py +98 -0
- package/scripts/smaht/adapters/__init__.py +83 -0
- package/scripts/smaht/adapters/brain_adapter.py +254 -0
- package/scripts/smaht/adapters/context7_adapter.py +438 -0
- package/scripts/smaht/adapters/delegation_adapter.py +104 -0
- package/scripts/smaht/adapters/domain_adapter.py +206 -0
- package/scripts/smaht/adapters/events_adapter.py +231 -0
- package/scripts/smaht/adapters/tools_adapter.py +49 -0
- package/scripts/smaht/cheatsheet_store.py +236 -0
- package/scripts/smaht/context_package.py +386 -0
- package/scripts/smaht/knowledge_graph.py +395 -0
- package/scripts/smaht/propose_skills.py +856 -0
- package/scripts/smaht/test_cheatsheet_store.py +428 -0
- package/scripts/statusline.py +151 -0
- package/scripts/where_am_i.py +236 -0
- package/skills/agentic/agentic-patterns/SKILL.md +91 -0
- package/skills/agentic/agentic-patterns/refs/anti-patterns-design.md +283 -0
- package/skills/agentic/agentic-patterns/refs/anti-patterns-operational.md +216 -0
- package/skills/agentic/agentic-patterns/refs/pattern-catalog.md +329 -0
- package/skills/agentic/context-engineering/SKILL.md +142 -0
- package/skills/agentic/context-engineering/refs/caching-and-optimization.md +251 -0
- package/skills/agentic/context-engineering/refs/compression-techniques.md +171 -0
- package/skills/agentic/context-engineering/refs/cost-calculation-budget.md +250 -0
- package/skills/agentic/context-engineering/refs/cost-optimization-reporting.md +300 -0
- package/skills/agentic/context-engineering/refs/selective-loading.md +179 -0
- package/skills/agentic/frameworks/SKILL.md +191 -0
- package/skills/agentic/frameworks/refs/framework-profiles-1.md +209 -0
- package/skills/agentic/frameworks/refs/framework-profiles-2.md +214 -0
- package/skills/agentic/frameworks/refs/migration-patterns-paths.md +267 -0
- package/skills/agentic/frameworks/refs/migration-patterns-testing.md +208 -0
- package/skills/agentic/refs/audit.md +134 -0
- package/skills/agentic/refs/design.md +137 -0
- package/skills/agentic/refs/frameworks.md +102 -0
- package/skills/agentic/refs/review.md +160 -0
- package/skills/agentic/review-methodology/SKILL.md +186 -0
- package/skills/agentic/review-methodology/refs/deliverable-templates.md +246 -0
- package/skills/agentic/review-methodology/refs/issue-taxonomy-quality-testing.md +277 -0
- package/skills/agentic/review-methodology/refs/issue-taxonomy-reliability-safety.md +253 -0
- package/skills/agentic/trust-and-safety/SKILL.md +177 -0
- package/skills/agentic/trust-and-safety/refs/guardrails-actions.md +246 -0
- package/skills/agentic/trust-and-safety/refs/guardrails-input-output.md +238 -0
- package/skills/agentic/trust-and-safety/refs/guardrails-resources.md +209 -0
- package/skills/agentic/trust-and-safety/refs/safety-checklist-advanced.md +209 -0
- package/skills/agentic/trust-and-safety/refs/safety-checklist-core.md +215 -0
- package/skills/archetype/SKILL.md +104 -0
- package/skills/archetype/refs/build.md +142 -0
- package/skills/archetype/refs/decide.md +117 -0
- package/skills/archetype/refs/explore.md +66 -0
- package/skills/archetype/refs/incident.md +149 -0
- package/skills/archetype/refs/migrate.md +170 -0
- package/skills/archetype/refs/modernize.md +187 -0
- package/skills/archetype/refs/review.md +145 -0
- package/skills/archetype/refs/ship.md +117 -0
- package/skills/archetype/refs/specify.md +108 -0
- package/skills/archetype/refs/triage.md +62 -0
- package/skills/classify/SKILL.md +157 -0
- package/skills/data/analysis/SKILL.md +125 -0
- package/skills/data/analysis/refs/templates.md +170 -0
- package/skills/data/data/SKILL.md +118 -0
- package/skills/data/data/refs/examples.md +235 -0
- package/skills/data/ml/SKILL.md +125 -0
- package/skills/data/ml/refs/templates.md +172 -0
- package/skills/data/pipeline/SKILL.md +136 -0
- package/skills/data/pipeline/refs/templates.md +175 -0
- package/skills/data/refs/analyze.md +123 -0
- package/skills/data/refs/data.md +95 -0
- package/skills/data/refs/ml.md +118 -0
- package/skills/data/refs/pipeline.md +92 -0
- package/skills/deliberate/SKILL.md +125 -0
- package/skills/deliberate/refs/architecture-lens.md +37 -0
- package/skills/deliberate/refs/assumptions-lens.md +43 -0
- package/skills/deliberate/refs/code-lens.md +38 -0
- package/skills/deliberate/refs/content-lens.md +37 -0
- package/skills/deliberate/refs/data-lens.md +43 -0
- package/skills/deliberate/refs/design-lens.md +37 -0
- package/skills/deliberate/refs/opportunity-patterns.md +107 -0
- package/skills/deliberate/refs/ops-lens.md +43 -0
- package/skills/deliberate/refs/product-lens.md +46 -0
- package/skills/deliberate/refs/rethink-framework.md +77 -0
- package/skills/deliberate/refs/security-lens.md +47 -0
- package/skills/deliberate/refs/testing-lens.md +45 -0
- package/skills/deliberate/refs/timing-lens.md +42 -0
- package/skills/engineering/architecture/SKILL.md +177 -0
- package/skills/engineering/architecture/refs/adr-template.md +268 -0
- package/skills/engineering/architecture/refs/architecture-template-deployment.md +176 -0
- package/skills/engineering/architecture/refs/architecture-template-design.md +300 -0
- package/skills/engineering/architecture/refs/examples-ecommerce-analytics.md +299 -0
- package/skills/engineering/architecture/refs/examples-saas-trading.md +291 -0
- package/skills/engineering/architecture/refs/patterns-advanced.md +238 -0
- package/skills/engineering/architecture/refs/patterns-structural.md +303 -0
- package/skills/engineering/backend/SKILL.md +102 -0
- package/skills/engineering/backend/refs/checklists.md +146 -0
- package/skills/engineering/backend/refs/patterns.md +181 -0
- package/skills/engineering/debugging/SKILL.md +99 -0
- package/skills/engineering/debugging/refs/patterns.md +248 -0
- package/skills/engineering/debugging/refs/process.md +203 -0
- package/skills/engineering/docs/SKILL.md +97 -0
- package/skills/engineering/engineering/SKILL.md +88 -0
- package/skills/engineering/engineering/refs/checklists.md +91 -0
- package/skills/engineering/engineering/refs/templates.md +71 -0
- package/skills/engineering/frontend/SKILL.md +92 -0
- package/skills/engineering/frontend/refs/checklists.md +96 -0
- package/skills/engineering/frontend/refs/patterns.md +167 -0
- package/skills/engineering/integration/SKILL.md +183 -0
- package/skills/engineering/integration/refs/error-handling-best-practices.md +139 -0
- package/skills/engineering/integration/refs/error-handling-error-classes-typescript.md +212 -0
- package/skills/engineering/integration/refs/error-handling-error-response-format.md +301 -0
- package/skills/engineering/integration/refs/error-handling-retry-strategies.md +190 -0
- package/skills/engineering/integration/refs/event-schemas-best-practices.md +225 -0
- package/skills/engineering/integration/refs/event-schemas-event-naming-conventions.md +303 -0
- package/skills/engineering/integration/refs/event-schemas-event-structure.md +288 -0
- package/skills/engineering/integration/refs/graphql-best-practices.md +138 -0
- package/skills/engineering/integration/refs/graphql-error-handling.md +198 -0
- package/skills/engineering/integration/refs/graphql-graphql-basics.md +197 -0
- package/skills/engineering/integration/refs/graphql-query-examples.md +226 -0
- package/skills/engineering/integration/refs/graphql-schema-design-patterns.md +280 -0
- package/skills/engineering/integration/refs/grpc-grpc-overview.md +246 -0
- package/skills/engineering/integration/refs/grpc-implementation-examples.md +269 -0
- package/skills/engineering/integration/refs/grpc-metadata-headers.md +304 -0
- package/skills/engineering/integration/refs/grpc-testing.md +49 -0
- package/skills/engineering/integration/refs/openapi-template.yaml +682 -0
- package/skills/engineering/integration/refs/resilience-best-practices.md +109 -0
- package/skills/engineering/integration/refs/resilience-circuit-breaker-pattern.md +302 -0
- package/skills/engineering/integration/refs/resilience-rate-limiting.md +245 -0
- package/skills/engineering/integration/refs/resilience-timeout-pattern.md +212 -0
- package/skills/engineering/integration/refs/rest-api-fundamentals.md +299 -0
- package/skills/engineering/integration/refs/rest-api-responses-security.md +302 -0
- package/skills/engineering/integration/refs/versioning-breaking-changes.md +237 -0
- package/skills/engineering/integration/refs/versioning-migration-strategies.md +257 -0
- package/skills/engineering/integration/refs/versioning-versioning-strategies.md +296 -0
- package/skills/engineering/large-scale-migration/SKILL.md +65 -0
- package/skills/engineering/patch/SKILL.md +184 -0
- package/skills/engineering/refs/arch.md +126 -0
- package/skills/engineering/refs/debug.md +142 -0
- package/skills/engineering/refs/docs.md +190 -0
- package/skills/engineering/refs/plan.md +109 -0
- package/skills/engineering/refs/review.md +138 -0
- package/skills/engineering/system-design/SKILL.md +154 -0
- package/skills/engineering/system-design/refs/anti-patterns-big-ball-of-mud.md +254 -0
- package/skills/engineering/system-design/refs/anti-patterns-circular-dependencies.md +241 -0
- package/skills/engineering/system-design/refs/anti-patterns-feature-envy.md +168 -0
- package/skills/engineering/system-design/refs/anti-patterns-god-object.md +247 -0
- package/skills/engineering/system-design/refs/component-template-lifecycle.md +210 -0
- package/skills/engineering/system-design/refs/component-template-maintenance.md +219 -0
- package/skills/engineering/system-design/refs/component-template-structure.md +276 -0
- package/skills/engineering/system-design/refs/dependencies-best-practices.md +260 -0
- package/skills/engineering/system-design/refs/dependencies-dependency-principles.md +295 -0
- package/skills/engineering/system-design/refs/dependencies-dependency-tracking.md +261 -0
- package/skills/engineering/system-design/refs/interface-template-lifecycle.md +211 -0
- package/skills/engineering/system-design/refs/interface-template-maintenance.md +212 -0
- package/skills/engineering/system-design/refs/interface-template-structure.md +269 -0
- package/skills/engineering/system-design/refs/patterns-dependency-injection.md +151 -0
- package/skills/engineering/system-design/refs/patterns-facade-pattern.md +257 -0
- package/skills/engineering/system-design/refs/patterns-layered-pattern.md +204 -0
- package/skills/engineering/system-design/refs/patterns-plugin-architecture.md +229 -0
- package/skills/engineering/unit-test-quality/SKILL.md +194 -0
- package/skills/ground/SKILL.md +130 -0
- package/skills/integration-discovery/SKILL.md +168 -0
- package/skills/integration-discovery/refs/capabilities.md +282 -0
- package/skills/integration-discovery/refs/cli-detection.md +295 -0
- package/skills/integration-discovery/refs/discovery-sources.md +233 -0
- package/skills/integration-discovery/refs/task-patterns.md +206 -0
- package/skills/jam/SKILL.md +45 -0
- package/skills/jam/refs/facilitation-patterns.md +125 -0
- package/skills/jam/refs/quick.md +64 -0
- package/skills/jam/refs/synthesis-patterns.md +114 -0
- package/skills/multi-model/SKILL.md +168 -0
- package/skills/multi-model/refs/aichat.md +119 -0
- package/skills/multi-model/refs/aider.md +100 -0
- package/skills/multi-model/refs/auditability.md +238 -0
- package/skills/multi-model/refs/codex.md +169 -0
- package/skills/multi-model/refs/context.md +306 -0
- package/skills/multi-model/refs/copilot.md +161 -0
- package/skills/multi-model/refs/examples.md +224 -0
- package/skills/multi-model/refs/gemini.md +185 -0
- package/skills/multi-model/refs/goose.md +112 -0
- package/skills/multi-model/refs/llm.md +124 -0
- package/skills/multi-model/refs/opencode.md +196 -0
- package/skills/multi-model/refs/orchestration.md +188 -0
- package/skills/multi-model/refs/pi.md +208 -0
- package/skills/persona/SKILL.md +144 -0
- package/skills/persona/refs/define.md +133 -0
- package/skills/platform/actions/refs/actions.md +114 -0
- package/skills/platform/audit/SKILL.md +174 -0
- package/skills/platform/audit/refs/audit.md +145 -0
- package/skills/platform/audit/refs/checklists-evidence-operations.md +144 -0
- package/skills/platform/audit/refs/checklists-gdpr-pci-evidence.md +213 -0
- package/skills/platform/audit/refs/checklists-soc2-hipaa.md +120 -0
- package/skills/platform/audit/refs/frameworks-gdpr-pci.md +225 -0
- package/skills/platform/audit/refs/frameworks-soc2-hipaa.md +228 -0
- package/skills/platform/compliance/SKILL.md +169 -0
- package/skills/platform/compliance/refs/checklists.md +303 -0
- package/skills/platform/compliance/refs/compliance.md +117 -0
- package/skills/platform/compliance/refs/frameworks.md +282 -0
- package/skills/platform/errors/SKILL.md +183 -0
- package/skills/platform/errors/refs/patterns.md +271 -0
- package/skills/platform/errors/refs/severity.md +264 -0
- package/skills/platform/gate-benchmark-rebaseline/SKILL.md +108 -0
- package/skills/platform/gh/refs/gh.md +105 -0
- package/skills/platform/gh-cli/SKILL.md +120 -0
- package/skills/platform/gh-cli/refs/automation.md +63 -0
- package/skills/platform/gh-cli/refs/gh-ops.md +103 -0
- package/skills/platform/gh-cli/refs/patterns.md +132 -0
- package/skills/platform/gh-cli/scripts/gh_ops.py +454 -0
- package/skills/platform/github-actions/SKILL.md +159 -0
- package/skills/platform/github-actions/refs/security.md +150 -0
- package/skills/platform/github-actions/refs/templates.md +230 -0
- package/skills/platform/github-actions/refs/troubleshooting.md +174 -0
- package/skills/platform/github-actions/scripts/workflow_gen.py +215 -0
- package/skills/platform/gitlab-ci/SKILL.md +140 -0
- package/skills/platform/gitlab-ci/refs/templates.md +223 -0
- package/skills/platform/gitlab-ci/refs/troubleshooting.md +213 -0
- package/skills/platform/glab-cli/SKILL.md +133 -0
- package/skills/platform/glab-cli/refs/ci-debugging.md +95 -0
- package/skills/platform/glab-cli/refs/glab-ops.md +78 -0
- package/skills/platform/glab-cli/refs/patterns.md +131 -0
- package/skills/platform/glab-cli/scripts/glab_ops.py +313 -0
- package/skills/platform/health/SKILL.md +177 -0
- package/skills/platform/health/refs/health.md +72 -0
- package/skills/platform/health/refs/sources.md +302 -0
- package/skills/platform/incident/refs/incident.md +136 -0
- package/skills/platform/infra/refs/infra.md +104 -0
- package/skills/platform/observability/SKILL.md +128 -0
- package/skills/platform/observability/refs/toolchain-discovery.md +243 -0
- package/skills/platform/prereq-doctor/SKILL.md +57 -0
- package/skills/platform/prereq-doctor/refs/tool-registry.md +58 -0
- package/skills/platform/traces/refs/traces.md +101 -0
- package/skills/product/acceptance-criteria/SKILL.md +193 -0
- package/skills/product/acceptance-criteria/refs/ac-anti-patterns.md +291 -0
- package/skills/product/acceptance-criteria/refs/ac-examples.md +277 -0
- package/skills/product/accessibility/SKILL.md +197 -0
- package/skills/product/accessibility/refs/aria-patterns-basics.md +250 -0
- package/skills/product/accessibility/refs/aria-patterns-dynamic.md +187 -0
- package/skills/product/accessibility/refs/aria-patterns-interactive.md +246 -0
- package/skills/product/accessibility/refs/audit-report-findings.md +248 -0
- package/skills/product/accessibility/refs/audit-report-results.md +276 -0
- package/skills/product/accessibility/refs/common-violations-html-css.md +270 -0
- package/skills/product/accessibility/refs/common-violations-interactive.md +303 -0
- package/skills/product/accessibility/refs/keyboard-testing-basics.md +222 -0
- package/skills/product/accessibility/refs/keyboard-testing-patterns.md +173 -0
- package/skills/product/accessibility/refs/screen-reader-testing-advanced.md +294 -0
- package/skills/product/accessibility/refs/screen-reader-testing-commands.md +255 -0
- package/skills/product/accessibility/refs/wcag-checklist.md +262 -0
- package/skills/product/analyze/SKILL.md +164 -0
- package/skills/product/analyze/refs/algorithms.md +238 -0
- package/skills/product/analyze/refs/sentiment-patterns.md +180 -0
- package/skills/product/imagery/SKILL.md +97 -0
- package/skills/product/imagery/alter/SKILL.md +105 -0
- package/skills/product/imagery/alter/refs/editing-reference.md +146 -0
- package/skills/product/imagery/create/SKILL.md +109 -0
- package/skills/product/imagery/create/refs/prompt-engineering.md +112 -0
- package/skills/product/imagery/create/refs/provider-reference.md +219 -0
- package/skills/product/imagery/review/SKILL.md +101 -0
- package/skills/product/imagery/review/refs/analysis-lenses.md +136 -0
- package/skills/product/imagery/review/refs/quality-gates.md +153 -0
- package/skills/product/imagery/scripts/analyze.sh +23 -0
- package/skills/product/imagery/scripts/edit.sh +14 -0
- package/skills/product/imagery/scripts/generate.sh +13 -0
- package/skills/product/imagery/scripts/provider.py +787 -0
- package/skills/product/listen/SKILL.md +175 -0
- package/skills/product/listen/refs/channels.md +220 -0
- package/skills/product/mockup/SKILL.md +106 -0
- package/skills/product/mockup/refs/templates.md +95 -0
- package/skills/product/refs/a11y.md +109 -0
- package/skills/product/refs/acceptance.md +79 -0
- package/skills/product/refs/align.md +67 -0
- package/skills/product/refs/analyze.md +77 -0
- package/skills/product/refs/elicit.md +67 -0
- package/skills/product/refs/listen.md +58 -0
- package/skills/product/refs/mockup.md +77 -0
- package/skills/product/refs/screenshot.md +59 -0
- package/skills/product/refs/strategy.md +77 -0
- package/skills/product/refs/synthesize.md +54 -0
- package/skills/product/refs/ux-review.md +68 -0
- package/skills/product/refs/ux.md +101 -0
- package/skills/product/requirements-analysis/SKILL.md +136 -0
- package/skills/product/requirements-analysis/refs/requirements-example-auth.md +264 -0
- package/skills/product/requirements-analysis/refs/requirements-example-export-integration.md +88 -0
- package/skills/product/requirements-analysis/refs/requirements-output-format-template.md +247 -0
- package/skills/product/requirements-analysis/refs/user-story-guide.md +296 -0
- package/skills/product/requirements-graph/SKILL.md +155 -0
- package/skills/product/requirements-graph/refs/examples.md +223 -0
- package/skills/product/requirements-graph/refs/schema.md +162 -0
- package/skills/product/requirements-migrate/SKILL.md +90 -0
- package/skills/product/requirements-navigate/SKILL.md +141 -0
- package/skills/product/requirements-navigate/refs/meta-templates.md +141 -0
- package/skills/product/screenshot/SKILL.md +147 -0
- package/skills/product/strategy/SKILL.md +198 -0
- package/skills/product/strategy/refs/frameworks.md +295 -0
- package/skills/product/strategy/refs/templates-competitive-market.md +299 -0
- package/skills/product/strategy/refs/templates-roi-value.md +207 -0
- package/skills/product/synthesize/SKILL.md +116 -0
- package/skills/product/synthesize/refs/journey-mapping.md +212 -0
- package/skills/product/synthesize/refs/prioritization.md +193 -0
- package/skills/product/ux-review/SKILL.md +164 -0
- package/skills/product/visual-direction/SKILL.md +137 -0
- package/skills/product/visual-review/SKILL.md +131 -0
- package/skills/runtime-exec/SKILL.md +138 -0
- package/skills/search/codebase-narrator/SKILL.md +131 -0
- package/skills/search/codebase-narrator/refs/output-template.md +100 -0
- package/skills/smaht/SKILL.md +72 -0
- package/skills/smaht/discovery/SKILL.md +65 -0
- package/skills/smaht/intent/SKILL.md +89 -0
- package/skills/smaht/propose-skills/SKILL.md +142 -0
- package/skills/smaht/refs/state.md +76 -0
- package/skills/swarm/SKILL.md +132 -0
- package/skills/swarm/refs/fan-out.md +104 -0
- package/skills/swarm/refs/independent-verification.md +86 -0
- package/skills/swarm/refs/receipts-and-evidence.md +69 -0
- package/skills/swarm/refs/recon-synthesis.md +87 -0
- package/skills/swarm/refs/ship-discipline.md +90 -0
- package/skills/wickedizer/SKILL.md +147 -0
- package/skills/wickedizer/refs/artifact-types.md +238 -0
- package/skills/wickedizer/refs/complexity.md +278 -0
- package/skills/wickedizer/refs/de-ai-pass.md +140 -0
- package/skills/wickedizer/refs/failure-modes.md +249 -0
- package/skills/wickedizer/refs/patterns.md +282 -0
- package/skills/wickedizer/refs/review.md +221 -0
- package/skills/wickedizer/refs/structure.md +282 -0
- package/skills/wickedizer/refs/voice-profile.md +125 -0
- package/skills/workflow/SKILL.md +132 -0
- package/skills/workflow/refs/archetype-adjustments.md +205 -0
- package/skills/workflow/refs/evidence.md +58 -0
- package/skills/workflow/refs/integration.md +130 -0
- package/skills/workflow/refs/risk-dimension-signals.md +260 -0
- package/skills/workflow/refs/scoring-rubric.md +49 -0
- package/skills/workflow/refs/signal-keywords.md +176 -0
- package/skills/workflow/refs/specialist-routing-rules.md +159 -0
- package/skills/worktrees/SKILL.md +87 -0
- 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.
|
package/hooks/hooks.json
ADDED
|
@@ -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
|
+
}
|