cognitive-core 0.2.0 → 0.2.2
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/settings.json +111 -2
- package/.sessionlog/settings.json +4 -0
- package/dist/atlas.d.ts +10 -0
- package/dist/atlas.d.ts.map +1 -1
- package/dist/atlas.js +65 -0
- package/dist/atlas.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/learning/index.d.ts +1 -1
- package/dist/learning/index.d.ts.map +1 -1
- package/dist/learning/index.js.map +1 -1
- package/dist/learning/pipeline.d.ts +4 -31
- package/dist/learning/pipeline.d.ts.map +1 -1
- package/dist/learning/pipeline.js +12 -64
- package/dist/learning/pipeline.js.map +1 -1
- package/dist/learning/unified-pipeline.d.ts +30 -0
- package/dist/learning/unified-pipeline.d.ts.map +1 -1
- package/dist/learning/unified-pipeline.js +207 -0
- package/dist/learning/unified-pipeline.js.map +1 -1
- package/dist/memory/candidate-retrieval.d.ts.map +1 -1
- package/dist/memory/candidate-retrieval.js +3 -1
- package/dist/memory/candidate-retrieval.js.map +1 -1
- package/dist/memory/curated-loader.d.ts +21 -4
- package/dist/memory/curated-loader.d.ts.map +1 -1
- package/dist/memory/curated-loader.js +53 -16
- package/dist/memory/curated-loader.js.map +1 -1
- package/dist/memory/index.d.ts +2 -1
- package/dist/memory/index.d.ts.map +1 -1
- package/dist/memory/index.js +3 -1
- package/dist/memory/index.js.map +1 -1
- package/dist/memory/playbook.d.ts +6 -0
- package/dist/memory/playbook.d.ts.map +1 -1
- package/dist/memory/playbook.js +15 -0
- package/dist/memory/playbook.js.map +1 -1
- package/dist/memory/source-resolver.d.ts +120 -0
- package/dist/memory/source-resolver.d.ts.map +1 -0
- package/dist/memory/source-resolver.js +300 -0
- package/dist/memory/source-resolver.js.map +1 -0
- package/dist/types/config.d.ts +141 -0
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/config.js +40 -0
- package/dist/types/config.js.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/utils/error-classifier.js +8 -8
- package/dist/utils/error-classifier.js.map +1 -1
- package/dist/workspace/efficacy-toolkit.d.ts +164 -0
- package/dist/workspace/efficacy-toolkit.d.ts.map +1 -0
- package/dist/workspace/efficacy-toolkit.js +281 -0
- package/dist/workspace/efficacy-toolkit.js.map +1 -0
- package/dist/workspace/index.d.ts +2 -1
- package/dist/workspace/index.d.ts.map +1 -1
- package/dist/workspace/index.js +3 -1
- package/dist/workspace/index.js.map +1 -1
- package/dist/workspace/templates/index.d.ts +3 -0
- package/dist/workspace/templates/index.d.ts.map +1 -1
- package/dist/workspace/templates/index.js +6 -0
- package/dist/workspace/templates/index.js.map +1 -1
- package/dist/workspace/templates/playbook-decay-detection.d.ts +46 -0
- package/dist/workspace/templates/playbook-decay-detection.d.ts.map +1 -0
- package/dist/workspace/templates/playbook-decay-detection.js +197 -0
- package/dist/workspace/templates/playbook-decay-detection.js.map +1 -0
- package/dist/workspace/templates/playbook-efficacy-audit.d.ts +46 -0
- package/dist/workspace/templates/playbook-efficacy-audit.d.ts.map +1 -0
- package/dist/workspace/templates/playbook-efficacy-audit.js +160 -0
- package/dist/workspace/templates/playbook-efficacy-audit.js.map +1 -0
- package/dist/workspace/templates/playbook-lifecycle-review.d.ts +51 -0
- package/dist/workspace/templates/playbook-lifecycle-review.d.ts.map +1 -0
- package/dist/workspace/templates/playbook-lifecycle-review.js +187 -0
- package/dist/workspace/templates/playbook-lifecycle-review.js.map +1 -0
- package/dist/workspace/types.d.ts +12 -54
- package/dist/workspace/types.d.ts.map +1 -1
- package/dist/workspace/types.js.map +1 -1
- package/package.json +8 -2
- package/playbooks/compound-engineering/adversarial-review.json +51 -0
- package/playbooks/compound-engineering/agent-native-architecture.json +59 -0
- package/playbooks/compound-engineering/agent-native-review.json +54 -0
- package/playbooks/compound-engineering/api-contract-review.json +52 -0
- package/playbooks/compound-engineering/brainstorm-requirements.json +55 -0
- package/playbooks/compound-engineering/bug-reproduction.json +62 -0
- package/playbooks/compound-engineering/confidence-calibration.json +49 -0
- package/playbooks/compound-engineering/correctness-review.json +49 -0
- package/playbooks/compound-engineering/data-migration-safety.json +59 -0
- package/playbooks/compound-engineering/deployment-verification.json +63 -0
- package/playbooks/compound-engineering/error-recovery-patterns.json +53 -0
- package/playbooks/compound-engineering/implementation-planning.json +64 -0
- package/playbooks/compound-engineering/issue-pattern-analysis.json +53 -0
- package/playbooks/compound-engineering/knowledge-compounding.json +63 -0
- package/playbooks/compound-engineering/learnings-research.json +54 -0
- package/playbooks/compound-engineering/maintainability-review.json +49 -0
- package/playbooks/compound-engineering/performance-review.json +54 -0
- package/playbooks/compound-engineering/plan-adversarial-review.json +56 -0
- package/playbooks/compound-engineering/plan-feasibility-review.json +56 -0
- package/playbooks/compound-engineering/project-standards-review.json +52 -0
- package/playbooks/compound-engineering/reliability-review.json +53 -0
- package/playbooks/compound-engineering/review-orchestration.json +64 -0
- package/playbooks/compound-engineering/security-review.json +54 -0
- package/playbooks/compound-engineering/systematic-execution.json +64 -0
- package/playbooks/compound-engineering/testing-review.json +50 -0
- package/src/atlas.ts +96 -0
- package/src/index.ts +27 -0
- package/src/learning/index.ts +1 -0
- package/src/learning/unified-pipeline.ts +271 -1
- package/src/memory/candidate-retrieval.ts +2 -1
- package/src/memory/curated-loader.ts +69 -16
- package/src/memory/index.ts +16 -0
- package/src/memory/playbook.ts +19 -0
- package/src/memory/source-resolver.ts +422 -0
- package/src/types/config.ts +46 -0
- package/src/types/index.ts +4 -0
- package/src/utils/error-classifier.ts +8 -8
- package/src/workspace/efficacy-toolkit.ts +496 -0
- package/src/workspace/index.ts +29 -0
- package/src/workspace/templates/index.ts +24 -0
- package/src/workspace/templates/playbook-decay-detection.ts +272 -0
- package/src/workspace/templates/playbook-efficacy-audit.ts +246 -0
- package/src/workspace/templates/playbook-lifecycle-review.ts +274 -0
- package/src/workspace/types.ts +22 -78
- package/tests/fixtures/behavioral-trajectories.ts +210 -0
- package/tests/integration/curated-sources-e2e.test.ts +502 -0
- package/tests/integration/pipeline-data-correctness.test.ts +794 -0
- package/tests/learning/meta-learner.test.ts +418 -0
- package/tests/learning/pipeline-memory-updates.test.ts +721 -0
- package/tests/learning/unified-pipeline-efficacy.test.ts +232 -0
- package/tests/memory/candidate-retrieval.test.ts +167 -0
- package/tests/memory/compound-engineering-seed.test.ts +338 -0
- package/tests/memory/curated-loader-extended.test.ts +225 -0
- package/tests/memory/meta.test.ts +399 -0
- package/tests/memory/playbook-quality-validation.test.ts +430 -0
- package/tests/memory/source-resolver.test.ts +700 -0
- package/tests/search/evaluator.test.ts +257 -0
- package/tests/search/verification-runner.test.ts +357 -0
- package/tests/utils/error-classifier.test.ts +149 -0
- package/tests/utils/trajectory-helpers.test.ts +163 -0
- package/tests/workspace/efficacy-toolkit.test.ts +404 -0
- package/tests/workspace/templates/playbook-efficacy.test.ts +377 -0
- package/.claude/settings.local.json +0 -11
- package/dist/learning/llm-extractor.d.ts +0 -88
- package/dist/learning/llm-extractor.d.ts.map +0 -1
- package/dist/learning/llm-extractor.js +0 -372
- package/dist/learning/llm-extractor.js.map +0 -1
- package/dist/learning/loop-coordinator.d.ts +0 -61
- package/dist/learning/loop-coordinator.d.ts.map +0 -1
- package/dist/learning/loop-coordinator.js +0 -96
- package/dist/learning/loop-coordinator.js.map +0 -1
- package/references/agent-workspace/CLAUDE.md +0 -74
- package/references/agent-workspace/README.md +0 -587
- package/references/agent-workspace/media/banner.png +0 -0
- package/references/agent-workspace/package-lock.json +0 -2061
- package/references/agent-workspace/package.json +0 -54
- package/references/agent-workspace/src/handle.ts +0 -122
- package/references/agent-workspace/src/index.ts +0 -32
- package/references/agent-workspace/src/manager.ts +0 -102
- package/references/agent-workspace/src/readers/json.ts +0 -71
- package/references/agent-workspace/src/readers/markdown.ts +0 -37
- package/references/agent-workspace/src/readers/raw.ts +0 -27
- package/references/agent-workspace/src/types.ts +0 -68
- package/references/agent-workspace/src/validation.ts +0 -93
- package/references/agent-workspace/src/writers/json.ts +0 -17
- package/references/agent-workspace/src/writers/markdown.ts +0 -27
- package/references/agent-workspace/src/writers/raw.ts +0 -22
- package/references/agent-workspace/tests/errors.test.ts +0 -652
- package/references/agent-workspace/tests/handle.test.ts +0 -144
- package/references/agent-workspace/tests/manager.test.ts +0 -124
- package/references/agent-workspace/tests/readers.test.ts +0 -205
- package/references/agent-workspace/tests/validation.test.ts +0 -196
- package/references/agent-workspace/tests/writers.test.ts +0 -108
- package/references/agent-workspace/tsconfig.json +0 -20
- package/references/agent-workspace/tsup.config.ts +0 -9
- package/references/minimem/.claude/settings.json +0 -7
- package/references/minimem/.sudocode/issues.jsonl +0 -18
- package/references/minimem/.sudocode/specs.jsonl +0 -1
- package/references/minimem/CLAUDE.md +0 -310
- package/references/minimem/README.md +0 -556
- package/references/minimem/claude-plugin/.claude-plugin/plugin.json +0 -10
- package/references/minimem/claude-plugin/.mcp.json +0 -7
- package/references/minimem/claude-plugin/README.md +0 -158
- package/references/minimem/claude-plugin/commands/recall.md +0 -47
- package/references/minimem/claude-plugin/commands/remember.md +0 -41
- package/references/minimem/claude-plugin/hooks/__tests__/hooks.test.ts +0 -272
- package/references/minimem/claude-plugin/hooks/hooks.json +0 -27
- package/references/minimem/claude-plugin/hooks/session-end.sh +0 -86
- package/references/minimem/claude-plugin/hooks/session-start.sh +0 -85
- package/references/minimem/claude-plugin/skills/memory/SKILL.md +0 -108
- package/references/minimem/package-lock.json +0 -5373
- package/references/minimem/package.json +0 -60
- package/references/minimem/scripts/postbuild.js +0 -35
- package/references/minimem/src/__tests__/edge-cases.test.ts +0 -371
- package/references/minimem/src/__tests__/errors.test.ts +0 -265
- package/references/minimem/src/__tests__/helpers.ts +0 -199
- package/references/minimem/src/__tests__/internal.test.ts +0 -407
- package/references/minimem/src/__tests__/knowledge.test.ts +0 -287
- package/references/minimem/src/__tests__/minimem.integration.test.ts +0 -1127
- package/references/minimem/src/__tests__/session.test.ts +0 -190
- package/references/minimem/src/cli/__tests__/commands.test.ts +0 -759
- package/references/minimem/src/cli/commands/__tests__/conflicts.test.ts +0 -141
- package/references/minimem/src/cli/commands/append.ts +0 -76
- package/references/minimem/src/cli/commands/config.ts +0 -262
- package/references/minimem/src/cli/commands/conflicts.ts +0 -413
- package/references/minimem/src/cli/commands/daemon.ts +0 -169
- package/references/minimem/src/cli/commands/index.ts +0 -12
- package/references/minimem/src/cli/commands/init.ts +0 -88
- package/references/minimem/src/cli/commands/mcp.ts +0 -177
- package/references/minimem/src/cli/commands/push-pull.ts +0 -213
- package/references/minimem/src/cli/commands/search.ts +0 -158
- package/references/minimem/src/cli/commands/status.ts +0 -84
- package/references/minimem/src/cli/commands/sync-init.ts +0 -290
- package/references/minimem/src/cli/commands/sync.ts +0 -70
- package/references/minimem/src/cli/commands/upsert.ts +0 -197
- package/references/minimem/src/cli/config.ts +0 -584
- package/references/minimem/src/cli/index.ts +0 -264
- package/references/minimem/src/cli/shared.ts +0 -161
- package/references/minimem/src/cli/sync/__tests__/central.test.ts +0 -152
- package/references/minimem/src/cli/sync/__tests__/conflicts.test.ts +0 -209
- package/references/minimem/src/cli/sync/__tests__/daemon.test.ts +0 -118
- package/references/minimem/src/cli/sync/__tests__/detection.test.ts +0 -207
- package/references/minimem/src/cli/sync/__tests__/integration.test.ts +0 -476
- package/references/minimem/src/cli/sync/__tests__/registry.test.ts +0 -363
- package/references/minimem/src/cli/sync/__tests__/state.test.ts +0 -255
- package/references/minimem/src/cli/sync/__tests__/validation.test.ts +0 -193
- package/references/minimem/src/cli/sync/__tests__/watcher.test.ts +0 -178
- package/references/minimem/src/cli/sync/central.ts +0 -292
- package/references/minimem/src/cli/sync/conflicts.ts +0 -204
- package/references/minimem/src/cli/sync/daemon.ts +0 -407
- package/references/minimem/src/cli/sync/detection.ts +0 -138
- package/references/minimem/src/cli/sync/index.ts +0 -107
- package/references/minimem/src/cli/sync/operations.ts +0 -373
- package/references/minimem/src/cli/sync/registry.ts +0 -279
- package/references/minimem/src/cli/sync/state.ts +0 -355
- package/references/minimem/src/cli/sync/validation.ts +0 -206
- package/references/minimem/src/cli/sync/watcher.ts +0 -234
- package/references/minimem/src/cli/version.ts +0 -34
- package/references/minimem/src/core/index.ts +0 -9
- package/references/minimem/src/core/indexer.ts +0 -628
- package/references/minimem/src/core/searcher.ts +0 -221
- package/references/minimem/src/db/schema.ts +0 -183
- package/references/minimem/src/db/sqlite-vec.ts +0 -24
- package/references/minimem/src/embeddings/__tests__/embeddings.test.ts +0 -431
- package/references/minimem/src/embeddings/batch-gemini.ts +0 -392
- package/references/minimem/src/embeddings/batch-openai.ts +0 -409
- package/references/minimem/src/embeddings/embeddings.ts +0 -434
- package/references/minimem/src/index.ts +0 -109
- package/references/minimem/src/internal.ts +0 -299
- package/references/minimem/src/minimem.ts +0 -1276
- package/references/minimem/src/search/__tests__/hybrid.test.ts +0 -247
- package/references/minimem/src/search/graph.ts +0 -234
- package/references/minimem/src/search/hybrid.ts +0 -151
- package/references/minimem/src/search/search.ts +0 -256
- package/references/minimem/src/server/__tests__/mcp.test.ts +0 -341
- package/references/minimem/src/server/__tests__/tools.test.ts +0 -364
- package/references/minimem/src/server/mcp.ts +0 -326
- package/references/minimem/src/server/tools.ts +0 -720
- package/references/minimem/src/session.ts +0 -460
- package/references/minimem/tsconfig.json +0 -19
- package/references/minimem/tsup.config.ts +0 -26
- package/references/minimem/vitest.config.ts +0 -24
- package/references/sessionlog/.husky/pre-commit +0 -1
- package/references/sessionlog/.lintstagedrc.json +0 -4
- package/references/sessionlog/.prettierignore +0 -4
- package/references/sessionlog/.prettierrc.json +0 -11
- package/references/sessionlog/LICENSE +0 -21
- package/references/sessionlog/README.md +0 -453
- package/references/sessionlog/eslint.config.js +0 -58
- package/references/sessionlog/package-lock.json +0 -3672
- package/references/sessionlog/package.json +0 -65
- package/references/sessionlog/src/__tests__/agent-hooks.test.ts +0 -570
- package/references/sessionlog/src/__tests__/agent-registry.test.ts +0 -127
- package/references/sessionlog/src/__tests__/claude-code-hooks.test.ts +0 -225
- package/references/sessionlog/src/__tests__/claude-generator.test.ts +0 -46
- package/references/sessionlog/src/__tests__/commit-msg.test.ts +0 -86
- package/references/sessionlog/src/__tests__/cursor-agent.test.ts +0 -224
- package/references/sessionlog/src/__tests__/e2e-live.test.ts +0 -890
- package/references/sessionlog/src/__tests__/event-log.test.ts +0 -183
- package/references/sessionlog/src/__tests__/flush-sentinel.test.ts +0 -105
- package/references/sessionlog/src/__tests__/gemini-agent.test.ts +0 -375
- package/references/sessionlog/src/__tests__/git-hooks.test.ts +0 -78
- package/references/sessionlog/src/__tests__/hook-managers.test.ts +0 -121
- package/references/sessionlog/src/__tests__/lifecycle-tasks.test.ts +0 -759
- package/references/sessionlog/src/__tests__/opencode-agent.test.ts +0 -338
- package/references/sessionlog/src/__tests__/redaction.test.ts +0 -136
- package/references/sessionlog/src/__tests__/session-repo.test.ts +0 -353
- package/references/sessionlog/src/__tests__/session-store.test.ts +0 -166
- package/references/sessionlog/src/__tests__/setup-ccweb.test.ts +0 -466
- package/references/sessionlog/src/__tests__/skill-live.test.ts +0 -461
- package/references/sessionlog/src/__tests__/summarize.test.ts +0 -348
- package/references/sessionlog/src/__tests__/task-plan-e2e.test.ts +0 -610
- package/references/sessionlog/src/__tests__/task-plan-live.test.ts +0 -632
- package/references/sessionlog/src/__tests__/transcript-timestamp.test.ts +0 -121
- package/references/sessionlog/src/__tests__/types.test.ts +0 -166
- package/references/sessionlog/src/__tests__/utils.test.ts +0 -333
- package/references/sessionlog/src/__tests__/validation.test.ts +0 -103
- package/references/sessionlog/src/__tests__/worktree.test.ts +0 -57
- package/references/sessionlog/src/agent/agents/claude-code.ts +0 -1089
- package/references/sessionlog/src/agent/agents/cursor.ts +0 -361
- package/references/sessionlog/src/agent/agents/gemini-cli.ts +0 -632
- package/references/sessionlog/src/agent/agents/opencode.ts +0 -540
- package/references/sessionlog/src/agent/registry.ts +0 -143
- package/references/sessionlog/src/agent/session-types.ts +0 -113
- package/references/sessionlog/src/agent/types.ts +0 -220
- package/references/sessionlog/src/cli.ts +0 -597
- package/references/sessionlog/src/commands/clean.ts +0 -133
- package/references/sessionlog/src/commands/disable.ts +0 -84
- package/references/sessionlog/src/commands/doctor.ts +0 -145
- package/references/sessionlog/src/commands/enable.ts +0 -202
- package/references/sessionlog/src/commands/explain.ts +0 -261
- package/references/sessionlog/src/commands/reset.ts +0 -105
- package/references/sessionlog/src/commands/resume.ts +0 -180
- package/references/sessionlog/src/commands/rewind.ts +0 -195
- package/references/sessionlog/src/commands/setup-ccweb.ts +0 -275
- package/references/sessionlog/src/commands/status.ts +0 -172
- package/references/sessionlog/src/config.ts +0 -165
- package/references/sessionlog/src/events/event-log.ts +0 -126
- package/references/sessionlog/src/git-operations.ts +0 -558
- package/references/sessionlog/src/hooks/git-hooks.ts +0 -165
- package/references/sessionlog/src/hooks/lifecycle.ts +0 -391
- package/references/sessionlog/src/index.ts +0 -650
- package/references/sessionlog/src/security/redaction.ts +0 -283
- package/references/sessionlog/src/session/state-machine.ts +0 -452
- package/references/sessionlog/src/store/checkpoint-store.ts +0 -509
- package/references/sessionlog/src/store/native-store.ts +0 -173
- package/references/sessionlog/src/store/provider-types.ts +0 -99
- package/references/sessionlog/src/store/session-store.ts +0 -266
- package/references/sessionlog/src/strategy/attribution.ts +0 -296
- package/references/sessionlog/src/strategy/common.ts +0 -207
- package/references/sessionlog/src/strategy/content-overlap.ts +0 -228
- package/references/sessionlog/src/strategy/manual-commit.ts +0 -988
- package/references/sessionlog/src/strategy/types.ts +0 -279
- package/references/sessionlog/src/summarize/claude-generator.ts +0 -115
- package/references/sessionlog/src/summarize/summarize.ts +0 -432
- package/references/sessionlog/src/types.ts +0 -508
- package/references/sessionlog/src/utils/chunk-files.ts +0 -49
- package/references/sessionlog/src/utils/commit-message.ts +0 -65
- package/references/sessionlog/src/utils/detect-agent.ts +0 -36
- package/references/sessionlog/src/utils/hook-managers.ts +0 -125
- package/references/sessionlog/src/utils/ide-tags.ts +0 -32
- package/references/sessionlog/src/utils/paths.ts +0 -79
- package/references/sessionlog/src/utils/preview-rewind.ts +0 -80
- package/references/sessionlog/src/utils/rewind-conflict.ts +0 -121
- package/references/sessionlog/src/utils/shadow-branch.ts +0 -109
- package/references/sessionlog/src/utils/string-utils.ts +0 -46
- package/references/sessionlog/src/utils/todo-extract.ts +0 -188
- package/references/sessionlog/src/utils/trailers.ts +0 -187
- package/references/sessionlog/src/utils/transcript-parse.ts +0 -177
- package/references/sessionlog/src/utils/transcript-timestamp.ts +0 -59
- package/references/sessionlog/src/utils/tree-ops.ts +0 -219
- package/references/sessionlog/src/utils/tty.ts +0 -72
- package/references/sessionlog/src/utils/validation.ts +0 -65
- package/references/sessionlog/src/utils/worktree.ts +0 -58
- package/references/sessionlog/src/wire-types.ts +0 -59
- package/references/sessionlog/templates/setup-env.sh +0 -153
- package/references/sessionlog/tsconfig.json +0 -18
- package/references/sessionlog/vitest.config.ts +0 -12
- package/references/skill-tree/.claude/settings.json +0 -6
- package/references/skill-tree/.sudocode/issues.jsonl +0 -19
- package/references/skill-tree/.sudocode/specs.jsonl +0 -3
- package/references/skill-tree/CLAUDE.md +0 -126
- package/references/skill-tree/README.md +0 -372
- package/references/skill-tree/docs/GAPS_v1.md +0 -221
- package/references/skill-tree/docs/INTEGRATION_PLAN.md +0 -467
- package/references/skill-tree/docs/TODOS.md +0 -91
- package/references/skill-tree/docs/anthropic_skill_guide.md +0 -1364
- package/references/skill-tree/docs/design/federated-skill-trees.md +0 -524
- package/references/skill-tree/docs/design/multi-agent-sync.md +0 -759
- package/references/skill-tree/docs/scraper/BRAINSTORM.md +0 -583
- package/references/skill-tree/docs/scraper/POC_PLAN.md +0 -420
- package/references/skill-tree/docs/scraper/README.md +0 -170
- package/references/skill-tree/examples/basic-usage.ts +0 -164
- package/references/skill-tree/package-lock.json +0 -1852
- package/references/skill-tree/package.json +0 -66
- package/references/skill-tree/scraper/README.md +0 -123
- package/references/skill-tree/scraper/docs/DESIGN.md +0 -683
- package/references/skill-tree/scraper/docs/PLAN.md +0 -336
- package/references/skill-tree/scraper/drizzle.config.ts +0 -10
- package/references/skill-tree/scraper/package-lock.json +0 -6329
- package/references/skill-tree/scraper/package.json +0 -68
- package/references/skill-tree/scraper/test/fixtures/invalid-skill/missing-description.md +0 -7
- package/references/skill-tree/scraper/test/fixtures/invalid-skill/missing-name.md +0 -7
- package/references/skill-tree/scraper/test/fixtures/minimal-skill/SKILL.md +0 -27
- package/references/skill-tree/scraper/test/fixtures/skill-json/SKILL.json +0 -21
- package/references/skill-tree/scraper/test/fixtures/skill-with-meta/SKILL.md +0 -54
- package/references/skill-tree/scraper/test/fixtures/skill-with-meta/_meta.json +0 -24
- package/references/skill-tree/scraper/test/fixtures/valid-skill/SKILL.md +0 -93
- package/references/skill-tree/scraper/test/fixtures/valid-skill/_meta.json +0 -22
- package/references/skill-tree/scraper/tsup.config.ts +0 -14
- package/references/skill-tree/scraper/vitest.config.ts +0 -17
- package/references/skill-tree/scripts/convert-to-vitest.ts +0 -166
- package/references/skill-tree/skills/skill-writer/SKILL.md +0 -339
- package/references/skill-tree/skills/skill-writer/references/examples.md +0 -326
- package/references/skill-tree/skills/skill-writer/references/patterns.md +0 -210
- package/references/skill-tree/skills/skill-writer/references/quality-checklist.md +0 -123
- package/references/skill-tree/test/run-all.ts +0 -106
- package/references/skill-tree/test/utils.ts +0 -128
- package/references/skill-tree/vitest.config.ts +0 -16
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Playbook Lifecycle Review Template
|
|
3
|
+
*
|
|
4
|
+
* Portfolio-wide health assessment with lifecycle recommendations.
|
|
5
|
+
* Uses the efficacy toolkit's portfolio snapshot to give the agent
|
|
6
|
+
* a pre-computed view of the entire playbook portfolio, then asks
|
|
7
|
+
* for promotion, deprecation, merge, and evolution recommendations.
|
|
8
|
+
*
|
|
9
|
+
* This is the "skill designer" review step (inspired by MemSkill)
|
|
10
|
+
* that periodically evaluates the whole portfolio.
|
|
11
|
+
*/
|
|
12
|
+
import type { Playbook } from '../../types/index.js';
|
|
13
|
+
import type { TaskAnnotation, PlaybookEffectivenessEntry } from '../../learning/effectiveness.js';
|
|
14
|
+
import type { AgenticTaskTemplate } from '../types.js';
|
|
15
|
+
import { type PortfolioSnapshot } from '../efficacy-toolkit.js';
|
|
16
|
+
export interface PlaybookLifecycleReviewInput {
|
|
17
|
+
playbooks: Playbook[];
|
|
18
|
+
annotations: TaskAnnotation[];
|
|
19
|
+
playbookEffectiveness: PlaybookEffectivenessEntry[];
|
|
20
|
+
unguidedSuccessRate: number;
|
|
21
|
+
trajectoryDomainMap: Map<string, string>;
|
|
22
|
+
/** Current core tier playbook IDs (from SkillLibrary) */
|
|
23
|
+
corePlaybookIds?: string[];
|
|
24
|
+
}
|
|
25
|
+
export interface PlaybookLifecycleReviewOutput {
|
|
26
|
+
/** Pre-computed portfolio snapshot */
|
|
27
|
+
snapshot: PortfolioSnapshot;
|
|
28
|
+
/** Agent's lifecycle recommendations */
|
|
29
|
+
recommendations: LifecycleRecommendation[];
|
|
30
|
+
/** Portfolio-level strategic insights */
|
|
31
|
+
insights: string[];
|
|
32
|
+
/** Priority-ordered action plan */
|
|
33
|
+
actionPlan: string[];
|
|
34
|
+
}
|
|
35
|
+
export interface LifecycleRecommendation {
|
|
36
|
+
playbookId: string;
|
|
37
|
+
playbookName: string;
|
|
38
|
+
currentState: 'active' | 'core' | 'stale' | 'underperforming';
|
|
39
|
+
proposedState: 'promote-to-core' | 'keep-active' | 'deprecate' | 'archive' | 'merge' | 'evolve' | 'split';
|
|
40
|
+
rationale: string;
|
|
41
|
+
/** For merge: target playbook */
|
|
42
|
+
mergeTarget?: {
|
|
43
|
+
id: string;
|
|
44
|
+
name: string;
|
|
45
|
+
};
|
|
46
|
+
/** For evolve: suggested guidance changes */
|
|
47
|
+
evolutionNotes?: string;
|
|
48
|
+
priority: 'high' | 'medium' | 'low';
|
|
49
|
+
}
|
|
50
|
+
export declare const playbookLifecycleReviewTemplate: AgenticTaskTemplate<PlaybookLifecycleReviewInput, PlaybookLifecycleReviewOutput>;
|
|
51
|
+
//# sourceMappingURL=playbook-lifecycle-review.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"playbook-lifecycle-review.d.ts","sourceRoot":"","sources":["../../../src/workspace/templates/playbook-lifecycle-review.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAClG,OAAO,KAAK,EACV,mBAAmB,EAEpB,MAAM,aAAa,CAAC;AACrB,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,wBAAwB,CAAC;AAMhC,MAAM,WAAW,4BAA4B;IAC3C,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,WAAW,EAAE,cAAc,EAAE,CAAC;IAC9B,qBAAqB,EAAE,0BAA0B,EAAE,CAAC;IACpD,mBAAmB,EAAE,MAAM,CAAC;IAC5B,mBAAmB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,yDAAyD;IACzD,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,6BAA6B;IAC5C,sCAAsC;IACtC,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,wCAAwC;IACxC,eAAe,EAAE,uBAAuB,EAAE,CAAC;IAC3C,yCAAyC;IACzC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,mCAAmC;IACnC,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,uBAAuB;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,iBAAiB,CAAC;IAC9D,aAAa,EAAE,iBAAiB,GAAG,aAAa,GAAG,WAAW,GAAG,SAAS,GACtE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,iCAAiC;IACjC,WAAW,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3C,6CAA6C;IAC7C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;CACrC;AAMD,eAAO,MAAM,+BAA+B,EAAE,mBAAmB,CAC/D,4BAA4B,EAC5B,6BAA6B,CA4M9B,CAAC"}
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Playbook Lifecycle Review Template
|
|
3
|
+
*
|
|
4
|
+
* Portfolio-wide health assessment with lifecycle recommendations.
|
|
5
|
+
* Uses the efficacy toolkit's portfolio snapshot to give the agent
|
|
6
|
+
* a pre-computed view of the entire playbook portfolio, then asks
|
|
7
|
+
* for promotion, deprecation, merge, and evolution recommendations.
|
|
8
|
+
*
|
|
9
|
+
* This is the "skill designer" review step (inspired by MemSkill)
|
|
10
|
+
* that periodically evaluates the whole portfolio.
|
|
11
|
+
*/
|
|
12
|
+
import { buildPortfolioSnapshot, } from '../efficacy-toolkit.js';
|
|
13
|
+
// ============================================================
|
|
14
|
+
// Template Implementation
|
|
15
|
+
// ============================================================
|
|
16
|
+
export const playbookLifecycleReviewTemplate = {
|
|
17
|
+
taskType: 'playbook-lifecycle-review',
|
|
18
|
+
domain: 'meta-learning',
|
|
19
|
+
description: 'Portfolio-wide playbook health assessment with lifecycle recommendations',
|
|
20
|
+
assessComplexity(input) {
|
|
21
|
+
if (input.playbooks.length === 0)
|
|
22
|
+
return 'heuristic';
|
|
23
|
+
if (input.playbooks.length <= 3 && input.annotations.length < 10)
|
|
24
|
+
return 'heuristic';
|
|
25
|
+
if (input.playbooks.length > 30)
|
|
26
|
+
return 'thorough';
|
|
27
|
+
if (input.playbooks.length > 10)
|
|
28
|
+
return 'standard';
|
|
29
|
+
return 'lightweight';
|
|
30
|
+
},
|
|
31
|
+
async heuristicFallback(input) {
|
|
32
|
+
const snapshot = buildPortfolioSnapshot(input.playbooks, input.annotations, input.playbookEffectiveness, input.unguidedSuccessRate, input.trajectoryDomainMap);
|
|
33
|
+
// Simple heuristic recommendations
|
|
34
|
+
const recommendations = [];
|
|
35
|
+
for (const flag of snapshot.decaying) {
|
|
36
|
+
recommendations.push({
|
|
37
|
+
playbookId: flag.playbookId,
|
|
38
|
+
playbookName: flag.playbookName,
|
|
39
|
+
currentState: 'active',
|
|
40
|
+
proposedState: 'evolve',
|
|
41
|
+
rationale: flag.reason,
|
|
42
|
+
priority: 'high',
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
for (const flag of snapshot.stale) {
|
|
46
|
+
recommendations.push({
|
|
47
|
+
playbookId: flag.playbookId,
|
|
48
|
+
playbookName: flag.playbookName,
|
|
49
|
+
currentState: 'stale',
|
|
50
|
+
proposedState: 'archive',
|
|
51
|
+
rationale: flag.reason,
|
|
52
|
+
priority: 'medium',
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
return {
|
|
56
|
+
snapshot,
|
|
57
|
+
recommendations,
|
|
58
|
+
insights: [],
|
|
59
|
+
actionPlan: recommendations.map(r => `${r.proposedState} "${r.playbookName}" — ${r.rationale}`),
|
|
60
|
+
};
|
|
61
|
+
},
|
|
62
|
+
async prepareWorkspace(input, handle) {
|
|
63
|
+
const snapshot = buildPortfolioSnapshot(input.playbooks, input.annotations, input.playbookEffectiveness, input.unguidedSuccessRate, input.trajectoryDomainMap);
|
|
64
|
+
// Portfolio snapshot — the core data
|
|
65
|
+
await handle.writeJson('input', 'portfolio-snapshot.json', snapshot);
|
|
66
|
+
// Per-playbook summaries for the agent to reference
|
|
67
|
+
const playbookSummaries = input.playbooks.map(pb => ({
|
|
68
|
+
id: pb.id,
|
|
69
|
+
name: pb.name,
|
|
70
|
+
confidence: pb.confidence,
|
|
71
|
+
successCount: pb.evolution.successCount,
|
|
72
|
+
failureCount: pb.evolution.failureCount,
|
|
73
|
+
successRate: pb.evolution.successCount + pb.evolution.failureCount > 0
|
|
74
|
+
? pb.evolution.successCount / (pb.evolution.successCount + pb.evolution.failureCount)
|
|
75
|
+
: 0,
|
|
76
|
+
domains: pb.applicability.domains,
|
|
77
|
+
strategy: pb.guidance.strategy,
|
|
78
|
+
tacticsCount: pb.guidance.tactics.length,
|
|
79
|
+
refinementsCount: pb.evolution.refinements.length,
|
|
80
|
+
version: pb.evolution.version,
|
|
81
|
+
lastUsed: pb.evolution.lastUsed,
|
|
82
|
+
isCore: input.corePlaybookIds?.includes(pb.id) ?? false,
|
|
83
|
+
consolidationStrength: pb.evolution.consolidationStrength ?? 0,
|
|
84
|
+
}));
|
|
85
|
+
await handle.writeJson('input', 'playbook-summaries.json', playbookSummaries);
|
|
86
|
+
// Redundancy pairs (pre-computed by toolkit)
|
|
87
|
+
if (snapshot.redundant.length > 0) {
|
|
88
|
+
await handle.writeJson('input', 'redundancy-pairs.json', snapshot.redundant);
|
|
89
|
+
}
|
|
90
|
+
},
|
|
91
|
+
buildTaskPrompt(input) {
|
|
92
|
+
return [
|
|
93
|
+
`Review the health of the entire playbook portfolio (${input.playbooks.length} playbooks).`,
|
|
94
|
+
'',
|
|
95
|
+
'Read:',
|
|
96
|
+
'- input/portfolio-snapshot.json — Portfolio health metrics, flagged issues (decaying, stale, low adoption, redundant)',
|
|
97
|
+
'- input/playbook-summaries.json — Per-playbook summaries with confidence, success rates, domains',
|
|
98
|
+
'- input/redundancy-pairs.json — (if present) Playbook pairs with high content overlap',
|
|
99
|
+
'',
|
|
100
|
+
'For each playbook, recommend a lifecycle action:',
|
|
101
|
+
'- **promote-to-core**: High confidence + success rate, proven across tasks',
|
|
102
|
+
'- **keep-active**: Performing well, no changes needed',
|
|
103
|
+
'- **evolve**: Decent foundation but guidance needs updating based on failure patterns',
|
|
104
|
+
'- **merge**: Two playbooks cover the same ground — merge into one stronger playbook',
|
|
105
|
+
'- **split**: One playbook covers too many domains — split into domain-specific variants',
|
|
106
|
+
'- **deprecate**: Low value, actively misleading, or superseded',
|
|
107
|
+
'- **archive**: No longer relevant but worth preserving for reference',
|
|
108
|
+
'',
|
|
109
|
+
'Also provide:',
|
|
110
|
+
'- Strategic insights about the portfolio (coverage gaps, over-invested domains, etc.)',
|
|
111
|
+
'- A priority-ordered action plan (most impactful changes first)',
|
|
112
|
+
'',
|
|
113
|
+
'Write to output/lifecycle-review.json:',
|
|
114
|
+
'```json',
|
|
115
|
+
'{',
|
|
116
|
+
' "recommendations": [',
|
|
117
|
+
' {',
|
|
118
|
+
' "playbookId": "id",',
|
|
119
|
+
' "playbookName": "name",',
|
|
120
|
+
' "currentState": "active" | "core" | "stale" | "underperforming",',
|
|
121
|
+
' "proposedState": "promote-to-core" | "keep-active" | "deprecate" | "archive" | "merge" | "evolve" | "split",',
|
|
122
|
+
' "rationale": "why this change",',
|
|
123
|
+
' "mergeTarget": { "id": "...", "name": "..." },',
|
|
124
|
+
' "evolutionNotes": "optional: what to change in guidance",',
|
|
125
|
+
' "priority": "high" | "medium" | "low"',
|
|
126
|
+
' }',
|
|
127
|
+
' ],',
|
|
128
|
+
' "insights": ["insight1", "insight2"],',
|
|
129
|
+
' "actionPlan": ["step1", "step2"]',
|
|
130
|
+
'}',
|
|
131
|
+
'```',
|
|
132
|
+
].join('\n');
|
|
133
|
+
},
|
|
134
|
+
getSkills() { return []; },
|
|
135
|
+
getResources() { return []; },
|
|
136
|
+
outputConfig: {
|
|
137
|
+
files: [
|
|
138
|
+
{
|
|
139
|
+
path: 'lifecycle-review.json',
|
|
140
|
+
format: 'json',
|
|
141
|
+
required: true,
|
|
142
|
+
description: 'Playbook lifecycle review results',
|
|
143
|
+
},
|
|
144
|
+
],
|
|
145
|
+
},
|
|
146
|
+
async collectOutput(handle) {
|
|
147
|
+
const raw = await handle.readJson('output', 'lifecycle-review.json');
|
|
148
|
+
const snapshot = await handle.readJson('input', 'portfolio-snapshot.json');
|
|
149
|
+
const recommendations = Array.isArray(raw.recommendations)
|
|
150
|
+
? raw.recommendations.map(r => {
|
|
151
|
+
const mergeTarget = r.mergeTarget;
|
|
152
|
+
return {
|
|
153
|
+
playbookId: String(r.playbookId ?? ''),
|
|
154
|
+
playbookName: String(r.playbookName ?? ''),
|
|
155
|
+
currentState: String(r.currentState ?? 'active'),
|
|
156
|
+
proposedState: String(r.proposedState ?? 'keep-active'),
|
|
157
|
+
rationale: String(r.rationale ?? ''),
|
|
158
|
+
mergeTarget: mergeTarget
|
|
159
|
+
? { id: String(mergeTarget.id ?? ''), name: String(mergeTarget.name ?? '') }
|
|
160
|
+
: undefined,
|
|
161
|
+
evolutionNotes: r.evolutionNotes ? String(r.evolutionNotes) : undefined,
|
|
162
|
+
priority: String(r.priority ?? 'medium'),
|
|
163
|
+
};
|
|
164
|
+
})
|
|
165
|
+
: [];
|
|
166
|
+
return {
|
|
167
|
+
snapshot,
|
|
168
|
+
recommendations,
|
|
169
|
+
insights: Array.isArray(raw.insights) ? raw.insights.map(String) : [],
|
|
170
|
+
actionPlan: Array.isArray(raw.actionPlan) ? raw.actionPlan.map(String) : [],
|
|
171
|
+
};
|
|
172
|
+
},
|
|
173
|
+
async processOutput() {
|
|
174
|
+
// Caller decides how to act on lifecycle recommendations
|
|
175
|
+
},
|
|
176
|
+
getComputeRequirements(_input, complexity) {
|
|
177
|
+
return {
|
|
178
|
+
mode: 'local',
|
|
179
|
+
complexity,
|
|
180
|
+
timeout: complexity === 'thorough' ? 240_000 : 120_000,
|
|
181
|
+
};
|
|
182
|
+
},
|
|
183
|
+
agentType: 'claude-code',
|
|
184
|
+
timeout: 180_000,
|
|
185
|
+
captureToolCalls: true,
|
|
186
|
+
};
|
|
187
|
+
//# sourceMappingURL=playbook-lifecycle-review.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"playbook-lifecycle-review.js","sourceRoot":"","sources":["../../../src/workspace/templates/playbook-lifecycle-review.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,37 +1,29 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { TaskTemplate, TaskComplexity, SkillSpec, ResourceSpec as BaseResourceSpec } from 'agent-workspace';
|
|
2
2
|
import type { MemorySystem, MemoryQueryResultV2 } from '../memory/system.js';
|
|
3
3
|
import type { Trajectory } from '../types/index.js';
|
|
4
4
|
import type { ComputeRequirements } from '../runtime/compute-provider.js';
|
|
5
5
|
export type { WorkspaceHandle, OutputSpec, OutputFileSpec, ValidationResult } from 'agent-workspace';
|
|
6
|
+
export type { TaskTemplate, TaskComplexity, SkillSpec, TaskRunner, TaskResult, AgentBackend, AgentSpawnConfig, AgentResult, TaskRunnerHooks, TaskRunnerConfig } from 'agent-workspace';
|
|
6
7
|
/**
|
|
7
8
|
* Skill to load into workspace skills/ directory.
|
|
8
|
-
*
|
|
9
|
+
* Extends agent-workspace's SkillSpec with source tracking.
|
|
9
10
|
*/
|
|
10
|
-
export interface AgentSkillSpec {
|
|
11
|
-
/** Skill directory name */
|
|
12
|
-
name: string;
|
|
13
|
-
/** SKILL.md content */
|
|
14
|
-
content: string;
|
|
11
|
+
export interface AgentSkillSpec extends SkillSpec {
|
|
15
12
|
/** Source of this skill */
|
|
16
13
|
source: 'playbook-conversion' | 'curated' | 'extracted';
|
|
17
14
|
}
|
|
18
15
|
/**
|
|
19
16
|
* Supplementary resource to load into workspace resources/ directory.
|
|
17
|
+
* Extends agent-workspace's ResourceSpec with description.
|
|
20
18
|
*/
|
|
21
|
-
export interface ResourceSpec {
|
|
22
|
-
/** Path relative to resources/ directory */
|
|
23
|
-
path: string;
|
|
24
|
-
/** How to populate this resource */
|
|
25
|
-
type: 'directory' | 'file' | 'symlink';
|
|
26
|
-
/** Source path (for symlink/copy) or content (for file) */
|
|
27
|
-
source: string;
|
|
19
|
+
export interface ResourceSpec extends BaseResourceSpec {
|
|
28
20
|
/** Description for the agent */
|
|
29
21
|
description?: string;
|
|
30
22
|
}
|
|
31
23
|
/**
|
|
32
|
-
*
|
|
24
|
+
* Backward-compatible alias for agent-workspace's TaskComplexity.
|
|
33
25
|
*/
|
|
34
|
-
export type AnalysisComplexity =
|
|
26
|
+
export type AnalysisComplexity = TaskComplexity;
|
|
35
27
|
/**
|
|
36
28
|
* Context passed to processOutput for storing/accumulating results.
|
|
37
29
|
*/
|
|
@@ -49,26 +41,13 @@ export interface ProcessingContext {
|
|
|
49
41
|
/**
|
|
50
42
|
* Declarative recipe for an agentic analysis task.
|
|
51
43
|
*
|
|
44
|
+
* Extends agent-workspace's TaskTemplate with cognitive-core-specific hooks
|
|
45
|
+
* for memory injection, output processing, and compute requirements.
|
|
46
|
+
*
|
|
52
47
|
* TInput: the typed input data for this analysis
|
|
53
48
|
* TOutput: the typed output the agent produces
|
|
54
49
|
*/
|
|
55
|
-
export interface AgenticTaskTemplate<TInput, TOutput> {
|
|
56
|
-
/** Unique identifier for this task type */
|
|
57
|
-
taskType: string;
|
|
58
|
-
/** Domain for knowledge injection and meta-learning */
|
|
59
|
-
domain: string;
|
|
60
|
-
/** Human-readable description */
|
|
61
|
-
description: string;
|
|
62
|
-
/**
|
|
63
|
-
* Prepare the workspace filesystem from typed input.
|
|
64
|
-
* Uses the WorkspaceHandle to write input files via typed I/O methods.
|
|
65
|
-
*/
|
|
66
|
-
prepareWorkspace(input: TInput, handle: WorkspaceHandle): Promise<void>;
|
|
67
|
-
/**
|
|
68
|
-
* Build the task description for the agent.
|
|
69
|
-
* Natural language prompt explaining what to do and what output to produce.
|
|
70
|
-
*/
|
|
71
|
-
buildTaskPrompt(input: TInput): string;
|
|
50
|
+
export interface AgenticTaskTemplate<TInput, TOutput> extends TaskTemplate<TInput, TOutput> {
|
|
72
51
|
/**
|
|
73
52
|
* Skills to load into the workspace skills/ directory.
|
|
74
53
|
* Playbooks from memory are converted to skills via the converter.
|
|
@@ -82,31 +61,10 @@ export interface AgenticTaskTemplate<TInput, TOutput> {
|
|
|
82
61
|
* Additional memory queries beyond the automatic domain-scoped query.
|
|
83
62
|
*/
|
|
84
63
|
getAdditionalKnowledge?(input: TInput, memory: MemorySystem): Promise<MemoryQueryResultV2>;
|
|
85
|
-
/** Configuration defining the expected output shape */
|
|
86
|
-
outputConfig: OutputSpec;
|
|
87
|
-
/**
|
|
88
|
-
* Read and validate agent output from workspace.
|
|
89
|
-
* Uses the WorkspaceHandle to read output via typed I/O methods.
|
|
90
|
-
* Returns typed output or throws if validation fails.
|
|
91
|
-
*/
|
|
92
|
-
collectOutput(handle: WorkspaceHandle): Promise<TOutput>;
|
|
93
64
|
/**
|
|
94
65
|
* Process the validated output — store results, accumulate for batch learning, etc.
|
|
95
66
|
*/
|
|
96
67
|
processOutput(output: TOutput, input: TInput, context: ProcessingContext): Promise<void>;
|
|
97
|
-
/**
|
|
98
|
-
* Assess whether this input needs agentic analysis or heuristic fallback.
|
|
99
|
-
*/
|
|
100
|
-
assessComplexity(input: TInput): AnalysisComplexity;
|
|
101
|
-
/**
|
|
102
|
-
* Heuristic fallback for simple cases.
|
|
103
|
-
* Called when assessComplexity returns 'heuristic'.
|
|
104
|
-
*/
|
|
105
|
-
heuristicFallback?(input: TInput): Promise<TOutput>;
|
|
106
|
-
/** Agent type to spawn (default: 'claude-code') */
|
|
107
|
-
agentType?: string;
|
|
108
|
-
/** Timeout for the analysis agent (default: 120_000ms) */
|
|
109
|
-
timeout?: number;
|
|
110
68
|
/** Whether to capture detailed tool calls (default: true) */
|
|
111
69
|
captureToolCalls?: boolean;
|
|
112
70
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/workspace/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/workspace/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/workspace/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/workspace/types.ts"],"names":[],"mappings":"AAyKA,+DAA+D;AAC/D,SAAS;AACT,+DAA+D;AAE/D;;GAEG;AACH,MAAM,OAAO,sBAAuB,SAAQ,KAAK;IAE7B;IACA;IAFlB,YACkB,QAAgB,EAChB,KAAY;QAE5B,KAAK,CAAC,iBAAiB,QAAQ,+BAA+B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAH/D,aAAQ,GAAR,QAAQ,CAAQ;QAChB,UAAK,GAAL,KAAK,CAAO;QAG5B,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;IACvC,CAAC;CACF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cognitive-core",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.2",
|
|
4
4
|
"description": "TypeScript-native cognitive core for adaptive learning and abstraction",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -12,26 +12,32 @@
|
|
|
12
12
|
"exports": {
|
|
13
13
|
".": {
|
|
14
14
|
"import": "./dist/index.js",
|
|
15
|
+
"default": "./dist/index.js",
|
|
15
16
|
"types": "./dist/index.d.ts"
|
|
16
17
|
},
|
|
17
18
|
"./memory": {
|
|
18
19
|
"import": "./dist/memory/index.js",
|
|
20
|
+
"default": "./dist/memory/index.js",
|
|
19
21
|
"types": "./dist/memory/index.d.ts"
|
|
20
22
|
},
|
|
21
23
|
"./learning": {
|
|
22
24
|
"import": "./dist/learning/index.js",
|
|
25
|
+
"default": "./dist/learning/index.js",
|
|
23
26
|
"types": "./dist/learning/index.d.ts"
|
|
24
27
|
},
|
|
25
28
|
"./agents": {
|
|
26
29
|
"import": "./dist/agents/index.js",
|
|
30
|
+
"default": "./dist/agents/index.js",
|
|
27
31
|
"types": "./dist/agents/index.d.ts"
|
|
28
32
|
},
|
|
29
33
|
"./embeddings": {
|
|
30
34
|
"import": "./dist/embeddings/index.js",
|
|
35
|
+
"default": "./dist/embeddings/index.js",
|
|
31
36
|
"types": "./dist/embeddings/index.d.ts"
|
|
32
37
|
},
|
|
33
38
|
"./session-bank": {
|
|
34
39
|
"import": "./dist/session-bank/index.js",
|
|
40
|
+
"default": "./dist/session-bank/index.js",
|
|
35
41
|
"types": "./dist/session-bank/index.d.ts"
|
|
36
42
|
}
|
|
37
43
|
},
|
|
@@ -67,7 +73,7 @@
|
|
|
67
73
|
},
|
|
68
74
|
"dependencies": {
|
|
69
75
|
"acp-factory": "^0.1.7",
|
|
70
|
-
"agent-workspace": "^0.1.
|
|
76
|
+
"agent-workspace": "^0.1.4",
|
|
71
77
|
"better-sqlite3": "^9.0.0",
|
|
72
78
|
"minimem": "^0.1.0",
|
|
73
79
|
"sessionlog": "^0.0.4",
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "adversarial-review",
|
|
3
|
+
"curatedBy": "compound-engineering",
|
|
4
|
+
"confidence": 0.8,
|
|
5
|
+
"complexity": "complex",
|
|
6
|
+
"estimatedEffort": 5,
|
|
7
|
+
"applicability": {
|
|
8
|
+
"situations": [
|
|
9
|
+
"Reviewing code for emergent failures that single-pattern reviewers miss",
|
|
10
|
+
"Hunting for multi-step failure chains across component boundaries",
|
|
11
|
+
"Stress-testing assumptions, composition, and abuse scenarios"
|
|
12
|
+
],
|
|
13
|
+
"triggers": [
|
|
14
|
+
"adversarial review",
|
|
15
|
+
"chaos engineering",
|
|
16
|
+
"failure scenarios",
|
|
17
|
+
"edge cases",
|
|
18
|
+
"race condition"
|
|
19
|
+
],
|
|
20
|
+
"antiPatterns": [
|
|
21
|
+
"Individual logic bugs without cross-component impact (correctness-reviewer territory)",
|
|
22
|
+
"Known vulnerability patterns (security-reviewer territory)",
|
|
23
|
+
"Single missing error handler on one I/O boundary (reliability-reviewer territory)",
|
|
24
|
+
"Performance anti-patterns, code style, test coverage gaps (other reviewer territories)"
|
|
25
|
+
],
|
|
26
|
+
"domains": ["code-review", "reliability", "quality-assurance"]
|
|
27
|
+
},
|
|
28
|
+
"guidance": {
|
|
29
|
+
"strategy": "Try to break the code rather than checking against patterns. Construct specific multi-step failure scenarios. Attack rather than evaluate. Operate in the space between other reviewers — combinations, assumptions, sequences, and emergent behavior.",
|
|
30
|
+
"tactics": [
|
|
31
|
+
"Assumption violation: challenge data shape assumptions (API always returns JSON, config key always set, list always has elements), timing assumptions (operations complete before timeout, resource exists when accessed), ordering assumptions (events arrive in order, init before first request), value range assumptions (IDs positive, strings non-empty)",
|
|
32
|
+
"Composition failures: find contract mismatches between caller/callee, shared state mutations where two components corrupt each other, ordering across boundaries (A assumes B ran but nothing enforces it), error contract divergence (A throws X, B catches Y)",
|
|
33
|
+
"Cascade construction: build resource exhaustion cascades (A times out → B retries → more requests to A), state corruption propagation (A writes partial → B reads partial → C acts on bad data), recovery-induced failures (retry creates duplicate, rollback leaves orphans)",
|
|
34
|
+
"Abuse cases: repetition abuse (submit same action 1000x rapidly), timing abuse (request during deployment, between cache invalidation), concurrent mutation (two users edit same resource, two processes claim same job), boundary walking (max/min input, rate limit threshold)",
|
|
35
|
+
"Depth calibration: Quick (<50 changed lines) = assumption violation only, max 3 findings; Standard (50-199 lines) = assumptions + composition + abuse; Deep (200+ lines or auth/payments/data mutations) = all four techniques with multi-step chain tracing",
|
|
36
|
+
"Confidence calibration: HIGH (0.80+) when complete concrete scenario traces specific input/state → execution path → specific wrong outcome; MODERATE (0.60-0.79) when scenario has one step depending on unconfirmed conditions; suppress below 0.60"
|
|
37
|
+
]
|
|
38
|
+
},
|
|
39
|
+
"verification": {
|
|
40
|
+
"successIndicators": [
|
|
41
|
+
"Each finding is a complete multi-step scenario, not a single-point bug",
|
|
42
|
+
"Scenarios cross component boundaries — not capturable by single-pattern reviewers",
|
|
43
|
+
"Findings include specific trigger conditions that make the scenario reproducible"
|
|
44
|
+
],
|
|
45
|
+
"failureIndicators": [
|
|
46
|
+
"Finding is a single logic bug better owned by correctness-reviewer",
|
|
47
|
+
"Scenario requires runtime conditions that can't be inferred from code",
|
|
48
|
+
"Finding overlaps with security, reliability, or performance reviewer territory"
|
|
49
|
+
]
|
|
50
|
+
}
|
|
51
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "agent-native-architecture",
|
|
3
|
+
"curatedBy": "compound-engineering",
|
|
4
|
+
"confidence": 0.8,
|
|
5
|
+
"complexity": "complex",
|
|
6
|
+
"estimatedEffort": 8,
|
|
7
|
+
"applicability": {
|
|
8
|
+
"situations": [
|
|
9
|
+
"Designing or auditing agent-first application architecture",
|
|
10
|
+
"Evaluating whether agents are first-class citizens with full capability parity",
|
|
11
|
+
"Building tools, system prompts, and shared workspaces for agent integration"
|
|
12
|
+
],
|
|
13
|
+
"triggers": [
|
|
14
|
+
"agent architecture",
|
|
15
|
+
"agent-native",
|
|
16
|
+
"tool design",
|
|
17
|
+
"agent parity",
|
|
18
|
+
"agent integration design"
|
|
19
|
+
],
|
|
20
|
+
"antiPatterns": [
|
|
21
|
+
"Pure backend changes with no agent-facing surface",
|
|
22
|
+
"Internal utilities not exposed as tools",
|
|
23
|
+
"Systems where agents are not part of the architecture"
|
|
24
|
+
],
|
|
25
|
+
"domains": ["architecture", "agent-architecture", "tool-design"]
|
|
26
|
+
},
|
|
27
|
+
"guidance": {
|
|
28
|
+
"strategy": "Build for five principles: Parity (agents can do what users do), Granularity (atomic tools not workflow bundles), Composability (new features via new prompts), Emergent capability (agents accomplish unanticipated things), and Improvement over time (get better without shipping code).",
|
|
29
|
+
"tactics": [
|
|
30
|
+
"Parity: maintain a capability map (user action → agent tool); no orphan UI actions; test by picking any user action and verifying agent can accomplish it",
|
|
31
|
+
"Granularity: tools should be primitives (read, write, move, bash) not workflows; features are prompt-defined outcomes, not tool-encoded logic; test: to change behavior, do you edit prose or refactor code?",
|
|
32
|
+
"Composability: users should customize with prompts alone; no feature code needed for new capabilities, just new prompt sections; test: can you add a feature by writing a prompt section alone?",
|
|
33
|
+
"Emergent capability: atomic tools + parity + composability = agents accomplish things you didn't explicitly build for; flywheel: build foundation → observe requests → add domain tools → repeat",
|
|
34
|
+
"Improvement over time: accumulated context (context.md, structured memory), prompt refinement at developer/user/agent levels, optional self-modification with safety rails",
|
|
35
|
+
"Files as universal interface: shared workspace where agents and users read-write the same files — no separate agent data stores",
|
|
36
|
+
"CRUD completeness: every domain entity should have create, read, update, and delete operations available to agents",
|
|
37
|
+
"Dynamic context injection: system prompts must include runtime context, not static configuration",
|
|
38
|
+
"Explicit completion signals: use a complete_task tool, not heuristic completion detection",
|
|
39
|
+
"Cardinal sin to avoid: agent executes your hardcoded workflow instead of figuring things out. WRONG: tool('process_feedback') with all logic inside. RIGHT: atomic tools (store_item, send_message) with prompt describing the judgment"
|
|
40
|
+
]
|
|
41
|
+
},
|
|
42
|
+
"verification": {
|
|
43
|
+
"successIndicators": [
|
|
44
|
+
"Agent achieves anything users achieve (parity verified)",
|
|
45
|
+
"Tools are atomic primitives — behavior changes via prompt edits, not code refactors",
|
|
46
|
+
"New features addable via new prompts without new tool code",
|
|
47
|
+
"Agent accomplishes unanticipated tasks within the domain",
|
|
48
|
+
"Shared data space between agents and users",
|
|
49
|
+
"Full CRUD per entity, explicit completion signals, dynamic context injection"
|
|
50
|
+
],
|
|
51
|
+
"failureIndicators": [
|
|
52
|
+
"UI actions exist that agents cannot perform (broken parity)",
|
|
53
|
+
"Tools encode business logic that should be agent-composed (workflow-shaped tools)",
|
|
54
|
+
"Adding a feature requires writing new tool code instead of a prompt",
|
|
55
|
+
"Agent data store is separate from user data store",
|
|
56
|
+
"Context is static — system prompt doesn't reflect runtime state"
|
|
57
|
+
]
|
|
58
|
+
}
|
|
59
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "agent-native-review",
|
|
3
|
+
"curatedBy": "compound-engineering",
|
|
4
|
+
"confidence": 0.8,
|
|
5
|
+
"complexity": "complex",
|
|
6
|
+
"estimatedEffort": 5,
|
|
7
|
+
"applicability": {
|
|
8
|
+
"situations": [
|
|
9
|
+
"Reviewing changes that affect agent-facing tools, system prompts, or UI-to-agent parity",
|
|
10
|
+
"Evaluating whether agents are first-class citizens with equivalent capabilities to UI users",
|
|
11
|
+
"Auditing action parity, context parity, and shared workspace between agents and humans"
|
|
12
|
+
],
|
|
13
|
+
"triggers": [
|
|
14
|
+
"agent integration",
|
|
15
|
+
"tool design",
|
|
16
|
+
"system prompt",
|
|
17
|
+
"UI action",
|
|
18
|
+
"agent parity"
|
|
19
|
+
],
|
|
20
|
+
"antiPatterns": [
|
|
21
|
+
"Reviewing agent code that doesn't interact with human-facing UI",
|
|
22
|
+
"Pure backend changes with no agent-facing surface",
|
|
23
|
+
"Internal utility functions not exposed as tools"
|
|
24
|
+
],
|
|
25
|
+
"domains": ["code-review", "agent-architecture", "tool-design"]
|
|
26
|
+
},
|
|
27
|
+
"guidance": {
|
|
28
|
+
"strategy": "Every UI action must have an equivalent agent tool. Agents are first-class citizens, not bolt-ons. Assess parity across five dimensions: action, context, shared workspace, primitives vs workflows, and dynamic context injection.",
|
|
29
|
+
"tactics": [
|
|
30
|
+
"Build a capability map: [UI action | location | agent tool | in system prompt | priority | status] for all domain objects",
|
|
31
|
+
"The noun test: for every domain object, an agent should know what it is (context), have a tool to interact with it (action), and see it documented (discoverability)",
|
|
32
|
+
"Action parity: every UI action must have an agent tool equivalent — flag orphan UI actions with no tool",
|
|
33
|
+
"Context parity: agents must see the same data as UI users — system prompts must include runtime context dynamically injected",
|
|
34
|
+
"Shared workspace: agents and users must read-write the same space — no parallel data stores",
|
|
35
|
+
"Tools must be primitives (take data, return rich output), not workflows (encoded multi-step logic) — let the agent compose",
|
|
36
|
+
"Prioritize by impact: must-have (core CRUD, primary workflows) vs should-have (secondary) vs low-priority (settings, cosmetic)",
|
|
37
|
+
"Confidence calibration: HIGH (0.80+) when gap is directly visible (UI action exists, no tool); MODERATE (0.60-0.79) when depends on system prompt assembly patterns; suppress below 0.60"
|
|
38
|
+
]
|
|
39
|
+
},
|
|
40
|
+
"verification": {
|
|
41
|
+
"successIndicators": [
|
|
42
|
+
"Capability map is complete with no orphan UI actions",
|
|
43
|
+
"All must-have domain nouns have action + tool + documentation",
|
|
44
|
+
"Tools are composable primitives, not hard-coded workflows",
|
|
45
|
+
"System prompt includes dynamically injected runtime context"
|
|
46
|
+
],
|
|
47
|
+
"failureIndicators": [
|
|
48
|
+
"UI action exists without corresponding agent tool",
|
|
49
|
+
"Tool encodes business logic that should be agent-composed",
|
|
50
|
+
"System prompt uses static context instead of dynamic injection",
|
|
51
|
+
"Agent data store is separate from the user-facing data store"
|
|
52
|
+
]
|
|
53
|
+
}
|
|
54
|
+
}
|