@telora/daemon 0.21.26 → 0.21.82
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/build-info.json +4 -3
- package/dist/audit/audit-hooks.d.ts +127 -0
- package/dist/audit/audit-hooks.d.ts.map +1 -0
- package/dist/audit/audit-hooks.js +346 -0
- package/dist/audit/audit-hooks.js.map +1 -0
- package/dist/audit/audit-phase.d.ts +170 -0
- package/dist/audit/audit-phase.d.ts.map +1 -0
- package/dist/audit/audit-phase.js +492 -0
- package/dist/audit/audit-phase.js.map +1 -0
- package/dist/audit/audit-prompt.d.ts.map +1 -0
- package/dist/audit/audit-prompt.js.map +1 -0
- package/dist/audit/audit-shape.d.ts.map +1 -0
- package/dist/audit/audit-shape.js.map +1 -0
- package/dist/backends/agent-backend.d.ts +1 -1
- package/dist/backends/agent-backend.d.ts.map +1 -1
- package/dist/backends/availability.d.ts +1 -1
- package/dist/backends/availability.d.ts.map +1 -1
- package/dist/backends/codex/codex-backend.js +1 -1
- package/dist/backends/codex/codex-backend.js.map +1 -1
- package/dist/backends/codex/codex-mcp-proxy.js +1 -1
- package/dist/backends/codex/codex-mcp-proxy.js.map +1 -1
- package/dist/backends/codex/mcp-preflight.d.ts +1 -1
- package/dist/backends/codex/mcp-preflight.d.ts.map +1 -1
- package/dist/backends/lacuna/launch-adapter.d.ts +1 -1
- package/dist/backends/lacuna/launch-adapter.d.ts.map +1 -1
- package/dist/backends/lacuna/lifecycle.d.ts +1 -1
- package/dist/backends/lacuna/lifecycle.d.ts.map +1 -1
- package/dist/backends/lacuna/lifecycle.js +1 -1
- package/dist/backends/lacuna/lifecycle.js.map +1 -1
- package/dist/backends/lacuna/supervisor.d.ts +1 -1
- package/dist/backends/lacuna/supervisor.d.ts.map +1 -1
- package/dist/backends/lacuna/supervisor.js +2 -2
- package/dist/backends/lacuna/supervisor.js.map +1 -1
- package/dist/backends/resolve.js +2 -2
- package/dist/backends/resolve.js.map +1 -1
- package/dist/ci/ci-escalation.d.ts.map +1 -0
- package/dist/ci/ci-escalation.js +66 -0
- package/dist/ci/ci-escalation.js.map +1 -0
- package/dist/ci/ci-sensor-loop.d.ts +146 -0
- package/dist/ci/ci-sensor-loop.d.ts.map +1 -0
- package/dist/ci/ci-sensor-loop.js +265 -0
- package/dist/ci/ci-sensor-loop.js.map +1 -0
- package/dist/ci/ci-status-git.d.ts +53 -0
- package/dist/ci/ci-status-git.d.ts.map +1 -0
- package/dist/ci/ci-status-git.js +89 -0
- package/dist/ci/ci-status-git.js.map +1 -0
- package/dist/ci/ci-status.d.ts +137 -0
- package/dist/ci/ci-status.d.ts.map +1 -0
- package/dist/ci/ci-status.js.map +1 -0
- package/dist/cli/backfill-frt-prose.d.ts +3 -3
- package/dist/cli/backfill-frt-prose.d.ts.map +1 -1
- package/dist/cli/backfill-frt-prose.js +2 -2
- package/dist/cli/backfill-frt-prose.js.map +1 -1
- package/dist/cli/codex-provision.js +1 -1
- package/dist/cli/codex-provision.js.map +1 -1
- package/dist/cli/connect/cline.js +1 -1
- package/dist/cli/connect/cline.js.map +1 -1
- package/dist/cli/connect/codex.js +1 -1
- package/dist/cli/connect/codex.js.map +1 -1
- package/dist/cli/connect/ide.js +1 -1
- package/dist/cli/connect/ide.js.map +1 -1
- package/dist/cli/connect.js +4 -4
- package/dist/cli/connect.js.map +1 -1
- package/dist/cli/open.js +2 -2
- package/dist/cli/open.js.map +1 -1
- package/dist/cli/session-state.d.ts +1 -1
- package/dist/cli/session-state.d.ts.map +1 -1
- package/dist/cli/session-state.js +4 -4
- package/dist/cli/session-state.js.map +1 -1
- package/dist/cli/verify-setup-config.d.ts +1 -1
- package/dist/cli/verify-setup-config.d.ts.map +1 -1
- package/dist/cli/verify-setup.js +2 -2
- package/dist/cli/verify-setup.js.map +1 -1
- package/dist/completion/advanceability.d.ts +1 -1
- package/dist/completion/advanceability.d.ts.map +1 -1
- package/dist/completion/advanceability.js +2 -2
- package/dist/completion/advanceability.js.map +1 -1
- package/dist/completion/delivery-advancement-guard.d.ts +20 -2
- package/dist/completion/delivery-advancement-guard.d.ts.map +1 -1
- package/dist/completion/delivery-advancement-guard.js +32 -4
- package/dist/completion/delivery-advancement-guard.js.map +1 -1
- package/dist/completion/detector.d.ts +9 -3
- package/dist/completion/detector.d.ts.map +1 -1
- package/dist/completion/detector.js +26 -4
- package/dist/completion/detector.js.map +1 -1
- package/dist/completion/escalation-provenance.d.ts +78 -0
- package/dist/completion/escalation-provenance.d.ts.map +1 -0
- package/dist/completion/escalation-provenance.js +206 -0
- package/dist/completion/escalation-provenance.js.map +1 -0
- package/dist/completion/escalations.d.ts +85 -0
- package/dist/completion/escalations.d.ts.map +1 -0
- package/dist/completion/escalations.js +91 -0
- package/dist/completion/escalations.js.map +1 -0
- package/dist/completion/event-entry-phases.d.ts +1 -1
- package/dist/completion/event-entry-phases.d.ts.map +1 -1
- package/dist/completion/event-entry-phases.js +3 -3
- package/dist/completion/event-entry-phases.js.map +1 -1
- package/dist/completion/event-escalations.d.ts +1 -1
- package/dist/completion/event-escalations.d.ts.map +1 -1
- package/dist/completion/event-escalations.js +1 -1
- package/dist/completion/event-escalations.js.map +1 -1
- package/dist/completion/event-phases.d.ts +44 -1
- package/dist/completion/event-phases.d.ts.map +1 -1
- package/dist/completion/event-phases.js +165 -13
- package/dist/completion/event-phases.js.map +1 -1
- package/dist/completion/event.d.ts +20 -1
- package/dist/completion/event.d.ts.map +1 -1
- package/dist/completion/event.js +7 -4
- package/dist/completion/event.js.map +1 -1
- package/dist/completion/exit-classification.d.ts +1 -1
- package/dist/completion/exit-classification.d.ts.map +1 -1
- package/dist/completion/merge-phase.d.ts +21 -7
- package/dist/completion/merge-phase.d.ts.map +1 -1
- package/dist/completion/merge-phase.js +14 -11
- package/dist/completion/merge-phase.js.map +1 -1
- package/dist/completion/progress-snapshot.d.ts +1 -1
- package/dist/completion/progress-snapshot.d.ts.map +1 -1
- package/dist/completion/read-only-pristine.d.ts +1 -1
- package/dist/completion/read-only-pristine.d.ts.map +1 -1
- package/dist/completion/read-only-pristine.js +2 -2
- package/dist/completion/read-only-pristine.js.map +1 -1
- package/dist/completion/review-defect-detector.d.ts +82 -0
- package/dist/completion/review-defect-detector.d.ts.map +1 -0
- package/dist/completion/review-defect-detector.js +148 -0
- package/dist/completion/review-defect-detector.js.map +1 -0
- package/dist/completion/review-exit-escalations.d.ts +1 -1
- package/dist/completion/review-exit-escalations.d.ts.map +1 -1
- package/dist/completion/review-exit-escalations.js +1 -1
- package/dist/completion/review-exit-escalations.js.map +1 -1
- package/dist/completion/review-exit-phase.d.ts +4 -3
- package/dist/completion/review-exit-phase.d.ts.map +1 -1
- package/dist/completion/review-exit-phase.js +10 -9
- package/dist/completion/review-exit-phase.js.map +1 -1
- package/dist/completion/review-exit-shortfall.d.ts +1 -1
- package/dist/completion/review-exit-shortfall.d.ts.map +1 -1
- package/dist/completion/review-exit-shortfall.js +1 -1
- package/dist/completion/review-exit-shortfall.js.map +1 -1
- package/dist/completion/review-spawn-coverage-guard.d.ts.map +1 -0
- package/dist/completion/review-spawn-coverage-guard.js.map +1 -0
- package/dist/completion/state-cascade.d.ts +90 -0
- package/dist/completion/state-cascade.d.ts.map +1 -0
- package/dist/completion/state-cascade.js +230 -0
- package/dist/completion/state-cascade.js.map +1 -0
- package/dist/completion/status-advance-phase.d.ts +4 -4
- package/dist/completion/status-advance-phase.d.ts.map +1 -1
- package/dist/completion/status-advance-phase.js +9 -7
- package/dist/completion/status-advance-phase.js.map +1 -1
- package/dist/completion/team-completion.d.ts +2 -2
- package/dist/completion/team-completion.d.ts.map +1 -1
- package/dist/completion/team-completion.js +15 -9
- package/dist/completion/team-completion.js.map +1 -1
- package/dist/completion/team-lifecycle.d.ts +1 -1
- package/dist/completion/team-lifecycle.d.ts.map +1 -1
- package/dist/completion/team-lifecycle.js +10 -11
- package/dist/completion/team-lifecycle.js.map +1 -1
- package/dist/completion/terminated-work-reconcile.d.ts +2 -2
- package/dist/completion/terminated-work-reconcile.d.ts.map +1 -1
- package/dist/completion/terminated-work-reconcile.js +5 -4
- package/dist/completion/terminated-work-reconcile.js.map +1 -1
- package/dist/context/context-audit.d.ts +68 -0
- package/dist/context/context-audit.d.ts.map +1 -0
- package/dist/context/context-audit.js.map +1 -0
- package/dist/context/context-lock.d.ts +129 -0
- package/dist/context/context-lock.d.ts.map +1 -0
- package/dist/context/context-lock.js.map +1 -0
- package/dist/delivery/delivery-advance-block.d.ts +143 -0
- package/dist/delivery/delivery-advance-block.d.ts.map +1 -0
- package/dist/delivery/delivery-advance-block.js +360 -0
- package/dist/delivery/delivery-advance-block.js.map +1 -0
- package/dist/delivery/delivery-artifacts.d.ts +26 -0
- package/dist/delivery/delivery-artifacts.d.ts.map +1 -0
- package/dist/delivery/delivery-artifacts.js +56 -0
- package/dist/delivery/delivery-artifacts.js.map +1 -0
- package/dist/delivery/delivery-close-actions.d.ts +39 -0
- package/dist/delivery/delivery-close-actions.d.ts.map +1 -0
- package/dist/delivery/delivery-close-actions.js +53 -0
- package/dist/delivery/delivery-close-actions.js.map +1 -0
- package/dist/delivery/delivery-lifecycle.d.ts +144 -0
- package/dist/delivery/delivery-lifecycle.d.ts.map +1 -0
- package/dist/delivery/delivery-lifecycle.js +498 -0
- package/dist/delivery/delivery-lifecycle.js.map +1 -0
- package/dist/delivery/delivery-reconciler-apply.d.ts.map +1 -0
- package/dist/delivery/delivery-reconciler-apply.js +77 -0
- package/dist/delivery/delivery-reconciler-apply.js.map +1 -0
- package/dist/delivery/delivery-reconciler-shadow.d.ts +66 -0
- package/dist/delivery/delivery-reconciler-shadow.d.ts.map +1 -0
- package/dist/delivery/delivery-reconciler-shadow.js +127 -0
- package/dist/delivery/delivery-reconciler-shadow.js.map +1 -0
- package/dist/delivery/delivery-reconciler.d.ts +217 -0
- package/dist/delivery/delivery-reconciler.d.ts.map +1 -0
- package/dist/delivery/delivery-reconciler.js +249 -0
- package/dist/delivery/delivery-reconciler.js.map +1 -0
- package/dist/delivery/external-hold.d.ts +145 -0
- package/dist/delivery/external-hold.d.ts.map +1 -0
- package/dist/delivery/external-hold.js +223 -0
- package/dist/delivery/external-hold.js.map +1 -0
- package/dist/delivery/operator-hold.d.ts +66 -0
- package/dist/delivery/operator-hold.d.ts.map +1 -0
- package/dist/delivery/operator-hold.js +99 -0
- package/dist/delivery/operator-hold.js.map +1 -0
- package/dist/directive/close-loop-dispatcher.d.ts +325 -0
- package/dist/directive/close-loop-dispatcher.d.ts.map +1 -0
- package/dist/directive/close-loop-dispatcher.js +362 -0
- package/dist/directive/close-loop-dispatcher.js.map +1 -0
- package/dist/directive/close-loop-stage.d.ts +2 -2
- package/dist/directive/close-loop-stage.d.ts.map +1 -1
- package/dist/directive/close-loop-stage.js +3 -3
- package/dist/directive/close-loop-stage.js.map +1 -1
- package/dist/directive/directive-assembly.d.ts +2 -3
- package/dist/directive/directive-assembly.d.ts.map +1 -1
- package/dist/directive/directive-assembly.js +5 -4
- package/dist/directive/directive-assembly.js.map +1 -1
- package/dist/directive/directive-dispatch.d.ts +2 -2
- package/dist/directive/directive-dispatch.d.ts.map +1 -1
- package/dist/directive/directive-dispatch.js +3 -3
- package/dist/directive/directive-dispatch.js.map +1 -1
- package/dist/directive/directive-executor.d.ts +37 -0
- package/dist/directive/directive-executor.d.ts.map +1 -0
- package/dist/directive/directive-executor.js +241 -0
- package/dist/directive/directive-executor.js.map +1 -0
- package/dist/directive/directive-queue.d.ts +2 -2
- package/dist/directive/directive-queue.d.ts.map +1 -1
- package/dist/directive/phase-sync.js +3 -3
- package/dist/directive/phase-sync.js.map +1 -1
- package/dist/directive/resolver-dispatch.d.ts.map +1 -0
- package/dist/directive/resolver-dispatch.js.map +1 -0
- package/dist/discovery-fetch.js +1 -1
- package/dist/discovery-fetch.js.map +1 -1
- package/dist/drift/drift-eval-loop.d.ts +71 -0
- package/dist/drift/drift-eval-loop.d.ts.map +1 -0
- package/dist/drift/drift-eval-loop.js +259 -0
- package/dist/drift/drift-eval-loop.js.map +1 -0
- package/dist/drift/drift-evaluator.d.ts.map +1 -0
- package/dist/drift/drift-evaluator.js.map +1 -0
- package/dist/drift/drift-ratify-policy.d.ts.map +1 -0
- package/dist/drift/drift-ratify-policy.js.map +1 -0
- package/dist/drift/retention-observation.d.ts.map +1 -0
- package/dist/drift/retention-observation.js.map +1 -0
- package/dist/drift/sensor-sweep.d.ts +194 -0
- package/dist/drift/sensor-sweep.d.ts.map +1 -0
- package/dist/drift/sensor-sweep.js +458 -0
- package/dist/drift/sensor-sweep.js.map +1 -0
- package/dist/drift/staleness-sensor.d.ts +176 -0
- package/dist/drift/staleness-sensor.d.ts.map +1 -0
- package/dist/drift/staleness-sensor.js +335 -0
- package/dist/drift/staleness-sensor.js.map +1 -0
- package/dist/drift/staleness.d.ts +134 -0
- package/dist/drift/staleness.d.ts.map +1 -0
- package/dist/drift/staleness.js +249 -0
- package/dist/drift/staleness.js.map +1 -0
- package/dist/focus/focus-branch-ahead.d.ts +42 -0
- package/dist/focus/focus-branch-ahead.d.ts.map +1 -0
- package/dist/focus/focus-branch-ahead.js +45 -0
- package/dist/focus/focus-branch-ahead.js.map +1 -0
- package/dist/focus/focus-branch-identity.d.ts +62 -0
- package/dist/focus/focus-branch-identity.d.ts.map +1 -0
- package/dist/focus/focus-branch-identity.js +59 -0
- package/dist/focus/focus-branch-identity.js.map +1 -0
- package/dist/focus/focus-engine.d.ts +74 -0
- package/dist/focus/focus-engine.d.ts.map +1 -0
- package/dist/focus/focus-engine.js +528 -0
- package/dist/focus/focus-engine.js.map +1 -0
- package/dist/focus/focus-executor.d.ts +79 -0
- package/dist/focus/focus-executor.d.ts.map +1 -0
- package/dist/focus/focus-executor.js +421 -0
- package/dist/focus/focus-executor.js.map +1 -0
- package/dist/focus/focus-lifecycle.d.ts +60 -0
- package/dist/focus/focus-lifecycle.d.ts.map +1 -0
- package/dist/focus/focus-lifecycle.js +543 -0
- package/dist/focus/focus-lifecycle.js.map +1 -0
- package/dist/focus/focus-loop-registry.d.ts +52 -0
- package/dist/focus/focus-loop-registry.d.ts.map +1 -0
- package/dist/focus/focus-loop-registry.js +362 -0
- package/dist/focus/focus-loop-registry.js.map +1 -0
- package/dist/focus/focus-loop.d.ts +96 -0
- package/dist/focus/focus-loop.d.ts.map +1 -0
- package/dist/focus/focus-loop.js +364 -0
- package/dist/focus/focus-loop.js.map +1 -0
- package/dist/focus/focus-phase.d.ts.map +1 -0
- package/dist/focus/focus-phase.js.map +1 -0
- package/dist/focus/focus-respawn-guard.d.ts +39 -0
- package/dist/focus/focus-respawn-guard.d.ts.map +1 -0
- package/dist/focus/focus-respawn-guard.js +62 -0
- package/dist/focus/focus-respawn-guard.js.map +1 -0
- package/dist/focus/focus-team-state.d.ts +115 -0
- package/dist/focus/focus-team-state.d.ts.map +1 -0
- package/dist/focus/focus-team-state.js +195 -0
- package/dist/focus/focus-team-state.js.map +1 -0
- package/dist/focus/focus-worktree-state.d.ts +70 -0
- package/dist/focus/focus-worktree-state.d.ts.map +1 -0
- package/dist/focus/focus-worktree-state.js +118 -0
- package/dist/focus/focus-worktree-state.js.map +1 -0
- package/dist/focus/listener-auto-advance.d.ts +126 -0
- package/dist/focus/listener-auto-advance.d.ts.map +1 -0
- package/dist/focus/listener-auto-advance.js +629 -0
- package/dist/focus/listener-auto-advance.js.map +1 -0
- package/dist/focus/listener.d.ts +101 -0
- package/dist/focus/listener.d.ts.map +1 -0
- package/dist/focus/listener.js +770 -0
- package/dist/focus/listener.js.map +1 -0
- package/dist/focus-stage-lifecycle/index.d.ts +63 -0
- package/dist/focus-stage-lifecycle/index.d.ts.map +1 -0
- package/dist/focus-stage-lifecycle/index.js +179 -0
- package/dist/focus-stage-lifecycle/index.js.map +1 -0
- package/dist/focus-stage-lifecycle/planning-release.js +4 -4
- package/dist/focus-stage-lifecycle/planning-release.js.map +1 -1
- package/dist/focus-stage-lifecycle/review-convergence.d.ts +1 -1
- package/dist/focus-stage-lifecycle/review-convergence.d.ts.map +1 -1
- package/dist/focus-stage-lifecycle/review-convergence.js +2 -2
- package/dist/focus-stage-lifecycle/review-convergence.js.map +1 -1
- package/dist/focus-stage-lifecycle/wedge-watchdog.d.ts +1 -1
- package/dist/focus-stage-lifecycle/wedge-watchdog.d.ts.map +1 -1
- package/dist/focus-stage-lifecycle/wedge-watchdog.js +3 -3
- package/dist/focus-stage-lifecycle/wedge-watchdog.js.map +1 -1
- package/dist/git/branch.d.ts +1 -1
- package/dist/git/branch.d.ts.map +1 -1
- package/dist/git/branch.js +1 -1
- package/dist/git/branch.js.map +1 -1
- package/dist/git/exec.d.ts +24 -0
- package/dist/git/exec.d.ts.map +1 -0
- package/dist/git/exec.js +114 -0
- package/dist/git/exec.js.map +1 -0
- package/dist/git/genesis.js +1 -1
- package/dist/git/genesis.js.map +1 -1
- package/dist/git/index.d.ts +3 -8
- package/dist/git/index.d.ts.map +1 -1
- package/dist/git/index.js +3 -8
- package/dist/git/index.js.map +1 -1
- package/dist/git/integration.d.ts +1 -1
- package/dist/git/integration.d.ts.map +1 -1
- package/dist/git/integration.js +1 -1
- package/dist/git/integration.js.map +1 -1
- package/dist/git/merge-lock.js +1 -1
- package/dist/git/merge-lock.js.map +1 -1
- package/dist/git/merge.d.ts +33 -2
- package/dist/git/merge.d.ts.map +1 -1
- package/dist/git/merge.js +159 -18
- package/dist/git/merge.js.map +1 -1
- package/dist/git/state-detector.d.ts +1 -1
- package/dist/git/state-detector.d.ts.map +1 -1
- package/dist/git/state-detector.js +1 -1
- package/dist/git/state-detector.js.map +1 -1
- package/dist/git/types.d.ts +1 -1
- package/dist/git/types.d.ts.map +1 -1
- package/dist/git/utils.js +1 -1
- package/dist/git/utils.js.map +1 -1
- package/dist/guard/condition-evaluators.d.ts +70 -0
- package/dist/guard/condition-evaluators.d.ts.map +1 -0
- package/dist/guard/condition-evaluators.js +203 -0
- package/dist/guard/condition-evaluators.js.map +1 -0
- package/dist/guard/evaluation-context.d.ts.map +1 -0
- package/dist/guard/evaluation-context.js +44 -0
- package/dist/guard/evaluation-context.js.map +1 -0
- package/dist/guard/guard-evaluator.d.ts +47 -0
- package/dist/guard/guard-evaluator.d.ts.map +1 -0
- package/dist/guard/guard-evaluator.js +195 -0
- package/dist/guard/guard-evaluator.js.map +1 -0
- package/dist/guard/trigger-executor.d.ts +99 -0
- package/dist/guard/trigger-executor.d.ts.map +1 -0
- package/dist/guard/trigger-executor.js +437 -0
- package/dist/guard/trigger-executor.js.map +1 -0
- package/dist/host-control/catalog.js +1 -1
- package/dist/host-control/catalog.js.map +1 -1
- package/dist/host-control/client.js +1 -1
- package/dist/host-control/client.js.map +1 -1
- package/dist/host-control/discovery-poll.d.ts +36 -0
- package/dist/host-control/discovery-poll.d.ts.map +1 -0
- package/dist/host-control/discovery-poll.js +94 -0
- package/dist/host-control/discovery-poll.js.map +1 -0
- package/dist/host-control/sizing.js +1 -1
- package/dist/host-control/sizing.js.map +1 -1
- package/dist/index.js +12 -12
- package/dist/index.js.map +1 -1
- package/dist/loops/context-audit-pass.d.ts +2 -2
- package/dist/loops/context-audit-pass.d.ts.map +1 -1
- package/dist/loops/context-audit-pass.js +3 -3
- package/dist/loops/context-audit-pass.js.map +1 -1
- package/dist/loops/engine.js +2 -2
- package/dist/loops/engine.js.map +1 -1
- package/dist/loops/llm-client.d.ts +8 -1
- package/dist/loops/llm-client.d.ts.map +1 -1
- package/dist/loops/llm-client.js +5 -4
- package/dist/loops/llm-client.js.map +1 -1
- package/dist/loops/prompt-builder.js +1 -1
- package/dist/loops/prompt-builder.js.map +1 -1
- package/dist/merge/focus-merge.d.ts +131 -0
- package/dist/merge/focus-merge.d.ts.map +1 -0
- package/dist/merge/focus-merge.js +556 -0
- package/dist/merge/focus-merge.js.map +1 -0
- package/dist/merge/merge-back-loop.d.ts +122 -0
- package/dist/merge/merge-back-loop.d.ts.map +1 -0
- package/dist/merge/merge-back-loop.js +657 -0
- package/dist/merge/merge-back-loop.js.map +1 -0
- package/dist/merge/merge-detector.d.ts +55 -0
- package/dist/merge/merge-detector.d.ts.map +1 -0
- package/dist/merge/merge-detector.js +222 -0
- package/dist/merge/merge-detector.js.map +1 -0
- package/dist/merge/merge-failure-classify.d.ts +48 -0
- package/dist/merge/merge-failure-classify.d.ts.map +1 -0
- package/dist/merge/merge-failure-classify.js +89 -0
- package/dist/merge/merge-failure-classify.js.map +1 -0
- package/dist/nexus/endpoint-clearance.d.ts +12 -3
- package/dist/nexus/endpoint-clearance.d.ts.map +1 -1
- package/dist/nexus/endpoint-clearance.js +17 -8
- package/dist/nexus/endpoint-clearance.js.map +1 -1
- package/dist/nexus/escalation-bridge.js +1 -1
- package/dist/nexus/escalation-bridge.js.map +1 -1
- package/dist/nexus/incoming.d.ts +1 -1
- package/dist/nexus/incoming.d.ts.map +1 -1
- package/dist/nexus/incoming.js +1 -1
- package/dist/nexus/incoming.js.map +1 -1
- package/dist/nexus/intake-spawn.d.ts +1 -1
- package/dist/nexus/intake-spawn.d.ts.map +1 -1
- package/dist/nexus/intake-spawn.js +1 -1
- package/dist/nexus/intake-spawn.js.map +1 -1
- package/dist/nexus/intake.d.ts +1 -1
- package/dist/nexus/intake.d.ts.map +1 -1
- package/dist/nexus/intake.js +1 -1
- package/dist/nexus/intake.js.map +1 -1
- package/dist/nexus/return.d.ts +1 -1
- package/dist/nexus/return.d.ts.map +1 -1
- package/dist/nexus/return.js +2 -2
- package/dist/nexus/return.js.map +1 -1
- package/dist/otlp/log-parser.js +1 -1
- package/dist/otlp/log-parser.js.map +1 -1
- package/dist/otlp/metric-parser.js +1 -1
- package/dist/otlp/metric-parser.js.map +1 -1
- package/dist/otlp/receiver.d.ts +1 -1
- package/dist/otlp/receiver.d.ts.map +1 -1
- package/dist/otlp/receiver.js +2 -2
- package/dist/otlp/receiver.js.map +1 -1
- package/dist/otlp/telemetry-writer.d.ts +90 -0
- package/dist/otlp/telemetry-writer.d.ts.map +1 -0
- package/dist/otlp/telemetry-writer.js +213 -0
- package/dist/otlp/telemetry-writer.js.map +1 -0
- package/dist/prd/controller.d.ts +2 -2
- package/dist/prd/controller.d.ts.map +1 -1
- package/dist/prd/controller.js +3 -3
- package/dist/prd/controller.js.map +1 -1
- package/dist/prd/focus-pushdown.d.ts +1 -1
- package/dist/prd/focus-pushdown.d.ts.map +1 -1
- package/dist/prd/focus-pushdown.js +2 -2
- package/dist/prd/focus-pushdown.js.map +1 -1
- package/dist/prd/steward.d.ts +1 -1
- package/dist/prd/steward.d.ts.map +1 -1
- package/dist/prd/steward.js +3 -2
- package/dist/prd/steward.js.map +1 -1
- package/dist/prompt/focus-prompt-builder.d.ts +33 -0
- package/dist/prompt/focus-prompt-builder.d.ts.map +1 -0
- package/dist/prompt/focus-prompt-builder.js +118 -0
- package/dist/prompt/focus-prompt-builder.js.map +1 -0
- package/dist/prompt/onboarding-directive.d.ts.map +1 -0
- package/dist/prompt/onboarding-directive.js.map +1 -0
- package/dist/prompt/prompt-contradictions.d.ts.map +1 -0
- package/dist/prompt/prompt-contradictions.js.map +1 -0
- package/dist/prompt/prompt-listing.d.ts +70 -0
- package/dist/prompt/prompt-listing.d.ts.map +1 -0
- package/dist/prompt/prompt-listing.js.map +1 -0
- package/dist/prompt/team-prompt-base.d.ts +43 -0
- package/dist/prompt/team-prompt-base.d.ts.map +1 -0
- package/dist/prompt/team-prompt-base.js +123 -0
- package/dist/prompt/team-prompt-base.js.map +1 -0
- package/dist/prompt-sections/context-sections.d.ts +1 -1
- package/dist/prompt-sections/context-sections.d.ts.map +1 -1
- package/dist/prompt-sections/execution-sections.d.ts +1 -1
- package/dist/prompt-sections/execution-sections.d.ts.map +1 -1
- package/dist/prompt-sections/execution-sections.js +2 -2
- package/dist/prompt-sections/execution-sections.js.map +1 -1
- package/dist/prompt-sections/persona-sections.d.ts +2 -2
- package/dist/prompt-sections/persona-sections.d.ts.map +1 -1
- package/dist/prompt-sections/persona-sections.js +1 -1
- package/dist/prompt-sections/role-sections.d.ts +1 -1
- package/dist/prompt-sections/role-sections.d.ts.map +1 -1
- package/dist/prompt-sections/shared.d.ts +1 -1
- package/dist/prompt-sections/shared.d.ts.map +1 -1
- package/dist/queries/agent-resolvable-promotion.d.ts +2 -2
- package/dist/queries/agent-resolvable-promotion.d.ts.map +1 -1
- package/dist/queries/agent-resolvable-promotion.js +5 -5
- package/dist/queries/agent-resolvable-promotion.js.map +1 -1
- package/dist/queries/context-assembly.d.ts +1 -1
- package/dist/queries/context-assembly.d.ts.map +1 -1
- package/dist/queries/context-assembly.js +1 -1
- package/dist/queries/context-assembly.js.map +1 -1
- package/dist/queries/context-lock-queries.d.ts +2 -2
- package/dist/queries/context-lock-queries.d.ts.map +1 -1
- package/dist/queries/deliveries.d.ts +24 -6
- package/dist/queries/deliveries.d.ts.map +1 -1
- package/dist/queries/deliveries.js +34 -39
- package/dist/queries/deliveries.js.map +1 -1
- package/dist/queries/drift.d.ts +1 -1
- package/dist/queries/drift.d.ts.map +1 -1
- package/dist/queries/escalation-suppression.js +1 -1
- package/dist/queries/escalation-suppression.js.map +1 -1
- package/dist/queries/focuses.d.ts +1 -1
- package/dist/queries/focuses.d.ts.map +1 -1
- package/dist/queries/focuses.js +1 -1
- package/dist/queries/focuses.js.map +1 -1
- package/dist/queries/guards.d.ts +1 -1
- package/dist/queries/guards.d.ts.map +1 -1
- package/dist/queries/guards.js +1 -1
- package/dist/queries/guards.js.map +1 -1
- package/dist/queries/holds.d.ts +3 -2
- package/dist/queries/holds.d.ts.map +1 -1
- package/dist/queries/holds.js +7 -6
- package/dist/queries/holds.js.map +1 -1
- package/dist/queries/issues.d.ts +20 -8
- package/dist/queries/issues.d.ts.map +1 -1
- package/dist/queries/issues.js +26 -29
- package/dist/queries/issues.js.map +1 -1
- package/dist/queries/prd.d.ts +2 -1
- package/dist/queries/prd.d.ts.map +1 -1
- package/dist/queries/prd.js +3 -2
- package/dist/queries/prd.js.map +1 -1
- package/dist/queries/reality-tree.js +1 -1
- package/dist/queries/reality-tree.js.map +1 -1
- package/dist/queries/roles.d.ts +1 -1
- package/dist/queries/roles.d.ts.map +1 -1
- package/dist/queries/schemas.d.ts +51 -28
- package/dist/queries/schemas.d.ts.map +1 -1
- package/dist/queries/schemas.js +48 -28
- package/dist/queries/schemas.js.map +1 -1
- package/dist/queries/sessions.d.ts +1 -1
- package/dist/queries/sessions.d.ts.map +1 -1
- package/dist/queries/shared.d.ts +12 -1
- package/dist/queries/shared.d.ts.map +1 -1
- package/dist/queries/shared.js.map +1 -1
- package/dist/queries/system-session.d.ts +14 -3
- package/dist/queries/system-session.d.ts.map +1 -1
- package/dist/queries/system-session.js +9 -11
- package/dist/queries/system-session.js.map +1 -1
- package/dist/queries/verification.d.ts +6 -5
- package/dist/queries/verification.d.ts.map +1 -1
- package/dist/queries/verification.js +17 -14
- package/dist/queries/verification.js.map +1 -1
- package/dist/queries/workflows.d.ts +1 -1
- package/dist/queries/workflows.d.ts.map +1 -1
- package/dist/queries/worktrees.d.ts +10 -10
- package/dist/queries/worktrees.d.ts.map +1 -1
- package/dist/queries/worktrees.js.map +1 -1
- package/dist/reality/realign-apply.d.ts +65 -0
- package/dist/reality/realign-apply.d.ts.map +1 -0
- package/dist/reality/realign-apply.js +302 -0
- package/dist/reality/realign-apply.js.map +1 -0
- package/dist/reality/reality-pole-capture.d.ts.map +1 -0
- package/dist/reality/reality-pole-capture.js +114 -0
- package/dist/reality/reality-pole-capture.js.map +1 -0
- package/dist/reality/reality-pole.d.ts +64 -0
- package/dist/reality/reality-pole.d.ts.map +1 -0
- package/dist/reality/reality-pole.js +101 -0
- package/dist/reality/reality-pole.js.map +1 -0
- package/dist/reality/reality-writeback.d.ts.map +1 -0
- package/dist/reality/reality-writeback.js.map +1 -0
- package/dist/resolvers/agent-escalations.js +2 -2
- package/dist/resolvers/agent-escalations.js.map +1 -1
- package/dist/resolvers/agent-session-summaries.js +2 -2
- package/dist/resolvers/agent-session-summaries.js.map +1 -1
- package/dist/resolvers/assembly-engine.d.ts +114 -0
- package/dist/resolvers/assembly-engine.d.ts.map +1 -0
- package/dist/resolvers/assembly-engine.js +137 -0
- package/dist/resolvers/assembly-engine.js.map +1 -0
- package/dist/resolvers/delivery-acceptance-criteria.js +1 -1
- package/dist/resolvers/delivery-acceptance-criteria.js.map +1 -1
- package/dist/resolvers/delivery-description.js +1 -1
- package/dist/resolvers/delivery-description.js.map +1 -1
- package/dist/resolvers/delivery-issues.js +1 -1
- package/dist/resolvers/delivery-issues.js.map +1 -1
- package/dist/resolvers/delivery-listing.js +2 -2
- package/dist/resolvers/delivery-listing.js.map +1 -1
- package/dist/resolvers/delivery-tech-context.js +1 -1
- package/dist/resolvers/delivery-tech-context.js.map +1 -1
- package/dist/resolvers/deployment-profile.js +2 -2
- package/dist/resolvers/deployment-profile.js.map +1 -1
- package/dist/resolvers/drift-shortfall-proposals.js +3 -3
- package/dist/resolvers/drift-shortfall-proposals.js.map +1 -1
- package/dist/resolvers/escalation-answers.js +2 -2
- package/dist/resolvers/escalation-answers.js.map +1 -1
- package/dist/resolvers/focus-anchoring-injections.js +2 -2
- package/dist/resolvers/focus-anchoring-injections.js.map +1 -1
- package/dist/resolvers/focus-context.js +1 -1
- package/dist/resolvers/focus-context.js.map +1 -1
- package/dist/resolvers/focus-endpoint-catalog.js +1 -1
- package/dist/resolvers/focus-endpoint-catalog.js.map +1 -1
- package/dist/resolvers/focus-injections.js +2 -2
- package/dist/resolvers/focus-injections.js.map +1 -1
- package/dist/resolvers/focus-last-review-report.js +2 -2
- package/dist/resolvers/focus-last-review-report.js.map +1 -1
- package/dist/resolvers/focus-reality-tree.js +2 -2
- package/dist/resolvers/focus-reality-tree.js.map +1 -1
- package/dist/resolvers/git-diff-against-base.js +2 -2
- package/dist/resolvers/git-diff-against-base.js.map +1 -1
- package/dist/resolvers/guards-evaluation-results.js +2 -2
- package/dist/resolvers/guards-evaluation-results.js.map +1 -1
- package/dist/resolvers/index.d.ts +6 -5
- package/dist/resolvers/index.d.ts.map +1 -1
- package/dist/resolvers/index.js +7 -6
- package/dist/resolvers/index.js.map +1 -1
- package/dist/resolvers/loop-context.js +2 -2
- package/dist/resolvers/loop-context.js.map +1 -1
- package/dist/resolvers/loop-delivery-index.js +2 -2
- package/dist/resolvers/loop-delivery-index.js.map +1 -1
- package/dist/resolvers/loop-documents.js +2 -2
- package/dist/resolvers/loop-documents.js.map +1 -1
- package/dist/resolvers/loop-expected-effects.js +2 -2
- package/dist/resolvers/loop-expected-effects.js.map +1 -1
- package/dist/resolvers/loop-frt-statement.js +2 -2
- package/dist/resolvers/loop-frt-statement.js.map +1 -1
- package/dist/resolvers/loop-injection.js +2 -2
- package/dist/resolvers/loop-injection.js.map +1 -1
- package/dist/resolvers/loop-persona.js +3 -3
- package/dist/resolvers/loop-persona.js.map +1 -1
- package/dist/resolvers/loop-questions.js +2 -2
- package/dist/resolvers/loop-questions.js.map +1 -1
- package/dist/resolvers/loop-upstream-udes.js +2 -2
- package/dist/resolvers/loop-upstream-udes.js.map +1 -1
- package/dist/resolvers/prd-context.js +2 -2
- package/dist/resolvers/prd-context.js.map +1 -1
- package/dist/resolvers/prd-persona.js +1 -1
- package/dist/resolvers/prd-persona.js.map +1 -1
- package/dist/resolvers/reality-metrics.js +2 -2
- package/dist/resolvers/reality-metrics.js.map +1 -1
- package/dist/resolvers/reality-projections.js +2 -2
- package/dist/resolvers/reality-projections.js.map +1 -1
- package/dist/resolvers/reality-tree-snapshot.js +2 -2
- package/dist/resolvers/reality-tree-snapshot.js.map +1 -1
- package/dist/resolvers/retired-injections.js +2 -2
- package/dist/resolvers/retired-injections.js.map +1 -1
- package/dist/resolvers/review-outcomes.js +2 -2
- package/dist/resolvers/review-outcomes.js.map +1 -1
- package/dist/resolvers/security-advisory.js +2 -2
- package/dist/resolvers/security-advisory.js.map +1 -1
- package/dist/resolvers/shared/loop.d.ts +1 -1
- package/dist/resolvers/shared/loop.d.ts.map +1 -1
- package/dist/resolvers/shared/wiki.d.ts +2 -1
- package/dist/resolvers/shared/wiki.d.ts.map +1 -1
- package/dist/resolvers/shared/wiki.js +4 -3
- package/dist/resolvers/shared/wiki.js.map +1 -1
- package/dist/resolvers/wiki-search.js +1 -1
- package/dist/resolvers/wiki-search.js.map +1 -1
- package/dist/resolvers/wiki-topic.js +2 -2
- package/dist/resolvers/wiki-topic.js.map +1 -1
- package/dist/resolvers/workflow-stages.js +2 -2
- package/dist/resolvers/workflow-stages.js.map +1 -1
- package/dist/scanners/deps.d.ts +1 -1
- package/dist/scanners/deps.d.ts.map +1 -1
- package/dist/scanners/signatures.d.ts +1 -1
- package/dist/scanners/signatures.d.ts.map +1 -1
- package/dist/scanners/workflow.d.ts +1 -1
- package/dist/scanners/workflow.d.ts.map +1 -1
- package/dist/security/security-auto-inject.d.ts.map +1 -0
- package/dist/security/security-auto-inject.js +168 -0
- package/dist/security/security-auto-inject.js.map +1 -0
- package/dist/security/security-finding-gate.d.ts.map +1 -0
- package/dist/security/security-finding-gate.js +84 -0
- package/dist/security/security-finding-gate.js.map +1 -0
- package/dist/security/security-rescan-resolution.d.ts.map +1 -0
- package/dist/security/security-rescan-resolution.js +117 -0
- package/dist/security/security-rescan-resolution.js.map +1 -0
- package/dist/security/security-scan-engine.d.ts +145 -0
- package/dist/security/security-scan-engine.d.ts.map +1 -0
- package/dist/security/security-scan-engine.js +271 -0
- package/dist/security/security-scan-engine.js.map +1 -0
- package/dist/session/session-lineage.d.ts.map +1 -0
- package/dist/session/session-lineage.js.map +1 -0
- package/dist/session/session-stamp.d.ts +63 -0
- package/dist/session/session-stamp.d.ts.map +1 -0
- package/dist/session/session-stamp.js +67 -0
- package/dist/session/session-stamp.js.map +1 -0
- package/dist/shell/activity-tracker.d.ts.map +1 -0
- package/dist/shell/activity-tracker.js +19 -0
- package/dist/shell/activity-tracker.js.map +1 -0
- package/dist/shell/agent-state.d.ts.map +1 -0
- package/dist/shell/agent-state.js.map +1 -0
- package/dist/shell/auth-liveness.d.ts.map +1 -0
- package/dist/shell/auth-liveness.js.map +1 -0
- package/dist/shell/branch-status.d.ts +97 -0
- package/dist/shell/branch-status.d.ts.map +1 -0
- package/dist/shell/branch-status.js +299 -0
- package/dist/shell/branch-status.js.map +1 -0
- package/dist/shell/circuit-wedge-watcher.d.ts +48 -0
- package/dist/shell/circuit-wedge-watcher.d.ts.map +1 -0
- package/dist/shell/circuit-wedge-watcher.js +94 -0
- package/dist/shell/circuit-wedge-watcher.js.map +1 -0
- package/dist/shell/config-hot-reload.d.ts +91 -0
- package/dist/shell/config-hot-reload.d.ts.map +1 -0
- package/dist/shell/config-hot-reload.js.map +1 -0
- package/dist/shell/config-reconcile.d.ts +114 -0
- package/dist/shell/config-reconcile.d.ts.map +1 -0
- package/dist/shell/config-reconcile.js +189 -0
- package/dist/shell/config-reconcile.js.map +1 -0
- package/dist/shell/config.d.ts +102 -0
- package/dist/shell/config.d.ts.map +1 -0
- package/dist/shell/config.js +486 -0
- package/dist/shell/config.js.map +1 -0
- package/dist/shell/constants.d.ts.map +1 -0
- package/dist/shell/constants.js.map +1 -0
- package/dist/shell/control-state.d.ts +109 -0
- package/dist/shell/control-state.d.ts.map +1 -0
- package/dist/shell/control-state.js +337 -0
- package/dist/shell/control-state.js.map +1 -0
- package/dist/shell/crash-recovery.d.ts +141 -0
- package/dist/shell/crash-recovery.d.ts.map +1 -0
- package/dist/shell/crash-recovery.js +631 -0
- package/dist/shell/crash-recovery.js.map +1 -0
- package/dist/shell/daemon-logs.d.ts.map +1 -0
- package/dist/shell/daemon-logs.js.map +1 -0
- package/dist/shell/daemon-process.d.ts.map +1 -0
- package/dist/shell/daemon-process.js +463 -0
- package/dist/shell/daemon-process.js.map +1 -0
- package/dist/shell/daemon-readiness.d.ts.map +1 -0
- package/dist/shell/daemon-readiness.js.map +1 -0
- package/dist/shell/drain-teardown.d.ts.map +1 -0
- package/dist/shell/drain-teardown.js.map +1 -0
- package/dist/shell/gitignore-convergence.d.ts.map +1 -0
- package/dist/shell/gitignore-convergence.js.map +1 -0
- package/dist/shell/health-events.d.ts.map +1 -0
- package/dist/shell/health-events.js.map +1 -0
- package/dist/shell/heartbeat.d.ts +165 -0
- package/dist/shell/heartbeat.d.ts.map +1 -0
- package/dist/shell/heartbeat.js +502 -0
- package/dist/shell/heartbeat.js.map +1 -0
- package/dist/shell/install-probe-tick.d.ts +63 -0
- package/dist/shell/install-probe-tick.d.ts.map +1 -0
- package/dist/shell/install-probe-tick.js +139 -0
- package/dist/shell/install-probe-tick.js.map +1 -0
- package/dist/shell/install-probe.d.ts.map +1 -0
- package/dist/shell/install-probe.js.map +1 -0
- package/dist/shell/intake-control.d.ts.map +1 -0
- package/dist/shell/intake-control.js.map +1 -0
- package/dist/shell/log-manager.d.ts +18 -0
- package/dist/shell/log-manager.d.ts.map +1 -0
- package/dist/shell/log-manager.js.map +1 -0
- package/dist/shell/log.d.ts.map +1 -0
- package/dist/shell/log.js.map +1 -0
- package/dist/shell/mcp-resolution.d.ts.map +1 -0
- package/dist/shell/mcp-resolution.js.map +1 -0
- package/dist/shell/model-resolution.d.ts.map +1 -0
- package/dist/shell/model-resolution.js.map +1 -0
- package/dist/shell/non-interactive-init.d.ts +40 -0
- package/dist/shell/non-interactive-init.d.ts.map +1 -0
- package/dist/shell/non-interactive-init.js.map +1 -0
- package/dist/shell/product-scaffold.d.ts +56 -0
- package/dist/shell/product-scaffold.d.ts.map +1 -0
- package/dist/shell/product-scaffold.js +136 -0
- package/dist/shell/product-scaffold.js.map +1 -0
- package/dist/shell/schema-version-gate.d.ts.map +1 -0
- package/dist/shell/schema-version-gate.js +220 -0
- package/dist/shell/schema-version-gate.js.map +1 -0
- package/dist/shell/shutdown-state.d.ts.map +1 -0
- package/dist/shell/shutdown-state.js.map +1 -0
- package/dist/shell/stop-request.d.ts.map +1 -0
- package/dist/shell/stop-request.js.map +1 -0
- package/dist/shell/unified-engine-lifecycle.d.ts +186 -0
- package/dist/shell/unified-engine-lifecycle.d.ts.map +1 -0
- package/dist/shell/unified-engine-lifecycle.js +594 -0
- package/dist/shell/unified-engine-lifecycle.js.map +1 -0
- package/dist/shell/unified-init.d.ts +86 -0
- package/dist/shell/unified-init.d.ts.map +1 -0
- package/dist/shell/unified-init.js +313 -0
- package/dist/shell/unified-init.js.map +1 -0
- package/dist/shell/unified-shell-config.d.ts +103 -0
- package/dist/shell/unified-shell-config.d.ts.map +1 -0
- package/dist/shell/unified-shell-config.js.map +1 -0
- package/dist/shell/unified-shell-provisioning.d.ts.map +1 -0
- package/dist/shell/unified-shell-provisioning.js +277 -0
- package/dist/shell/unified-shell-provisioning.js.map +1 -0
- package/dist/shell/unified-shell-status.d.ts.map +1 -0
- package/dist/shell/unified-shell-status.js +143 -0
- package/dist/shell/unified-shell-status.js.map +1 -0
- package/dist/shell/unified-shell.d.ts.map +1 -0
- package/dist/shell/unified-shell.js +583 -0
- package/dist/shell/unified-shell.js.map +1 -0
- package/dist/shell/worker-pidfile.d.ts.map +1 -0
- package/dist/shell/worker-pidfile.js.map +1 -0
- package/dist/spawn/dag-validator.d.ts +52 -0
- package/dist/spawn/dag-validator.d.ts.map +1 -0
- package/dist/spawn/dag-validator.js.map +1 -0
- package/dist/spawn/delivered-manifest.d.ts +1 -1
- package/dist/spawn/delivered-manifest.d.ts.map +1 -1
- package/dist/spawn/dependency-resolver.d.ts +77 -0
- package/dist/spawn/dependency-resolver.d.ts.map +1 -0
- package/dist/spawn/dependency-resolver.js.map +1 -0
- package/dist/spawn/guards.d.ts.map +1 -0
- package/dist/spawn/guards.js +46 -0
- package/dist/spawn/guards.js.map +1 -0
- package/dist/spawn/helpers.d.ts +86 -0
- package/dist/spawn/helpers.d.ts.map +1 -0
- package/dist/spawn/helpers.js +220 -0
- package/dist/spawn/helpers.js.map +1 -0
- package/dist/spawn/index.d.ts +29 -0
- package/dist/spawn/index.d.ts.map +1 -0
- package/dist/spawn/index.js +37 -0
- package/dist/spawn/index.js.map +1 -0
- package/dist/spawn/lifecycle.d.ts +148 -0
- package/dist/spawn/lifecycle.d.ts.map +1 -0
- package/dist/spawn/lifecycle.js +413 -0
- package/dist/spawn/lifecycle.js.map +1 -0
- package/dist/spawn/liveness.d.ts.map +1 -0
- package/dist/spawn/liveness.js +41 -0
- package/dist/spawn/liveness.js.map +1 -0
- package/dist/spawn/model-routing.d.ts +2 -2
- package/dist/spawn/model-routing.d.ts.map +1 -1
- package/dist/spawn/model-routing.js +4 -4
- package/dist/spawn/model-routing.js.map +1 -1
- package/dist/spawn/process-spawn.d.ts +7 -7
- package/dist/spawn/process-spawn.d.ts.map +1 -1
- package/dist/spawn/process-spawn.js +9 -9
- package/dist/spawn/process-spawn.js.map +1 -1
- package/dist/spawn/prompt-assembly.d.ts +6 -6
- package/dist/spawn/prompt-assembly.d.ts.map +1 -1
- package/dist/spawn/prompt-assembly.js +6 -6
- package/dist/spawn/prompt-assembly.js.map +1 -1
- package/dist/spawn/shared.d.ts +3 -3
- package/dist/spawn/shared.d.ts.map +1 -1
- package/dist/spawn/shared.js +1 -1
- package/dist/spawn/spawn-cooldown.d.ts.map +1 -0
- package/dist/spawn/spawn-cooldown.js +53 -0
- package/dist/spawn/spawn-cooldown.js.map +1 -0
- package/dist/spawn/spawn-decision.d.ts +6 -6
- package/dist/spawn/spawn-decision.d.ts.map +1 -1
- package/dist/spawn/spawn-decision.js +8 -8
- package/dist/spawn/spawn-decision.js.map +1 -1
- package/dist/spawn/spawn-environment.d.ts +126 -0
- package/dist/spawn/spawn-environment.d.ts.map +1 -0
- package/dist/spawn/spawn-environment.js +177 -0
- package/dist/spawn/spawn-environment.js.map +1 -0
- package/dist/spawn/spawn-sandbox.d.ts +121 -0
- package/dist/spawn/spawn-sandbox.d.ts.map +1 -0
- package/dist/spawn/spawn-sandbox.js.map +1 -0
- package/dist/spawn/state.d.ts.map +1 -0
- package/dist/spawn/state.js.map +1 -0
- package/dist/spawn/task-converter.d.ts +61 -0
- package/dist/spawn/task-converter.d.ts.map +1 -0
- package/dist/spawn/task-converter.js.map +1 -0
- package/dist/spawn/worker-registry.d.ts.map +1 -0
- package/dist/spawn/worker-registry.js.map +1 -0
- package/dist/spawn/worktree-session.d.ts +5 -5
- package/dist/spawn/worktree-session.d.ts.map +1 -1
- package/dist/spawn/worktree-session.js +12 -12
- package/dist/spawn/worktree-session.js.map +1 -1
- package/dist/types/focus.d.ts +79 -51
- package/dist/types/focus.d.ts.map +1 -1
- package/dist/update/auto-update-idle.d.ts.map +1 -0
- package/dist/update/auto-update-idle.js.map +1 -0
- package/dist/update/auto-update.d.ts.map +1 -0
- package/dist/update/auto-update.js +317 -0
- package/dist/update/auto-update.js.map +1 -0
- package/dist/update/build-info.d.ts.map +1 -0
- package/dist/update/build-info.js.map +1 -0
- package/dist/update/capability-pointer.d.ts.map +1 -0
- package/dist/update/capability-pointer.js.map +1 -0
- package/dist/update/self-update.d.ts.map +1 -0
- package/dist/update/self-update.js +565 -0
- package/dist/update/self-update.js.map +1 -0
- package/dist/update/version-check.d.ts.map +1 -0
- package/dist/update/version-check.js +115 -0
- package/dist/update/version-check.js.map +1 -0
- package/dist/verify/ai-inspection-context.d.ts +63 -0
- package/dist/verify/ai-inspection-context.d.ts.map +1 -0
- package/dist/verify/ai-inspection-context.js +203 -0
- package/dist/verify/ai-inspection-context.js.map +1 -0
- package/dist/verify/ai-inspection-runner.d.ts.map +1 -0
- package/dist/verify/ai-inspection-runner.js +256 -0
- package/dist/verify/ai-inspection-runner.js.map +1 -0
- package/dist/verify/cascade-restatement.d.ts.map +1 -0
- package/dist/verify/cascade-restatement.js.map +1 -0
- package/dist/verify/de-restatement.d.ts.map +1 -0
- package/dist/verify/de-restatement.js +160 -0
- package/dist/verify/de-restatement.js.map +1 -0
- package/dist/verify/retire-aware-restatement.d.ts.map +1 -0
- package/dist/verify/retire-aware-restatement.js +231 -0
- package/dist/verify/retire-aware-restatement.js.map +1 -0
- package/dist/verify/stall-detector-config.d.ts.map +1 -0
- package/dist/verify/stall-detector-config.js.map +1 -0
- package/dist/verify/stall-detectors.d.ts +196 -0
- package/dist/verify/stall-detectors.d.ts.map +1 -0
- package/dist/verify/stall-detectors.js +348 -0
- package/dist/verify/stall-detectors.js.map +1 -0
- package/dist/verify/verification-baseline.d.ts +112 -0
- package/dist/verify/verification-baseline.d.ts.map +1 -0
- package/dist/verify/verification-baseline.js +267 -0
- package/dist/verify/verification-baseline.js.map +1 -0
- package/dist/verify/verification-config.d.ts +146 -0
- package/dist/verify/verification-config.d.ts.map +1 -0
- package/dist/verify/verification-config.js.map +1 -0
- package/dist/verify/verification-default-on.d.ts +160 -0
- package/dist/verify/verification-default-on.d.ts.map +1 -0
- package/dist/verify/verification-default-on.js +272 -0
- package/dist/verify/verification-default-on.js.map +1 -0
- package/dist/verify/verification-deps.d.ts +191 -0
- package/dist/verify/verification-deps.d.ts.map +1 -0
- package/dist/verify/verification-deps.js.map +1 -0
- package/dist/verify/verification-deterministic.d.ts +56 -0
- package/dist/verify/verification-deterministic.d.ts.map +1 -0
- package/dist/verify/verification-deterministic.js +153 -0
- package/dist/verify/verification-deterministic.js.map +1 -0
- package/dist/verify/verification-engine.d.ts +94 -0
- package/dist/verify/verification-engine.d.ts.map +1 -0
- package/dist/verify/verification-engine.js +717 -0
- package/dist/verify/verification-engine.js.map +1 -0
- package/dist/verify/verification-evidence.d.ts +106 -0
- package/dist/verify/verification-evidence.d.ts.map +1 -0
- package/dist/verify/verification-evidence.js +159 -0
- package/dist/verify/verification-evidence.js.map +1 -0
- package/dist/verify/verification-failure-parser.d.ts.map +1 -0
- package/dist/verify/verification-failure-parser.js.map +1 -0
- package/dist/verify/verification-feedback.d.ts +173 -0
- package/dist/verify/verification-feedback.d.ts.map +1 -0
- package/dist/verify/verification-feedback.js +442 -0
- package/dist/verify/verification-feedback.js.map +1 -0
- package/dist/verify/verification-manifest.d.ts.map +1 -0
- package/dist/verify/verification-manifest.js.map +1 -0
- package/dist/verify/verify-reconciliation.d.ts.map +1 -0
- package/dist/verify/verify-reconciliation.js.map +1 -0
- package/dist/verify/verify-restatement.d.ts.map +1 -0
- package/dist/verify/verify-restatement.js +167 -0
- package/dist/verify/verify-restatement.js.map +1 -0
- package/dist/workflow/pipeline-config.d.ts +72 -0
- package/dist/workflow/pipeline-config.d.ts.map +1 -0
- package/dist/workflow/pipeline-config.js.map +1 -0
- package/dist/workflow/stage-classifier.d.ts +32 -0
- package/dist/workflow/stage-classifier.d.ts.map +1 -0
- package/dist/workflow/stage-classifier.js.map +1 -0
- package/dist/workflow/workflow-engine.d.ts +95 -0
- package/dist/workflow/workflow-engine.d.ts.map +1 -0
- package/dist/workflow/workflow-engine.js.map +1 -0
- package/dist/worktree/focus.d.ts +15 -70
- package/dist/worktree/focus.d.ts.map +1 -1
- package/dist/worktree/focus.js +16 -180
- package/dist/worktree/focus.js.map +1 -1
- package/dist/worktree/identity.js +1 -1
- package/dist/worktree/identity.js.map +1 -1
- package/dist/worktree/index.d.ts +1 -1
- package/dist/worktree/index.js +1 -1
- package/dist/worktree/provision.d.ts +147 -0
- package/dist/worktree/provision.d.ts.map +1 -0
- package/dist/worktree/provision.js +467 -0
- package/dist/worktree/provision.js.map +1 -0
- package/dist/worktree/reap.js +1 -1
- package/dist/worktree/reap.js.map +1 -1
- package/dist/worktree/safety.js +1 -1
- package/dist/worktree/safety.js.map +1 -1
- package/dist/worktree/scratch-guard.js +1 -1
- package/dist/worktree/scratch-guard.js.map +1 -1
- package/dist/worktree/state.d.ts +1 -1
- package/dist/worktree/state.d.ts.map +1 -1
- package/dist/worktree/state.js +3 -3
- package/dist/worktree/state.js.map +1 -1
- package/dist/worktree/verify-interlock.js +1 -1
- package/dist/worktree/verify-interlock.js.map +1 -1
- package/package.json +4 -4
- package/dist/activity-tracker.d.ts.map +0 -1
- package/dist/activity-tracker.js +0 -19
- package/dist/activity-tracker.js.map +0 -1
- package/dist/agent-state.d.ts.map +0 -1
- package/dist/agent-state.js.map +0 -1
- package/dist/ai-inspection-context.d.ts +0 -63
- package/dist/ai-inspection-context.d.ts.map +0 -1
- package/dist/ai-inspection-context.js +0 -203
- package/dist/ai-inspection-context.js.map +0 -1
- package/dist/ai-inspection-runner.d.ts.map +0 -1
- package/dist/ai-inspection-runner.js +0 -256
- package/dist/ai-inspection-runner.js.map +0 -1
- package/dist/assembly-engine.d.ts +0 -114
- package/dist/assembly-engine.d.ts.map +0 -1
- package/dist/assembly-engine.js +0 -137
- package/dist/assembly-engine.js.map +0 -1
- package/dist/assembly-resolvers.d.ts +0 -28
- package/dist/assembly-resolvers.d.ts.map +0 -1
- package/dist/assembly-resolvers.js +0 -30
- package/dist/assembly-resolvers.js.map +0 -1
- package/dist/audit-hooks.d.ts +0 -122
- package/dist/audit-hooks.d.ts.map +0 -1
- package/dist/audit-hooks.js +0 -274
- package/dist/audit-hooks.js.map +0 -1
- package/dist/audit-phase.d.ts +0 -171
- package/dist/audit-phase.d.ts.map +0 -1
- package/dist/audit-phase.js +0 -491
- package/dist/audit-phase.js.map +0 -1
- package/dist/audit-prompt.d.ts.map +0 -1
- package/dist/audit-prompt.js.map +0 -1
- package/dist/audit-shape.d.ts.map +0 -1
- package/dist/audit-shape.js.map +0 -1
- package/dist/auth-liveness.d.ts.map +0 -1
- package/dist/auth-liveness.js.map +0 -1
- package/dist/auto-update-idle.d.ts.map +0 -1
- package/dist/auto-update-idle.js.map +0 -1
- package/dist/auto-update.d.ts.map +0 -1
- package/dist/auto-update.js +0 -317
- package/dist/auto-update.js.map +0 -1
- package/dist/branch-status.d.ts +0 -79
- package/dist/branch-status.d.ts.map +0 -1
- package/dist/branch-status.js +0 -292
- package/dist/branch-status.js.map +0 -1
- package/dist/build-info.d.ts.map +0 -1
- package/dist/build-info.js.map +0 -1
- package/dist/capability-pointer.d.ts.map +0 -1
- package/dist/capability-pointer.js.map +0 -1
- package/dist/cascade-restatement.d.ts.map +0 -1
- package/dist/cascade-restatement.js.map +0 -1
- package/dist/ci-escalation.d.ts.map +0 -1
- package/dist/ci-escalation.js +0 -66
- package/dist/ci-escalation.js.map +0 -1
- package/dist/ci-sensor-loop.d.ts +0 -112
- package/dist/ci-sensor-loop.d.ts.map +0 -1
- package/dist/ci-sensor-loop.js +0 -243
- package/dist/ci-sensor-loop.js.map +0 -1
- package/dist/ci-status-git.d.ts +0 -53
- package/dist/ci-status-git.d.ts.map +0 -1
- package/dist/ci-status-git.js +0 -89
- package/dist/ci-status-git.js.map +0 -1
- package/dist/ci-status.d.ts +0 -137
- package/dist/ci-status.d.ts.map +0 -1
- package/dist/ci-status.js.map +0 -1
- package/dist/circuit-wedge-watcher.d.ts +0 -48
- package/dist/circuit-wedge-watcher.d.ts.map +0 -1
- package/dist/circuit-wedge-watcher.js +0 -94
- package/dist/circuit-wedge-watcher.js.map +0 -1
- package/dist/close-loop-dispatcher.d.ts +0 -325
- package/dist/close-loop-dispatcher.d.ts.map +0 -1
- package/dist/close-loop-dispatcher.js +0 -362
- package/dist/close-loop-dispatcher.js.map +0 -1
- package/dist/condition-evaluators.d.ts +0 -70
- package/dist/condition-evaluators.d.ts.map +0 -1
- package/dist/condition-evaluators.js +0 -203
- package/dist/condition-evaluators.js.map +0 -1
- package/dist/config-hot-reload.d.ts +0 -91
- package/dist/config-hot-reload.d.ts.map +0 -1
- package/dist/config-hot-reload.js.map +0 -1
- package/dist/config-reconcile.d.ts +0 -114
- package/dist/config-reconcile.d.ts.map +0 -1
- package/dist/config-reconcile.js +0 -189
- package/dist/config-reconcile.js.map +0 -1
- package/dist/config.d.ts +0 -102
- package/dist/config.d.ts.map +0 -1
- package/dist/config.js +0 -486
- package/dist/config.js.map +0 -1
- package/dist/constants.d.ts.map +0 -1
- package/dist/constants.js.map +0 -1
- package/dist/context-audit.d.ts +0 -68
- package/dist/context-audit.d.ts.map +0 -1
- package/dist/context-audit.js.map +0 -1
- package/dist/context-lock.d.ts +0 -129
- package/dist/context-lock.d.ts.map +0 -1
- package/dist/context-lock.js.map +0 -1
- package/dist/control-state.d.ts +0 -109
- package/dist/control-state.d.ts.map +0 -1
- package/dist/control-state.js +0 -337
- package/dist/control-state.js.map +0 -1
- package/dist/crash-recovery.d.ts +0 -141
- package/dist/crash-recovery.d.ts.map +0 -1
- package/dist/crash-recovery.js +0 -631
- package/dist/crash-recovery.js.map +0 -1
- package/dist/daemon-logs.d.ts.map +0 -1
- package/dist/daemon-logs.js.map +0 -1
- package/dist/daemon-process.d.ts.map +0 -1
- package/dist/daemon-process.js +0 -463
- package/dist/daemon-process.js.map +0 -1
- package/dist/daemon-readiness.d.ts.map +0 -1
- package/dist/daemon-readiness.js.map +0 -1
- package/dist/dag-validator.d.ts +0 -52
- package/dist/dag-validator.d.ts.map +0 -1
- package/dist/dag-validator.js.map +0 -1
- package/dist/de-restatement.d.ts.map +0 -1
- package/dist/de-restatement.js +0 -160
- package/dist/de-restatement.js.map +0 -1
- package/dist/delivery-advance-block.d.ts +0 -143
- package/dist/delivery-advance-block.d.ts.map +0 -1
- package/dist/delivery-advance-block.js +0 -360
- package/dist/delivery-advance-block.js.map +0 -1
- package/dist/delivery-artifacts.d.ts +0 -26
- package/dist/delivery-artifacts.d.ts.map +0 -1
- package/dist/delivery-artifacts.js +0 -56
- package/dist/delivery-artifacts.js.map +0 -1
- package/dist/delivery-close-actions.d.ts +0 -39
- package/dist/delivery-close-actions.d.ts.map +0 -1
- package/dist/delivery-close-actions.js +0 -53
- package/dist/delivery-close-actions.js.map +0 -1
- package/dist/delivery-lifecycle.d.ts +0 -144
- package/dist/delivery-lifecycle.d.ts.map +0 -1
- package/dist/delivery-lifecycle.js +0 -495
- package/dist/delivery-lifecycle.js.map +0 -1
- package/dist/delivery-merge.d.ts +0 -17
- package/dist/delivery-merge.d.ts.map +0 -1
- package/dist/delivery-merge.js +0 -95
- package/dist/delivery-merge.js.map +0 -1
- package/dist/delivery-reconciler-apply.d.ts.map +0 -1
- package/dist/delivery-reconciler-apply.js +0 -77
- package/dist/delivery-reconciler-apply.js.map +0 -1
- package/dist/delivery-reconciler-shadow.d.ts +0 -65
- package/dist/delivery-reconciler-shadow.d.ts.map +0 -1
- package/dist/delivery-reconciler-shadow.js +0 -126
- package/dist/delivery-reconciler-shadow.js.map +0 -1
- package/dist/delivery-reconciler.d.ts +0 -217
- package/dist/delivery-reconciler.d.ts.map +0 -1
- package/dist/delivery-reconciler.js +0 -249
- package/dist/delivery-reconciler.js.map +0 -1
- package/dist/dependency-resolver.d.ts +0 -77
- package/dist/dependency-resolver.d.ts.map +0 -1
- package/dist/dependency-resolver.js.map +0 -1
- package/dist/directive-executor.d.ts +0 -37
- package/dist/directive-executor.d.ts.map +0 -1
- package/dist/directive-executor.js +0 -241
- package/dist/directive-executor.js.map +0 -1
- package/dist/discovery-poll.d.ts +0 -23
- package/dist/discovery-poll.d.ts.map +0 -1
- package/dist/discovery-poll.js +0 -99
- package/dist/discovery-poll.js.map +0 -1
- package/dist/drain-teardown.d.ts.map +0 -1
- package/dist/drain-teardown.js.map +0 -1
- package/dist/drift-eval-loop.d.ts +0 -71
- package/dist/drift-eval-loop.d.ts.map +0 -1
- package/dist/drift-eval-loop.js +0 -259
- package/dist/drift-eval-loop.js.map +0 -1
- package/dist/drift-evaluator.d.ts.map +0 -1
- package/dist/drift-evaluator.js.map +0 -1
- package/dist/drift-ratify-policy.d.ts.map +0 -1
- package/dist/drift-ratify-policy.js.map +0 -1
- package/dist/escalation-provenance.d.ts +0 -64
- package/dist/escalation-provenance.d.ts.map +0 -1
- package/dist/escalation-provenance.js +0 -200
- package/dist/escalation-provenance.js.map +0 -1
- package/dist/escalations.d.ts +0 -85
- package/dist/escalations.d.ts.map +0 -1
- package/dist/escalations.js +0 -91
- package/dist/escalations.js.map +0 -1
- package/dist/evaluation-context.d.ts.map +0 -1
- package/dist/evaluation-context.js +0 -44
- package/dist/evaluation-context.js.map +0 -1
- package/dist/external-hold.d.ts +0 -146
- package/dist/external-hold.d.ts.map +0 -1
- package/dist/external-hold.js +0 -223
- package/dist/external-hold.js.map +0 -1
- package/dist/focus-branch-ahead.d.ts +0 -42
- package/dist/focus-branch-ahead.d.ts.map +0 -1
- package/dist/focus-branch-ahead.js +0 -45
- package/dist/focus-branch-ahead.js.map +0 -1
- package/dist/focus-branch-identity.d.ts +0 -62
- package/dist/focus-branch-identity.d.ts.map +0 -1
- package/dist/focus-branch-identity.js +0 -59
- package/dist/focus-branch-identity.js.map +0 -1
- package/dist/focus-engine.d.ts +0 -74
- package/dist/focus-engine.d.ts.map +0 -1
- package/dist/focus-engine.js +0 -528
- package/dist/focus-engine.js.map +0 -1
- package/dist/focus-executor.d.ts +0 -80
- package/dist/focus-executor.d.ts.map +0 -1
- package/dist/focus-executor.js +0 -420
- package/dist/focus-executor.js.map +0 -1
- package/dist/focus-lifecycle.d.ts +0 -60
- package/dist/focus-lifecycle.d.ts.map +0 -1
- package/dist/focus-lifecycle.js +0 -537
- package/dist/focus-lifecycle.js.map +0 -1
- package/dist/focus-loop-registry.d.ts +0 -52
- package/dist/focus-loop-registry.d.ts.map +0 -1
- package/dist/focus-loop-registry.js +0 -362
- package/dist/focus-loop-registry.js.map +0 -1
- package/dist/focus-loop.d.ts +0 -96
- package/dist/focus-loop.d.ts.map +0 -1
- package/dist/focus-loop.js +0 -364
- package/dist/focus-loop.js.map +0 -1
- package/dist/focus-merge.d.ts +0 -131
- package/dist/focus-merge.d.ts.map +0 -1
- package/dist/focus-merge.js +0 -556
- package/dist/focus-merge.js.map +0 -1
- package/dist/focus-phase.d.ts.map +0 -1
- package/dist/focus-phase.js.map +0 -1
- package/dist/focus-prompt-builder.d.ts +0 -35
- package/dist/focus-prompt-builder.d.ts.map +0 -1
- package/dist/focus-prompt-builder.js +0 -119
- package/dist/focus-prompt-builder.js.map +0 -1
- package/dist/focus-provisioning.d.ts +0 -16
- package/dist/focus-provisioning.d.ts.map +0 -1
- package/dist/focus-provisioning.js +0 -122
- package/dist/focus-provisioning.js.map +0 -1
- package/dist/focus-respawn-guard.d.ts +0 -27
- package/dist/focus-respawn-guard.d.ts.map +0 -1
- package/dist/focus-respawn-guard.js +0 -77
- package/dist/focus-respawn-guard.js.map +0 -1
- package/dist/focus-stage-lifecycle.d.ts +0 -63
- package/dist/focus-stage-lifecycle.d.ts.map +0 -1
- package/dist/focus-stage-lifecycle.js +0 -179
- package/dist/focus-stage-lifecycle.js.map +0 -1
- package/dist/focus-team-state.d.ts +0 -94
- package/dist/focus-team-state.d.ts.map +0 -1
- package/dist/focus-team-state.js +0 -182
- package/dist/focus-team-state.js.map +0 -1
- package/dist/focus-worktree-state.d.ts +0 -58
- package/dist/focus-worktree-state.d.ts.map +0 -1
- package/dist/focus-worktree-state.js +0 -115
- package/dist/focus-worktree-state.js.map +0 -1
- package/dist/git/merge-helpers.d.ts +0 -48
- package/dist/git/merge-helpers.d.ts.map +0 -1
- package/dist/git/merge-helpers.js +0 -107
- package/dist/git/merge-helpers.js.map +0 -1
- package/dist/git/merge-strategies.d.ts +0 -49
- package/dist/git/merge-strategies.d.ts.map +0 -1
- package/dist/git/merge-strategies.js +0 -137
- package/dist/git/merge-strategies.js.map +0 -1
- package/dist/git.d.ts +0 -24
- package/dist/git.d.ts.map +0 -1
- package/dist/git.js +0 -114
- package/dist/git.js.map +0 -1
- package/dist/gitignore-convergence.d.ts.map +0 -1
- package/dist/gitignore-convergence.js.map +0 -1
- package/dist/guard-engine.d.ts +0 -19
- package/dist/guard-engine.d.ts.map +0 -1
- package/dist/guard-engine.js +0 -20
- package/dist/guard-engine.js.map +0 -1
- package/dist/guard-evaluator.d.ts +0 -47
- package/dist/guard-evaluator.d.ts.map +0 -1
- package/dist/guard-evaluator.js +0 -195
- package/dist/guard-evaluator.js.map +0 -1
- package/dist/health-events.d.ts.map +0 -1
- package/dist/health-events.js.map +0 -1
- package/dist/heartbeat.d.ts +0 -165
- package/dist/heartbeat.d.ts.map +0 -1
- package/dist/heartbeat.js +0 -501
- package/dist/heartbeat.js.map +0 -1
- package/dist/install-probe-tick.d.ts +0 -63
- package/dist/install-probe-tick.d.ts.map +0 -1
- package/dist/install-probe-tick.js +0 -139
- package/dist/install-probe-tick.js.map +0 -1
- package/dist/install-probe.d.ts.map +0 -1
- package/dist/install-probe.js.map +0 -1
- package/dist/intake-control.d.ts.map +0 -1
- package/dist/intake-control.js.map +0 -1
- package/dist/listener-auto-advance.d.ts +0 -115
- package/dist/listener-auto-advance.d.ts.map +0 -1
- package/dist/listener-auto-advance.js +0 -621
- package/dist/listener-auto-advance.js.map +0 -1
- package/dist/listener.d.ts +0 -101
- package/dist/listener.d.ts.map +0 -1
- package/dist/listener.js +0 -770
- package/dist/listener.js.map +0 -1
- package/dist/log-manager.d.ts +0 -18
- package/dist/log-manager.d.ts.map +0 -1
- package/dist/log-manager.js.map +0 -1
- package/dist/log.d.ts.map +0 -1
- package/dist/log.js.map +0 -1
- package/dist/mcp-resolution.d.ts.map +0 -1
- package/dist/mcp-resolution.js.map +0 -1
- package/dist/merge-back-loop.d.ts +0 -109
- package/dist/merge-back-loop.d.ts.map +0 -1
- package/dist/merge-back-loop.js +0 -498
- package/dist/merge-back-loop.js.map +0 -1
- package/dist/merge-detector.d.ts +0 -55
- package/dist/merge-detector.d.ts.map +0 -1
- package/dist/merge-detector.js +0 -222
- package/dist/merge-detector.js.map +0 -1
- package/dist/merge-failure-classify.d.ts +0 -39
- package/dist/merge-failure-classify.d.ts.map +0 -1
- package/dist/merge-failure-classify.js +0 -58
- package/dist/merge-failure-classify.js.map +0 -1
- package/dist/model-resolution.d.ts.map +0 -1
- package/dist/model-resolution.js.map +0 -1
- package/dist/non-interactive-init.d.ts +0 -40
- package/dist/non-interactive-init.d.ts.map +0 -1
- package/dist/non-interactive-init.js.map +0 -1
- package/dist/onboarding-directive.d.ts.map +0 -1
- package/dist/onboarding-directive.js.map +0 -1
- package/dist/operator-hold.d.ts +0 -66
- package/dist/operator-hold.d.ts.map +0 -1
- package/dist/operator-hold.js +0 -99
- package/dist/operator-hold.js.map +0 -1
- package/dist/otlp/port-manager.d.ts +0 -26
- package/dist/otlp/port-manager.d.ts.map +0 -1
- package/dist/otlp/port-manager.js +0 -132
- package/dist/otlp/port-manager.js.map +0 -1
- package/dist/output-monitor.d.ts +0 -38
- package/dist/output-monitor.d.ts.map +0 -1
- package/dist/output-monitor.js +0 -92
- package/dist/output-monitor.js.map +0 -1
- package/dist/pipeline-config.d.ts +0 -72
- package/dist/pipeline-config.d.ts.map +0 -1
- package/dist/pipeline-config.js.map +0 -1
- package/dist/planning-prompt-builder.d.ts +0 -69
- package/dist/planning-prompt-builder.d.ts.map +0 -1
- package/dist/planning-prompt-builder.js +0 -517
- package/dist/planning-prompt-builder.js.map +0 -1
- package/dist/product-scaffold.d.ts +0 -56
- package/dist/product-scaffold.d.ts.map +0 -1
- package/dist/product-scaffold.js +0 -136
- package/dist/product-scaffold.js.map +0 -1
- package/dist/prompt-contradictions.d.ts.map +0 -1
- package/dist/prompt-contradictions.js.map +0 -1
- package/dist/prompt-listing.d.ts +0 -70
- package/dist/prompt-listing.d.ts.map +0 -1
- package/dist/prompt-listing.js.map +0 -1
- package/dist/realign-apply.d.ts +0 -65
- package/dist/realign-apply.d.ts.map +0 -1
- package/dist/realign-apply.js +0 -302
- package/dist/realign-apply.js.map +0 -1
- package/dist/reality-pole-capture.d.ts.map +0 -1
- package/dist/reality-pole-capture.js +0 -114
- package/dist/reality-pole-capture.js.map +0 -1
- package/dist/reality-pole.d.ts +0 -64
- package/dist/reality-pole.d.ts.map +0 -1
- package/dist/reality-pole.js +0 -101
- package/dist/reality-pole.js.map +0 -1
- package/dist/reality-writeback.d.ts.map +0 -1
- package/dist/reality-writeback.js.map +0 -1
- package/dist/resolver-dispatch.d.ts.map +0 -1
- package/dist/resolver-dispatch.js.map +0 -1
- package/dist/resolver-reach.d.ts +0 -192
- package/dist/resolver-reach.d.ts.map +0 -1
- package/dist/resolver-reach.js +0 -168
- package/dist/resolver-reach.js.map +0 -1
- package/dist/retention-observation.d.ts.map +0 -1
- package/dist/retention-observation.js.map +0 -1
- package/dist/retire-aware-restatement.d.ts.map +0 -1
- package/dist/retire-aware-restatement.js +0 -231
- package/dist/retire-aware-restatement.js.map +0 -1
- package/dist/review-defect-detector.d.ts +0 -82
- package/dist/review-defect-detector.d.ts.map +0 -1
- package/dist/review-defect-detector.js +0 -148
- package/dist/review-defect-detector.js.map +0 -1
- package/dist/review-spawn-coverage-guard.d.ts.map +0 -1
- package/dist/review-spawn-coverage-guard.js.map +0 -1
- package/dist/schema-version-gate.d.ts.map +0 -1
- package/dist/schema-version-gate.js +0 -220
- package/dist/schema-version-gate.js.map +0 -1
- package/dist/security-auto-inject.d.ts.map +0 -1
- package/dist/security-auto-inject.js +0 -168
- package/dist/security-auto-inject.js.map +0 -1
- package/dist/security-finding-gate.d.ts.map +0 -1
- package/dist/security-finding-gate.js +0 -84
- package/dist/security-finding-gate.js.map +0 -1
- package/dist/security-rescan-resolution.d.ts.map +0 -1
- package/dist/security-rescan-resolution.js +0 -117
- package/dist/security-rescan-resolution.js.map +0 -1
- package/dist/security-scan-engine.d.ts +0 -145
- package/dist/security-scan-engine.d.ts.map +0 -1
- package/dist/security-scan-engine.js +0 -271
- package/dist/security-scan-engine.js.map +0 -1
- package/dist/self-update.d.ts.map +0 -1
- package/dist/self-update.js +0 -565
- package/dist/self-update.js.map +0 -1
- package/dist/sensor-sweep.d.ts +0 -194
- package/dist/sensor-sweep.d.ts.map +0 -1
- package/dist/sensor-sweep.js +0 -458
- package/dist/sensor-sweep.js.map +0 -1
- package/dist/session-lineage.d.ts.map +0 -1
- package/dist/session-lineage.js.map +0 -1
- package/dist/session-stamp.d.ts +0 -63
- package/dist/session-stamp.d.ts.map +0 -1
- package/dist/session-stamp.js +0 -67
- package/dist/session-stamp.js.map +0 -1
- package/dist/shutdown-state.d.ts.map +0 -1
- package/dist/shutdown-state.js.map +0 -1
- package/dist/spawn-cooldown.d.ts.map +0 -1
- package/dist/spawn-cooldown.js +0 -53
- package/dist/spawn-cooldown.js.map +0 -1
- package/dist/spawn-environment.d.ts +0 -126
- package/dist/spawn-environment.d.ts.map +0 -1
- package/dist/spawn-environment.js +0 -177
- package/dist/spawn-environment.js.map +0 -1
- package/dist/spawn-sandbox.d.ts +0 -121
- package/dist/spawn-sandbox.d.ts.map +0 -1
- package/dist/spawn-sandbox.js.map +0 -1
- package/dist/spawner/guards.d.ts.map +0 -1
- package/dist/spawner/guards.js +0 -46
- package/dist/spawner/guards.js.map +0 -1
- package/dist/spawner/helpers.d.ts +0 -69
- package/dist/spawner/helpers.d.ts.map +0 -1
- package/dist/spawner/helpers.js +0 -215
- package/dist/spawner/helpers.js.map +0 -1
- package/dist/spawner/index.d.ts +0 -31
- package/dist/spawner/index.d.ts.map +0 -1
- package/dist/spawner/index.js +0 -39
- package/dist/spawner/index.js.map +0 -1
- package/dist/spawner/lifecycle.d.ts +0 -148
- package/dist/spawner/lifecycle.d.ts.map +0 -1
- package/dist/spawner/lifecycle.js +0 -413
- package/dist/spawner/lifecycle.js.map +0 -1
- package/dist/spawner/liveness.d.ts.map +0 -1
- package/dist/spawner/liveness.js +0 -41
- package/dist/spawner/liveness.js.map +0 -1
- package/dist/spawner/resolution.d.ts +0 -27
- package/dist/spawner/resolution.d.ts.map +0 -1
- package/dist/spawner/resolution.js +0 -101
- package/dist/spawner/resolution.js.map +0 -1
- package/dist/spawner/state.d.ts.map +0 -1
- package/dist/spawner/state.js.map +0 -1
- package/dist/spawner/stream-handlers.d.ts +0 -19
- package/dist/spawner/stream-handlers.d.ts.map +0 -1
- package/dist/spawner/stream-handlers.js +0 -34
- package/dist/spawner/stream-handlers.js.map +0 -1
- package/dist/spawner/worker-registry.d.ts.map +0 -1
- package/dist/spawner/worker-registry.js.map +0 -1
- package/dist/stage-classifier.d.ts +0 -32
- package/dist/stage-classifier.d.ts.map +0 -1
- package/dist/stage-classifier.js.map +0 -1
- package/dist/staleness-sensor.d.ts +0 -176
- package/dist/staleness-sensor.d.ts.map +0 -1
- package/dist/staleness-sensor.js +0 -335
- package/dist/staleness-sensor.js.map +0 -1
- package/dist/staleness.d.ts +0 -134
- package/dist/staleness.d.ts.map +0 -1
- package/dist/staleness.js +0 -249
- package/dist/staleness.js.map +0 -1
- package/dist/stall-detector-config.d.ts.map +0 -1
- package/dist/stall-detector-config.js.map +0 -1
- package/dist/stall-detectors.d.ts +0 -196
- package/dist/stall-detectors.d.ts.map +0 -1
- package/dist/stall-detectors.js +0 -348
- package/dist/stall-detectors.js.map +0 -1
- package/dist/state-cascade.d.ts +0 -90
- package/dist/state-cascade.d.ts.map +0 -1
- package/dist/state-cascade.js +0 -230
- package/dist/state-cascade.js.map +0 -1
- package/dist/stop-request.d.ts.map +0 -1
- package/dist/stop-request.js.map +0 -1
- package/dist/supabase.d.ts +0 -38
- package/dist/supabase.d.ts.map +0 -1
- package/dist/supabase.js +0 -52
- package/dist/supabase.js.map +0 -1
- package/dist/task-converter.d.ts +0 -61
- package/dist/task-converter.d.ts.map +0 -1
- package/dist/task-converter.js.map +0 -1
- package/dist/task-dag-builder.d.ts +0 -14
- package/dist/task-dag-builder.d.ts.map +0 -1
- package/dist/task-dag-builder.js +0 -17
- package/dist/task-dag-builder.js.map +0 -1
- package/dist/team-prompt-base.d.ts +0 -43
- package/dist/team-prompt-base.d.ts.map +0 -1
- package/dist/team-prompt-base.js +0 -123
- package/dist/team-prompt-base.js.map +0 -1
- package/dist/telemetry-writer.d.ts +0 -89
- package/dist/telemetry-writer.d.ts.map +0 -1
- package/dist/telemetry-writer.js +0 -212
- package/dist/telemetry-writer.js.map +0 -1
- package/dist/trigger-executor.d.ts +0 -85
- package/dist/trigger-executor.d.ts.map +0 -1
- package/dist/trigger-executor.js +0 -437
- package/dist/trigger-executor.js.map +0 -1
- package/dist/types.d.ts +0 -9
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -9
- package/dist/types.js.map +0 -1
- package/dist/unified-engine-lifecycle.d.ts +0 -186
- package/dist/unified-engine-lifecycle.d.ts.map +0 -1
- package/dist/unified-engine-lifecycle.js +0 -594
- package/dist/unified-engine-lifecycle.js.map +0 -1
- package/dist/unified-init.d.ts +0 -86
- package/dist/unified-init.d.ts.map +0 -1
- package/dist/unified-init.js +0 -313
- package/dist/unified-init.js.map +0 -1
- package/dist/unified-shell-config.d.ts +0 -103
- package/dist/unified-shell-config.d.ts.map +0 -1
- package/dist/unified-shell-config.js.map +0 -1
- package/dist/unified-shell-provisioning.d.ts.map +0 -1
- package/dist/unified-shell-provisioning.js +0 -277
- package/dist/unified-shell-provisioning.js.map +0 -1
- package/dist/unified-shell-status.d.ts.map +0 -1
- package/dist/unified-shell-status.js +0 -143
- package/dist/unified-shell-status.js.map +0 -1
- package/dist/unified-shell.d.ts.map +0 -1
- package/dist/unified-shell.js +0 -583
- package/dist/unified-shell.js.map +0 -1
- package/dist/verification-baseline.d.ts +0 -112
- package/dist/verification-baseline.d.ts.map +0 -1
- package/dist/verification-baseline.js +0 -267
- package/dist/verification-baseline.js.map +0 -1
- package/dist/verification-config.d.ts +0 -146
- package/dist/verification-config.d.ts.map +0 -1
- package/dist/verification-config.js.map +0 -1
- package/dist/verification-default-on.d.ts +0 -159
- package/dist/verification-default-on.d.ts.map +0 -1
- package/dist/verification-default-on.js +0 -272
- package/dist/verification-default-on.js.map +0 -1
- package/dist/verification-deps.d.ts +0 -190
- package/dist/verification-deps.d.ts.map +0 -1
- package/dist/verification-deps.js.map +0 -1
- package/dist/verification-deterministic.d.ts +0 -56
- package/dist/verification-deterministic.d.ts.map +0 -1
- package/dist/verification-deterministic.js +0 -153
- package/dist/verification-deterministic.js.map +0 -1
- package/dist/verification-engine.d.ts +0 -94
- package/dist/verification-engine.d.ts.map +0 -1
- package/dist/verification-engine.js +0 -716
- package/dist/verification-engine.js.map +0 -1
- package/dist/verification-evidence.d.ts +0 -106
- package/dist/verification-evidence.d.ts.map +0 -1
- package/dist/verification-evidence.js +0 -159
- package/dist/verification-evidence.js.map +0 -1
- package/dist/verification-failure-parser.d.ts.map +0 -1
- package/dist/verification-failure-parser.js.map +0 -1
- package/dist/verification-feedback.d.ts +0 -173
- package/dist/verification-feedback.d.ts.map +0 -1
- package/dist/verification-feedback.js +0 -442
- package/dist/verification-feedback.js.map +0 -1
- package/dist/verification-manifest.d.ts.map +0 -1
- package/dist/verification-manifest.js.map +0 -1
- package/dist/verify-reconciliation.d.ts.map +0 -1
- package/dist/verify-reconciliation.js.map +0 -1
- package/dist/verify-restatement.d.ts.map +0 -1
- package/dist/verify-restatement.js +0 -167
- package/dist/verify-restatement.js.map +0 -1
- package/dist/version-check.d.ts.map +0 -1
- package/dist/version-check.js +0 -115
- package/dist/version-check.js.map +0 -1
- package/dist/worker-pidfile.d.ts.map +0 -1
- package/dist/worker-pidfile.js.map +0 -1
- package/dist/workflow-engine.d.ts +0 -95
- package/dist/workflow-engine.d.ts.map +0 -1
- package/dist/workflow-engine.js.map +0 -1
- package/dist/worktree.d.ts +0 -147
- package/dist/worktree.d.ts.map +0 -1
- package/dist/worktree.js +0 -467
- package/dist/worktree.js.map +0 -1
- /package/dist/{audit-prompt.d.ts → audit/audit-prompt.d.ts} +0 -0
- /package/dist/{audit-prompt.js → audit/audit-prompt.js} +0 -0
- /package/dist/{audit-shape.d.ts → audit/audit-shape.d.ts} +0 -0
- /package/dist/{audit-shape.js → audit/audit-shape.js} +0 -0
- /package/dist/{ci-escalation.d.ts → ci/ci-escalation.d.ts} +0 -0
- /package/dist/{ci-status.js → ci/ci-status.js} +0 -0
- /package/dist/{review-spawn-coverage-guard.d.ts → completion/review-spawn-coverage-guard.d.ts} +0 -0
- /package/dist/{review-spawn-coverage-guard.js → completion/review-spawn-coverage-guard.js} +0 -0
- /package/dist/{context-audit.js → context/context-audit.js} +0 -0
- /package/dist/{context-lock.js → context/context-lock.js} +0 -0
- /package/dist/{delivery-reconciler-apply.d.ts → delivery/delivery-reconciler-apply.d.ts} +0 -0
- /package/dist/{resolver-dispatch.d.ts → directive/resolver-dispatch.d.ts} +0 -0
- /package/dist/{resolver-dispatch.js → directive/resolver-dispatch.js} +0 -0
- /package/dist/{drift-evaluator.d.ts → drift/drift-evaluator.d.ts} +0 -0
- /package/dist/{drift-evaluator.js → drift/drift-evaluator.js} +0 -0
- /package/dist/{drift-ratify-policy.d.ts → drift/drift-ratify-policy.d.ts} +0 -0
- /package/dist/{drift-ratify-policy.js → drift/drift-ratify-policy.js} +0 -0
- /package/dist/{retention-observation.d.ts → drift/retention-observation.d.ts} +0 -0
- /package/dist/{retention-observation.js → drift/retention-observation.js} +0 -0
- /package/dist/{focus-phase.d.ts → focus/focus-phase.d.ts} +0 -0
- /package/dist/{focus-phase.js → focus/focus-phase.js} +0 -0
- /package/dist/{evaluation-context.d.ts → guard/evaluation-context.d.ts} +0 -0
- /package/dist/{onboarding-directive.d.ts → prompt/onboarding-directive.d.ts} +0 -0
- /package/dist/{onboarding-directive.js → prompt/onboarding-directive.js} +0 -0
- /package/dist/{prompt-contradictions.d.ts → prompt/prompt-contradictions.d.ts} +0 -0
- /package/dist/{prompt-contradictions.js → prompt/prompt-contradictions.js} +0 -0
- /package/dist/{prompt-listing.js → prompt/prompt-listing.js} +0 -0
- /package/dist/{reality-pole-capture.d.ts → reality/reality-pole-capture.d.ts} +0 -0
- /package/dist/{reality-writeback.d.ts → reality/reality-writeback.d.ts} +0 -0
- /package/dist/{reality-writeback.js → reality/reality-writeback.js} +0 -0
- /package/dist/{security-auto-inject.d.ts → security/security-auto-inject.d.ts} +0 -0
- /package/dist/{security-finding-gate.d.ts → security/security-finding-gate.d.ts} +0 -0
- /package/dist/{security-rescan-resolution.d.ts → security/security-rescan-resolution.d.ts} +0 -0
- /package/dist/{session-lineage.d.ts → session/session-lineage.d.ts} +0 -0
- /package/dist/{session-lineage.js → session/session-lineage.js} +0 -0
- /package/dist/{activity-tracker.d.ts → shell/activity-tracker.d.ts} +0 -0
- /package/dist/{agent-state.d.ts → shell/agent-state.d.ts} +0 -0
- /package/dist/{agent-state.js → shell/agent-state.js} +0 -0
- /package/dist/{auth-liveness.d.ts → shell/auth-liveness.d.ts} +0 -0
- /package/dist/{auth-liveness.js → shell/auth-liveness.js} +0 -0
- /package/dist/{config-hot-reload.js → shell/config-hot-reload.js} +0 -0
- /package/dist/{constants.d.ts → shell/constants.d.ts} +0 -0
- /package/dist/{constants.js → shell/constants.js} +0 -0
- /package/dist/{daemon-logs.d.ts → shell/daemon-logs.d.ts} +0 -0
- /package/dist/{daemon-logs.js → shell/daemon-logs.js} +0 -0
- /package/dist/{daemon-process.d.ts → shell/daemon-process.d.ts} +0 -0
- /package/dist/{daemon-readiness.d.ts → shell/daemon-readiness.d.ts} +0 -0
- /package/dist/{daemon-readiness.js → shell/daemon-readiness.js} +0 -0
- /package/dist/{drain-teardown.d.ts → shell/drain-teardown.d.ts} +0 -0
- /package/dist/{drain-teardown.js → shell/drain-teardown.js} +0 -0
- /package/dist/{gitignore-convergence.d.ts → shell/gitignore-convergence.d.ts} +0 -0
- /package/dist/{gitignore-convergence.js → shell/gitignore-convergence.js} +0 -0
- /package/dist/{health-events.d.ts → shell/health-events.d.ts} +0 -0
- /package/dist/{health-events.js → shell/health-events.js} +0 -0
- /package/dist/{install-probe.d.ts → shell/install-probe.d.ts} +0 -0
- /package/dist/{install-probe.js → shell/install-probe.js} +0 -0
- /package/dist/{intake-control.d.ts → shell/intake-control.d.ts} +0 -0
- /package/dist/{intake-control.js → shell/intake-control.js} +0 -0
- /package/dist/{log-manager.js → shell/log-manager.js} +0 -0
- /package/dist/{log.d.ts → shell/log.d.ts} +0 -0
- /package/dist/{log.js → shell/log.js} +0 -0
- /package/dist/{mcp-resolution.d.ts → shell/mcp-resolution.d.ts} +0 -0
- /package/dist/{mcp-resolution.js → shell/mcp-resolution.js} +0 -0
- /package/dist/{model-resolution.d.ts → shell/model-resolution.d.ts} +0 -0
- /package/dist/{model-resolution.js → shell/model-resolution.js} +0 -0
- /package/dist/{non-interactive-init.js → shell/non-interactive-init.js} +0 -0
- /package/dist/{schema-version-gate.d.ts → shell/schema-version-gate.d.ts} +0 -0
- /package/dist/{shutdown-state.d.ts → shell/shutdown-state.d.ts} +0 -0
- /package/dist/{shutdown-state.js → shell/shutdown-state.js} +0 -0
- /package/dist/{stop-request.d.ts → shell/stop-request.d.ts} +0 -0
- /package/dist/{stop-request.js → shell/stop-request.js} +0 -0
- /package/dist/{unified-shell-config.js → shell/unified-shell-config.js} +0 -0
- /package/dist/{unified-shell-provisioning.d.ts → shell/unified-shell-provisioning.d.ts} +0 -0
- /package/dist/{unified-shell-status.d.ts → shell/unified-shell-status.d.ts} +0 -0
- /package/dist/{unified-shell.d.ts → shell/unified-shell.d.ts} +0 -0
- /package/dist/{worker-pidfile.d.ts → shell/worker-pidfile.d.ts} +0 -0
- /package/dist/{worker-pidfile.js → shell/worker-pidfile.js} +0 -0
- /package/dist/{dag-validator.js → spawn/dag-validator.js} +0 -0
- /package/dist/{dependency-resolver.js → spawn/dependency-resolver.js} +0 -0
- /package/dist/{spawner → spawn}/guards.d.ts +0 -0
- /package/dist/{spawner → spawn}/liveness.d.ts +0 -0
- /package/dist/{spawn-cooldown.d.ts → spawn/spawn-cooldown.d.ts} +0 -0
- /package/dist/{spawn-sandbox.js → spawn/spawn-sandbox.js} +0 -0
- /package/dist/{spawner → spawn}/state.d.ts +0 -0
- /package/dist/{spawner → spawn}/state.js +0 -0
- /package/dist/{task-converter.js → spawn/task-converter.js} +0 -0
- /package/dist/{spawner → spawn}/worker-registry.d.ts +0 -0
- /package/dist/{spawner → spawn}/worker-registry.js +0 -0
- /package/dist/{auto-update-idle.d.ts → update/auto-update-idle.d.ts} +0 -0
- /package/dist/{auto-update-idle.js → update/auto-update-idle.js} +0 -0
- /package/dist/{auto-update.d.ts → update/auto-update.d.ts} +0 -0
- /package/dist/{build-info.d.ts → update/build-info.d.ts} +0 -0
- /package/dist/{build-info.js → update/build-info.js} +0 -0
- /package/dist/{capability-pointer.d.ts → update/capability-pointer.d.ts} +0 -0
- /package/dist/{capability-pointer.js → update/capability-pointer.js} +0 -0
- /package/dist/{self-update.d.ts → update/self-update.d.ts} +0 -0
- /package/dist/{version-check.d.ts → update/version-check.d.ts} +0 -0
- /package/dist/{ai-inspection-runner.d.ts → verify/ai-inspection-runner.d.ts} +0 -0
- /package/dist/{cascade-restatement.d.ts → verify/cascade-restatement.d.ts} +0 -0
- /package/dist/{cascade-restatement.js → verify/cascade-restatement.js} +0 -0
- /package/dist/{de-restatement.d.ts → verify/de-restatement.d.ts} +0 -0
- /package/dist/{retire-aware-restatement.d.ts → verify/retire-aware-restatement.d.ts} +0 -0
- /package/dist/{stall-detector-config.d.ts → verify/stall-detector-config.d.ts} +0 -0
- /package/dist/{stall-detector-config.js → verify/stall-detector-config.js} +0 -0
- /package/dist/{verification-config.js → verify/verification-config.js} +0 -0
- /package/dist/{verification-deps.js → verify/verification-deps.js} +0 -0
- /package/dist/{verification-failure-parser.d.ts → verify/verification-failure-parser.d.ts} +0 -0
- /package/dist/{verification-failure-parser.js → verify/verification-failure-parser.js} +0 -0
- /package/dist/{verification-manifest.d.ts → verify/verification-manifest.d.ts} +0 -0
- /package/dist/{verification-manifest.js → verify/verification-manifest.js} +0 -0
- /package/dist/{verify-reconciliation.d.ts → verify/verify-reconciliation.d.ts} +0 -0
- /package/dist/{verify-reconciliation.js → verify/verify-reconciliation.js} +0 -0
- /package/dist/{verify-restatement.d.ts → verify/verify-restatement.d.ts} +0 -0
- /package/dist/{pipeline-config.js → workflow/pipeline-config.js} +0 -0
- /package/dist/{stage-classifier.js → workflow/stage-classifier.js} +0 -0
- /package/dist/{workflow-engine.js → workflow/workflow-engine.js} +0 -0
|
@@ -1,716 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Pluggable verification engine -- Differential Focus Spec.
|
|
3
|
-
*
|
|
4
|
-
* Each delivery is the materialization of an injection. When the delivery
|
|
5
|
-
* reaches the 'verify' execution status, this engine selects a strategy
|
|
6
|
-
* based on the delivery's verification_method and runs it. On a 'passed'
|
|
7
|
-
* outcome the injection is retired (its FRT statement promotes to CRT)
|
|
8
|
-
* via the existing reality_tree_verify_injection compound op.
|
|
9
|
-
*
|
|
10
|
-
* Per-delivery verification is opt-in: it runs only when a delivery carries
|
|
11
|
-
* an explicit method. A delivery with no method does not block -- focus-level
|
|
12
|
-
* AI review is the sole verify->done authority. Humans observe via the focus
|
|
13
|
-
* debug tab, never via a gate.
|
|
14
|
-
*
|
|
15
|
-
* Methods:
|
|
16
|
-
* deterministic -- run a shell command (tests, lint, types). Pass = exit 0.
|
|
17
|
-
* behavioral -- runtime telemetry observation (scaffold; needs drift
|
|
18
|
-
* detection from delivery 82bdf164 to provide signal).
|
|
19
|
-
* ai_inspection -- AI reads code/state and decides (scaffold; needs an
|
|
20
|
-
* AI inspection driver that walks the reality tree in
|
|
21
|
-
* conversation via `telora_reality_tree_*` MCP calls).
|
|
22
|
-
*
|
|
23
|
-
* @module verification-engine
|
|
24
|
-
*/
|
|
25
|
-
import { runDeterministicStrategy } from './verification-deterministic.js';
|
|
26
|
-
export { runDeterministicStrategy } from './verification-deterministic.js';
|
|
27
|
-
import { getPendingVerifications, recordDeliveryVerificationOutcome, verifyInjectionOnPass, emitInwardDriftProposals, } from './queries/verification.js';
|
|
28
|
-
import { configForProduct } from './config.js';
|
|
29
|
-
import { authorTargetRestatements as defaultAuthorTargetRestatements, } from './verify-restatement.js';
|
|
30
|
-
import { fileEscalation as defaultFileEscalation } from './escalations.js';
|
|
31
|
-
import { getCommitsAhead, filterCommitsByDelivery, selectDeliveryCommitsAcrossBatches, batchHasAnyTrailer, diagnoseEmptyDiffSource } from './assembly-resolvers.js';
|
|
32
|
-
import { resolveDefaultVerification as defaultResolveDefaultVerification } from './verification-config.js';
|
|
33
|
-
import { getActiveFocuses, getFocusDeliveries } from './supabase.js';
|
|
34
|
-
import { collectDefaultOnVerifications, markDefaultOnRan, resolveDaemonWideVerifyCap, resolveProductVerificationScopes, verificationSemaphore, } from './verification-default-on.js';
|
|
35
|
-
import { deliverVerificationFailureFeedback, requeueShortfallAsRework, requeueEvidenceUnavailableAsRework } from './verification-feedback.js';
|
|
36
|
-
import { buildDefaultAttributeFailures, buildResolveVerificationCwd, applyAttribution } from './verification-baseline.js';
|
|
37
|
-
// Re-export the default-on selection + concurrency surface so existing
|
|
38
|
-
// importers (and tests) can reach it through verification-engine.
|
|
39
|
-
export { collectDefaultOnVerifications, resolveDaemonWideVerifyCap, resolveProductVerificationScopes, verificationSemaphore, VerificationSemaphore, __getVerificationSemaphoreForTests, __resetDefaultOnGuardForTests, __getDefaultOnGuardForTests, __markDefaultOnRanForTests, } from './verification-default-on.js';
|
|
40
|
-
import { resolveAiInspectionInputs as defaultResolveAiInspectionInputs } from './ai-inspection-context.js';
|
|
41
|
-
import { runAiInspection as defaultRunAiInspection, } from './ai-inspection-runner.js';
|
|
42
|
-
import { buildDefaultSecurityFindingGateDeps, evaluateFindingNoLongerPresent, escalateOnGateFail, } from './security-finding-gate.js';
|
|
43
|
-
import { callApi } from './queries/shared.js';
|
|
44
|
-
import { runInstallProbeTick } from './install-probe-tick.js';
|
|
45
|
-
import { createLogger } from './log.js';
|
|
46
|
-
const log = createLogger({ module: 'verification' });
|
|
47
|
-
// ---------------------------------------------------------------------------
|
|
48
|
-
// Strategies
|
|
49
|
-
// ---------------------------------------------------------------------------
|
|
50
|
-
export async function runBehavioralStrategy() {
|
|
51
|
-
return {
|
|
52
|
-
outcome: 'pending',
|
|
53
|
-
rationale: 'behavioral strategy scaffold -- runtime telemetry source not yet wired (see drift detection 82bdf164)',
|
|
54
|
-
};
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* Spawn a tool-augmented Claude runner against the focus worktree to judge
|
|
58
|
-
* whether the injection's FRT statement holds in the code state. Maps the
|
|
59
|
-
* runner verdict to a verification outcome:
|
|
60
|
-
* - passed → outcome 'passed' (caller will retire injection)
|
|
61
|
-
* - failed → outcome 'failed' (caller will revert delivery to coding)
|
|
62
|
-
* - inconclusive → outcome 'pending' (caller leaves the row in queue)
|
|
63
|
-
*
|
|
64
|
-
* The strategy itself does NOT call verifyInjection or emit drift proposals;
|
|
65
|
-
* those side effects are wired by runVerificationForDelivery (next task)
|
|
66
|
-
* so the dispatch layer stays the single owner of the pass-path side effect.
|
|
67
|
-
*
|
|
68
|
-
* Drift observations from the runner are returned via the rationale field
|
|
69
|
-
* (compact JSON) so the caller can persist them as crt_drift_proposals.
|
|
70
|
-
*/
|
|
71
|
-
export async function runAiInspectionStrategy(deps, v) {
|
|
72
|
-
const inputs = await deps.resolveAiInspectionInputs(v);
|
|
73
|
-
if (!inputs) {
|
|
74
|
-
return {
|
|
75
|
-
outcome: 'pending',
|
|
76
|
-
rationale: 'ai_inspection skipped: injection node not found',
|
|
77
|
-
};
|
|
78
|
-
}
|
|
79
|
-
const inspection = await deps.runAiInspection(inputs);
|
|
80
|
-
const outcome = inspection.verdict === 'passed' ? 'passed'
|
|
81
|
-
: inspection.verdict === 'failed' ? 'failed'
|
|
82
|
-
: 'pending';
|
|
83
|
-
return {
|
|
84
|
-
outcome,
|
|
85
|
-
rationale: inspection.rationale,
|
|
86
|
-
deliveryDiff: inputs.deliveryDiff,
|
|
87
|
-
inspection,
|
|
88
|
-
};
|
|
89
|
-
}
|
|
90
|
-
async function defaultEmitDriftProposal(payload) {
|
|
91
|
-
await callApi('crt_drift_proposal_create', {
|
|
92
|
-
focusId: payload.focusId,
|
|
93
|
-
productId: payload.productId,
|
|
94
|
-
nodeId: payload.observation.nodeId,
|
|
95
|
-
proposalKind: payload.observation.kind,
|
|
96
|
-
observedState: payload.observation.observed,
|
|
97
|
-
proposedCorrection: payload.observation.suggestedCorrection,
|
|
98
|
-
});
|
|
99
|
-
}
|
|
100
|
-
const defaultDeps = (config) => {
|
|
101
|
-
const resolveCwd = (productId) => {
|
|
102
|
-
if (!productId)
|
|
103
|
-
return config.repoPath;
|
|
104
|
-
const product = config.products.find(p => p.id === productId);
|
|
105
|
-
if (!product)
|
|
106
|
-
return config.repoPath;
|
|
107
|
-
return configForProduct(config, product).repoPath;
|
|
108
|
-
};
|
|
109
|
-
const resolveVerificationCwd = buildResolveVerificationCwd(resolveCwd);
|
|
110
|
-
return {
|
|
111
|
-
getPendingVerifications,
|
|
112
|
-
recordOutcome: recordDeliveryVerificationOutcome,
|
|
113
|
-
verifyInjection: verifyInjectionOnPass,
|
|
114
|
-
authorTargetRestatements: (injectionNodeId, focusId, evidence, evidenceIncomplete) => defaultAuthorTargetRestatements(injectionNodeId, focusId, evidence, {}, evidenceIncomplete),
|
|
115
|
-
fileEscalation: defaultFileEscalation,
|
|
116
|
-
organizationId: config.organizationId,
|
|
117
|
-
emitDriftProposal: defaultEmitDriftProposal,
|
|
118
|
-
emitInwardDrift: emitInwardDriftProposals,
|
|
119
|
-
runDeterministic: runDeterministicStrategy,
|
|
120
|
-
runAiInspection: defaultRunAiInspection,
|
|
121
|
-
resolveAiInspectionInputs: (v) => defaultResolveAiInspectionInputs(v, {
|
|
122
|
-
callApi,
|
|
123
|
-
resolveCwd,
|
|
124
|
-
integrationBranch: config.integrationBranch,
|
|
125
|
-
}),
|
|
126
|
-
resolveCwd,
|
|
127
|
-
integrationBranch: config.integrationBranch,
|
|
128
|
-
securityFindingGate: buildDefaultSecurityFindingGateDeps(),
|
|
129
|
-
resolveDefaultVerification: (c) => defaultResolveDefaultVerification(c),
|
|
130
|
-
getActiveFocuses,
|
|
131
|
-
getFocusDeliveries,
|
|
132
|
-
deliverFailureFeedback: (v, result) => deliverVerificationFailureFeedback(v, result, config.organizationId).then(() => undefined),
|
|
133
|
-
deliverShortfallFeedback: (v, shortfalls) => requeueShortfallAsRework(v, shortfalls, config.organizationId).then(() => undefined),
|
|
134
|
-
requeueEvidenceUnavailableAsRework: (v, fault) => requeueEvidenceUnavailableAsRework(v, fault, config.organizationId).then(() => undefined),
|
|
135
|
-
resolveVerificationCwd,
|
|
136
|
-
resolveCommitsAhead: (v) => getCommitsAhead(resolveVerificationCwd(v), config.integrationBranch),
|
|
137
|
-
resolveRecordedCommitShas: async (v) => {
|
|
138
|
-
// Only look up the recorded commit set when the row records a merged-back
|
|
139
|
-
// git state with a merge sha (same gating as recordedMergeShaForVerify); an
|
|
140
|
-
// unmerged delivery has no focus_merges row and stays on the topology path.
|
|
141
|
-
const sha = recordedMergeShaForVerifyImpl(v);
|
|
142
|
-
if (!sha || !v.focusId)
|
|
143
|
-
return [];
|
|
144
|
-
const cwd = resolveVerificationCwd(v);
|
|
145
|
-
// Attribute the delivery from ITS OWN commits across the focus's WHOLE
|
|
146
|
-
// merge history, not just the batch stamped on its row. The stamped sha
|
|
147
|
-
// names the batch merged in the delivery's session, which is NOT
|
|
148
|
-
// necessarily the batch that carried its own commits: a delivery whose work
|
|
149
|
-
// landed in an EARLIER batch (or split across batches) is filtered to zero
|
|
150
|
-
// by a single-row lookup, and on a fast-forward merge-back that leaves the
|
|
151
|
-
// gate blind on merged, CI-green work (2026-08-15, delivery 4ab18c49).
|
|
152
|
-
// Searching every batch by the per-commit Telora-Delivery trailer recovers
|
|
153
|
-
// the delivery's commits regardless of which batch its row points at.
|
|
154
|
-
// Branch on the three-state history lookup: only a `found` history is worth
|
|
155
|
-
// partitioning. An `empty` (no history) or `undetermined` (API unreachable)
|
|
156
|
-
// result falls through to the single-row / legacy path -- and an undetermined
|
|
157
|
-
// read is reported as an instrument fault SEPARATELY (resolveEvidenceInstrumentFault),
|
|
158
|
-
// never silently collapsed into "no evidence" here.
|
|
159
|
-
const batches = await getAllRecordedCommitShasForFocus(v.focusId);
|
|
160
|
-
if (batches.state === 'found') {
|
|
161
|
-
const own = selectDeliveryCommitsAcrossBatches(cwd, batches.value, v.deliveryId);
|
|
162
|
-
if (own !== null)
|
|
163
|
-
return own;
|
|
164
|
-
}
|
|
165
|
-
// Total-legacy focus (no Telora-Delivery trailer anywhere -> the history is
|
|
166
|
-
// un-partitionable), no history, or an undetermined read: preserve the
|
|
167
|
-
// single-row behavior and judge against the batch stamped on the row.
|
|
168
|
-
const batch = await getRecordedCommitShasForMerge(v.focusId, sha);
|
|
169
|
-
return filterCommitsByDelivery(cwd, evidenceValueOr(batch, []), v.deliveryId);
|
|
170
|
-
},
|
|
171
|
-
resolveRecordedPreMergeRef: async (v) => {
|
|
172
|
-
// Same gating as resolveRecordedCommitShas: a pre-merge boundary exists only
|
|
173
|
-
// for a merged-back row keyed by the recorded merge sha. The boundary is
|
|
174
|
-
// batch-level (shared across the batch) -- the fast-forward-safe FALLBACK
|
|
175
|
-
// source, used when the per-delivery commit set came back empty.
|
|
176
|
-
const sha = recordedMergeShaForVerifyImpl(v);
|
|
177
|
-
if (!sha || !v.focusId)
|
|
178
|
-
return null;
|
|
179
|
-
const cwd = resolveVerificationCwd(v);
|
|
180
|
-
// But the boundary is only safe when the STAMPED batch actually carries
|
|
181
|
-
// THIS delivery's own commits. When the stamped batch holds NONE of them
|
|
182
|
-
// (its work is in another batch), <preMergeRef>...<stampedSha> would span a
|
|
183
|
-
// SIBLING delivery's work -- converting a blind gate into a confident WRONG
|
|
184
|
-
// verdict (tree node #19 / AC #4). Suppress the boundary in that case so the
|
|
185
|
-
// gate stays honestly blind and re-enters bounded re-work. An EMPTY stamped
|
|
186
|
-
// batch is exactly the fast-forward incident the boundary exists to cure
|
|
187
|
-
// (the per-delivery set came back empty) -- keep offering it there; a
|
|
188
|
-
// total-legacy (untrailered) batch also keeps it (no regression).
|
|
189
|
-
const batchShas = evidenceValueOr(await getRecordedCommitShasForMerge(v.focusId, sha), []);
|
|
190
|
-
if (batchShas.length > 0 && batchHasAnyTrailer(cwd, batchShas)) {
|
|
191
|
-
const own = filterCommitsByDelivery(cwd, batchShas, v.deliveryId);
|
|
192
|
-
if (own.length === 0)
|
|
193
|
-
return null;
|
|
194
|
-
}
|
|
195
|
-
const ref = await getRecordedPreMergeRefForMerge(v.focusId, sha);
|
|
196
|
-
return ref.state === 'found' ? ref.value : null;
|
|
197
|
-
},
|
|
198
|
-
resolveAttributionFailure: async (v) => {
|
|
199
|
-
// TOTAL ATTRIBUTION FAILURE: a recorded batch with ZERO parseable trailers
|
|
200
|
-
// on a focus with MORE THAN ONE delivery. filterCommitsByDelivery returns
|
|
201
|
-
// the whole batch for such a set (its legacy fallback), and coverage then
|
|
202
|
-
// reports complete because the range covers that whole set exactly -- so
|
|
203
|
-
// without this signal the gate would render a confident verdict against the
|
|
204
|
-
// combined sibling diff. A single-delivery focus is genuinely
|
|
205
|
-
// unpartitionable, so it is NOT a failure and keeps today's behavior.
|
|
206
|
-
const sha = recordedMergeShaForVerifyImpl(v);
|
|
207
|
-
if (!sha || !v.focusId)
|
|
208
|
-
return null;
|
|
209
|
-
const batchLookup = await getRecordedCommitShasForMerge(v.focusId, sha);
|
|
210
|
-
// Only a `found` batch (query ran AND the row carries commits) can be a
|
|
211
|
-
// total-attribution failure. An `empty` batch has nothing to misattribute;
|
|
212
|
-
// an `undetermined` batch is a blind instrument, not a partition failure --
|
|
213
|
-
// reported distinctly via resolveEvidenceInstrumentFault, not here.
|
|
214
|
-
if (batchLookup.state !== 'found')
|
|
215
|
-
return null;
|
|
216
|
-
const batch = batchLookup.value;
|
|
217
|
-
const cwd = resolveVerificationCwd(v);
|
|
218
|
-
if (batchHasAnyTrailer(cwd, batch))
|
|
219
|
-
return null; // partitionable -> not a total failure
|
|
220
|
-
const deliveries = await getFocusDeliveries(v.focusId);
|
|
221
|
-
if (deliveries.length <= 1)
|
|
222
|
-
return null; // genuine legacy single-delivery batch
|
|
223
|
-
return { batch: batch.length, deliveries: deliveries.length };
|
|
224
|
-
},
|
|
225
|
-
resolveEvidenceInstrumentFault: async (v) => {
|
|
226
|
-
// Probe whether the durable record could be READ at all. An `undetermined`
|
|
227
|
-
// lookup (the focus_merge_list API unreachable) is the instrument fault the
|
|
228
|
-
// gate must report DISTINCTLY from an honest empty record: it names the seam
|
|
229
|
-
// so a blind gate is diagnosable, rather than collapsing "could not
|
|
230
|
-
// determine" into "there is nothing here". Gated identically to the
|
|
231
|
-
// commit-set lookup -- an unmerged delivery has no record to read and is not
|
|
232
|
-
// a fault.
|
|
233
|
-
const sha = recordedMergeShaForVerifyImpl(v);
|
|
234
|
-
if (!sha || !v.focusId)
|
|
235
|
-
return null;
|
|
236
|
-
const history = await getAllRecordedCommitShasForFocus(v.focusId);
|
|
237
|
-
if (history.state === 'undetermined') {
|
|
238
|
-
return { seam: 'focus_merges (whole-history commit set)', reason: history.reason };
|
|
239
|
-
}
|
|
240
|
-
return null;
|
|
241
|
-
},
|
|
242
|
-
attributeFailures: buildDefaultAttributeFailures(config),
|
|
243
|
-
};
|
|
244
|
-
};
|
|
245
|
-
const STRATEGIES = {
|
|
246
|
-
deterministic: (deps, v) => deps.runDeterministic(v.verificationConfig, (deps.resolveVerificationCwd ?? ((pv) => deps.resolveCwd(pv.productId)))(v), { deliveryId: v.deliveryId, startedAtMs: Date.now() }),
|
|
247
|
-
behavioral: () => runBehavioralStrategy(),
|
|
248
|
-
ai_inspection: (deps, v) => runAiInspectionStrategy(deps, v),
|
|
249
|
-
};
|
|
250
|
-
/**
|
|
251
|
-
* Verify-gate evidence resolution lives in verification-evidence.ts (diff-range
|
|
252
|
-
* resolution, structured change signals, and the missing-slot naming the
|
|
253
|
-
* instrument-fault hold consumes). Imported for use below and re-exported so
|
|
254
|
-
* existing importers/tests that reach these through verification-engine keep
|
|
255
|
-
* resolving.
|
|
256
|
-
*/
|
|
257
|
-
export { MERGED_BACK_GIT_STATES, recordedMergeShaForVerify, } from './verification-evidence.js';
|
|
258
|
-
import { buildVerifyEvidence, describeMissingJudgeEvidence, assessRecordedCoverage, resolveDiffCwd, recordedMergeShaForVerify as recordedMergeShaForVerifyImpl, } from './verification-evidence.js';
|
|
259
|
-
import { getRecordedCommitShasForMerge, getAllRecordedCommitShasForFocus, getRecordedPreMergeRefForMerge, evidenceValueOr } from './queries/deliveries.js';
|
|
260
|
-
/**
|
|
261
|
-
* Run verification for a single delivery.
|
|
262
|
-
*
|
|
263
|
-
* Ordering invariants:
|
|
264
|
-
* 1. Run the strategy.
|
|
265
|
-
* 2. On verdict 'passed' with an injection node: retire injection FIRST
|
|
266
|
-
* (verifyInjection runs the reality_tree_verify_injection compound op).
|
|
267
|
-
* If retirement fails, the outcome demotes to 'pending' so the loop
|
|
268
|
-
* will retry — better to leave the row queued than to record 'passed'
|
|
269
|
-
* while the graph is in an inconsistent state.
|
|
270
|
-
* 3. Record the (possibly demoted) outcome.
|
|
271
|
-
* 4. Emit any drift_observations the runner attached, regardless of
|
|
272
|
-
* verdict. Each becomes a crt_drift_proposal in 'proposed' status.
|
|
273
|
-
*
|
|
274
|
-
* Drift emission is best-effort: a single failure logs and continues so
|
|
275
|
-
* one bad observation does not prevent the rest from being persisted.
|
|
276
|
-
*/
|
|
277
|
-
export async function runVerificationForDelivery(v, deps) {
|
|
278
|
-
const strategy = STRATEGIES[v.verificationMethod];
|
|
279
|
-
const strategyResult = await strategy(deps, v);
|
|
280
|
-
const result = { ...strategyResult };
|
|
281
|
-
// Baseline-diff attribution (deterministic only): a failed HEAD run whose
|
|
282
|
-
// failures ALL pre-exist on the focus base introduced no regression -> demote
|
|
283
|
-
// to 'passed' (the differential gate measures only the focus's delta). Runs
|
|
284
|
-
// BEFORE the pass path so a demotion feeds injection retirement; a null
|
|
285
|
-
// classification (no baseline) leaves the outcome unchanged (all failures gate).
|
|
286
|
-
if (v.verificationMethod === 'deterministic' && result.outcome === 'failed' && deps.attributeFailures) {
|
|
287
|
-
try {
|
|
288
|
-
const classification = await deps.attributeFailures(v, result);
|
|
289
|
-
if (classification) {
|
|
290
|
-
const attributed = applyAttribution(v.deliveryId, classification);
|
|
291
|
-
result.newFailures = attributed.newFailures;
|
|
292
|
-
result.preExisting = attributed.preExisting;
|
|
293
|
-
result.outcome = attributed.outcome;
|
|
294
|
-
result.rationale = attributed.rationale;
|
|
295
|
-
if (attributed.log)
|
|
296
|
-
log.info(attributed.log);
|
|
297
|
-
}
|
|
298
|
-
}
|
|
299
|
-
catch (err) {
|
|
300
|
-
log.warn(`[verification] baseline attribution failed for delivery ${v.deliveryId}:`, err.message);
|
|
301
|
-
}
|
|
302
|
-
}
|
|
303
|
-
// Shortfall-origin tracking: set when the reconciliation demotes a PASSED
|
|
304
|
-
// outcome to 'failed'. Feedback for a shortfall hold routes under its own
|
|
305
|
-
// guard (not deterministic_verification), so the origin must survive to the
|
|
306
|
-
// feedback dispatch below.
|
|
307
|
-
let shortfallHold = [];
|
|
308
|
-
// Instrument-fault tracking: set when the verify path was handed no evidence
|
|
309
|
-
// it could judge the work against (an empty bundle). Distinct origin from a
|
|
310
|
-
// shortfall -- it holds the gate under the evidence-unavailable guard and
|
|
311
|
-
// escalates rather than routing to verify_failed.
|
|
312
|
-
let evidenceUnavailableHold = null;
|
|
313
|
-
// Pass path FIRST so a verifyInjection failure short-circuits before we
|
|
314
|
-
// record an outcome that does not match graph state.
|
|
315
|
-
if (result.outcome === 'passed' && v.injectionNodeId) {
|
|
316
|
-
// Security workflow verify-closed gate: a security-linked injection
|
|
317
|
-
// cannot be retired unless the linked finding has flipped to
|
|
318
|
-
// 'resolved'. On failure, escalate the finding and demote the verify
|
|
319
|
-
// outcome to 'failed'. Non-security injections pass through as a no-op.
|
|
320
|
-
let securityGatePassed = true;
|
|
321
|
-
try {
|
|
322
|
-
const gate = await evaluateFindingNoLongerPresent(v.injectionNodeId, deps.securityFindingGate);
|
|
323
|
-
if (!gate.passed) {
|
|
324
|
-
securityGatePassed = false;
|
|
325
|
-
await escalateOnGateFail(gate.findingId, 'verify_gate_failed', deps.securityFindingGate);
|
|
326
|
-
result.outcome = 'failed';
|
|
327
|
-
result.rationale =
|
|
328
|
-
`security verify-closed gate failed: ${gate.reason} ` +
|
|
329
|
-
`(finding ${gate.findingId} escalated)`;
|
|
330
|
-
}
|
|
331
|
-
}
|
|
332
|
-
catch (err) {
|
|
333
|
-
log.warn(`[verification] security finding gate evaluation failed for ${v.injectionNodeId}:`, err.message);
|
|
334
|
-
// Gate eval failure does NOT block the verify path -- treat as
|
|
335
|
-
// no-op so a missing edge function does not silently quarantine
|
|
336
|
-
// every passing delivery. The gate is best-effort defense in depth.
|
|
337
|
-
}
|
|
338
|
-
if (securityGatePassed) {
|
|
339
|
-
// Reconcile declared intent vs achieved outcome for this injection's UDE
|
|
340
|
-
// targets. The achieved desired effect is authored from the CITED worktree
|
|
341
|
-
// EVIDENCE (diff/tests/inspection), NOT the UDE problem text; each target is
|
|
342
|
-
// classified match / legitimate_divergence / shortfall.
|
|
343
|
-
//
|
|
344
|
-
// ASYMMETRY: a shortfall is NEVER carried into verify and NEVER softens the
|
|
345
|
-
// declared DE. If ANY target falls short, we hold the gate (demote to
|
|
346
|
-
// 'failed'), skip the flip, and escalate the gap to a human. Reality is
|
|
347
|
-
// moved toward intent, never the reverse.
|
|
348
|
-
// Resolve the delivery's recorded commit set (durable attribution) so the
|
|
349
|
-
// diff range is sourced from the record, not truncated live topology.
|
|
350
|
-
// Best-effort: [] falls through to the topology sources.
|
|
351
|
-
let recordedCommitShas = [];
|
|
352
|
-
if (deps.resolveRecordedCommitShas) {
|
|
353
|
-
try {
|
|
354
|
-
recordedCommitShas = await deps.resolveRecordedCommitShas(v);
|
|
355
|
-
}
|
|
356
|
-
catch (err) {
|
|
357
|
-
log.debug(`[verification] recorded commit-set lookup failed for ${v.deliveryId}:`, err.message);
|
|
358
|
-
}
|
|
359
|
-
}
|
|
360
|
-
// Recorded pre-merge boundary: the FAST-FORWARD-safe source, used when the
|
|
361
|
-
// merge-back left no merge commit AND the per-delivery commit set came back
|
|
362
|
-
// empty. Best-effort: null falls through to the remaining sources.
|
|
363
|
-
let recordedPreMergeRef = null;
|
|
364
|
-
if (deps.resolveRecordedPreMergeRef) {
|
|
365
|
-
try {
|
|
366
|
-
recordedPreMergeRef = await deps.resolveRecordedPreMergeRef(v);
|
|
367
|
-
}
|
|
368
|
-
catch (err) {
|
|
369
|
-
log.debug(`[verification] recorded pre-merge boundary lookup failed for ${v.deliveryId}:`, err.message);
|
|
370
|
-
}
|
|
371
|
-
}
|
|
372
|
-
const evidence = buildVerifyEvidence(result, v, deps, recordedCommitShas, recordedPreMergeRef);
|
|
373
|
-
// COMPLETENESS: does the resolved range cover the delivery's recorded
|
|
374
|
-
// commits? A non-empty but truncated bundle is HALF-BLIND -- the gate must
|
|
375
|
-
// not vouch for a verdict rendered against only part of the work. When the
|
|
376
|
-
// record itself sourced the range this is complete by construction; the
|
|
377
|
-
// check bites only when attribution fell back to topology / a searched
|
|
378
|
-
// merge and that under-covers the recorded truth.
|
|
379
|
-
const coverage = assessRecordedCoverage(v, deps, recordedCommitShas);
|
|
380
|
-
// TOTAL ATTRIBUTION FAILURE (loud, not a legacy batch): a recorded batch
|
|
381
|
-
// with zero parseable trailers on a multi-delivery focus. Its coverage
|
|
382
|
-
// reports COMPLETE (the range covers the whole batch exactly) -- so unlike
|
|
383
|
-
// the half-blind case it slips past the coverage guard -- but the batch is
|
|
384
|
-
// the wrong evidence: this delivery would be judged against the combined
|
|
385
|
-
// sibling diff. Treat it as unjudgeable and force the same non-verdict path.
|
|
386
|
-
let attributionFailure = null;
|
|
387
|
-
if (deps.resolveAttributionFailure) {
|
|
388
|
-
try {
|
|
389
|
-
attributionFailure = await deps.resolveAttributionFailure(v);
|
|
390
|
-
}
|
|
391
|
-
catch (err) {
|
|
392
|
-
log.debug(`[verification] attribution-failure check failed for ${v.deliveryId}:`, err.message);
|
|
393
|
-
}
|
|
394
|
-
}
|
|
395
|
-
let restatements = [];
|
|
396
|
-
let shortfalls = [];
|
|
397
|
-
let realityTreeId;
|
|
398
|
-
// A GATE MUST NOT REPORT ITS OWN BLINDNESS AS A VERDICT. The reconciliation
|
|
399
|
-
// sets this when it has a declared-DE target to judge but the evidence is
|
|
400
|
-
// empty of anything the achieved DE can be authored from -- it then renders
|
|
401
|
-
// NO verdict (match/legitimate_divergence/shortfall) and returns the
|
|
402
|
-
// instrument-fault signal instead. Handled below as a distinct non-verdict
|
|
403
|
-
// hold, never as a shortfall.
|
|
404
|
-
let evidenceUnavailable = false;
|
|
405
|
-
if (deps.authorTargetRestatements) {
|
|
406
|
-
try {
|
|
407
|
-
const reconciled = await deps.authorTargetRestatements(v.injectionNodeId, v.focusId, evidence, !coverage.complete || attributionFailure !== null);
|
|
408
|
-
restatements = reconciled.restatements;
|
|
409
|
-
shortfalls = reconciled.shortfalls;
|
|
410
|
-
realityTreeId = reconciled.realityTreeId;
|
|
411
|
-
evidenceUnavailable = reconciled.evidenceUnavailable === true;
|
|
412
|
-
}
|
|
413
|
-
catch (err) {
|
|
414
|
-
// A reconciliation we could not run at all is asymmetric-unsafe: do not
|
|
415
|
-
// flip an injection whose achievement we could not verify. Treat the
|
|
416
|
-
// whole injection as a shortfall and hold the gate.
|
|
417
|
-
log.warn(`[verification] verify-time reconciliation failed for ${v.injectionNodeId}:`, err.message);
|
|
418
|
-
shortfalls = [{
|
|
419
|
-
nodeId: v.injectionNodeId,
|
|
420
|
-
declaredStatement: '(unknown -- reconciliation failed)',
|
|
421
|
-
achievedStatement: '(reconciliation failed)',
|
|
422
|
-
reason: `Reconciliation failed: ${err.message}`,
|
|
423
|
-
}];
|
|
424
|
-
}
|
|
425
|
-
}
|
|
426
|
-
if (evidenceUnavailable) {
|
|
427
|
-
// Instrument fault: the reconciliation had a declared DE to judge but
|
|
428
|
-
// could not vouch for the evidence handed to it -- EMPTY (nothing
|
|
429
|
-
// judgeable) or INCOMPLETE (half-blind: the range covered only part of
|
|
430
|
-
// the recorded commit set) -- so it rendered no verdict. It is NOT a
|
|
431
|
-
// shortfall (the gate is blind, not the work short) and -- per "A hold
|
|
432
|
-
// must name a human act" (2026-07-28) -- it is NOT an operator escalation
|
|
433
|
-
// either: "fix the diff range / confirm the merge" names no act only a
|
|
434
|
-
// human can perform. Route it into the EXISTING bounded verify_failed
|
|
435
|
-
// re-work cycle (below, via deps.requeueEvidenceUnavailableAsRework),
|
|
436
|
-
// demoting to 'failed' exactly as a shortfall does so the reconciler
|
|
437
|
-
// steps verify -> verify_failed and the iteration cap bounds it. Where the
|
|
438
|
-
// resolver CAN recover the diff (a real merge commit), this branch is
|
|
439
|
-
// never reached and a verdict is rendered instead.
|
|
440
|
-
const commitsAhead = deps.resolveCommitsAhead ? deps.resolveCommitsAhead(v) : 0;
|
|
441
|
-
// HALF-BLIND (incomplete) vs fully blind (empty): when the resolved range
|
|
442
|
-
// covered only part of the recorded commit set, carry the coverage so the
|
|
443
|
-
// hold names the blind spot rather than reporting "no evidence".
|
|
444
|
-
const isIncomplete = !coverage.complete && coverage.recorded > 0;
|
|
445
|
-
// FULLY BLIND (no source at all): re-walk the four diff sources and record
|
|
446
|
-
// why each was empty, so a second fast-forward blinding is diagnosable from
|
|
447
|
-
// the daemon log alone (the 2026-08-15 investigation could not get past "the
|
|
448
|
-
// surviving source returned nothing"). Only for the empty-source case: a
|
|
449
|
-
// half-blind / attribution-failure hold DID resolve a source, so a four-
|
|
450
|
-
// source dry diagnosis would not describe its fault.
|
|
451
|
-
const isFullyBlind = !attributionFailure && !isIncomplete;
|
|
452
|
-
let sourceDiagnostics;
|
|
453
|
-
// INSTRUMENT-READ fault: did the durable record fail to READ (API
|
|
454
|
-
// unreachable), as opposed to reading fine and confirming nothing? Probed
|
|
455
|
-
// only on the fully-blind path, where it names WHICH seam went blind so a
|
|
456
|
-
// "could not determine" is never reported as "there is nothing here".
|
|
457
|
-
let instrumentUndetermined = null;
|
|
458
|
-
if (isFullyBlind) {
|
|
459
|
-
try {
|
|
460
|
-
sourceDiagnostics = diagnoseEmptyDiffSource(resolveDiffCwd(v, deps), deps.integrationBranch, recordedMergeShaForVerifyImpl(v), recordedCommitShas, recordedPreMergeRef, v.deliveryId).map((p) => ({ source: p.source, reason: p.reason }));
|
|
461
|
-
}
|
|
462
|
-
catch (err) {
|
|
463
|
-
log.debug(`[verification] source diagnosis failed for delivery ${v.deliveryId}:`, err.message);
|
|
464
|
-
}
|
|
465
|
-
if (deps.resolveEvidenceInstrumentFault) {
|
|
466
|
-
try {
|
|
467
|
-
instrumentUndetermined = await deps.resolveEvidenceInstrumentFault(v);
|
|
468
|
-
}
|
|
469
|
-
catch (err) {
|
|
470
|
-
log.debug(`[verification] instrument-fault probe failed for delivery ${v.deliveryId}:`, err.message);
|
|
471
|
-
}
|
|
472
|
-
}
|
|
473
|
-
// Prepend the read-fault as its own diagnostic source so the blind-source
|
|
474
|
-
// line names the seam that could not be determined, distinctly from the
|
|
475
|
-
// topology sources that were read and found empty.
|
|
476
|
-
if (instrumentUndetermined) {
|
|
477
|
-
sourceDiagnostics = [
|
|
478
|
-
{ source: instrumentUndetermined.seam, reason: `undetermined (could not read record: ${instrumentUndetermined.reason})` },
|
|
479
|
-
...(sourceDiagnostics ?? []),
|
|
480
|
-
];
|
|
481
|
-
}
|
|
482
|
-
}
|
|
483
|
-
evidenceUnavailableHold = {
|
|
484
|
-
missing: describeMissingJudgeEvidence(evidence),
|
|
485
|
-
commitsAhead,
|
|
486
|
-
...(isIncomplete ? { coverage: { recorded: coverage.recorded, covered: coverage.covered } } : {}),
|
|
487
|
-
...(attributionFailure
|
|
488
|
-
? { attribution: { batch: attributionFailure.batch, parsed: 0, deliveries: attributionFailure.deliveries } }
|
|
489
|
-
: {}),
|
|
490
|
-
...(sourceDiagnostics && sourceDiagnostics.length > 0 ? { sourceDiagnostics } : {}),
|
|
491
|
-
...(instrumentUndetermined ? { instrumentUndetermined } : {}),
|
|
492
|
-
};
|
|
493
|
-
result.outcome = 'failed';
|
|
494
|
-
result.rationale = attributionFailure
|
|
495
|
-
? `verify unattributable (total attribution failure): none of the ${attributionFailure.batch} ` +
|
|
496
|
-
`merged-batch commit(s) carry a parseable Telora-Delivery trailer on a ` +
|
|
497
|
-
`${attributionFailure.deliveries}-delivery focus, so the batch cannot be partitioned and this ` +
|
|
498
|
-
`delivery would be judged against the combined sibling diff -- the gate renders no verdict; ` +
|
|
499
|
-
`re-entering bounded re-work (injection ${v.injectionNodeId} not flipped)`
|
|
500
|
-
: isIncomplete
|
|
501
|
-
? `verify half-blind (instrument fault): resolved diff covers only ${coverage.covered}/` +
|
|
502
|
-
`${coverage.recorded} of the delivery's recorded commits -- the gate cannot vouch for a ` +
|
|
503
|
-
`verdict rendered against part of the work; re-entering bounded re-work ` +
|
|
504
|
-
`(injection ${v.injectionNodeId} not flipped)`
|
|
505
|
-
: instrumentUndetermined
|
|
506
|
-
? `verify blind (instrument READ fault): could not read the durable record ` +
|
|
507
|
-
`(${instrumentUndetermined.seam}: ${instrumentUndetermined.reason}) -- "could not determine", ` +
|
|
508
|
-
`NOT "no evidence"; re-entering bounded re-work (injection ${v.injectionNodeId} not flipped)`
|
|
509
|
-
: commitsAhead > 0
|
|
510
|
-
? `verify blind (instrument fault): delivery branch is ${commitsAhead} commit(s) ahead of ` +
|
|
511
|
-
`${deps.integrationBranch} but the resolved diff is empty -- broken diff measurement, ` +
|
|
512
|
-
`not a shortfall; re-entering bounded re-work (injection ${v.injectionNodeId} not flipped)`
|
|
513
|
-
: `verify blind (instrument fault): no diff/changed-files/inspection evidence to judge the ` +
|
|
514
|
-
`work -- the gate is blind, not the work short; re-entering bounded re-work ` +
|
|
515
|
-
`(injection ${v.injectionNodeId} not flipped)`;
|
|
516
|
-
log.warn(`[verification] ${result.rationale} (delivery ${v.deliveryId})`);
|
|
517
|
-
// Diagnostic record: name each consulted source and why it was empty, at
|
|
518
|
-
// the SAME warn level as the rationale (no level bump), so a repeat
|
|
519
|
-
// fast-forward blinding is diagnosable via `telora-daemon logs` without
|
|
520
|
-
// database access.
|
|
521
|
-
if (sourceDiagnostics && sourceDiagnostics.length > 0) {
|
|
522
|
-
const diag = sourceDiagnostics.map((p) => `${p.source}: ${p.reason}`).join('; ');
|
|
523
|
-
log.warn(`[verification] blind-source diagnosis (delivery ${v.deliveryId}): ${diag}`);
|
|
524
|
-
}
|
|
525
|
-
}
|
|
526
|
-
else if (shortfalls.length > 0) {
|
|
527
|
-
// Hold the gate, do NOT flip. A shortfall is an EXECUTION gap the team
|
|
528
|
-
// that produced it can close, not an intent question for a human -- so
|
|
529
|
-
// it re-enters the loop as bounded re-work (via deps.deliverShortfallFeedback
|
|
530
|
-
// below, which routes verify -> verify_failed through the reconciler),
|
|
531
|
-
// never a needs_intent inbox item. The genuine human residue is the
|
|
532
|
-
// EXISTING verify_failed iteration cap (verify_gate_unclearable).
|
|
533
|
-
shortfallHold = shortfalls;
|
|
534
|
-
result.outcome = 'failed';
|
|
535
|
-
result.rationale =
|
|
536
|
-
`verify reconciliation found ${shortfalls.length} shortfall(s) vs declared intent; ` +
|
|
537
|
-
`injection ${v.injectionNodeId} not flipped (re-entering bounded re-work)`;
|
|
538
|
-
}
|
|
539
|
-
else {
|
|
540
|
-
let flipped = false;
|
|
541
|
-
try {
|
|
542
|
-
await deps.verifyInjection(v.injectionNodeId, restatements);
|
|
543
|
-
flipped = true;
|
|
544
|
-
}
|
|
545
|
-
catch (err) {
|
|
546
|
-
result.outcome = 'pending';
|
|
547
|
-
result.rationale = `verifyInjection failed for ${v.injectionNodeId}: ${err.message}`;
|
|
548
|
-
}
|
|
549
|
-
// INWARD drift (TEL-3/TEL-4): any target the reconciliation stamped
|
|
550
|
-
// `legitimate_divergence` is a tree CLAIM reality contradicted. Surface
|
|
551
|
-
// each as an inward drift proposal -- AFTER the flip landed -- so a
|
|
552
|
-
// confident-but-wrong assertion is corrected by drift rather than
|
|
553
|
-
// frozen. observedState carries the tree's ORIGINAL claim (not the
|
|
554
|
-
// achieved reality); proposedCorrection carries what reality showed.
|
|
555
|
-
// Best-effort + non-fatal: a failure must not undo the verify flip.
|
|
556
|
-
if (flipped) {
|
|
557
|
-
const divergedWritebacks = restatements
|
|
558
|
-
.filter((r) => r.classification === 'legitimate_divergence')
|
|
559
|
-
.map((r) => ({
|
|
560
|
-
nodeId: r.nodeId,
|
|
561
|
-
classification: 'legitimate_divergence',
|
|
562
|
-
statement: r.statement,
|
|
563
|
-
originalClaim: r.originalClaim,
|
|
564
|
-
...(r.divergenceReason ? { verifyDivergenceReason: r.divergenceReason } : {}),
|
|
565
|
-
}));
|
|
566
|
-
if (divergedWritebacks.length > 0) {
|
|
567
|
-
try {
|
|
568
|
-
await deps.emitInwardDrift(v.injectionNodeId, divergedWritebacks, realityTreeId);
|
|
569
|
-
}
|
|
570
|
-
catch (err) {
|
|
571
|
-
log.warn(`[verification] inward drift emit failed for ${v.injectionNodeId}:`, err.message);
|
|
572
|
-
}
|
|
573
|
-
}
|
|
574
|
-
}
|
|
575
|
-
}
|
|
576
|
-
}
|
|
577
|
-
}
|
|
578
|
-
await deps.recordOutcome(v.deliveryId, result.outcome);
|
|
579
|
-
// Feedback dispatch by FAILURE ORIGIN. The three origins are mutually
|
|
580
|
-
// exclusive: a shortfall / instrument-fault hold only demotes a PASSED
|
|
581
|
-
// outcome, so a deterministic-failed run carries neither.
|
|
582
|
-
//
|
|
583
|
-
// Instrument-fault re-work FIRST: the verify path was handed nothing to judge,
|
|
584
|
-
// so it re-enters the bounded verify_failed re-work cycle (carrying the
|
|
585
|
-
// instrument-fault context in gate_state under the evidence-unavailable guard)
|
|
586
|
-
// and files NO escalation -- an empty bundle names no human-only act, so it
|
|
587
|
-
// never reaches a human inbox. Distinct guard from the deterministic/shortfall
|
|
588
|
-
// holds; the iteration cap (verify_gate_unclearable) is the sole residue.
|
|
589
|
-
if (evidenceUnavailableHold && deps.requeueEvidenceUnavailableAsRework) {
|
|
590
|
-
try {
|
|
591
|
-
await deps.requeueEvidenceUnavailableAsRework(v, evidenceUnavailableHold);
|
|
592
|
-
}
|
|
593
|
-
catch (err) {
|
|
594
|
-
log.warn(`[verification] evidence-unavailable re-work failed for delivery ${v.deliveryId}:`, err.message);
|
|
595
|
-
}
|
|
596
|
-
}
|
|
597
|
-
else if (shortfallHold.length > 0 && deps.deliverShortfallFeedback) {
|
|
598
|
-
try {
|
|
599
|
-
await deps.deliverShortfallFeedback(v, shortfallHold);
|
|
600
|
-
}
|
|
601
|
-
catch (err) {
|
|
602
|
-
log.warn(`[verification] shortfall feedback failed for delivery ${v.deliveryId}:`, err.message);
|
|
603
|
-
}
|
|
604
|
-
}
|
|
605
|
-
else if (result.outcome === 'failed' && v.verificationMethod === 'deterministic' && deps.deliverFailureFeedback) {
|
|
606
|
-
// Genuine deterministic failure (the shell command actually failed): write
|
|
607
|
-
// gate_state under deterministic_verification + inject. Best-effort.
|
|
608
|
-
try {
|
|
609
|
-
await deps.deliverFailureFeedback(v, result);
|
|
610
|
-
}
|
|
611
|
-
catch (err) {
|
|
612
|
-
log.warn(`[verification] failure feedback failed for delivery ${v.deliveryId}:`, err.message);
|
|
613
|
-
}
|
|
614
|
-
}
|
|
615
|
-
// Drift emission is independent of verdict — a 'passed' inspection can
|
|
616
|
-
// still observe contradictions to other CRT statements.
|
|
617
|
-
const inspection = result.inspection;
|
|
618
|
-
if (inspection && inspection.driftObservations.length > 0) {
|
|
619
|
-
for (const obs of inspection.driftObservations) {
|
|
620
|
-
try {
|
|
621
|
-
await deps.emitDriftProposal({
|
|
622
|
-
focusId: v.focusId,
|
|
623
|
-
productId: v.productId,
|
|
624
|
-
injectionNodeId: v.injectionNodeId,
|
|
625
|
-
observation: obs,
|
|
626
|
-
});
|
|
627
|
-
}
|
|
628
|
-
catch (err) {
|
|
629
|
-
log.warn(`[verification] drift proposal emit failed for delivery ${v.deliveryId}:`, err.message);
|
|
630
|
-
}
|
|
631
|
-
}
|
|
632
|
-
}
|
|
633
|
-
return result;
|
|
634
|
-
}
|
|
635
|
-
/**
|
|
636
|
-
* One tick: fetch pending verifications across products, dispatch each.
|
|
637
|
-
* Returns counts for telemetry.
|
|
638
|
-
*/
|
|
639
|
-
export async function runVerificationTick(config, deps) {
|
|
640
|
-
const merged = { ...defaultDeps(config), ...deps };
|
|
641
|
-
const counts = { checked: 0, passed: 0, failed: 0, pending: 0, escalated: 0 };
|
|
642
|
-
// Resolve the default-on config PER PRODUCT, from each product's own scoped
|
|
643
|
-
// config -- the manifest layer is read from `config.repoPath`, so resolving
|
|
644
|
-
// once from the un-scoped top-level config made every product's gate a
|
|
645
|
-
// function of the daemon's launch directory (and silently dropped the
|
|
646
|
-
// per-product products[].defaultVerification override). A malformed manifest
|
|
647
|
-
// is contained to its own product there; see resolveProductVerificationScopes.
|
|
648
|
-
const scopes = resolveProductVerificationScopes(config, merged.resolveDefaultVerification);
|
|
649
|
-
// The concurrency cap is DAEMON-WIDE (the semaphore is a module-level
|
|
650
|
-
// singleton guarding this host's CPU/RAM), so it is set ONCE from a single
|
|
651
|
-
// order-independent value rather than per-product inside the loop, where the
|
|
652
|
-
// last product iterated would silently win. See resolveDaemonWideVerifyCap for
|
|
653
|
-
// the rule (min across products) and why.
|
|
654
|
-
verificationSemaphore.setLimit(resolveDaemonWideVerifyCap(scopes));
|
|
655
|
-
for (const { product, productConfig, resolved } of scopes) {
|
|
656
|
-
let pending;
|
|
657
|
-
try {
|
|
658
|
-
pending = await merged.getPendingVerifications(product.id);
|
|
659
|
-
}
|
|
660
|
-
catch (err) {
|
|
661
|
-
log.warn(`[verification] fetch failed for product ${product.id}:`, err.message);
|
|
662
|
-
continue;
|
|
663
|
-
}
|
|
664
|
-
// Default-on: append deterministic runs for verify deliveries with no
|
|
665
|
-
// explicit method (the whole-repo suite the daemon now owns). Inert when
|
|
666
|
-
// no default command is configured for THIS product (resolved.enabled ===
|
|
667
|
-
// false) or when its config could not be resolved at all (resolved ===
|
|
668
|
-
// undefined -- malformed manifest, already logged at ERROR above).
|
|
669
|
-
const explicitIds = new Set(pending.map((p) => p.deliveryId));
|
|
670
|
-
let defaultOn = [];
|
|
671
|
-
if (resolved) {
|
|
672
|
-
try {
|
|
673
|
-
defaultOn = await collectDefaultOnVerifications(productConfig, resolved, explicitIds, merged);
|
|
674
|
-
}
|
|
675
|
-
catch (err) {
|
|
676
|
-
log.warn(`[verification] default-on scan failed for product ${product.id}:`, err.message);
|
|
677
|
-
}
|
|
678
|
-
}
|
|
679
|
-
for (const v of [...pending, ...defaultOn]) {
|
|
680
|
-
counts.checked += 1;
|
|
681
|
-
// Mark default-on candidates as run BEFORE dispatch so a mid-run failure
|
|
682
|
-
// does not re-enqueue the same 30-min suite on the next tick.
|
|
683
|
-
if (v.verificationOutcome === null && !explicitIds.has(v.deliveryId)) {
|
|
684
|
-
markDefaultOnRan(v.deliveryId);
|
|
685
|
-
}
|
|
686
|
-
// Cap concurrent whole-repo runs across overlapping ticks.
|
|
687
|
-
await verificationSemaphore.acquire();
|
|
688
|
-
try {
|
|
689
|
-
const r = await runVerificationForDelivery(v, merged);
|
|
690
|
-
counts[r.outcome] = (counts[r.outcome] ?? 0) + 1;
|
|
691
|
-
}
|
|
692
|
-
catch (err) {
|
|
693
|
-
log.warn(`[verification] tick failed for delivery ${v.deliveryId}:`, err.message);
|
|
694
|
-
}
|
|
695
|
-
finally {
|
|
696
|
-
verificationSemaphore.release();
|
|
697
|
-
}
|
|
698
|
-
}
|
|
699
|
-
}
|
|
700
|
-
// Clean-environment install probe (Review Gate Hardening, deferrable): an
|
|
701
|
-
// ADDITIONAL, out-of-band pass over manifest-touching verify deliveries,
|
|
702
|
-
// independent of verification_method. Writes the probe result into gate_state.
|
|
703
|
-
// Best-effort -- never aborts the verification tick.
|
|
704
|
-
try {
|
|
705
|
-
const probe = await runInstallProbeTick(config);
|
|
706
|
-
if (probe.probesRun > 0) {
|
|
707
|
-
log.info(`[install-probe] tick: focusesScanned=${probe.focusesScanned} probesRun=${probe.probesRun} ` +
|
|
708
|
-
`blocked=${probe.deliveriesBlocked} unverifiable=${probe.deliveriesUnverifiable}`);
|
|
709
|
-
}
|
|
710
|
-
}
|
|
711
|
-
catch (err) {
|
|
712
|
-
log.warn('[install-probe] tick failed:', err.message);
|
|
713
|
-
}
|
|
714
|
-
return counts;
|
|
715
|
-
}
|
|
716
|
-
//# sourceMappingURL=verification-engine.js.map
|