@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,364 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: WYSIWID Principles
|
|
3
|
+
description: Expert knowledge of WYSIWID (What You See Is What It Does) architecture pattern for legible software systems
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
trigger_keywords: [WYSIWID, legibility, modularity, concepts, synchronizations, declarative, behavioral transparency]
|
|
6
|
+
author: Zen Architecture
|
|
7
|
+
references:
|
|
8
|
+
- "What You See Is What It Does: A Structural Pattern for Legible Software (Eagon Meng & Daniel Jackson, MIT)"
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# WYSIWID Principles - Expert Skill
|
|
12
|
+
|
|
13
|
+
Deep expertise in the WYSIWID (What You See Is What It Does) architectural pattern for creating legible, maintainable software systems.
|
|
14
|
+
|
|
15
|
+
## Core Philosophy
|
|
16
|
+
|
|
17
|
+
**The Problem**: Software illegibility - code structure doesn't match observable behavior
|
|
18
|
+
**The Solution**: WYSIWID architecture where system behavior is predictable from reading declarative rules
|
|
19
|
+
**The Result**: Legible systems that humans and AI can understand and maintain
|
|
20
|
+
|
|
21
|
+
## The Three Pillars of WYSIWID
|
|
22
|
+
|
|
23
|
+
### 1. Concepts (Independent Services)
|
|
24
|
+
|
|
25
|
+
**Definition**: Self-contained, stateful services that perform specific actions.
|
|
26
|
+
|
|
27
|
+
**Key Characteristics**:
|
|
28
|
+
- **Independence**: Concepts never call other concepts (enforced modularity)
|
|
29
|
+
- **Polymorphism**: Work for ANY similar domain (story works for requirements, tickets, issues)
|
|
30
|
+
- **State**: Maintain their own state in isolated storage
|
|
31
|
+
- **Actions**: Well-defined operations they can perform
|
|
32
|
+
|
|
33
|
+
**In Zen**:
|
|
34
|
+
```
|
|
35
|
+
story - Captures requirements (any requirements system)
|
|
36
|
+
architecture - Designs solutions (any architecture approach)
|
|
37
|
+
implementation - Generates code (any programming paradigm)
|
|
38
|
+
quality - Reviews and tests (any quality methodology)
|
|
39
|
+
version - Manages git (any version control workflow)
|
|
40
|
+
context - Manages tokens (any context strategy)
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
**Anti-Pattern**:
|
|
44
|
+
```markdown
|
|
45
|
+
❌ WRONG: Architecture concept calls Implementation
|
|
46
|
+
✅ RIGHT: Architecture completes → Sync triggers Implementation
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
### 2. Synchronizations (Declarative Orchestration)
|
|
50
|
+
|
|
51
|
+
**Definition**: YAML rules that define WHEN concepts trigger and HOW they interact.
|
|
52
|
+
|
|
53
|
+
**Structure**:
|
|
54
|
+
```yaml
|
|
55
|
+
- id: "rule-name"
|
|
56
|
+
when:
|
|
57
|
+
concept: "source"
|
|
58
|
+
action: "action-name"
|
|
59
|
+
status: "completed"
|
|
60
|
+
where:
|
|
61
|
+
query: "condition to evaluate"
|
|
62
|
+
then:
|
|
63
|
+
- concept: "target"
|
|
64
|
+
action: "action-name"
|
|
65
|
+
model: "sonnet|opus"
|
|
66
|
+
inputs: {...}
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
**Key Principles**:
|
|
70
|
+
- **Declarative**: Rules describe WHAT happens, not HOW
|
|
71
|
+
- **Evaluable**: Humans can read and predict behavior
|
|
72
|
+
- **Observable**: What you see (rules) is what it does (behavior)
|
|
73
|
+
- **Modifiable**: Change rules without touching concepts
|
|
74
|
+
|
|
75
|
+
**Query Language**:
|
|
76
|
+
```yaml
|
|
77
|
+
where:
|
|
78
|
+
query: |
|
|
79
|
+
story.status == 'ready' AND
|
|
80
|
+
story.acceptance_criteria.length > 0 AND
|
|
81
|
+
story.ambiguities.length == 0
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
Supports:
|
|
85
|
+
- Field access: `story.status`, `architecture.risk`
|
|
86
|
+
- Comparisons: `==`, `!=`, `<`, `>`, `<=`, `>=`
|
|
87
|
+
- Logical: `AND`, `OR`, `NOT`
|
|
88
|
+
- Array operations: `.length`, `.filter()`, `.includes()`
|
|
89
|
+
|
|
90
|
+
### 3. Provenance (Complete Audit Trail)
|
|
91
|
+
|
|
92
|
+
**Definition**: Every action tracked with complete context.
|
|
93
|
+
|
|
94
|
+
**What's Tracked**:
|
|
95
|
+
```yaml
|
|
96
|
+
action_id: "act-001"
|
|
97
|
+
timestamp: "2025-11-09T22:00:00Z"
|
|
98
|
+
concept: "story"
|
|
99
|
+
model: "sonnet"
|
|
100
|
+
action: "create"
|
|
101
|
+
status: "completed"
|
|
102
|
+
triggered_by: null # or parent action_id
|
|
103
|
+
sync_id: "story-to-arch" # which sync triggered this
|
|
104
|
+
flow_id: "flow-2025-11-09-22h00m00s"
|
|
105
|
+
cost:
|
|
106
|
+
input_tokens: 1200
|
|
107
|
+
output_tokens: 450
|
|
108
|
+
cost_usd: 0.000175
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
**Benefits**:
|
|
112
|
+
- **Traceability**: Every action links to its cause
|
|
113
|
+
- **Cost attribution**: Track spending per feature
|
|
114
|
+
- **Debugging**: Understand why things happened
|
|
115
|
+
- **Auditing**: Complete history for compliance
|
|
116
|
+
|
|
117
|
+
## WYSIWID in Practice
|
|
118
|
+
|
|
119
|
+
### Example: Feature Development Workflow
|
|
120
|
+
|
|
121
|
+
**Traditional (Illegible)**:
|
|
122
|
+
```python
|
|
123
|
+
def process_feature(request):
|
|
124
|
+
story = create_story(request)
|
|
125
|
+
if story.ready:
|
|
126
|
+
arch = design_architecture(story) # Hidden logic
|
|
127
|
+
if arch.risk != 'high':
|
|
128
|
+
impl = implement(arch) # More hidden logic
|
|
129
|
+
# ... complexity hidden in code
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
**WYSIWID (Legible)**:
|
|
133
|
+
```yaml
|
|
134
|
+
# .claude/synchronizations/feature-development.yaml
|
|
135
|
+
|
|
136
|
+
# Story → Architecture
|
|
137
|
+
- when: {concept: story, status: completed}
|
|
138
|
+
where: "story.status == 'ready'"
|
|
139
|
+
then: {concept: architecture, action: design}
|
|
140
|
+
|
|
141
|
+
# Architecture → Implementation
|
|
142
|
+
- when: {concept: architecture, status: completed}
|
|
143
|
+
where: "architecture.risk != 'high'"
|
|
144
|
+
then: {concept: implementation, action: generate}
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
**Key Difference**:
|
|
148
|
+
- Traditional: Behavior hidden in imperative code
|
|
149
|
+
- WYSIWID: Behavior visible in declarative rules
|
|
150
|
+
|
|
151
|
+
Anyone reading the YAML can predict exactly what the system will do.
|
|
152
|
+
|
|
153
|
+
## Applying WYSIWID Principles
|
|
154
|
+
|
|
155
|
+
### When to Use Concepts
|
|
156
|
+
|
|
157
|
+
Create a concept when you have:
|
|
158
|
+
1. **A distinct responsibility** (capture requirements, design architecture, etc.)
|
|
159
|
+
2. **Independent state** (needs its own storage)
|
|
160
|
+
3. **Reusable actions** (works across different contexts)
|
|
161
|
+
4. **Clear boundaries** (doesn't need to know about other concepts)
|
|
162
|
+
|
|
163
|
+
### When to Use Synchronizations
|
|
164
|
+
|
|
165
|
+
Create a sync rule when:
|
|
166
|
+
1. **Workflow transition** needed (story complete → start architecture)
|
|
167
|
+
2. **Conditional logic** required (only if risk is low)
|
|
168
|
+
3. **Parallel execution** needed (review + test simultaneously)
|
|
169
|
+
4. **Error handling** required (architecture fails → clarify story)
|
|
170
|
+
|
|
171
|
+
### When to Use Provenance
|
|
172
|
+
|
|
173
|
+
Always! Provenance is not optional in WYSIWID:
|
|
174
|
+
- Track every concept action
|
|
175
|
+
- Record synchronization triggers
|
|
176
|
+
- Maintain flow identifiers
|
|
177
|
+
- Calculate costs
|
|
178
|
+
|
|
179
|
+
## Common WYSIWID Patterns
|
|
180
|
+
|
|
181
|
+
### 1. Sequential Workflow
|
|
182
|
+
```yaml
|
|
183
|
+
story → architecture → implementation → quality → version
|
|
184
|
+
```
|
|
185
|
+
Each step triggers next via synchronization.
|
|
186
|
+
|
|
187
|
+
### 2. Parallel Execution
|
|
188
|
+
```yaml
|
|
189
|
+
implementation → quality.review
|
|
190
|
+
→ quality.test
|
|
191
|
+
```
|
|
192
|
+
Multiple concepts triggered simultaneously.
|
|
193
|
+
|
|
194
|
+
### 3. Conditional Branching
|
|
195
|
+
```yaml
|
|
196
|
+
architecture → implementation (if risk == 'low')
|
|
197
|
+
→ human-review (if risk == 'high')
|
|
198
|
+
```
|
|
199
|
+
Different paths based on state.
|
|
200
|
+
|
|
201
|
+
### 4. Error Recovery
|
|
202
|
+
```yaml
|
|
203
|
+
implementation → quality.review → version.commit (if approved)
|
|
204
|
+
→ implementation.refactor (if needs_changes)
|
|
205
|
+
→ architecture.revise (if architectural_issues)
|
|
206
|
+
```
|
|
207
|
+
Failed paths trigger correction workflows.
|
|
208
|
+
|
|
209
|
+
### 5. Iterative Refinement
|
|
210
|
+
```yaml
|
|
211
|
+
story → architecture → story.clarify (if ambiguous)
|
|
212
|
+
→ architecture (retry with clarity)
|
|
213
|
+
```
|
|
214
|
+
Loop back for refinement.
|
|
215
|
+
|
|
216
|
+
## Anti-Patterns to Avoid
|
|
217
|
+
|
|
218
|
+
### ❌ Concept Calling Concept
|
|
219
|
+
```markdown
|
|
220
|
+
# architecture.md
|
|
221
|
+
After designing, I'll call the implementation concept...
|
|
222
|
+
```
|
|
223
|
+
**Why wrong**: Breaks modularity, creates hidden coupling
|
|
224
|
+
**Fix**: Let synchronization trigger implementation
|
|
225
|
+
|
|
226
|
+
### ❌ Imperative Synchronizations
|
|
227
|
+
```yaml
|
|
228
|
+
then:
|
|
229
|
+
- concept: implementation
|
|
230
|
+
action: |
|
|
231
|
+
if complexity > 10:
|
|
232
|
+
use_sonnet()
|
|
233
|
+
else:
|
|
234
|
+
use_sonnet()
|
|
235
|
+
```
|
|
236
|
+
**Why wrong**: Logic hidden in code, not declarative
|
|
237
|
+
**Fix**: Use separate sync rules with clear conditions
|
|
238
|
+
|
|
239
|
+
### ❌ Missing Provenance
|
|
240
|
+
```yaml
|
|
241
|
+
# Concept completes but doesn't log action
|
|
242
|
+
```
|
|
243
|
+
**Why wrong**: Lost traceability, can't debug
|
|
244
|
+
**Fix**: Always emit provenance entries
|
|
245
|
+
|
|
246
|
+
### ❌ Ambiguous Concept Boundaries
|
|
247
|
+
```markdown
|
|
248
|
+
# story.md
|
|
249
|
+
The story concept also validates technical feasibility...
|
|
250
|
+
```
|
|
251
|
+
**Why wrong**: Overlaps with architecture responsibility
|
|
252
|
+
**Fix**: Keep concepts focused on single responsibility
|
|
253
|
+
|
|
254
|
+
## Benefits of WYSIWID Architecture
|
|
255
|
+
|
|
256
|
+
### 1. Legibility
|
|
257
|
+
- Read synchronizations → predict behavior
|
|
258
|
+
- No hidden logic in imperative code
|
|
259
|
+
- Clear cause-and-effect chains
|
|
260
|
+
|
|
261
|
+
### 2. Maintainability
|
|
262
|
+
- Change rules without touching concepts
|
|
263
|
+
- Concepts are independently testable
|
|
264
|
+
- Refactor one concept without affecting others
|
|
265
|
+
|
|
266
|
+
### 3. Debuggability
|
|
267
|
+
- Provenance shows exactly what happened
|
|
268
|
+
- Trace any action to its root cause
|
|
269
|
+
- Identify bottlenecks and failures
|
|
270
|
+
|
|
271
|
+
### 4. AI-Friendly
|
|
272
|
+
- Declarative rules easier for AI to generate
|
|
273
|
+
- Clear structure for AI comprehension
|
|
274
|
+
- Concepts provide context boundaries
|
|
275
|
+
|
|
276
|
+
### 5. Cost Optimization
|
|
277
|
+
- Track spending per concept
|
|
278
|
+
- Optimize model selection by concept type
|
|
279
|
+
- Identify expensive operations
|
|
280
|
+
|
|
281
|
+
## WYSIWID vs Traditional Architectures
|
|
282
|
+
|
|
283
|
+
| Aspect | Traditional MVC | Microservices | WYSIWID |
|
|
284
|
+
|--------|----------------|---------------|---------|
|
|
285
|
+
| **Modularity** | Layers | Services | Concepts |
|
|
286
|
+
| **Orchestration** | Controllers | API Gateway | Synchronizations |
|
|
287
|
+
| **Coupling** | Tight (method calls) | Loose (HTTP) | None (declarative) |
|
|
288
|
+
| **Legibility** | Code reading | API docs | YAML rules |
|
|
289
|
+
| **Tracing** | Logs (maybe) | Distributed tracing | Provenance (always) |
|
|
290
|
+
| **Testing** | Unit + Integration | Contract tests | Concept + Sync tests |
|
|
291
|
+
|
|
292
|
+
## Implementation Guidance
|
|
293
|
+
|
|
294
|
+
### Starting a New WYSIWID Project
|
|
295
|
+
|
|
296
|
+
1. **Identify Concepts**
|
|
297
|
+
- What are the major responsibilities?
|
|
298
|
+
- What needs independent state?
|
|
299
|
+
- What actions are reusable?
|
|
300
|
+
|
|
301
|
+
2. **Define Actions**
|
|
302
|
+
- What can each concept do?
|
|
303
|
+
- What inputs does it need?
|
|
304
|
+
- What outputs does it produce?
|
|
305
|
+
|
|
306
|
+
3. **Map Workflows**
|
|
307
|
+
- How do concepts interact?
|
|
308
|
+
- What triggers what?
|
|
309
|
+
- What conditions apply?
|
|
310
|
+
|
|
311
|
+
4. **Write Synchronizations**
|
|
312
|
+
- Create YAML rules
|
|
313
|
+
- Test rule evaluation
|
|
314
|
+
- Verify legibility (can humans predict behavior?)
|
|
315
|
+
|
|
316
|
+
5. **Implement Provenance**
|
|
317
|
+
- Log every action
|
|
318
|
+
- Track synchronization triggers
|
|
319
|
+
- Maintain flow identifiers
|
|
320
|
+
|
|
321
|
+
### Migrating to WYSIWID
|
|
322
|
+
|
|
323
|
+
1. **Make Implicit Explicit**
|
|
324
|
+
- Identify hidden orchestration logic
|
|
325
|
+
- Extract to synchronization rules
|
|
326
|
+
- Document why each rule exists
|
|
327
|
+
|
|
328
|
+
2. **Isolate Concepts**
|
|
329
|
+
- Find coupled components
|
|
330
|
+
- Break direct dependencies
|
|
331
|
+
- Route through synchronizations
|
|
332
|
+
|
|
333
|
+
3. **Add Provenance**
|
|
334
|
+
- Start logging actions
|
|
335
|
+
- Build traceability chains
|
|
336
|
+
- Analyze and optimize
|
|
337
|
+
|
|
338
|
+
## Questions WYSIWID Answers
|
|
339
|
+
|
|
340
|
+
**"Why did this happen?"**
|
|
341
|
+
→ Check provenance, trace triggered_by chain
|
|
342
|
+
|
|
343
|
+
**"What happens next?"**
|
|
344
|
+
→ Read synchronizations, find matching rules
|
|
345
|
+
|
|
346
|
+
**"Can I change this workflow?"**
|
|
347
|
+
→ Edit YAML rules, behavior changes immediately
|
|
348
|
+
|
|
349
|
+
**"How much does this cost?"**
|
|
350
|
+
→ Query provenance by flow_id, sum costs
|
|
351
|
+
|
|
352
|
+
**"Is this component reusable?"**
|
|
353
|
+
→ Yes, concepts are polymorphic and independent
|
|
354
|
+
|
|
355
|
+
## Further Reading
|
|
356
|
+
|
|
357
|
+
- Original WYSIWID paper: "What You See Is What It Does" (Meng & Jackson, MIT)
|
|
358
|
+
- Zen synchronization documentation: `.claude/synchronizations/`
|
|
359
|
+
- Concept development guide: See `concept-development` skill
|
|
360
|
+
- Provenance analysis: See `provenance-analysis` skill
|
|
361
|
+
|
|
362
|
+
---
|
|
363
|
+
|
|
364
|
+
**Use this skill when**: Discussing WYSIWID principles, designing workflows, explaining architecture decisions, debugging concept interactions, or teaching WYSIWID to others.
|