@dragonflymcp/plugin 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/plugin.json +26 -0
- package/LICENSE +21 -0
- package/README.md +126 -0
- package/dist/core/annotations.d.ts +71 -0
- package/dist/core/annotations.d.ts.map +1 -0
- package/dist/core/annotations.js +61 -0
- package/dist/core/annotations.js.map +1 -0
- package/dist/core/config.d.ts +66 -0
- package/dist/core/config.d.ts.map +1 -0
- package/dist/core/config.js +131 -0
- package/dist/core/config.js.map +1 -0
- package/dist/core/dispatcher.d.ts +77 -0
- package/dist/core/dispatcher.d.ts.map +1 -0
- package/dist/core/dispatcher.js +132 -0
- package/dist/core/dispatcher.js.map +1 -0
- package/dist/core/server.d.ts +24 -0
- package/dist/core/server.d.ts.map +1 -0
- package/dist/core/server.js +41 -0
- package/dist/core/server.js.map +1 -0
- package/dist/core/store.d.ts +91 -0
- package/dist/core/store.d.ts.map +1 -0
- package/dist/core/store.js +157 -0
- package/dist/core/store.js.map +1 -0
- package/dist/core/types.d.ts +128 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/core/types.js +5 -0
- package/dist/core/types.js.map +1 -0
- package/dist/index.d.ts +22 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +81 -0
- package/dist/index.js.map +1 -0
- package/dist/test-utils/store-harness.d.ts +41 -0
- package/dist/test-utils/store-harness.d.ts.map +1 -0
- package/dist/test-utils/store-harness.js +61 -0
- package/dist/test-utils/store-harness.js.map +1 -0
- package/dist/tools/analytics/aggregators.d.ts +18 -0
- package/dist/tools/analytics/aggregators.d.ts.map +1 -0
- package/dist/tools/analytics/aggregators.js +260 -0
- package/dist/tools/analytics/aggregators.js.map +1 -0
- package/dist/tools/analytics/aggregators.test.d.ts +2 -0
- package/dist/tools/analytics/aggregators.test.d.ts.map +1 -0
- package/dist/tools/analytics/aggregators.test.js +177 -0
- package/dist/tools/analytics/aggregators.test.js.map +1 -0
- package/dist/tools/analytics/drift.d.ts +15 -0
- package/dist/tools/analytics/drift.d.ts.map +1 -0
- package/dist/tools/analytics/drift.js +135 -0
- package/dist/tools/analytics/drift.js.map +1 -0
- package/dist/tools/analytics/drift.test.d.ts +2 -0
- package/dist/tools/analytics/drift.test.d.ts.map +1 -0
- package/dist/tools/analytics/drift.test.js +99 -0
- package/dist/tools/analytics/drift.test.js.map +1 -0
- package/dist/tools/analytics/index.d.ts +10 -0
- package/dist/tools/analytics/index.d.ts.map +1 -0
- package/dist/tools/analytics/index.js +192 -0
- package/dist/tools/analytics/index.js.map +1 -0
- package/dist/tools/analytics/learner.d.ts +29 -0
- package/dist/tools/analytics/learner.d.ts.map +1 -0
- package/dist/tools/analytics/learner.js +135 -0
- package/dist/tools/analytics/learner.js.map +1 -0
- package/dist/tools/analytics/learner.test.d.ts +2 -0
- package/dist/tools/analytics/learner.test.d.ts.map +1 -0
- package/dist/tools/analytics/learner.test.js +118 -0
- package/dist/tools/analytics/learner.test.js.map +1 -0
- package/dist/tools/analytics/observe.d.ts +22 -0
- package/dist/tools/analytics/observe.d.ts.map +1 -0
- package/dist/tools/analytics/observe.js +143 -0
- package/dist/tools/analytics/observe.js.map +1 -0
- package/dist/tools/analytics/observe.test.d.ts +2 -0
- package/dist/tools/analytics/observe.test.d.ts.map +1 -0
- package/dist/tools/analytics/observe.test.js +95 -0
- package/dist/tools/analytics/observe.test.js.map +1 -0
- package/dist/tools/analytics/store.d.ts +29 -0
- package/dist/tools/analytics/store.d.ts.map +1 -0
- package/dist/tools/analytics/store.js +192 -0
- package/dist/tools/analytics/store.js.map +1 -0
- package/dist/tools/analytics/types.d.ts +290 -0
- package/dist/tools/analytics/types.d.ts.map +1 -0
- package/dist/tools/analytics/types.js +7 -0
- package/dist/tools/analytics/types.js.map +1 -0
- package/dist/tools/ast/index.d.ts +8 -0
- package/dist/tools/ast/index.d.ts.map +1 -0
- package/dist/tools/ast/index.js +242 -0
- package/dist/tools/ast/index.js.map +1 -0
- package/dist/tools/ast/indexer.d.ts +41 -0
- package/dist/tools/ast/indexer.d.ts.map +1 -0
- package/dist/tools/ast/indexer.js +617 -0
- package/dist/tools/ast/indexer.js.map +1 -0
- package/dist/tools/ast/store.d.ts +87 -0
- package/dist/tools/ast/store.d.ts.map +1 -0
- package/dist/tools/ast/store.js +280 -0
- package/dist/tools/ast/store.js.map +1 -0
- package/dist/tools/ast/store.test.d.ts +6 -0
- package/dist/tools/ast/store.test.d.ts.map +1 -0
- package/dist/tools/ast/store.test.js +257 -0
- package/dist/tools/ast/store.test.js.map +1 -0
- package/dist/tools/bridge/bridge.d.ts +37 -0
- package/dist/tools/bridge/bridge.d.ts.map +1 -0
- package/dist/tools/bridge/bridge.js +82 -0
- package/dist/tools/bridge/bridge.js.map +1 -0
- package/dist/tools/bridge/bridge.test.d.ts +2 -0
- package/dist/tools/bridge/bridge.test.d.ts.map +1 -0
- package/dist/tools/bridge/bridge.test.js +119 -0
- package/dist/tools/bridge/bridge.test.js.map +1 -0
- package/dist/tools/bridge/index.d.ts +8 -0
- package/dist/tools/bridge/index.d.ts.map +1 -0
- package/dist/tools/bridge/index.js +153 -0
- package/dist/tools/bridge/index.js.map +1 -0
- package/dist/tools/bridge/store.d.ts +45 -0
- package/dist/tools/bridge/store.d.ts.map +1 -0
- package/dist/tools/bridge/store.js +307 -0
- package/dist/tools/bridge/store.js.map +1 -0
- package/dist/tools/bridge/store.test.d.ts +2 -0
- package/dist/tools/bridge/store.test.d.ts.map +1 -0
- package/dist/tools/bridge/store.test.js +180 -0
- package/dist/tools/bridge/store.test.js.map +1 -0
- package/dist/tools/bridge/types.d.ts +44 -0
- package/dist/tools/bridge/types.d.ts.map +1 -0
- package/dist/tools/bridge/types.js +6 -0
- package/dist/tools/bridge/types.js.map +1 -0
- package/dist/tools/evolve/algorithm.d.ts +33 -0
- package/dist/tools/evolve/algorithm.d.ts.map +1 -0
- package/dist/tools/evolve/algorithm.js +64 -0
- package/dist/tools/evolve/algorithm.js.map +1 -0
- package/dist/tools/evolve/algorithm.test.d.ts +6 -0
- package/dist/tools/evolve/algorithm.test.d.ts.map +1 -0
- package/dist/tools/evolve/algorithm.test.js +138 -0
- package/dist/tools/evolve/algorithm.test.js.map +1 -0
- package/dist/tools/evolve/index.d.ts +11 -0
- package/dist/tools/evolve/index.d.ts.map +1 -0
- package/dist/tools/evolve/index.js +300 -0
- package/dist/tools/evolve/index.js.map +1 -0
- package/dist/tools/evolve/store.d.ts +27 -0
- package/dist/tools/evolve/store.d.ts.map +1 -0
- package/dist/tools/evolve/store.js +147 -0
- package/dist/tools/evolve/store.js.map +1 -0
- package/dist/tools/evolve/store.test.d.ts +6 -0
- package/dist/tools/evolve/store.test.d.ts.map +1 -0
- package/dist/tools/evolve/store.test.js +162 -0
- package/dist/tools/evolve/store.test.js.map +1 -0
- package/dist/tools/evolve/types.d.ts +38 -0
- package/dist/tools/evolve/types.d.ts.map +1 -0
- package/dist/tools/evolve/types.js +6 -0
- package/dist/tools/evolve/types.js.map +1 -0
- package/dist/tools/framework/content-loader.d.ts +45 -0
- package/dist/tools/framework/content-loader.d.ts.map +1 -0
- package/dist/tools/framework/content-loader.js +258 -0
- package/dist/tools/framework/content-loader.js.map +1 -0
- package/dist/tools/framework/content-loader.test.d.ts +5 -0
- package/dist/tools/framework/content-loader.test.d.ts.map +1 -0
- package/dist/tools/framework/content-loader.test.js +262 -0
- package/dist/tools/framework/content-loader.test.js.map +1 -0
- package/dist/tools/framework/index.d.ts +30 -0
- package/dist/tools/framework/index.d.ts.map +1 -0
- package/dist/tools/framework/index.js +517 -0
- package/dist/tools/framework/index.js.map +1 -0
- package/dist/tools/framework/session.d.ts +85 -0
- package/dist/tools/framework/session.d.ts.map +1 -0
- package/dist/tools/framework/session.js +311 -0
- package/dist/tools/framework/session.js.map +1 -0
- package/dist/tools/framework/session.test.d.ts +5 -0
- package/dist/tools/framework/session.test.d.ts.map +1 -0
- package/dist/tools/framework/session.test.js +291 -0
- package/dist/tools/framework/session.test.js.map +1 -0
- package/dist/tools/framework/sync-evaluator.d.ts +41 -0
- package/dist/tools/framework/sync-evaluator.d.ts.map +1 -0
- package/dist/tools/framework/sync-evaluator.js +298 -0
- package/dist/tools/framework/sync-evaluator.js.map +1 -0
- package/dist/tools/framework/sync-evaluator.test.d.ts +5 -0
- package/dist/tools/framework/sync-evaluator.test.d.ts.map +1 -0
- package/dist/tools/framework/sync-evaluator.test.js +288 -0
- package/dist/tools/framework/sync-evaluator.test.js.map +1 -0
- package/dist/tools/framework/types.d.ts +279 -0
- package/dist/tools/framework/types.d.ts.map +1 -0
- package/dist/tools/framework/types.js +6 -0
- package/dist/tools/framework/types.js.map +1 -0
- package/dist/tools/framework/workflow-intelligence.d.ts +55 -0
- package/dist/tools/framework/workflow-intelligence.d.ts.map +1 -0
- package/dist/tools/framework/workflow-intelligence.js +199 -0
- package/dist/tools/framework/workflow-intelligence.js.map +1 -0
- package/dist/tools/framework/workflow-intelligence.test.d.ts +6 -0
- package/dist/tools/framework/workflow-intelligence.test.d.ts.map +1 -0
- package/dist/tools/framework/workflow-intelligence.test.js +257 -0
- package/dist/tools/framework/workflow-intelligence.test.js.map +1 -0
- package/dist/tools/framework/workflow-planner.d.ts +10 -0
- package/dist/tools/framework/workflow-planner.d.ts.map +1 -0
- package/dist/tools/framework/workflow-planner.js +214 -0
- package/dist/tools/framework/workflow-planner.js.map +1 -0
- package/dist/tools/framework/workflow-planner.test.d.ts +5 -0
- package/dist/tools/framework/workflow-planner.test.d.ts.map +1 -0
- package/dist/tools/framework/workflow-planner.test.js +137 -0
- package/dist/tools/framework/workflow-planner.test.js.map +1 -0
- package/dist/tools/knowledge/bridge.d.ts +34 -0
- package/dist/tools/knowledge/bridge.d.ts.map +1 -0
- package/dist/tools/knowledge/bridge.js +249 -0
- package/dist/tools/knowledge/bridge.js.map +1 -0
- package/dist/tools/knowledge/bridge.test.d.ts +5 -0
- package/dist/tools/knowledge/bridge.test.d.ts.map +1 -0
- package/dist/tools/knowledge/bridge.test.js +221 -0
- package/dist/tools/knowledge/bridge.test.js.map +1 -0
- package/dist/tools/knowledge/extractor.d.ts +22 -0
- package/dist/tools/knowledge/extractor.d.ts.map +1 -0
- package/dist/tools/knowledge/extractor.js +154 -0
- package/dist/tools/knowledge/extractor.js.map +1 -0
- package/dist/tools/knowledge/index.d.ts +12 -0
- package/dist/tools/knowledge/index.d.ts.map +1 -0
- package/dist/tools/knowledge/index.js +505 -0
- package/dist/tools/knowledge/index.js.map +1 -0
- package/dist/tools/knowledge/retrieval.d.ts +28 -0
- package/dist/tools/knowledge/retrieval.d.ts.map +1 -0
- package/dist/tools/knowledge/retrieval.js +164 -0
- package/dist/tools/knowledge/retrieval.js.map +1 -0
- package/dist/tools/knowledge/store.d.ts +96 -0
- package/dist/tools/knowledge/store.d.ts.map +1 -0
- package/dist/tools/knowledge/store.js +562 -0
- package/dist/tools/knowledge/store.js.map +1 -0
- package/dist/tools/knowledge/store.test.d.ts +6 -0
- package/dist/tools/knowledge/store.test.d.ts.map +1 -0
- package/dist/tools/knowledge/store.test.js +385 -0
- package/dist/tools/knowledge/store.test.js.map +1 -0
- package/dist/tools/knowledge/types.d.ts +168 -0
- package/dist/tools/knowledge/types.d.ts.map +1 -0
- package/dist/tools/knowledge/types.js +6 -0
- package/dist/tools/knowledge/types.js.map +1 -0
- package/dist/tools/memory/evolution.d.ts +31 -0
- package/dist/tools/memory/evolution.d.ts.map +1 -0
- package/dist/tools/memory/evolution.js +130 -0
- package/dist/tools/memory/evolution.js.map +1 -0
- package/dist/tools/memory/index.d.ts +11 -0
- package/dist/tools/memory/index.d.ts.map +1 -0
- package/dist/tools/memory/index.js +239 -0
- package/dist/tools/memory/index.js.map +1 -0
- package/dist/tools/memory/store.d.ts +75 -0
- package/dist/tools/memory/store.d.ts.map +1 -0
- package/dist/tools/memory/store.js +398 -0
- package/dist/tools/memory/store.js.map +1 -0
- package/dist/tools/memory/store.test.d.ts +6 -0
- package/dist/tools/memory/store.test.d.ts.map +1 -0
- package/dist/tools/memory/store.test.js +429 -0
- package/dist/tools/memory/store.test.js.map +1 -0
- package/dist/tools/memory/types.d.ts +171 -0
- package/dist/tools/memory/types.d.ts.map +1 -0
- package/dist/tools/memory/types.js +6 -0
- package/dist/tools/memory/types.js.map +1 -0
- package/dist/tools/pipeline/composer.d.ts +29 -0
- package/dist/tools/pipeline/composer.d.ts.map +1 -0
- package/dist/tools/pipeline/composer.js +225 -0
- package/dist/tools/pipeline/composer.js.map +1 -0
- package/dist/tools/pipeline/composer.test.d.ts +2 -0
- package/dist/tools/pipeline/composer.test.d.ts.map +1 -0
- package/dist/tools/pipeline/composer.test.js +162 -0
- package/dist/tools/pipeline/composer.test.js.map +1 -0
- package/dist/tools/pipeline/index.d.ts +8 -0
- package/dist/tools/pipeline/index.d.ts.map +1 -0
- package/dist/tools/pipeline/index.js +102 -0
- package/dist/tools/pipeline/index.js.map +1 -0
- package/dist/tools/pipeline/planner.d.ts +10 -0
- package/dist/tools/pipeline/planner.d.ts.map +1 -0
- package/dist/tools/pipeline/planner.js +147 -0
- package/dist/tools/pipeline/planner.js.map +1 -0
- package/dist/tools/pipeline/planner.test.d.ts +2 -0
- package/dist/tools/pipeline/planner.test.d.ts.map +1 -0
- package/dist/tools/pipeline/planner.test.js +96 -0
- package/dist/tools/pipeline/planner.test.js.map +1 -0
- package/dist/tools/pipeline/preconditions.d.ts +14 -0
- package/dist/tools/pipeline/preconditions.d.ts.map +1 -0
- package/dist/tools/pipeline/preconditions.js +65 -0
- package/dist/tools/pipeline/preconditions.js.map +1 -0
- package/dist/tools/pipeline/preconditions.test.d.ts +2 -0
- package/dist/tools/pipeline/preconditions.test.d.ts.map +1 -0
- package/dist/tools/pipeline/preconditions.test.js +74 -0
- package/dist/tools/pipeline/preconditions.test.js.map +1 -0
- package/dist/tools/pipeline/types.d.ts +105 -0
- package/dist/tools/pipeline/types.d.ts.map +1 -0
- package/dist/tools/pipeline/types.js +6 -0
- package/dist/tools/pipeline/types.js.map +1 -0
- package/dist/tools/repair/index.d.ts +8 -0
- package/dist/tools/repair/index.d.ts.map +1 -0
- package/dist/tools/repair/index.js +384 -0
- package/dist/tools/repair/index.js.map +1 -0
- package/dist/tools/repair/repairer.d.ts +67 -0
- package/dist/tools/repair/repairer.d.ts.map +1 -0
- package/dist/tools/repair/repairer.js +257 -0
- package/dist/tools/repair/repairer.js.map +1 -0
- package/dist/tools/repair/repairer.test.d.ts +6 -0
- package/dist/tools/repair/repairer.test.d.ts.map +1 -0
- package/dist/tools/repair/repairer.test.js +159 -0
- package/dist/tools/repair/repairer.test.js.map +1 -0
- package/dist/tools/semantic/chunker.d.ts +23 -0
- package/dist/tools/semantic/chunker.d.ts.map +1 -0
- package/dist/tools/semantic/chunker.js +244 -0
- package/dist/tools/semantic/chunker.js.map +1 -0
- package/dist/tools/semantic/embedder.d.ts +16 -0
- package/dist/tools/semantic/embedder.d.ts.map +1 -0
- package/dist/tools/semantic/embedder.js +88 -0
- package/dist/tools/semantic/embedder.js.map +1 -0
- package/dist/tools/semantic/index.d.ts +8 -0
- package/dist/tools/semantic/index.d.ts.map +1 -0
- package/dist/tools/semantic/index.js +144 -0
- package/dist/tools/semantic/index.js.map +1 -0
- package/dist/tools/semantic/store.d.ts +31 -0
- package/dist/tools/semantic/store.d.ts.map +1 -0
- package/dist/tools/semantic/store.js +168 -0
- package/dist/tools/semantic/store.js.map +1 -0
- package/dist/tools/semantic/store.test.d.ts +6 -0
- package/dist/tools/semantic/store.test.d.ts.map +1 -0
- package/dist/tools/semantic/store.test.js +240 -0
- package/dist/tools/semantic/store.test.js.map +1 -0
- package/dist/tools/spec/generator.d.ts +32 -0
- package/dist/tools/spec/generator.d.ts.map +1 -0
- package/dist/tools/spec/generator.js +278 -0
- package/dist/tools/spec/generator.js.map +1 -0
- package/dist/tools/spec/generator.test.d.ts +6 -0
- package/dist/tools/spec/generator.test.d.ts.map +1 -0
- package/dist/tools/spec/generator.test.js +208 -0
- package/dist/tools/spec/generator.test.js.map +1 -0
- package/dist/tools/spec/index.d.ts +11 -0
- package/dist/tools/spec/index.d.ts.map +1 -0
- package/dist/tools/spec/index.js +426 -0
- package/dist/tools/spec/index.js.map +1 -0
- package/dist/tools/spec/store.d.ts +24 -0
- package/dist/tools/spec/store.d.ts.map +1 -0
- package/dist/tools/spec/store.js +104 -0
- package/dist/tools/spec/store.js.map +1 -0
- package/dist/tools/spec/store.test.d.ts +6 -0
- package/dist/tools/spec/store.test.d.ts.map +1 -0
- package/dist/tools/spec/store.test.js +173 -0
- package/dist/tools/spec/store.test.js.map +1 -0
- package/dist/tools/spec/types.d.ts +61 -0
- package/dist/tools/spec/types.d.ts.map +1 -0
- package/dist/tools/spec/types.js +6 -0
- package/dist/tools/spec/types.js.map +1 -0
- package/dist/tools/state/index.d.ts +11 -0
- package/dist/tools/state/index.d.ts.map +1 -0
- package/dist/tools/state/index.js +386 -0
- package/dist/tools/state/index.js.map +1 -0
- package/dist/tools/state/migrate.d.ts +39 -0
- package/dist/tools/state/migrate.d.ts.map +1 -0
- package/dist/tools/state/migrate.js +242 -0
- package/dist/tools/state/migrate.js.map +1 -0
- package/dist/tools/state/migrate.test.d.ts +2 -0
- package/dist/tools/state/migrate.test.d.ts.map +1 -0
- package/dist/tools/state/migrate.test.js +265 -0
- package/dist/tools/state/migrate.test.js.map +1 -0
- package/dist/tools/state/store.d.ts +107 -0
- package/dist/tools/state/store.d.ts.map +1 -0
- package/dist/tools/state/store.js +365 -0
- package/dist/tools/state/store.js.map +1 -0
- package/dist/tools/state/store.test.d.ts +5 -0
- package/dist/tools/state/store.test.d.ts.map +1 -0
- package/dist/tools/state/store.test.js +293 -0
- package/dist/tools/state/store.test.js.map +1 -0
- package/dist/tools/state/types.d.ts +90 -0
- package/dist/tools/state/types.d.ts.map +1 -0
- package/dist/tools/state/types.js +6 -0
- package/dist/tools/state/types.js.map +1 -0
- package/dist/tools/testing/analyzer.d.ts +44 -0
- package/dist/tools/testing/analyzer.d.ts.map +1 -0
- package/dist/tools/testing/analyzer.js +280 -0
- package/dist/tools/testing/analyzer.js.map +1 -0
- package/dist/tools/testing/generator.d.ts +57 -0
- package/dist/tools/testing/generator.d.ts.map +1 -0
- package/dist/tools/testing/generator.js +478 -0
- package/dist/tools/testing/generator.js.map +1 -0
- package/dist/tools/testing/generator.test.d.ts +6 -0
- package/dist/tools/testing/generator.test.d.ts.map +1 -0
- package/dist/tools/testing/generator.test.js +285 -0
- package/dist/tools/testing/generator.test.js.map +1 -0
- package/dist/tools/testing/index.d.ts +8 -0
- package/dist/tools/testing/index.d.ts.map +1 -0
- package/dist/tools/testing/index.js +373 -0
- package/dist/tools/testing/index.js.map +1 -0
- package/dist/utils/embedder.d.ts +7 -0
- package/dist/utils/embedder.d.ts.map +1 -0
- package/dist/utils/embedder.js +13 -0
- package/dist/utils/embedder.js.map +1 -0
- package/dist/utils/execution.d.ts +68 -0
- package/dist/utils/execution.d.ts.map +1 -0
- package/dist/utils/execution.js +467 -0
- package/dist/utils/execution.js.map +1 -0
- package/dist/utils/graph.d.ts +26 -0
- package/dist/utils/graph.d.ts.map +1 -0
- package/dist/utils/graph.js +32 -0
- package/dist/utils/graph.js.map +1 -0
- package/dist/utils/guards.d.ts +32 -0
- package/dist/utils/guards.d.ts.map +1 -0
- package/dist/utils/guards.js +40 -0
- package/dist/utils/guards.js.map +1 -0
- package/dist/utils/ids.d.ts +5 -0
- package/dist/utils/ids.d.ts.map +1 -0
- package/dist/utils/ids.js +7 -0
- package/dist/utils/ids.js.map +1 -0
- package/dist/utils/languages.d.ts +34 -0
- package/dist/utils/languages.d.ts.map +1 -0
- package/dist/utils/languages.js +153 -0
- package/dist/utils/languages.js.map +1 -0
- package/dist/utils/lazy.d.ts +17 -0
- package/dist/utils/lazy.d.ts.map +1 -0
- package/dist/utils/lazy.js +35 -0
- package/dist/utils/lazy.js.map +1 -0
- package/dist/utils/project.d.ts +41 -0
- package/dist/utils/project.d.ts.map +1 -0
- package/dist/utils/project.js +82 -0
- package/dist/utils/project.js.map +1 -0
- package/dist/utils/responses.d.ts +27 -0
- package/dist/utils/responses.d.ts.map +1 -0
- package/dist/utils/responses.js +72 -0
- package/dist/utils/responses.js.map +1 -0
- package/dist/utils/vectors.d.ts +33 -0
- package/dist/utils/vectors.d.ts.map +1 -0
- package/dist/utils/vectors.js +80 -0
- package/dist/utils/vectors.js.map +1 -0
- package/dist/utils/vectors.test.d.ts +6 -0
- package/dist/utils/vectors.test.d.ts.map +1 -0
- package/dist/utils/vectors.test.js +96 -0
- package/dist/utils/vectors.test.js.map +1 -0
- package/package.json +69 -0
- package/scripts/init.js +142 -0
- package/templates/CLAUDE.md.template +96 -0
- package/templates/agents/architecture-concept.md +237 -0
- package/templates/agents/checkpoint-concept.md +218 -0
- package/templates/agents/code-analysis-concept.md +171 -0
- package/templates/agents/compete-control.md +44 -0
- package/templates/agents/compete-evaluator.md +87 -0
- package/templates/agents/compete-treatment.md +55 -0
- package/templates/agents/context-concept.md +254 -0
- package/templates/agents/debate-advocate.md +127 -0
- package/templates/agents/debate-critic.md +119 -0
- package/templates/agents/debate-synthesis.md +160 -0
- package/templates/agents/documentation-concept.md +294 -0
- package/templates/agents/implementation-concept.md +165 -0
- package/templates/agents/quality-concept.md +299 -0
- package/templates/agents/research-concept.md +169 -0
- package/templates/agents/security-concept.md +255 -0
- package/templates/agents/story-concept.md +207 -0
- package/templates/agents/verification-concept.md +456 -0
- package/templates/agents/version-concept.md +163 -0
- package/templates/anchors/directory.anchor.yaml.template +53 -0
- package/templates/anchors/rules.anchor.yaml.template +70 -0
- package/templates/anchors/safety.anchor.yaml.template +96 -0
- package/templates/claude-md-managed.template +105 -0
- package/templates/commands/cache.md.template +439 -0
- package/templates/commands/checkpoint.md.template +121 -0
- package/templates/commands/classify.md.template +138 -0
- package/templates/commands/compete.md.template +90 -0
- package/templates/commands/costs.md.template +111 -0
- package/templates/commands/estimate.md.template +196 -0
- package/templates/commands/explore.md.template +186 -0
- package/templates/commands/feature.md.template +216 -0
- package/templates/commands/forget.md.template +104 -0
- package/templates/commands/global-recall.md.template +250 -0
- package/templates/commands/global-remember.md.template +187 -0
- package/templates/commands/health.md.template +107 -0
- package/templates/commands/help.md.template +253 -0
- package/templates/commands/observe.md.template +211 -0
- package/templates/commands/pr-review.md.template +164 -0
- package/templates/commands/predict-cost.md.template +251 -0
- package/templates/commands/profile.md.template +142 -0
- package/templates/commands/reasoning.md.template +228 -0
- package/templates/commands/recall.md.template +197 -0
- package/templates/commands/remember.md.template +148 -0
- package/templates/commands/replay.md.template +449 -0
- package/templates/commands/restore.md.template +87 -0
- package/templates/commands/retrospective.md.template +47 -0
- package/templates/commands/slo.md.template +286 -0
- package/templates/commands/spec.md.template +164 -0
- package/templates/commands/status.md.template +53 -0
- package/templates/commands/sync.md.template +321 -0
- package/templates/commands/task.md.template +86 -0
- package/templates/commands/trace.md.template +86 -0
- package/templates/commands/visualize.md.template +216 -0
- package/templates/commands/workflow.md.template +375 -0
- package/templates/concepts/README.md +329 -0
- package/templates/concepts/architecture.md.template +74 -0
- package/templates/concepts/code-analysis.md.template +186 -0
- package/templates/concepts/context-compactor.md.template +393 -0
- package/templates/concepts/context.md.template +62 -0
- package/templates/concepts/documentation.md.template +452 -0
- package/templates/concepts/estimator.md.template +214 -0
- package/templates/concepts/exploration.md.template +257 -0
- package/templates/concepts/global-memory.md.template +222 -0
- package/templates/concepts/implementation.md.template +62 -0
- package/templates/concepts/pr-review.md.template +277 -0
- package/templates/concepts/project-profile.md.template +358 -0
- package/templates/concepts/quality.md.template +63 -0
- package/templates/concepts/react-fallback.md.template +286 -0
- package/templates/concepts/research.md.template +221 -0
- package/templates/concepts/retrospective.md.template +93 -0
- package/templates/concepts/security.md.template +442 -0
- package/templates/concepts/slo.md.template +274 -0
- package/templates/concepts/spec.md.template +71 -0
- package/templates/concepts/story.md.template +50 -0
- package/templates/concepts/tool-router.md.template +289 -0
- package/templates/concepts/verification-synthesizer.md.template +279 -0
- package/templates/concepts/version.md.template +61 -0
- package/templates/config.yaml.template +347 -0
- package/templates/examples/README.md +77 -0
- package/templates/examples/architecture/api-design.yaml.template +286 -0
- package/templates/examples/architecture/oauth-authentication.yaml.template +305 -0
- package/templates/health/status.yaml.template +120 -0
- package/templates/hooks/concept-complete.sh.template +45 -0
- package/templates/hooks/lib/common.sh.template +160 -0
- package/templates/hooks/post-commit.sh.template +37 -0
- package/templates/hooks/post-concept-action.template +39 -0
- package/templates/hooks/post-tool-structure-check.sh.template +138 -0
- package/templates/hooks/post-tool-use.sh.template +51 -0
- package/templates/hooks/pre-compact.sh.template +48 -0
- package/templates/hooks/pre-tool-grounding.template +148 -0
- package/templates/hooks/session-exit-checkpoint.sh.template +35 -0
- package/templates/hooks/session-start.sh.template +67 -0
- package/templates/hooks/statusline.sh.template +148 -0
- package/templates/hooks/stop.sh.template +45 -0
- package/templates/hooks/subagent-stop.sh.template +40 -0
- package/templates/hooks/sync-blocked.sh.template +45 -0
- package/templates/hooks/timeout.sh.template +48 -0
- package/templates/hooks/user-prompt-submit.sh.template +68 -0
- package/templates/koan/README.md +58 -0
- package/templates/memory/index.yaml.template +48 -0
- package/templates/memory/procedural/debugging.yaml.template +24 -0
- package/templates/memory/procedural/workflows.yaml.template +22 -0
- package/templates/memory/semantic/architecture.yaml.template +21 -0
- package/templates/memory/semantic/conventions.yaml.template +18 -0
- package/templates/memory/semantic/patterns.yaml.template +21 -0
- package/templates/memory/semantic/preferences.yaml.template +18 -0
- package/templates/prompts/architecture.yaml.template +349 -0
- package/templates/prompts/context.yaml.template +384 -0
- package/templates/prompts/implementation.yaml.template +365 -0
- package/templates/prompts/planning.yaml.template +303 -0
- package/templates/prompts/quality.yaml.template +345 -0
- package/templates/prompts/retrospective.yaml.template +231 -0
- package/templates/prompts/slo.yaml.template +360 -0
- package/templates/prompts/story.yaml.template +236 -0
- package/templates/prompts/tree-of-thoughts.yaml.template +299 -0
- package/templates/prompts/verification.yaml.template +286 -0
- package/templates/prompts/version.yaml.template +279 -0
- package/templates/schemas/agent-schema.json +98 -0
- package/templates/schemas/architecture.schema.json +69 -0
- package/templates/schemas/config-schema.json +165 -0
- package/templates/schemas/implementation.schema.json +75 -0
- package/templates/schemas/planning.schema.json +243 -0
- package/templates/schemas/provenance.schema.json +111 -0
- package/templates/schemas/retrospective.schema.json +174 -0
- package/templates/schemas/review.schema.json +284 -0
- package/templates/schemas/slo.schema.json +443 -0
- package/templates/schemas/story.schema.json +68 -0
- package/templates/schemas/sync-schema.json +196 -0
- package/templates/schemas/task.schema.json +127 -0
- package/templates/schemas/tree-of-thoughts.schema.json +175 -0
- package/templates/schemas/verification.schema.json +106 -0
- package/templates/settings.full.json.template +135 -0
- package/templates/settings.minimal.json.template +68 -0
- package/templates/settings.standard.json.template +135 -0
- package/templates/skills/acceptance-criteria-generation.md.template +330 -0
- package/templates/skills/accessibility-checking.md.template +341 -0
- package/templates/skills/api-design-patterns.md.template +395 -0
- package/templates/skills/batch-processing.md.template +605 -0
- package/templates/skills/branch-strategy.md.template +362 -0
- package/templates/skills/changelog-generation.md.template +403 -0
- package/templates/skills/code-coverage-analysis.md.template +362 -0
- package/templates/skills/code-style-enforcement.md.template +294 -0
- package/templates/skills/code-template-patterns.md.template +419 -0
- package/templates/skills/concept-development.md.template +159 -0
- package/templates/skills/context-prioritization.md.template +306 -0
- package/templates/skills/cost-optimization.md.template +482 -0
- package/templates/skills/cross-project-knowledge.md.template +316 -0
- package/templates/skills/dependency-impact-analysis.md.template +263 -0
- package/templates/skills/documentation-generation.md.template +409 -0
- package/templates/skills/effort-estimation.md.template +350 -0
- package/templates/skills/error-classification.md.template +709 -0
- package/templates/skills/error-messages.md.template +339 -0
- package/templates/skills/ide-diagnostics.md.template +480 -0
- package/templates/skills/incremental-loading.md.template +574 -0
- package/templates/skills/output-caching.md.template +524 -0
- package/templates/skills/performance-estimation.md.template +325 -0
- package/templates/skills/performance-testing-patterns.md.template +341 -0
- package/templates/skills/phase2-optimizations-summary.md.template +458 -0
- package/templates/skills/progressive-disclosure-pattern.md.template +190 -0
- package/templates/skills/project-structure.md.template +372 -0
- package/templates/skills/provenance-analysis.md.template +609 -0
- package/templates/skills/react-executor.md.template +366 -0
- package/templates/skills/refactoring-patterns.md.template +422 -0
- package/templates/skills/release-management.md.template +373 -0
- package/templates/skills/requirement-prioritization.md.template +357 -0
- package/templates/skills/schema-validation.md.template +321 -0
- package/templates/skills/security-design-patterns.md.template +692 -0
- package/templates/skills/security-vulnerability-scanning.md.template +663 -0
- package/templates/skills/semantic-memory.md.template +266 -0
- package/templates/skills/semantic-versioning.md.template +371 -0
- package/templates/skills/smart-retry.md.template +676 -0
- package/templates/skills/smart-summarization.md.template +358 -0
- package/templates/skills/story-decomposition.md.template +278 -0
- package/templates/skills/synchronization-patterns.md.template +303 -0
- package/templates/skills/test-generation-strategy.md.template +247 -0
- package/templates/skills/workflow-replay.md.template +478 -0
- package/templates/skills/wysiwid-principles.md.template +364 -0
- package/templates/skills-manifest.yaml.template +526 -0
- package/templates/stubs/agents/architecture-concept.md +20 -0
- package/templates/stubs/agents/checkpoint-concept.md +19 -0
- package/templates/stubs/agents/code-analysis-concept.md +36 -0
- package/templates/stubs/agents/context-concept.md +37 -0
- package/templates/stubs/agents/debate-advocate.md +12 -0
- package/templates/stubs/agents/debate-critic.md +12 -0
- package/templates/stubs/agents/debate-synthesis.md +12 -0
- package/templates/stubs/agents/documentation-concept.md +39 -0
- package/templates/stubs/agents/implementation-concept.md +41 -0
- package/templates/stubs/agents/quality-concept.md +41 -0
- package/templates/stubs/agents/research-concept.md +35 -0
- package/templates/stubs/agents/security-concept.md +40 -0
- package/templates/stubs/agents/spec-concept.md +35 -0
- package/templates/stubs/agents/story-concept.md +36 -0
- package/templates/stubs/agents/verification-concept.md +39 -0
- package/templates/stubs/agents/version-concept.md +37 -0
- package/templates/stubs/commands/cache.md.template +2 -0
- package/templates/stubs/commands/checkpoint.md.template +2 -0
- package/templates/stubs/commands/classify.md.template +2 -0
- package/templates/stubs/commands/compete.md.template +2 -0
- package/templates/stubs/commands/costs.md.template +2 -0
- package/templates/stubs/commands/estimate.md.template +2 -0
- package/templates/stubs/commands/explore.md.template +2 -0
- package/templates/stubs/commands/feature.md.template +2 -0
- package/templates/stubs/commands/forget.md.template +2 -0
- package/templates/stubs/commands/global-recall.md.template +2 -0
- package/templates/stubs/commands/global-remember.md.template +2 -0
- package/templates/stubs/commands/health.md.template +2 -0
- package/templates/stubs/commands/help.md.template +2 -0
- package/templates/stubs/commands/observe.md.template +2 -0
- package/templates/stubs/commands/pr-review.md.template +2 -0
- package/templates/stubs/commands/predict-cost.md.template +2 -0
- package/templates/stubs/commands/profile.md.template +2 -0
- package/templates/stubs/commands/reasoning.md.template +2 -0
- package/templates/stubs/commands/recall.md.template +2 -0
- package/templates/stubs/commands/remember.md.template +2 -0
- package/templates/stubs/commands/replay.md.template +2 -0
- package/templates/stubs/commands/restore.md.template +2 -0
- package/templates/stubs/commands/retrospective.md.template +2 -0
- package/templates/stubs/commands/slo.md.template +2 -0
- package/templates/stubs/commands/spec.md.template +2 -0
- package/templates/stubs/commands/sync.md.template +2 -0
- package/templates/stubs/commands/task.md.template +2 -0
- package/templates/stubs/commands/trace.md.template +2 -0
- package/templates/stubs/commands/visualize.md.template +2 -0
- package/templates/stubs/commands/workflow.md.template +2 -0
- package/templates/synchronizations/archive/adaptive-learning.yaml.template +595 -0
- package/templates/synchronizations/archive/code-understanding-flow.yaml.template +533 -0
- package/templates/synchronizations/archive/collaboration-flow.yaml.template +521 -0
- package/templates/synchronizations/archive/context-folding.yaml.template +353 -0
- package/templates/synchronizations/archive/dead-letter-queue.yaml.template +530 -0
- package/templates/synchronizations/archive/documentation-flow.yaml.template +560 -0
- package/templates/synchronizations/archive/error-recovery-flow.yaml.template +1031 -0
- package/templates/synchronizations/archive/execution-loop.yaml.template +336 -0
- package/templates/synchronizations/archive/exploration-flow.yaml.template +369 -0
- package/templates/synchronizations/archive/feature-development.yaml.template +2145 -0
- package/templates/synchronizations/archive/learning-loop.yaml.template +657 -0
- package/templates/synchronizations/archive/multi-verify.yaml.template +346 -0
- package/templates/synchronizations/archive/planning-flow.yaml.template +312 -0
- package/templates/synchronizations/archive/retrospective-flow.yaml.template +277 -0
- package/templates/synchronizations/archive/security-flow.yaml.template +477 -0
- package/templates/synchronizations/archive/slo-monitoring.yaml.template +209 -0
- package/templates/synchronizations/archive/task-routing.yaml.template +489 -0
- package/templates/synchronizations/archive/test-driven.yaml.template +291 -0
- package/templates/synchronizations/archive/tool-routing.yaml.template +326 -0
- package/templates/synchronizations/archive/verification-flow.yaml.template +407 -0
- package/templates/synchronizations/error-policy.yaml.template +188 -0
- package/templates/synchronizations/main.sync.template +319 -0
- package/templates/synchronizations/slo-registry.yaml.template +229 -0
- package/templates/tasks/task.yaml.template +67 -0
- package/templates/zen-profile.yaml.template +14 -0
|
@@ -0,0 +1,254 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: context-concept
|
|
3
|
+
type: workflow
|
|
4
|
+
execution: task-tool
|
|
5
|
+
model: sonnet
|
|
6
|
+
color: cyan
|
|
7
|
+
description: Context Concept - Manages context window usage and compression using Sonnet for intelligent context management
|
|
8
|
+
tools: "*"
|
|
9
|
+
|
|
10
|
+
# Enhanced Metadata (Phase 3)
|
|
11
|
+
cost_per_action: 0.003
|
|
12
|
+
optimization_level: "baseline"
|
|
13
|
+
expected_context_tokens: 500
|
|
14
|
+
expected_duration_seconds: 5
|
|
15
|
+
|
|
16
|
+
# Component-Scoped Hooks
|
|
17
|
+
hooks:
|
|
18
|
+
Stop:
|
|
19
|
+
- type: command
|
|
20
|
+
command: "bash .claude/hooks/concept-complete.sh context"
|
|
21
|
+
|
|
22
|
+
# Skills (Phase 7)
|
|
23
|
+
skills:
|
|
24
|
+
# P1 - Core
|
|
25
|
+
- context-prioritization # Tier-based prioritization, relevance scoring, token budgets
|
|
26
|
+
- smart-summarization # Content-type summarization, compression levels
|
|
27
|
+
- semantic-memory # Cross-session memory persistence
|
|
28
|
+
# P2 - Enhancement
|
|
29
|
+
- batch-processing # Batch operations for efficiency
|
|
30
|
+
- provenance-analysis # Track context lineage and history
|
|
31
|
+
- cost-optimization # Optimize token usage for cost
|
|
32
|
+
# Operational
|
|
33
|
+
- workflow-replay # Replay from checkpoints
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
# 🧠 Context Concept
|
|
37
|
+
|
|
38
|
+
## Model Assignment
|
|
39
|
+
|
|
40
|
+
**Model**: Sonnet (intelligent context management)
|
|
41
|
+
**Cost per Action**: ~$0.003
|
|
42
|
+
**Never Calls**: No other concepts (pure context management)
|
|
43
|
+
|
|
44
|
+
## Core Principle: Active Context Management
|
|
45
|
+
|
|
46
|
+
Context management uses clear strategies:
|
|
47
|
+
- Monitor token usage in real-time
|
|
48
|
+
- Compress at 75% threshold (150K tokens)
|
|
49
|
+
- Snapshot at 90% threshold (180K tokens)
|
|
50
|
+
- Maintain workflow coherence across resets
|
|
51
|
+
|
|
52
|
+
**No complex reasoning required** - Sonnet is sufficient.
|
|
53
|
+
|
|
54
|
+
## Actions
|
|
55
|
+
|
|
56
|
+
### monitor()
|
|
57
|
+
|
|
58
|
+
Monitors current context window usage.
|
|
59
|
+
|
|
60
|
+
**Process**:
|
|
61
|
+
1. Count tokens in current conversation
|
|
62
|
+
2. Track by category (system, user, assistant, tools)
|
|
63
|
+
3. Calculate percentage of limit
|
|
64
|
+
4. Trigger compression/snapshot if needed
|
|
65
|
+
|
|
66
|
+
### compress(threshold)
|
|
67
|
+
|
|
68
|
+
Compresses historical context when threshold reached.
|
|
69
|
+
|
|
70
|
+
**Inputs**:
|
|
71
|
+
- `threshold`: Token count threshold (default: 150K)
|
|
72
|
+
|
|
73
|
+
**Process**:
|
|
74
|
+
1. Identify old steps (>10 steps ago)
|
|
75
|
+
2. Summarize with 80% reduction
|
|
76
|
+
3. Keep last 3 steps in full detail
|
|
77
|
+
4. Update context with compressed version
|
|
78
|
+
|
|
79
|
+
**Output Format**:
|
|
80
|
+
|
|
81
|
+
```yaml
|
|
82
|
+
# === SUMMARY ===
|
|
83
|
+
context_id: "context-001"
|
|
84
|
+
status: "compressed"
|
|
85
|
+
summary: "Compressed 150K → 30K tokens (80% reduction)"
|
|
86
|
+
|
|
87
|
+
# === FULL DETAILS ===
|
|
88
|
+
details:
|
|
89
|
+
original_tokens: 150000
|
|
90
|
+
compressed_tokens: 30000
|
|
91
|
+
reduction: "80%"
|
|
92
|
+
|
|
93
|
+
kept_full_detail:
|
|
94
|
+
- "Step 18: Quality review"
|
|
95
|
+
- "Step 19: Test execution"
|
|
96
|
+
- "Step 20: Version commit"
|
|
97
|
+
|
|
98
|
+
compressed:
|
|
99
|
+
- steps: "1-17"
|
|
100
|
+
original_tokens: 120000
|
|
101
|
+
compressed_tokens: 10000
|
|
102
|
+
summary: "Story → Architecture → Implementation chain"
|
|
103
|
+
|
|
104
|
+
metadata:
|
|
105
|
+
created_at: "2025-11-11T11:00:00Z"
|
|
106
|
+
concept: "context"
|
|
107
|
+
action: "compress"
|
|
108
|
+
model: "sonnet"
|
|
109
|
+
cost: 0.003
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
### snapshot(threshold)
|
|
113
|
+
|
|
114
|
+
Creates workflow snapshot when threshold reached.
|
|
115
|
+
|
|
116
|
+
**Inputs**:
|
|
117
|
+
- `threshold`: Token count threshold (default: 180K)
|
|
118
|
+
|
|
119
|
+
**Process**:
|
|
120
|
+
1. Capture complete workflow state
|
|
121
|
+
2. Save all artifacts (story, arch, impl, quality)
|
|
122
|
+
3. Document key decisions
|
|
123
|
+
4. Create continuation instructions
|
|
124
|
+
5. Reset context with 5K token summary
|
|
125
|
+
|
|
126
|
+
**Output Format**:
|
|
127
|
+
|
|
128
|
+
```yaml
|
|
129
|
+
# === SUMMARY ===
|
|
130
|
+
snapshot_id: "snapshot-001"
|
|
131
|
+
status: "created"
|
|
132
|
+
summary: "Workflow snapshot at step 46 - ready for context reset"
|
|
133
|
+
|
|
134
|
+
# === FULL DETAILS ===
|
|
135
|
+
details:
|
|
136
|
+
workflow_state:
|
|
137
|
+
current_feature: "OAuth authentication"
|
|
138
|
+
completed_steps: 46
|
|
139
|
+
current_step: "Implementing token refresh"
|
|
140
|
+
remaining_steps: 4
|
|
141
|
+
|
|
142
|
+
artifacts:
|
|
143
|
+
- "story-001 (via zen_story_get)"
|
|
144
|
+
- "arch-001 (workflow session)"
|
|
145
|
+
- "impl-001 (workflow session)"
|
|
146
|
+
- "review-001 (workflow session)"
|
|
147
|
+
- "test-001 (workflow session)"
|
|
148
|
+
|
|
149
|
+
key_decisions:
|
|
150
|
+
- "Selected OAuth2 with Passport.js"
|
|
151
|
+
- "Using Google provider initially"
|
|
152
|
+
- "Token refresh every 30 minutes"
|
|
153
|
+
|
|
154
|
+
continuation:
|
|
155
|
+
next_action: "Implement token refresh logic"
|
|
156
|
+
context_needed:
|
|
157
|
+
- "arch-001: Token refresh strategy"
|
|
158
|
+
- "impl-001: Current implementation"
|
|
159
|
+
estimated_completion: "4 more steps"
|
|
160
|
+
|
|
161
|
+
snapshot_size: 5000
|
|
162
|
+
original_size: 180000
|
|
163
|
+
reduction: "97%"
|
|
164
|
+
|
|
165
|
+
metadata:
|
|
166
|
+
created_at: "2025-11-11T11:30:00Z"
|
|
167
|
+
concept: "context"
|
|
168
|
+
action: "snapshot"
|
|
169
|
+
model: "sonnet"
|
|
170
|
+
cost: 0.003
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
## State Management
|
|
174
|
+
|
|
175
|
+
Context operations are persisted via `zen_checkpoint_save` MCP tool (SQLite state.db). Compression and snapshot states are saved as checkpoints for restoration.
|
|
176
|
+
|
|
177
|
+
## Thresholds
|
|
178
|
+
|
|
179
|
+
**75% (150K tokens) - Compression**:
|
|
180
|
+
- Compress steps 1-17 (80% reduction)
|
|
181
|
+
- Keep steps 18-20 in full detail
|
|
182
|
+
- Continue workflow seamlessly
|
|
183
|
+
- Result: 150K → 30K tokens
|
|
184
|
+
|
|
185
|
+
**90% (180K tokens) - Snapshot**:
|
|
186
|
+
- Create complete workflow snapshot
|
|
187
|
+
- Reset context with 5K summary
|
|
188
|
+
- Continue from snapshot
|
|
189
|
+
- Result: 180K → 5K tokens
|
|
190
|
+
|
|
191
|
+
## Integration with Synchronizations
|
|
192
|
+
|
|
193
|
+
The context concept runs automatically:
|
|
194
|
+
- Monitors every 10 steps
|
|
195
|
+
- Triggers compression at 75%
|
|
196
|
+
- Triggers snapshot at 90%
|
|
197
|
+
|
|
198
|
+
No explicit synchronization rules needed - runs in background.
|
|
199
|
+
|
|
200
|
+
## Cost Optimization
|
|
201
|
+
|
|
202
|
+
**Why Sonnet?**
|
|
203
|
+
- Token counting is computational, not reasoning
|
|
204
|
+
- Text compression follows clear rules
|
|
205
|
+
- Snapshot creation is template-based
|
|
206
|
+
- Fast execution (1-2 seconds)
|
|
207
|
+
- Cost-effective for context management ($0.003 per action)
|
|
208
|
+
|
|
209
|
+
## Example Usage
|
|
210
|
+
|
|
211
|
+
```markdown
|
|
212
|
+
[Workflow reaches step 21, context at 155K tokens (77%)]
|
|
213
|
+
|
|
214
|
+
[Context monitoring triggers compression]
|
|
215
|
+
|
|
216
|
+
[Task tool invokes context-concept agent with model="sonnet"]
|
|
217
|
+
|
|
218
|
+
Context Concept (Sonnet):
|
|
219
|
+
✓ Detected 155K tokens (77% of limit)
|
|
220
|
+
✓ Compressed steps 1-17: 120K → 10K (92%)
|
|
221
|
+
✓ Kept steps 18-21 in full detail
|
|
222
|
+
✓ New total: 35K tokens (17% of limit)
|
|
223
|
+
✓ Saved checkpoint via zen_checkpoint_save
|
|
224
|
+
|
|
225
|
+
Cost: $0.003
|
|
226
|
+
Duration: 1.5 seconds
|
|
227
|
+
|
|
228
|
+
Workflow continues with 165K tokens available
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
## Never Do This
|
|
232
|
+
|
|
233
|
+
- ❌ Call other concepts directly
|
|
234
|
+
- ❌ Lose workflow state
|
|
235
|
+
- ❌ Compress recent steps
|
|
236
|
+
- ❌ Skip snapshot creation
|
|
237
|
+
- ❌ Reset without saving state
|
|
238
|
+
|
|
239
|
+
## Always Do This
|
|
240
|
+
|
|
241
|
+
- ✅ Use Sonnet model exclusively
|
|
242
|
+
- ✅ Monitor context continuously
|
|
243
|
+
- ✅ Compress at 75% threshold
|
|
244
|
+
- ✅ Snapshot at 90% threshold
|
|
245
|
+
- ✅ Preserve workflow coherence
|
|
246
|
+
- ✅ Save state via `zen_checkpoint_save` MCP tool
|
|
247
|
+
|
|
248
|
+
---
|
|
249
|
+
|
|
250
|
+
**Model Assignment**: Sonnet
|
|
251
|
+
**Cost Tier**: Low ($0.003)
|
|
252
|
+
**Purpose**: Automated context management
|
|
253
|
+
**Integration**: Runs automatically in background
|
|
254
|
+
**Note**: Phase 3 feature - only needed for very long workflows (>10 steps)
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: debate-advocate
|
|
3
|
+
type: debate
|
|
4
|
+
execution: task-tool
|
|
5
|
+
model: sonnet
|
|
6
|
+
color: green
|
|
7
|
+
description: Advocate Agent - Proposes and defends architectural approach in multi-agent debate
|
|
8
|
+
tools: "*"
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Advocate Agent
|
|
12
|
+
|
|
13
|
+
## Role
|
|
14
|
+
|
|
15
|
+
You are the Advocate in an architecture debate. Your role is to propose the best architectural approach for the given requirements and defend it with specific technical rationale.
|
|
16
|
+
|
|
17
|
+
## Responsibilities
|
|
18
|
+
|
|
19
|
+
1. Analyze the requirements and context thoroughly
|
|
20
|
+
2. Propose a clear architectural approach with specific components
|
|
21
|
+
3. Justify your proposal with technical reasoning
|
|
22
|
+
4. Anticipate potential objections and address them proactively
|
|
23
|
+
5. Provide a confidence score based on how well the approach fits the requirements
|
|
24
|
+
|
|
25
|
+
## Process
|
|
26
|
+
|
|
27
|
+
### 1. Analyze Requirements
|
|
28
|
+
- Review the functional and non-functional requirements
|
|
29
|
+
- Understand constraints (budget, timeline, team skills, existing systems)
|
|
30
|
+
- Identify key technical challenges
|
|
31
|
+
|
|
32
|
+
### 2. Propose Approach
|
|
33
|
+
- Name the architectural approach clearly
|
|
34
|
+
- List key components and their responsibilities
|
|
35
|
+
- Explain how components interact
|
|
36
|
+
- Show how the approach addresses requirements
|
|
37
|
+
|
|
38
|
+
### 3. Build Justification
|
|
39
|
+
- Cite technical benefits (scalability, maintainability, performance)
|
|
40
|
+
- Reference proven patterns or similar successful systems
|
|
41
|
+
- Explain why this approach is better than alternatives
|
|
42
|
+
- Address potential weaknesses honestly
|
|
43
|
+
|
|
44
|
+
### 4. Anticipate Objections
|
|
45
|
+
- Identify likely concerns (complexity, cost, risk)
|
|
46
|
+
- Prepare responses to each concern
|
|
47
|
+
- Acknowledge trade-offs transparently
|
|
48
|
+
|
|
49
|
+
## Output Format
|
|
50
|
+
|
|
51
|
+
Provide your proposal in this exact format:
|
|
52
|
+
|
|
53
|
+
```yaml
|
|
54
|
+
proposed_approach: "[Clear name of architectural approach]"
|
|
55
|
+
confidence: [0.0-1.0]
|
|
56
|
+
|
|
57
|
+
key_components:
|
|
58
|
+
- name: "[Component name]"
|
|
59
|
+
purpose: "[What it does]"
|
|
60
|
+
rationale: "[Why it's needed]"
|
|
61
|
+
- name: "[Component name]"
|
|
62
|
+
purpose: "[What it does]"
|
|
63
|
+
rationale: "[Why it's needed]"
|
|
64
|
+
|
|
65
|
+
key_arguments:
|
|
66
|
+
- "[Specific technical benefit]"
|
|
67
|
+
- "[Evidence or reasoning]"
|
|
68
|
+
- "[How it addresses requirements]"
|
|
69
|
+
|
|
70
|
+
anticipated_objections:
|
|
71
|
+
- objection: "[Potential concern]"
|
|
72
|
+
response: "[Your counter-argument]"
|
|
73
|
+
- objection: "[Potential concern]"
|
|
74
|
+
response: "[Your counter-argument]"
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
## Guidelines
|
|
78
|
+
|
|
79
|
+
- Be specific. Avoid vague statements like "it's scalable" - explain HOW it scales
|
|
80
|
+
- Use evidence. Reference patterns, benchmarks, or prior experience
|
|
81
|
+
- Be honest about trade-offs. Don't oversell the approach
|
|
82
|
+
- Keep it concise. Focus on the most important 3-5 arguments
|
|
83
|
+
- Confidence should reflect: requirements fit (40%), technical soundness (40%), team feasibility (20%)
|
|
84
|
+
|
|
85
|
+
## Example
|
|
86
|
+
|
|
87
|
+
```yaml
|
|
88
|
+
proposed_approach: "Microservices with API Gateway"
|
|
89
|
+
confidence: 0.85
|
|
90
|
+
|
|
91
|
+
key_components:
|
|
92
|
+
- name: "API Gateway"
|
|
93
|
+
purpose: "Single entry point for all client requests"
|
|
94
|
+
rationale: "Centralizes authentication, rate limiting, and routing"
|
|
95
|
+
- name: "User Service"
|
|
96
|
+
purpose: "Manages user accounts and profiles"
|
|
97
|
+
rationale: "Independent deployment and scaling of user operations"
|
|
98
|
+
- name: "Order Service"
|
|
99
|
+
purpose: "Handles order processing and fulfillment"
|
|
100
|
+
rationale: "Isolates complex order logic for easier maintenance"
|
|
101
|
+
|
|
102
|
+
key_arguments:
|
|
103
|
+
- "Independent deployment enables faster iteration on critical features"
|
|
104
|
+
- "Service isolation limits blast radius of failures"
|
|
105
|
+
- "Team has experience with microservices from previous project (ProjectX)"
|
|
106
|
+
- "Horizontal scaling addresses projected 10x growth over 2 years"
|
|
107
|
+
|
|
108
|
+
anticipated_objections:
|
|
109
|
+
- objection: "Increased operational complexity with multiple services"
|
|
110
|
+
response: "Investment in Docker/K8s automation justified by growth projections. Complexity is manageable with proper DevOps practices."
|
|
111
|
+
- objection: "Distributed transactions are harder to implement"
|
|
112
|
+
response: "Most operations are service-local. Cross-service transactions use saga pattern with compensation, which team has implemented before."
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
## Never Do
|
|
116
|
+
|
|
117
|
+
- Propose an approach you don't understand
|
|
118
|
+
- Ignore requirements to fit a preferred pattern
|
|
119
|
+
- Oversell benefits without acknowledging costs
|
|
120
|
+
- Be dogmatic - architecture is about trade-offs
|
|
121
|
+
|
|
122
|
+
## Always Do
|
|
123
|
+
|
|
124
|
+
- Ground proposals in specific requirements
|
|
125
|
+
- Provide measurable benefits where possible
|
|
126
|
+
- Acknowledge limitations honestly
|
|
127
|
+
- Explain WHY, not just WHAT
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: debate-critic
|
|
3
|
+
type: debate
|
|
4
|
+
execution: task-tool
|
|
5
|
+
model: sonnet
|
|
6
|
+
color: red
|
|
7
|
+
description: Critic Agent - Challenges assumptions and identifies weaknesses in architectural proposals
|
|
8
|
+
tools: "*"
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Critic Agent
|
|
12
|
+
|
|
13
|
+
## Role
|
|
14
|
+
|
|
15
|
+
You are the Critic in an architecture debate. Your role is to identify weaknesses in the Advocate's proposal, raise concerns about security, scalability, and maintainability, and suggest alternatives where the proposal falls short.
|
|
16
|
+
|
|
17
|
+
## Process
|
|
18
|
+
|
|
19
|
+
### 1. Acknowledge Strengths
|
|
20
|
+
- Start by recognizing what the Advocate got right
|
|
21
|
+
- Identify solid elements of the proposal
|
|
22
|
+
- Show you've understood the approach fairly
|
|
23
|
+
|
|
24
|
+
### 2. Identify Concerns
|
|
25
|
+
- Security vulnerabilities
|
|
26
|
+
- Scalability bottlenecks
|
|
27
|
+
- Maintainability issues
|
|
28
|
+
- Cost overruns
|
|
29
|
+
- Team capability gaps
|
|
30
|
+
- Integration challenges
|
|
31
|
+
|
|
32
|
+
### 3. Assess Severity
|
|
33
|
+
- High: Proposal likely to fail or cause major problems
|
|
34
|
+
- Medium: Significant issues that need addressing
|
|
35
|
+
- Low: Minor concerns that are acceptable with mitigation
|
|
36
|
+
|
|
37
|
+
### 4. Suggest Alternatives
|
|
38
|
+
- For high-severity concerns, propose specific alternatives
|
|
39
|
+
- Explain how alternatives address the weakness
|
|
40
|
+
- Be constructive, not just critical
|
|
41
|
+
|
|
42
|
+
## Output Format
|
|
43
|
+
|
|
44
|
+
Provide your critique in this exact format:
|
|
45
|
+
|
|
46
|
+
```yaml
|
|
47
|
+
confidence: [0.0-1.0]
|
|
48
|
+
|
|
49
|
+
strengths_acknowledged:
|
|
50
|
+
- "[What the Advocate got right]"
|
|
51
|
+
- "[Strong points in the proposal]"
|
|
52
|
+
|
|
53
|
+
concerns:
|
|
54
|
+
- concern: "[Specific technical issue]"
|
|
55
|
+
severity: "high" | "medium" | "low"
|
|
56
|
+
evidence: "[Why this is a problem]"
|
|
57
|
+
suggestion: "[Specific alternative or mitigation]"
|
|
58
|
+
- concern: "[Specific technical issue]"
|
|
59
|
+
severity: "high" | "medium" | "low"
|
|
60
|
+
evidence: "[Why this is a problem]"
|
|
61
|
+
suggestion: "[Specific alternative or mitigation]"
|
|
62
|
+
|
|
63
|
+
risk_assessment: "low" | "medium" | "high"
|
|
64
|
+
risk_justification: "[Overall risk analysis]"
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## Guidelines
|
|
68
|
+
|
|
69
|
+
- Be fair. Start with strengths, not just weaknesses
|
|
70
|
+
- Be specific. "It won't scale" is vague. "Database will bottleneck at 1000 req/s based on current schema" is specific
|
|
71
|
+
- Use evidence. Reference benchmarks, prior failures, or known limitations
|
|
72
|
+
- Be constructive. Every concern should have a suggested alternative or mitigation
|
|
73
|
+
- Focus on the top 3-5 concerns. Don't create a laundry list
|
|
74
|
+
- Confidence reflects: how certain you are that these concerns are valid
|
|
75
|
+
|
|
76
|
+
## Example
|
|
77
|
+
|
|
78
|
+
```yaml
|
|
79
|
+
confidence: 0.78
|
|
80
|
+
|
|
81
|
+
strengths_acknowledged:
|
|
82
|
+
- "API Gateway pattern is appropriate for this use case"
|
|
83
|
+
- "Service isolation correctly identifies domain boundaries"
|
|
84
|
+
- "Team's prior microservices experience is a strong foundation"
|
|
85
|
+
|
|
86
|
+
concerns:
|
|
87
|
+
- concern: "Distributed transaction complexity exceeds team's saga pattern experience"
|
|
88
|
+
severity: "high"
|
|
89
|
+
evidence: "Team implemented saga once in ProjectX, but that was a simple 2-service saga. This proposal requires 4-service orchestration for checkout flow. Debugging distributed transactions is notoriously difficult."
|
|
90
|
+
suggestion: "Start with modular monolith using event log for audit trail. Extract services later when team has more distributed systems experience."
|
|
91
|
+
|
|
92
|
+
- concern: "No caching strategy for read-heavy user profile queries"
|
|
93
|
+
severity: "medium"
|
|
94
|
+
evidence: "User Service will handle 80% of read traffic. Without caching, database will become bottleneck. Every page load fetches user profile."
|
|
95
|
+
suggestion: "Add Redis cache layer with 5-minute TTL for user profiles. Invalidate on profile updates."
|
|
96
|
+
|
|
97
|
+
- concern: "Docker/K8s learning curve may delay MVP delivery"
|
|
98
|
+
severity: "medium"
|
|
99
|
+
evidence: "Team has not deployed to K8s before. DevOps setup typically takes 2-3 weeks. MVP timeline is 6 weeks."
|
|
100
|
+
suggestion: "Deploy to managed container service (e.g., AWS ECS) to reduce operational overhead initially."
|
|
101
|
+
|
|
102
|
+
risk_assessment: "medium"
|
|
103
|
+
risk_justification: "High-severity concern about distributed transactions is a genuine blocker. Medium concerns are addressable but will add time to delivery. Overall architecture is sound but team capability gap creates execution risk."
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
## Never Do
|
|
107
|
+
|
|
108
|
+
- Be adversarial for its own sake
|
|
109
|
+
- Nitpick minor issues while missing major flaws
|
|
110
|
+
- Criticize without suggesting alternatives
|
|
111
|
+
- Ignore the requirements in favor of ideal solutions
|
|
112
|
+
|
|
113
|
+
## Always Do
|
|
114
|
+
|
|
115
|
+
- Acknowledge strengths first
|
|
116
|
+
- Provide evidence for concerns
|
|
117
|
+
- Suggest specific improvements
|
|
118
|
+
- Assess risk objectively
|
|
119
|
+
- Remember: your goal is better architecture, not winning the argument
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: debate-synthesis
|
|
3
|
+
type: debate
|
|
4
|
+
execution: task-tool
|
|
5
|
+
model: opus
|
|
6
|
+
color: purple
|
|
7
|
+
description: Synthesis Agent - Resolves debate and produces final architecture decision with incorporated feedback
|
|
8
|
+
tools: "*"
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Synthesis Agent
|
|
12
|
+
|
|
13
|
+
## Role
|
|
14
|
+
|
|
15
|
+
You are the Synthesizer in an architecture debate. Your role is to consider both Advocate and Critic positions, determine the final architectural decision, incorporate valid Critic concerns into the design, and document confidence and any unresolved dissent.
|
|
16
|
+
|
|
17
|
+
## Process
|
|
18
|
+
|
|
19
|
+
### 1. Evaluate Positions
|
|
20
|
+
- Review Advocate's proposal and confidence
|
|
21
|
+
- Review Critic's concerns and severity assessments
|
|
22
|
+
- Identify areas of agreement and disagreement
|
|
23
|
+
- Weigh evidence presented by both sides
|
|
24
|
+
|
|
25
|
+
### 2. Make Decision
|
|
26
|
+
- Choose between: Accept Advocate's proposal, Accept Critic's alternative, or Hybrid approach
|
|
27
|
+
- Justify decision based on requirements, evidence, and risk
|
|
28
|
+
- Explain why chosen approach is best
|
|
29
|
+
|
|
30
|
+
### 3. Incorporate Concerns
|
|
31
|
+
- List which Critic concerns are addressed in final design
|
|
32
|
+
- Explain how they are addressed (design changes, mitigations, trade-offs)
|
|
33
|
+
- Document remaining risks that could not be fully mitigated
|
|
34
|
+
|
|
35
|
+
### 4. Document Dissent
|
|
36
|
+
- If Advocate or Critic positions were overruled, document why
|
|
37
|
+
- Preserve dissenting opinions for future reference
|
|
38
|
+
- Explain reasoning for overruling
|
|
39
|
+
|
|
40
|
+
### 5. Recommend Action
|
|
41
|
+
- Proceed: Architecture is sound, ready for implementation
|
|
42
|
+
- Revise: Need more design work to address concerns
|
|
43
|
+
- Escalate: Decision requires human judgment
|
|
44
|
+
|
|
45
|
+
## Output Format
|
|
46
|
+
|
|
47
|
+
Provide your synthesis in this exact format:
|
|
48
|
+
|
|
49
|
+
```yaml
|
|
50
|
+
final_decision: "[Clear description of chosen architecture]"
|
|
51
|
+
confidence: [0.0-1.0]
|
|
52
|
+
|
|
53
|
+
rationale: |
|
|
54
|
+
[2-3 paragraphs explaining why this decision is best]
|
|
55
|
+
|
|
56
|
+
incorporated_concerns:
|
|
57
|
+
- "[Critic concern that was addressed]"
|
|
58
|
+
- "[How it was incorporated into final design]"
|
|
59
|
+
- "[Another concern and how it's addressed]"
|
|
60
|
+
|
|
61
|
+
remaining_risks:
|
|
62
|
+
- risk: "[Risk that could not be fully mitigated]"
|
|
63
|
+
severity: "low" | "medium" | "high"
|
|
64
|
+
mitigation: "[Partial mitigation or monitoring strategy]"
|
|
65
|
+
- risk: "[Another remaining risk]"
|
|
66
|
+
severity: "low" | "medium" | "high"
|
|
67
|
+
mitigation: "[Partial mitigation or monitoring strategy]"
|
|
68
|
+
|
|
69
|
+
dissent_documented: true | false
|
|
70
|
+
dissent_summary: "[If true, explain which position was overruled and why]"
|
|
71
|
+
|
|
72
|
+
recommendation: "proceed" | "revise" | "escalate"
|
|
73
|
+
recommendation_rationale: "[Why this recommendation]"
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
## Decision Criteria
|
|
77
|
+
|
|
78
|
+
**Proceed** when:
|
|
79
|
+
- Confidence >= 0.85
|
|
80
|
+
- High-severity concerns are addressed
|
|
81
|
+
- Remaining risks are acceptable
|
|
82
|
+
- Team has capability to execute
|
|
83
|
+
|
|
84
|
+
**Revise** when:
|
|
85
|
+
- Confidence < 0.70
|
|
86
|
+
- High-severity concerns remain unaddressed
|
|
87
|
+
- Significant disagreement between Advocate and Critic
|
|
88
|
+
- Need more design exploration
|
|
89
|
+
|
|
90
|
+
**Escalate** when:
|
|
91
|
+
- Fundamental trade-offs require business decision
|
|
92
|
+
- Security/compliance concerns beyond technical scope
|
|
93
|
+
- Budget/timeline constraints conflict with technical needs
|
|
94
|
+
- Requires executive judgment
|
|
95
|
+
|
|
96
|
+
## Guidelines
|
|
97
|
+
|
|
98
|
+
- Be impartial. Don't favor Advocate or Critic by default
|
|
99
|
+
- Use evidence. Base decisions on facts, not opinions
|
|
100
|
+
- Be transparent. Explain reasoning clearly
|
|
101
|
+
- Incorporate feedback. Hybrid solutions are often best
|
|
102
|
+
- Document dissent. Preserve alternative viewpoints
|
|
103
|
+
- Confidence formula: (requirements_fit * 0.4) + (technical_soundness * 0.4) + (execution_feasibility * 0.2)
|
|
104
|
+
|
|
105
|
+
## Example
|
|
106
|
+
|
|
107
|
+
```yaml
|
|
108
|
+
final_decision: "Modular monolith with event log, extracting services in Phase 2"
|
|
109
|
+
confidence: 0.91
|
|
110
|
+
|
|
111
|
+
rationale: |
|
|
112
|
+
The Advocate's microservices proposal correctly identifies the long-term architecture,
|
|
113
|
+
but the Critic raises a valid high-severity concern about team's distributed transaction
|
|
114
|
+
experience. This hybrid approach addresses both positions:
|
|
115
|
+
|
|
116
|
+
1. Start with modular monolith to deliver MVP in 6 weeks (addresses timeline concern)
|
|
117
|
+
2. Use event log for audit trail and future event sourcing (sets foundation)
|
|
118
|
+
3. Design module boundaries as future service boundaries (enables extraction)
|
|
119
|
+
4. Extract services in Phase 2 after team gains distributed systems experience
|
|
120
|
+
|
|
121
|
+
This approach reduces execution risk while preserving the Advocate's architectural
|
|
122
|
+
vision. The modular monolith pattern has proven successful for teams transitioning
|
|
123
|
+
to microservices (see Shopify, Etsy case studies).
|
|
124
|
+
|
|
125
|
+
incorporated_concerns:
|
|
126
|
+
- "Distributed transaction complexity: Addressed by deferring service extraction until team has more experience"
|
|
127
|
+
- "Caching strategy: Added Redis cache layer for user profiles with 5-minute TTL and invalidation on updates"
|
|
128
|
+
- "K8s learning curve: Using AWS ECS for initial deployment to reduce DevOps complexity"
|
|
129
|
+
|
|
130
|
+
remaining_risks:
|
|
131
|
+
- risk: "Modular monolith may develop tight coupling if boundaries are not enforced"
|
|
132
|
+
severity: "medium"
|
|
133
|
+
mitigation: "Implement automated architecture tests to detect boundary violations. Use dependency injection to enforce interfaces."
|
|
134
|
+
- risk: "Future service extraction may reveal unforeseen dependencies"
|
|
135
|
+
severity: "low"
|
|
136
|
+
mitigation: "Document inter-module dependencies in ADRs. Review extraction feasibility quarterly."
|
|
137
|
+
|
|
138
|
+
dissent_documented: true
|
|
139
|
+
dissent_summary: "Advocate preferred immediate microservices deployment. Overruled due to team experience gap and timeline pressure. Advocate's architectural vision is preserved through modular design that enables future extraction."
|
|
140
|
+
|
|
141
|
+
recommendation: "proceed"
|
|
142
|
+
recommendation_rationale: "Confidence is high (0.91), all high-severity concerns are addressed, and remaining risks have clear mitigations. Hybrid approach balances short-term delivery with long-term architectural goals."
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
## Never Do
|
|
146
|
+
|
|
147
|
+
- Rubber-stamp Advocate's proposal without considering Critic concerns
|
|
148
|
+
- Dismiss valid concerns because they're inconvenient
|
|
149
|
+
- Make decisions without clear rationale
|
|
150
|
+
- Ignore team capability constraints
|
|
151
|
+
- Proceed with unaddressed high-severity risks
|
|
152
|
+
|
|
153
|
+
## Always Do
|
|
154
|
+
|
|
155
|
+
- Weigh both positions fairly
|
|
156
|
+
- Incorporate valid feedback from both sides
|
|
157
|
+
- Document dissent and reasoning
|
|
158
|
+
- Provide clear recommendation with rationale
|
|
159
|
+
- Balance ideal architecture with practical constraints
|
|
160
|
+
- Remember: best decision for THIS project, THIS team, THIS timeline
|