cognitive-core 0.2.4 → 0.3.1
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/LICENSE +21 -0
- package/README.md +88 -143
- package/dist/agents/mock-provider.d.ts.map +1 -1
- package/dist/agents/mock-provider.js.map +1 -1
- package/dist/agents/types.d.ts.map +1 -1
- package/dist/agents/types.js +5 -4
- package/dist/agents/types.js.map +1 -1
- package/dist/atlas.d.ts +309 -97
- package/dist/atlas.d.ts.map +1 -1
- package/dist/atlas.js +743 -277
- package/dist/atlas.js.map +1 -1
- package/dist/bin/cli-utils.d.ts +25 -2
- package/dist/bin/cli-utils.d.ts.map +1 -1
- package/dist/bin/cli-utils.js +79 -9
- package/dist/bin/cli-utils.js.map +1 -1
- package/dist/bin/cognitive-core.js +32 -0
- package/dist/bin/cognitive-core.js.map +1 -1
- package/dist/bin/commands/dream.d.ts +17 -0
- package/dist/bin/commands/dream.d.ts.map +1 -0
- package/dist/bin/commands/dream.js +168 -0
- package/dist/bin/commands/dream.js.map +1 -0
- package/dist/bin/commands/eval.d.ts +181 -0
- package/dist/bin/commands/eval.d.ts.map +1 -0
- package/dist/bin/commands/eval.js +1582 -0
- package/dist/bin/commands/eval.js.map +1 -0
- package/dist/bin/commands/kb.js +0 -8
- package/dist/bin/commands/kb.js.map +1 -1
- package/dist/bin/commands/learn.js +12 -4
- package/dist/bin/commands/learn.js.map +1 -1
- package/dist/bin/commands/legacy.d.ts.map +1 -1
- package/dist/bin/commands/legacy.js +1 -1
- package/dist/bin/commands/legacy.js.map +1 -1
- package/dist/bin/commands/run.d.ts.map +1 -1
- package/dist/bin/commands/run.js +10 -9
- package/dist/bin/commands/run.js.map +1 -1
- package/dist/bin/commands/sessions.d.ts.map +1 -1
- package/dist/bin/commands/sessions.js.map +1 -1
- package/dist/bin/commands/skills.d.ts.map +1 -1
- package/dist/bin/commands/skills.js +283 -1
- package/dist/bin/commands/skills.js.map +1 -1
- package/dist/embeddings/bm25.d.ts.map +1 -1
- package/dist/embeddings/bm25.js +1 -2
- package/dist/embeddings/bm25.js.map +1 -1
- package/dist/embeddings/index.d.ts +3 -3
- package/dist/embeddings/index.d.ts.map +1 -1
- package/dist/embeddings/index.js +3 -3
- package/dist/embeddings/index.js.map +1 -1
- package/dist/embeddings/inverted-index.js +62 -7
- package/dist/embeddings/inverted-index.js.map +1 -1
- package/dist/embeddings/manager.d.ts.map +1 -1
- package/dist/embeddings/manager.js +6 -5
- package/dist/embeddings/manager.js.map +1 -1
- package/dist/embeddings/provider.d.ts +96 -5
- package/dist/embeddings/provider.d.ts.map +1 -1
- package/dist/embeddings/provider.js +171 -48
- package/dist/embeddings/provider.js.map +1 -1
- package/dist/embeddings/vector-store.d.ts.map +1 -1
- package/dist/embeddings/vector-store.js +3 -1
- package/dist/embeddings/vector-store.js.map +1 -1
- package/dist/eval/ablation-validate.d.ts +12 -0
- package/dist/eval/ablation-validate.d.ts.map +1 -0
- package/dist/eval/ablation-validate.js +78 -0
- package/dist/eval/ablation-validate.js.map +1 -0
- package/dist/eval/ablation.d.ts +94 -0
- package/dist/eval/ablation.d.ts.map +1 -0
- package/dist/eval/ablation.js +161 -0
- package/dist/eval/ablation.js.map +1 -0
- package/dist/eval/ci-smoke.d.ts +11 -0
- package/dist/eval/ci-smoke.d.ts.map +1 -0
- package/dist/eval/ci-smoke.js +49 -0
- package/dist/eval/ci-smoke.js.map +1 -0
- package/dist/eval/diagnostics.d.ts +214 -0
- package/dist/eval/diagnostics.d.ts.map +1 -0
- package/dist/eval/diagnostics.js +107 -0
- package/dist/eval/diagnostics.js.map +1 -0
- package/dist/eval/index.d.ts +27 -0
- package/dist/eval/index.d.ts.map +1 -0
- package/dist/eval/index.js +27 -0
- package/dist/eval/index.js.map +1 -0
- package/dist/eval/live/alfworld.d.ts +248 -0
- package/dist/eval/live/alfworld.d.ts.map +1 -0
- package/dist/eval/live/alfworld.js +637 -0
- package/dist/eval/live/alfworld.js.map +1 -0
- package/dist/eval/live/alfworld_h1.d.ts +16 -0
- package/dist/eval/live/alfworld_h1.d.ts.map +1 -0
- package/dist/eval/live/alfworld_h1.js +75 -0
- package/dist/eval/live/alfworld_h1.js.map +1 -0
- package/dist/eval/live/alfworld_memory.d.ts +38 -0
- package/dist/eval/live/alfworld_memory.d.ts.map +1 -0
- package/dist/eval/live/alfworld_memory.js +184 -0
- package/dist/eval/live/alfworld_memory.js.map +1 -0
- package/dist/eval/live/alfworld_strategy.d.ts +65 -0
- package/dist/eval/live/alfworld_strategy.d.ts.map +1 -0
- package/dist/eval/live/alfworld_strategy.js +89 -0
- package/dist/eval/live/alfworld_strategy.js.map +1 -0
- package/dist/eval/live/azure-openai-llm-provider.d.ts +41 -0
- package/dist/eval/live/azure-openai-llm-provider.d.ts.map +1 -0
- package/dist/eval/live/azure-openai-llm-provider.js +92 -0
- package/dist/eval/live/azure-openai-llm-provider.js.map +1 -0
- package/dist/eval/live/bridges/skillflow_e2b_bridge.d.ts +3 -0
- package/dist/eval/live/bridges/skillflow_e2b_bridge.d.ts.map +1 -0
- package/dist/eval/live/bridges/skillflow_e2b_bridge.js +12 -0
- package/dist/eval/live/bridges/skillflow_e2b_bridge.js.map +1 -0
- package/dist/eval/live/claude-cli-llm-provider.d.ts +53 -0
- package/dist/eval/live/claude-cli-llm-provider.d.ts.map +1 -0
- package/dist/eval/live/claude-cli-llm-provider.js +71 -0
- package/dist/eval/live/claude-cli-llm-provider.js.map +1 -0
- package/dist/eval/live/claude-cli.d.ts +96 -0
- package/dist/eval/live/claude-cli.d.ts.map +1 -0
- package/dist/eval/live/claude-cli.js +314 -0
- package/dist/eval/live/claude-cli.js.map +1 -0
- package/dist/eval/live/claude-delegate.d.ts +41 -0
- package/dist/eval/live/claude-delegate.d.ts.map +1 -0
- package/dist/eval/live/claude-delegate.js +59 -0
- package/dist/eval/live/claude-delegate.js.map +1 -0
- package/dist/eval/live/claude-workspace-backend.d.ts +24 -0
- package/dist/eval/live/claude-workspace-backend.d.ts.map +1 -0
- package/dist/eval/live/claude-workspace-backend.js +76 -0
- package/dist/eval/live/claude-workspace-backend.js.map +1 -0
- package/dist/eval/live/clbench.d.ts +64 -0
- package/dist/eval/live/clbench.d.ts.map +1 -0
- package/dist/eval/live/clbench.js +291 -0
- package/dist/eval/live/clbench.js.map +1 -0
- package/dist/eval/live/cold-reuse.d.ts +21 -0
- package/dist/eval/live/cold-reuse.d.ts.map +1 -0
- package/dist/eval/live/cold-reuse.js +102 -0
- package/dist/eval/live/cold-reuse.js.map +1 -0
- package/dist/eval/live/difficulty-registry.d.ts +68 -0
- package/dist/eval/live/difficulty-registry.d.ts.map +1 -0
- package/dist/eval/live/difficulty-registry.js +169 -0
- package/dist/eval/live/difficulty-registry.js.map +1 -0
- package/dist/eval/live/docker.d.ts +52 -0
- package/dist/eval/live/docker.d.ts.map +1 -0
- package/dist/eval/live/docker.js +164 -0
- package/dist/eval/live/docker.js.map +1 -0
- package/dist/eval/live/env-bridge.d.ts +68 -0
- package/dist/eval/live/env-bridge.d.ts.map +1 -0
- package/dist/eval/live/env-bridge.js +188 -0
- package/dist/eval/live/env-bridge.js.map +1 -0
- package/dist/eval/live/gsm8k.d.ts +44 -0
- package/dist/eval/live/gsm8k.d.ts.map +1 -0
- package/dist/eval/live/gsm8k.js +142 -0
- package/dist/eval/live/gsm8k.js.map +1 -0
- package/dist/eval/live/index.d.ts +38 -0
- package/dist/eval/live/index.d.ts.map +1 -0
- package/dist/eval/live/index.js +38 -0
- package/dist/eval/live/index.js.map +1 -0
- package/dist/eval/live/lifelongagent.d.ts +64 -0
- package/dist/eval/live/lifelongagent.d.ts.map +1 -0
- package/dist/eval/live/lifelongagent.js +216 -0
- package/dist/eval/live/lifelongagent.js.map +1 -0
- package/dist/eval/live/lift-registry.d.ts +128 -0
- package/dist/eval/live/lift-registry.d.ts.map +1 -0
- package/dist/eval/live/lift-registry.js +147 -0
- package/dist/eval/live/lift-registry.js.map +1 -0
- package/dist/eval/live/live-benchmark.d.ts +84 -0
- package/dist/eval/live/live-benchmark.d.ts.map +1 -0
- package/dist/eval/live/live-benchmark.js +2 -0
- package/dist/eval/live/live-benchmark.js.map +1 -0
- package/dist/eval/live/live-runner.d.ts +609 -0
- package/dist/eval/live/live-runner.d.ts.map +1 -0
- package/dist/eval/live/live-runner.js +1409 -0
- package/dist/eval/live/live-runner.js.map +1 -0
- package/dist/eval/live/refine.d.ts +88 -0
- package/dist/eval/live/refine.d.ts.map +1 -0
- package/dist/eval/live/refine.js +135 -0
- package/dist/eval/live/refine.js.map +1 -0
- package/dist/eval/live/registry-store.d.ts +109 -0
- package/dist/eval/live/registry-store.d.ts.map +1 -0
- package/dist/eval/live/registry-store.js +272 -0
- package/dist/eval/live/registry-store.js.map +1 -0
- package/dist/eval/live/run-checkpoint.d.ts +55 -0
- package/dist/eval/live/run-checkpoint.d.ts.map +1 -0
- package/dist/eval/live/run-checkpoint.js +86 -0
- package/dist/eval/live/run-checkpoint.js.map +1 -0
- package/dist/eval/live/run-resume.d.ts +22 -0
- package/dist/eval/live/run-resume.d.ts.map +1 -0
- package/dist/eval/live/run-resume.js +70 -0
- package/dist/eval/live/run-resume.js.map +1 -0
- package/dist/eval/live/skill-injector.d.ts +36 -0
- package/dist/eval/live/skill-injector.d.ts.map +1 -0
- package/dist/eval/live/skill-injector.js +81 -0
- package/dist/eval/live/skill-injector.js.map +1 -0
- package/dist/eval/live/skillflow-embedded-workbook-bundle.d.ts +3 -0
- package/dist/eval/live/skillflow-embedded-workbook-bundle.d.ts.map +1 -0
- package/dist/eval/live/skillflow-embedded-workbook-bundle.js +391 -0
- package/dist/eval/live/skillflow-embedded-workbook-bundle.js.map +1 -0
- package/dist/eval/live/skillflow.d.ts +154 -0
- package/dist/eval/live/skillflow.d.ts.map +1 -0
- package/dist/eval/live/skillflow.js +612 -0
- package/dist/eval/live/skillflow.js.map +1 -0
- package/dist/eval/live/skilllearnbench.d.ts +43 -0
- package/dist/eval/live/skilllearnbench.d.ts.map +1 -0
- package/dist/eval/live/skilllearnbench.js +154 -0
- package/dist/eval/live/skilllearnbench.js.map +1 -0
- package/dist/eval/live/skillopt_v1.d.ts +96 -0
- package/dist/eval/live/skillopt_v1.d.ts.map +1 -0
- package/dist/eval/live/skillopt_v1.js +0 -0
- package/dist/eval/live/skillopt_v1.js.map +1 -0
- package/dist/eval/live/skillopt_v1_causal.d.ts +26 -0
- package/dist/eval/live/skillopt_v1_causal.d.ts.map +1 -0
- package/dist/eval/live/skillopt_v1_causal.js +106 -0
- package/dist/eval/live/skillopt_v1_causal.js.map +1 -0
- package/dist/eval/live/skillopt_v1_memory.d.ts +53 -0
- package/dist/eval/live/skillopt_v1_memory.d.ts.map +1 -0
- package/dist/eval/live/skillopt_v1_memory.js +147 -0
- package/dist/eval/live/skillopt_v1_memory.js.map +1 -0
- package/dist/eval/live/skillopt_v1_rules.d.ts +39 -0
- package/dist/eval/live/skillopt_v1_rules.d.ts.map +1 -0
- package/dist/eval/live/skillopt_v1_rules.js +91 -0
- package/dist/eval/live/skillopt_v1_rules.js.map +1 -0
- package/dist/eval/live/skillsbench.d.ts +138 -0
- package/dist/eval/live/skillsbench.d.ts.map +1 -0
- package/dist/eval/live/skillsbench.js +626 -0
- package/dist/eval/live/skillsbench.js.map +1 -0
- package/dist/eval/live/stopping.d.ts +69 -0
- package/dist/eval/live/stopping.d.ts.map +1 -0
- package/dist/eval/live/stopping.js +213 -0
- package/dist/eval/live/stopping.js.map +1 -0
- package/dist/eval/live/trace.d.ts +20 -0
- package/dist/eval/live/trace.d.ts.map +1 -0
- package/dist/eval/live/trace.js +41 -0
- package/dist/eval/live/trace.js.map +1 -0
- package/dist/eval/mechanism-trace-adapter.d.ts +8 -0
- package/dist/eval/mechanism-trace-adapter.d.ts.map +1 -0
- package/dist/eval/mechanism-trace-adapter.js +118 -0
- package/dist/eval/mechanism-trace-adapter.js.map +1 -0
- package/dist/eval/memory-ab.d.ts +61 -0
- package/dist/eval/memory-ab.d.ts.map +1 -0
- package/dist/eval/memory-ab.js +161 -0
- package/dist/eval/memory-ab.js.map +1 -0
- package/dist/eval/memory-mock.d.ts +54 -0
- package/dist/eval/memory-mock.d.ts.map +1 -0
- package/dist/eval/memory-mock.js +129 -0
- package/dist/eval/memory-mock.js.map +1 -0
- package/dist/eval/memory-qa/index.d.ts +13 -0
- package/dist/eval/memory-qa/index.d.ts.map +1 -0
- package/dist/eval/memory-qa/index.js +13 -0
- package/dist/eval/memory-qa/index.js.map +1 -0
- package/dist/eval/memory-qa/iterative.d.ts +80 -0
- package/dist/eval/memory-qa/iterative.d.ts.map +1 -0
- package/dist/eval/memory-qa/iterative.js +107 -0
- package/dist/eval/memory-qa/iterative.js.map +1 -0
- package/dist/eval/memory-qa/loaders.d.ts +11 -0
- package/dist/eval/memory-qa/loaders.d.ts.map +1 -0
- package/dist/eval/memory-qa/loaders.js +21 -0
- package/dist/eval/memory-qa/loaders.js.map +1 -0
- package/dist/eval/memory-qa/metrics.d.ts +3 -0
- package/dist/eval/memory-qa/metrics.d.ts.map +1 -0
- package/dist/eval/memory-qa/metrics.js +2 -0
- package/dist/eval/memory-qa/metrics.js.map +1 -0
- package/dist/eval/memory-qa/qa.d.ts +186 -0
- package/dist/eval/memory-qa/qa.d.ts.map +1 -0
- package/dist/eval/memory-qa/qa.js +424 -0
- package/dist/eval/memory-qa/qa.js.map +1 -0
- package/dist/eval/memory-qa/retrieval.d.ts +33 -0
- package/dist/eval/memory-qa/retrieval.d.ts.map +1 -0
- package/dist/eval/memory-qa/retrieval.js +44 -0
- package/dist/eval/memory-qa/retrieval.js.map +1 -0
- package/dist/eval/memory-qa/serving.d.ts +60 -0
- package/dist/eval/memory-qa/serving.d.ts.map +1 -0
- package/dist/eval/memory-qa/serving.js +267 -0
- package/dist/eval/memory-qa/serving.js.map +1 -0
- package/dist/eval/memory-qa/types.d.ts +2 -0
- package/dist/eval/memory-qa/types.d.ts.map +1 -0
- package/dist/eval/memory-qa/types.js +2 -0
- package/dist/eval/memory-qa/types.js.map +1 -0
- package/dist/eval/metrics.d.ts +120 -0
- package/dist/eval/metrics.d.ts.map +1 -0
- package/dist/eval/metrics.js +361 -0
- package/dist/eval/metrics.js.map +1 -0
- package/dist/eval/oracle-smoke.d.ts +75 -0
- package/dist/eval/oracle-smoke.d.ts.map +1 -0
- package/dist/eval/oracle-smoke.js +143 -0
- package/dist/eval/oracle-smoke.js.map +1 -0
- package/dist/eval/playbook-calibration-report.d.ts +40 -0
- package/dist/eval/playbook-calibration-report.d.ts.map +1 -0
- package/dist/eval/playbook-calibration-report.js +246 -0
- package/dist/eval/playbook-calibration-report.js.map +1 -0
- package/dist/eval/playbook-candidate-decisions-report.d.ts +36 -0
- package/dist/eval/playbook-candidate-decisions-report.d.ts.map +1 -0
- package/dist/eval/playbook-candidate-decisions-report.js +201 -0
- package/dist/eval/playbook-candidate-decisions-report.js.map +1 -0
- package/dist/eval/playbook-usage-report.d.ts +7 -0
- package/dist/eval/playbook-usage-report.d.ts.map +1 -0
- package/dist/eval/playbook-usage-report.js +222 -0
- package/dist/eval/playbook-usage-report.js.map +1 -0
- package/dist/eval/report.d.ts +28 -0
- package/dist/eval/report.d.ts.map +1 -0
- package/dist/eval/report.js +567 -0
- package/dist/eval/report.js.map +1 -0
- package/dist/eval/retrieval/corpus.d.ts +41 -0
- package/dist/eval/retrieval/corpus.d.ts.map +1 -0
- package/dist/eval/retrieval/corpus.js +158 -0
- package/dist/eval/retrieval/corpus.js.map +1 -0
- package/dist/eval/retrieval/index.d.ts +12 -0
- package/dist/eval/retrieval/index.d.ts.map +1 -0
- package/dist/eval/retrieval/index.js +14 -0
- package/dist/eval/retrieval/index.js.map +1 -0
- package/dist/eval/retrieval/knowledge-corpus.d.ts +91 -0
- package/dist/eval/retrieval/knowledge-corpus.d.ts.map +1 -0
- package/dist/eval/retrieval/knowledge-corpus.js +268 -0
- package/dist/eval/retrieval/knowledge-corpus.js.map +1 -0
- package/dist/eval/retrieval/knowledge-quality.d.ts +91 -0
- package/dist/eval/retrieval/knowledge-quality.d.ts.map +1 -0
- package/dist/eval/retrieval/knowledge-quality.js +247 -0
- package/dist/eval/retrieval/knowledge-quality.js.map +1 -0
- package/dist/eval/retrieval/ladder.d.ts +69 -0
- package/dist/eval/retrieval/ladder.d.ts.map +1 -0
- package/dist/eval/retrieval/ladder.js +80 -0
- package/dist/eval/retrieval/ladder.js.map +1 -0
- package/dist/eval/retrieval/quality.d.ts +39 -0
- package/dist/eval/retrieval/quality.d.ts.map +1 -0
- package/dist/eval/retrieval/quality.js +75 -0
- package/dist/eval/retrieval/quality.js.map +1 -0
- package/dist/eval/rng.d.ts +25 -0
- package/dist/eval/rng.d.ts.map +1 -0
- package/dist/eval/rng.js +43 -0
- package/dist/eval/rng.js.map +1 -0
- package/dist/eval/runner.d.ts +65 -0
- package/dist/eval/runner.d.ts.map +1 -0
- package/dist/eval/runner.js +216 -0
- package/dist/eval/runner.js.map +1 -0
- package/dist/eval/skill-bundle.d.ts +18 -0
- package/dist/eval/skill-bundle.d.ts.map +1 -0
- package/dist/eval/skill-bundle.js +38 -0
- package/dist/eval/skill-bundle.js.map +1 -0
- package/dist/eval/swarmkit-report.d.ts +21 -0
- package/dist/eval/swarmkit-report.d.ts.map +1 -0
- package/dist/eval/swarmkit-report.js +93 -0
- package/dist/eval/swarmkit-report.js.map +1 -0
- package/dist/eval/task-stream.d.ts +22 -0
- package/dist/eval/task-stream.d.ts.map +1 -0
- package/dist/eval/task-stream.js +99 -0
- package/dist/eval/task-stream.js.map +1 -0
- package/dist/eval/types.d.ts +173 -0
- package/dist/eval/types.d.ts.map +1 -0
- package/dist/eval/types.js +11 -0
- package/dist/eval/types.js.map +1 -0
- package/dist/experimental/causal-store.d.ts +97 -0
- package/dist/experimental/causal-store.d.ts.map +1 -0
- package/dist/experimental/causal-store.js +213 -0
- package/dist/experimental/causal-store.js.map +1 -0
- package/dist/experimental/graph-layers/base.d.ts +29 -0
- package/dist/experimental/graph-layers/base.d.ts.map +1 -0
- package/dist/experimental/graph-layers/base.js +143 -0
- package/dist/experimental/graph-layers/base.js.map +1 -0
- package/dist/experimental/graph-layers/causal.d.ts +14 -0
- package/dist/experimental/graph-layers/causal.d.ts.map +1 -0
- package/dist/experimental/graph-layers/causal.js +14 -0
- package/dist/experimental/graph-layers/causal.js.map +1 -0
- package/dist/experimental/graph-layers/entity.d.ts +14 -0
- package/dist/experimental/graph-layers/entity.d.ts.map +1 -0
- package/dist/experimental/graph-layers/entity.js +14 -0
- package/dist/experimental/graph-layers/entity.js.map +1 -0
- package/dist/experimental/graph-layers/index.d.ts +6 -0
- package/dist/experimental/graph-layers/index.d.ts.map +1 -0
- package/dist/experimental/graph-layers/index.js +6 -0
- package/dist/experimental/graph-layers/index.js.map +1 -0
- package/dist/experimental/graph-layers/semantic.d.ts +14 -0
- package/dist/experimental/graph-layers/semantic.d.ts.map +1 -0
- package/dist/experimental/graph-layers/semantic.js +14 -0
- package/dist/experimental/graph-layers/semantic.js.map +1 -0
- package/dist/experimental/graph-layers/temporal.d.ts +14 -0
- package/dist/experimental/graph-layers/temporal.d.ts.map +1 -0
- package/dist/experimental/graph-layers/temporal.js +14 -0
- package/dist/experimental/graph-layers/temporal.js.map +1 -0
- package/dist/experimental/healing-orchestrator.d.ts +182 -0
- package/dist/experimental/healing-orchestrator.d.ts.map +1 -0
- package/dist/experimental/healing-orchestrator.js +250 -0
- package/dist/experimental/healing-orchestrator.js.map +1 -0
- package/dist/experimental/knowledge-graph-types.d.ts +148 -0
- package/dist/experimental/knowledge-graph-types.d.ts.map +1 -0
- package/dist/experimental/knowledge-graph-types.js +40 -0
- package/dist/experimental/knowledge-graph-types.js.map +1 -0
- package/dist/experimental/knowledge-graph.d.ts +41 -0
- package/dist/experimental/knowledge-graph.d.ts.map +1 -0
- package/dist/experimental/knowledge-graph.js +270 -0
- package/dist/experimental/knowledge-graph.js.map +1 -0
- package/dist/experimental/meta-reflection.d.ts +47 -0
- package/dist/experimental/meta-reflection.d.ts.map +1 -0
- package/dist/experimental/meta-reflection.js +143 -0
- package/dist/experimental/meta-reflection.js.map +1 -0
- package/dist/experimental/moe-gate.d.ts +134 -0
- package/dist/experimental/moe-gate.d.ts.map +1 -0
- package/dist/experimental/moe-gate.js +240 -0
- package/dist/experimental/moe-gate.js.map +1 -0
- package/dist/experimental/reasoning-bank.d.ts +130 -0
- package/dist/experimental/reasoning-bank.d.ts.map +1 -0
- package/dist/experimental/reasoning-bank.js +427 -0
- package/dist/experimental/reasoning-bank.js.map +1 -0
- package/dist/experimental/team/team-config.d.ts +127 -0
- package/dist/experimental/team/team-config.d.ts.map +1 -0
- package/dist/experimental/team/team-config.js +48 -0
- package/dist/experimental/team/team-config.js.map +1 -0
- package/dist/experimental/team/team-experience.d.ts +300 -0
- package/dist/experimental/team/team-experience.d.ts.map +1 -0
- package/dist/experimental/team/team-experience.js +355 -0
- package/dist/experimental/team/team-experience.js.map +1 -0
- package/dist/experimental/team/team-ingester.d.ts +152 -0
- package/dist/experimental/team/team-ingester.d.ts.map +1 -0
- package/dist/experimental/team/team-ingester.js +330 -0
- package/dist/experimental/team/team-ingester.js.map +1 -0
- package/dist/experimental/team/team-meta-learner.d.ts +51 -0
- package/dist/experimental/team/team-meta-learner.d.ts.map +1 -0
- package/dist/experimental/team/team-meta-learner.js +404 -0
- package/dist/experimental/team/team-meta-learner.js.map +1 -0
- package/dist/experimental/team/team-meta.d.ts +160 -0
- package/dist/experimental/team/team-meta.d.ts.map +1 -0
- package/dist/experimental/team/team-meta.js +42 -0
- package/dist/experimental/team/team-meta.js.map +1 -0
- package/dist/experimental/team/team-pipeline.d.ts +77 -0
- package/dist/experimental/team/team-pipeline.d.ts.map +1 -0
- package/dist/experimental/team/team-pipeline.js +262 -0
- package/dist/experimental/team/team-pipeline.js.map +1 -0
- package/dist/experimental/team/team-playbook-extraction.d.ts +45 -0
- package/dist/experimental/team/team-playbook-extraction.d.ts.map +1 -0
- package/dist/experimental/team/team-playbook-extraction.js +526 -0
- package/dist/experimental/team/team-playbook-extraction.js.map +1 -0
- package/dist/experimental/team/team-playbook.d.ts +276 -0
- package/dist/experimental/team/team-playbook.d.ts.map +1 -0
- package/dist/experimental/team/team-playbook.js +85 -0
- package/dist/experimental/team/team-playbook.js.map +1 -0
- package/dist/experimental/team/team-router.d.ts +98 -0
- package/dist/experimental/team/team-router.d.ts.map +1 -0
- package/dist/experimental/team/team-router.js +312 -0
- package/dist/experimental/team/team-router.js.map +1 -0
- package/dist/experimental/team/team-skill-library.d.ts +180 -0
- package/dist/experimental/team/team-skill-library.d.ts.map +1 -0
- package/dist/experimental/team/team-skill-library.js +385 -0
- package/dist/experimental/team/team-skill-library.js.map +1 -0
- package/dist/experimental/team/team-trajectory-analysis.d.ts +19 -0
- package/dist/experimental/team/team-trajectory-analysis.d.ts.map +1 -0
- package/dist/experimental/team/team-trajectory-analysis.js +442 -0
- package/dist/experimental/team/team-trajectory-analysis.js.map +1 -0
- package/dist/experimental/team/team-trajectory.d.ts +305 -0
- package/dist/experimental/team/team-trajectory.d.ts.map +1 -0
- package/dist/experimental/team/team-trajectory.js +315 -0
- package/dist/experimental/team/team-trajectory.js.map +1 -0
- package/dist/factory.d.ts +2 -3
- package/dist/factory.d.ts.map +1 -1
- package/dist/factory.js +12 -11
- package/dist/factory.js.map +1 -1
- package/dist/index.d.ts +9 -11
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +26 -32
- package/dist/index.js.map +1 -1
- package/dist/learning/analyzer.d.ts +26 -36
- package/dist/learning/analyzer.d.ts.map +1 -1
- package/dist/learning/analyzer.js +50 -11
- package/dist/learning/analyzer.js.map +1 -1
- package/dist/learning/compound-bootstrap/external-acquisition.d.ts +63 -0
- package/dist/learning/compound-bootstrap/external-acquisition.d.ts.map +1 -0
- package/dist/learning/compound-bootstrap/external-acquisition.js +255 -0
- package/dist/learning/compound-bootstrap/external-acquisition.js.map +1 -0
- package/dist/learning/compound-bootstrap/index.d.ts +3 -0
- package/dist/learning/compound-bootstrap/index.d.ts.map +1 -0
- package/dist/learning/compound-bootstrap/index.js +3 -0
- package/dist/learning/compound-bootstrap/index.js.map +1 -0
- package/dist/learning/compound-bootstrap/workspace-analyzer.d.ts +33 -0
- package/dist/learning/compound-bootstrap/workspace-analyzer.d.ts.map +1 -0
- package/dist/learning/compound-bootstrap/workspace-analyzer.js +379 -0
- package/dist/learning/compound-bootstrap/workspace-analyzer.js.map +1 -0
- package/dist/learning/consolidation-coordinator.d.ts +49 -0
- package/dist/learning/consolidation-coordinator.d.ts.map +1 -0
- package/dist/learning/consolidation-coordinator.js +75 -0
- package/dist/learning/consolidation-coordinator.js.map +1 -0
- package/dist/learning/convention-distiller.d.ts +84 -0
- package/dist/learning/convention-distiller.d.ts.map +1 -0
- package/dist/learning/convention-distiller.js +268 -0
- package/dist/learning/convention-distiller.js.map +1 -0
- package/dist/learning/distiller.d.ts +82 -0
- package/dist/learning/distiller.d.ts.map +1 -0
- package/dist/learning/distiller.js +353 -0
- package/dist/learning/distiller.js.map +1 -0
- package/dist/learning/effectiveness.d.ts +12 -2
- package/dist/learning/effectiveness.d.ts.map +1 -1
- package/dist/learning/effectiveness.js +18 -14
- package/dist/learning/effectiveness.js.map +1 -1
- package/dist/learning/escalation.d.ts +89 -0
- package/dist/learning/escalation.d.ts.map +1 -0
- package/dist/learning/escalation.js +168 -0
- package/dist/learning/escalation.js.map +1 -0
- package/dist/learning/external-exposure.d.ts +57 -0
- package/dist/learning/external-exposure.d.ts.map +1 -0
- package/dist/learning/external-exposure.js +95 -0
- package/dist/learning/external-exposure.js.map +1 -0
- package/dist/learning/gepa-proposer.d.ts +116 -0
- package/dist/learning/gepa-proposer.d.ts.map +1 -0
- package/dist/learning/gepa-proposer.js +258 -0
- package/dist/learning/gepa-proposer.js.map +1 -0
- package/dist/learning/index.d.ts +21 -8
- package/dist/learning/index.d.ts.map +1 -1
- package/dist/learning/index.js +28 -10
- package/dist/learning/index.js.map +1 -1
- package/dist/learning/instant-loop.d.ts +46 -16
- package/dist/learning/instant-loop.d.ts.map +1 -1
- package/dist/learning/instant-loop.js +114 -111
- package/dist/learning/instant-loop.js.map +1 -1
- package/dist/learning/knowledge-extractor.d.ts.map +1 -1
- package/dist/learning/knowledge-extractor.js +1 -2
- package/dist/learning/knowledge-extractor.js.map +1 -1
- package/dist/learning/llm-extractor.d.ts +88 -0
- package/dist/learning/llm-extractor.d.ts.map +1 -0
- package/dist/learning/llm-extractor.js +372 -0
- package/dist/learning/llm-extractor.js.map +1 -0
- package/dist/learning/loop-coordinator.d.ts +61 -0
- package/dist/learning/loop-coordinator.d.ts.map +1 -0
- package/dist/learning/loop-coordinator.js +96 -0
- package/dist/learning/loop-coordinator.js.map +1 -0
- package/dist/learning/maintenance-scheduler.d.ts +15 -4
- package/dist/learning/maintenance-scheduler.d.ts.map +1 -1
- package/dist/learning/maintenance-scheduler.js +19 -16
- package/dist/learning/maintenance-scheduler.js.map +1 -1
- package/dist/learning/mechanism-trace.d.ts +196 -0
- package/dist/learning/mechanism-trace.d.ts.map +1 -0
- package/dist/learning/mechanism-trace.js +81 -0
- package/dist/learning/mechanism-trace.js.map +1 -0
- package/dist/learning/merge-proposer.d.ts +102 -0
- package/dist/learning/merge-proposer.d.ts.map +1 -0
- package/dist/learning/merge-proposer.js +253 -0
- package/dist/learning/merge-proposer.js.map +1 -0
- package/dist/learning/meta-learner.d.ts +9 -7
- package/dist/learning/meta-learner.d.ts.map +1 -1
- package/dist/learning/meta-learner.js +16 -45
- package/dist/learning/meta-learner.js.map +1 -1
- package/dist/learning/mutation-gate.d.ts +218 -0
- package/dist/learning/mutation-gate.d.ts.map +1 -0
- package/dist/learning/mutation-gate.js +390 -0
- package/dist/learning/mutation-gate.js.map +1 -0
- package/dist/learning/oracle-signal.d.ts +67 -0
- package/dist/learning/oracle-signal.d.ts.map +1 -0
- package/dist/learning/oracle-signal.js +94 -0
- package/dist/learning/oracle-signal.js.map +1 -0
- package/dist/learning/pipeline.d.ts +31 -4
- package/dist/learning/pipeline.d.ts.map +1 -1
- package/dist/learning/pipeline.js +64 -12
- package/dist/learning/pipeline.js.map +1 -1
- package/dist/learning/playbook-extractor.d.ts +8 -0
- package/dist/learning/playbook-extractor.d.ts.map +1 -1
- package/dist/learning/playbook-extractor.js +119 -34
- package/dist/learning/playbook-extractor.js.map +1 -1
- package/dist/learning/playbook-optimizer.d.ts +37 -0
- package/dist/learning/playbook-optimizer.d.ts.map +1 -0
- package/dist/learning/playbook-optimizer.js +125 -0
- package/dist/learning/playbook-optimizer.js.map +1 -0
- package/dist/learning/reflective-proposer.d.ts +173 -0
- package/dist/learning/reflective-proposer.d.ts.map +1 -0
- package/dist/learning/reflective-proposer.js +354 -0
- package/dist/learning/reflective-proposer.js.map +1 -0
- package/dist/learning/reflexion-generator.d.ts.map +1 -1
- package/dist/learning/reflexion-generator.js +4 -3
- package/dist/learning/reflexion-generator.js.map +1 -1
- package/dist/learning/replay-executor.d.ts +64 -0
- package/dist/learning/replay-executor.d.ts.map +1 -0
- package/dist/learning/replay-executor.js +92 -0
- package/dist/learning/replay-executor.js.map +1 -0
- package/dist/learning/replay-types.d.ts +150 -0
- package/dist/learning/replay-types.d.ts.map +1 -0
- package/dist/learning/replay-types.js +207 -0
- package/dist/learning/replay-types.js.map +1 -0
- package/dist/learning/replay.d.ts +166 -0
- package/dist/learning/replay.d.ts.map +1 -0
- package/dist/learning/replay.js +228 -0
- package/dist/learning/replay.js.map +1 -0
- package/dist/learning/seed-report.d.ts +88 -0
- package/dist/learning/seed-report.d.ts.map +1 -0
- package/dist/learning/seed-report.js +120 -0
- package/dist/learning/seed-report.js.map +1 -0
- package/dist/learning/trajectory-sources/dataclaw.d.ts.map +1 -1
- package/dist/learning/trajectory-sources/dataclaw.js +6 -18
- package/dist/learning/trajectory-sources/dataclaw.js.map +1 -1
- package/dist/learning/trajectory-sources/entire.d.ts.map +1 -1
- package/dist/learning/trajectory-sources/entire.js +30 -9
- package/dist/learning/trajectory-sources/entire.js.map +1 -1
- package/dist/learning/trajectory-sources/file.d.ts.map +1 -1
- package/dist/learning/trajectory-sources/file.js.map +1 -1
- package/dist/learning/trajectory-sources/huggingface.d.ts.map +1 -1
- package/dist/learning/trajectory-sources/huggingface.js +7 -7
- package/dist/learning/trajectory-sources/huggingface.js.map +1 -1
- package/dist/learning/trajectory-sources/in-memory.d.ts.map +1 -1
- package/dist/learning/trajectory-sources/in-memory.js.map +1 -1
- package/dist/learning/trajectory-sources/index.d.ts +3 -4
- package/dist/learning/trajectory-sources/index.d.ts.map +1 -1
- package/dist/learning/trajectory-sources/index.js +3 -4
- package/dist/learning/trajectory-sources/index.js.map +1 -1
- package/dist/learning/trajectory-sources/pipeline.d.ts +4 -3
- package/dist/learning/trajectory-sources/pipeline.d.ts.map +1 -1
- package/dist/learning/trajectory-sources/pipeline.js +4 -3
- package/dist/learning/trajectory-sources/pipeline.js.map +1 -1
- package/dist/learning/unified-pipeline.d.ts +486 -61
- package/dist/learning/unified-pipeline.d.ts.map +1 -1
- package/dist/learning/unified-pipeline.js +1501 -232
- package/dist/learning/unified-pipeline.js.map +1 -1
- package/dist/learning/usage-inference.d.ts.map +1 -1
- package/dist/learning/usage-inference.js +4 -9
- package/dist/learning/usage-inference.js.map +1 -1
- package/dist/learning/workspace-snapshot.d.ts +146 -0
- package/dist/learning/workspace-snapshot.d.ts.map +1 -0
- package/dist/learning/workspace-snapshot.js +269 -0
- package/dist/learning/workspace-snapshot.js.map +1 -0
- package/dist/mcp/playbook-server.d.ts +61 -2
- package/dist/mcp/playbook-server.d.ts.map +1 -1
- package/dist/mcp/playbook-server.js +179 -9
- package/dist/mcp/playbook-server.js.map +1 -1
- package/dist/memory/coherence.d.ts.map +1 -1
- package/dist/memory/coherence.js +5 -7
- package/dist/memory/coherence.js.map +1 -1
- package/dist/memory/curated-loader.d.ts +24 -0
- package/dist/memory/curated-loader.d.ts.map +1 -1
- package/dist/memory/curated-loader.js +22 -5
- package/dist/memory/curated-loader.js.map +1 -1
- package/dist/memory/evolution/llm-evolver.d.ts +36 -0
- package/dist/memory/evolution/llm-evolver.d.ts.map +1 -0
- package/dist/memory/evolution/llm-evolver.js +106 -0
- package/dist/memory/evolution/llm-evolver.js.map +1 -0
- package/dist/memory/experience.d.ts +34 -13
- package/dist/memory/experience.d.ts.map +1 -1
- package/dist/memory/experience.js +59 -48
- package/dist/memory/experience.js.map +1 -1
- package/dist/memory/extraction/conversation-extractor.d.ts +62 -0
- package/dist/memory/extraction/conversation-extractor.d.ts.map +1 -0
- package/dist/memory/extraction/conversation-extractor.js +169 -0
- package/dist/memory/extraction/conversation-extractor.js.map +1 -0
- package/dist/memory/filesystem-cascade.d.ts +116 -0
- package/dist/memory/filesystem-cascade.d.ts.map +1 -0
- package/dist/memory/filesystem-cascade.js +221 -0
- package/dist/memory/filesystem-cascade.js.map +1 -0
- package/dist/memory/index.d.ts +14 -10
- package/dist/memory/index.d.ts.map +1 -1
- package/dist/memory/index.js +15 -12
- package/dist/memory/index.js.map +1 -1
- package/dist/memory/knowledge-bank.d.ts +145 -29
- package/dist/memory/knowledge-bank.d.ts.map +1 -1
- package/dist/memory/knowledge-bank.js +511 -200
- package/dist/memory/knowledge-bank.js.map +1 -1
- package/dist/memory/knowledge-defrag.d.ts +32 -9
- package/dist/memory/knowledge-defrag.d.ts.map +1 -1
- package/dist/memory/knowledge-defrag.js +57 -49
- package/dist/memory/knowledge-defrag.js.map +1 -1
- package/dist/memory/meta-playbook-bank.d.ts +24 -0
- package/dist/memory/meta-playbook-bank.d.ts.map +1 -0
- package/dist/memory/meta-playbook-bank.js +135 -0
- package/dist/memory/meta-playbook-bank.js.map +1 -0
- package/dist/memory/meta.d.ts.map +1 -1
- package/dist/memory/meta.js +33 -14
- package/dist/memory/meta.js.map +1 -1
- package/dist/memory/playbook-applicability.d.ts +43 -0
- package/dist/memory/playbook-applicability.d.ts.map +1 -0
- package/dist/memory/playbook-applicability.js +155 -0
- package/dist/memory/playbook-applicability.js.map +1 -0
- package/dist/memory/playbook-incorporation.d.ts +24 -0
- package/dist/memory/playbook-incorporation.d.ts.map +1 -0
- package/dist/memory/playbook-incorporation.js +41 -0
- package/dist/memory/playbook-incorporation.js.map +1 -0
- package/dist/memory/playbook.d.ts +444 -7
- package/dist/memory/playbook.d.ts.map +1 -1
- package/dist/memory/playbook.js +1231 -50
- package/dist/memory/playbook.js.map +1 -1
- package/dist/memory/procedural-skill.d.ts +142 -0
- package/dist/memory/procedural-skill.d.ts.map +1 -0
- package/dist/memory/procedural-skill.js +846 -0
- package/dist/memory/procedural-skill.js.map +1 -0
- package/dist/memory/search-provider.d.ts +8 -3
- package/dist/memory/search-provider.d.ts.map +1 -1
- package/dist/memory/search-providers/embedding.d.ts +64 -0
- package/dist/memory/search-providers/embedding.d.ts.map +1 -0
- package/dist/memory/search-providers/embedding.js +96 -0
- package/dist/memory/search-providers/embedding.js.map +1 -0
- package/dist/memory/search-providers/hybrid.d.ts +74 -0
- package/dist/memory/search-providers/hybrid.d.ts.map +1 -0
- package/dist/memory/search-providers/hybrid.js +94 -0
- package/dist/memory/search-providers/hybrid.js.map +1 -0
- package/dist/memory/search-providers/index.d.ts +3 -0
- package/dist/memory/search-providers/index.d.ts.map +1 -1
- package/dist/memory/search-providers/index.js +3 -0
- package/dist/memory/search-providers/index.js.map +1 -1
- package/dist/memory/search-providers/keyword-expanding.d.ts +22 -0
- package/dist/memory/search-providers/keyword-expanding.d.ts.map +1 -0
- package/dist/memory/search-providers/keyword-expanding.js +35 -0
- package/dist/memory/search-providers/keyword-expanding.js.map +1 -0
- package/dist/memory/search-providers/minimem.d.ts +16 -4
- package/dist/memory/search-providers/minimem.d.ts.map +1 -1
- package/dist/memory/search-providers/minimem.js +14 -3
- package/dist/memory/search-providers/minimem.js.map +1 -1
- package/dist/memory/search-providers/text-similarity.d.ts +2 -4
- package/dist/memory/search-providers/text-similarity.d.ts.map +1 -1
- package/dist/memory/search-providers/text-similarity.js.map +1 -1
- package/dist/memory/seeds/meta-playbook-seeds.d.ts +27 -0
- package/dist/memory/seeds/meta-playbook-seeds.d.ts.map +1 -0
- package/dist/memory/seeds/meta-playbook-seeds.js +560 -0
- package/dist/memory/seeds/meta-playbook-seeds.js.map +1 -0
- package/dist/memory/seeds/meta-strategy-seeds.d.ts +23 -0
- package/dist/memory/seeds/meta-strategy-seeds.d.ts.map +1 -0
- package/dist/memory/seeds/meta-strategy-seeds.js +82 -0
- package/dist/memory/seeds/meta-strategy-seeds.js.map +1 -0
- package/dist/memory/seeds/seed-loader.d.ts +34 -0
- package/dist/memory/seeds/seed-loader.d.ts.map +1 -0
- package/dist/memory/seeds/seed-loader.js +60 -0
- package/dist/memory/seeds/seed-loader.js.map +1 -0
- package/dist/memory/skill-exporter.d.ts.map +1 -1
- package/dist/memory/skill-exporter.js +1 -2
- package/dist/memory/skill-exporter.js.map +1 -1
- package/dist/memory/source-resolver.d.ts.map +1 -1
- package/dist/memory/source-resolver.js +7 -8
- package/dist/memory/source-resolver.js.map +1 -1
- package/dist/memory/system.d.ts +119 -14
- package/dist/memory/system.d.ts.map +1 -1
- package/dist/memory/system.js +416 -60
- package/dist/memory/system.js.map +1 -1
- package/dist/memory/temporal-compressor.d.ts +1 -1
- package/dist/memory/temporal-compressor.d.ts.map +1 -1
- package/dist/memory/temporal-compressor.js +26 -16
- package/dist/memory/temporal-compressor.js.map +1 -1
- package/dist/persistence/index.d.ts +2 -2
- package/dist/persistence/index.d.ts.map +1 -1
- package/dist/persistence/index.js +1 -1
- package/dist/persistence/index.js.map +1 -1
- package/dist/persistence/migrator.d.ts +34 -1
- package/dist/persistence/migrator.d.ts.map +1 -1
- package/dist/persistence/migrator.js +163 -33
- package/dist/persistence/migrator.js.map +1 -1
- package/dist/persistence/sqlite-persistence.d.ts +412 -1
- package/dist/persistence/sqlite-persistence.d.ts.map +1 -1
- package/dist/persistence/sqlite-persistence.js +1038 -47
- package/dist/persistence/sqlite-persistence.js.map +1 -1
- package/dist/runtime/backends/acp-protocol.d.ts.map +1 -1
- package/dist/runtime/backends/acp-protocol.js +2 -1
- package/dist/runtime/backends/acp-protocol.js.map +1 -1
- package/dist/runtime/backends/acp.d.ts.map +1 -1
- package/dist/runtime/backends/acp.js +5 -4
- package/dist/runtime/backends/acp.js.map +1 -1
- package/dist/runtime/backends/index.d.ts +2 -2
- package/dist/runtime/backends/index.d.ts.map +1 -1
- package/dist/runtime/backends/index.js +2 -2
- package/dist/runtime/backends/index.js.map +1 -1
- package/dist/runtime/backends/macro-agent.d.ts +17 -1
- package/dist/runtime/backends/macro-agent.d.ts.map +1 -1
- package/dist/runtime/backends/macro-agent.js +1 -1
- package/dist/runtime/backends/macro-agent.js.map +1 -1
- package/dist/runtime/backends/mock.d.ts.map +1 -1
- package/dist/runtime/backends/mock.js.map +1 -1
- package/dist/runtime/backends/subprocess.d.ts.map +1 -1
- package/dist/runtime/backends/subprocess.js +5 -4
- package/dist/runtime/backends/subprocess.js.map +1 -1
- package/dist/runtime/compute-provider.d.ts +2 -18
- package/dist/runtime/compute-provider.d.ts.map +1 -1
- package/dist/runtime/compute-provider.js +8 -8
- package/dist/runtime/compute-provider.js.map +1 -1
- package/dist/runtime/flows/learning.d.ts +2 -1
- package/dist/runtime/flows/learning.d.ts.map +1 -1
- package/dist/runtime/flows/learning.js +4 -5
- package/dist/runtime/flows/learning.js.map +1 -1
- package/dist/runtime/flows/validation.d.ts.map +1 -1
- package/dist/runtime/flows/validation.js +2 -5
- package/dist/runtime/flows/validation.js.map +1 -1
- package/dist/runtime/index.d.ts +1 -1
- package/dist/runtime/index.d.ts.map +1 -1
- package/dist/runtime/index.js.map +1 -1
- package/dist/runtime/manager.d.ts +128 -0
- package/dist/runtime/manager.d.ts.map +1 -1
- package/dist/runtime/manager.js +375 -64
- package/dist/runtime/manager.js.map +1 -1
- package/dist/runtime/types.d.ts +92 -1
- package/dist/runtime/types.d.ts.map +1 -1
- package/dist/search/evaluator.d.ts +71 -0
- package/dist/search/evaluator.d.ts.map +1 -1
- package/dist/search/evaluator.js +40 -5
- package/dist/search/evaluator.js.map +1 -1
- package/dist/search/index.d.ts +3 -5
- package/dist/search/index.d.ts.map +1 -1
- package/dist/search/index.js +4 -7
- package/dist/search/index.js.map +1 -1
- package/dist/search/moe-gate.d.ts +48 -2
- package/dist/search/moe-gate.d.ts.map +1 -1
- package/dist/search/moe-gate.js +117 -4
- package/dist/search/moe-gate.js.map +1 -1
- package/dist/search/refinement-loop.d.ts +63 -3
- package/dist/search/refinement-loop.d.ts.map +1 -1
- package/dist/search/refinement-loop.js +278 -23
- package/dist/search/refinement-loop.js.map +1 -1
- package/dist/search/refinement-types.d.ts +4 -2
- package/dist/search/refinement-types.d.ts.map +1 -1
- package/dist/search/refinement-types.js +2 -11
- package/dist/search/refinement-types.js.map +1 -1
- package/dist/search/router.d.ts +41 -34
- package/dist/search/router.d.ts.map +1 -1
- package/dist/search/router.js +156 -90
- package/dist/search/router.js.map +1 -1
- package/dist/search/solver.js +1 -1
- package/dist/search/solver.js.map +1 -1
- package/dist/search/task-difficulty.d.ts +54 -0
- package/dist/search/task-difficulty.d.ts.map +1 -0
- package/dist/search/task-difficulty.js +116 -0
- package/dist/search/task-difficulty.js.map +1 -0
- package/dist/search/tau-bench-verifier.d.ts +74 -0
- package/dist/search/tau-bench-verifier.d.ts.map +1 -0
- package/dist/search/tau-bench-verifier.js +96 -0
- package/dist/search/tau-bench-verifier.js.map +1 -0
- package/dist/search/verification-runner.d.ts.map +1 -1
- package/dist/search/verification-runner.js +6 -5
- package/dist/search/verification-runner.js.map +1 -1
- package/dist/session-bank/git-reader.d.ts.map +1 -1
- package/dist/session-bank/git-reader.js +5 -19
- package/dist/session-bank/git-reader.js.map +1 -1
- package/dist/session-bank/parser.d.ts.map +1 -1
- package/dist/session-bank/parser.js +26 -0
- package/dist/session-bank/parser.js.map +1 -1
- package/dist/session-bank/session-bank.d.ts.map +1 -1
- package/dist/session-bank/session-bank.js +2 -5
- package/dist/session-bank/session-bank.js.map +1 -1
- package/dist/session-bank/types.d.ts +24 -0
- package/dist/session-bank/types.d.ts.map +1 -1
- package/dist/surfacing/index.d.ts +3 -3
- package/dist/surfacing/index.d.ts.map +1 -1
- package/dist/surfacing/index.js +2 -2
- package/dist/surfacing/index.js.map +1 -1
- package/dist/surfacing/shared-bank.d.ts +43 -0
- package/dist/surfacing/shared-bank.d.ts.map +1 -0
- package/dist/surfacing/shared-bank.js +104 -0
- package/dist/surfacing/shared-bank.js.map +1 -0
- package/dist/surfacing/skill-library.d.ts +98 -2
- package/dist/surfacing/skill-library.d.ts.map +1 -1
- package/dist/surfacing/skill-library.js +192 -17
- package/dist/surfacing/skill-library.js.map +1 -1
- package/dist/surfacing/skill-publisher.d.ts +3 -1
- package/dist/surfacing/skill-publisher.d.ts.map +1 -1
- package/dist/surfacing/skill-publisher.js +28 -28
- package/dist/surfacing/skill-publisher.js.map +1 -1
- package/dist/surfacing/sqlite-storage-adapter.d.ts +2 -2
- package/dist/surfacing/sqlite-storage-adapter.d.ts.map +1 -1
- package/dist/surfacing/sqlite-storage-adapter.js +27 -18
- package/dist/surfacing/sqlite-storage-adapter.js.map +1 -1
- package/dist/types/analysis.d.ts +43 -0
- package/dist/types/analysis.d.ts.map +1 -0
- package/dist/types/analysis.js +10 -0
- package/dist/types/analysis.js.map +1 -0
- package/dist/types/config.d.ts +2178 -425
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/config.js +600 -88
- package/dist/types/config.js.map +1 -1
- package/dist/types/dataclaw.d.ts +3 -3
- package/dist/types/index.d.ts +4 -7
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +2 -10
- package/dist/types/index.js.map +1 -1
- package/dist/types/knowledge-graph.d.ts +1 -1
- package/dist/types/knowledge-graph.d.ts.map +1 -1
- package/dist/types/knowledge.d.ts +219 -11
- package/dist/types/knowledge.d.ts.map +1 -1
- package/dist/types/knowledge.js +90 -30
- package/dist/types/knowledge.js.map +1 -1
- package/dist/types/memory.d.ts +8 -0
- package/dist/types/memory.d.ts.map +1 -1
- package/dist/types/memory.js +12 -4
- package/dist/types/memory.js.map +1 -1
- package/dist/types/outcome.d.ts +11 -0
- package/dist/types/outcome.d.ts.map +1 -1
- package/dist/types/outcome.js +9 -0
- package/dist/types/outcome.js.map +1 -1
- package/dist/types/playbook.d.ts +63 -0
- package/dist/types/playbook.d.ts.map +1 -1
- package/dist/types/playbook.js +51 -0
- package/dist/types/playbook.js.map +1 -1
- package/dist/types/trajectory-source.d.ts +1 -1
- package/dist/types/trajectory-source.d.ts.map +1 -1
- package/dist/types/trajectory.d.ts +61 -0
- package/dist/types/trajectory.d.ts.map +1 -1
- package/dist/types/trajectory.js +25 -0
- package/dist/types/trajectory.js.map +1 -1
- package/dist/utils/clock.d.ts +36 -0
- package/dist/utils/clock.d.ts.map +1 -0
- package/dist/utils/clock.js +48 -0
- package/dist/utils/clock.js.map +1 -0
- package/dist/utils/frontmatter.d.ts.map +1 -1
- package/dist/utils/frontmatter.js +10 -2
- package/dist/utils/frontmatter.js.map +1 -1
- package/dist/utils/index.d.ts +4 -1
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +4 -1
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/logger.d.ts +31 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +50 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/objectives.d.ts +45 -0
- package/dist/utils/objectives.d.ts.map +1 -0
- package/dist/utils/objectives.js +74 -0
- package/dist/utils/objectives.js.map +1 -0
- package/dist/utils/partitioned-store.d.ts.map +1 -1
- package/dist/utils/partitioned-store.js.map +1 -1
- package/dist/utils/playbook-hash.d.ts +19 -0
- package/dist/utils/playbook-hash.d.ts.map +1 -0
- package/dist/utils/playbook-hash.js +51 -0
- package/dist/utils/playbook-hash.js.map +1 -0
- package/dist/utils/similarity.d.ts.map +1 -1
- package/dist/utils/similarity.js.map +1 -1
- package/dist/utils/solver-canonicalizer.d.ts +22 -0
- package/dist/utils/solver-canonicalizer.d.ts.map +1 -0
- package/dist/utils/solver-canonicalizer.js +41 -0
- package/dist/utils/solver-canonicalizer.js.map +1 -0
- package/dist/utils/storage.d.ts.map +1 -1
- package/dist/utils/storage.js +1 -3
- package/dist/utils/storage.js.map +1 -1
- package/dist/utils/task-signature.d.ts +34 -0
- package/dist/utils/task-signature.d.ts.map +1 -0
- package/dist/utils/task-signature.js +112 -0
- package/dist/utils/task-signature.js.map +1 -0
- package/dist/utils/trajectory-helpers.d.ts.map +1 -1
- package/dist/utils/trajectory-helpers.js.map +1 -1
- package/dist/utils/validation.d.ts.map +1 -1
- package/dist/utils/validation.js.map +1 -1
- package/dist/workspace/efficacy-toolkit.d.ts.map +1 -1
- package/dist/workspace/efficacy-toolkit.js +18 -26
- package/dist/workspace/efficacy-toolkit.js.map +1 -1
- package/dist/workspace/index.d.ts +4 -3
- package/dist/workspace/index.d.ts.map +1 -1
- package/dist/workspace/index.js +5 -3
- package/dist/workspace/index.js.map +1 -1
- package/dist/workspace/runner.d.ts.map +1 -1
- package/dist/workspace/runner.js +95 -21
- package/dist/workspace/runner.js.map +1 -1
- package/dist/workspace/skill-converter.d.ts +66 -1
- package/dist/workspace/skill-converter.d.ts.map +1 -1
- package/dist/workspace/skill-converter.js +238 -19
- package/dist/workspace/skill-converter.js.map +1 -1
- package/dist/workspace/skill-import.d.ts +43 -0
- package/dist/workspace/skill-import.d.ts.map +1 -0
- package/dist/workspace/skill-import.js +40 -0
- package/dist/workspace/skill-import.js.map +1 -0
- package/dist/workspace/templates/index.d.ts +6 -8
- package/dist/workspace/templates/index.d.ts.map +1 -1
- package/dist/workspace/templates/index.js +7 -11
- package/dist/workspace/templates/index.js.map +1 -1
- package/dist/workspace/templates/knowledge-defrag.d.ts.map +1 -1
- package/dist/workspace/templates/knowledge-defrag.js +0 -2
- package/dist/workspace/templates/knowledge-defrag.js.map +1 -1
- package/dist/workspace/templates/knowledge-extraction.d.ts +11 -0
- package/dist/workspace/templates/knowledge-extraction.d.ts.map +1 -1
- package/dist/workspace/templates/knowledge-extraction.js +11 -6
- package/dist/workspace/templates/knowledge-extraction.js.map +1 -1
- package/dist/workspace/templates/playbook-conditioning.d.ts +38 -0
- package/dist/workspace/templates/playbook-conditioning.d.ts.map +1 -0
- package/dist/workspace/templates/playbook-conditioning.js +147 -0
- package/dist/workspace/templates/playbook-conditioning.js.map +1 -0
- package/dist/workspace/templates/playbook-decay-detection.d.ts.map +1 -1
- package/dist/workspace/templates/playbook-decay-detection.js +24 -18
- package/dist/workspace/templates/playbook-decay-detection.js.map +1 -1
- package/dist/workspace/templates/playbook-efficacy-audit.d.ts.map +1 -1
- package/dist/workspace/templates/playbook-efficacy-audit.js +26 -11
- package/dist/workspace/templates/playbook-efficacy-audit.js.map +1 -1
- package/dist/workspace/templates/playbook-extraction.d.ts.map +1 -1
- package/dist/workspace/templates/playbook-extraction.js +75 -15
- package/dist/workspace/templates/playbook-extraction.js.map +1 -1
- package/dist/workspace/templates/playbook-lifecycle-review.d.ts.map +1 -1
- package/dist/workspace/templates/playbook-lifecycle-review.js +12 -8
- package/dist/workspace/templates/playbook-lifecycle-review.js.map +1 -1
- package/dist/workspace/templates/refinement-analysis.d.ts.map +1 -1
- package/dist/workspace/templates/refinement-analysis.js +11 -5
- package/dist/workspace/templates/refinement-analysis.js.map +1 -1
- package/dist/workspace/templates/skill-enrichment.d.ts.map +1 -1
- package/dist/workspace/templates/skill-enrichment.js +7 -11
- package/dist/workspace/templates/skill-enrichment.js.map +1 -1
- package/dist/workspace/templates/solution-evaluation.d.ts.map +1 -1
- package/dist/workspace/templates/solution-evaluation.js +15 -8
- package/dist/workspace/templates/solution-evaluation.js.map +1 -1
- package/dist/workspace/templates/trajectory-analysis.d.ts.map +1 -1
- package/dist/workspace/templates/trajectory-analysis.js +1 -3
- package/dist/workspace/templates/trajectory-analysis.js.map +1 -1
- package/dist/workspace/templates/usage-inference.d.ts.map +1 -1
- package/dist/workspace/templates/usage-inference.js +9 -7
- package/dist/workspace/templates/usage-inference.js.map +1 -1
- package/dist/workspace/types.d.ts +32 -2
- package/dist/workspace/types.d.ts.map +1 -1
- package/dist/workspace/types.js +29 -0
- package/dist/workspace/types.js.map +1 -1
- package/package.json +43 -19
- package/playbooks/agent-ops/long-task-checkpointing.json +54 -0
- package/playbooks/agent-ops/progressive-context-gathering.json +56 -0
- package/playbooks/agent-ops/safe-destructive-operations.json +59 -0
- package/playbooks/agent-ops/scope-discipline.json +56 -0
- package/playbooks/agent-ops/stall-detection-strategy-switch.json +55 -0
- package/playbooks/agent-ops/verification-before-completion.json +54 -0
- package/playbooks/alfworld/clean-and-place.json +35 -0
- package/playbooks/alfworld/cool-and-place.json +35 -0
- package/playbooks/alfworld/examine-in-light.json +32 -0
- package/playbooks/alfworld/heat-and-place.json +35 -0
- package/playbooks/alfworld/pick-and-place.json +37 -0
- package/playbooks/alfworld/pick-two-and-place.json +35 -0
- package/.claude/settings.json +0 -197
- package/.entire/settings.json +0 -4
- package/.sessionlog/settings.json +0 -4
- package/CLAUDE.md +0 -233
- package/SKILL.md +0 -193
- package/docs/DESIGN-agentic-workspace.md +0 -2057
- package/docs/DESIGN-semantic-memory-knowledge-bank.md +0 -1789
- package/docs/DESIGN-session-bank.md +0 -1134
- package/docs/DESIGN-team-extraction-pipeline.md +0 -1369
- package/docs/PROPOSAL-team-aware-learning.md +0 -1080
- package/docs/RESEARCH-semantic-memory-knowledge-structures.md +0 -517
- package/docs/RESEARCH-team-trajectory-learning.md +0 -553
- package/gaps.md +0 -204
- package/scripts/migrate-to-playbooks.ts +0 -307
- package/src/agents/index.ts +0 -14
- package/src/agents/mock-provider.ts +0 -93
- package/src/agents/types.ts +0 -137
- package/src/atlas.ts +0 -1198
- package/src/bin/cli-utils.ts +0 -220
- package/src/bin/cognitive-core.ts +0 -162
- package/src/bin/commands/kb.ts +0 -266
- package/src/bin/commands/learn.ts +0 -100
- package/src/bin/commands/legacy.ts +0 -182
- package/src/bin/commands/run.ts +0 -113
- package/src/bin/commands/sessions.ts +0 -221
- package/src/bin/commands/skills.ts +0 -146
- package/src/embeddings/bm25.ts +0 -337
- package/src/embeddings/index.ts +0 -42
- package/src/embeddings/inverted-index.ts +0 -134
- package/src/embeddings/manager.ts +0 -293
- package/src/embeddings/provider.ts +0 -318
- package/src/embeddings/vector-store.ts +0 -365
- package/src/factory.ts +0 -280
- package/src/index.ts +0 -495
- package/src/learning/analyzer.ts +0 -319
- package/src/learning/effectiveness.ts +0 -428
- package/src/learning/energy-evaluator.ts +0 -282
- package/src/learning/healing-orchestrator.ts +0 -383
- package/src/learning/index.ts +0 -150
- package/src/learning/instant-loop.ts +0 -357
- package/src/learning/knowledge-extractor.ts +0 -470
- package/src/learning/maintenance-scheduler.ts +0 -271
- package/src/learning/meta-learner.ts +0 -552
- package/src/learning/playbook-extractor.ts +0 -702
- package/src/learning/reflexion-generator.ts +0 -273
- package/src/learning/team-ingester.ts +0 -499
- package/src/learning/team-meta-learner.ts +0 -558
- package/src/learning/team-pipeline.ts +0 -364
- package/src/learning/trajectory-sources/dataclaw.ts +0 -403
- package/src/learning/trajectory-sources/entire.ts +0 -251
- package/src/learning/trajectory-sources/file.ts +0 -136
- package/src/learning/trajectory-sources/huggingface.ts +0 -248
- package/src/learning/trajectory-sources/in-memory.ts +0 -61
- package/src/learning/trajectory-sources/index.ts +0 -15
- package/src/learning/trajectory-sources/pipeline.ts +0 -69
- package/src/learning/unified-pipeline.ts +0 -1191
- package/src/learning/usage-inference.ts +0 -372
- package/src/mcp/index.ts +0 -12
- package/src/mcp/playbook-server.ts +0 -565
- package/src/memory/candidate-retrieval.ts +0 -72
- package/src/memory/causal-store.ts +0 -273
- package/src/memory/coherence.ts +0 -252
- package/src/memory/curated-loader.ts +0 -213
- package/src/memory/experience.ts +0 -682
- package/src/memory/graph-layers/base.ts +0 -184
- package/src/memory/graph-layers/causal.ts +0 -16
- package/src/memory/graph-layers/entity.ts +0 -16
- package/src/memory/graph-layers/index.ts +0 -5
- package/src/memory/graph-layers/semantic.ts +0 -16
- package/src/memory/graph-layers/temporal.ts +0 -16
- package/src/memory/index.ts +0 -131
- package/src/memory/knowledge-bank.ts +0 -1317
- package/src/memory/knowledge-defrag.ts +0 -329
- package/src/memory/knowledge-graph.ts +0 -361
- package/src/memory/meta.ts +0 -488
- package/src/memory/playbook.ts +0 -676
- package/src/memory/reasoning-bank.ts +0 -458
- package/src/memory/reflexion.ts +0 -122
- package/src/memory/search-provider.ts +0 -35
- package/src/memory/search-providers/index.ts +0 -3
- package/src/memory/search-providers/minimem.ts +0 -84
- package/src/memory/search-providers/text-similarity.ts +0 -35
- package/src/memory/skill-exporter.ts +0 -357
- package/src/memory/source-resolver.ts +0 -422
- package/src/memory/system.ts +0 -620
- package/src/memory/team-experience.ts +0 -604
- package/src/memory/temporal-compressor.ts +0 -409
- package/src/persistence/index.ts +0 -37
- package/src/persistence/migrator.ts +0 -298
- package/src/persistence/serializers.ts +0 -79
- package/src/persistence/sqlite-persistence.ts +0 -925
- package/src/runtime/backends/acp-protocol.ts +0 -231
- package/src/runtime/backends/acp.ts +0 -239
- package/src/runtime/backends/index.ts +0 -38
- package/src/runtime/backends/macro-agent.ts +0 -177
- package/src/runtime/backends/mock.ts +0 -218
- package/src/runtime/backends/subprocess.ts +0 -356
- package/src/runtime/compute-provider.ts +0 -206
- package/src/runtime/flows/learning.ts +0 -166
- package/src/runtime/flows/validation.ts +0 -381
- package/src/runtime/index.ts +0 -75
- package/src/runtime/manager.ts +0 -685
- package/src/runtime/types.ts +0 -198
- package/src/search/evaluator.ts +0 -499
- package/src/search/index.ts +0 -78
- package/src/search/moe-gate.ts +0 -304
- package/src/search/refinement-loop.ts +0 -457
- package/src/search/refinement-types.ts +0 -159
- package/src/search/router.ts +0 -368
- package/src/search/solver.ts +0 -303
- package/src/search/team-router.ts +0 -459
- package/src/search/verification-runner.ts +0 -570
- package/src/session-bank/git-reader.ts +0 -200
- package/src/session-bank/index.ts +0 -26
- package/src/session-bank/parser.ts +0 -548
- package/src/session-bank/session-bank.ts +0 -485
- package/src/session-bank/types.ts +0 -176
- package/src/surfacing/index.ts +0 -29
- package/src/surfacing/publisher.ts +0 -23
- package/src/surfacing/skill-library.ts +0 -625
- package/src/surfacing/skill-publisher.ts +0 -257
- package/src/surfacing/sqlite-storage-adapter.ts +0 -285
- package/src/surfacing/team-skill-library.ts +0 -610
- package/src/types/config.ts +0 -661
- package/src/types/dataclaw.ts +0 -99
- package/src/types/huggingface-transformers.d.ts +0 -12
- package/src/types/index.ts +0 -293
- package/src/types/knowledge-graph.ts +0 -246
- package/src/types/knowledge.ts +0 -388
- package/src/types/memory.ts +0 -300
- package/src/types/meta.ts +0 -218
- package/src/types/outcome.ts +0 -66
- package/src/types/playbook.ts +0 -215
- package/src/types/step.ts +0 -40
- package/src/types/task.ts +0 -52
- package/src/types/team-meta.ts +0 -212
- package/src/types/team-playbook.ts +0 -384
- package/src/types/team-trajectory.ts +0 -673
- package/src/types/trajectory-source.ts +0 -47
- package/src/types/trajectory.ts +0 -80
- package/src/utils/error-classifier.ts +0 -113
- package/src/utils/frontmatter.ts +0 -118
- package/src/utils/index.ts +0 -63
- package/src/utils/partitioned-store.ts +0 -299
- package/src/utils/similarity.ts +0 -139
- package/src/utils/storage.ts +0 -249
- package/src/utils/trajectory-helpers.ts +0 -79
- package/src/utils/validation.ts +0 -286
- package/src/workspace/efficacy-toolkit.ts +0 -496
- package/src/workspace/index.ts +0 -77
- package/src/workspace/runner.ts +0 -281
- package/src/workspace/skill-converter.ts +0 -288
- package/src/workspace/templates/index.ts +0 -95
- package/src/workspace/templates/knowledge-defrag.ts +0 -223
- package/src/workspace/templates/knowledge-extraction.ts +0 -337
- package/src/workspace/templates/meta-reflection.ts +0 -208
- package/src/workspace/templates/playbook-decay-detection.ts +0 -272
- package/src/workspace/templates/playbook-efficacy-audit.ts +0 -246
- package/src/workspace/templates/playbook-extraction.ts +0 -240
- package/src/workspace/templates/playbook-lifecycle-review.ts +0 -274
- package/src/workspace/templates/refinement-analysis.ts +0 -162
- package/src/workspace/templates/skill-enrichment.ts +0 -275
- package/src/workspace/templates/solution-evaluation.ts +0 -199
- package/src/workspace/templates/team-playbook-extraction.ts +0 -631
- package/src/workspace/templates/team-trajectory-analysis.ts +0 -564
- package/src/workspace/templates/trajectory-analysis.ts +0 -234
- package/src/workspace/templates/usage-inference.ts +0 -163
- package/src/workspace/types.ts +0 -185
- package/tests/atlas-knowledge.test.ts +0 -165
- package/tests/embeddings/bm25.test.ts +0 -130
- package/tests/embeddings/inverted-index.test.ts +0 -138
- package/tests/embeddings/manager.test.ts +0 -205
- package/tests/feature-toggles.test.ts +0 -275
- package/tests/fixtures/behavioral-trajectories.ts +0 -210
- package/tests/gap-fixes.test.ts +0 -1116
- package/tests/integration/atlas.test.ts +0 -266
- package/tests/integration/cli-e2e.test.ts +0 -621
- package/tests/integration/curated-sources-e2e.test.ts +0 -502
- package/tests/integration/dataclaw-e2e.test.ts +0 -559
- package/tests/integration/e2e.test.ts +0 -1337
- package/tests/integration/entire-e2e.test.ts +0 -376
- package/tests/integration/huggingface-e2e.test.ts +0 -627
- package/tests/integration/persistence-e2e.test.ts +0 -741
- package/tests/integration/phase-e2e.test.ts +0 -1143
- package/tests/integration/pipeline-data-correctness.test.ts +0 -794
- package/tests/integration/session-bank.test.ts +0 -231
- package/tests/integration/sessionlog-e2e.test.ts +0 -329
- package/tests/integration/skill-tree-wiring.test.ts +0 -152
- package/tests/integration/unified-pipeline-e2e.test.ts +0 -634
- package/tests/learning/analyzer.test.ts +0 -426
- package/tests/learning/dataclaw-trajectory-source.test.ts +0 -642
- package/tests/learning/effectiveness.test.ts +0 -542
- package/tests/learning/energy-evaluator.test.ts +0 -180
- package/tests/learning/entire-trajectory-source.test.ts +0 -380
- package/tests/learning/healing-orchestrator.test.ts +0 -269
- package/tests/learning/huggingface-trajectory-source.test.ts +0 -817
- package/tests/learning/instant-loop.test.ts +0 -243
- package/tests/learning/knowledge-extractor.test.ts +0 -491
- package/tests/learning/maintenance-scheduler.test.ts +0 -191
- package/tests/learning/meta-learner.test.ts +0 -418
- package/tests/learning/pipeline-memory-updates.test.ts +0 -721
- package/tests/learning/playbook-extractor-provenance.test.ts +0 -114
- package/tests/learning/reflexion-generator.test.ts +0 -411
- package/tests/learning/team-ingester.test.ts +0 -349
- package/tests/learning/team-meta-learner.test.ts +0 -618
- package/tests/learning/team-pipeline.test.ts +0 -334
- package/tests/learning/trajectory-sources.test.ts +0 -320
- package/tests/learning/unified-pipeline-efficacy.test.ts +0 -232
- package/tests/learning/unified-pipeline.test.ts +0 -322
- package/tests/learning/usage-inference.test.ts +0 -254
- package/tests/mcp/playbook-server.test.ts +0 -257
- package/tests/memory/candidate-retrieval.test.ts +0 -167
- package/tests/memory/causal-store.test.ts +0 -276
- package/tests/memory/coherence.test.ts +0 -232
- package/tests/memory/compound-engineering-seed.test.ts +0 -338
- package/tests/memory/curated-loader-extended.test.ts +0 -225
- package/tests/memory/experience.test.ts +0 -203
- package/tests/memory/graph-layers/semantic.test.ts +0 -219
- package/tests/memory/knowledge-bank-extraction.test.ts +0 -558
- package/tests/memory/knowledge-bank.test.ts +0 -705
- package/tests/memory/knowledge-defrag.test.ts +0 -366
- package/tests/memory/knowledge-evolution.test.ts +0 -563
- package/tests/memory/knowledge-graph.test.ts +0 -492
- package/tests/memory/knowledge-inbox.test.ts +0 -258
- package/tests/memory/knowledge-minimem.test.ts +0 -251
- package/tests/memory/meta.test.ts +0 -399
- package/tests/memory/playbook-quality-validation.test.ts +0 -430
- package/tests/memory/playbook.test.ts +0 -644
- package/tests/memory/provenance.test.ts +0 -648
- package/tests/memory/reasoning-bank.test.ts +0 -239
- package/tests/memory/reflexion.test.ts +0 -166
- package/tests/memory/skill-exporter.test.ts +0 -475
- package/tests/memory/source-resolver.test.ts +0 -700
- package/tests/memory/system.test.ts +0 -330
- package/tests/memory/team-experience.test.ts +0 -411
- package/tests/memory/temporal-compressor.test.ts +0 -318
- package/tests/persistence/migrator.test.ts +0 -1009
- package/tests/persistence/sqlite-persistence.test.ts +0 -635
- package/tests/runtime/agent-manager.test.ts +0 -517
- package/tests/runtime/compute-provider.test.ts +0 -288
- package/tests/runtime/delegate.test.ts +0 -354
- package/tests/runtime/macro-agent-backend.test.ts +0 -266
- package/tests/runtime/mock-backend.test.ts +0 -248
- package/tests/search/evaluator.test.ts +0 -257
- package/tests/search/moe-gate.test.ts +0 -250
- package/tests/search/refinement-loop.test.ts +0 -477
- package/tests/search/refinement.test.ts +0 -267
- package/tests/search/router.test.ts +0 -506
- package/tests/search/team-router.test.ts +0 -376
- package/tests/search/verification-runner.test.ts +0 -357
- package/tests/session-bank/fixtures/multi-tool-session/full.jsonl +0 -12
- package/tests/session-bank/fixtures/multi-tool-session/metadata.json +0 -28
- package/tests/session-bank/fixtures/root-metadata.json +0 -18
- package/tests/session-bank/fixtures/sessionlog-root-metadata.json +0 -16
- package/tests/session-bank/fixtures/sessionlog-session/full.jsonl +0 -6
- package/tests/session-bank/fixtures/sessionlog-session/metadata.json +0 -55
- package/tests/session-bank/fixtures/simple-session/full.jsonl +0 -6
- package/tests/session-bank/fixtures/simple-session/metadata.json +0 -38
- package/tests/session-bank/git-reader.test.ts +0 -232
- package/tests/session-bank/parser.test.ts +0 -453
- package/tests/session-bank/session-bank.test.ts +0 -546
- package/tests/surfacing/skill-library.test.ts +0 -297
- package/tests/surfacing/skill-publisher.test.ts +0 -437
- package/tests/surfacing/sqlite-storage-adapter.test.ts +0 -206
- package/tests/surfacing/team-skill-library.test.ts +0 -444
- package/tests/types/outcome.test.ts +0 -147
- package/tests/types/step.test.ts +0 -133
- package/tests/types/task.test.ts +0 -158
- package/tests/types/team-meta.test.ts +0 -147
- package/tests/types/team-playbook.test.ts +0 -246
- package/tests/types/team-trajectory.test.ts +0 -557
- package/tests/types/trajectory.test.ts +0 -253
- package/tests/utils/error-classifier.test.ts +0 -149
- package/tests/utils/frontmatter.test.ts +0 -208
- package/tests/utils/partitioned-store.test.ts +0 -230
- package/tests/utils/similarity.test.ts +0 -188
- package/tests/utils/trajectory-helpers.test.ts +0 -163
- package/tests/utils/validation.test.ts +0 -252
- package/tests/workspace/efficacy-toolkit.test.ts +0 -404
- package/tests/workspace/full-flow.test.ts +0 -845
- package/tests/workspace/manager.test.ts +0 -215
- package/tests/workspace/runner.test.ts +0 -336
- package/tests/workspace/skill-converter.test.ts +0 -205
- package/tests/workspace/templates/knowledge-extraction.test.ts +0 -235
- package/tests/workspace/templates/playbook-efficacy.test.ts +0 -377
- package/tests/workspace/templates/team-playbook-extraction.test.ts +0 -341
- package/tests/workspace/templates/team-trajectory-analysis.test.ts +0 -417
- package/tsconfig.json +0 -25
- package/vitest.config.ts +0 -22
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import type { KnowledgeNote } from '../../types/knowledge.js';
|
|
2
|
+
import type { SearchProvider } from '../../memory/search-provider.js';
|
|
3
|
+
import type { LabeledKnowledgeQuery, Stratum } from './knowledge-corpus.js';
|
|
4
|
+
export interface StratumMetrics {
|
|
5
|
+
stratum: Stratum;
|
|
6
|
+
queries: number;
|
|
7
|
+
/** Fraction of queries with ≥1 relevant note in top-k. */
|
|
8
|
+
recallAtK: number;
|
|
9
|
+
/** 95% bootstrap CI on recall@k (seeded). */
|
|
10
|
+
recallCI: [number, number];
|
|
11
|
+
/** Mean reciprocal rank of the first relevant note. */
|
|
12
|
+
mrr: number;
|
|
13
|
+
/** Mean nDCG@k (binary relevance). */
|
|
14
|
+
ndcgAtK: number;
|
|
15
|
+
/** Threshold-free ranking quality: P(score(relevant) > score(irrelevant)). */
|
|
16
|
+
auc: number;
|
|
17
|
+
}
|
|
18
|
+
export interface ProviderReport {
|
|
19
|
+
provider: string;
|
|
20
|
+
k: number;
|
|
21
|
+
byStratum: Record<Stratum, StratumMetrics>;
|
|
22
|
+
/** Among planted-decoy queries: fraction where the true note outranks the decoy. */
|
|
23
|
+
distractorBeatRate: number;
|
|
24
|
+
distractorN: number;
|
|
25
|
+
/** Per-query reciprocal rank, by stratum (for paired comparison). */
|
|
26
|
+
perQueryRR: Record<Stratum, number[]>;
|
|
27
|
+
/** Per-query recall@k hit flags, by stratum (for paired bootstrap). */
|
|
28
|
+
perQueryHit: Record<Stratum, boolean[]>;
|
|
29
|
+
}
|
|
30
|
+
/** Score one provider over the corpus. */
|
|
31
|
+
export declare function scoreProvider(provider: SearchProvider, notes: KnowledgeNote[], queries: LabeledKnowledgeQuery[], opts?: {
|
|
32
|
+
k?: number;
|
|
33
|
+
seed?: number;
|
|
34
|
+
}): Promise<ProviderReport>;
|
|
35
|
+
/** Promotion gate — written down before the run, not chosen after seeing it. */
|
|
36
|
+
export interface ABGate {
|
|
37
|
+
/** Minimum paraphrase recall gain (treatment − baseline). */
|
|
38
|
+
minParaphraseGain: number;
|
|
39
|
+
/** Maximum allowed lexical-stratum recall loss (treatment − baseline ≥ −this). */
|
|
40
|
+
maxLexicalLoss: number;
|
|
41
|
+
/** Minimum distractor-beat-rate delta (treatment − baseline). */
|
|
42
|
+
minDistractorDelta: number;
|
|
43
|
+
}
|
|
44
|
+
export declare const DEFAULT_GATE: ABGate;
|
|
45
|
+
export interface PairedResult {
|
|
46
|
+
wins: number;
|
|
47
|
+
ties: number;
|
|
48
|
+
losses: number;
|
|
49
|
+
n: number;
|
|
50
|
+
meanRRDelta: number;
|
|
51
|
+
rrDeltaCI: [number, number];
|
|
52
|
+
/** CI excludes 0 ⇒ the paired difference is significant. */
|
|
53
|
+
significant: boolean;
|
|
54
|
+
}
|
|
55
|
+
export interface ABSignal {
|
|
56
|
+
baseline: string;
|
|
57
|
+
treatment: string;
|
|
58
|
+
control?: string;
|
|
59
|
+
k: number;
|
|
60
|
+
/** THE signal: recall@k(treatment | paraphrase) − recall@k(baseline | paraphrase). */
|
|
61
|
+
paraphraseRecallGain: number;
|
|
62
|
+
/** Control gain (should be ≈0 if the win is genuinely semantic). */
|
|
63
|
+
controlParaphraseGain?: number;
|
|
64
|
+
/** Do-no-harm: recall@k(treatment | lexical) − recall@k(baseline | lexical). */
|
|
65
|
+
lexicalRecallDelta: number;
|
|
66
|
+
/** Over-firing guard: distractorBeatRate(treatment) − distractorBeatRate(baseline). */
|
|
67
|
+
distractorBeatDelta: number;
|
|
68
|
+
/** Recall CIs disjoint on the paraphrase stratum (secondary significance proxy). */
|
|
69
|
+
paraphraseRecallCIDisjoint: boolean;
|
|
70
|
+
/** Paired per-query RR comparison on the paraphrase stratum. */
|
|
71
|
+
paired: PairedResult;
|
|
72
|
+
verdict: {
|
|
73
|
+
promote: boolean;
|
|
74
|
+
reasons: string[];
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Compute the A/B signal from scored reports. `control` (e.g. Hash embeddings)
|
|
79
|
+
* is the negative control: if it reproduces the paraphrase gain, the gain is an
|
|
80
|
+
* artifact, not semantics, and the verdict refuses to promote.
|
|
81
|
+
*/
|
|
82
|
+
export declare function computeABSignal(baseline: ProviderReport, treatment: ProviderReport, opts?: {
|
|
83
|
+
control?: ProviderReport;
|
|
84
|
+
gate?: ABGate;
|
|
85
|
+
seed?: number;
|
|
86
|
+
}): ABSignal;
|
|
87
|
+
/** One block per provider: the provider × stratum matrix. */
|
|
88
|
+
export declare function formatProviderReport(r: ProviderReport): string;
|
|
89
|
+
/** Verdict summary for the A/B signal. */
|
|
90
|
+
export declare function formatABSignal(s: ABSignal): string;
|
|
91
|
+
//# sourceMappingURL=knowledge-quality.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"knowledge-quality.d.ts","sourceRoot":"","sources":["../../../src/eval/retrieval/knowledge-quality.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
import { seededRng } from '../rng.js';
|
|
2
|
+
import { bootstrapCI, ciDisjoint } from '../metrics.js';
|
|
3
|
+
/**
|
|
4
|
+
* A/B retrieval-quality harness for KnowledgeBank search providers.
|
|
5
|
+
*
|
|
6
|
+
* Scores any {@link SearchProvider} over the stratified knowledge corpus and
|
|
7
|
+
* computes the difference-in-differences signal that actually discriminates a
|
|
8
|
+
* semantic embedder from a lexical scorer:
|
|
9
|
+
*
|
|
10
|
+
* paraphraseRecallGain = recall@k(treatment | paraphrase)
|
|
11
|
+
* − recall@k(baseline | paraphrase)
|
|
12
|
+
*
|
|
13
|
+
* validated against (a) a Hash negative control — a lexical bag-of-words in
|
|
14
|
+
* vector space, which should NOT reproduce the gain, proving the win is
|
|
15
|
+
* semantics and not an artifact of the embed-text/scoring change; (b) a paired
|
|
16
|
+
* per-query bootstrap so the gain has error bars; and (c) do-no-harm guards on
|
|
17
|
+
* the lexical stratum and a planted-decoy precision guard.
|
|
18
|
+
*/
|
|
19
|
+
const STRATA = ['lexical', 'paraphrase'];
|
|
20
|
+
async function rankAll(provider, query, notes) {
|
|
21
|
+
const results = await provider.search(query, notes, { maxResults: notes.length });
|
|
22
|
+
const rankById = new Map();
|
|
23
|
+
const scoreById = new Map();
|
|
24
|
+
results.forEach((r, i) => {
|
|
25
|
+
if (!rankById.has(r.noteId))
|
|
26
|
+
rankById.set(r.noteId, i);
|
|
27
|
+
scoreById.set(r.noteId, r.score);
|
|
28
|
+
});
|
|
29
|
+
return { rankById, scoreById };
|
|
30
|
+
}
|
|
31
|
+
function minRank(ranking, ids) {
|
|
32
|
+
let best = Infinity;
|
|
33
|
+
for (const id of ids) {
|
|
34
|
+
const r = ranking.rankById.get(id);
|
|
35
|
+
if (r !== undefined && r < best)
|
|
36
|
+
best = r;
|
|
37
|
+
}
|
|
38
|
+
return best;
|
|
39
|
+
}
|
|
40
|
+
function ndcgAtK(ranking, relevant, k) {
|
|
41
|
+
// Rank → id, restricted to top-k.
|
|
42
|
+
const idByRank = [];
|
|
43
|
+
for (const [id, r] of ranking.rankById)
|
|
44
|
+
if (r < k)
|
|
45
|
+
idByRank[r] = id;
|
|
46
|
+
let dcg = 0;
|
|
47
|
+
for (let r = 0; r < k; r++) {
|
|
48
|
+
const id = idByRank[r];
|
|
49
|
+
if (id && relevant.has(id))
|
|
50
|
+
dcg += 1 / Math.log2(r + 2);
|
|
51
|
+
}
|
|
52
|
+
const ideal = Math.min(relevant.size, k);
|
|
53
|
+
let idcg = 0;
|
|
54
|
+
for (let i = 0; i < ideal; i++)
|
|
55
|
+
idcg += 1 / Math.log2(i + 2);
|
|
56
|
+
return idcg > 0 ? dcg / idcg : 0;
|
|
57
|
+
}
|
|
58
|
+
function aucForQuery(ranking, relevant, notes) {
|
|
59
|
+
const relScores = [];
|
|
60
|
+
const irrScores = [];
|
|
61
|
+
for (const note of notes) {
|
|
62
|
+
const s = ranking.scoreById.get(note.frontmatter.id) ?? 0;
|
|
63
|
+
if (relevant.has(note.frontmatter.id))
|
|
64
|
+
relScores.push(s);
|
|
65
|
+
else
|
|
66
|
+
irrScores.push(s);
|
|
67
|
+
}
|
|
68
|
+
if (relScores.length === 0 || irrScores.length === 0)
|
|
69
|
+
return null;
|
|
70
|
+
let wins = 0;
|
|
71
|
+
for (const r of relScores)
|
|
72
|
+
for (const i of irrScores)
|
|
73
|
+
wins += r > i ? 1 : r === i ? 0.5 : 0;
|
|
74
|
+
return wins / (relScores.length * irrScores.length);
|
|
75
|
+
}
|
|
76
|
+
/** Score one provider over the corpus. */
|
|
77
|
+
export async function scoreProvider(provider, notes, queries, opts = {}) {
|
|
78
|
+
const k = opts.k ?? 5;
|
|
79
|
+
const perQueryRR = { lexical: [], paraphrase: [] };
|
|
80
|
+
const perQueryHit = { lexical: [], paraphrase: [] };
|
|
81
|
+
const mrrSum = { lexical: 0, paraphrase: 0 };
|
|
82
|
+
const ndcgSum = { lexical: 0, paraphrase: 0 };
|
|
83
|
+
const aucSum = { lexical: 0, paraphrase: 0 };
|
|
84
|
+
const aucN = { lexical: 0, paraphrase: 0 };
|
|
85
|
+
let distractorBeat = 0;
|
|
86
|
+
let distractorN = 0;
|
|
87
|
+
for (const q of queries) {
|
|
88
|
+
const ranking = await rankAll(provider, q.query, notes);
|
|
89
|
+
const relevant = new Set(q.relevantIds);
|
|
90
|
+
const best = minRank(ranking, q.relevantIds);
|
|
91
|
+
const hit = best < k;
|
|
92
|
+
const rr = best === Infinity ? 0 : 1 / (best + 1);
|
|
93
|
+
perQueryHit[q.stratum].push(hit);
|
|
94
|
+
perQueryRR[q.stratum].push(rr);
|
|
95
|
+
mrrSum[q.stratum] += rr;
|
|
96
|
+
ndcgSum[q.stratum] += ndcgAtK(ranking, relevant, k);
|
|
97
|
+
const auc = aucForQuery(ranking, relevant, notes);
|
|
98
|
+
if (auc !== null) {
|
|
99
|
+
aucSum[q.stratum] += auc;
|
|
100
|
+
aucN[q.stratum] += 1;
|
|
101
|
+
}
|
|
102
|
+
if (q.decoyIds && q.decoyIds.length > 0) {
|
|
103
|
+
distractorN++;
|
|
104
|
+
const decoyRank = minRank(ranking, q.decoyIds);
|
|
105
|
+
if (best < decoyRank)
|
|
106
|
+
distractorBeat++;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
const byStratum = {};
|
|
110
|
+
for (const s of STRATA) {
|
|
111
|
+
const n = perQueryHit[s].length || 1;
|
|
112
|
+
byStratum[s] = {
|
|
113
|
+
stratum: s,
|
|
114
|
+
queries: perQueryHit[s].length,
|
|
115
|
+
recallAtK: perQueryHit[s].filter(Boolean).length / n,
|
|
116
|
+
recallCI: bootstrapCI(perQueryHit[s], { seed: opts.seed ?? 0 }),
|
|
117
|
+
mrr: mrrSum[s] / n,
|
|
118
|
+
ndcgAtK: ndcgSum[s] / n,
|
|
119
|
+
auc: aucN[s] ? aucSum[s] / aucN[s] : 0,
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
return {
|
|
123
|
+
provider: provider.name,
|
|
124
|
+
k,
|
|
125
|
+
byStratum,
|
|
126
|
+
distractorBeatRate: distractorN ? distractorBeat / distractorN : 0,
|
|
127
|
+
distractorN,
|
|
128
|
+
perQueryRR,
|
|
129
|
+
perQueryHit,
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
export const DEFAULT_GATE = {
|
|
133
|
+
minParaphraseGain: 0.15,
|
|
134
|
+
maxLexicalLoss: 0.02,
|
|
135
|
+
minDistractorDelta: 0,
|
|
136
|
+
};
|
|
137
|
+
/** Paired bootstrap on per-query RR deltas (resample query indices, seeded). */
|
|
138
|
+
function pairedRRDelta(baseRR, treatRR, seed) {
|
|
139
|
+
const n = Math.min(baseRR.length, treatRR.length);
|
|
140
|
+
const deltas = [];
|
|
141
|
+
let wins = 0;
|
|
142
|
+
let ties = 0;
|
|
143
|
+
let losses = 0;
|
|
144
|
+
const eps = 1e-9;
|
|
145
|
+
for (let i = 0; i < n; i++) {
|
|
146
|
+
const d = treatRR[i] - baseRR[i];
|
|
147
|
+
deltas.push(d);
|
|
148
|
+
if (d > eps)
|
|
149
|
+
wins++;
|
|
150
|
+
else if (d < -eps)
|
|
151
|
+
losses++;
|
|
152
|
+
else
|
|
153
|
+
ties++;
|
|
154
|
+
}
|
|
155
|
+
const mean = deltas.reduce((a, b) => a + b, 0) / (n || 1);
|
|
156
|
+
const iterations = 2000;
|
|
157
|
+
const rng = seededRng('kb-paired-bootstrap', seed, n);
|
|
158
|
+
const means = [];
|
|
159
|
+
for (let it = 0; it < iterations; it++) {
|
|
160
|
+
let sum = 0;
|
|
161
|
+
for (let i = 0; i < n; i++)
|
|
162
|
+
sum += deltas[Math.floor(rng() * n)];
|
|
163
|
+
means.push(sum / (n || 1));
|
|
164
|
+
}
|
|
165
|
+
means.sort((a, b) => a - b);
|
|
166
|
+
const lo = means[Math.floor(0.025 * iterations)];
|
|
167
|
+
const hi = means[Math.min(iterations - 1, Math.floor(0.975 * iterations))];
|
|
168
|
+
return {
|
|
169
|
+
wins,
|
|
170
|
+
ties,
|
|
171
|
+
losses,
|
|
172
|
+
n,
|
|
173
|
+
meanRRDelta: mean,
|
|
174
|
+
rrDeltaCI: [lo, hi],
|
|
175
|
+
significant: lo > 0 || hi < 0,
|
|
176
|
+
};
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Compute the A/B signal from scored reports. `control` (e.g. Hash embeddings)
|
|
180
|
+
* is the negative control: if it reproduces the paraphrase gain, the gain is an
|
|
181
|
+
* artifact, not semantics, and the verdict refuses to promote.
|
|
182
|
+
*/
|
|
183
|
+
export function computeABSignal(baseline, treatment, opts = {}) {
|
|
184
|
+
const gate = opts.gate ?? DEFAULT_GATE;
|
|
185
|
+
const seed = opts.seed ?? 0;
|
|
186
|
+
const paraphraseRecallGain = treatment.byStratum.paraphrase.recallAtK - baseline.byStratum.paraphrase.recallAtK;
|
|
187
|
+
const controlParaphraseGain = opts.control
|
|
188
|
+
? opts.control.byStratum.paraphrase.recallAtK - baseline.byStratum.paraphrase.recallAtK
|
|
189
|
+
: undefined;
|
|
190
|
+
const lexicalRecallDelta = treatment.byStratum.lexical.recallAtK - baseline.byStratum.lexical.recallAtK;
|
|
191
|
+
const distractorBeatDelta = treatment.distractorBeatRate - baseline.distractorBeatRate;
|
|
192
|
+
const paired = pairedRRDelta(baseline.perQueryRR.paraphrase, treatment.perQueryRR.paraphrase, seed);
|
|
193
|
+
const paraphraseRecallCIDisjoint = ciDisjoint(baseline.byStratum.paraphrase.recallCI, treatment.byStratum.paraphrase.recallCI);
|
|
194
|
+
const reasons = [];
|
|
195
|
+
if (paraphraseRecallGain < gate.minParaphraseGain)
|
|
196
|
+
reasons.push(`paraphrase gain ${paraphraseRecallGain.toFixed(2)} < ${gate.minParaphraseGain}`);
|
|
197
|
+
if (lexicalRecallDelta < -gate.maxLexicalLoss)
|
|
198
|
+
reasons.push(`lexical regression ${lexicalRecallDelta.toFixed(2)} < -${gate.maxLexicalLoss}`);
|
|
199
|
+
if (distractorBeatDelta < gate.minDistractorDelta)
|
|
200
|
+
reasons.push(`distractor beat delta ${distractorBeatDelta.toFixed(2)} < ${gate.minDistractorDelta}`);
|
|
201
|
+
if (!paired.significant)
|
|
202
|
+
reasons.push('paired RR delta CI includes 0');
|
|
203
|
+
if (controlParaphraseGain !== undefined && controlParaphraseGain >= gate.minParaphraseGain)
|
|
204
|
+
reasons.push(`control reproduced the gain (${controlParaphraseGain.toFixed(2)}) — artifact, not semantics`);
|
|
205
|
+
return {
|
|
206
|
+
baseline: baseline.provider,
|
|
207
|
+
treatment: treatment.provider,
|
|
208
|
+
control: opts.control?.provider,
|
|
209
|
+
k: treatment.k,
|
|
210
|
+
paraphraseRecallGain,
|
|
211
|
+
controlParaphraseGain,
|
|
212
|
+
lexicalRecallDelta,
|
|
213
|
+
distractorBeatDelta,
|
|
214
|
+
paraphraseRecallCIDisjoint,
|
|
215
|
+
paired,
|
|
216
|
+
verdict: { promote: reasons.length === 0, reasons },
|
|
217
|
+
};
|
|
218
|
+
}
|
|
219
|
+
const pct = (x) => `${(x * 100).toFixed(0)}%`;
|
|
220
|
+
/** One block per provider: the provider × stratum matrix. */
|
|
221
|
+
export function formatProviderReport(r) {
|
|
222
|
+
const row = (m) => ` ${m.stratum.padEnd(11)} recall@${r.k} ${pct(m.recallAtK).padStart(4)} | ` +
|
|
223
|
+
`MRR ${m.mrr.toFixed(2)} | nDCG ${m.ndcgAtK.toFixed(2)} | AUC ${m.auc.toFixed(2)}`;
|
|
224
|
+
return [
|
|
225
|
+
`${r.provider} (k=${r.k})`,
|
|
226
|
+
row(r.byStratum.lexical),
|
|
227
|
+
row(r.byStratum.paraphrase),
|
|
228
|
+
` distractor beat-rate ${pct(r.distractorBeatRate)} (n=${r.distractorN})`,
|
|
229
|
+
].join('\n');
|
|
230
|
+
}
|
|
231
|
+
/** Verdict summary for the A/B signal. */
|
|
232
|
+
export function formatABSignal(s) {
|
|
233
|
+
const ctrl = s.controlParaphraseGain !== undefined
|
|
234
|
+
? ` | control gain ${s.controlParaphraseGain >= 0 ? '+' : ''}${s.controlParaphraseGain.toFixed(2)}`
|
|
235
|
+
: '';
|
|
236
|
+
return [
|
|
237
|
+
`${s.treatment} vs ${s.baseline}${s.control ? ` (control ${s.control})` : ''}`,
|
|
238
|
+
` paraphrase recall gain ${s.paraphraseRecallGain >= 0 ? '+' : ''}${s.paraphraseRecallGain.toFixed(2)}${ctrl}`,
|
|
239
|
+
` lexical recall delta ${s.lexicalRecallDelta >= 0 ? '+' : ''}${s.lexicalRecallDelta.toFixed(2)} (do-no-harm)`,
|
|
240
|
+
` distractor beat delta ${s.distractorBeatDelta >= 0 ? '+' : ''}${s.distractorBeatDelta.toFixed(2)}`,
|
|
241
|
+
` paired RR (paraphrase) ${s.paired.wins}W/${s.paired.ties}T/${s.paired.losses}L of ${s.paired.n}` +
|
|
242
|
+
` | meanΔ ${s.paired.meanRRDelta.toFixed(3)} CI[${s.paired.rrDeltaCI[0].toFixed(3)}, ${s.paired.rrDeltaCI[1].toFixed(3)}]` +
|
|
243
|
+
` ${s.paired.significant ? '✓sig' : '✗ns'}`,
|
|
244
|
+
` VERDICT: ${s.verdict.promote ? 'PROMOTE ✅' : 'HOLD ❌'}${s.verdict.reasons.length ? ` — ${s.verdict.reasons.join('; ')}` : ''}`,
|
|
245
|
+
].join('\n');
|
|
246
|
+
}
|
|
247
|
+
//# sourceMappingURL=knowledge-quality.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"knowledge-quality.js","sourceRoot":"","sources":["../../../src/eval/retrieval/knowledge-quality.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import type { EffectivenessMetrics } from '../../learning/effectiveness.js';
|
|
2
|
+
import type { ABSignal } from './knowledge-quality.js';
|
|
3
|
+
/**
|
|
4
|
+
* Proxy → outcome ladder for memory retrieval.
|
|
5
|
+
*
|
|
6
|
+
* Offline retrieval recall (the A/B signal in `knowledge-quality.ts`) is a
|
|
7
|
+
* *proxy*. A recall win only creates value if it converts down two more rungs,
|
|
8
|
+
* and it can leak at either joint:
|
|
9
|
+
*
|
|
10
|
+
* recall@k ──► injected-knowledge utilization ──► task-success lift
|
|
11
|
+
* (offline) (was the surfaced note used?) (north star)
|
|
12
|
+
*
|
|
13
|
+
* This module composes the three rungs into one verdict and — crucially —
|
|
14
|
+
* *localizes* where value is lost, so the next action is unambiguous:
|
|
15
|
+
*
|
|
16
|
+
* - retrieval rung fails → fix retrieval before looking downstream
|
|
17
|
+
* - retrieval up, utilization flat → notes aren't actionable / injection is the
|
|
18
|
+
* bottleneck (fix note CONTENT, not recall)
|
|
19
|
+
* - utilization up, success flat → knowledge isn't the binding constraint for
|
|
20
|
+
* these tasks (memory won't move them)
|
|
21
|
+
* - all three pass → value confirmed
|
|
22
|
+
*
|
|
23
|
+
* The retrieval rung comes from the offline corpus A/B; the utilization and
|
|
24
|
+
* success rungs come from {@link EffectivenessMetrics} (live run annotations) —
|
|
25
|
+
* `knowledgeApplicationRate` and `successRateDelta` (guided − unguided). Keeping
|
|
26
|
+
* this a pure function over those two inputs means any live runner
|
|
27
|
+
* (skillopt / skillflow) can feed it without bespoke plumbing.
|
|
28
|
+
*/
|
|
29
|
+
export type LadderVerdict = 'value-confirmed' | 'no-retrieval-gain' | 'leak-at-utilization' | 'leak-at-success' | 'insufficient-data';
|
|
30
|
+
export interface LadderRung {
|
|
31
|
+
name: 'retrieval' | 'utilization' | 'success-lift';
|
|
32
|
+
/** Headline value for the rung. */
|
|
33
|
+
value: number;
|
|
34
|
+
passed: boolean;
|
|
35
|
+
detail: string;
|
|
36
|
+
}
|
|
37
|
+
export interface LadderReport {
|
|
38
|
+
rungs: {
|
|
39
|
+
retrieval: LadderRung;
|
|
40
|
+
utilization: LadderRung;
|
|
41
|
+
successLift: LadderRung;
|
|
42
|
+
};
|
|
43
|
+
verdict: LadderVerdict;
|
|
44
|
+
/** One-line, action-oriented localization of where value is (or isn't) flowing. */
|
|
45
|
+
diagnosis: string;
|
|
46
|
+
}
|
|
47
|
+
export interface LadderThresholds {
|
|
48
|
+
/** Min fraction of guided tasks that actually applied surfaced knowledge. */
|
|
49
|
+
minUtilizationRate: number;
|
|
50
|
+
/** Min guided − unguided success-rate delta to count as a real lift. */
|
|
51
|
+
minSuccessLift: number;
|
|
52
|
+
/** Min guided tasks before the success rung is readable. */
|
|
53
|
+
minGuided: number;
|
|
54
|
+
/** Min unguided tasks before the success rung is readable. */
|
|
55
|
+
minUnguided: number;
|
|
56
|
+
}
|
|
57
|
+
export declare const DEFAULT_LADDER_THRESHOLDS: LadderThresholds;
|
|
58
|
+
/**
|
|
59
|
+
* Compose the ladder from the offline retrieval A/B signal and the live-run
|
|
60
|
+
* effectiveness metrics, and localize where value is gained or lost.
|
|
61
|
+
*/
|
|
62
|
+
export declare function evaluateLadder(input: {
|
|
63
|
+
retrieval: ABSignal;
|
|
64
|
+
effectiveness: EffectivenessMetrics;
|
|
65
|
+
thresholds?: Partial<LadderThresholds>;
|
|
66
|
+
}): LadderReport;
|
|
67
|
+
/** Human-readable ladder summary for logs / reports. */
|
|
68
|
+
export declare function formatLadder(r: LadderReport): string;
|
|
69
|
+
//# sourceMappingURL=ladder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ladder.d.ts","sourceRoot":"","sources":["../../../src/eval/retrieval/ladder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAEvD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,MAAM,MAAM,aAAa,GACrB,iBAAiB,GACjB,mBAAmB,GACnB,qBAAqB,GACrB,iBAAiB,GACjB,mBAAmB,CAAC;AAExB,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,WAAW,GAAG,aAAa,GAAG,cAAc,CAAC;IACnD,mCAAmC;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE;QAAE,SAAS,EAAE,UAAU,CAAC;QAAC,WAAW,EAAE,UAAU,CAAC;QAAC,WAAW,EAAE,UAAU,CAAA;KAAE,CAAC;IACnF,OAAO,EAAE,aAAa,CAAC;IACvB,mFAAmF;IACnF,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,6EAA6E;IAC7E,kBAAkB,EAAE,MAAM,CAAC;IAC3B,wEAAwE;IACxE,cAAc,EAAE,MAAM,CAAC;IACvB,4DAA4D;IAC5D,SAAS,EAAE,MAAM,CAAC;IAClB,8DAA8D;IAC9D,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,yBAAyB,EAAE,gBAKvC,CAAC;AAEF;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE;IACpC,SAAS,EAAE,QAAQ,CAAC;IACpB,aAAa,EAAE,oBAAoB,CAAC;IACpC,UAAU,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;CACxC,GAAG,YAAY,CA0Df;AAED,wDAAwD;AACxD,wBAAgB,YAAY,CAAC,CAAC,EAAE,YAAY,GAAG,MAAM,CASpD"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
export const DEFAULT_LADDER_THRESHOLDS = {
|
|
2
|
+
minUtilizationRate: 0.3,
|
|
3
|
+
minSuccessLift: 0.02,
|
|
4
|
+
minGuided: 10,
|
|
5
|
+
minUnguided: 10,
|
|
6
|
+
};
|
|
7
|
+
/**
|
|
8
|
+
* Compose the ladder from the offline retrieval A/B signal and the live-run
|
|
9
|
+
* effectiveness metrics, and localize where value is gained or lost.
|
|
10
|
+
*/
|
|
11
|
+
export function evaluateLadder(input) {
|
|
12
|
+
const t = { ...DEFAULT_LADDER_THRESHOLDS, ...input.thresholds };
|
|
13
|
+
const { retrieval, effectiveness: e } = input;
|
|
14
|
+
const retrievalRung = {
|
|
15
|
+
name: 'retrieval',
|
|
16
|
+
value: retrieval.paraphraseRecallGain,
|
|
17
|
+
passed: retrieval.verdict.promote,
|
|
18
|
+
detail: retrieval.verdict.promote
|
|
19
|
+
? `paraphrase recall gain +${retrieval.paraphraseRecallGain.toFixed(2)} (PROMOTE)`
|
|
20
|
+
: `gate not met: ${retrieval.verdict.reasons.join('; ')}`,
|
|
21
|
+
};
|
|
22
|
+
const utilizationRung = {
|
|
23
|
+
name: 'utilization',
|
|
24
|
+
value: e.knowledgeApplicationRate,
|
|
25
|
+
passed: e.knowledgeApplicationRate >= t.minUtilizationRate,
|
|
26
|
+
detail: `${(e.knowledgeApplicationRate * 100).toFixed(0)}% of guided tasks applied surfaced knowledge (min ${(t.minUtilizationRate * 100).toFixed(0)}%)`,
|
|
27
|
+
};
|
|
28
|
+
const enoughData = e.guidedTasks >= t.minGuided && e.unguidedTasks >= t.minUnguided;
|
|
29
|
+
const successLiftRung = {
|
|
30
|
+
name: 'success-lift',
|
|
31
|
+
value: e.successRateDelta,
|
|
32
|
+
passed: enoughData && e.successRateDelta >= t.minSuccessLift,
|
|
33
|
+
detail: enoughData
|
|
34
|
+
? `guided ${(e.guidedSuccessRate * 100).toFixed(0)}% vs unguided ${(e.unguidedSuccessRate * 100).toFixed(0)}% (Δ ${e.successRateDelta >= 0 ? '+' : ''}${(e.successRateDelta * 100).toFixed(0)}pp, min +${(t.minSuccessLift * 100).toFixed(0)}pp)`
|
|
35
|
+
: `insufficient samples (guided ${e.guidedTasks}/${t.minGuided}, unguided ${e.unguidedTasks}/${t.minUnguided})`,
|
|
36
|
+
};
|
|
37
|
+
// Localize: read the rungs top-down and stop at the first break.
|
|
38
|
+
let verdict;
|
|
39
|
+
let diagnosis;
|
|
40
|
+
if (!retrievalRung.passed) {
|
|
41
|
+
verdict = 'no-retrieval-gain';
|
|
42
|
+
diagnosis = 'Retrieval rung failed — fix retrieval before looking downstream.';
|
|
43
|
+
}
|
|
44
|
+
else if (!enoughData) {
|
|
45
|
+
verdict = 'insufficient-data';
|
|
46
|
+
diagnosis = `Retrieval improved, but too few guided/unguided tasks to read the outcome rungs (need ≥${t.minGuided}/${t.minUnguided}). Run more live tasks.`;
|
|
47
|
+
}
|
|
48
|
+
else if (!utilizationRung.passed) {
|
|
49
|
+
verdict = 'leak-at-utilization';
|
|
50
|
+
diagnosis =
|
|
51
|
+
'Retrieval improved but surfaced notes are rarely applied — fix note actionability / injection formatting, not retrieval.';
|
|
52
|
+
}
|
|
53
|
+
else if (!successLiftRung.passed) {
|
|
54
|
+
verdict = 'leak-at-success';
|
|
55
|
+
diagnosis =
|
|
56
|
+
'Notes are retrieved and used, but task success did not move — knowledge is not the binding constraint for these tasks.';
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
verdict = 'value-confirmed';
|
|
60
|
+
diagnosis =
|
|
61
|
+
'Recall gain converts through utilization to a real task-success lift. Memory is earning its keep.';
|
|
62
|
+
}
|
|
63
|
+
return {
|
|
64
|
+
rungs: { retrieval: retrievalRung, utilization: utilizationRung, successLift: successLiftRung },
|
|
65
|
+
verdict,
|
|
66
|
+
diagnosis,
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
/** Human-readable ladder summary for logs / reports. */
|
|
70
|
+
export function formatLadder(r) {
|
|
71
|
+
const mark = (ok) => (ok ? '✅' : '❌');
|
|
72
|
+
return [
|
|
73
|
+
'memory value ladder:',
|
|
74
|
+
` 1. retrieval ${mark(r.rungs.retrieval.passed)} ${r.rungs.retrieval.detail}`,
|
|
75
|
+
` 2. utilization ${mark(r.rungs.utilization.passed)} ${r.rungs.utilization.detail}`,
|
|
76
|
+
` 3. success-lift ${mark(r.rungs.successLift.passed)} ${r.rungs.successLift.detail}`,
|
|
77
|
+
` VERDICT: ${r.verdict.toUpperCase()} — ${r.diagnosis}`,
|
|
78
|
+
].join('\n');
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=ladder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ladder.js","sourceRoot":"","sources":["../../../src/eval/retrieval/ladder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { MemorySystem } from '../../memory/system.js';
|
|
2
|
+
import { type TaskType } from './corpus.js';
|
|
3
|
+
/**
|
|
4
|
+
* Offline retrieval-quality metrics — does goal-keyed retrieval surface the
|
|
5
|
+
* right task type, exclude failures, and render a usable recipe? Computed over
|
|
6
|
+
* a labeled corpus with NO live agent, so it's fast and reproducible and can be
|
|
7
|
+
* used to tune k / thresholds / embeddings.
|
|
8
|
+
*/
|
|
9
|
+
export interface RetrievalQualityMetrics {
|
|
10
|
+
queries: number;
|
|
11
|
+
k: number;
|
|
12
|
+
/** Fraction of queries whose top-1 retrieved experience is the same task type. */
|
|
13
|
+
sameTypeAt1: number;
|
|
14
|
+
/** Fraction of queries with ≥1 same-type experience in top-k. */
|
|
15
|
+
recallAtK: number;
|
|
16
|
+
/** Mean reciprocal rank of the first same-type experience. */
|
|
17
|
+
mrr: number;
|
|
18
|
+
/** Fraction of retrieved exemplars (across all queries) that are FAILURES. */
|
|
19
|
+
failureLeakRate: number;
|
|
20
|
+
/** Fraction of retrieved exemplars that render a non-empty action recipe. */
|
|
21
|
+
recipeRenderedRate: number;
|
|
22
|
+
/** Mean retrieved count per query (≤ k). */
|
|
23
|
+
avgRetrieved: number;
|
|
24
|
+
}
|
|
25
|
+
/** Keyword classifier — fallback when an experience has no stored type label. */
|
|
26
|
+
export declare function classifyGoal(goal: string): TaskType;
|
|
27
|
+
/**
|
|
28
|
+
* Run each query against memory and aggregate retrieval-quality metrics.
|
|
29
|
+
* The memory must already hold the corpus; configure its `maxExperiences` ≥ k.
|
|
30
|
+
*/
|
|
31
|
+
export declare function evaluateRetrievalQuality(memory: MemorySystem, queries: Array<{
|
|
32
|
+
goal: string;
|
|
33
|
+
type: TaskType;
|
|
34
|
+
}>, opts?: {
|
|
35
|
+
k?: number;
|
|
36
|
+
}): Promise<RetrievalQualityMetrics>;
|
|
37
|
+
/** One-line summary for logs/reports. */
|
|
38
|
+
export declare function formatRetrievalMetrics(m: RetrievalQualityMetrics): string;
|
|
39
|
+
//# sourceMappingURL=quality.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"quality.d.ts","sourceRoot":"","sources":["../../../src/eval/retrieval/quality.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAG3D,OAAO,EAAc,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAC;AAExD;;;;;GAKG;AACH,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,CAAC,EAAE,MAAM,CAAC;IACV,kFAAkF;IAClF,WAAW,EAAE,MAAM,CAAC;IACpB,iEAAiE;IACjE,SAAS,EAAE,MAAM,CAAC;IAClB,8DAA8D;IAC9D,GAAG,EAAE,MAAM,CAAC;IACZ,8EAA8E;IAC9E,eAAe,EAAE,MAAM,CAAC;IACxB,6EAA6E;IAC7E,kBAAkB,EAAE,MAAM,CAAC;IAC3B,4CAA4C;IAC5C,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,iFAAiF;AACjF,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAQnD;AASD;;;GAGG;AACH,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC,EAChD,IAAI,GAAE;IAAE,CAAC,CAAC,EAAE,MAAM,CAAA;CAAO,GACxB,OAAO,CAAC,uBAAuB,CAAC,CAyClC;AAED,yCAAyC;AACzC,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,uBAAuB,GAAG,MAAM,CAOzE"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { experienceActionRecipe } from '../../runtime/manager.js';
|
|
2
|
+
import { TASK_TYPES } from './corpus.js';
|
|
3
|
+
/** Keyword classifier — fallback when an experience has no stored type label. */
|
|
4
|
+
export function classifyGoal(goal) {
|
|
5
|
+
const g = goal.toLowerCase();
|
|
6
|
+
if (g.startsWith('heat'))
|
|
7
|
+
return 'heat';
|
|
8
|
+
if (g.startsWith('cool'))
|
|
9
|
+
return 'cool';
|
|
10
|
+
if (g.startsWith('clean'))
|
|
11
|
+
return 'clean';
|
|
12
|
+
if (g.startsWith('examine') || g.includes('look at'))
|
|
13
|
+
return 'examine';
|
|
14
|
+
if (g.startsWith('put two'))
|
|
15
|
+
return 'pick-two';
|
|
16
|
+
return 'pick';
|
|
17
|
+
}
|
|
18
|
+
function experienceType(exp) {
|
|
19
|
+
const ctx = exp.metadata?.taskContext;
|
|
20
|
+
const t = ctx?.taskType;
|
|
21
|
+
if (typeof t === 'string' && TASK_TYPES.includes(t))
|
|
22
|
+
return t;
|
|
23
|
+
return classifyGoal(exp.taskInput);
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Run each query against memory and aggregate retrieval-quality metrics.
|
|
27
|
+
* The memory must already hold the corpus; configure its `maxExperiences` ≥ k.
|
|
28
|
+
*/
|
|
29
|
+
export async function evaluateRetrievalQuality(memory, queries, opts = {}) {
|
|
30
|
+
const k = opts.k ?? 4;
|
|
31
|
+
let sameTypeAt1 = 0;
|
|
32
|
+
let recallAtK = 0;
|
|
33
|
+
let mrrSum = 0;
|
|
34
|
+
let retrievedTotal = 0;
|
|
35
|
+
let failureCount = 0;
|
|
36
|
+
let recipeCount = 0;
|
|
37
|
+
for (const query of queries) {
|
|
38
|
+
const result = await memory.queryV2(query.goal, { domains: ['embodied'] });
|
|
39
|
+
const retrieved = result.experiences.slice(0, k);
|
|
40
|
+
retrievedTotal += retrieved.length;
|
|
41
|
+
const types = retrieved.map((r) => experienceType(r.experience));
|
|
42
|
+
if (types[0] === query.type)
|
|
43
|
+
sameTypeAt1++;
|
|
44
|
+
const firstSame = types.findIndex((t) => t === query.type);
|
|
45
|
+
if (firstSame >= 0) {
|
|
46
|
+
recallAtK++;
|
|
47
|
+
mrrSum += 1 / (firstSame + 1);
|
|
48
|
+
}
|
|
49
|
+
for (const { experience } of retrieved) {
|
|
50
|
+
if (!experience.success)
|
|
51
|
+
failureCount++;
|
|
52
|
+
if (experienceActionRecipe(experience))
|
|
53
|
+
recipeCount++;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
const n = queries.length || 1;
|
|
57
|
+
return {
|
|
58
|
+
queries: queries.length,
|
|
59
|
+
k,
|
|
60
|
+
sameTypeAt1: sameTypeAt1 / n,
|
|
61
|
+
recallAtK: recallAtK / n,
|
|
62
|
+
mrr: mrrSum / n,
|
|
63
|
+
failureLeakRate: retrievedTotal ? failureCount / retrievedTotal : 0,
|
|
64
|
+
recipeRenderedRate: retrievedTotal ? recipeCount / retrievedTotal : 0,
|
|
65
|
+
avgRetrieved: retrievedTotal / n,
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
/** One-line summary for logs/reports. */
|
|
69
|
+
export function formatRetrievalMetrics(m) {
|
|
70
|
+
const pct = (x) => `${(x * 100).toFixed(0)}%`;
|
|
71
|
+
return (`k=${m.k} | same-type@1 ${pct(m.sameTypeAt1)} | recall@k ${pct(m.recallAtK)} | ` +
|
|
72
|
+
`MRR ${m.mrr.toFixed(2)} | failure-leak ${pct(m.failureLeakRate)} | ` +
|
|
73
|
+
`recipe ${pct(m.recipeRenderedRate)} | avg-retrieved ${m.avgRetrieved.toFixed(1)}`);
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=quality.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"quality.js","sourceRoot":"","sources":["../../../src/eval/retrieval/quality.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,UAAU,EAAiB,MAAM,aAAa,CAAC;AAyBxD,iFAAiF;AACjF,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IAC7B,IAAI,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC;IACxC,IAAI,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC;IACxC,IAAI,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,OAAO,CAAC;IAC1C,IAAI,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC;QAAE,OAAO,SAAS,CAAC;IACvE,IAAI,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,UAAU,CAAC;IAC/C,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,cAAc,CAAC,GAAe;IACrC,MAAM,GAAG,GAAI,GAAG,CAAC,QAAiE,EAAE,WAAW,CAAC;IAChG,MAAM,CAAC,GAAG,GAAG,EAAE,QAAQ,CAAC;IACxB,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAK,UAAuB,CAAC,QAAQ,CAAC,CAAC,CAAC;QAAE,OAAO,CAAa,CAAC;IACxF,OAAO,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AACrC,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,MAAoB,EACpB,OAAgD,EAChD,OAAuB,EAAE;IAEzB,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;IAEtB,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,WAAW,GAAG,CAAC,CAAC;IAEpB,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC3E,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACjD,cAAc,IAAI,SAAS,CAAC,MAAM,CAAC;QAEnC,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;QACjE,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI;YAAE,WAAW,EAAE,CAAC;QAE3C,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3D,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;YACnB,SAAS,EAAE,CAAC;YACZ,MAAM,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;QAChC,CAAC;QAED,KAAK,MAAM,EAAE,UAAU,EAAE,IAAI,SAAS,EAAE,CAAC;YACvC,IAAI,CAAC,UAAU,CAAC,OAAO;gBAAE,YAAY,EAAE,CAAC;YACxC,IAAI,sBAAsB,CAAC,UAAU,CAAC;gBAAE,WAAW,EAAE,CAAC;QACxD,CAAC;IACH,CAAC;IAED,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC;IAC9B,OAAO;QACL,OAAO,EAAE,OAAO,CAAC,MAAM;QACvB,CAAC;QACD,WAAW,EAAE,WAAW,GAAG,CAAC;QAC5B,SAAS,EAAE,SAAS,GAAG,CAAC;QACxB,GAAG,EAAE,MAAM,GAAG,CAAC;QACf,eAAe,EAAE,cAAc,CAAC,CAAC,CAAC,YAAY,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;QACnE,kBAAkB,EAAE,cAAc,CAAC,CAAC,CAAC,WAAW,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;QACrE,YAAY,EAAE,cAAc,GAAG,CAAC;KACjC,CAAC;AACJ,CAAC;AAED,yCAAyC;AACzC,MAAM,UAAU,sBAAsB,CAAC,CAA0B;IAC/D,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IACtD,OAAO,CACL,KAAK,CAAC,CAAC,CAAC,kBAAkB,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK;QAChF,OAAO,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB,GAAG,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK;QACrE,UAAU,GAAG,CAAC,CAAC,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CACnF,CAAC;AACJ,CAAC"}
|