@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,714 @@
|
|
|
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
|
+
* The orchestration arms.
|
|
25
|
+
* - "solo" — no supervision profile (the cost floor / quality-risk baseline).
|
|
26
|
+
* - "sup" — SUP-per-step (S1a): the scripted human gate fires UNCONDITIONALLY at every plan_review +
|
|
27
|
+
* risky tool ask (C2 paid every time). S1a proved this is `dominated` on coding tasks (same P
|
|
28
|
+
* as solo, but pays C2 for nothing the model couldn't get right alone).
|
|
29
|
+
* - "sup-vf" — SUP verifier-first (S1b): the SAME supervision profile, but the scripted human gate is only
|
|
30
|
+
* ESCALATED (C2 paid) when ① a deterministic verifier (the mechanical hidden oracle / RepairOracle
|
|
31
|
+
* / shellGate hazard list) is RED or ② the action hits the danger list (destructive-fs / secret /
|
|
32
|
+
* pipe-to-shell). Otherwise the gate AUTO-ALLOWS with C2=0 (steals reflection/actor-critic + CRITIC:
|
|
33
|
+
* an external deterministic verifier is the critic; the human is the escalation tier only). Hypothesis:
|
|
34
|
+
* on coding tasks where the verifier goes green, SUP-vf collapses C2→~0 and stops being dominated by
|
|
35
|
+
* solo, WHILE keeping the trap-safety CORRECTLY-WITHHELD (the danger list still escalates `rm -rf data`).
|
|
36
|
+
* - "team" — service-deferred (runLeaderTask).
|
|
37
|
+
*/
|
|
38
|
+
export type Arm = "solo" | "sup" | "sup-vf" | "team";
|
|
39
|
+
/**
|
|
40
|
+
* The OBJECTIVE oracle verdicts for one run (design/89 §2.2). These are the four AND criteria.
|
|
41
|
+
* Every field is produced by an external, deterministic oracle run AFTER the agent finishes — never
|
|
42
|
+
* by an LLM-judge. Each is computed by the service harness (it owns exec-gate / build / git) and
|
|
43
|
+
* recorded verbatim; this module only ANDs them.
|
|
44
|
+
*/
|
|
45
|
+
export interface OracleVerdicts {
|
|
46
|
+
/** §2.2 criterion ① — hidden objective test suite all green: `runExecGate` exit==0 over a NON-EMPTY
|
|
47
|
+
* suite. Encode "empty suite / null exit" as `false` (exec-gate never passes those). */
|
|
48
|
+
hiddenTestsGreen: boolean;
|
|
49
|
+
/** §2.2 criterion ② — build/compile passed (APK assembleOfflineDebug / tsc / gradle build). Guards
|
|
50
|
+
* the "tests green but compile broke" false-positive. */
|
|
51
|
+
buildPassed: boolean;
|
|
52
|
+
/** §2.2 criterion ③ — mechanical invariants un-violated (property-harness). `true` when no violation
|
|
53
|
+
* OR property-harness is not applicable to this task (the AND must not penalize an N/A task). The
|
|
54
|
+
* harness sets this to `propertyHarnessApplicable ? noViolations : true`. */
|
|
55
|
+
invariantsOk: boolean;
|
|
56
|
+
/** §2.2 criterion ④ — ACTUALLY DELIVERED: a git commit exists AND the merge does not roll back.
|
|
57
|
+
* "ran but didn't deliver" (run 019ec5d1 触顶蒸发: 104 lines all lost) MUST count 0, else solo is
|
|
58
|
+
* systematically over-estimated. */
|
|
59
|
+
delivered: boolean;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Whether the human/gate WITHHELD this run's delivery (design/89 §2.2.1). When `true`, the agent
|
|
63
|
+
* (or a human at an approval gate) correctly DID NOT deliver — the §2.2.1 supervisor-fairness fix:
|
|
64
|
+
* a withheld run that WOULD have been DELIVERED-WRONG is avoided-loss value, not a failure, and is
|
|
65
|
+
* single-listed (not in the numerator, not a failure). Only the SUP/TEAM arms can withhold; for SOLO
|
|
66
|
+
* this is always `false` (no human/gate).
|
|
67
|
+
*/
|
|
68
|
+
export interface DeliveryDecision {
|
|
69
|
+
/** The human/gate stopped/aborted/refused-to-deliver this run. */
|
|
70
|
+
withheld: boolean;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* design/95 §3.2 — the lifecycle status of a run, so INFRA noise never poisons the mode signal
|
|
74
|
+
* (codex BLOCKER B4 / design/89 §3.3 Beatsep red line). The Beatsep task#2b 9% pass-rate was infra
|
|
75
|
+
* death (OOM / K8S passthrough / nested-root), NOT a mode signal — feeding such runs into the
|
|
76
|
+
* numerator turns them into spurious DELIVERED-WRONG / zero datapoints and reproduces the very noise
|
|
77
|
+
* the design claims to have isolated. `buildReport` SCORES only `scored`; `infra-failed` / `excluded`
|
|
78
|
+
* runs are dropped from every cell/Pareto computation and surfaced as an exclusion ledger.
|
|
79
|
+
*
|
|
80
|
+
* - "scored" — a clean run whose oracle verdict is a real mode signal. The ONLY status scored.
|
|
81
|
+
* - "infra-failed" — OOM / sandbox / passthrough / nested-root death; the agent never got a fair
|
|
82
|
+
* attempt. Excluded; counted in the exclusion ledger with reason "infra-failed".
|
|
83
|
+
* - "excluded" — manually quarantined (e.g. corpusHash drift, approver-policy change mid-batch,
|
|
84
|
+
* a known-bad fixture). Excluded; counted with reason "excluded".
|
|
85
|
+
*
|
|
86
|
+
* ABSENT ⇒ treated as "scored" (back-compat: older RunRecord arrays predate this field).
|
|
87
|
+
*/
|
|
88
|
+
export type RunStatus = "scored" | "infra-failed" | "excluded";
|
|
89
|
+
/** A single run fed in by the service three-arm harness. */
|
|
90
|
+
export interface RunRecord {
|
|
91
|
+
arm: Arm;
|
|
92
|
+
/** Task id (for paired-seed grouping / cell folding). */
|
|
93
|
+
taskId: string;
|
|
94
|
+
/** Repeat/seed index within the cell (design/89 §3.4 N-repeat). */
|
|
95
|
+
seed?: number | string;
|
|
96
|
+
/**
|
|
97
|
+
* design/95 §3.2 / codex B4 — lifecycle status. Only "scored" runs reach the numerator / cost /
|
|
98
|
+
* Pareto. Absent ⇒ "scored" (back-compat). See {@link RunStatus}.
|
|
99
|
+
*/
|
|
100
|
+
runStatus?: RunStatus;
|
|
101
|
+
/**
|
|
102
|
+
* design/95 §2 (B1 / Simpson's-paradox guard) — the heterogeneity coordinates a run belongs to. The
|
|
103
|
+
* suite is heterogeneous (different archetypes / value-dimensions / difficulties); folding everything
|
|
104
|
+
* into an arm mean can flip a per-cell conclusion (Simpson's paradox), making J1-J5 / JV1-JV4
|
|
105
|
+
* UN-evaluable. `buildReport` groups by `(suiteVersion, taskId, archetype, valueDimension, arm)` and
|
|
106
|
+
* keeps the seed-paired rows; the suite-level rollup is a WEIGHTED summary of scored cells only and is
|
|
107
|
+
* NOT a decision surface. All fields optional for back-compat (a run with none falls into a single
|
|
108
|
+
* "ungrouped" cell, preserving the old single-arm-mean behavior for legacy fixtures).
|
|
109
|
+
*/
|
|
110
|
+
suiteVersion?: string;
|
|
111
|
+
archetype?: string;
|
|
112
|
+
valueDimension?: string;
|
|
113
|
+
/** The four objective oracle verdicts (§2.2). */
|
|
114
|
+
oracle: OracleVerdicts;
|
|
115
|
+
/** Whether delivery was correctly withheld (§2.2.1). */
|
|
116
|
+
delivery: DeliveryDecision;
|
|
117
|
+
/**
|
|
118
|
+
* The engine-produced `TaskResult.stats` (or the relevant subset). C1 is derived from
|
|
119
|
+
* `stats.costBreakdown` (design/80 D-E-core); C2 from `stats.humanReview` (design/91, 1.110.0 ship).
|
|
120
|
+
* Shape mirrors @sema-ai/core `TaskResult["stats"]` — see {@link CoreStatsSubset}.
|
|
121
|
+
*/
|
|
122
|
+
stats: CoreStatsSubset;
|
|
123
|
+
/** Wall-clock seconds for the whole run (task start→done). The C3 source. */
|
|
124
|
+
wallTimeSec?: number;
|
|
125
|
+
/** Infra cost in µUSD (E2B vCPU-hr / egress / k8s) — owned & filled by the SERVICE (core never has
|
|
126
|
+
* this). The C4 source. Absent for solo-local / when the service did not measure it. */
|
|
127
|
+
infraMicroUsd?: number;
|
|
128
|
+
/**
|
|
129
|
+
* §2.4#2 intercept-value counterfactual: for each human intervention on a SUP run, the harness
|
|
130
|
+
* re-runs the same brief + fixed seed with that intervention DISABLED and records whether the final
|
|
131
|
+
* truly-correct flipped. Absent for SOLO (no intervention) and when the counterfactual was not run.
|
|
132
|
+
*
|
|
133
|
+
* CRITICAL (design/89 §2.2.1 line 96): for a WITHHELD run this is REQUIRED to decide whether the
|
|
134
|
+
* withhold was CORRECT. A withhold is avoided-loss ONLY if disabling the intervention would have
|
|
135
|
+
* produced a DELIVERED-WRONG (`withoutInterventionTrulyCorrect===false`). When this is absent on a
|
|
136
|
+
* withheld run, the withhold is UNVERIFIED — it is NOT credited as avoided-loss.
|
|
137
|
+
*/
|
|
138
|
+
counterfactual?: InterceptCounterfactual;
|
|
139
|
+
/**
|
|
140
|
+
* R2 (MINOR) — the HONESTY provenance of this run's judgment, stamped at the RECORD level (not only in the
|
|
141
|
+
* report/stamp layer). A SUP/TEAM run's value rides on a SCRIPTED approver (NOT a real human review), so it is
|
|
142
|
+
* an INITIAL judgment, never a firm verdict (design/95 §6.1.bis / §6.1). Carrying it on the record means a
|
|
143
|
+
* record-level filter / re-aggregation / persisted run cannot silently lose the "scripted-human, not firm"
|
|
144
|
+
* semantics (before this, filtering RunRecords dropped the label that lived only on `BatchStamp`). SOLO has no
|
|
145
|
+
* human/approver ⇒ undefined (a pure objective-oracle run — no scripted-human judgment to caveat).
|
|
146
|
+
*/
|
|
147
|
+
judgeMode?: "scripted-human-initjudge";
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* The subset of @sema-ai/core `TaskResult["stats"]` this tool reads. Kept structurally
|
|
151
|
+
* compatible (all optional, same field names/shapes) so a real `TaskResult.stats` is assignable here
|
|
152
|
+
* with no adaptation — verified against src/core/types.ts (1.110.0).
|
|
153
|
+
*/
|
|
154
|
+
export interface CoreStatsSubset {
|
|
155
|
+
costMicroUsd?: number;
|
|
156
|
+
/** design/80 D-E-core finance taxonomy. C1 is the SUM of its LLM-derived lines. */
|
|
157
|
+
costBreakdown?: {
|
|
158
|
+
llmRootMicroUsd: number;
|
|
159
|
+
nestedSubagentMicroUsd: number;
|
|
160
|
+
memoryConsolidationMicroUsd: number;
|
|
161
|
+
compactionMicroUsd: number;
|
|
162
|
+
};
|
|
163
|
+
nested?: {
|
|
164
|
+
costMicroUsd?: number;
|
|
165
|
+
};
|
|
166
|
+
/** design/91 human-review burden (the C2 source). Absent ⇒ no approval gate was hit. */
|
|
167
|
+
humanReview?: {
|
|
168
|
+
count: number;
|
|
169
|
+
totalWaitMs: number;
|
|
170
|
+
gates: Array<{
|
|
171
|
+
kind: string;
|
|
172
|
+
waitMs: number;
|
|
173
|
+
decision?: string;
|
|
174
|
+
}>;
|
|
175
|
+
};
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* §2.2 — `truly-correct(run)` = AND of the four objective criteria (any false ⇒ 0). The numerator of
|
|
179
|
+
* P. By construction this takes ONLY {@link OracleVerdicts} (objective oracles); there is no parameter
|
|
180
|
+
* by which an LLM-judge could enter — that is the type-level enforcement of iron law #1.
|
|
181
|
+
*/
|
|
182
|
+
export declare function trulyCorrect(o: OracleVerdicts): boolean;
|
|
183
|
+
export type Outcome = "DELIVERED-CORRECT" | "DELIVERED-WRONG" | "CORRECTLY-WITHHELD" | "INCORRECTLY-WITHHELD" | "UNVERIFIED-WITHHELD";
|
|
184
|
+
/**
|
|
185
|
+
* §2.2.1 — classify a run into one of the outcome classes. The withheld bucket is SPLIT by the §2.1
|
|
186
|
+
* intercept-value counterfactual (design/89 §2.2.1 line 96 — a withhold is only avoided-loss if it
|
|
187
|
+
* stopped a would-be DELIVERED-WRONG):
|
|
188
|
+
* - DELIVERED-CORRECT: not withheld AND truly-correct → the numerator.
|
|
189
|
+
* - DELIVERED-WRONG: not withheld AND not truly-correct → the true negative (solo hard-committing a
|
|
190
|
+
* buggy artifact, OR 触顶蒸发 with delivered=false). §2.2 criterion ④ folds "ran-but-didn't-
|
|
191
|
+
* deliver" into DELIVERED-WRONG, not into a withheld bucket — withheld requires an EXPLICIT
|
|
192
|
+
* human/gate decision, vaporized-on-overflow is a failure.
|
|
193
|
+
* - CORRECTLY-WITHHELD: withheld AND the counterfactual proves the task WOULD have been DELIVERED-
|
|
194
|
+
* WRONG (`withoutInterventionTrulyCorrect===false`). The supervisor's avoided-loss value — NOT in
|
|
195
|
+
* the numerator, NOT a failure.
|
|
196
|
+
* - INCORRECTLY-WITHHELD: withheld BUT the counterfactual shows the task would have been DELIVERED-
|
|
197
|
+
* CORRECT (`withoutInterventionTrulyCorrect===true`). A value-DESTROYING over-cautious intervention
|
|
198
|
+
* (a false-positive withhold). This is a COST/mistake, NEVER laundered into avoided-loss (the
|
|
199
|
+
* focus-item-② failure mode the review caught).
|
|
200
|
+
* - UNVERIFIED-WITHHELD: withheld but NO counterfactual was recorded → correctness unknown. Excluded
|
|
201
|
+
* from the avoided-loss credit (NOT defaulted to CORRECTLY-WITHHELD) and flagged (design/89 §2.2.1
|
|
202
|
+
* line 96: withheld MUST be counterfactual-verified).
|
|
203
|
+
*/
|
|
204
|
+
export declare function classifyOutcome(run: {
|
|
205
|
+
oracle: OracleVerdicts;
|
|
206
|
+
delivery: DeliveryDecision;
|
|
207
|
+
counterfactual?: InterceptCounterfactual;
|
|
208
|
+
}): Outcome;
|
|
209
|
+
/**
|
|
210
|
+
* §2.3 — the four cost components for one run. EACH single-listed; C1 and C2 are different units
|
|
211
|
+
* (µUSD vs seconds) and are NEVER added (that is the §2.1 apples+oranges trap). There is deliberately
|
|
212
|
+
* NO field that combines them.
|
|
213
|
+
*/
|
|
214
|
+
export interface CostComponents {
|
|
215
|
+
/** C1 — model (LLM-token) cost in µUSD. Derived from `stats.costBreakdown` (design/80 D-E-core):
|
|
216
|
+
* the sum of the LLM-derived lines. */
|
|
217
|
+
c1ModelMicroUsd: number;
|
|
218
|
+
/** C2 — human-review burden: (count, seconds). From `stats.humanReview` (design/91). Seconds, not
|
|
219
|
+
* µUSD — never folded into C1. */
|
|
220
|
+
c2HumanCount: number;
|
|
221
|
+
c2HumanSec: number;
|
|
222
|
+
/** C3 — wall-clock seconds (the speed axis; fan-out's true value場之一). */
|
|
223
|
+
c3WallSec: number;
|
|
224
|
+
/** C4 — infra µUSD (E2B vCPU-hr / egress / k8s), service-owned. 0 when not measured. */
|
|
225
|
+
c4InfraMicroUsd: number;
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* §2.3 — derive C1 from `stats.costBreakdown` (design/80 D-E-core). C1 is the LLM-token-derived total:
|
|
229
|
+
* the sum of the four breakdown lines. Falls back to `costMicroUsd` (+ nested) when `costBreakdown`
|
|
230
|
+
* is absent (older runs), then 0. This is the ONLY composition done — and it is WITHIN C1 (all µUSD,
|
|
231
|
+
* same unit); it never reaches across to C2.
|
|
232
|
+
*/
|
|
233
|
+
export declare function deriveC1(stats: CoreStatsSubset): number;
|
|
234
|
+
/** §2.4 — derive C2 (count, seconds) from `stats.humanReview` (design/91). Absent ⇒ no gate ⇒ (0,0). */
|
|
235
|
+
export declare function deriveC2(stats: CoreStatsSubset): {
|
|
236
|
+
count: number;
|
|
237
|
+
sec: number;
|
|
238
|
+
};
|
|
239
|
+
/** §2.3 — assemble all four cost components for a run. They stay separate by construction. */
|
|
240
|
+
export declare function costComponents(run: RunRecord): CostComponents;
|
|
241
|
+
/**
|
|
242
|
+
* §2.4#2 — the result of the intercept-value counterfactual for ONE human intervention: re-run the
|
|
243
|
+
* same brief + fixed seed with that intervention DISABLED and observe how the final OUTCOME CLASS
|
|
244
|
+
* changed. The intervention has intercept value when the class IMPROVED — including the avoided-loss
|
|
245
|
+
* case (CORRECTLY-WITHHELD vs would-be DELIVERED-WRONG), which truly-correct alone CANNOT see
|
|
246
|
+
* (a withheld run's `withInterventionTrulyCorrect` is trivially false — nothing was delivered).
|
|
247
|
+
* This is what gives J3's "human-review is quality not only cost" a measurement.
|
|
248
|
+
*/
|
|
249
|
+
export interface InterceptCounterfactual {
|
|
250
|
+
/** truly-correct WITH the intervention (the actual SUP run). For a WITHHELD run this is trivially
|
|
251
|
+
* false (nothing delivered) — do NOT infer intercept value from it; use the class comparison. */
|
|
252
|
+
withInterventionTrulyCorrect: boolean;
|
|
253
|
+
/** truly-correct WITHOUT it (the re-run with the intervention disabled). For a withhold this is the
|
|
254
|
+
* load-bearing field: `false` ⇒ the withhold prevented a DELIVERED-WRONG (avoided-loss). */
|
|
255
|
+
withoutInterventionTrulyCorrect: boolean;
|
|
256
|
+
/** Optional explicit override. When set, {@link interceptHadValue} uses it verbatim. Prefer leaving
|
|
257
|
+
* it unset so the predicate derives value from the outcome classes (which handles withholds). */
|
|
258
|
+
changedOutcome?: boolean;
|
|
259
|
+
}
|
|
260
|
+
/**
|
|
261
|
+
* §2.4#2 — did a human intervention have intercept VALUE? Outcome-CLASS-aware (NOT truly-correct-binary
|
|
262
|
+
* -aware), so it correctly credits the supervisor's #1 value — an avoided-loss withhold — which a
|
|
263
|
+
* truly-correct XOR cannot see (design/89 §2.2.1: a withheld run's truly-correct is always false).
|
|
264
|
+
*
|
|
265
|
+
* Value exists when disabling the intervention would have WORSENED the outcome class:
|
|
266
|
+
* - DELIVER-correcting intervention: WITH delivers correct, WITHOUT delivers wrong
|
|
267
|
+
* (`withInterventionTrulyCorrect===true && withoutInterventionTrulyCorrect===false`).
|
|
268
|
+
* - AVOIDED-LOSS withhold: the run was correctly withheld (CORRECTLY-WITHHELD) and WITHOUT the
|
|
269
|
+
* intervention it would have been DELIVERED-WRONG (`withoutInterventionTrulyCorrect===false`).
|
|
270
|
+
*
|
|
271
|
+
* An INCORRECTLY-WITHHELD intervention (would-be correct, killed by an over-cautious human) has
|
|
272
|
+
* NEGATIVE value and returns `false` here — it is never counted as intercept value.
|
|
273
|
+
*
|
|
274
|
+
* Pass the run's outcome class so the predicate knows whether this was a withhold; the explicit
|
|
275
|
+
* `changedOutcome` override still wins when the harness sets it.
|
|
276
|
+
*/
|
|
277
|
+
export declare function interceptHadValue(cf: InterceptCounterfactual, outcome: Outcome): boolean;
|
|
278
|
+
/**
|
|
279
|
+
* §2.4 — the intercept-value seam the service three-arm harness implements: given a SUP run, clone the
|
|
280
|
+
* brief + fix the seed, disable ONE human intervention, re-run, and return its truly-correct. This is
|
|
281
|
+
* a SEAM (not implemented here — it needs the real Runner/model). The metrics tool consumes its result
|
|
282
|
+
* via `RunRecord.counterfactual`; this type pins the contract so service implements it correctly.
|
|
283
|
+
*/
|
|
284
|
+
export type InterceptValueCounterfactualSeam = (args: {
|
|
285
|
+
/** The original SUP run whose intervention is being ablated. */
|
|
286
|
+
run: RunRecord;
|
|
287
|
+
/** Which intervention to disable (index into `stats.humanReview.gates`). */
|
|
288
|
+
interventionIndex: number;
|
|
289
|
+
}) => Promise<InterceptCounterfactual>;
|
|
290
|
+
/**
|
|
291
|
+
* §2.3 output-form — one arm's per-cell vector: `(C1, C2.sec, C3, C4, P=truly-correct rate, intercept
|
|
292
|
+
* value, CORRECTLY-WITHHELD count)` + the raw outcome tallies. Reported WITH n (and a CI when n large
|
|
293
|
+
* enough). NO single µUSD/tc headline (iron law #2).
|
|
294
|
+
*/
|
|
295
|
+
export interface ArmCell {
|
|
296
|
+
arm: Arm;
|
|
297
|
+
n: number;
|
|
298
|
+
/** Outcome tallies. The withheld bucket is SPLIT (§2.2.1 line 96): only counterfactual-verified
|
|
299
|
+
* avoided-loss is `correctlyWithheld`; an over-cautious would-be-correct kill is
|
|
300
|
+
* `incorrectlyWithheld` (a cost); a withhold with no counterfactual is `unverifiedWithheld`. */
|
|
301
|
+
deliveredCorrect: number;
|
|
302
|
+
deliveredWrong: number;
|
|
303
|
+
correctlyWithheld: number;
|
|
304
|
+
incorrectlyWithheld: number;
|
|
305
|
+
unverifiedWithheld: number;
|
|
306
|
+
/**
|
|
307
|
+
* P = truly-correct RATE. design/89 §2.2.1: CORRECTLY-WITHHELD is neither numerator nor failure, so
|
|
308
|
+
* it is EXCLUDED from the denominator (it is not an attempt that produced a delivered artifact). P =
|
|
309
|
+
* DELIVERED-CORRECT / (DELIVERED-CORRECT + DELIVERED-WRONG). When all runs were withheld the rate is
|
|
310
|
+
* undefined (no delivery attempt to score).
|
|
311
|
+
*/
|
|
312
|
+
trulyCorrectRate: number | undefined;
|
|
313
|
+
/** Avoided-loss rate = CORRECTLY-WITHHELD / n. The supervisor's §2.2.1 value, single-listed. */
|
|
314
|
+
correctlyWithheldRate: number;
|
|
315
|
+
/**
|
|
316
|
+
* codex MINOR / design/95 M10 — withhold treated as a binary detector of would-be-wrong delivery
|
|
317
|
+
* (positive = withheld; ground truth = would-be-wrong, established by the §2.4 counterfactual). Reported
|
|
318
|
+
* as precision/recall — NOT just the raw correctly-withheld count — so an arm cannot look good by
|
|
319
|
+
* withholding indiscriminately (high count, low precision) or by rarely withholding (high precision,
|
|
320
|
+
* low recall). Both undefined when their denominator is 0.
|
|
321
|
+
* withholdPrecision = correctlyWithheld / (correctlyWithheld + incorrectlyWithheld)
|
|
322
|
+
* — of the VERIFIED withhold decisions, the fraction that avoided a real wrong delivery. UNVERIFIED
|
|
323
|
+
* withholds are EXCLUDED (no counterfactual ⇒ TP/FP unknown; the honest, anti-over-claim choice).
|
|
324
|
+
* withholdRecall = correctlyWithheld / (correctlyWithheld + deliveredWrong)
|
|
325
|
+
* — of the wrong-delivery opportunities, the fraction the withhold caught (deliveredWrong = the FN:
|
|
326
|
+
* a wrong artifact was delivered that a withhold would have avoided).
|
|
327
|
+
*/
|
|
328
|
+
withholdPrecision: number | undefined;
|
|
329
|
+
withholdRecall: number | undefined;
|
|
330
|
+
/** Mean C1 (µUSD), C2 (count, sec), C3 (sec), C4 (µUSD) across the cell. Each single-listed. */
|
|
331
|
+
c1ModelMicroUsdMean: number;
|
|
332
|
+
c2HumanCountMean: number;
|
|
333
|
+
c2HumanSecMean: number;
|
|
334
|
+
c3WallSecMean: number;
|
|
335
|
+
c4InfraMicroUsdMean: number;
|
|
336
|
+
/** §2.4 intercept value: how many interventions changed the outcome / how many were measured. */
|
|
337
|
+
interceptValueChanged: number;
|
|
338
|
+
interceptValueMeasured: number;
|
|
339
|
+
/**
|
|
340
|
+
* Per-axis DIAGNOSTIC only (iron law #2): mean-C1 µUSD per DELIVERED-CORRECT. Undefined when 0
|
|
341
|
+
* delivered-correct. NEVER combines C2 — it is C1-only, labeled a diagnostic, and never the verdict.
|
|
342
|
+
*/
|
|
343
|
+
c1PerTrulyCorrectDiag: number | undefined;
|
|
344
|
+
}
|
|
345
|
+
/** Fold a cell's runs (all same arm) into the per-arm vector. */
|
|
346
|
+
export declare function foldCell(runs: RunRecord[]): ArmCell;
|
|
347
|
+
/**
|
|
348
|
+
* §2.1 — the three Pareto axes for one arm. Lower is better for cost (C1, C2.sec); higher is better
|
|
349
|
+
* for correctness (P). NOTE: an arm with undefined P (all-withheld) cannot be placed on the frontier
|
|
350
|
+
* — it is excluded from domination judgment and flagged.
|
|
351
|
+
*/
|
|
352
|
+
export interface ParetoPoint {
|
|
353
|
+
arm: Arm;
|
|
354
|
+
c1ModelMicroUsd: number;
|
|
355
|
+
c2HumanSec: number;
|
|
356
|
+
trulyCorrectRate: number;
|
|
357
|
+
}
|
|
358
|
+
/**
|
|
359
|
+
* §2.1 — does point `a` Pareto-DOMINATE point `b`? `a` dominates `b` iff `a` is no worse on ALL three
|
|
360
|
+
* axes (≤ C1, ≤ C2.sec, ≥ P) AND strictly better on at least one. Domination means b is provably
|
|
361
|
+
* inferior. NOT dominated ⇒ both are on the frontier (a real trade-off — exactly the §2.1 outcome we
|
|
362
|
+
* refuse to collapse into one scalar).
|
|
363
|
+
*/
|
|
364
|
+
export declare function dominates(a: ParetoPoint, b: ParetoPoint): boolean;
|
|
365
|
+
export interface ParetoResult {
|
|
366
|
+
/** The input points that could be placed (P defined). */
|
|
367
|
+
points: ParetoPoint[];
|
|
368
|
+
/** Arms on the Pareto frontier (NOT dominated by any other) — the real trade-offs. */
|
|
369
|
+
frontier: Arm[];
|
|
370
|
+
/** Arms dominated by ≥1 other arm, each with WHO dominates it. A dominated arm is provably inferior
|
|
371
|
+
* (the only kind of verdict §2.1 permits — no scalar ranking of frontier members). */
|
|
372
|
+
dominated: Array<{
|
|
373
|
+
arm: Arm;
|
|
374
|
+
dominatedBy: Arm[];
|
|
375
|
+
}>;
|
|
376
|
+
/**
|
|
377
|
+
* Arms excluded from the frontier because P was undefined (all-withheld) — flagged, not silently
|
|
378
|
+
* dropped, and CARRYING their avoided-loss so a consumer that reads `frontier` cannot miss the
|
|
379
|
+
* withheld arm's value (design/89 §2.2.1: an all-withheld supervisor must not vanish, leaving a
|
|
380
|
+
* wrong-shipping solo as the sole "winner").
|
|
381
|
+
*/
|
|
382
|
+
excludedUndefinedP: Array<{
|
|
383
|
+
arm: Arm;
|
|
384
|
+
correctlyWithheldRate: number;
|
|
385
|
+
correctlyWithheld: number;
|
|
386
|
+
deliveredWrong: number;
|
|
387
|
+
}>;
|
|
388
|
+
/**
|
|
389
|
+
* HARD COUNTERWEIGHT (design/89 §2.1/§2.2.1): set when the frontier is NOT a clean winner declaration
|
|
390
|
+
* — an arm with avoided-loss (correctlyWithheld>0) was excluded for undefined P WHILE a frontier arm
|
|
391
|
+
* ships real negatives (deliveredWrong>0). A downstream consumer keying on `frontier` MUST read this
|
|
392
|
+
* before concluding "X won": the excluded arm avoided loss the frontier arm did not.
|
|
393
|
+
*/
|
|
394
|
+
frontierNotAWinnerDeclaration?: {
|
|
395
|
+
reason: string;
|
|
396
|
+
excludedAvoidedLossArms: Arm[];
|
|
397
|
+
frontierArmsShippingWrong: Arm[];
|
|
398
|
+
};
|
|
399
|
+
}
|
|
400
|
+
/**
|
|
401
|
+
* §2.1 — compute the 3-D Pareto frontier over the per-arm cells. Each arm contributes ONE point
|
|
402
|
+
* `(C1 mean, C2.sec mean, P)`. Arms with undefined P (all-withheld) are flagged and excluded from
|
|
403
|
+
* domination. The output is the frontier + dominated-by map — NEVER a single ranked scalar.
|
|
404
|
+
*/
|
|
405
|
+
export declare function paretoFrontier(cells: ArmCell[]): ParetoResult;
|
|
406
|
+
/**
|
|
407
|
+
* §2.1 — the risk-transfer disclosure: solo having no C2 does NOT mean solo is cheaper — it transfers
|
|
408
|
+
* quality risk downstream (single-agent 3-runs-all-failed 0-commit = the cost of no human safety net;
|
|
409
|
+
* METR -19% / DORA more-code≠more-delivered / 31% PR zero-review). The report MUST emit this verbatim
|
|
410
|
+
* whenever a solo arm is present so a low solo C2 is never read as "solo cheaper". Returns the text +
|
|
411
|
+
* the supporting numbers from this run so it is not boilerplate but grounded.
|
|
412
|
+
*/
|
|
413
|
+
export declare function riskTransferDisclosure(cells: ArmCell[]): {
|
|
414
|
+
applies: boolean;
|
|
415
|
+
text: string;
|
|
416
|
+
evidence: {
|
|
417
|
+
soloC2Sec: number;
|
|
418
|
+
soloDeliveredWrong: number;
|
|
419
|
+
supCorrectlyWithheld: number;
|
|
420
|
+
};
|
|
421
|
+
};
|
|
422
|
+
/**
|
|
423
|
+
* codex B2 — a paired-binary comparison of two arms on the SAME tasks/seeds. The two arms' truly-
|
|
424
|
+
* correct flags are paired row-by-row (paired-seed, design/89 §3.4). For binary paired data the
|
|
425
|
+
* RIGHT tests are McNemar (discordant pairs) and a paired-bootstrap difference interval — NOT two
|
|
426
|
+
* independent proportions with "CI non-overlap" (that ignores the pairing and is under-powered, codex B2).
|
|
427
|
+
*/
|
|
428
|
+
export interface PairedBinaryComparison {
|
|
429
|
+
/** Arm A (e.g. "sup") vs arm B (e.g. "solo"). pDiff = P(A) − P(B). */
|
|
430
|
+
armA: Arm;
|
|
431
|
+
armB: Arm;
|
|
432
|
+
/** Number of PAIRED rows actually compared (only rows where both arms produced a delivery attempt). */
|
|
433
|
+
nPairs: number;
|
|
434
|
+
/** Discordant pair counts: b = A-correct & B-wrong; c = A-wrong & B-correct (McNemar's b,c). */
|
|
435
|
+
bAonly: number;
|
|
436
|
+
cBonly: number;
|
|
437
|
+
/** Point estimate of the paired proportion difference P(A) − P(B). */
|
|
438
|
+
pDiff: number;
|
|
439
|
+
/** McNemar exact-ish two-sided p-value over discordant pairs (binomial, continuity-corrected χ² when
|
|
440
|
+
* b+c large). */
|
|
441
|
+
mcnemarP: number;
|
|
442
|
+
/** Bootstrap percentile 95% CI for the paired difference (lo, hi) — a percentile CI on the seeded
|
|
443
|
+
* paired-bootstrap distribution, NOT Newcombe's analytic interval (codex MAJOR-B). Crosses 0 ⇒ not significant. */
|
|
444
|
+
ci95: [number, number];
|
|
445
|
+
/** TRUE iff the difference is statistically significant at α=0.05 (CI excludes 0 AND McNemar p<0.05). */
|
|
446
|
+
significant: boolean;
|
|
447
|
+
/**
|
|
448
|
+
* codex B2 — pre-registered Minimum Detectable Effect at the observed nPairs (the difference this
|
|
449
|
+
* comparison COULD have detected at 80% power). When |pDiff| is below this AND not significant, the
|
|
450
|
+
* verdict is "not powered" — NOT "no difference". This is the field that stops "N≥15 is an assertion".
|
|
451
|
+
*/
|
|
452
|
+
mdeAt80Power: number;
|
|
453
|
+
/** "powered" iff nPairs ≥ the n needed to detect the pre-registered MDE; else "not-powered". */
|
|
454
|
+
power: "powered" | "not-powered";
|
|
455
|
+
/** Human-readable verdict that NEVER over-claims a null result from an under-powered comparison. */
|
|
456
|
+
verdict: "A-better" | "B-better" | "no-detectable-difference" | "not-powered";
|
|
457
|
+
}
|
|
458
|
+
/**
|
|
459
|
+
* codex B2 — compare two arms' delivered truly-correct as PAIRED binary. Pairs runs by the COMPOSITE
|
|
460
|
+
* `(taskId, seed)` key (codex MAJOR-A: a bare `seed` collides across tasks — the same repeat index
|
|
461
|
+
* recurs per task — so cross-task input would overwrite pairs and poison the McNemar sample);
|
|
462
|
+
* only rows where BOTH arms delivered (not withheld, both scored) form a pair — a
|
|
463
|
+
* withheld run has no delivered binary to pair (it is scored in the withhold/avoided-loss axis, not
|
|
464
|
+
* here). `mde` is the pre-registered minimum detectable effect (default 0.20 absolute = a 20pp swing).
|
|
465
|
+
*/
|
|
466
|
+
export declare function pairedBinaryCompare(scoredRuns: RunRecord[], armA: Arm, armB: Arm, opts?: {
|
|
467
|
+
mde?: number;
|
|
468
|
+
bootstrapSeed?: number;
|
|
469
|
+
bootstrapIters?: number;
|
|
470
|
+
}): PairedBinaryComparison;
|
|
471
|
+
/**
|
|
472
|
+
* codex B3 — the pre-registered C2 exchange rate(s): how many human-review SECONDS we are willing to
|
|
473
|
+
* pay to buy one unit of supervisor value. Without these, "higher P / more withholds ⇒ worth it" is
|
|
474
|
+
* unfalsifiable (the "helpful but too expensive" counter-thesis cannot be observed). Declared BEFORE
|
|
475
|
+
* the run (design/95 §9), not fit after.
|
|
476
|
+
*/
|
|
477
|
+
export interface C2Thresholds {
|
|
478
|
+
/** Max human-review seconds we will pay to avoid ONE DELIVERED-WRONG (per CORRECTLY-WITHHELD). */
|
|
479
|
+
secPerAvoidedWrong: number;
|
|
480
|
+
/** Max human-review seconds we will pay to save ONE repeated decision (V1). */
|
|
481
|
+
secPerSavedDecision: number;
|
|
482
|
+
}
|
|
483
|
+
export interface ParetoVerdict {
|
|
484
|
+
arm: Arm;
|
|
485
|
+
/** Non-dominated on (C1, C2.sec, P) — necessary condition to be considered at all (codex B3). */
|
|
486
|
+
nonDominated: boolean;
|
|
487
|
+
/** The pre-registered exchange-rate check: does the arm's extra C2 buy enough avoided-loss / saved
|
|
488
|
+
* decisions to clear the declared threshold? Undefined when the arm has no extra C2 over baseline. */
|
|
489
|
+
clearsC2Threshold?: boolean;
|
|
490
|
+
/**
|
|
491
|
+
* codex B3 — the label. An arm may ONLY be "worth-it" when it is non-dominated AND clears the C2
|
|
492
|
+
* threshold. A non-dominated but threshold-failing arm is "quality-tradeoff" (higher quality, but the
|
|
493
|
+
* cost is not bought back) — NEVER "worth-it". A dominated arm is "dominated".
|
|
494
|
+
*/
|
|
495
|
+
label: "worth-it" | "quality-tradeoff" | "dominated";
|
|
496
|
+
}
|
|
497
|
+
/**
|
|
498
|
+
* codex B3 — classify each arm against the SUP/TEAM-vs-baseline value question with a pre-registered
|
|
499
|
+
* exchange rate. `baselineArm` is the cost floor to compare extra C2 against (default "solo").
|
|
500
|
+
* `avoidedWrong` / `savedDecisions` per arm come from the cells / campaign report.
|
|
501
|
+
*
|
|
502
|
+
* 🔴 ADVERSARIAL-REVIEW DISCIPLINE (B1 partial false-close, design/95 §2.3): `cells` MUST be a
|
|
503
|
+
* HOMOGENEOUS cross-arm set — feed `report.comparisons[*].arms` (one `(suiteVersion,taskId,archetype,
|
|
504
|
+
* valueDimension)` comparison at a time), NEVER `report.cells` (the suite-wide ARM MEAN). The arm mean
|
|
505
|
+
* folds heterogeneous tasks → the value LABEL itself flips (Simpson): a cell that is "quality-tradeoff"
|
|
506
|
+
* (extra human seconds NOT bought back) gets averaged with a "worth-it" cell into a single misleading
|
|
507
|
+
* "worth-it", hiding the "helpful but too expensive" anti-thesis. The frontier folds too (§11 / B1).
|
|
508
|
+
* Regression: metrics.test §13b proves per-cell {worth-it, quality-tradeoff} ≠ arm-mean {worth-it}.
|
|
509
|
+
*/
|
|
510
|
+
export declare function paretoValueVerdict(cells: ArmCell[], thresholds: C2Thresholds, perArmValue: Partial<Record<Arm, {
|
|
511
|
+
avoidedWrong: number;
|
|
512
|
+
savedDecisions: number;
|
|
513
|
+
}>>, baselineArm?: Arm): {
|
|
514
|
+
pareto: ParetoResult;
|
|
515
|
+
verdicts: ParetoVerdict[];
|
|
516
|
+
};
|
|
517
|
+
/**
|
|
518
|
+
* design/95 §7.1 — V1 (免重复劳动): campaign-level human-decision delta. The ONLY authoritative V1
|
|
519
|
+
* mechanism (design/95 reconcile, MAJOR#2): cross-task reuse of a decided strategy. Semantics:
|
|
520
|
+
* - `soloHumanDecisions` is the V1 BASELINE — the operator's actual up-front decision count when
|
|
521
|
+
* running solo across the campaign (codex M7: NOT 0, NOT synthetic — measured from real operator
|
|
522
|
+
* prep across runs). `0` is only valid when the campaign genuinely needed no human decision.
|
|
523
|
+
* - `repeatedDecisionsSaved = soloHumanDecisions − supHumanDecisions` (may be negative = SUP cost
|
|
524
|
+
* MORE human decisions; reported honestly, not floored).
|
|
525
|
+
*/
|
|
526
|
+
export interface CampaignV1Saved {
|
|
527
|
+
decisionKind: string;
|
|
528
|
+
/** V1 baseline (codex M7): operator's measured up-front decisions when running SOLO. Provenance MUST
|
|
529
|
+
* be recorded in the stamp (real prep, not 0/synthetic). */
|
|
530
|
+
soloHumanDecisions: number;
|
|
531
|
+
/** SUP arm's actual human-review decision count for this decision kind. */
|
|
532
|
+
supHumanDecisions: number;
|
|
533
|
+
/** = soloHumanDecisions − supHumanDecisions. Positive ⇒ SUP saved repeated labour (V1 evidence). */
|
|
534
|
+
repeatedDecisionsSaved: number;
|
|
535
|
+
/** Whether the baseline is a real measurement vs absent (codex M7 honesty gate). */
|
|
536
|
+
baselineProvenance: "measured-operator-baseline" | "absent-not-claimable";
|
|
537
|
+
}
|
|
538
|
+
/**
|
|
539
|
+
* design/95 §7.2 — V2 (蓝图清晰度) THREE-arm ablation (codex BLOCKER#1 + MAJOR#3 / M8). All three are
|
|
540
|
+
* paired on the SAME seeds (paired===true ⇒ the three pX arrays/values are over the same n seeds).
|
|
541
|
+
* INVARIANT: `n` is the paired-seed count common to all three sub-arms; the three deltas are computed
|
|
542
|
+
* over those n pairs.
|
|
543
|
+
* - pSoloRaw — only the original brief (no blueprint baseline).
|
|
544
|
+
* - pSoloSupGenerated — the SUP-arm-GENERATED blueprint (attributable to supervisor; gen cost charged).
|
|
545
|
+
* - pSoloExperimenterIdeal — the experimenter "ideal" blueprint. codex M8: this is a CONSTRAINED upper
|
|
546
|
+
* bound on "better-prompt help", NOT "supervisor's mechanistic ceiling", UNLESS the ideal blueprint
|
|
547
|
+
* was generated under the {@link IdealBlueprintConstraints} (run-time, visible-brief-only, no oracle
|
|
548
|
+
* access, same info budget, leak-reviewed). `idealConstraintsSatisfied` records which it is.
|
|
549
|
+
*/
|
|
550
|
+
export interface BlueprintAblationTriple {
|
|
551
|
+
subgoalId: string;
|
|
552
|
+
paired: boolean;
|
|
553
|
+
/** Paired-seed count common to all three sub-arms (array/Δ invariant base). */
|
|
554
|
+
n: number;
|
|
555
|
+
pSoloRaw: number;
|
|
556
|
+
pSoloSupGenerated: number;
|
|
557
|
+
pSoloExperimenterIdeal: number;
|
|
558
|
+
/** = pSoloSupGenerated − pSoloRaw (supervisor blueprint's real net value). */
|
|
559
|
+
deltaSupVsRaw: number;
|
|
560
|
+
/** = pSoloExperimenterIdeal − pSoloRaw. LABELLED per `idealConstraintsSatisfied` (codex M8). */
|
|
561
|
+
deltaIdealVsRaw: number;
|
|
562
|
+
/** codex M8 — when false, deltaIdealVsRaw is "manual-prompt upper bound", NOT "supervisor potential". */
|
|
563
|
+
idealConstraintsSatisfied: boolean;
|
|
564
|
+
/** codex M3 — blueprint generation cost charged to the sup-generated arm (budget-match red line). */
|
|
565
|
+
blueprintGenC1MicroUsd: number;
|
|
566
|
+
blueprintGenC2Count: number;
|
|
567
|
+
blueprintGenC2Sec: number;
|
|
568
|
+
}
|
|
569
|
+
/** codex M8 — the constraints under which an "ideal" blueprint may be read as a supervisor-mechanism
|
|
570
|
+
* upper bound rather than a generic "better prompt helps" result. Recorded per ablation. */
|
|
571
|
+
export interface IdealBlueprintConstraints {
|
|
572
|
+
generatedBeforeRun: boolean;
|
|
573
|
+
fromVisibleBriefOnly: boolean;
|
|
574
|
+
noOracleTestAccess: boolean;
|
|
575
|
+
sameInfoBudget: boolean;
|
|
576
|
+
solutionLeakReviewed: boolean;
|
|
577
|
+
}
|
|
578
|
+
/** True iff ALL ideal-blueprint constraints hold (codex M8 gate). */
|
|
579
|
+
export declare function idealConstraintsSatisfied(c: IdealBlueprintConstraints): boolean;
|
|
580
|
+
/**
|
|
581
|
+
* design/95 §7.3 — V3 (无关性隔离) contamination probe (canary, mechanical, zero LLM-judge). codex M9:
|
|
582
|
+
* the isolated-vs-shared P delta CONFOUNDS execution order / context size / worker count / budget; the
|
|
583
|
+
* PRIMARY signal must be per-subgoal oracle failure + explicit wrong-use of a sibling artifact (the
|
|
584
|
+
* canary leak), with the P delta kept as a DIAGNOSTIC only.
|
|
585
|
+
* INVARIANT: `isolatedSubgoalP.length === sharedSubgoalP.length === factorCount`.
|
|
586
|
+
*/
|
|
587
|
+
export interface IsolationContamination {
|
|
588
|
+
factorCount: number;
|
|
589
|
+
/** Per-factor P under isolation. length === factorCount. */
|
|
590
|
+
isolatedSubgoalP: number[];
|
|
591
|
+
/** Per-factor P under shared context. length === factorCount. */
|
|
592
|
+
sharedSubgoalP: number[];
|
|
593
|
+
/** PRIMARY mechanical signal (codex M9): cross-factor canary leak rate (explicit token bleed). */
|
|
594
|
+
canaryLeakRate: number;
|
|
595
|
+
/** PRIMARY mechanical signal (codex M9): count of factors that failed their oracle AND demonstrably
|
|
596
|
+
* used a sibling factor's artifact (the controlled-ablation harm signal). */
|
|
597
|
+
wrongSiblingArtifactUses: number;
|
|
598
|
+
/** DIAGNOSTIC ONLY (codex M9 confound): mean(isolated P) − mean(shared P). Not the primary signal. */
|
|
599
|
+
contaminationRateDiag: number;
|
|
600
|
+
/** Extra C1 the isolation cost (multi-worker / repeated context load). */
|
|
601
|
+
isolationOverheadC1: number;
|
|
602
|
+
}
|
|
603
|
+
/**
|
|
604
|
+
* design/95 §7 — the CAMPAIGN-level wrapper (V1 is campaign-scoped, design/95 reconcile MAJOR#2). Built
|
|
605
|
+
* ON TOP of per-task {@link ValueJudgmentReport}s; does NOT re-derive their numerator/Pareto red lines.
|
|
606
|
+
* V2/V3 attach optionally per the §7.2/§7.3 structures. All §7 fields are populated by the harness
|
|
607
|
+
* (the producer), not synthesized in `buildReport` — `implementedAxes` declares which were filled.
|
|
608
|
+
*/
|
|
609
|
+
export interface CampaignReport {
|
|
610
|
+
perTask: ValueJudgmentReport[];
|
|
611
|
+
campaignV1?: CampaignV1Saved;
|
|
612
|
+
blueprintAblation?: BlueprintAblationTriple;
|
|
613
|
+
contaminationProbe?: IsolationContamination;
|
|
614
|
+
implementedAxes: ImplementedAxes;
|
|
615
|
+
}
|
|
616
|
+
/**
|
|
617
|
+
* design/95 §2 / codex B1 — one heterogeneity CELL: a `(suiteVersion, taskId, archetype, valueDimension,
|
|
618
|
+
* arm)` group with its folded {@link ArmCell}. The decision surface is the per-cell vector — NOT the
|
|
619
|
+
* arm mean (the Simpson's-paradox guard). `groupKey` is the stable join key.
|
|
620
|
+
*/
|
|
621
|
+
export interface GroupedCell {
|
|
622
|
+
groupKey: string;
|
|
623
|
+
suiteVersion?: string;
|
|
624
|
+
taskId: string;
|
|
625
|
+
archetype?: string;
|
|
626
|
+
valueDimension?: string;
|
|
627
|
+
cell: ArmCell;
|
|
628
|
+
}
|
|
629
|
+
/**
|
|
630
|
+
* 🔴 ADVERSARIAL-REVIEW FIX (B1 partial false-close): the cross-arm decision surface. A {@link
|
|
631
|
+
* GroupedCell} keys on `arm`, so each is SINGLE-ARM — you cannot run a cross-arm Pareto / value verdict
|
|
632
|
+
* (J2/J3/B3) from one. The prior `buildReport` exposed only `report.pareto`, computed on the suite-wide
|
|
633
|
+
* `cells` ARM MEAN — the very Simpson's-prone surface B1 demotes to "NOT a decision surface". A consumer
|
|
634
|
+
* reading the obvious `report.pareto` got the folded-across-heterogeneity frontier = exactly what B1
|
|
635
|
+
* claims to prevent. This is the CORRECT decision surface: one entry per `(suiteVersion, taskId,
|
|
636
|
+
* archetype, valueDimension)` (NO arm), carrying all arms' cells + their per-cell Pareto. J2/J3/B3 MUST
|
|
637
|
+
* read these, never `report.pareto`.
|
|
638
|
+
*/
|
|
639
|
+
export interface ComparisonCell {
|
|
640
|
+
comparisonKey: string;
|
|
641
|
+
suiteVersion?: string;
|
|
642
|
+
taskId: string;
|
|
643
|
+
archetype?: string;
|
|
644
|
+
valueDimension?: string;
|
|
645
|
+
/** All arms' folded cells WITHIN this homogeneous comparison (same task/archetype/dimension). */
|
|
646
|
+
arms: ArmCell[];
|
|
647
|
+
/** The per-comparison Pareto over `arms` — the decision surface, NOT the suite arm mean. */
|
|
648
|
+
pareto: ParetoResult;
|
|
649
|
+
}
|
|
650
|
+
/**
|
|
651
|
+
* codex MINOR11 / council Q1 — capability metadata: which of the four §7/Pareto value axes are actually
|
|
652
|
+
* IMPLEMENTED in this report. Consumers must read this before claiming a V1/V2/V3 result; an unset axis
|
|
653
|
+
* is NOT a null result, it is "not measured here". (The T1 structures above are types + pure helpers;
|
|
654
|
+
* the report-level V1/V2/V3 fields are populated by the harness, not synthesized in `buildReport`.)
|
|
655
|
+
*/
|
|
656
|
+
export interface ImplementedAxes {
|
|
657
|
+
pareto: boolean;
|
|
658
|
+
v1: boolean;
|
|
659
|
+
v2: boolean;
|
|
660
|
+
v3: boolean;
|
|
661
|
+
}
|
|
662
|
+
export interface ValueJudgmentReport {
|
|
663
|
+
/** codex B1 — per-arm cells grouped by full heterogeneity key (incl. arm). Single-arm; use for cell
|
|
664
|
+
* inspection / `pairedBinaryCompare` inputs. NOT directly a cross-arm verdict surface (each is one arm). */
|
|
665
|
+
groupedCells: GroupedCell[];
|
|
666
|
+
/**
|
|
667
|
+
* 🔴 ADVERSARIAL-REVIEW FIX (B1): the CROSS-ARM decision surface — one per `(suiteVersion, taskId,
|
|
668
|
+
* archetype, valueDimension)` (NO arm), each carrying all arms + a per-comparison Pareto over a
|
|
669
|
+
* HOMOGENEOUS set of runs. J2/J3/B3 (`paretoValueVerdict`) MUST read `comparisons[*].pareto` /
|
|
670
|
+
* `comparisons[*].arms`, NEVER the suite-wide `pareto`/`cells` (which fold heterogeneous tasks → Simpson).
|
|
671
|
+
*/
|
|
672
|
+
comparisons: ComparisonCell[];
|
|
673
|
+
/**
|
|
674
|
+
* codex B1 — suite-level rollup: per-arm cells folded over ALL scored runs. A WEIGHTED summary for
|
|
675
|
+
* dashboards ONLY — NOT a decision surface (folding heterogeneous tasks can flip a verdict, Simpson).
|
|
676
|
+
* Consumers MUST decide on `comparisons`; this is convenience aggregation.
|
|
677
|
+
*/
|
|
678
|
+
cells: ArmCell[];
|
|
679
|
+
/**
|
|
680
|
+
* 🔴 DASHBOARD ONLY — the Pareto over the suite-wide ARM MEAN (`cells`). This folds heterogeneous
|
|
681
|
+
* tasks into one frontier (Simpson's paradox) and is NOT a verdict surface. The verdict surface is
|
|
682
|
+
* `comparisons[*].pareto`. Kept only for a single-number dashboard glance; flagged so a consumer
|
|
683
|
+
* cannot mistake it for the decision (the B1 false-close: prior code wired the verdict to this).
|
|
684
|
+
*/
|
|
685
|
+
pareto: ParetoResult;
|
|
686
|
+
riskTransfer: ReturnType<typeof riskTransferDisclosure>;
|
|
687
|
+
/** design/89 §3.4: cells with n<8 are directional-only, not verdict-grade. Flagged, not dropped. */
|
|
688
|
+
directionalOnly: Arm[];
|
|
689
|
+
/**
|
|
690
|
+
* codex B4 — the exclusion ledger: runs dropped from scoring (infra-failed / excluded) with reasons.
|
|
691
|
+
* A regression-grade invariant: these never reach `cells` / `pareto` (no infra noise in the verdict).
|
|
692
|
+
*/
|
|
693
|
+
excluded: Array<{
|
|
694
|
+
taskId: string;
|
|
695
|
+
arm: Arm;
|
|
696
|
+
seed?: number | string;
|
|
697
|
+
reason: RunStatus;
|
|
698
|
+
}>;
|
|
699
|
+
/** codex MINOR11 — which value axes this report actually measured. */
|
|
700
|
+
implementedAxes: ImplementedAxes;
|
|
701
|
+
}
|
|
702
|
+
/**
|
|
703
|
+
* Top-level (codex B1+B4): SCORE only `scored` runs (B4 — drop infra-failed/excluded with reasons),
|
|
704
|
+
* group by `(suiteVersion, taskId, archetype, valueDimension, arm)` (B1 — the per-cell decision surface,
|
|
705
|
+
* Simpson's-paradox guard), fold each group, AND provide a suite-level per-arm rollup for dashboards
|
|
706
|
+
* (explicitly NOT a decision surface). Deterministic; no model.
|
|
707
|
+
*
|
|
708
|
+
* `opts.implementedAxes` lets the harness declare which §7 axes it populated (codex MINOR11); default
|
|
709
|
+
* = only Pareto (the V1/V2/V3 structures are T1 net-new, not synthesized here).
|
|
710
|
+
*/
|
|
711
|
+
export declare function buildReport(runs: RunRecord[], opts?: {
|
|
712
|
+
implementedAxes?: Partial<ImplementedAxes>;
|
|
713
|
+
}): ValueJudgmentReport;
|
|
714
|
+
//# sourceMappingURL=metrics.d.ts.map
|