@actrun_ai/tastekit-core 0.1.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/dist/compiler/compiler.d.ts +24 -0
- package/dist/compiler/compiler.d.ts.map +1 -0
- package/dist/compiler/compiler.js +153 -0
- package/dist/compiler/compiler.js.map +1 -0
- package/dist/compiler/constitution-compiler.d.ts +11 -0
- package/dist/compiler/constitution-compiler.d.ts.map +1 -0
- package/dist/compiler/constitution-compiler.js +154 -0
- package/dist/compiler/constitution-compiler.js.map +1 -0
- package/dist/compiler/derivation.d.ts +125 -0
- package/dist/compiler/derivation.d.ts.map +1 -0
- package/dist/compiler/derivation.js +109 -0
- package/dist/compiler/derivation.js.map +1 -0
- package/dist/compiler/guardrails-compiler.d.ts +11 -0
- package/dist/compiler/guardrails-compiler.d.ts.map +1 -0
- package/dist/compiler/guardrails-compiler.js +362 -0
- package/dist/compiler/guardrails-compiler.js.map +1 -0
- package/dist/compiler/index.d.ts +13 -0
- package/dist/compiler/index.d.ts.map +1 -0
- package/dist/compiler/index.js +13 -0
- package/dist/compiler/index.js.map +1 -0
- package/dist/compiler/memory-compiler.d.ts +12 -0
- package/dist/compiler/memory-compiler.d.ts.map +1 -0
- package/dist/compiler/memory-compiler.js +293 -0
- package/dist/compiler/memory-compiler.js.map +1 -0
- package/dist/compiler/playbook-compiler.d.ts +15 -0
- package/dist/compiler/playbook-compiler.d.ts.map +1 -0
- package/dist/compiler/playbook-compiler.js +1143 -0
- package/dist/compiler/playbook-compiler.js.map +1 -0
- package/dist/compiler/skills-compiler.d.ts +15 -0
- package/dist/compiler/skills-compiler.d.ts.map +1 -0
- package/dist/compiler/skills-compiler.js +203 -0
- package/dist/compiler/skills-compiler.js.map +1 -0
- package/dist/domains/development-agent/domain.d.ts +8 -0
- package/dist/domains/development-agent/domain.d.ts.map +1 -0
- package/dist/domains/development-agent/domain.js +35 -0
- package/dist/domains/development-agent/domain.js.map +1 -0
- package/dist/domains/development-agent/index.d.ts +3 -0
- package/dist/domains/development-agent/index.d.ts.map +1 -0
- package/dist/domains/development-agent/index.js +3 -0
- package/dist/domains/development-agent/index.js.map +1 -0
- package/dist/domains/development-agent/rubric.d.ts +13 -0
- package/dist/domains/development-agent/rubric.d.ts.map +1 -0
- package/dist/domains/development-agent/rubric.js +451 -0
- package/dist/domains/development-agent/rubric.js.map +1 -0
- package/dist/domains/development-agent/skills/code-review.d.ts +25 -0
- package/dist/domains/development-agent/skills/code-review.d.ts.map +1 -0
- package/dist/domains/development-agent/skills/code-review.js +146 -0
- package/dist/domains/development-agent/skills/code-review.js.map +1 -0
- package/dist/domains/development-agent/skills/debugging-issues.d.ts +25 -0
- package/dist/domains/development-agent/skills/debugging-issues.d.ts.map +1 -0
- package/dist/domains/development-agent/skills/debugging-issues.js +155 -0
- package/dist/domains/development-agent/skills/debugging-issues.js.map +1 -0
- package/dist/domains/development-agent/skills/documenting-code.d.ts +19 -0
- package/dist/domains/development-agent/skills/documenting-code.d.ts.map +1 -0
- package/dist/domains/development-agent/skills/documenting-code.js +92 -0
- package/dist/domains/development-agent/skills/documenting-code.js.map +1 -0
- package/dist/domains/development-agent/skills/index.d.ts +55 -0
- package/dist/domains/development-agent/skills/index.d.ts.map +1 -0
- package/dist/domains/development-agent/skills/index.js +19 -0
- package/dist/domains/development-agent/skills/index.js.map +1 -0
- package/dist/domains/development-agent/skills/refactor-plan.d.ts +19 -0
- package/dist/domains/development-agent/skills/refactor-plan.d.ts.map +1 -0
- package/dist/domains/development-agent/skills/refactor-plan.js +117 -0
- package/dist/domains/development-agent/skills/refactor-plan.js.map +1 -0
- package/dist/domains/development-agent/skills/writing-tests.d.ts +20 -0
- package/dist/domains/development-agent/skills/writing-tests.d.ts.map +1 -0
- package/dist/domains/development-agent/skills/writing-tests.js +93 -0
- package/dist/domains/development-agent/skills/writing-tests.js.map +1 -0
- package/dist/domains/general-agent/domain.d.ts +9 -0
- package/dist/domains/general-agent/domain.d.ts.map +1 -0
- package/dist/domains/general-agent/domain.js +36 -0
- package/dist/domains/general-agent/domain.js.map +1 -0
- package/dist/domains/general-agent/index.d.ts +4 -0
- package/dist/domains/general-agent/index.d.ts.map +1 -0
- package/dist/domains/general-agent/index.js +4 -0
- package/dist/domains/general-agent/index.js.map +1 -0
- package/dist/domains/general-agent/rubric.d.ts +8 -0
- package/dist/domains/general-agent/rubric.d.ts.map +1 -0
- package/dist/domains/general-agent/rubric.js +332 -0
- package/dist/domains/general-agent/rubric.js.map +1 -0
- package/dist/domains/general-agent/skills/context-synthesis.d.ts +19 -0
- package/dist/domains/general-agent/skills/context-synthesis.d.ts.map +1 -0
- package/dist/domains/general-agent/skills/context-synthesis.js +94 -0
- package/dist/domains/general-agent/skills/context-synthesis.js.map +1 -0
- package/dist/domains/general-agent/skills/index.d.ts +32 -0
- package/dist/domains/general-agent/skills/index.d.ts.map +1 -0
- package/dist/domains/general-agent/skills/index.js +11 -0
- package/dist/domains/general-agent/skills/index.js.map +1 -0
- package/dist/domains/general-agent/skills/task-orchestration.d.ts +19 -0
- package/dist/domains/general-agent/skills/task-orchestration.d.ts.map +1 -0
- package/dist/domains/general-agent/skills/task-orchestration.js +101 -0
- package/dist/domains/general-agent/skills/task-orchestration.js.map +1 -0
- package/dist/domains/index.d.ts +21 -0
- package/dist/domains/index.d.ts.map +1 -0
- package/dist/domains/index.js +37 -0
- package/dist/domains/index.js.map +1 -0
- package/dist/domains/types.d.ts +22 -0
- package/dist/domains/types.d.ts.map +1 -0
- package/dist/domains/types.js +2 -0
- package/dist/domains/types.js.map +1 -0
- package/dist/drift/consolidator.d.ts +47 -0
- package/dist/drift/consolidator.d.ts.map +1 -0
- package/dist/drift/consolidator.js +116 -0
- package/dist/drift/consolidator.js.map +1 -0
- package/dist/drift/detector.d.ts +79 -0
- package/dist/drift/detector.d.ts.map +1 -0
- package/dist/drift/detector.js +424 -0
- package/dist/drift/detector.js.map +1 -0
- package/dist/drift/index.d.ts +9 -0
- package/dist/drift/index.d.ts.map +1 -0
- package/dist/drift/index.js +9 -0
- package/dist/drift/index.js.map +1 -0
- package/dist/drift/proposal.d.ts +108 -0
- package/dist/drift/proposal.d.ts.map +1 -0
- package/dist/drift/proposal.js +2 -0
- package/dist/drift/proposal.js.map +1 -0
- package/dist/eval/index.d.ts +9 -0
- package/dist/eval/index.d.ts.map +1 -0
- package/dist/eval/index.js +9 -0
- package/dist/eval/index.js.map +1 -0
- package/dist/eval/judge.d.ts +33 -0
- package/dist/eval/judge.d.ts.map +1 -0
- package/dist/eval/judge.js +209 -0
- package/dist/eval/judge.js.map +1 -0
- package/dist/eval/replay.d.ts +23 -0
- package/dist/eval/replay.d.ts.map +1 -0
- package/dist/eval/replay.js +42 -0
- package/dist/eval/replay.js.map +1 -0
- package/dist/eval/runner.d.ts +35 -0
- package/dist/eval/runner.d.ts.map +1 -0
- package/dist/eval/runner.js +52 -0
- package/dist/eval/runner.js.map +1 -0
- package/dist/generators/agents-md-generator.d.ts +9 -0
- package/dist/generators/agents-md-generator.d.ts.map +1 -0
- package/dist/generators/agents-md-generator.js +71 -0
- package/dist/generators/agents-md-generator.js.map +1 -0
- package/dist/generators/blocks/domain-context.d.ts +7 -0
- package/dist/generators/blocks/domain-context.d.ts.map +1 -0
- package/dist/generators/blocks/domain-context.js +26 -0
- package/dist/generators/blocks/domain-context.js.map +1 -0
- package/dist/generators/blocks/drift-awareness.d.ts +6 -0
- package/dist/generators/blocks/drift-awareness.d.ts.map +1 -0
- package/dist/generators/blocks/drift-awareness.js +28 -0
- package/dist/generators/blocks/drift-awareness.js.map +1 -0
- package/dist/generators/blocks/evaluation-criteria.d.ts +7 -0
- package/dist/generators/blocks/evaluation-criteria.d.ts.map +1 -0
- package/dist/generators/blocks/evaluation-criteria.js +18 -0
- package/dist/generators/blocks/evaluation-criteria.js.map +1 -0
- package/dist/generators/blocks/guardrails.d.ts +6 -0
- package/dist/generators/blocks/guardrails.d.ts.map +1 -0
- package/dist/generators/blocks/guardrails.js +44 -0
- package/dist/generators/blocks/guardrails.js.map +1 -0
- package/dist/generators/blocks/identity.d.ts +6 -0
- package/dist/generators/blocks/identity.d.ts.map +1 -0
- package/dist/generators/blocks/identity.js +36 -0
- package/dist/generators/blocks/identity.js.map +1 -0
- package/dist/generators/blocks/memory-policy.d.ts +6 -0
- package/dist/generators/blocks/memory-policy.d.ts.map +1 -0
- package/dist/generators/blocks/memory-policy.js +34 -0
- package/dist/generators/blocks/memory-policy.js.map +1 -0
- package/dist/generators/blocks/playbook-index.d.ts +7 -0
- package/dist/generators/blocks/playbook-index.d.ts.map +1 -0
- package/dist/generators/blocks/playbook-index.js +14 -0
- package/dist/generators/blocks/playbook-index.js.map +1 -0
- package/dist/generators/blocks/session-rhythm.d.ts +6 -0
- package/dist/generators/blocks/session-rhythm.d.ts.map +1 -0
- package/dist/generators/blocks/session-rhythm.js +11 -0
- package/dist/generators/blocks/session-rhythm.js.map +1 -0
- package/dist/generators/blocks/skills-index.d.ts +6 -0
- package/dist/generators/blocks/skills-index.d.ts.map +1 -0
- package/dist/generators/blocks/skills-index.js +36 -0
- package/dist/generators/blocks/skills-index.js.map +1 -0
- package/dist/generators/blocks/tool-usage.d.ts +6 -0
- package/dist/generators/blocks/tool-usage.d.ts.map +1 -0
- package/dist/generators/blocks/tool-usage.js +31 -0
- package/dist/generators/blocks/tool-usage.js.map +1 -0
- package/dist/generators/blocks/vocabulary.d.ts +7 -0
- package/dist/generators/blocks/vocabulary.d.ts.map +1 -0
- package/dist/generators/blocks/vocabulary.js +27 -0
- package/dist/generators/blocks/vocabulary.js.map +1 -0
- package/dist/generators/claude-hooks-compat.d.ts +33 -0
- package/dist/generators/claude-hooks-compat.d.ts.map +1 -0
- package/dist/generators/claude-hooks-compat.js +322 -0
- package/dist/generators/claude-hooks-compat.js.map +1 -0
- package/dist/generators/claude-md-generator.d.ts +12 -0
- package/dist/generators/claude-md-generator.d.ts.map +1 -0
- package/dist/generators/claude-md-generator.js +60 -0
- package/dist/generators/claude-md-generator.js.map +1 -0
- package/dist/generators/index.d.ts +11 -0
- package/dist/generators/index.d.ts.map +1 -0
- package/dist/generators/index.js +11 -0
- package/dist/generators/index.js.map +1 -0
- package/dist/generators/soul-md-generator.d.ts +9 -0
- package/dist/generators/soul-md-generator.d.ts.map +1 -0
- package/dist/generators/soul-md-generator.js +104 -0
- package/dist/generators/soul-md-generator.js.map +1 -0
- package/dist/generators/types.d.ts +55 -0
- package/dist/generators/types.d.ts.map +1 -0
- package/dist/generators/types.js +7 -0
- package/dist/generators/types.js.map +1 -0
- package/dist/index.d.ts +19 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +20 -0
- package/dist/index.js.map +1 -0
- package/dist/interview/index.d.ts +11 -0
- package/dist/interview/index.d.ts.map +1 -0
- package/dist/interview/index.js +11 -0
- package/dist/interview/index.js.map +1 -0
- package/dist/interview/interviewer.d.ts +94 -0
- package/dist/interview/interviewer.d.ts.map +1 -0
- package/dist/interview/interviewer.js +516 -0
- package/dist/interview/interviewer.js.map +1 -0
- package/dist/interview/questions.d.ts +15 -0
- package/dist/interview/questions.d.ts.map +1 -0
- package/dist/interview/questions.js +86 -0
- package/dist/interview/questions.js.map +1 -0
- package/dist/interview/rubric.d.ts +265 -0
- package/dist/interview/rubric.d.ts.map +1 -0
- package/dist/interview/rubric.js +74 -0
- package/dist/interview/rubric.js.map +1 -0
- package/dist/interview/session.d.ts +9 -0
- package/dist/interview/session.d.ts.map +1 -0
- package/dist/interview/session.js +33 -0
- package/dist/interview/session.js.map +1 -0
- package/dist/interview/universal-rubric.d.ts +11 -0
- package/dist/interview/universal-rubric.d.ts.map +1 -0
- package/dist/interview/universal-rubric.js +165 -0
- package/dist/interview/universal-rubric.js.map +1 -0
- package/dist/llm/index.d.ts +8 -0
- package/dist/llm/index.d.ts.map +1 -0
- package/dist/llm/index.js +8 -0
- package/dist/llm/index.js.map +1 -0
- package/dist/llm/provider.d.ts +62 -0
- package/dist/llm/provider.d.ts.map +1 -0
- package/dist/llm/provider.js +24 -0
- package/dist/llm/provider.js.map +1 -0
- package/dist/llm/providers/anthropic.d.ts +18 -0
- package/dist/llm/providers/anthropic.d.ts.map +1 -0
- package/dist/llm/providers/anthropic.js +56 -0
- package/dist/llm/providers/anthropic.js.map +1 -0
- package/dist/llm/providers/ollama.d.ts +17 -0
- package/dist/llm/providers/ollama.d.ts.map +1 -0
- package/dist/llm/providers/ollama.js +45 -0
- package/dist/llm/providers/ollama.js.map +1 -0
- package/dist/llm/providers/openai.d.ts +19 -0
- package/dist/llm/providers/openai.d.ts.map +1 -0
- package/dist/llm/providers/openai.js +52 -0
- package/dist/llm/providers/openai.js.map +1 -0
- package/dist/llm/resolve.d.ts +11 -0
- package/dist/llm/resolve.d.ts.map +1 -0
- package/dist/llm/resolve.js +56 -0
- package/dist/llm/resolve.js.map +1 -0
- package/dist/mcp/binder.d.ts +28 -0
- package/dist/mcp/binder.d.ts.map +1 -0
- package/dist/mcp/binder.js +87 -0
- package/dist/mcp/binder.js.map +1 -0
- package/dist/mcp/client.d.ts +99 -0
- package/dist/mcp/client.d.ts.map +1 -0
- package/dist/mcp/client.js +196 -0
- package/dist/mcp/client.js.map +1 -0
- package/dist/mcp/index.d.ts +9 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +9 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/mcp/inspector.d.ts +29 -0
- package/dist/mcp/inspector.d.ts.map +1 -0
- package/dist/mcp/inspector.js +44 -0
- package/dist/mcp/inspector.js.map +1 -0
- package/dist/schemas/bindings.d.ts +248 -0
- package/dist/schemas/bindings.d.ts.map +1 -0
- package/dist/schemas/bindings.js +34 -0
- package/dist/schemas/bindings.js.map +1 -0
- package/dist/schemas/constitution.d.ts +229 -0
- package/dist/schemas/constitution.d.ts.map +1 -0
- package/dist/schemas/constitution.js +47 -0
- package/dist/schemas/constitution.js.map +1 -0
- package/dist/schemas/evalpack.d.ts +322 -0
- package/dist/schemas/evalpack.d.ts.map +1 -0
- package/dist/schemas/evalpack.js +43 -0
- package/dist/schemas/evalpack.js.map +1 -0
- package/dist/schemas/guardrails.d.ts +171 -0
- package/dist/schemas/guardrails.d.ts.map +1 -0
- package/dist/schemas/guardrails.js +35 -0
- package/dist/schemas/guardrails.js.map +1 -0
- package/dist/schemas/index.d.ts +18 -0
- package/dist/schemas/index.d.ts.map +1 -0
- package/dist/schemas/index.js +18 -0
- package/dist/schemas/index.js.map +1 -0
- package/dist/schemas/memory.d.ts +277 -0
- package/dist/schemas/memory.d.ts.map +1 -0
- package/dist/schemas/memory.js +42 -0
- package/dist/schemas/memory.js.map +1 -0
- package/dist/schemas/playbook.d.ts +270 -0
- package/dist/schemas/playbook.d.ts.map +1 -0
- package/dist/schemas/playbook.js +52 -0
- package/dist/schemas/playbook.js.map +1 -0
- package/dist/schemas/skills.d.ts +320 -0
- package/dist/schemas/skills.d.ts.map +1 -0
- package/dist/schemas/skills.js +84 -0
- package/dist/schemas/skills.js.map +1 -0
- package/dist/schemas/trace.d.ts +126 -0
- package/dist/schemas/trace.d.ts.map +1 -0
- package/dist/schemas/trace.js +70 -0
- package/dist/schemas/trace.js.map +1 -0
- package/dist/schemas/trust.d.ts +142 -0
- package/dist/schemas/trust.d.ts.map +1 -0
- package/dist/schemas/trust.js +30 -0
- package/dist/schemas/trust.js.map +1 -0
- package/dist/schemas/validators.d.ts +26 -0
- package/dist/schemas/validators.d.ts.map +1 -0
- package/dist/schemas/validators.js +79 -0
- package/dist/schemas/validators.js.map +1 -0
- package/dist/schemas/workspace.d.ts +725 -0
- package/dist/schemas/workspace.d.ts.map +1 -0
- package/dist/schemas/workspace.js +119 -0
- package/dist/schemas/workspace.js.map +1 -0
- package/dist/skills/constraints.d.ts +19 -0
- package/dist/skills/constraints.d.ts.map +1 -0
- package/dist/skills/constraints.js +91 -0
- package/dist/skills/constraints.js.map +1 -0
- package/dist/skills/generator.d.ts +13 -0
- package/dist/skills/generator.d.ts.map +1 -0
- package/dist/skills/generator.js +126 -0
- package/dist/skills/generator.js.map +1 -0
- package/dist/skills/graph.d.ts +42 -0
- package/dist/skills/graph.d.ts.map +1 -0
- package/dist/skills/graph.js +217 -0
- package/dist/skills/graph.js.map +1 -0
- package/dist/skills/index.d.ts +13 -0
- package/dist/skills/index.d.ts.map +1 -0
- package/dist/skills/index.js +13 -0
- package/dist/skills/index.js.map +1 -0
- package/dist/skills/linter.d.ts +22 -0
- package/dist/skills/linter.d.ts.map +1 -0
- package/dist/skills/linter.js +201 -0
- package/dist/skills/linter.js.map +1 -0
- package/dist/skills/packer.d.ts +27 -0
- package/dist/skills/packer.d.ts.map +1 -0
- package/dist/skills/packer.js +72 -0
- package/dist/skills/packer.js.map +1 -0
- package/dist/skills/tracker.d.ts +27 -0
- package/dist/skills/tracker.d.ts.map +1 -0
- package/dist/skills/tracker.js +131 -0
- package/dist/skills/tracker.js.map +1 -0
- package/dist/skills/versioner.d.ts +19 -0
- package/dist/skills/versioner.d.ts.map +1 -0
- package/dist/skills/versioner.js +76 -0
- package/dist/skills/versioner.js.map +1 -0
- package/dist/tracing/index.d.ts +8 -0
- package/dist/tracing/index.d.ts.map +1 -0
- package/dist/tracing/index.js +8 -0
- package/dist/tracing/index.js.map +1 -0
- package/dist/tracing/reader.d.ts +18 -0
- package/dist/tracing/reader.d.ts.map +1 -0
- package/dist/tracing/reader.js +34 -0
- package/dist/tracing/reader.js.map +1 -0
- package/dist/tracing/tracer.d.ts +22 -0
- package/dist/tracing/tracer.d.ts.map +1 -0
- package/dist/tracing/tracer.js +105 -0
- package/dist/tracing/tracer.js.map +1 -0
- package/dist/trust/auditor.d.ts +35 -0
- package/dist/trust/auditor.d.ts.map +1 -0
- package/dist/trust/auditor.js +78 -0
- package/dist/trust/auditor.js.map +1 -0
- package/dist/trust/index.d.ts +8 -0
- package/dist/trust/index.d.ts.map +1 -0
- package/dist/trust/index.js +8 -0
- package/dist/trust/index.js.map +1 -0
- package/dist/trust/manager.d.ts +18 -0
- package/dist/trust/manager.d.ts.map +1 -0
- package/dist/trust/manager.js +60 -0
- package/dist/trust/manager.js.map +1 -0
- package/dist/utils/filesystem.d.ts +15 -0
- package/dist/utils/filesystem.d.ts.map +1 -0
- package/dist/utils/filesystem.js +53 -0
- package/dist/utils/filesystem.js.map +1 -0
- package/dist/utils/hash.d.ts +7 -0
- package/dist/utils/hash.d.ts.map +1 -0
- package/dist/utils/hash.js +15 -0
- package/dist/utils/hash.js.map +1 -0
- package/dist/utils/index.d.ts +7 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +7 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/yaml.d.ts +6 -0
- package/dist/utils/yaml.d.ts.map +1 -0
- package/dist/utils/yaml.js +14 -0
- package/dist/utils/yaml.js.map +1 -0
- package/package.json +58 -0
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Task Orchestration Skill
|
|
3
|
+
*
|
|
4
|
+
* Turn mixed requests into an executable, tracked plan with clear checkpoints.
|
|
5
|
+
*/
|
|
6
|
+
export const TaskOrchestrationSkill = {
|
|
7
|
+
skill_id: 'task-orchestration',
|
|
8
|
+
name: 'Task Orchestration',
|
|
9
|
+
description: 'Plans and executes multi-step tasks with explicit checkpoints, constraints, and escalation points. Use when handling complex requests that combine planning and execution, multi-step workflows with dependencies, or when the user asks to plan, orchestrate, or manage a task.',
|
|
10
|
+
tags: ['general', 'planning', 'execution'],
|
|
11
|
+
risk_level: 'low',
|
|
12
|
+
required_tools: ['file-system'],
|
|
13
|
+
compatible_runtimes: ['claude-code', 'openclaw', 'manus', 'autopilots'],
|
|
14
|
+
prerequisites: ['context-synthesis'],
|
|
15
|
+
pipeline_phase: 'process',
|
|
16
|
+
context_model: 'inherit',
|
|
17
|
+
skill_md_content: `# Task Orchestration
|
|
18
|
+
|
|
19
|
+
## Purpose
|
|
20
|
+
|
|
21
|
+
Convert a goal into a concrete execution plan, then drive progress with explicit checkpoints, guardrails, and status updates.
|
|
22
|
+
|
|
23
|
+
## When to use
|
|
24
|
+
|
|
25
|
+
- Multi-step tasks with dependencies
|
|
26
|
+
- Requests that combine planning, research, and execution
|
|
27
|
+
- Work that needs milestones, handoffs, and risk tracking
|
|
28
|
+
- Ongoing operator workflows with periodic reprioritization
|
|
29
|
+
|
|
30
|
+
## When NOT to use
|
|
31
|
+
|
|
32
|
+
- Single-step tasks that can be completed immediately
|
|
33
|
+
- Work requiring deep domain-specific expertise where a specialized skill exists
|
|
34
|
+
- Situations with insufficient context and no permission to clarify
|
|
35
|
+
|
|
36
|
+
## Inputs
|
|
37
|
+
|
|
38
|
+
- **goal**: Desired outcome
|
|
39
|
+
- **constraints**: Time, budget, policy, tooling, or scope constraints
|
|
40
|
+
- **context_snapshot**: Current state, assumptions, and known dependencies
|
|
41
|
+
- **priority_rule**: Optional prioritization criteria (impact/urgency/risk)
|
|
42
|
+
|
|
43
|
+
## Outputs
|
|
44
|
+
|
|
45
|
+
- **execution_plan**: Ordered steps with dependencies and owners
|
|
46
|
+
- **checkpoint_log**: Milestone updates, blockers, and next actions
|
|
47
|
+
- **escalation_events**: Issues requiring approval or human decision
|
|
48
|
+
|
|
49
|
+
## Procedure
|
|
50
|
+
|
|
51
|
+
### Step 1: Frame the objective
|
|
52
|
+
|
|
53
|
+
- Restate goal and success criteria in one concise block
|
|
54
|
+
- Identify constraints and unknowns before execution
|
|
55
|
+
|
|
56
|
+
### Step 2: Decompose and order work
|
|
57
|
+
|
|
58
|
+
- Break into phases with step-level outputs
|
|
59
|
+
- Mark dependencies and parallelizable tracks
|
|
60
|
+
- Highlight irreversible or high-risk actions
|
|
61
|
+
|
|
62
|
+
### Step 3: Execute with checkpoints
|
|
63
|
+
|
|
64
|
+
- Run one step at a time unless safe parallelization is clear
|
|
65
|
+
- After each checkpoint, report status, artifacts, and blockers
|
|
66
|
+
- Re-prioritize if constraints or context change
|
|
67
|
+
|
|
68
|
+
### Step 4: Escalate intentionally
|
|
69
|
+
|
|
70
|
+
- Escalate on policy risk, destructive actions, missing authority, or ambiguity
|
|
71
|
+
- Present options with tradeoffs when escalation is needed
|
|
72
|
+
|
|
73
|
+
### Step 5: Close with a decision-ready summary
|
|
74
|
+
|
|
75
|
+
- Report completed steps, residual risks, and recommended next action
|
|
76
|
+
|
|
77
|
+
## Quality checks
|
|
78
|
+
|
|
79
|
+
- [ ] Plan includes clear success criteria and constraints
|
|
80
|
+
- [ ] Dependencies and ordering are explicit
|
|
81
|
+
- [ ] Checkpoints include concrete evidence of progress
|
|
82
|
+
- [ ] Escalation triggers were respected
|
|
83
|
+
- [ ] Final summary is decision-ready and actionable
|
|
84
|
+
|
|
85
|
+
## Guardrail notes
|
|
86
|
+
|
|
87
|
+
Do not perform destructive or irreversible actions without explicit approval when guardrails require it.
|
|
88
|
+
|
|
89
|
+
## Progressive Disclosure
|
|
90
|
+
|
|
91
|
+
### Minimal Context (Always Load)
|
|
92
|
+
- Goal, constraints, and current priority policy
|
|
93
|
+
|
|
94
|
+
### On Invoke (Load When Skill is Invoked)
|
|
95
|
+
- Full decomposition/checkpoint workflow and escalation rules
|
|
96
|
+
|
|
97
|
+
### On Demand Resources
|
|
98
|
+
- Reusable checklist templates and incident-style escalation format
|
|
99
|
+
`,
|
|
100
|
+
};
|
|
101
|
+
//# sourceMappingURL=task-orchestration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-orchestration.js","sourceRoot":"","sources":["../../../../domains/general-agent/skills/task-orchestration.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,QAAQ,EAAE,oBAAoB;IAC9B,IAAI,EAAE,oBAAoB;IAC1B,WAAW,EAAE,kRAAkR;IAC/R,IAAI,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,WAAW,CAAC;IAC1C,UAAU,EAAE,KAAc;IAC1B,cAAc,EAAE,CAAC,aAAa,CAAC;IAC/B,mBAAmB,EAAE,CAAC,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,CAAC;IACvE,aAAa,EAAE,CAAC,mBAAmB,CAAC;IACpC,cAAc,EAAE,SAAS;IACzB,aAAa,EAAE,SAAkB;IAEjC,gBAAgB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkFnB;CACA,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TasteKit Domains Registry
|
|
3
|
+
*
|
|
4
|
+
* Central registry of available domains.
|
|
5
|
+
* Ships with general-agent + development-agent.
|
|
6
|
+
*/
|
|
7
|
+
import { DomainRubric } from '../interview/rubric.js';
|
|
8
|
+
export declare const AVAILABLE_DOMAINS: readonly [import("./types.js").DomainDefinition, import("./types.js").DomainDefinition];
|
|
9
|
+
export declare function getDomainById(id: string): import("./types.js").DomainDefinition | undefined;
|
|
10
|
+
export declare function getDomainRubric(id: string): DomainRubric | undefined;
|
|
11
|
+
export declare function listDomains(): {
|
|
12
|
+
id: string;
|
|
13
|
+
name: string;
|
|
14
|
+
description: string;
|
|
15
|
+
version: string;
|
|
16
|
+
is_stub: boolean;
|
|
17
|
+
has_rubric: boolean;
|
|
18
|
+
}[];
|
|
19
|
+
export * from './development-agent/index.js';
|
|
20
|
+
export * from './general-agent/index.js';
|
|
21
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../domains/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,eAAO,MAAM,iBAAiB,yFAGpB,CAAC;AAOX,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,qDAEvC;AAED,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAEpE;AAED,wBAAgB,WAAW;;;;;;;IAS1B;AAED,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0BAA0B,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TasteKit Domains Registry
|
|
3
|
+
*
|
|
4
|
+
* Central registry of available domains.
|
|
5
|
+
* Ships with general-agent + development-agent.
|
|
6
|
+
*/
|
|
7
|
+
import { DevelopmentAgentDomain } from './development-agent/domain.js';
|
|
8
|
+
import { GeneralAgentDomain } from './general-agent/domain.js';
|
|
9
|
+
import { DevelopmentAgentRubric } from './development-agent/rubric.js';
|
|
10
|
+
import { GeneralAgentRubric } from './general-agent/rubric.js';
|
|
11
|
+
export const AVAILABLE_DOMAINS = [
|
|
12
|
+
DevelopmentAgentDomain,
|
|
13
|
+
GeneralAgentDomain,
|
|
14
|
+
];
|
|
15
|
+
const DOMAIN_RUBRICS = {
|
|
16
|
+
'development-agent': DevelopmentAgentRubric,
|
|
17
|
+
'general-agent': GeneralAgentRubric,
|
|
18
|
+
};
|
|
19
|
+
export function getDomainById(id) {
|
|
20
|
+
return AVAILABLE_DOMAINS.find(d => d.id === id);
|
|
21
|
+
}
|
|
22
|
+
export function getDomainRubric(id) {
|
|
23
|
+
return DOMAIN_RUBRICS[id];
|
|
24
|
+
}
|
|
25
|
+
export function listDomains() {
|
|
26
|
+
return AVAILABLE_DOMAINS.map(d => ({
|
|
27
|
+
id: d.id,
|
|
28
|
+
name: d.name,
|
|
29
|
+
description: d.description,
|
|
30
|
+
version: d.version,
|
|
31
|
+
is_stub: d.version.includes('stub'),
|
|
32
|
+
has_rubric: d.id in DOMAIN_RUBRICS,
|
|
33
|
+
}));
|
|
34
|
+
}
|
|
35
|
+
export * from './development-agent/index.js';
|
|
36
|
+
export * from './general-agent/index.js';
|
|
37
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../domains/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAG/D,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,sBAAsB;IACtB,kBAAkB;CACV,CAAC;AAEX,MAAM,cAAc,GAAiC;IACnD,mBAAmB,EAAE,sBAAsB;IAC3C,eAAe,EAAE,kBAAkB;CACpC,CAAC;AAEF,MAAM,UAAU,aAAa,CAAC,EAAU;IACtC,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,EAAU;IACxC,OAAO,cAAc,CAAC,EAAE,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,OAAO,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACjC,EAAE,EAAE,CAAC,CAAC,EAAE;QACR,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,WAAW,EAAE,CAAC,CAAC,WAAW;QAC1B,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;QACnC,UAAU,EAAE,CAAC,CAAC,EAAE,IAAI,cAAc;KACnC,CAAC,CAAC,CAAC;AACN,CAAC;AAED,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0BAA0B,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export interface DomainVocabulary {
|
|
2
|
+
principles_heading?: string;
|
|
3
|
+
guardrails_heading?: string;
|
|
4
|
+
skills_heading?: string;
|
|
5
|
+
constitution_label?: string;
|
|
6
|
+
skill_label?: string;
|
|
7
|
+
playbook_label?: string;
|
|
8
|
+
compile_verb?: string;
|
|
9
|
+
drift_verb?: string;
|
|
10
|
+
custom?: Record<string, string>;
|
|
11
|
+
}
|
|
12
|
+
export interface DomainDefinition {
|
|
13
|
+
id: string;
|
|
14
|
+
name: string;
|
|
15
|
+
description: string;
|
|
16
|
+
version: string;
|
|
17
|
+
use_cases: string[];
|
|
18
|
+
recommended_tools: string[];
|
|
19
|
+
default_autonomy_level: number;
|
|
20
|
+
vocabulary?: DomainVocabulary;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../domains/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAC/B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,UAAU,CAAC,EAAE,gBAAgB,CAAC;CAC/B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../domains/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Memory Consolidator
|
|
3
|
+
*
|
|
4
|
+
* Consolidates memory based on salience and retention policy.
|
|
5
|
+
* Includes merge detection for similar memories using content overlap.
|
|
6
|
+
*/
|
|
7
|
+
export interface ConsolidationPlan {
|
|
8
|
+
timestamp: string;
|
|
9
|
+
memories_to_keep: string[];
|
|
10
|
+
memories_to_prune: string[];
|
|
11
|
+
memories_to_merge: Array<{
|
|
12
|
+
source_ids: string[];
|
|
13
|
+
merged_content: string;
|
|
14
|
+
}>;
|
|
15
|
+
}
|
|
16
|
+
export interface MemoryEntry {
|
|
17
|
+
id: string;
|
|
18
|
+
content: string;
|
|
19
|
+
salience: number;
|
|
20
|
+
timestamp: string;
|
|
21
|
+
}
|
|
22
|
+
export declare class MemoryConsolidator {
|
|
23
|
+
/**
|
|
24
|
+
* Generate a consolidation plan based on salience scores and retention policy.
|
|
25
|
+
*
|
|
26
|
+
* Steps:
|
|
27
|
+
* 1. Separate memories by retention eligibility (age + salience)
|
|
28
|
+
* 2. Among kept memories, detect mergeable pairs (high content overlap)
|
|
29
|
+
* 3. Return plan for runtime to execute
|
|
30
|
+
*/
|
|
31
|
+
generateConsolidationPlan(memories: MemoryEntry[], retentionDays: number): ConsolidationPlan;
|
|
32
|
+
/**
|
|
33
|
+
* Detect memories that are similar enough to merge.
|
|
34
|
+
* Uses word-level Jaccard similarity (threshold: 0.6).
|
|
35
|
+
*/
|
|
36
|
+
private detectMerges;
|
|
37
|
+
/**
|
|
38
|
+
* Word-level Jaccard similarity between two strings.
|
|
39
|
+
*/
|
|
40
|
+
private jaccardSimilarity;
|
|
41
|
+
/**
|
|
42
|
+
* Extract content from source that is not already in primary.
|
|
43
|
+
*/
|
|
44
|
+
private extractUniqueContent;
|
|
45
|
+
private tokenize;
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=consolidator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consolidator.d.ts","sourceRoot":"","sources":["../../drift/consolidator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,iBAAiB,EAAE,KAAK,CAAC;QACvB,UAAU,EAAE,MAAM,EAAE,CAAC;QACrB,cAAc,EAAE,MAAM,CAAC;KACxB,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,kBAAkB;IAC7B;;;;;;;OAOG;IACH,yBAAyB,CACvB,QAAQ,EAAE,WAAW,EAAE,EACvB,aAAa,EAAE,MAAM,GACpB,iBAAiB;IAmCpB;;;OAGG;IACH,OAAO,CAAC,YAAY;IA+CpB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAgBzB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAO5B,OAAO,CAAC,QAAQ;CAGjB"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Memory Consolidator
|
|
3
|
+
*
|
|
4
|
+
* Consolidates memory based on salience and retention policy.
|
|
5
|
+
* Includes merge detection for similar memories using content overlap.
|
|
6
|
+
*/
|
|
7
|
+
export class MemoryConsolidator {
|
|
8
|
+
/**
|
|
9
|
+
* Generate a consolidation plan based on salience scores and retention policy.
|
|
10
|
+
*
|
|
11
|
+
* Steps:
|
|
12
|
+
* 1. Separate memories by retention eligibility (age + salience)
|
|
13
|
+
* 2. Among kept memories, detect mergeable pairs (high content overlap)
|
|
14
|
+
* 3. Return plan for runtime to execute
|
|
15
|
+
*/
|
|
16
|
+
generateConsolidationPlan(memories, retentionDays) {
|
|
17
|
+
const now = new Date();
|
|
18
|
+
const cutoffDate = new Date(now.getTime() - retentionDays * 24 * 60 * 60 * 1000);
|
|
19
|
+
const toKeep = [];
|
|
20
|
+
const toPrune = [];
|
|
21
|
+
for (const memory of memories) {
|
|
22
|
+
const memoryDate = new Date(memory.timestamp);
|
|
23
|
+
// Keep if recent or high salience
|
|
24
|
+
if (memoryDate >= cutoffDate || memory.salience > 0.7) {
|
|
25
|
+
toKeep.push(memory);
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
toPrune.push(memory.id);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
// Detect merge candidates among kept memories
|
|
32
|
+
const merges = this.detectMerges(toKeep);
|
|
33
|
+
// Remove merged memory IDs from the keep list
|
|
34
|
+
const mergedIds = new Set(merges.flatMap(m => m.source_ids));
|
|
35
|
+
const keepIds = toKeep
|
|
36
|
+
.filter(m => !mergedIds.has(m.id))
|
|
37
|
+
.map(m => m.id);
|
|
38
|
+
return {
|
|
39
|
+
timestamp: now.toISOString(),
|
|
40
|
+
memories_to_keep: keepIds,
|
|
41
|
+
memories_to_prune: toPrune,
|
|
42
|
+
memories_to_merge: merges,
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Detect memories that are similar enough to merge.
|
|
47
|
+
* Uses word-level Jaccard similarity (threshold: 0.6).
|
|
48
|
+
*/
|
|
49
|
+
detectMerges(memories) {
|
|
50
|
+
const merges = [];
|
|
51
|
+
const merged = new Set();
|
|
52
|
+
for (let i = 0; i < memories.length; i++) {
|
|
53
|
+
if (merged.has(memories[i].id))
|
|
54
|
+
continue;
|
|
55
|
+
const group = [memories[i]];
|
|
56
|
+
for (let j = i + 1; j < memories.length; j++) {
|
|
57
|
+
if (merged.has(memories[j].id))
|
|
58
|
+
continue;
|
|
59
|
+
const similarity = this.jaccardSimilarity(memories[i].content, memories[j].content);
|
|
60
|
+
if (similarity >= 0.6) {
|
|
61
|
+
group.push(memories[j]);
|
|
62
|
+
merged.add(memories[j].id);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
if (group.length > 1) {
|
|
66
|
+
merged.add(memories[i].id);
|
|
67
|
+
// Merge by keeping the highest-salience version and appending unique details
|
|
68
|
+
const sorted = group.sort((a, b) => b.salience - a.salience);
|
|
69
|
+
const primary = sorted[0];
|
|
70
|
+
const additionalDetails = sorted.slice(1)
|
|
71
|
+
.map(m => this.extractUniqueContent(m.content, primary.content))
|
|
72
|
+
.filter(detail => detail.length > 0);
|
|
73
|
+
let mergedContent = primary.content;
|
|
74
|
+
if (additionalDetails.length > 0) {
|
|
75
|
+
mergedContent += '\n\nAdditional context: ' + additionalDetails.join('; ');
|
|
76
|
+
}
|
|
77
|
+
merges.push({
|
|
78
|
+
source_ids: group.map(m => m.id),
|
|
79
|
+
merged_content: mergedContent,
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
return merges;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Word-level Jaccard similarity between two strings.
|
|
87
|
+
*/
|
|
88
|
+
jaccardSimilarity(a, b) {
|
|
89
|
+
const wordsA = new Set(this.tokenize(a));
|
|
90
|
+
const wordsB = new Set(this.tokenize(b));
|
|
91
|
+
if (wordsA.size === 0 && wordsB.size === 0)
|
|
92
|
+
return 1;
|
|
93
|
+
if (wordsA.size === 0 || wordsB.size === 0)
|
|
94
|
+
return 0;
|
|
95
|
+
let intersection = 0;
|
|
96
|
+
for (const word of wordsA) {
|
|
97
|
+
if (wordsB.has(word))
|
|
98
|
+
intersection++;
|
|
99
|
+
}
|
|
100
|
+
const union = wordsA.size + wordsB.size - intersection;
|
|
101
|
+
return union === 0 ? 0 : intersection / union;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Extract content from source that is not already in primary.
|
|
105
|
+
*/
|
|
106
|
+
extractUniqueContent(source, primary) {
|
|
107
|
+
const primaryWords = new Set(this.tokenize(primary));
|
|
108
|
+
const sourceWords = this.tokenize(source);
|
|
109
|
+
const unique = sourceWords.filter(w => !primaryWords.has(w));
|
|
110
|
+
return unique.join(' ');
|
|
111
|
+
}
|
|
112
|
+
tokenize(text) {
|
|
113
|
+
return text.toLowerCase().split(/\s+/).filter(w => w.length > 2);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=consolidator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consolidator.js","sourceRoot":"","sources":["../../drift/consolidator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { TraceEvent } from '../schemas/trace.js';
|
|
2
|
+
import { SkillsManifestV1 } from '../schemas/skills.js';
|
|
3
|
+
import { DriftProposal, DriftSignalType, SkillAmendmentProposal } from './proposal.js';
|
|
4
|
+
/**
|
|
5
|
+
* Drift Detector — Operational Learning Loop
|
|
6
|
+
*
|
|
7
|
+
* Detects drift from traces using 7 signal types:
|
|
8
|
+
* 1. repeated_edit — user repeatedly rejects agent actions
|
|
9
|
+
* 2. principle_violation — errors suggest principles being broken
|
|
10
|
+
* 3. user_correction — user edits right after agent output
|
|
11
|
+
* 4. tool_change — user switches tools for same task type
|
|
12
|
+
* 5. staleness — constitution hasn't been recompiled in >30 days
|
|
13
|
+
* 6. coverage_gap — tools/skills used but not in manifest
|
|
14
|
+
* 7. assertion_mismatch — "never X" principle but agent does X
|
|
15
|
+
*
|
|
16
|
+
* Also aggregates observations and tensions for threshold-triggered review.
|
|
17
|
+
*/
|
|
18
|
+
export interface DriftDetectionOptions {
|
|
19
|
+
since?: Date;
|
|
20
|
+
skillId?: string;
|
|
21
|
+
mode?: 'violations' | 'staleness';
|
|
22
|
+
/** Path to constitution for staleness/assertion checks */
|
|
23
|
+
constitutionPath?: string;
|
|
24
|
+
/** Skills manifest data for coverage gap detection */
|
|
25
|
+
knownSkillIds?: string[];
|
|
26
|
+
/** Known tool bindings for coverage gap detection */
|
|
27
|
+
knownToolRefs?: string[];
|
|
28
|
+
}
|
|
29
|
+
export interface DriftSignal {
|
|
30
|
+
type: DriftSignalType;
|
|
31
|
+
frequency: number;
|
|
32
|
+
context: Record<string, unknown>;
|
|
33
|
+
}
|
|
34
|
+
export declare class DriftDetector {
|
|
35
|
+
private reader;
|
|
36
|
+
constructor();
|
|
37
|
+
detectFromTraces(tracePaths: string[], options?: DriftDetectionOptions): DriftProposal[];
|
|
38
|
+
private detectSignals;
|
|
39
|
+
/** Signal 1: Repeated rejections of agent actions */
|
|
40
|
+
private detectRepeatedEdits;
|
|
41
|
+
/** Signal 2: Error accumulation suggests principle violations */
|
|
42
|
+
private detectPrincipleViolations;
|
|
43
|
+
/** Signal 3: User edits shortly after agent produces output */
|
|
44
|
+
private detectUserCorrections;
|
|
45
|
+
/** Signal 4: User switches tools for similar tasks */
|
|
46
|
+
private detectToolChanges;
|
|
47
|
+
/** Signal 5: Constitution staleness — gap between constitution age and latest traces */
|
|
48
|
+
private detectStaleness;
|
|
49
|
+
/** Signal 6: Tools/skills used in traces that aren't in the manifest */
|
|
50
|
+
private detectCoverageGaps;
|
|
51
|
+
/** Signal 7: "never X" principles but traces show X happening */
|
|
52
|
+
private detectAssertionMismatches;
|
|
53
|
+
private createProposalFromSignal;
|
|
54
|
+
}
|
|
55
|
+
/** Aggregate observation events from traces */
|
|
56
|
+
export declare function aggregateObservations(events: TraceEvent[]): {
|
|
57
|
+
total: number;
|
|
58
|
+
by_category: Record<string, number>;
|
|
59
|
+
recent: TraceEvent[];
|
|
60
|
+
};
|
|
61
|
+
/** Aggregate tension events from traces */
|
|
62
|
+
export declare function aggregateTensions(events: TraceEvent[]): {
|
|
63
|
+
total: number;
|
|
64
|
+
pending: number;
|
|
65
|
+
recent: TraceEvent[];
|
|
66
|
+
};
|
|
67
|
+
export interface SkillDriftOptions {
|
|
68
|
+
/** Success rate below this triggers a proposal. Default: 0.7 */
|
|
69
|
+
successThreshold?: number;
|
|
70
|
+
/** Minimum runs before a skill is evaluated. Default: 3 */
|
|
71
|
+
minRuns?: number;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Detect underperforming skills from traces and generate amendment proposals.
|
|
75
|
+
*/
|
|
76
|
+
export declare function detectSkillDrift(events: TraceEvent[], manifest?: SkillsManifestV1, options?: SkillDriftOptions): SkillAmendmentProposal[];
|
|
77
|
+
/** Check if accumulated observations/tensions warrant a meta-review */
|
|
78
|
+
export declare function shouldTriggerReview(observations: ReturnType<typeof aggregateObservations>, tensions: ReturnType<typeof aggregateTensions>): boolean;
|
|
79
|
+
//# sourceMappingURL=detector.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"detector.d.ts","sourceRoot":"","sources":["../../drift/detector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAkC,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAIvH;;;;;;;;;;;;;GAaG;AAEH,MAAM,WAAW,qBAAqB;IACpC,KAAK,CAAC,EAAE,IAAI,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,YAAY,GAAG,WAAW,CAAC;IAClC,0DAA0D;IAC1D,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,sDAAsD;IACtD,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,qDAAqD;IACrD,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,eAAe,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAc;;IAM5B,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,OAAO,GAAE,qBAA0B,GAAG,aAAa,EAAE;IAkC5F,OAAO,CAAC,aAAa;IA+BrB,qDAAqD;IACrD,OAAO,CAAC,mBAAmB;IAwB3B,iEAAiE;IACjE,OAAO,CAAC,yBAAyB;IAejC,+DAA+D;IAC/D,OAAO,CAAC,qBAAqB;IAuC7B,sDAAsD;IACtD,OAAO,CAAC,iBAAiB;IAyBzB,wFAAwF;IACxF,OAAO,CAAC,eAAe;IAgCvB,wEAAwE;IACxE,OAAO,CAAC,kBAAkB;IA4B1B,iEAAiE;IACjE,OAAO,CAAC,yBAAyB;IAyBjC,OAAO,CAAC,wBAAwB;CAiHjC;AAMD,+CAA+C;AAC/C,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG;IAC3D,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,MAAM,EAAE,UAAU,EAAE,CAAC;CACtB,CAcA;AAED,2CAA2C;AAC3C,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG;IACvD,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,UAAU,EAAE,CAAC;CACtB,CASA;AAMD,MAAM,WAAW,iBAAiB;IAChC,gEAAgE;IAChE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,2DAA2D;IAC3D,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,UAAU,EAAE,EACpB,QAAQ,CAAC,EAAE,gBAAgB,EAC3B,OAAO,GAAE,iBAAsB,GAC9B,sBAAsB,EAAE,CAqC1B;AAuCD,uEAAuE;AACvE,wBAAgB,mBAAmB,CACjC,YAAY,EAAE,UAAU,CAAC,OAAO,qBAAqB,CAAC,EACtD,QAAQ,EAAE,UAAU,CAAC,OAAO,iBAAiB,CAAC,GAC7C,OAAO,CAET"}
|