@sema-ai/core 1.275.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/CHANGELOG.md +5433 -0
- package/LICENSE +27 -0
- package/NOTICE.md +30 -0
- package/README.md +1040 -0
- package/dist/agents/agent-definition.d.ts +10 -0
- package/dist/agents/agent-definition.d.ts.map +1 -0
- package/dist/agents/agent-definition.js +18 -0
- package/dist/agents/agent-definition.js.map +1 -0
- package/dist/agents/builtin-agents.d.ts +69 -0
- package/dist/agents/builtin-agents.d.ts.map +1 -0
- package/dist/agents/builtin-agents.js +177 -0
- package/dist/agents/builtin-agents.js.map +1 -0
- package/dist/agents/cascade.d.ts +101 -0
- package/dist/agents/cascade.d.ts.map +1 -0
- package/dist/agents/cascade.js +189 -0
- package/dist/agents/cascade.js.map +1 -0
- package/dist/agents/observer.d.ts +209 -0
- package/dist/agents/observer.d.ts.map +1 -0
- package/dist/agents/observer.js +495 -0
- package/dist/agents/observer.js.map +1 -0
- package/dist/agents/repair-loop.d.ts +236 -0
- package/dist/agents/repair-loop.d.ts.map +1 -0
- package/dist/agents/repair-loop.js +293 -0
- package/dist/agents/repair-loop.js.map +1 -0
- package/dist/agents/session-util.d.ts +8 -0
- package/dist/agents/session-util.d.ts.map +1 -0
- package/dist/agents/session-util.js +9 -0
- package/dist/agents/session-util.js.map +1 -0
- package/dist/agents/subagent-steps.d.ts +93 -0
- package/dist/agents/subagent-steps.d.ts.map +1 -0
- package/dist/agents/subagent-steps.js +206 -0
- package/dist/agents/subagent-steps.js.map +1 -0
- package/dist/agents/subagent.d.ts +441 -0
- package/dist/agents/subagent.d.ts.map +1 -0
- package/dist/agents/subagent.js +2492 -0
- package/dist/agents/subagent.js.map +1 -0
- package/dist/agents/suspend-guard.d.ts +35 -0
- package/dist/agents/suspend-guard.d.ts.map +1 -0
- package/dist/agents/suspend-guard.js +48 -0
- package/dist/agents/suspend-guard.js.map +1 -0
- package/dist/agents/teacher.d.ts +137 -0
- package/dist/agents/teacher.d.ts.map +1 -0
- package/dist/agents/teacher.js +575 -0
- package/dist/agents/teacher.js.map +1 -0
- package/dist/agents/team.d.ts +211 -0
- package/dist/agents/team.d.ts.map +1 -0
- package/dist/agents/team.js +293 -0
- package/dist/agents/team.js.map +1 -0
- package/dist/agents/tool-filter.d.ts +29 -0
- package/dist/agents/tool-filter.d.ts.map +1 -0
- package/dist/agents/tool-filter.js +50 -0
- package/dist/agents/tool-filter.js.map +1 -0
- package/dist/agents/verify.d.ts +177 -0
- package/dist/agents/verify.d.ts.map +1 -0
- package/dist/agents/verify.js +305 -0
- package/dist/agents/verify.js.map +1 -0
- package/dist/bench/metrics.d.ts +714 -0
- package/dist/bench/metrics.d.ts.map +1 -0
- package/dist/bench/metrics.js +618 -0
- package/dist/bench/metrics.js.map +1 -0
- package/dist/bin/sema-tb.d.ts +3 -0
- package/dist/bin/sema-tb.d.ts.map +1 -0
- package/dist/bin/sema-tb.js +516 -0
- package/dist/bin/sema-tb.js.map +1 -0
- package/dist/bin/tb-env.d.ts +13 -0
- package/dist/bin/tb-env.d.ts.map +1 -0
- package/dist/bin/tb-env.js +26 -0
- package/dist/bin/tb-env.js.map +1 -0
- package/dist/brain/anthropic.d.ts +46 -0
- package/dist/brain/anthropic.d.ts.map +1 -0
- package/dist/brain/anthropic.js +830 -0
- package/dist/brain/anthropic.js.map +1 -0
- package/dist/brain/circuit-breaker.d.ts +46 -0
- package/dist/brain/circuit-breaker.d.ts.map +1 -0
- package/dist/brain/circuit-breaker.js +173 -0
- package/dist/brain/circuit-breaker.js.map +1 -0
- package/dist/brain/degrading.d.ts +98 -0
- package/dist/brain/degrading.d.ts.map +1 -0
- package/dist/brain/degrading.js +249 -0
- package/dist/brain/degrading.js.map +1 -0
- package/dist/brain/errors.d.ts +31 -0
- package/dist/brain/errors.d.ts.map +1 -0
- package/dist/brain/errors.js +58 -0
- package/dist/brain/errors.js.map +1 -0
- package/dist/brain/failover.d.ts +18 -0
- package/dist/brain/failover.d.ts.map +1 -0
- package/dist/brain/failover.js +118 -0
- package/dist/brain/failover.js.map +1 -0
- package/dist/brain/model-presets.d.ts +36 -0
- package/dist/brain/model-presets.d.ts.map +1 -0
- package/dist/brain/model-presets.js +54 -0
- package/dist/brain/model-presets.js.map +1 -0
- package/dist/brain/openai.d.ts +43 -0
- package/dist/brain/openai.d.ts.map +1 -0
- package/dist/brain/openai.js +784 -0
- package/dist/brain/openai.js.map +1 -0
- package/dist/brain/reasoning.d.ts +138 -0
- package/dist/brain/reasoning.d.ts.map +1 -0
- package/dist/brain/reasoning.js +146 -0
- package/dist/brain/reasoning.js.map +1 -0
- package/dist/brain/repetition.d.ts +60 -0
- package/dist/brain/repetition.d.ts.map +1 -0
- package/dist/brain/repetition.js +121 -0
- package/dist/brain/repetition.js.map +1 -0
- package/dist/brain/request-params.d.ts +29 -0
- package/dist/brain/request-params.d.ts.map +1 -0
- package/dist/brain/request-params.js +78 -0
- package/dist/brain/request-params.js.map +1 -0
- package/dist/brain/retry.d.ts +18 -0
- package/dist/brain/retry.d.ts.map +1 -0
- package/dist/brain/retry.js +42 -0
- package/dist/brain/retry.js.map +1 -0
- package/dist/brain/routing.d.ts +19 -0
- package/dist/brain/routing.d.ts.map +1 -0
- package/dist/brain/routing.js +44 -0
- package/dist/brain/routing.js.map +1 -0
- package/dist/brain/status-sink.d.ts +46 -0
- package/dist/brain/status-sink.d.ts.map +1 -0
- package/dist/brain/status-sink.js +36 -0
- package/dist/brain/status-sink.js.map +1 -0
- package/dist/brain/stream-engine.d.ts +85 -0
- package/dist/brain/stream-engine.d.ts.map +1 -0
- package/dist/brain/stream-engine.js +391 -0
- package/dist/brain/stream-engine.js.map +1 -0
- package/dist/brain/timeout.d.ts +44 -0
- package/dist/brain/timeout.d.ts.map +1 -0
- package/dist/brain/timeout.js +41 -0
- package/dist/brain/timeout.js.map +1 -0
- package/dist/brain/tool-call-repair.d.ts +15 -0
- package/dist/brain/tool-call-repair.d.ts.map +1 -0
- package/dist/brain/tool-call-repair.js +67 -0
- package/dist/brain/tool-call-repair.js.map +1 -0
- package/dist/brain/walltime.d.ts +14 -0
- package/dist/brain/walltime.d.ts.map +1 -0
- package/dist/brain/walltime.js +14 -0
- package/dist/brain/walltime.js.map +1 -0
- package/dist/core/arg-summary.d.ts +19 -0
- package/dist/core/arg-summary.d.ts.map +1 -0
- package/dist/core/arg-summary.js +96 -0
- package/dist/core/arg-summary.js.map +1 -0
- package/dist/core/ask-question.d.ts +113 -0
- package/dist/core/ask-question.d.ts.map +1 -0
- package/dist/core/ask-question.js +246 -0
- package/dist/core/ask-question.js.map +1 -0
- package/dist/core/auto-compaction.d.ts +341 -0
- package/dist/core/auto-compaction.d.ts.map +1 -0
- package/dist/core/auto-compaction.js +495 -0
- package/dist/core/auto-compaction.js.map +1 -0
- package/dist/core/auto-promote.d.ts +126 -0
- package/dist/core/auto-promote.d.ts.map +1 -0
- package/dist/core/auto-promote.js +171 -0
- package/dist/core/auto-promote.js.map +1 -0
- package/dist/core/background-shell.d.ts +128 -0
- package/dist/core/background-shell.d.ts.map +1 -0
- package/dist/core/background-shell.js +42 -0
- package/dist/core/background-shell.js.map +1 -0
- package/dist/core/cache-break-detector.d.ts +63 -0
- package/dist/core/cache-break-detector.d.ts.map +1 -0
- package/dist/core/cache-break-detector.js +0 -0
- package/dist/core/cache-break-detector.js.map +1 -0
- package/dist/core/canonical-json.d.ts +45 -0
- package/dist/core/canonical-json.d.ts.map +1 -0
- package/dist/core/canonical-json.js +132 -0
- package/dist/core/canonical-json.js.map +1 -0
- package/dist/core/checkpoint-store.d.ts +1101 -0
- package/dist/core/checkpoint-store.d.ts.map +1 -0
- package/dist/core/checkpoint-store.js +514 -0
- package/dist/core/checkpoint-store.js.map +1 -0
- package/dist/core/consolidate-scope.d.ts +94 -0
- package/dist/core/consolidate-scope.d.ts.map +1 -0
- package/dist/core/consolidate-scope.js +158 -0
- package/dist/core/consolidate-scope.js.map +1 -0
- package/dist/core/context-edit.d.ts +82 -0
- package/dist/core/context-edit.d.ts.map +1 -0
- package/dist/core/context-edit.js +149 -0
- package/dist/core/context-edit.js.map +1 -0
- package/dist/core/context-guard.d.ts +43 -0
- package/dist/core/context-guard.d.ts.map +1 -0
- package/dist/core/context-guard.js +171 -0
- package/dist/core/context-guard.js.map +1 -0
- package/dist/core/dynamic-recall.d.ts +100 -0
- package/dist/core/dynamic-recall.d.ts.map +1 -0
- package/dist/core/dynamic-recall.js +108 -0
- package/dist/core/dynamic-recall.js.map +1 -0
- package/dist/core/exec-gate.d.ts +74 -0
- package/dist/core/exec-gate.d.ts.map +1 -0
- package/dist/core/exec-gate.js +143 -0
- package/dist/core/exec-gate.js.map +1 -0
- package/dist/core/exec-output-tail.d.ts +37 -0
- package/dist/core/exec-output-tail.d.ts.map +1 -0
- package/dist/core/exec-output-tail.js +63 -0
- package/dist/core/exec-output-tail.js.map +1 -0
- package/dist/core/file-snapshot-store.d.ts +137 -0
- package/dist/core/file-snapshot-store.d.ts.map +1 -0
- package/dist/core/file-snapshot-store.js +319 -0
- package/dist/core/file-snapshot-store.js.map +1 -0
- package/dist/core/git-worktree-env.d.ts +41 -0
- package/dist/core/git-worktree-env.d.ts.map +1 -0
- package/dist/core/git-worktree-env.js +64 -0
- package/dist/core/git-worktree-env.js.map +1 -0
- package/dist/core/hooks.d.ts +372 -0
- package/dist/core/hooks.d.ts.map +1 -0
- package/dist/core/hooks.js +269 -0
- package/dist/core/hooks.js.map +1 -0
- package/dist/core/lsp-diagnostics.d.ts +74 -0
- package/dist/core/lsp-diagnostics.d.ts.map +1 -0
- package/dist/core/lsp-diagnostics.js +125 -0
- package/dist/core/lsp-diagnostics.js.map +1 -0
- package/dist/core/lsp-protocol.d.ts +28 -0
- package/dist/core/lsp-protocol.d.ts.map +1 -0
- package/dist/core/lsp-protocol.js +179 -0
- package/dist/core/lsp-protocol.js.map +1 -0
- package/dist/core/lsp-session.d.ts +56 -0
- package/dist/core/lsp-session.d.ts.map +1 -0
- package/dist/core/lsp-session.js +185 -0
- package/dist/core/lsp-session.js.map +1 -0
- package/dist/core/lsp.d.ts +132 -0
- package/dist/core/lsp.d.ts.map +1 -0
- package/dist/core/lsp.js +147 -0
- package/dist/core/lsp.js.map +1 -0
- package/dist/core/mcp.d.ts +294 -0
- package/dist/core/mcp.d.ts.map +1 -0
- package/dist/core/mcp.js +992 -0
- package/dist/core/mcp.js.map +1 -0
- package/dist/core/media-byte-cap.d.ts +34 -0
- package/dist/core/media-byte-cap.d.ts.map +1 -0
- package/dist/core/media-byte-cap.js +76 -0
- package/dist/core/media-byte-cap.js.map +1 -0
- package/dist/core/memory-engine/data-plane.d.ts +103 -0
- package/dist/core/memory-engine/data-plane.d.ts.map +1 -0
- package/dist/core/memory-engine/data-plane.js +272 -0
- package/dist/core/memory-engine/data-plane.js.map +1 -0
- package/dist/core/memory-engine/dual-root.d.ts +40 -0
- package/dist/core/memory-engine/dual-root.d.ts.map +1 -0
- package/dist/core/memory-engine/dual-root.js +95 -0
- package/dist/core/memory-engine/dual-root.js.map +1 -0
- package/dist/core/memory-engine/engine.d.ts +161 -0
- package/dist/core/memory-engine/engine.d.ts.map +1 -0
- package/dist/core/memory-engine/engine.js +1110 -0
- package/dist/core/memory-engine/engine.js.map +1 -0
- package/dist/core/memory-engine/file-backend.d.ts +162 -0
- package/dist/core/memory-engine/file-backend.d.ts.map +1 -0
- package/dist/core/memory-engine/file-backend.js +948 -0
- package/dist/core/memory-engine/file-backend.js.map +1 -0
- package/dist/core/memory-engine/frontmatter.d.ts +24 -0
- package/dist/core/memory-engine/frontmatter.d.ts.map +1 -0
- package/dist/core/memory-engine/frontmatter.js +135 -0
- package/dist/core/memory-engine/frontmatter.js.map +1 -0
- package/dist/core/memory-engine/index.d.ts +13 -0
- package/dist/core/memory-engine/index.d.ts.map +1 -0
- package/dist/core/memory-engine/index.js +28 -0
- package/dist/core/memory-engine/index.js.map +1 -0
- package/dist/core/memory-engine/layout.d.ts +123 -0
- package/dist/core/memory-engine/layout.d.ts.map +1 -0
- package/dist/core/memory-engine/layout.js +643 -0
- package/dist/core/memory-engine/layout.js.map +1 -0
- package/dist/core/memory-engine/memory-backend-contract.d.ts +22 -0
- package/dist/core/memory-engine/memory-backend-contract.d.ts.map +1 -0
- package/dist/core/memory-engine/memory-backend-contract.js +271 -0
- package/dist/core/memory-engine/memory-backend-contract.js.map +1 -0
- package/dist/core/memory-engine/migrate.d.ts +17 -0
- package/dist/core/memory-engine/migrate.d.ts.map +1 -0
- package/dist/core/memory-engine/migrate.js +35 -0
- package/dist/core/memory-engine/migrate.js.map +1 -0
- package/dist/core/memory-engine/scan.d.ts +20 -0
- package/dist/core/memory-engine/scan.d.ts.map +1 -0
- package/dist/core/memory-engine/scan.js +84 -0
- package/dist/core/memory-engine/scan.js.map +1 -0
- package/dist/core/memory-engine/scope-contract.d.ts +104 -0
- package/dist/core/memory-engine/scope-contract.d.ts.map +1 -0
- package/dist/core/memory-engine/scope-contract.js +288 -0
- package/dist/core/memory-engine/scope-contract.js.map +1 -0
- package/dist/core/memory-engine/sync-client.d.ts +100 -0
- package/dist/core/memory-engine/sync-client.d.ts.map +1 -0
- package/dist/core/memory-engine/sync-client.js +328 -0
- package/dist/core/memory-engine/sync-client.js.map +1 -0
- package/dist/core/memory-engine/sync.d.ts +97 -0
- package/dist/core/memory-engine/sync.d.ts.map +1 -0
- package/dist/core/memory-engine/sync.js +91 -0
- package/dist/core/memory-engine/sync.js.map +1 -0
- package/dist/core/memory-engine/types.d.ts +279 -0
- package/dist/core/memory-engine/types.d.ts.map +1 -0
- package/dist/core/memory-engine/types.js +9 -0
- package/dist/core/memory-engine/types.js.map +1 -0
- package/dist/core/memory-recall.d.ts +261 -0
- package/dist/core/memory-recall.d.ts.map +1 -0
- package/dist/core/memory-recall.js +600 -0
- package/dist/core/memory-recall.js.map +1 -0
- package/dist/core/memory-vector.d.ts +24 -0
- package/dist/core/memory-vector.d.ts.map +1 -0
- package/dist/core/memory-vector.js +51 -0
- package/dist/core/memory-vector.js.map +1 -0
- package/dist/core/memory.d.ts +502 -0
- package/dist/core/memory.d.ts.map +1 -0
- package/dist/core/memory.js +881 -0
- package/dist/core/memory.js.map +1 -0
- package/dist/core/message-utils.d.ts +7 -0
- package/dist/core/message-utils.d.ts.map +1 -0
- package/dist/core/message-utils.js +10 -0
- package/dist/core/message-utils.js.map +1 -0
- package/dist/core/oracle-isolation.d.ts +85 -0
- package/dist/core/oracle-isolation.d.ts.map +1 -0
- package/dist/core/oracle-isolation.js +121 -0
- package/dist/core/oracle-isolation.js.map +1 -0
- package/dist/core/permission-rules.d.ts +102 -0
- package/dist/core/permission-rules.d.ts.map +1 -0
- package/dist/core/permission-rules.js +357 -0
- package/dist/core/permission-rules.js.map +1 -0
- package/dist/core/present-plan-tool.d.ts +28 -0
- package/dist/core/present-plan-tool.d.ts.map +1 -0
- package/dist/core/present-plan-tool.js +119 -0
- package/dist/core/present-plan-tool.js.map +1 -0
- package/dist/core/pricing.d.ts +48 -0
- package/dist/core/pricing.d.ts.map +1 -0
- package/dist/core/pricing.js +46 -0
- package/dist/core/pricing.js.map +1 -0
- package/dist/core/property-harness.d.ts +126 -0
- package/dist/core/property-harness.d.ts.map +1 -0
- package/dist/core/property-harness.js +192 -0
- package/dist/core/property-harness.js.map +1 -0
- package/dist/core/push-queue.d.ts +10 -0
- package/dist/core/push-queue.d.ts.map +1 -0
- package/dist/core/push-queue.js +42 -0
- package/dist/core/push-queue.js.map +1 -0
- package/dist/core/remote-env.d.ts +432 -0
- package/dist/core/remote-env.d.ts.map +1 -0
- package/dist/core/remote-env.js +77 -0
- package/dist/core/remote-env.js.map +1 -0
- package/dist/core/roles.d.ts +74 -0
- package/dist/core/roles.d.ts.map +1 -0
- package/dist/core/roles.js +272 -0
- package/dist/core/roles.js.map +1 -0
- package/dist/core/runner/active-skill-scope.d.ts +64 -0
- package/dist/core/runner/active-skill-scope.d.ts.map +1 -0
- package/dist/core/runner/active-skill-scope.js +197 -0
- package/dist/core/runner/active-skill-scope.js.map +1 -0
- package/dist/core/runner/assemble-result.d.ts +191 -0
- package/dist/core/runner/assemble-result.d.ts.map +1 -0
- package/dist/core/runner/assemble-result.js +250 -0
- package/dist/core/runner/assemble-result.js.map +1 -0
- package/dist/core/runner/call-cap.d.ts +130 -0
- package/dist/core/runner/call-cap.d.ts.map +1 -0
- package/dist/core/runner/call-cap.js +151 -0
- package/dist/core/runner/call-cap.js.map +1 -0
- package/dist/core/runner/grounding-signal.d.ts +12 -0
- package/dist/core/runner/grounding-signal.d.ts.map +1 -0
- package/dist/core/runner/grounding-signal.js +94 -0
- package/dist/core/runner/grounding-signal.js.map +1 -0
- package/dist/core/runner/image.d.ts +23 -0
- package/dist/core/runner/image.d.ts.map +1 -0
- package/dist/core/runner/image.js +151 -0
- package/dist/core/runner/image.js.map +1 -0
- package/dist/core/runner/memory-consolidation.d.ts +112 -0
- package/dist/core/runner/memory-consolidation.d.ts.map +1 -0
- package/dist/core/runner/memory-consolidation.js +372 -0
- package/dist/core/runner/memory-consolidation.js.map +1 -0
- package/dist/core/runner/prepare-task.d.ts +583 -0
- package/dist/core/runner/prepare-task.d.ts.map +1 -0
- package/dist/core/runner/prepare-task.js +3612 -0
- package/dist/core/runner/prepare-task.js.map +1 -0
- package/dist/core/runner/prompt-suggestions.d.ts +33 -0
- package/dist/core/runner/prompt-suggestions.d.ts.map +1 -0
- package/dist/core/runner/prompt-suggestions.js +116 -0
- package/dist/core/runner/prompt-suggestions.js.map +1 -0
- package/dist/core/runner/runtask.d.ts +274 -0
- package/dist/core/runner/runtask.d.ts.map +1 -0
- package/dist/core/runner/runtask.js +4606 -0
- package/dist/core/runner/runtask.js.map +1 -0
- package/dist/core/runner/session-rule-policy.d.ts +28 -0
- package/dist/core/runner/session-rule-policy.d.ts.map +1 -0
- package/dist/core/runner/session-rule-policy.js +110 -0
- package/dist/core/runner/session-rule-policy.js.map +1 -0
- package/dist/core/runner/strict-output-schema.d.ts +36 -0
- package/dist/core/runner/strict-output-schema.d.ts.map +1 -0
- package/dist/core/runner/strict-output-schema.js +365 -0
- package/dist/core/runner/strict-output-schema.js.map +1 -0
- package/dist/core/runner/synthetic-tools.d.ts +72 -0
- package/dist/core/runner/synthetic-tools.d.ts.map +1 -0
- package/dist/core/runner/synthetic-tools.js +203 -0
- package/dist/core/runner/synthetic-tools.js.map +1 -0
- package/dist/core/runner/tool-disclosure.d.ts +117 -0
- package/dist/core/runner/tool-disclosure.d.ts.map +1 -0
- package/dist/core/runner/tool-disclosure.js +0 -0
- package/dist/core/runner/tool-disclosure.js.map +1 -0
- package/dist/core/runner/turn-attachments.d.ts +381 -0
- package/dist/core/runner/turn-attachments.d.ts.map +1 -0
- package/dist/core/runner/turn-attachments.js +596 -0
- package/dist/core/runner/turn-attachments.js.map +1 -0
- package/dist/core/runner/usage-accounting.d.ts +35 -0
- package/dist/core/runner/usage-accounting.d.ts.map +1 -0
- package/dist/core/runner/usage-accounting.js +45 -0
- package/dist/core/runner/usage-accounting.js.map +1 -0
- package/dist/core/runtime.d.ts +9 -0
- package/dist/core/runtime.d.ts.map +1 -0
- package/dist/core/runtime.js +17 -0
- package/dist/core/runtime.js.map +1 -0
- package/dist/core/safety-axis-vocab.d.ts +33 -0
- package/dist/core/safety-axis-vocab.d.ts.map +1 -0
- package/dist/core/safety-axis-vocab.js +35 -0
- package/dist/core/safety-axis-vocab.js.map +1 -0
- package/dist/core/safety-merge-corpus.d.ts +48 -0
- package/dist/core/safety-merge-corpus.d.ts.map +1 -0
- package/dist/core/safety-merge-corpus.js +203 -0
- package/dist/core/safety-merge-corpus.js.map +1 -0
- package/dist/core/scheduler.d.ts +126 -0
- package/dist/core/scheduler.d.ts.map +1 -0
- package/dist/core/scheduler.js +54 -0
- package/dist/core/scheduler.js.map +1 -0
- package/dist/core/secret-env.d.ts +23 -0
- package/dist/core/secret-env.d.ts.map +1 -0
- package/dist/core/secret-env.js +35 -0
- package/dist/core/secret-env.js.map +1 -0
- package/dist/core/select-model.d.ts +26 -0
- package/dist/core/select-model.d.ts.map +1 -0
- package/dist/core/select-model.js +58 -0
- package/dist/core/select-model.js.map +1 -0
- package/dist/core/sensitive-path-policy.d.ts +24 -0
- package/dist/core/sensitive-path-policy.d.ts.map +1 -0
- package/dist/core/sensitive-path-policy.js +96 -0
- package/dist/core/sensitive-path-policy.js.map +1 -0
- package/dist/core/session-policy-store.d.ts +102 -0
- package/dist/core/session-policy-store.d.ts.map +1 -0
- package/dist/core/session-policy-store.js +177 -0
- package/dist/core/session-policy-store.js.map +1 -0
- package/dist/core/session-reconcile.d.ts +63 -0
- package/dist/core/session-reconcile.d.ts.map +1 -0
- package/dist/core/session-reconcile.js +71 -0
- package/dist/core/session-reconcile.js.map +1 -0
- package/dist/core/session-store.d.ts +99 -0
- package/dist/core/session-store.d.ts.map +1 -0
- package/dist/core/session-store.js +298 -0
- package/dist/core/session-store.js.map +1 -0
- package/dist/core/session.d.ts +144 -0
- package/dist/core/session.d.ts.map +1 -0
- package/dist/core/session.js +56 -0
- package/dist/core/session.js.map +1 -0
- package/dist/core/spec-contract.d.ts +147 -0
- package/dist/core/spec-contract.d.ts.map +1 -0
- package/dist/core/spec-contract.js +340 -0
- package/dist/core/spec-contract.js.map +1 -0
- package/dist/core/strategy-store.d.ts +50 -0
- package/dist/core/strategy-store.d.ts.map +1 -0
- package/dist/core/strategy-store.js +100 -0
- package/dist/core/strategy-store.js.map +1 -0
- package/dist/core/stub-env.d.ts +35 -0
- package/dist/core/stub-env.d.ts.map +1 -0
- package/dist/core/stub-env.js +69 -0
- package/dist/core/stub-env.js.map +1 -0
- package/dist/core/task-notification.d.ts +115 -0
- package/dist/core/task-notification.d.ts.map +1 -0
- package/dist/core/task-notification.js +247 -0
- package/dist/core/task-notification.js.map +1 -0
- package/dist/core/task-outcome.d.ts +80 -0
- package/dist/core/task-outcome.d.ts.map +1 -0
- package/dist/core/task-outcome.js +40 -0
- package/dist/core/task-outcome.js.map +1 -0
- package/dist/core/task-registry.d.ts +349 -0
- package/dist/core/task-registry.d.ts.map +1 -0
- package/dist/core/task-registry.js +1751 -0
- package/dist/core/task-registry.js.map +1 -0
- package/dist/core/tighten-task-spec.d.ts +27 -0
- package/dist/core/tighten-task-spec.d.ts.map +1 -0
- package/dist/core/tighten-task-spec.js +95 -0
- package/dist/core/tighten-task-spec.js.map +1 -0
- package/dist/core/tool-detach.d.ts +31 -0
- package/dist/core/tool-detach.d.ts.map +1 -0
- package/dist/core/tool-detach.js +62 -0
- package/dist/core/tool-detach.js.map +1 -0
- package/dist/core/tool-errors.d.ts +72 -0
- package/dist/core/tool-errors.d.ts.map +1 -0
- package/dist/core/tool-errors.js +194 -0
- package/dist/core/tool-errors.js.map +1 -0
- package/dist/core/tool-name-aliases.d.ts +5 -0
- package/dist/core/tool-name-aliases.d.ts.map +1 -0
- package/dist/core/tool-name-aliases.js +130 -0
- package/dist/core/tool-name-aliases.js.map +1 -0
- package/dist/core/tool-policy.d.ts +295 -0
- package/dist/core/tool-policy.d.ts.map +1 -0
- package/dist/core/tool-policy.js +567 -0
- package/dist/core/tool-policy.js.map +1 -0
- package/dist/core/tool-result-budget.d.ts +44 -0
- package/dist/core/tool-result-budget.d.ts.map +1 -0
- package/dist/core/tool-result-budget.js +140 -0
- package/dist/core/tool-result-budget.js.map +1 -0
- package/dist/core/tool-result-store.d.ts +136 -0
- package/dist/core/tool-result-store.d.ts.map +1 -0
- package/dist/core/tool-result-store.js +219 -0
- package/dist/core/tool-result-store.js.map +1 -0
- package/dist/core/tools.d.ts +14 -0
- package/dist/core/tools.d.ts.map +1 -0
- package/dist/core/tools.js +98 -0
- package/dist/core/tools.js.map +1 -0
- package/dist/core/trace.d.ts +340 -0
- package/dist/core/trace.d.ts.map +1 -0
- package/dist/core/trace.js +12 -0
- package/dist/core/trace.js.map +1 -0
- package/dist/core/types.d.ts +2828 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/core/types.js +2 -0
- package/dist/core/types.js.map +1 -0
- package/dist/core/untrusted-egress.d.ts +32 -0
- package/dist/core/untrusted-egress.d.ts.map +1 -0
- package/dist/core/untrusted-egress.js +49 -0
- package/dist/core/untrusted-egress.js.map +1 -0
- package/dist/core/untrusted-text.d.ts +64 -0
- package/dist/core/untrusted-text.d.ts.map +1 -0
- package/dist/core/untrusted-text.js +119 -0
- package/dist/core/untrusted-text.js.map +1 -0
- package/dist/core/warm-resume.d.ts +23 -0
- package/dist/core/warm-resume.d.ts.map +1 -0
- package/dist/core/warm-resume.js +28 -0
- package/dist/core/warm-resume.js.map +1 -0
- package/dist/core/with-retry.d.ts +43 -0
- package/dist/core/with-retry.d.ts.map +1 -0
- package/dist/core/with-retry.js +59 -0
- package/dist/core/with-retry.js.map +1 -0
- package/dist/core/workflow-journal-store.d.ts +44 -0
- package/dist/core/workflow-journal-store.d.ts.map +1 -0
- package/dist/core/workflow-journal-store.js +47 -0
- package/dist/core/workflow-journal-store.js.map +1 -0
- package/dist/core/workflow-run-store-contract.d.ts +31 -0
- package/dist/core/workflow-run-store-contract.d.ts.map +1 -0
- package/dist/core/workflow-run-store-contract.js +191 -0
- package/dist/core/workflow-run-store-contract.js.map +1 -0
- package/dist/core/workflow-run-store.d.ts +149 -0
- package/dist/core/workflow-run-store.d.ts.map +1 -0
- package/dist/core/workflow-run-store.js +110 -0
- package/dist/core/workflow-run-store.js.map +1 -0
- package/dist/engine/compaction/compaction.d.ts +139 -0
- package/dist/engine/compaction/compaction.d.ts.map +1 -0
- package/dist/engine/compaction/compaction.js +1030 -0
- package/dist/engine/compaction/compaction.js.map +1 -0
- package/dist/engine/compaction/utils.d.ts +45 -0
- package/dist/engine/compaction/utils.d.ts.map +1 -0
- package/dist/engine/compaction/utils.js +203 -0
- package/dist/engine/compaction/utils.js.map +1 -0
- package/dist/engine/execution-env/kill-tree.d.ts +20 -0
- package/dist/engine/execution-env/kill-tree.d.ts.map +1 -0
- package/dist/engine/execution-env/kill-tree.js +183 -0
- package/dist/engine/execution-env/kill-tree.js.map +1 -0
- package/dist/engine/execution-env/node-execution-env.d.ts +133 -0
- package/dist/engine/execution-env/node-execution-env.d.ts.map +1 -0
- package/dist/engine/execution-env/node-execution-env.js +1031 -0
- package/dist/engine/execution-env/node-execution-env.js.map +1 -0
- package/dist/engine/harness/agent-harness.d.ts +174 -0
- package/dist/engine/harness/agent-harness.d.ts.map +1 -0
- package/dist/engine/harness/agent-harness.js +1053 -0
- package/dist/engine/harness/agent-harness.js.map +1 -0
- package/dist/engine/harness/messages.d.ts +17 -0
- package/dist/engine/harness/messages.d.ts.map +1 -0
- package/dist/engine/harness/messages.js +122 -0
- package/dist/engine/harness/messages.js.map +1 -0
- package/dist/engine/harness/types.d.ts +713 -0
- package/dist/engine/harness/types.d.ts.map +1 -0
- package/dist/engine/harness/types.js +100 -0
- package/dist/engine/harness/types.js.map +1 -0
- package/dist/engine/llm/diagnostics.d.ts +23 -0
- package/dist/engine/llm/diagnostics.d.ts.map +1 -0
- package/dist/engine/llm/diagnostics.js +32 -0
- package/dist/engine/llm/diagnostics.js.map +1 -0
- package/dist/engine/llm/event-stream.d.ts +25 -0
- package/dist/engine/llm/event-stream.d.ts.map +1 -0
- package/dist/engine/llm/event-stream.js +103 -0
- package/dist/engine/llm/event-stream.js.map +1 -0
- package/dist/engine/llm/index.d.ts +12 -0
- package/dist/engine/llm/index.d.ts.map +1 -0
- package/dist/engine/llm/index.js +12 -0
- package/dist/engine/llm/index.js.map +1 -0
- package/dist/engine/llm/types.d.ts +753 -0
- package/dist/engine/llm/types.d.ts.map +1 -0
- package/dist/engine/llm/types.js +2 -0
- package/dist/engine/llm/types.js.map +1 -0
- package/dist/engine/llm/validation.d.ts +8 -0
- package/dist/engine/llm/validation.d.ts.map +1 -0
- package/dist/engine/llm/validation.js +318 -0
- package/dist/engine/llm/validation.js.map +1 -0
- package/dist/engine/loop/agent-loop.d.ts +74 -0
- package/dist/engine/loop/agent-loop.d.ts.map +1 -0
- package/dist/engine/loop/agent-loop.js +1490 -0
- package/dist/engine/loop/agent-loop.js.map +1 -0
- package/dist/engine/loop/runtime-deps.d.ts +17 -0
- package/dist/engine/loop/runtime-deps.d.ts.map +1 -0
- package/dist/engine/loop/runtime-deps.js +21 -0
- package/dist/engine/loop/runtime-deps.js.map +1 -0
- package/dist/engine/loop/types.d.ts +609 -0
- package/dist/engine/loop/types.d.ts.map +1 -0
- package/dist/engine/loop/types.js +2 -0
- package/dist/engine/loop/types.js.map +1 -0
- package/dist/engine/lsp/frame-decoder.d.ts +16 -0
- package/dist/engine/lsp/frame-decoder.d.ts.map +1 -0
- package/dist/engine/lsp/frame-decoder.js +53 -0
- package/dist/engine/lsp/frame-decoder.js.map +1 -0
- package/dist/engine/lsp/node-lsp-manager.d.ts +105 -0
- package/dist/engine/lsp/node-lsp-manager.d.ts.map +1 -0
- package/dist/engine/lsp/node-lsp-manager.js +343 -0
- package/dist/engine/lsp/node-lsp-manager.js.map +1 -0
- package/dist/engine/lsp/stdio-lsp-transport.d.ts +37 -0
- package/dist/engine/lsp/stdio-lsp-transport.d.ts.map +1 -0
- package/dist/engine/lsp/stdio-lsp-transport.js +185 -0
- package/dist/engine/lsp/stdio-lsp-transport.js.map +1 -0
- package/dist/engine/session/import-validate.d.ts +44 -0
- package/dist/engine/session/import-validate.d.ts.map +1 -0
- package/dist/engine/session/import-validate.js +92 -0
- package/dist/engine/session/import-validate.js.map +1 -0
- package/dist/engine/session/memory-repo.d.ts +25 -0
- package/dist/engine/session/memory-repo.d.ts.map +1 -0
- package/dist/engine/session/memory-repo.js +59 -0
- package/dist/engine/session/memory-repo.js.map +1 -0
- package/dist/engine/session/memory-storage.d.ts +14 -0
- package/dist/engine/session/memory-storage.d.ts.map +1 -0
- package/dist/engine/session/memory-storage.js +17 -0
- package/dist/engine/session/memory-storage.js.map +1 -0
- package/dist/engine/session/repo-utils.d.ts +11 -0
- package/dist/engine/session/repo-utils.d.ts.map +1 -0
- package/dist/engine/session/repo-utils.js +40 -0
- package/dist/engine/session/repo-utils.js.map +1 -0
- package/dist/engine/session/session.d.ts +34 -0
- package/dist/engine/session/session.d.ts.map +1 -0
- package/dist/engine/session/session.js +227 -0
- package/dist/engine/session/session.js.map +1 -0
- package/dist/engine/session/storage-base.d.ts +38 -0
- package/dist/engine/session/storage-base.d.ts.map +1 -0
- package/dist/engine/session/storage-base.js +157 -0
- package/dist/engine/session/storage-base.js.map +1 -0
- package/dist/engine/session/timestamps.d.ts +3 -0
- package/dist/engine/session/timestamps.d.ts.map +1 -0
- package/dist/engine/session/timestamps.js +15 -0
- package/dist/engine/session/timestamps.js.map +1 -0
- package/dist/engine/session/uuid.d.ts +2 -0
- package/dist/engine/session/uuid.d.ts.map +1 -0
- package/dist/engine/session/uuid.js +50 -0
- package/dist/engine/session/uuid.js.map +1 -0
- package/dist/index.d.ts +160 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +374 -0
- package/dist/index.js.map +1 -0
- package/dist/internal/harness.d.ts +26 -0
- package/dist/internal/harness.d.ts.map +1 -0
- package/dist/internal/harness.js +24 -0
- package/dist/internal/harness.js.map +1 -0
- package/dist/internal/llm.d.ts +9 -0
- package/dist/internal/llm.d.ts.map +1 -0
- package/dist/internal/llm.js +8 -0
- package/dist/internal/llm.js.map +1 -0
- package/dist/orchestration/builtin-workflows.d.ts +44 -0
- package/dist/orchestration/builtin-workflows.d.ts.map +1 -0
- package/dist/orchestration/builtin-workflows.js +165 -0
- package/dist/orchestration/builtin-workflows.js.map +1 -0
- package/dist/orchestration/dev-vm-script-runner.d.ts +24 -0
- package/dist/orchestration/dev-vm-script-runner.d.ts.map +1 -0
- package/dist/orchestration/dev-vm-script-runner.js +106 -0
- package/dist/orchestration/dev-vm-script-runner.js.map +1 -0
- package/dist/orchestration/goal.d.ts +97 -0
- package/dist/orchestration/goal.d.ts.map +1 -0
- package/dist/orchestration/goal.js +248 -0
- package/dist/orchestration/goal.js.map +1 -0
- package/dist/orchestration/run-spec.d.ts +63 -0
- package/dist/orchestration/run-spec.d.ts.map +1 -0
- package/dist/orchestration/run-spec.js +274 -0
- package/dist/orchestration/run-spec.js.map +1 -0
- package/dist/orchestration/run-workflow-tool.d.ts +187 -0
- package/dist/orchestration/run-workflow-tool.d.ts.map +1 -0
- package/dist/orchestration/run-workflow-tool.js +612 -0
- package/dist/orchestration/run-workflow-tool.js.map +1 -0
- package/dist/orchestration/workflow-governance.d.ts +70 -0
- package/dist/orchestration/workflow-governance.d.ts.map +1 -0
- package/dist/orchestration/workflow-governance.js +176 -0
- package/dist/orchestration/workflow-governance.js.map +1 -0
- package/dist/orchestration/workflow-meta.d.ts +41 -0
- package/dist/orchestration/workflow-meta.d.ts.map +1 -0
- package/dist/orchestration/workflow-meta.js +426 -0
- package/dist/orchestration/workflow-meta.js.map +1 -0
- package/dist/orchestration/workflow-observe.d.ts +77 -0
- package/dist/orchestration/workflow-observe.d.ts.map +1 -0
- package/dist/orchestration/workflow-observe.js +177 -0
- package/dist/orchestration/workflow-observe.js.map +1 -0
- package/dist/orchestration/workflow-primitives.d.ts +31 -0
- package/dist/orchestration/workflow-primitives.d.ts.map +1 -0
- package/dist/orchestration/workflow-primitives.js +104 -0
- package/dist/orchestration/workflow-primitives.js.map +1 -0
- package/dist/orchestration/workflow-sandbox-conformance.d.ts +34 -0
- package/dist/orchestration/workflow-sandbox-conformance.d.ts.map +1 -0
- package/dist/orchestration/workflow-sandbox-conformance.js +301 -0
- package/dist/orchestration/workflow-sandbox-conformance.js.map +1 -0
- package/dist/orchestration/workflow-script-runner.d.ts +127 -0
- package/dist/orchestration/workflow-script-runner.d.ts.map +1 -0
- package/dist/orchestration/workflow-script-runner.js +48 -0
- package/dist/orchestration/workflow-script-runner.js.map +1 -0
- package/dist/orchestration/workflow-script-store.d.ts +99 -0
- package/dist/orchestration/workflow-script-store.d.ts.map +1 -0
- package/dist/orchestration/workflow-script-store.js +133 -0
- package/dist/orchestration/workflow-script-store.js.map +1 -0
- package/dist/orchestration/workflow-size-guideline.d.ts +50 -0
- package/dist/orchestration/workflow-size-guideline.d.ts.map +1 -0
- package/dist/orchestration/workflow-size-guideline.js +78 -0
- package/dist/orchestration/workflow-size-guideline.js.map +1 -0
- package/dist/orchestration/workflow.d.ts +624 -0
- package/dist/orchestration/workflow.d.ts.map +1 -0
- package/dist/orchestration/workflow.js +1596 -0
- package/dist/orchestration/workflow.js.map +1 -0
- package/dist/prompts/default.d.ts +474 -0
- package/dist/prompts/default.d.ts.map +1 -0
- package/dist/prompts/default.js +676 -0
- package/dist/prompts/default.js.map +1 -0
- package/dist/prompts/supervisor.d.ts +60 -0
- package/dist/prompts/supervisor.d.ts.map +1 -0
- package/dist/prompts/supervisor.js +162 -0
- package/dist/prompts/supervisor.js.map +1 -0
- package/dist/scenarios/env.d.ts +41 -0
- package/dist/scenarios/env.d.ts.map +1 -0
- package/dist/scenarios/env.js +65 -0
- package/dist/scenarios/env.js.map +1 -0
- package/dist/scenarios/full-body.d.ts +47 -0
- package/dist/scenarios/full-body.d.ts.map +1 -0
- package/dist/scenarios/full-body.js +36 -0
- package/dist/scenarios/full-body.js.map +1 -0
- package/dist/scenarios/scenario-registry.d.ts +107 -0
- package/dist/scenarios/scenario-registry.d.ts.map +1 -0
- package/dist/scenarios/scenario-registry.js +192 -0
- package/dist/scenarios/scenario-registry.js.map +1 -0
- package/dist/scenarios/teacher-quickstart.d.ts +41 -0
- package/dist/scenarios/teacher-quickstart.d.ts.map +1 -0
- package/dist/scenarios/teacher-quickstart.js +32 -0
- package/dist/scenarios/teacher-quickstart.js.map +1 -0
- package/dist/server/http.d.ts +36 -0
- package/dist/server/http.d.ts.map +1 -0
- package/dist/server/http.js +144 -0
- package/dist/server/http.js.map +1 -0
- package/dist/stores/file/checkpoint-store.d.ts +62 -0
- package/dist/stores/file/checkpoint-store.d.ts.map +1 -0
- package/dist/stores/file/checkpoint-store.js +250 -0
- package/dist/stores/file/checkpoint-store.js.map +1 -0
- package/dist/stores/file/file-snapshot-store.d.ts +43 -0
- package/dist/stores/file/file-snapshot-store.d.ts.map +1 -0
- package/dist/stores/file/file-snapshot-store.js +374 -0
- package/dist/stores/file/file-snapshot-store.js.map +1 -0
- package/dist/stores/file/fs-atomic.d.ts +95 -0
- package/dist/stores/file/fs-atomic.d.ts.map +1 -0
- package/dist/stores/file/fs-atomic.js +415 -0
- package/dist/stores/file/fs-atomic.js.map +1 -0
- package/dist/stores/file/index.d.ts +98 -0
- package/dist/stores/file/index.d.ts.map +1 -0
- package/dist/stores/file/index.js +109 -0
- package/dist/stores/file/index.js.map +1 -0
- package/dist/stores/file/memory-store.d.ts +95 -0
- package/dist/stores/file/memory-store.d.ts.map +1 -0
- package/dist/stores/file/memory-store.js +393 -0
- package/dist/stores/file/memory-store.js.map +1 -0
- package/dist/stores/file/session-policy-store.d.ts +24 -0
- package/dist/stores/file/session-policy-store.d.ts.map +1 -0
- package/dist/stores/file/session-policy-store.js +123 -0
- package/dist/stores/file/session-policy-store.js.map +1 -0
- package/dist/stores/file/session-store.d.ts +34 -0
- package/dist/stores/file/session-store.d.ts.map +1 -0
- package/dist/stores/file/session-store.js +175 -0
- package/dist/stores/file/session-store.js.map +1 -0
- package/dist/stores/file/tool-result-store.d.ts +23 -0
- package/dist/stores/file/tool-result-store.d.ts.map +1 -0
- package/dist/stores/file/tool-result-store.js +61 -0
- package/dist/stores/file/tool-result-store.js.map +1 -0
- package/dist/stores/file/workflow-journal-store.d.ts +36 -0
- package/dist/stores/file/workflow-journal-store.d.ts.map +1 -0
- package/dist/stores/file/workflow-journal-store.js +157 -0
- package/dist/stores/file/workflow-journal-store.js.map +1 -0
- package/dist/stores/file/workflow-run-store.d.ts +58 -0
- package/dist/stores/file/workflow-run-store.d.ts.map +1 -0
- package/dist/stores/file/workflow-run-store.js +178 -0
- package/dist/stores/file/workflow-run-store.js.map +1 -0
- package/dist/stores/pg.d.ts +210 -0
- package/dist/stores/pg.d.ts.map +1 -0
- package/dist/stores/pg.js +652 -0
- package/dist/stores/pg.js.map +1 -0
- package/dist/tools/fs/encoding.d.ts +51 -0
- package/dist/tools/fs/encoding.d.ts.map +1 -0
- package/dist/tools/fs/encoding.js +74 -0
- package/dist/tools/fs/encoding.js.map +1 -0
- package/dist/tools/fs/gh-rate-limit.d.ts +19 -0
- package/dist/tools/fs/gh-rate-limit.d.ts.map +1 -0
- package/dist/tools/fs/gh-rate-limit.js +35 -0
- package/dist/tools/fs/gh-rate-limit.js.map +1 -0
- package/dist/tools/fs/index.d.ts +246 -0
- package/dist/tools/fs/index.d.ts.map +1 -0
- package/dist/tools/fs/index.js +2130 -0
- package/dist/tools/fs/index.js.map +1 -0
- package/dist/tools/fs/pdf.d.ts +106 -0
- package/dist/tools/fs/pdf.d.ts.map +1 -0
- package/dist/tools/fs/pdf.js +178 -0
- package/dist/tools/fs/pdf.js.map +1 -0
- package/dist/tools/fs/repo-map.d.ts +15 -0
- package/dist/tools/fs/repo-map.d.ts.map +1 -0
- package/dist/tools/fs/repo-map.js +251 -0
- package/dist/tools/fs/repo-map.js.map +1 -0
- package/dist/tools/fs/safety.d.ts +168 -0
- package/dist/tools/fs/safety.d.ts.map +1 -0
- package/dist/tools/fs/safety.js +479 -0
- package/dist/tools/fs/safety.js.map +1 -0
- package/dist/tools/fs/search.d.ts +118 -0
- package/dist/tools/fs/search.d.ts.map +1 -0
- package/dist/tools/fs/search.js +650 -0
- package/dist/tools/fs/search.js.map +1 -0
- package/dist/tools/gitea-issue.d.ts +39 -0
- package/dist/tools/gitea-issue.d.ts.map +1 -0
- package/dist/tools/gitea-issue.js +91 -0
- package/dist/tools/gitea-issue.js.map +1 -0
- package/dist/tools/monitor.d.ts +64 -0
- package/dist/tools/monitor.d.ts.map +1 -0
- package/dist/tools/monitor.js +135 -0
- package/dist/tools/monitor.js.map +1 -0
- package/dist/tools/scheduler-tools.d.ts +48 -0
- package/dist/tools/scheduler-tools.d.ts.map +1 -0
- package/dist/tools/scheduler-tools.js +449 -0
- package/dist/tools/scheduler-tools.js.map +1 -0
- package/dist/tools/sql-adapters.d.ts +32 -0
- package/dist/tools/sql-adapters.d.ts.map +1 -0
- package/dist/tools/sql-adapters.js +31 -0
- package/dist/tools/sql-adapters.js.map +1 -0
- package/dist/tools/sql.d.ts +36 -0
- package/dist/tools/sql.d.ts.map +1 -0
- package/dist/tools/sql.js +131 -0
- package/dist/tools/sql.js.map +1 -0
- package/dist/tools/task-list.d.ts +26 -0
- package/dist/tools/task-list.d.ts.map +1 -0
- package/dist/tools/task-list.js +352 -0
- package/dist/tools/task-list.js.map +1 -0
- package/dist/tools/todo.d.ts +11 -0
- package/dist/tools/todo.d.ts.map +1 -0
- package/dist/tools/todo.js +126 -0
- package/dist/tools/todo.js.map +1 -0
- package/dist/tools/web.d.ts +59 -0
- package/dist/tools/web.d.ts.map +1 -0
- package/dist/tools/web.js +607 -0
- package/dist/tools/web.js.map +1 -0
- package/dist/tools/worktree.d.ts +88 -0
- package/dist/tools/worktree.d.ts.map +1 -0
- package/dist/tools/worktree.js +434 -0
- package/dist/tools/worktree.js.map +1 -0
- package/docs/A1-ATTRIBUTION-ROUND1-2026-07-09.md +181 -0
- package/docs/AB-ORACLE-GATE-VERDICT-2026-07-10.md +100 -0
- package/docs/ANCHOR-GAP-INVENTORY-2026-07-09.md +143 -0
- package/docs/ARCHITECTURE.md +125 -0
- package/docs/BUGHUNT-2026-07-05-NIGHT.md +98 -0
- package/docs/BUILD.md +63 -0
- package/docs/CANCEL-ASYNC-ATTRIBUTION-2026-07-09.md +98 -0
- package/docs/CC-198-VS-201-DRIFT-2026-07-09.md +70 -0
- package/docs/CC-BASELINE-FAKE-ZERO-AUDIT-2026-07-09.md +51 -0
- package/docs/CC-DRIFT-198-206-AGENT-TYPES-2026-07-10.md +82 -0
- package/docs/CC-DRIFT-198-206-CHANGELOG-2026-07-10.md +82 -0
- package/docs/CC-DRIFT-198-206-REMINDERS-2026-07-10.md +96 -0
- package/docs/CC-DRIFT-198-206-ROADMAP-2026-07-10.md +110 -0
- package/docs/CC-DRIFT-198-206-TOOL-INVENTORY-2026-07-10.md +53 -0
- package/docs/CC-DRIFT-198-206-USAGE-CONSTANTS-2026-07-10.md +64 -0
- package/docs/CC-DRIFT-198-206-WORKFLOW-2026-07-10.md +83 -0
- package/docs/CC-PARITY-CHECKLIST.md +220 -0
- package/docs/CC-PARITY-DEEP-SWEEP-2026-07-07.md +149 -0
- package/docs/CC-SUBAGENT-PROMPT-STUDY-2026-07-09.md +219 -0
- package/docs/CC-TASK-REMINDER-CADENCE-STUDY-2026-07-09.md +396 -0
- package/docs/CC-TOOL-PARITY-SWEEP-2026-07.md +56 -0
- package/docs/CC-TOOL-PROMPT-DEEP-DIFF-2026-07-08.md +274 -0
- package/docs/CC-TOOLSURFACE-DEEP-DIVE-2026-07-07.md +197 -0
- package/docs/CC206-OBSERVER-ANCHORS-2026-07-11.md +463 -0
- package/docs/CC207-CORE-SWEEP-BACKLOG-2026-07-12.md +155 -0
- package/docs/CENTER-CONTROL-PLANE-SEAM.md +86 -0
- package/docs/CLEANUP-CONTRACT-ANCHOR-2026-07-09.md +83 -0
- package/docs/COLD-START-RSI-2026-07-09.md +72 -0
- package/docs/COMPACTION-LIVE-AUDIT-2026-07-09.md +114 -0
- package/docs/CONTEXT-lifecycle-extension-points-and-stop-attribution.md +71 -0
- package/docs/COREWARS-POLYGLOT-TRIAGE-2026-07-09.md +85 -0
- package/docs/DEADTARGET-OVERFULL-HBOX-2026-07-10.md +92 -0
- package/docs/DEADTARGET-PATH-TRACING-REVERSE-2026-07-10.md +87 -0
- package/docs/DEADTARGET-WINNING-AVG-COREWARS-2026-07-10.md +96 -0
- package/docs/DEEPSEEK-API-LIMITS-PROBE-2026-07-09.md +118 -0
- package/docs/DESIGN-140-MOCK-VERIFY-2026-07-11.md +79 -0
- package/docs/DESIGN-140-VERIFICATION-2026-07-11.md +43 -0
- package/docs/DESIGN-DRAFT-workflow-collab-2026-07-11.md +56 -0
- package/docs/DESIGN-ORACLE-GROUNDING-GATE-2026-07-10.md +167 -0
- package/docs/DESIGN-TFRAG-RECONCILE-SCAFFOLD-2026-07-09.md +102 -0
- package/docs/EXP-PA2-PE-DESIGN-2026-07-11.md +220 -0
- package/docs/EXT-DOGFOOD-2026-07-12.md +50 -0
- package/docs/FINAL-VERIFY-SURFACE-AUDIT-2026-07-09.md +44 -0
- package/docs/FRAG-RECON-INVESTIGATION-2026-07-09.md +183 -0
- package/docs/HANDOFF.md +121 -0
- package/docs/KNOWN-ISSUES.md +96 -0
- package/docs/LEGW-WINDOW-TAX-2026-07-10.md +82 -0
- package/docs/LIVE-PROBE-BATCH-2026-07-11.md +207 -0
- package/docs/M2-CERT-ATTRIBUTION-2026-07-10.md +61 -0
- package/docs/M25-LEG-VARIANCE-ATTRIBUTION-2026-07-10.md +81 -0
- package/docs/MAILMAN-TIMEOUT-ATTRIBUTION-2026-07-10.md +88 -0
- package/docs/MEMORY-BACKEND-DIALECT-NOTES.md +69 -0
- package/docs/MTEB-ESCAPE-HATCH-ATTRIBUTION-2026-07-09.md +57 -0
- package/docs/MTEB-LEADERBOARD-ATTRIBUTION-2026-07-10.md +134 -0
- package/docs/ORACLE-GATE-NEGATIVE-SAMPLE-2026-07-11.md +28 -0
- package/docs/PARITY-CONTEXT-TRANSACTIONS-2026-07-10.md +67 -0
- package/docs/PARITY-PROGRESS-MATRIX-2026-07-10.md +37 -0
- package/docs/PARITY-SPOT-AGENT-TYPES-2026-07-10.md +70 -0
- package/docs/PARITY-SPOT-REMINDERS-2026-07-10.md +144 -0
- package/docs/PARITY-SPOT-TOOL-INVENTORY-2026-07-10.md +61 -0
- package/docs/PARITY-SPOT-USAGE-CONSTANTS-2026-07-10.md +95 -0
- package/docs/PARITY-SPOT-WORKFLOW-2026-07-10.md +93 -0
- package/docs/PASSWORD-RECOVERY-PANEL-VERDICT-2026-07-10.md +62 -0
- package/docs/R8-R9-FINALIZE-COORDINATION-2026-07-09.md +124 -0
- package/docs/REPL-CODE-MODE-EVALUATION-2026-07-10.md +187 -0
- package/docs/REPORT-1249-TARGETED.md +48 -0
- package/docs/RESEARCH-3P-MEMORY-SWAP-2026-07-12.md +273 -0
- package/docs/ROADMAP.md +111 -0
- package/docs/RSI-CLOUD-DEPLOY-2026-07-06.md +289 -0
- package/docs/RSI-PROCESS-AI-COLDSTART-2026-07-11.md +68 -0
- package/docs/S18-THOROUGHNESS-AUDIT-2026-07-09.md +113 -0
- package/docs/SERVICE-INTEGRATION-GUIDE.md +298 -0
- package/docs/SUBAGENT-STREAM-RESILIENCE-PARITY-2026-07-10.md +118 -0
- package/docs/SWEBENCH-PRO-RECON-2026-07-11.md +31 -0
- package/docs/TB-EFFICIENCY-TELEMETRY-2026-07-08.md +114 -0
- package/docs/TB-FAILURE-AUTOPSY-2026-07-05-RERUN.md +67 -0
- package/docs/TB-FAIRNESS-AUDIT-2026-07-08.md +141 -0
- package/docs/TB-FULL-1257-2026-07-08.md +77 -0
- package/docs/TB-LEG-GAP-ATTRIBUTION-1261-1263-2026-07-11.md +154 -0
- package/docs/TB-REGRESSION-DAEMON-KILL-2026-07-08.md +58 -0
- package/docs/TB-RSI-CROSSCHECK-2026-07-06.md +68 -0
- package/docs/TB-RSI-LEDGER.md +30 -0
- package/docs/TB-STABLE-SET-2026-07-08.md +127 -0
- package/docs/TB21-RECON-2026-07-11.md +28 -0
- package/docs/TEST-DESIGN-BATCH-1-2-3.md +97 -0
- package/docs/THIRD-PARTY-INTEGRATION.md +45 -0
- package/docs/TOKEN-ESTIMATE-CALIBRATION-LIVE-2026-07-09.md +102 -0
- package/docs/audit-2026-06-10-/347/254/254/344/272/214/350/275/256-/347/251/272/347/231/275/345/214/272/344/270/216/345/277/230/346/216/245/347/272/277.md +147 -0
- package/docs/audit-2026-06-10-/350/256/241/347/256/227bug/346/211/253/346/217/217.md +163 -0
- package/docs/audit-2026-06-11-/344/277/256/345/244/215/345/244/215/345/256/241/344/270/216/345/233/236/345/275/222/344/270/223/346/211/253.md +95 -0
- package/docs/audit-2026-06-12-design71-P1/346/275/234/344/274/217/351/235/242/350/243/201/345/206/263/344/270/216/345/220/236/351/224/231/345/256/241/350/256/241.md +45 -0
- package/docs/audit-2026-06-12-/345/205/254/345/274/200/346/227/213/351/222/256/346/264/273/346/200/247/344/270/216vendored/346/255/273/350/267/257.md +63 -0
- package/docs/audit-2026-06-15/ADDENDUM-second-pass.md +88 -0
- package/docs/audit-2026-06-15/ARCHITECTURE-AND-ROADMAP.md +187 -0
- package/docs/audit-2026-06-15/DOC-CORRECTIONS.md +105 -0
- package/docs/audit-2026-06-15/INDEX.md +49 -0
- package/docs/audit-2026-06-15/ORCHESTRATION-STATUS.md +98 -0
- package/docs/audit-2026-06-15/PRODUCTION-ISSUES.md +189 -0
- package/docs/audit-2026-06-15/REFERENCES-literature.md +139 -0
- package/docs/audit-2026-06-15/VENDOR-REFACTOR-PLAN.md +96 -0
- package/docs/cc-probe-198/README.md +72 -0
- package/docs/cc-probe-198/STABILITY-AUDIT.md +118 -0
- package/docs/cc-probe-198/live-schema-monitor-worktree-2026-07-09.json +56 -0
- package/docs/cc-probe-198/mount-variants.json +536 -0
- package/docs/cc-probe-198/plan-mode-run.json +1 -0
- package/docs/cc-probe-198/probe-bash-bg.json +224 -0
- package/docs/cc-probe-198/probe-edit-mismatch.json +120 -0
- package/docs/cc-probe-198/probe-read-missing.json +62 -0
- package/docs/cc-probe-198/probe-search-empty.json +127 -0
- package/docs/cc-probe-198/probe-task-family.json +227 -0
- package/docs/cc-probe-198/probes.status +6 -0
- package/docs/cc-probe-198/raw-capture-interactive.json +948 -0
- package/docs/cc-probe-198/raw-capture-print.json +787 -0
- package/docs/cc-probe-198/raw-capture2-interactive.json +948 -0
- package/docs/cc-probe-198/raw-capture2-print.json +787 -0
- package/docs/cc-probe-198/system-prompt.txt +135 -0
- package/docs/cc-probe-198/tools-array.json +962 -0
- package/docs/durability-boundary.md +63 -0
- package/docs/fix-2026-06-10-/350/256/241/347/256/227bug/344/277/256/345/244/215-search/346/211/271.md +75 -0
- package/docs/fix-2026-06-11-/347/254/254/344/272/214/350/275/256-/344/277/256/345/244/215-search/346/211/271.md +62 -0
- package/docs/parity-sweep/REPORT-DYNAMIC.md +97 -0
- package/docs/parity-sweep/REPORT-STATIC-GGB.md +127 -0
- package/docs/parity-sweep/REPORT-STATIC-RWE.md +133 -0
- package/docs/vendor-history.md +385 -0
- package/docs/vendored-upstream-diff-2026-07.md +83 -0
- package/package.json +70 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../../src/bench/metrics.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,618 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* design/89 §2 — VALUE-JUDGMENT METRICS (the cost-per-truly-correct measurement tool).
|
|
3
|
+
*
|
|
4
|
+
* Pure, deterministic measurement logic for the value-judgment benchmark (design/89, milestone-gap
|
|
5
|
+
* ❓-未判项: "supervisor / multi-agent vs solo 到底值不值?"). The service three-arm harness feeds REAL
|
|
6
|
+
* runs in; this module computes truly-correct / three-class outcomes / cost four-components / Pareto.
|
|
7
|
+
*
|
|
8
|
+
* IRON LAWS (design/89 §2, blood-bought red lines — DO NOT relax):
|
|
9
|
+
* 1. The numerator counts ONLY objective oracles (exec-gate exit-code, build, property-harness, and
|
|
10
|
+
* actual-delivery). LLM-judge is NEVER counted into truly-correct (it is a runtime GATE, not a
|
|
11
|
+
* measurement; §2.2). It burns cost (C1/C2) but never the numerator.
|
|
12
|
+
* 2. NEVER synthesize a single scalar. Cost is FOUR separate components (§2.3); C1 (token µUSD) and
|
|
13
|
+
* C2 (human seconds) are apples + oranges (§2.1) and are NEVER added. The verdict is a 3-D Pareto
|
|
14
|
+
* frontier over (C1, C2.sec, P). A µUSD/tc ratio may be reported ONLY as a per-axis diagnostic.
|
|
15
|
+
* 3. THREE outcome classes (§2.2.1): DELIVERED-CORRECT / DELIVERED-WRONG / CORRECTLY-WITHHELD. A
|
|
16
|
+
* correctly-withheld task (human/gate stopped a would-be DELIVERED-WRONG) is the supervisor's
|
|
17
|
+
* avoided-loss value — it is NOT a failure and NOT in the numerator.
|
|
18
|
+
* 4. Deterministic + testable: this file has zero model/network dependency. Synthetic-run fixtures
|
|
19
|
+
* validate the measurement logic without a real model (see metrics.test.ts).
|
|
20
|
+
*
|
|
21
|
+
* This is a SHADOW-LAB experiment tool (not the core engine). Run via `npx tsx`.
|
|
22
|
+
*/
|
|
23
|
+
// ────────────────────────────────────────────────────────────────────────────────────────────────
|
|
24
|
+
// IRON LAW #1 — truly-correct = AND of FOUR objective criteria (§2.2). LLM-judge never enters.
|
|
25
|
+
// ────────────────────────────────────────────────────────────────────────────────────────────────
|
|
26
|
+
/**
|
|
27
|
+
* §2.2 — `truly-correct(run)` = AND of the four objective criteria (any false ⇒ 0). The numerator of
|
|
28
|
+
* P. By construction this takes ONLY {@link OracleVerdicts} (objective oracles); there is no parameter
|
|
29
|
+
* by which an LLM-judge could enter — that is the type-level enforcement of iron law #1.
|
|
30
|
+
*/
|
|
31
|
+
export function trulyCorrect(o) {
|
|
32
|
+
return o.hiddenTestsGreen && o.buildPassed && o.invariantsOk && o.delivered;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* §2.2.1 — classify a run into one of the outcome classes. The withheld bucket is SPLIT by the §2.1
|
|
36
|
+
* intercept-value counterfactual (design/89 §2.2.1 line 96 — a withhold is only avoided-loss if it
|
|
37
|
+
* stopped a would-be DELIVERED-WRONG):
|
|
38
|
+
* - DELIVERED-CORRECT: not withheld AND truly-correct → the numerator.
|
|
39
|
+
* - DELIVERED-WRONG: not withheld AND not truly-correct → the true negative (solo hard-committing a
|
|
40
|
+
* buggy artifact, OR 触顶蒸发 with delivered=false). §2.2 criterion ④ folds "ran-but-didn't-
|
|
41
|
+
* deliver" into DELIVERED-WRONG, not into a withheld bucket — withheld requires an EXPLICIT
|
|
42
|
+
* human/gate decision, vaporized-on-overflow is a failure.
|
|
43
|
+
* - CORRECTLY-WITHHELD: withheld AND the counterfactual proves the task WOULD have been DELIVERED-
|
|
44
|
+
* WRONG (`withoutInterventionTrulyCorrect===false`). The supervisor's avoided-loss value — NOT in
|
|
45
|
+
* the numerator, NOT a failure.
|
|
46
|
+
* - INCORRECTLY-WITHHELD: withheld BUT the counterfactual shows the task would have been DELIVERED-
|
|
47
|
+
* CORRECT (`withoutInterventionTrulyCorrect===true`). A value-DESTROYING over-cautious intervention
|
|
48
|
+
* (a false-positive withhold). This is a COST/mistake, NEVER laundered into avoided-loss (the
|
|
49
|
+
* focus-item-② failure mode the review caught).
|
|
50
|
+
* - UNVERIFIED-WITHHELD: withheld but NO counterfactual was recorded → correctness unknown. Excluded
|
|
51
|
+
* from the avoided-loss credit (NOT defaulted to CORRECTLY-WITHHELD) and flagged (design/89 §2.2.1
|
|
52
|
+
* line 96: withheld MUST be counterfactual-verified).
|
|
53
|
+
*/
|
|
54
|
+
export function classifyOutcome(run) {
|
|
55
|
+
if (run.delivery.withheld) {
|
|
56
|
+
const cf = run.counterfactual;
|
|
57
|
+
if (!cf)
|
|
58
|
+
return "UNVERIFIED-WITHHELD";
|
|
59
|
+
// Avoided-loss iff, without the intervention, the task would NOT have been truly-correct.
|
|
60
|
+
return cf.withoutInterventionTrulyCorrect ? "INCORRECTLY-WITHHELD" : "CORRECTLY-WITHHELD";
|
|
61
|
+
}
|
|
62
|
+
return trulyCorrect(run.oracle) ? "DELIVERED-CORRECT" : "DELIVERED-WRONG";
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* §2.3 — derive C1 from `stats.costBreakdown` (design/80 D-E-core). C1 is the LLM-token-derived total:
|
|
66
|
+
* the sum of the four breakdown lines. Falls back to `costMicroUsd` (+ nested) when `costBreakdown`
|
|
67
|
+
* is absent (older runs), then 0. This is the ONLY composition done — and it is WITHIN C1 (all µUSD,
|
|
68
|
+
* same unit); it never reaches across to C2.
|
|
69
|
+
*/
|
|
70
|
+
export function deriveC1(stats) {
|
|
71
|
+
const b = stats.costBreakdown;
|
|
72
|
+
if (b) {
|
|
73
|
+
return (b.llmRootMicroUsd +
|
|
74
|
+
b.nestedSubagentMicroUsd +
|
|
75
|
+
b.memoryConsolidationMicroUsd +
|
|
76
|
+
b.compactionMicroUsd);
|
|
77
|
+
}
|
|
78
|
+
// Fallback for runs assembled before costBreakdown existed.
|
|
79
|
+
const root = stats.costMicroUsd ?? 0;
|
|
80
|
+
const nested = stats.nested?.costMicroUsd ?? 0;
|
|
81
|
+
return root + nested;
|
|
82
|
+
}
|
|
83
|
+
/** §2.4 — derive C2 (count, seconds) from `stats.humanReview` (design/91). Absent ⇒ no gate ⇒ (0,0). */
|
|
84
|
+
export function deriveC2(stats) {
|
|
85
|
+
const h = stats.humanReview;
|
|
86
|
+
if (!h)
|
|
87
|
+
return { count: 0, sec: 0 };
|
|
88
|
+
return { count: h.count, sec: h.totalWaitMs / 1000 };
|
|
89
|
+
}
|
|
90
|
+
/** §2.3 — assemble all four cost components for a run. They stay separate by construction. */
|
|
91
|
+
export function costComponents(run) {
|
|
92
|
+
const c2 = deriveC2(run.stats);
|
|
93
|
+
return {
|
|
94
|
+
c1ModelMicroUsd: deriveC1(run.stats),
|
|
95
|
+
c2HumanCount: c2.count,
|
|
96
|
+
c2HumanSec: c2.sec,
|
|
97
|
+
c3WallSec: run.wallTimeSec ?? 0,
|
|
98
|
+
c4InfraMicroUsd: run.infraMicroUsd ?? 0,
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* §2.4#2 — did a human intervention have intercept VALUE? Outcome-CLASS-aware (NOT truly-correct-binary
|
|
103
|
+
* -aware), so it correctly credits the supervisor's #1 value — an avoided-loss withhold — which a
|
|
104
|
+
* truly-correct XOR cannot see (design/89 §2.2.1: a withheld run's truly-correct is always false).
|
|
105
|
+
*
|
|
106
|
+
* Value exists when disabling the intervention would have WORSENED the outcome class:
|
|
107
|
+
* - DELIVER-correcting intervention: WITH delivers correct, WITHOUT delivers wrong
|
|
108
|
+
* (`withInterventionTrulyCorrect===true && withoutInterventionTrulyCorrect===false`).
|
|
109
|
+
* - AVOIDED-LOSS withhold: the run was correctly withheld (CORRECTLY-WITHHELD) and WITHOUT the
|
|
110
|
+
* intervention it would have been DELIVERED-WRONG (`withoutInterventionTrulyCorrect===false`).
|
|
111
|
+
*
|
|
112
|
+
* An INCORRECTLY-WITHHELD intervention (would-be correct, killed by an over-cautious human) has
|
|
113
|
+
* NEGATIVE value and returns `false` here — it is never counted as intercept value.
|
|
114
|
+
*
|
|
115
|
+
* Pass the run's outcome class so the predicate knows whether this was a withhold; the explicit
|
|
116
|
+
* `changedOutcome` override still wins when the harness sets it.
|
|
117
|
+
*/
|
|
118
|
+
export function interceptHadValue(cf, outcome) {
|
|
119
|
+
if (typeof cf.changedOutcome === "boolean")
|
|
120
|
+
return cf.changedOutcome;
|
|
121
|
+
if (outcome === "CORRECTLY-WITHHELD") {
|
|
122
|
+
// Avoided-loss: without the intervention the task would have been DELIVERED-WRONG.
|
|
123
|
+
return cf.withoutInterventionTrulyCorrect === false;
|
|
124
|
+
}
|
|
125
|
+
if (outcome === "INCORRECTLY-WITHHELD" || outcome === "UNVERIFIED-WITHHELD") {
|
|
126
|
+
// A mistaken or unverifiable withhold never has intercept value.
|
|
127
|
+
return false;
|
|
128
|
+
}
|
|
129
|
+
// Non-withheld: value iff the intervention flipped a would-be-wrong delivery to correct.
|
|
130
|
+
return cf.withInterventionTrulyCorrect === true && cf.withoutInterventionTrulyCorrect === false;
|
|
131
|
+
}
|
|
132
|
+
function mean(xs) {
|
|
133
|
+
return xs.length ? xs.reduce((a, b) => a + b, 0) / xs.length : 0;
|
|
134
|
+
}
|
|
135
|
+
/** Fold a cell's runs (all same arm) into the per-arm vector. */
|
|
136
|
+
export function foldCell(runs) {
|
|
137
|
+
if (runs.length === 0)
|
|
138
|
+
throw new Error("foldCell: empty runs");
|
|
139
|
+
const arm = runs[0].arm;
|
|
140
|
+
for (const r of runs)
|
|
141
|
+
if (r.arm !== arm)
|
|
142
|
+
throw new Error(`foldCell: mixed arms (${arm} vs ${r.arm})`);
|
|
143
|
+
let deliveredCorrect = 0;
|
|
144
|
+
let deliveredWrong = 0;
|
|
145
|
+
let correctlyWithheld = 0;
|
|
146
|
+
let incorrectlyWithheld = 0;
|
|
147
|
+
let unverifiedWithheld = 0;
|
|
148
|
+
let interceptValueChanged = 0;
|
|
149
|
+
let interceptValueMeasured = 0;
|
|
150
|
+
const c1s = [];
|
|
151
|
+
const c2counts = [];
|
|
152
|
+
const c2secs = [];
|
|
153
|
+
const c3s = [];
|
|
154
|
+
const c4s = [];
|
|
155
|
+
for (const r of runs) {
|
|
156
|
+
const oc = classifyOutcome(r);
|
|
157
|
+
if (oc === "DELIVERED-CORRECT")
|
|
158
|
+
deliveredCorrect++;
|
|
159
|
+
else if (oc === "DELIVERED-WRONG")
|
|
160
|
+
deliveredWrong++;
|
|
161
|
+
else if (oc === "CORRECTLY-WITHHELD")
|
|
162
|
+
correctlyWithheld++;
|
|
163
|
+
else if (oc === "INCORRECTLY-WITHHELD")
|
|
164
|
+
incorrectlyWithheld++;
|
|
165
|
+
else
|
|
166
|
+
unverifiedWithheld++;
|
|
167
|
+
const c = costComponents(r);
|
|
168
|
+
c1s.push(c.c1ModelMicroUsd);
|
|
169
|
+
c2counts.push(c.c2HumanCount);
|
|
170
|
+
c2secs.push(c.c2HumanSec);
|
|
171
|
+
c3s.push(c.c3WallSec);
|
|
172
|
+
c4s.push(c.c4InfraMicroUsd);
|
|
173
|
+
if (r.counterfactual) {
|
|
174
|
+
interceptValueMeasured++;
|
|
175
|
+
if (interceptHadValue(r.counterfactual, oc))
|
|
176
|
+
interceptValueChanged++;
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
const delivered = deliveredCorrect + deliveredWrong;
|
|
180
|
+
const trulyCorrectRate = delivered > 0 ? deliveredCorrect / delivered : undefined;
|
|
181
|
+
const c1Mean = mean(c1s);
|
|
182
|
+
// codex MINOR / M10 — withhold precision/recall (would-be-wrong detector). UNVERIFIED withholds are
|
|
183
|
+
// excluded from precision (TP/FP unknown w/o counterfactual); deliveredWrong is the recall FN (a wrong
|
|
184
|
+
// delivery a withhold would have avoided). Both undefined when their denominator is 0.
|
|
185
|
+
const verifiedWithholds = correctlyWithheld + incorrectlyWithheld;
|
|
186
|
+
const wrongDeliveryOpportunities = correctlyWithheld + deliveredWrong;
|
|
187
|
+
const withholdPrecision = verifiedWithholds > 0 ? correctlyWithheld / verifiedWithholds : undefined;
|
|
188
|
+
const withholdRecall = wrongDeliveryOpportunities > 0 ? correctlyWithheld / wrongDeliveryOpportunities : undefined;
|
|
189
|
+
return {
|
|
190
|
+
arm,
|
|
191
|
+
n: runs.length,
|
|
192
|
+
deliveredCorrect,
|
|
193
|
+
deliveredWrong,
|
|
194
|
+
correctlyWithheld,
|
|
195
|
+
incorrectlyWithheld,
|
|
196
|
+
unverifiedWithheld,
|
|
197
|
+
trulyCorrectRate,
|
|
198
|
+
correctlyWithheldRate: correctlyWithheld / runs.length,
|
|
199
|
+
withholdPrecision,
|
|
200
|
+
withholdRecall,
|
|
201
|
+
c1ModelMicroUsdMean: c1Mean,
|
|
202
|
+
c2HumanCountMean: mean(c2counts),
|
|
203
|
+
c2HumanSecMean: mean(c2secs),
|
|
204
|
+
c3WallSecMean: mean(c3s),
|
|
205
|
+
c4InfraMicroUsdMean: mean(c4s),
|
|
206
|
+
interceptValueChanged,
|
|
207
|
+
interceptValueMeasured,
|
|
208
|
+
c1PerTrulyCorrectDiag: deliveredCorrect > 0 ? (c1Mean * runs.length) / deliveredCorrect : undefined,
|
|
209
|
+
};
|
|
210
|
+
}
|
|
211
|
+
/**
|
|
212
|
+
* §2.1 — does point `a` Pareto-DOMINATE point `b`? `a` dominates `b` iff `a` is no worse on ALL three
|
|
213
|
+
* axes (≤ C1, ≤ C2.sec, ≥ P) AND strictly better on at least one. Domination means b is provably
|
|
214
|
+
* inferior. NOT dominated ⇒ both are on the frontier (a real trade-off — exactly the §2.1 outcome we
|
|
215
|
+
* refuse to collapse into one scalar).
|
|
216
|
+
*/
|
|
217
|
+
export function dominates(a, b) {
|
|
218
|
+
const noWorse = a.c1ModelMicroUsd <= b.c1ModelMicroUsd &&
|
|
219
|
+
a.c2HumanSec <= b.c2HumanSec &&
|
|
220
|
+
a.trulyCorrectRate >= b.trulyCorrectRate;
|
|
221
|
+
if (!noWorse)
|
|
222
|
+
return false;
|
|
223
|
+
const strictlyBetter = a.c1ModelMicroUsd < b.c1ModelMicroUsd ||
|
|
224
|
+
a.c2HumanSec < b.c2HumanSec ||
|
|
225
|
+
a.trulyCorrectRate > b.trulyCorrectRate;
|
|
226
|
+
return strictlyBetter;
|
|
227
|
+
}
|
|
228
|
+
/**
|
|
229
|
+
* §2.1 — compute the 3-D Pareto frontier over the per-arm cells. Each arm contributes ONE point
|
|
230
|
+
* `(C1 mean, C2.sec mean, P)`. Arms with undefined P (all-withheld) are flagged and excluded from
|
|
231
|
+
* domination. The output is the frontier + dominated-by map — NEVER a single ranked scalar.
|
|
232
|
+
*/
|
|
233
|
+
export function paretoFrontier(cells) {
|
|
234
|
+
const points = [];
|
|
235
|
+
const excludedUndefinedP = [];
|
|
236
|
+
for (const c of cells) {
|
|
237
|
+
if (c.trulyCorrectRate === undefined) {
|
|
238
|
+
excludedUndefinedP.push({
|
|
239
|
+
arm: c.arm,
|
|
240
|
+
correctlyWithheldRate: c.correctlyWithheldRate,
|
|
241
|
+
correctlyWithheld: c.correctlyWithheld,
|
|
242
|
+
deliveredWrong: c.deliveredWrong,
|
|
243
|
+
});
|
|
244
|
+
continue;
|
|
245
|
+
}
|
|
246
|
+
points.push({
|
|
247
|
+
arm: c.arm,
|
|
248
|
+
c1ModelMicroUsd: c.c1ModelMicroUsdMean,
|
|
249
|
+
c2HumanSec: c.c2HumanSecMean,
|
|
250
|
+
trulyCorrectRate: c.trulyCorrectRate,
|
|
251
|
+
});
|
|
252
|
+
}
|
|
253
|
+
const frontier = [];
|
|
254
|
+
const dominated = [];
|
|
255
|
+
for (const p of points) {
|
|
256
|
+
const by = points.filter((q) => q.arm !== p.arm && dominates(q, p)).map((q) => q.arm);
|
|
257
|
+
if (by.length > 0)
|
|
258
|
+
dominated.push({ arm: p.arm, dominatedBy: by });
|
|
259
|
+
else
|
|
260
|
+
frontier.push(p.arm);
|
|
261
|
+
}
|
|
262
|
+
// §2.2.1 counterweight: an excluded avoided-loss arm + a wrong-shipping frontier arm ⇒ the frontier
|
|
263
|
+
// is NOT a winner declaration (else a wrong-shipping solo reads as sole winner).
|
|
264
|
+
const excludedAvoidedLossArms = excludedUndefinedP.filter((e) => e.correctlyWithheld > 0).map((e) => e.arm);
|
|
265
|
+
const cellByArm = new Map(cells.map((c) => [c.arm, c]));
|
|
266
|
+
const frontierArmsShippingWrong = frontier.filter((a) => (cellByArm.get(a)?.deliveredWrong ?? 0) > 0);
|
|
267
|
+
const result = { points, frontier, dominated, excludedUndefinedP };
|
|
268
|
+
if (excludedAvoidedLossArms.length > 0 && frontierArmsShippingWrong.length > 0) {
|
|
269
|
+
result.frontierNotAWinnerDeclaration = {
|
|
270
|
+
reason: "Frontier is NOT a winner declaration (design/89 §2.1/§2.2.1): an arm with counterfactual-" +
|
|
271
|
+
"verified avoided-loss (all delivery withheld → P undefined → excluded from the frontier) " +
|
|
272
|
+
"coexists with a frontier arm that ships DELIVERED-WRONG. The excluded arm avoided real " +
|
|
273
|
+
"negatives the frontier arm did not — do NOT read the frontier as 'X won'.",
|
|
274
|
+
excludedAvoidedLossArms,
|
|
275
|
+
frontierArmsShippingWrong,
|
|
276
|
+
};
|
|
277
|
+
}
|
|
278
|
+
return result;
|
|
279
|
+
}
|
|
280
|
+
// ────────────────────────────────────────────────────────────────────────────────────────────────
|
|
281
|
+
// §2.1 — risk-transfer disclosure (solo's missing C2 ≠ cheaper). MUST be emitted in every report.
|
|
282
|
+
// ────────────────────────────────────────────────────────────────────────────────────────────────
|
|
283
|
+
/**
|
|
284
|
+
* §2.1 — the risk-transfer disclosure: solo having no C2 does NOT mean solo is cheaper — it transfers
|
|
285
|
+
* quality risk downstream (single-agent 3-runs-all-failed 0-commit = the cost of no human safety net;
|
|
286
|
+
* METR -19% / DORA more-code≠more-delivered / 31% PR zero-review). The report MUST emit this verbatim
|
|
287
|
+
* whenever a solo arm is present so a low solo C2 is never read as "solo cheaper". Returns the text +
|
|
288
|
+
* the supporting numbers from this run so it is not boilerplate but grounded.
|
|
289
|
+
*/
|
|
290
|
+
export function riskTransferDisclosure(cells) {
|
|
291
|
+
const solo = cells.find((c) => c.arm === "solo");
|
|
292
|
+
// S1b — the supervisor avoided-loss is whatever supervised arm is present (sup-per-step OR sup-vf); sum
|
|
293
|
+
// their CORRECTLY-WITHHELD so the disclosure's evidence is not blind to the verifier-first arm.
|
|
294
|
+
const supArms = cells.filter((c) => c.arm === "sup" || c.arm === "sup-vf");
|
|
295
|
+
const soloC2Sec = solo?.c2HumanSecMean ?? 0;
|
|
296
|
+
const soloDeliveredWrong = solo?.deliveredWrong ?? 0;
|
|
297
|
+
const supCorrectlyWithheld = supArms.reduce((a, c) => a + c.correctlyWithheld, 0);
|
|
298
|
+
const text = "RISK-TRANSFER DISCLOSURE (design/89 §2.1): solo has no C2 (human-review seconds) but that does " +
|
|
299
|
+
"NOT make solo cheaper — it transfers the quality risk DOWNSTREAM. A low/zero solo C2 must never " +
|
|
300
|
+
"be read as 'solo cheaper': solo's DELIVERED-WRONG count is the unmitigated cost of having no " +
|
|
301
|
+
"human safety net (single-agent experiment: 3 runs all failed, 0 commit; METR -19%; DORA more-" +
|
|
302
|
+
"code ≠ more-delivered). The supervisor's C2 BUYS the CORRECTLY-WITHHELD avoided-loss; compare " +
|
|
303
|
+
"C2 against avoided DELIVERED-WRONG, never against zero.";
|
|
304
|
+
return {
|
|
305
|
+
applies: !!solo,
|
|
306
|
+
text,
|
|
307
|
+
evidence: { soloC2Sec, soloDeliveredWrong, supCorrectlyWithheld },
|
|
308
|
+
};
|
|
309
|
+
}
|
|
310
|
+
// ────────────────────────────────────────────────────────────────────────────────────────────────
|
|
311
|
+
// codex B2 — POWERED statistics: paired bootstrap / McNemar / Newcombe, pre-registered MDE + power.
|
|
312
|
+
// "N≥15 is an assertion, not power; 'CI non-overlap' is the WRONG test for paired binary." (codex B2)
|
|
313
|
+
// All deterministic: paired bootstrap uses a seeded LCG so the same inputs reproduce the same CI.
|
|
314
|
+
// ────────────────────────────────────────────────────────────────────────────────────────────────
|
|
315
|
+
/** A small deterministic PRNG (mulberry32) — bootstrap must be replayable (design/95 §3.2). */
|
|
316
|
+
function mulberry32(seed) {
|
|
317
|
+
let a = seed >>> 0;
|
|
318
|
+
return function () {
|
|
319
|
+
a |= 0;
|
|
320
|
+
a = (a + 0x6d2b79f5) | 0;
|
|
321
|
+
let t = Math.imul(a ^ (a >>> 15), 1 | a);
|
|
322
|
+
t = (t + Math.imul(t ^ (t >>> 7), 61 | t)) ^ t;
|
|
323
|
+
return ((t ^ (t >>> 14)) >>> 0) / 4294967296;
|
|
324
|
+
};
|
|
325
|
+
}
|
|
326
|
+
/**
|
|
327
|
+
* Two-sided tail of χ²(1df) = P(χ²₁ ≥ chi) = erfc(√(chi/2)) (for McNemar with continuity correction).
|
|
328
|
+
*
|
|
329
|
+
* 🔴 ADVERSARIAL-REVIEW FIX (B2 false-close): Abramowitz-Stegun 7.1.26 approximates erf(x), NOT
|
|
330
|
+
* erfc(x). The prior code computed `erf` and labelled/returned it as `erfc`, INVERTING every
|
|
331
|
+
* large-sample McNemar p-value (chi=10.83 → returned 0.999 instead of the correct 0.001; the
|
|
332
|
+
* strongest possible discordant signal b=26,c=0 read as p≈1 = "not significant"). Tests missed it
|
|
333
|
+
* because they all used discordant counts ≤25 (the exact-binomial path). A firm-n benchmark (N≥15,
|
|
334
|
+
* the design's own J1/J3 bar) routinely exceeds 25 discordant pairs → would draw INVERTED
|
|
335
|
+
* significance. Correct: erfc(x) = 1 − erf(x).
|
|
336
|
+
*/
|
|
337
|
+
function chiSqTwoSidedP1df(chi) {
|
|
338
|
+
const x = Math.sqrt(chi / 2);
|
|
339
|
+
const t = 1 / (1 + 0.3275911 * x);
|
|
340
|
+
const erf = 1 -
|
|
341
|
+
(((((1.061405429 * t - 1.453152027) * t) + 1.421413741) * t - 0.284496736) * t + 0.254829592) *
|
|
342
|
+
t *
|
|
343
|
+
Math.exp(-x * x);
|
|
344
|
+
return Math.max(0, Math.min(1, 1 - erf)); // erfc(x) = 1 − erf(x)
|
|
345
|
+
}
|
|
346
|
+
/** Exact two-sided binomial p for McNemar when discordant count is small (b+c ≤ 25). */
|
|
347
|
+
function binomTwoSidedP(b, c) {
|
|
348
|
+
const n = b + c;
|
|
349
|
+
if (n === 0)
|
|
350
|
+
return 1;
|
|
351
|
+
const k = Math.min(b, c);
|
|
352
|
+
// P(X ≤ k) under Binom(n, 0.5), doubled (two-sided), capped at 1.
|
|
353
|
+
let cum = 0;
|
|
354
|
+
for (let i = 0; i <= k; i++)
|
|
355
|
+
cum += binomPmfHalf(n, i);
|
|
356
|
+
return Math.min(1, 2 * cum);
|
|
357
|
+
}
|
|
358
|
+
function binomPmfHalf(n, k) {
|
|
359
|
+
// C(n,k) * 0.5^n, computed in log space for stability.
|
|
360
|
+
let logC = 0;
|
|
361
|
+
for (let i = 1; i <= k; i++)
|
|
362
|
+
logC += Math.log(n - k + i) - Math.log(i);
|
|
363
|
+
return Math.exp(logC + n * Math.log(0.5));
|
|
364
|
+
}
|
|
365
|
+
/**
|
|
366
|
+
* codex B2 — compare two arms' delivered truly-correct as PAIRED binary. Pairs runs by the COMPOSITE
|
|
367
|
+
* `(taskId, seed)` key (codex MAJOR-A: a bare `seed` collides across tasks — the same repeat index
|
|
368
|
+
* recurs per task — so cross-task input would overwrite pairs and poison the McNemar sample);
|
|
369
|
+
* only rows where BOTH arms delivered (not withheld, both scored) form a pair — a
|
|
370
|
+
* withheld run has no delivered binary to pair (it is scored in the withhold/avoided-loss axis, not
|
|
371
|
+
* here). `mde` is the pre-registered minimum detectable effect (default 0.20 absolute = a 20pp swing).
|
|
372
|
+
*/
|
|
373
|
+
export function pairedBinaryCompare(scoredRuns, armA, armB, opts = {}) {
|
|
374
|
+
const mde = opts.mde ?? 0.2;
|
|
375
|
+
const aByKey = new Map();
|
|
376
|
+
const bByKey = new Map();
|
|
377
|
+
for (const r of scoredRuns) {
|
|
378
|
+
if (r.delivery.withheld)
|
|
379
|
+
continue; // no delivered binary for a withheld run
|
|
380
|
+
// codex MAJOR-A: pair by the COMPOSITE (taskId, seed) key — a bare `seed` collides across tasks (the
|
|
381
|
+
// same seed/repeat index recurs per task), so feeding cross-task runs would silently overwrite pairs
|
|
382
|
+
// and poison the McNemar sample. The composite is task-local, matching the paired-seed-WITHIN-task design.
|
|
383
|
+
const key = r.taskId + "" + String(r.seed ?? "");
|
|
384
|
+
if (r.arm === armA)
|
|
385
|
+
aByKey.set(key, r);
|
|
386
|
+
else if (r.arm === armB)
|
|
387
|
+
bByKey.set(key, r);
|
|
388
|
+
}
|
|
389
|
+
const pairs = [];
|
|
390
|
+
for (const [key, a] of aByKey) {
|
|
391
|
+
const b = bByKey.get(key);
|
|
392
|
+
if (!b)
|
|
393
|
+
continue;
|
|
394
|
+
pairs.push({ a: trulyCorrect(a.oracle), b: trulyCorrect(b.oracle) });
|
|
395
|
+
}
|
|
396
|
+
const nPairs = pairs.length;
|
|
397
|
+
let bAonly = 0; // A correct, B wrong
|
|
398
|
+
let cBonly = 0; // A wrong, B correct
|
|
399
|
+
let aCorrect = 0;
|
|
400
|
+
let bCorrect = 0;
|
|
401
|
+
for (const p of pairs) {
|
|
402
|
+
if (p.a)
|
|
403
|
+
aCorrect++;
|
|
404
|
+
if (p.b)
|
|
405
|
+
bCorrect++;
|
|
406
|
+
if (p.a && !p.b)
|
|
407
|
+
bAonly++;
|
|
408
|
+
if (!p.a && p.b)
|
|
409
|
+
cBonly++;
|
|
410
|
+
}
|
|
411
|
+
const pDiff = nPairs > 0 ? (aCorrect - bCorrect) / nPairs : 0;
|
|
412
|
+
// McNemar over discordant pairs.
|
|
413
|
+
let mcnemarP;
|
|
414
|
+
const disc = bAonly + cBonly;
|
|
415
|
+
if (disc === 0)
|
|
416
|
+
mcnemarP = 1;
|
|
417
|
+
else if (disc <= 25)
|
|
418
|
+
mcnemarP = binomTwoSidedP(bAonly, cBonly);
|
|
419
|
+
else {
|
|
420
|
+
const chi = Math.pow(Math.abs(bAonly - cBonly) - 1, 2) / disc; // continuity-corrected χ²(1df)
|
|
421
|
+
mcnemarP = chiSqTwoSidedP1df(chi);
|
|
422
|
+
}
|
|
423
|
+
// Deterministic paired-bootstrap PERCENTILE CI over the resampled paired difference (codex MAJOR-B:
|
|
424
|
+
// this is NOT Newcombe's analytic score interval — it is a percentile CI on the bootstrap distribution
|
|
425
|
+
// of (aCorrect-bCorrect)/n, seeded for determinism; adequate for the paired binary delta).
|
|
426
|
+
const rnd = mulberry32(opts.bootstrapSeed ?? 0xc0ffee);
|
|
427
|
+
const iters = opts.bootstrapIters ?? 2000;
|
|
428
|
+
const diffs = [];
|
|
429
|
+
if (nPairs > 0) {
|
|
430
|
+
for (let it = 0; it < iters; it++) {
|
|
431
|
+
let ac = 0;
|
|
432
|
+
let bc = 0;
|
|
433
|
+
for (let i = 0; i < nPairs; i++) {
|
|
434
|
+
const p = pairs[Math.floor(rnd() * nPairs)];
|
|
435
|
+
if (p.a)
|
|
436
|
+
ac++;
|
|
437
|
+
if (p.b)
|
|
438
|
+
bc++;
|
|
439
|
+
}
|
|
440
|
+
diffs.push((ac - bc) / nPairs);
|
|
441
|
+
}
|
|
442
|
+
diffs.sort((x, y) => x - y);
|
|
443
|
+
}
|
|
444
|
+
const ci95 = nPairs > 0
|
|
445
|
+
? [diffs[Math.floor(0.025 * diffs.length)], diffs[Math.min(diffs.length - 1, Math.floor(0.975 * diffs.length))]]
|
|
446
|
+
: [0, 0];
|
|
447
|
+
const ciExcludesZero = ci95[0] > 0 || ci95[1] < 0;
|
|
448
|
+
const significant = ciExcludesZero && mcnemarP < 0.05;
|
|
449
|
+
// MDE at observed n: smallest detectable absolute diff at 80% power, 2-sided α=0.05. Variance uses
|
|
450
|
+
// the CONSERVATIVE worst-case 0.5 (= 2×0.25, the UNPAIRED two-proportion upper bound), NOT the true
|
|
451
|
+
// McNemar paired-difference variance (b+c−(b−c)²)/n which is typically smaller. This over-states n
|
|
452
|
+
// needed ⇒ declares "not-powered" more readily = the SAFE (anti-over-claim) direction. n ≈
|
|
453
|
+
// ((z_α/2 + z_β)^2 * 0.5) / mde^2 → invert for mde at observed nPairs.
|
|
454
|
+
const zSum = 1.96 + 0.84; // z_{.975} + z_{.80}
|
|
455
|
+
const mdeAt80Power = nPairs > 0 ? Math.min(1, (zSum * Math.sqrt(0.5 / nPairs))) : 1;
|
|
456
|
+
const nNeeded = Math.ceil((zSum * zSum * 0.5) / (mde * mde));
|
|
457
|
+
const power = nPairs >= nNeeded ? "powered" : "not-powered";
|
|
458
|
+
let verdict;
|
|
459
|
+
if (significant)
|
|
460
|
+
verdict = pDiff > 0 ? "A-better" : "B-better";
|
|
461
|
+
else if (power === "not-powered")
|
|
462
|
+
verdict = "not-powered";
|
|
463
|
+
else
|
|
464
|
+
verdict = "no-detectable-difference";
|
|
465
|
+
return { armA, armB, nPairs, bAonly, cBonly, pDiff, mcnemarP, ci95, significant, mdeAt80Power, power, verdict };
|
|
466
|
+
}
|
|
467
|
+
/**
|
|
468
|
+
* codex B3 — classify each arm against the SUP/TEAM-vs-baseline value question with a pre-registered
|
|
469
|
+
* exchange rate. `baselineArm` is the cost floor to compare extra C2 against (default "solo").
|
|
470
|
+
* `avoidedWrong` / `savedDecisions` per arm come from the cells / campaign report.
|
|
471
|
+
*
|
|
472
|
+
* 🔴 ADVERSARIAL-REVIEW DISCIPLINE (B1 partial false-close, design/95 §2.3): `cells` MUST be a
|
|
473
|
+
* HOMOGENEOUS cross-arm set — feed `report.comparisons[*].arms` (one `(suiteVersion,taskId,archetype,
|
|
474
|
+
* valueDimension)` comparison at a time), NEVER `report.cells` (the suite-wide ARM MEAN). The arm mean
|
|
475
|
+
* folds heterogeneous tasks → the value LABEL itself flips (Simpson): a cell that is "quality-tradeoff"
|
|
476
|
+
* (extra human seconds NOT bought back) gets averaged with a "worth-it" cell into a single misleading
|
|
477
|
+
* "worth-it", hiding the "helpful but too expensive" anti-thesis. The frontier folds too (§11 / B1).
|
|
478
|
+
* Regression: metrics.test §13b proves per-cell {worth-it, quality-tradeoff} ≠ arm-mean {worth-it}.
|
|
479
|
+
*/
|
|
480
|
+
export function paretoValueVerdict(cells, thresholds, perArmValue, baselineArm = "solo") {
|
|
481
|
+
const pareto = paretoFrontier(cells);
|
|
482
|
+
const dominatedArms = new Set(pareto.dominated.map((d) => d.arm));
|
|
483
|
+
const baseline = cells.find((c) => c.arm === baselineArm);
|
|
484
|
+
const baselineC2 = baseline?.c2HumanSecMean ?? 0;
|
|
485
|
+
const verdicts = cells.map((c) => {
|
|
486
|
+
const nonDominated = !dominatedArms.has(c.arm);
|
|
487
|
+
if (c.arm === baselineArm) {
|
|
488
|
+
return { arm: c.arm, nonDominated, label: nonDominated ? "worth-it" : "dominated" };
|
|
489
|
+
}
|
|
490
|
+
const extraC2 = Math.max(0, c.c2HumanSecMean - baselineC2);
|
|
491
|
+
const v = perArmValue[c.arm];
|
|
492
|
+
let clearsC2Threshold;
|
|
493
|
+
if (extraC2 > 0 && v) {
|
|
494
|
+
const budget = v.avoidedWrong * thresholds.secPerAvoidedWrong + v.savedDecisions * thresholds.secPerSavedDecision;
|
|
495
|
+
clearsC2Threshold = extraC2 <= budget;
|
|
496
|
+
}
|
|
497
|
+
else if (extraC2 === 0) {
|
|
498
|
+
clearsC2Threshold = true; // no extra human cost to justify
|
|
499
|
+
}
|
|
500
|
+
else {
|
|
501
|
+
clearsC2Threshold = false; // spent human seconds but bought no measured value
|
|
502
|
+
}
|
|
503
|
+
let label;
|
|
504
|
+
if (!nonDominated)
|
|
505
|
+
label = "dominated";
|
|
506
|
+
else if (clearsC2Threshold)
|
|
507
|
+
label = "worth-it";
|
|
508
|
+
else
|
|
509
|
+
label = "quality-tradeoff";
|
|
510
|
+
return { arm: c.arm, nonDominated, clearsC2Threshold, label };
|
|
511
|
+
});
|
|
512
|
+
return { pareto, verdicts };
|
|
513
|
+
}
|
|
514
|
+
/** True iff ALL ideal-blueprint constraints hold (codex M8 gate). */
|
|
515
|
+
export function idealConstraintsSatisfied(c) {
|
|
516
|
+
return (c.generatedBeforeRun &&
|
|
517
|
+
c.fromVisibleBriefOnly &&
|
|
518
|
+
c.noOracleTestAccess &&
|
|
519
|
+
c.sameInfoBudget &&
|
|
520
|
+
c.solutionLeakReviewed);
|
|
521
|
+
}
|
|
522
|
+
/** The heterogeneity group key (codex B1). Missing coordinates collapse to "*" so legacy runs still
|
|
523
|
+
* form one well-defined cell. */
|
|
524
|
+
function groupKeyOf(r) {
|
|
525
|
+
return [r.suiteVersion ?? "*", r.taskId, r.archetype ?? "*", r.valueDimension ?? "*", r.arm].join("|");
|
|
526
|
+
}
|
|
527
|
+
/**
|
|
528
|
+
* Top-level (codex B1+B4): SCORE only `scored` runs (B4 — drop infra-failed/excluded with reasons),
|
|
529
|
+
* group by `(suiteVersion, taskId, archetype, valueDimension, arm)` (B1 — the per-cell decision surface,
|
|
530
|
+
* Simpson's-paradox guard), fold each group, AND provide a suite-level per-arm rollup for dashboards
|
|
531
|
+
* (explicitly NOT a decision surface). Deterministic; no model.
|
|
532
|
+
*
|
|
533
|
+
* `opts.implementedAxes` lets the harness declare which §7 axes it populated (codex MINOR11); default
|
|
534
|
+
* = only Pareto (the V1/V2/V3 structures are T1 net-new, not synthesized here).
|
|
535
|
+
*/
|
|
536
|
+
export function buildReport(runs, opts = {}) {
|
|
537
|
+
// B4 — split scored vs excluded.
|
|
538
|
+
const scored = [];
|
|
539
|
+
const excluded = [];
|
|
540
|
+
for (const r of runs) {
|
|
541
|
+
const status = r.runStatus ?? "scored";
|
|
542
|
+
if (status === "scored")
|
|
543
|
+
scored.push(r);
|
|
544
|
+
else
|
|
545
|
+
excluded.push({ taskId: r.taskId, arm: r.arm, seed: r.seed, reason: status });
|
|
546
|
+
}
|
|
547
|
+
// B1 — per-cell grouping (the decision surface).
|
|
548
|
+
const byGroup = new Map();
|
|
549
|
+
for (const r of scored) {
|
|
550
|
+
const key = groupKeyOf(r);
|
|
551
|
+
const list = byGroup.get(key) ?? [];
|
|
552
|
+
list.push(r);
|
|
553
|
+
byGroup.set(key, list);
|
|
554
|
+
}
|
|
555
|
+
const groupedCells = [...byGroup.entries()].map(([groupKey, rs]) => {
|
|
556
|
+
const s = rs[0];
|
|
557
|
+
return {
|
|
558
|
+
groupKey,
|
|
559
|
+
suiteVersion: s.suiteVersion,
|
|
560
|
+
taskId: s.taskId,
|
|
561
|
+
archetype: s.archetype,
|
|
562
|
+
valueDimension: s.valueDimension,
|
|
563
|
+
cell: foldCell(rs),
|
|
564
|
+
};
|
|
565
|
+
});
|
|
566
|
+
// B1 — the CROSS-ARM decision surface: group by everything EXCEPT arm, fold each arm within, run a
|
|
567
|
+
// per-comparison Pareto over a HOMOGENEOUS run set. This is what J2/J3/B3 must read (not the arm mean).
|
|
568
|
+
const byComparison = new Map();
|
|
569
|
+
for (const r of scored) {
|
|
570
|
+
const key = [r.suiteVersion ?? "*", r.taskId, r.archetype ?? "*", r.valueDimension ?? "*"].join("|");
|
|
571
|
+
const list = byComparison.get(key) ?? [];
|
|
572
|
+
list.push(r);
|
|
573
|
+
byComparison.set(key, list);
|
|
574
|
+
}
|
|
575
|
+
const comparisons = [...byComparison.entries()].map(([comparisonKey, rs]) => {
|
|
576
|
+
const s = rs[0];
|
|
577
|
+
const armBuckets = new Map();
|
|
578
|
+
for (const r of rs) {
|
|
579
|
+
const l = armBuckets.get(r.arm) ?? [];
|
|
580
|
+
l.push(r);
|
|
581
|
+
armBuckets.set(r.arm, l);
|
|
582
|
+
}
|
|
583
|
+
const arms = [...armBuckets.values()].map(foldCell);
|
|
584
|
+
return {
|
|
585
|
+
comparisonKey,
|
|
586
|
+
suiteVersion: s.suiteVersion,
|
|
587
|
+
taskId: s.taskId,
|
|
588
|
+
archetype: s.archetype,
|
|
589
|
+
valueDimension: s.valueDimension,
|
|
590
|
+
arms,
|
|
591
|
+
pareto: paretoFrontier(arms),
|
|
592
|
+
};
|
|
593
|
+
});
|
|
594
|
+
// B1 — suite-level rollup (dashboard only, NOT a decision surface). Per-arm over all scored runs.
|
|
595
|
+
const byArm = new Map();
|
|
596
|
+
for (const r of scored) {
|
|
597
|
+
const list = byArm.get(r.arm) ?? [];
|
|
598
|
+
list.push(r);
|
|
599
|
+
byArm.set(r.arm, list);
|
|
600
|
+
}
|
|
601
|
+
const cells = [...byArm.values()].map(foldCell);
|
|
602
|
+
return {
|
|
603
|
+
groupedCells,
|
|
604
|
+
comparisons,
|
|
605
|
+
cells,
|
|
606
|
+
pareto: paretoFrontier(cells),
|
|
607
|
+
riskTransfer: riskTransferDisclosure(cells),
|
|
608
|
+
directionalOnly: cells.filter((c) => c.n < 8).map((c) => c.arm),
|
|
609
|
+
excluded,
|
|
610
|
+
implementedAxes: {
|
|
611
|
+
pareto: opts.implementedAxes?.pareto ?? true,
|
|
612
|
+
v1: opts.implementedAxes?.v1 ?? false,
|
|
613
|
+
v2: opts.implementedAxes?.v2 ?? false,
|
|
614
|
+
v3: opts.implementedAxes?.v3 ?? false,
|
|
615
|
+
},
|
|
616
|
+
};
|
|
617
|
+
}
|
|
618
|
+
//# sourceMappingURL=metrics.js.map
|