@telora/daemon 0.20.4 → 0.20.19
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 +13 -3
- package/dist/ai-inspection-context.d.ts.map +1 -1
- package/dist/ai-inspection-context.js +5 -3
- package/dist/ai-inspection-context.js.map +1 -1
- package/dist/assembly-engine.d.ts.map +1 -1
- package/dist/assembly-engine.js +4 -2
- package/dist/assembly-engine.js.map +1 -1
- package/dist/audit-hooks.d.ts.map +1 -1
- package/dist/audit-hooks.js +3 -1
- package/dist/audit-hooks.js.map +1 -1
- package/dist/auth-liveness.d.ts.map +1 -1
- package/dist/auth-liveness.js +4 -2
- package/dist/auth-liveness.js.map +1 -1
- package/dist/auto-update.d.ts.map +1 -1
- package/dist/auto-update.js +14 -12
- package/dist/auto-update.js.map +1 -1
- package/dist/backends/codex/codex-backend.d.ts.map +1 -1
- package/dist/backends/codex/codex-backend.js +4 -2
- package/dist/backends/codex/codex-backend.js.map +1 -1
- package/dist/backends/codex/codex-mcp-proxy.d.ts.map +1 -1
- package/dist/backends/codex/codex-mcp-proxy.js +3 -1
- package/dist/backends/codex/codex-mcp-proxy.js.map +1 -1
- package/dist/backends/lacuna/lifecycle.d.ts.map +1 -1
- package/dist/backends/lacuna/lifecycle.js +4 -2
- package/dist/backends/lacuna/lifecycle.js.map +1 -1
- package/dist/backends/resolve.d.ts.map +1 -1
- package/dist/backends/resolve.js +3 -1
- package/dist/backends/resolve.js.map +1 -1
- package/dist/cascade-restatement.d.ts.map +1 -1
- package/dist/cascade-restatement.js +15 -13
- package/dist/cascade-restatement.js.map +1 -1
- package/dist/ci-escalation.d.ts.map +1 -1
- package/dist/ci-escalation.js +4 -2
- package/dist/ci-escalation.js.map +1 -1
- package/dist/ci-sensor-loop.d.ts.map +1 -1
- package/dist/ci-sensor-loop.js +6 -4
- package/dist/ci-sensor-loop.js.map +1 -1
- package/dist/ci-status-git.d.ts +5 -6
- package/dist/ci-status-git.d.ts.map +1 -1
- package/dist/ci-status-git.js +7 -7
- package/dist/ci-status-git.js.map +1 -1
- package/dist/cli/connect.d.ts.map +1 -1
- package/dist/cli/connect.js +9 -2
- package/dist/cli/connect.js.map +1 -1
- package/dist/cli/open.d.ts.map +1 -1
- package/dist/cli/open.js +9 -2
- package/dist/cli/open.js.map +1 -1
- package/dist/cli/session-state.d.ts.map +1 -1
- package/dist/cli/session-state.js +2 -0
- package/dist/cli/session-state.js.map +1 -1
- package/dist/cli/verify-setup.d.ts.map +1 -1
- package/dist/cli/verify-setup.js +9 -4
- package/dist/cli/verify-setup.js.map +1 -1
- package/dist/close-loop-dispatcher.d.ts.map +1 -1
- package/dist/close-loop-dispatcher.js +6 -4
- package/dist/close-loop-dispatcher.js.map +1 -1
- package/dist/completion/advanceability.d.ts.map +1 -1
- package/dist/completion/advanceability.js +3 -1
- package/dist/completion/advanceability.js.map +1 -1
- package/dist/completion/agent-completion.d.ts.map +1 -1
- package/dist/completion/agent-completion.js +11 -9
- package/dist/completion/agent-completion.js.map +1 -1
- package/dist/completion/event-escalations.d.ts.map +1 -1
- package/dist/completion/event-escalations.js +10 -8
- package/dist/completion/event-escalations.js.map +1 -1
- package/dist/completion/event-phases.d.ts +104 -0
- package/dist/completion/event-phases.d.ts.map +1 -0
- package/dist/completion/event-phases.js +572 -0
- package/dist/completion/event-phases.js.map +1 -0
- package/dist/completion/event.d.ts +1 -1
- package/dist/completion/event.d.ts.map +1 -1
- package/dist/completion/event.js +36 -592
- package/dist/completion/event.js.map +1 -1
- package/dist/completion/merge-phase.d.ts.map +1 -1
- package/dist/completion/merge-phase.js +14 -12
- package/dist/completion/merge-phase.js.map +1 -1
- package/dist/completion/read-only-pristine.d.ts.map +1 -1
- package/dist/completion/read-only-pristine.js +6 -4
- package/dist/completion/read-only-pristine.js.map +1 -1
- package/dist/completion/review-exit-phase.d.ts +2 -0
- package/dist/completion/review-exit-phase.d.ts.map +1 -1
- package/dist/completion/review-exit-phase.js +86 -30
- package/dist/completion/review-exit-phase.js.map +1 -1
- package/dist/completion/review-exit-shortfall.d.ts +62 -0
- package/dist/completion/review-exit-shortfall.d.ts.map +1 -0
- package/dist/completion/review-exit-shortfall.js +84 -0
- package/dist/completion/review-exit-shortfall.js.map +1 -0
- package/dist/completion/status-advance-phase.d.ts.map +1 -1
- package/dist/completion/status-advance-phase.js +16 -14
- package/dist/completion/status-advance-phase.js.map +1 -1
- package/dist/completion/team-completion.d.ts.map +1 -1
- package/dist/completion/team-completion.js +16 -14
- package/dist/completion/team-completion.js.map +1 -1
- package/dist/completion/team-lifecycle.d.ts.map +1 -1
- package/dist/completion/team-lifecycle.js +32 -33
- package/dist/completion/team-lifecycle.js.map +1 -1
- package/dist/completion/terminated-work-reconcile.d.ts.map +1 -1
- package/dist/completion/terminated-work-reconcile.js +11 -9
- package/dist/completion/terminated-work-reconcile.js.map +1 -1
- package/dist/condition-evaluators.d.ts.map +1 -1
- package/dist/condition-evaluators.js +3 -1
- package/dist/condition-evaluators.js.map +1 -1
- package/dist/config-reconcile.d.ts.map +1 -1
- package/dist/config-reconcile.js +3 -1
- package/dist/config-reconcile.js.map +1 -1
- package/dist/config.d.ts +4 -4
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +39 -37
- package/dist/config.js.map +1 -1
- package/dist/control-state.d.ts.map +1 -1
- package/dist/control-state.js +26 -24
- package/dist/control-state.js.map +1 -1
- package/dist/crash-recovery.d.ts.map +1 -1
- package/dist/crash-recovery.js +43 -41
- package/dist/crash-recovery.js.map +1 -1
- package/dist/daemon-logs.d.ts.map +1 -1
- package/dist/daemon-logs.js +21 -3
- package/dist/daemon-logs.js.map +1 -1
- package/dist/daemon-process.d.ts +0 -1
- package/dist/daemon-process.d.ts.map +1 -1
- package/dist/daemon-process.js +15 -10
- package/dist/daemon-process.js.map +1 -1
- package/dist/delivery-advance-block.d.ts +4 -4
- package/dist/delivery-advance-block.d.ts.map +1 -1
- package/dist/delivery-advance-block.js +25 -18
- package/dist/delivery-advance-block.js.map +1 -1
- package/dist/delivery-guards.d.ts.map +1 -1
- package/dist/delivery-guards.js +11 -9
- package/dist/delivery-guards.js.map +1 -1
- package/dist/delivery-lifecycle.d.ts.map +1 -1
- package/dist/delivery-lifecycle.js +23 -21
- package/dist/delivery-lifecycle.js.map +1 -1
- package/dist/delivery-merge.d.ts.map +1 -1
- package/dist/delivery-merge.js +10 -8
- package/dist/delivery-merge.js.map +1 -1
- package/dist/delivery-reconciler-apply.d.ts.map +1 -1
- package/dist/delivery-reconciler-apply.js +5 -8
- package/dist/delivery-reconciler-apply.js.map +1 -1
- package/dist/delivery-reconciler-shadow.d.ts.map +1 -1
- package/dist/delivery-reconciler-shadow.js +5 -6
- package/dist/delivery-reconciler-shadow.js.map +1 -1
- package/dist/directive/close-loop-stage.d.ts.map +1 -1
- package/dist/directive/close-loop-stage.js +9 -7
- package/dist/directive/close-loop-stage.js.map +1 -1
- package/dist/directive/directive-assembly.d.ts.map +1 -1
- package/dist/directive/directive-assembly.js +3 -1
- package/dist/directive/directive-assembly.js.map +1 -1
- package/dist/directive/directive-dispatch.d.ts.map +1 -1
- package/dist/directive/directive-dispatch.js +16 -14
- package/dist/directive/directive-dispatch.js.map +1 -1
- package/dist/directive/directive-queue.d.ts +27 -0
- package/dist/directive/directive-queue.d.ts.map +1 -1
- package/dist/directive/directive-queue.js +28 -0
- package/dist/directive/directive-queue.js.map +1 -1
- package/dist/directive/phase-sync.d.ts.map +1 -1
- package/dist/directive/phase-sync.js +8 -6
- package/dist/directive/phase-sync.js.map +1 -1
- package/dist/directive-executor.d.ts +1 -1
- package/dist/directive-executor.d.ts.map +1 -1
- package/dist/directive-executor.js +12 -10
- package/dist/directive-executor.js.map +1 -1
- package/dist/discovery-poll.d.ts.map +1 -1
- package/dist/discovery-poll.js +8 -6
- package/dist/discovery-poll.js.map +1 -1
- package/dist/drain-teardown.d.ts.map +1 -1
- package/dist/drain-teardown.js +6 -19
- package/dist/drain-teardown.js.map +1 -1
- package/dist/drift-eval-loop.d.ts.map +1 -1
- package/dist/drift-eval-loop.js +10 -8
- package/dist/drift-eval-loop.js.map +1 -1
- package/dist/drift-ratify-loop.d.ts +68 -0
- package/dist/drift-ratify-loop.d.ts.map +1 -0
- package/dist/drift-ratify-loop.js +161 -0
- package/dist/drift-ratify-loop.js.map +1 -0
- package/dist/drift-ratify-policy.d.ts +101 -0
- package/dist/drift-ratify-policy.d.ts.map +1 -0
- package/dist/drift-ratify-policy.js +178 -0
- package/dist/drift-ratify-policy.js.map +1 -0
- package/dist/escalation-provenance.d.ts.map +1 -1
- package/dist/escalation-provenance.js +8 -3
- package/dist/escalation-provenance.js.map +1 -1
- package/dist/focus-engine.d.ts.map +1 -1
- package/dist/focus-engine.js +36 -34
- package/dist/focus-engine.js.map +1 -1
- package/dist/focus-executor.d.ts +1 -0
- package/dist/focus-executor.d.ts.map +1 -1
- package/dist/focus-executor.js +16 -14
- package/dist/focus-executor.js.map +1 -1
- package/dist/focus-lifecycle.d.ts.map +1 -1
- package/dist/focus-lifecycle.js +56 -44
- package/dist/focus-lifecycle.js.map +1 -1
- package/dist/focus-loop-registry.d.ts.map +1 -1
- package/dist/focus-loop-registry.js +87 -36
- package/dist/focus-loop-registry.js.map +1 -1
- package/dist/focus-merge.d.ts.map +1 -1
- package/dist/focus-merge.js +40 -34
- package/dist/focus-merge.js.map +1 -1
- package/dist/focus-provisioning.d.ts.map +1 -1
- package/dist/focus-provisioning.js +15 -13
- package/dist/focus-provisioning.js.map +1 -1
- package/dist/focus-respawn-guard.d.ts.map +1 -1
- package/dist/focus-respawn-guard.js +4 -2
- package/dist/focus-respawn-guard.js.map +1 -1
- package/dist/focus-stage-lifecycle/planning-release.d.ts.map +1 -1
- package/dist/focus-stage-lifecycle/planning-release.js +10 -8
- package/dist/focus-stage-lifecycle/planning-release.js.map +1 -1
- package/dist/focus-stage-lifecycle/review-convergence.d.ts.map +1 -1
- package/dist/focus-stage-lifecycle/review-convergence.js +11 -9
- package/dist/focus-stage-lifecycle/review-convergence.js.map +1 -1
- package/dist/focus-stage-lifecycle/wedge-watchdog.d.ts.map +1 -1
- package/dist/focus-stage-lifecycle/wedge-watchdog.js +7 -5
- package/dist/focus-stage-lifecycle/wedge-watchdog.js.map +1 -1
- package/dist/focus-stage-lifecycle.d.ts.map +1 -1
- package/dist/focus-stage-lifecycle.js +7 -5
- package/dist/focus-stage-lifecycle.js.map +1 -1
- package/dist/focus-team-state.d.ts +18 -9
- package/dist/focus-team-state.d.ts.map +1 -1
- package/dist/focus-team-state.js +37 -18
- package/dist/focus-team-state.js.map +1 -1
- package/dist/focus-worktree-state.d.ts.map +1 -1
- package/dist/focus-worktree-state.js +6 -4
- package/dist/focus-worktree-state.js.map +1 -1
- package/dist/git/branch.d.ts.map +1 -1
- package/dist/git/branch.js +7 -5
- package/dist/git/branch.js.map +1 -1
- package/dist/git/genesis.d.ts.map +1 -1
- package/dist/git/genesis.js +3 -1
- package/dist/git/genesis.js.map +1 -1
- package/dist/git/integration.d.ts.map +1 -1
- package/dist/git/integration.js +4 -2
- package/dist/git/integration.js.map +1 -1
- package/dist/git/merge-helpers.d.ts.map +1 -1
- package/dist/git/merge-helpers.js +6 -4
- package/dist/git/merge-helpers.js.map +1 -1
- package/dist/git/merge-lock.d.ts +0 -7
- package/dist/git/merge-lock.d.ts.map +1 -1
- package/dist/git/merge-lock.js +5 -3
- package/dist/git/merge-lock.js.map +1 -1
- package/dist/git/merge.d.ts.map +1 -1
- package/dist/git/merge.js +10 -8
- package/dist/git/merge.js.map +1 -1
- package/dist/git/state-detector.d.ts.map +1 -1
- package/dist/git/state-detector.js +9 -7
- package/dist/git/state-detector.js.map +1 -1
- package/dist/git/utils.d.ts.map +1 -1
- package/dist/git/utils.js +6 -4
- package/dist/git/utils.js.map +1 -1
- package/dist/git.d.ts.map +1 -1
- package/dist/git.js +16 -14
- package/dist/git.js.map +1 -1
- package/dist/guard-evaluator.d.ts.map +1 -1
- package/dist/guard-evaluator.js +3 -1
- package/dist/guard-evaluator.js.map +1 -1
- package/dist/heartbeat.d.ts.map +1 -1
- package/dist/heartbeat.js +14 -11
- package/dist/heartbeat.js.map +1 -1
- package/dist/host-control/catalog.d.ts.map +1 -1
- package/dist/host-control/catalog.js +4 -2
- package/dist/host-control/catalog.js.map +1 -1
- package/dist/host-control/client.d.ts.map +1 -1
- package/dist/host-control/client.js +3 -1
- package/dist/host-control/client.js.map +1 -1
- package/dist/host-control/sizing.d.ts.map +1 -1
- package/dist/host-control/sizing.js +4 -1
- package/dist/host-control/sizing.js.map +1 -1
- package/dist/index.js +110 -127
- package/dist/index.js.map +1 -1
- package/dist/install-probe-tick.d.ts.map +1 -1
- package/dist/install-probe-tick.js +6 -4
- package/dist/install-probe-tick.js.map +1 -1
- package/dist/intake-control.d.ts +0 -16
- package/dist/intake-control.d.ts.map +1 -1
- package/dist/intake-control.js +4 -2
- package/dist/intake-control.js.map +1 -1
- package/dist/listener-auto-advance.d.ts.map +1 -1
- package/dist/listener-auto-advance.js +26 -24
- package/dist/listener-auto-advance.js.map +1 -1
- package/dist/listener.d.ts.map +1 -1
- package/dist/listener.js +59 -39
- package/dist/listener.js.map +1 -1
- package/dist/log.d.ts +84 -0
- package/dist/log.d.ts.map +1 -0
- package/dist/log.js +182 -0
- package/dist/log.js.map +1 -0
- package/dist/loops/context-audit-pass.d.ts.map +1 -1
- package/dist/loops/context-audit-pass.js +8 -5
- package/dist/loops/context-audit-pass.js.map +1 -1
- package/dist/loops/engine.d.ts.map +1 -1
- package/dist/loops/engine.js +26 -24
- package/dist/loops/engine.js.map +1 -1
- package/dist/loops/llm-client.d.ts.map +1 -1
- package/dist/loops/llm-client.js +4 -2
- package/dist/loops/llm-client.js.map +1 -1
- package/dist/loops/llm-flag.d.ts +4 -28
- package/dist/loops/llm-flag.d.ts.map +1 -1
- package/dist/loops/llm-flag.js +11 -30
- package/dist/loops/llm-flag.js.map +1 -1
- package/dist/loops/prompt-builder.d.ts.map +1 -1
- package/dist/loops/prompt-builder.js +3 -1
- package/dist/loops/prompt-builder.js.map +1 -1
- package/dist/merge-back-loop.d.ts.map +1 -1
- package/dist/merge-back-loop.js +20 -18
- package/dist/merge-back-loop.js.map +1 -1
- package/dist/merge-detector.d.ts.map +1 -1
- package/dist/merge-detector.js +7 -5
- package/dist/merge-detector.js.map +1 -1
- package/dist/nexus/endpoint-clearance.d.ts.map +1 -1
- package/dist/nexus/endpoint-clearance.js +3 -1
- package/dist/nexus/endpoint-clearance.js.map +1 -1
- package/dist/nexus/escalation-bridge.d.ts.map +1 -1
- package/dist/nexus/escalation-bridge.js +3 -1
- package/dist/nexus/escalation-bridge.js.map +1 -1
- package/dist/nexus/incoming.d.ts.map +1 -1
- package/dist/nexus/incoming.js +3 -1
- package/dist/nexus/incoming.js.map +1 -1
- package/dist/nexus/intake-spawn.d.ts.map +1 -1
- package/dist/nexus/intake-spawn.js +6 -4
- package/dist/nexus/intake-spawn.js.map +1 -1
- package/dist/nexus/intake.d.ts.map +1 -1
- package/dist/nexus/intake.js +3 -1
- package/dist/nexus/intake.js.map +1 -1
- package/dist/nexus/return.d.ts.map +1 -1
- package/dist/nexus/return.js +3 -1
- package/dist/nexus/return.js.map +1 -1
- package/dist/non-interactive-init.d.ts.map +1 -1
- package/dist/non-interactive-init.js +0 -0
- package/dist/non-interactive-init.js.map +1 -1
- package/dist/otlp/port-manager.d.ts.map +1 -1
- package/dist/otlp/port-manager.js +7 -5
- package/dist/otlp/port-manager.js.map +1 -1
- package/dist/otlp/receiver.d.ts.map +1 -1
- package/dist/otlp/receiver.js +14 -12
- package/dist/otlp/receiver.js.map +1 -1
- package/dist/output-monitor.d.ts.map +1 -1
- package/dist/output-monitor.js +6 -4
- package/dist/output-monitor.js.map +1 -1
- package/dist/prd/controller.d.ts.map +1 -1
- package/dist/prd/controller.js +7 -5
- package/dist/prd/controller.js.map +1 -1
- package/dist/prd/focus-pushdown.d.ts.map +1 -1
- package/dist/prd/focus-pushdown.js +3 -1
- package/dist/prd/focus-pushdown.js.map +1 -1
- package/dist/product-scaffold.d.ts.map +1 -1
- package/dist/product-scaffold.js +8 -6
- package/dist/product-scaffold.js.map +1 -1
- package/dist/prompt-sections/persona-sections.d.ts.map +1 -1
- package/dist/prompt-sections/persona-sections.js +41 -4
- package/dist/prompt-sections/persona-sections.js.map +1 -1
- package/dist/queries/context-assembly.d.ts.map +1 -1
- package/dist/queries/context-assembly.js +3 -1
- package/dist/queries/context-assembly.js.map +1 -1
- package/dist/queries/deliveries.d.ts +22 -0
- package/dist/queries/deliveries.d.ts.map +1 -1
- package/dist/queries/deliveries.js +13 -5
- package/dist/queries/deliveries.js.map +1 -1
- package/dist/queries/focuses.d.ts +9 -0
- package/dist/queries/focuses.d.ts.map +1 -1
- package/dist/queries/focuses.js +17 -1
- package/dist/queries/focuses.js.map +1 -1
- package/dist/queries/guards.d.ts.map +1 -1
- package/dist/queries/guards.js +3 -1
- package/dist/queries/guards.js.map +1 -1
- package/dist/queries/issues.d.ts.map +1 -1
- package/dist/queries/issues.js +3 -1
- package/dist/queries/issues.js.map +1 -1
- package/dist/queries/reality-tree.d.ts +22 -0
- package/dist/queries/reality-tree.d.ts.map +1 -1
- package/dist/queries/reality-tree.js +32 -0
- package/dist/queries/reality-tree.js.map +1 -1
- package/dist/queries/schemas.d.ts +2 -0
- package/dist/queries/schemas.d.ts.map +1 -1
- package/dist/queries/schemas.js +5 -0
- package/dist/queries/schemas.js.map +1 -1
- package/dist/queries/system-session.d.ts.map +1 -1
- package/dist/queries/system-session.js +5 -3
- package/dist/queries/system-session.js.map +1 -1
- package/dist/queries/verification.d.ts.map +1 -1
- package/dist/queries/verification.js +6 -4
- package/dist/queries/verification.js.map +1 -1
- package/dist/reality-pole-capture.d.ts.map +1 -1
- package/dist/reality-pole-capture.js +7 -4
- package/dist/reality-pole-capture.js.map +1 -1
- package/dist/reality-pole.d.ts.map +1 -1
- package/dist/reality-pole.js +4 -2
- package/dist/reality-pole.js.map +1 -1
- package/dist/resolvers/agent-escalations.d.ts.map +1 -1
- package/dist/resolvers/agent-escalations.js +3 -1
- package/dist/resolvers/agent-escalations.js.map +1 -1
- package/dist/resolvers/agent-session-summaries.d.ts.map +1 -1
- package/dist/resolvers/agent-session-summaries.js +3 -1
- package/dist/resolvers/agent-session-summaries.js.map +1 -1
- package/dist/resolvers/deployment-profile.d.ts.map +1 -1
- package/dist/resolvers/deployment-profile.js +3 -1
- package/dist/resolvers/deployment-profile.js.map +1 -1
- package/dist/resolvers/drift-shortfall-proposals.d.ts +27 -0
- package/dist/resolvers/drift-shortfall-proposals.d.ts.map +1 -0
- package/dist/resolvers/drift-shortfall-proposals.js +90 -0
- package/dist/resolvers/drift-shortfall-proposals.js.map +1 -0
- package/dist/resolvers/escalation-answers.d.ts.map +1 -1
- package/dist/resolvers/escalation-answers.js +4 -2
- package/dist/resolvers/escalation-answers.js.map +1 -1
- package/dist/resolvers/focus-anchoring-injections.d.ts.map +1 -1
- package/dist/resolvers/focus-anchoring-injections.js +3 -1
- package/dist/resolvers/focus-anchoring-injections.js.map +1 -1
- package/dist/resolvers/focus-injections.d.ts.map +1 -1
- package/dist/resolvers/focus-injections.js +3 -1
- package/dist/resolvers/focus-injections.js.map +1 -1
- package/dist/resolvers/focus-last-review-report.d.ts.map +1 -1
- package/dist/resolvers/focus-last-review-report.js +3 -1
- package/dist/resolvers/focus-last-review-report.js.map +1 -1
- package/dist/resolvers/focus-reality-tree.d.ts.map +1 -1
- package/dist/resolvers/focus-reality-tree.js +3 -1
- package/dist/resolvers/focus-reality-tree.js.map +1 -1
- package/dist/resolvers/git-diff-against-base.d.ts.map +1 -1
- package/dist/resolvers/git-diff-against-base.js +3 -1
- package/dist/resolvers/git-diff-against-base.js.map +1 -1
- package/dist/resolvers/guards-evaluation-results.d.ts.map +1 -1
- package/dist/resolvers/guards-evaluation-results.js +3 -1
- package/dist/resolvers/guards-evaluation-results.js.map +1 -1
- package/dist/resolvers/index.d.ts.map +1 -1
- package/dist/resolvers/index.js +2 -0
- package/dist/resolvers/index.js.map +1 -1
- package/dist/resolvers/loop-context.d.ts.map +1 -1
- package/dist/resolvers/loop-context.js +6 -2
- package/dist/resolvers/loop-context.js.map +1 -1
- package/dist/resolvers/loop-delivery-index.d.ts.map +1 -1
- package/dist/resolvers/loop-delivery-index.js +3 -1
- package/dist/resolvers/loop-delivery-index.js.map +1 -1
- package/dist/resolvers/loop-documents.d.ts.map +1 -1
- package/dist/resolvers/loop-documents.js +3 -1
- package/dist/resolvers/loop-documents.js.map +1 -1
- package/dist/resolvers/loop-expected-effects.d.ts.map +1 -1
- package/dist/resolvers/loop-expected-effects.js +3 -1
- package/dist/resolvers/loop-expected-effects.js.map +1 -1
- package/dist/resolvers/loop-frt-statement.d.ts.map +1 -1
- package/dist/resolvers/loop-frt-statement.js +3 -1
- package/dist/resolvers/loop-frt-statement.js.map +1 -1
- package/dist/resolvers/loop-injection.d.ts.map +1 -1
- package/dist/resolvers/loop-injection.js +3 -1
- package/dist/resolvers/loop-injection.js.map +1 -1
- package/dist/resolvers/loop-persona.d.ts.map +1 -1
- package/dist/resolvers/loop-persona.js +3 -1
- package/dist/resolvers/loop-persona.js.map +1 -1
- package/dist/resolvers/loop-questions.d.ts.map +1 -1
- package/dist/resolvers/loop-questions.js +3 -1
- package/dist/resolvers/loop-questions.js.map +1 -1
- package/dist/resolvers/loop-upstream-udes.d.ts.map +1 -1
- package/dist/resolvers/loop-upstream-udes.js +3 -1
- package/dist/resolvers/loop-upstream-udes.js.map +1 -1
- package/dist/resolvers/prd-context.d.ts.map +1 -1
- package/dist/resolvers/prd-context.js +3 -1
- package/dist/resolvers/prd-context.js.map +1 -1
- package/dist/resolvers/reality-metrics.d.ts.map +1 -1
- package/dist/resolvers/reality-metrics.js +3 -1
- package/dist/resolvers/reality-metrics.js.map +1 -1
- package/dist/resolvers/reality-projections.d.ts.map +1 -1
- package/dist/resolvers/reality-projections.js +3 -1
- package/dist/resolvers/reality-projections.js.map +1 -1
- package/dist/resolvers/reality-tree-snapshot.d.ts.map +1 -1
- package/dist/resolvers/reality-tree-snapshot.js +3 -1
- package/dist/resolvers/reality-tree-snapshot.js.map +1 -1
- package/dist/resolvers/retired-injections.d.ts.map +1 -1
- package/dist/resolvers/retired-injections.js +3 -1
- package/dist/resolvers/retired-injections.js.map +1 -1
- package/dist/resolvers/review-outcomes.d.ts.map +1 -1
- package/dist/resolvers/review-outcomes.js +3 -1
- package/dist/resolvers/review-outcomes.js.map +1 -1
- package/dist/resolvers/security-advisory.d.ts.map +1 -1
- package/dist/resolvers/security-advisory.js +3 -1
- package/dist/resolvers/security-advisory.js.map +1 -1
- package/dist/resolvers/shared/wiki.d.ts.map +1 -1
- package/dist/resolvers/shared/wiki.js +5 -3
- package/dist/resolvers/shared/wiki.js.map +1 -1
- package/dist/resolvers/wiki-topic.d.ts.map +1 -1
- package/dist/resolvers/wiki-topic.js +3 -1
- package/dist/resolvers/wiki-topic.js.map +1 -1
- package/dist/resolvers/workflow-stages.d.ts.map +1 -1
- package/dist/resolvers/workflow-stages.js +3 -1
- package/dist/resolvers/workflow-stages.js.map +1 -1
- package/dist/schema-version-gate.d.ts.map +1 -1
- package/dist/schema-version-gate.js +16 -18
- package/dist/schema-version-gate.js.map +1 -1
- package/dist/security-finding-gate.d.ts.map +1 -1
- package/dist/security-finding-gate.js +3 -1
- package/dist/security-finding-gate.js.map +1 -1
- package/dist/security-rescan-resolution.d.ts.map +1 -1
- package/dist/security-rescan-resolution.js +4 -2
- package/dist/security-rescan-resolution.js.map +1 -1
- package/dist/security-scan-engine.d.ts.map +1 -1
- package/dist/security-scan-engine.js +9 -6
- package/dist/security-scan-engine.js.map +1 -1
- package/dist/self-update.d.ts.map +1 -1
- package/dist/self-update.js +48 -39
- package/dist/self-update.js.map +1 -1
- package/dist/sensor-sweep.d.ts.map +1 -1
- package/dist/sensor-sweep.js +5 -2
- package/dist/sensor-sweep.js.map +1 -1
- package/dist/session-stamp.d.ts.map +1 -1
- package/dist/session-stamp.js +4 -2
- package/dist/session-stamp.js.map +1 -1
- package/dist/shortfall-disposition-config.d.ts +34 -0
- package/dist/shortfall-disposition-config.d.ts.map +1 -0
- package/dist/shortfall-disposition-config.js +46 -0
- package/dist/shortfall-disposition-config.js.map +1 -0
- package/dist/shortfall-disposition-loop.d.ts +86 -0
- package/dist/shortfall-disposition-loop.d.ts.map +1 -0
- package/dist/shortfall-disposition-loop.js +309 -0
- package/dist/shortfall-disposition-loop.js.map +1 -0
- package/dist/spawn/model-routing.d.ts.map +1 -1
- package/dist/spawn/model-routing.js +19 -16
- package/dist/spawn/model-routing.js.map +1 -1
- package/dist/spawn/process-spawn.d.ts.map +1 -1
- package/dist/spawn/process-spawn.js +29 -22
- package/dist/spawn/process-spawn.js.map +1 -1
- package/dist/spawn/prompt-assembly.d.ts.map +1 -1
- package/dist/spawn/prompt-assembly.js +6 -4
- package/dist/spawn/prompt-assembly.js.map +1 -1
- package/dist/spawn/spawn-decision.d.ts.map +1 -1
- package/dist/spawn/spawn-decision.js +16 -14
- package/dist/spawn/spawn-decision.js.map +1 -1
- package/dist/spawn/worktree-session.d.ts.map +1 -1
- package/dist/spawn/worktree-session.js +13 -11
- package/dist/spawn/worktree-session.js.map +1 -1
- package/dist/spawn-cooldown.d.ts +0 -7
- package/dist/spawn-cooldown.d.ts.map +1 -1
- package/dist/spawn-cooldown.js +3 -1
- package/dist/spawn-cooldown.js.map +1 -1
- package/dist/spawn-environment.d.ts.map +1 -1
- package/dist/spawn-environment.js +4 -1
- package/dist/spawn-environment.js.map +1 -1
- package/dist/spawner/helpers.d.ts.map +1 -1
- package/dist/spawner/helpers.js +19 -17
- package/dist/spawner/helpers.js.map +1 -1
- package/dist/spawner/lifecycle.d.ts.map +1 -1
- package/dist/spawner/lifecycle.js +17 -13
- package/dist/spawner/lifecycle.js.map +1 -1
- package/dist/spawner/liveness.d.ts.map +1 -1
- package/dist/spawner/liveness.js +7 -5
- package/dist/spawner/liveness.js.map +1 -1
- package/dist/spawner/resolution.d.ts.map +1 -1
- package/dist/spawner/resolution.js +7 -5
- package/dist/spawner/resolution.js.map +1 -1
- package/dist/spawner/stream-handlers.d.ts +6 -55
- package/dist/spawner/stream-handlers.d.ts.map +1 -1
- package/dist/spawner/stream-handlers.js +10 -172
- package/dist/spawner/stream-handlers.js.map +1 -1
- package/dist/spawner/timeout.d.ts.map +1 -1
- package/dist/spawner/timeout.js +11 -9
- package/dist/spawner/timeout.js.map +1 -1
- package/dist/staleness.d.ts.map +1 -1
- package/dist/staleness.js +4 -1
- package/dist/staleness.js.map +1 -1
- package/dist/stall-detector-config.d.ts +6 -17
- package/dist/stall-detector-config.d.ts.map +1 -1
- package/dist/stall-detector-config.js +10 -36
- package/dist/stall-detector-config.js.map +1 -1
- package/dist/stall-detectors.d.ts.map +1 -1
- package/dist/stall-detectors.js +6 -4
- package/dist/stall-detectors.js.map +1 -1
- package/dist/state-cascade.d.ts.map +1 -1
- package/dist/state-cascade.js +9 -7
- package/dist/state-cascade.js.map +1 -1
- package/dist/stop-request.d.ts.map +1 -1
- package/dist/stop-request.js +6 -2
- package/dist/stop-request.js.map +1 -1
- package/dist/supabase.d.ts.map +1 -1
- package/dist/supabase.js +3 -1
- package/dist/supabase.js.map +1 -1
- package/dist/telemetry-writer.d.ts.map +1 -1
- package/dist/telemetry-writer.js +11 -9
- package/dist/telemetry-writer.js.map +1 -1
- package/dist/trigger-executor.d.ts.map +1 -1
- package/dist/trigger-executor.js +28 -26
- package/dist/trigger-executor.js.map +1 -1
- package/dist/unified-engine-lifecycle.d.ts +19 -11
- package/dist/unified-engine-lifecycle.d.ts.map +1 -1
- package/dist/unified-engine-lifecycle.js +71 -70
- package/dist/unified-engine-lifecycle.js.map +1 -1
- package/dist/unified-init.d.ts.map +1 -1
- package/dist/unified-init.js +41 -36
- package/dist/unified-init.js.map +1 -1
- package/dist/unified-shell-config.d.ts +8 -1
- package/dist/unified-shell-config.d.ts.map +1 -1
- package/dist/unified-shell-config.js +57 -34
- package/dist/unified-shell-config.js.map +1 -1
- package/dist/unified-shell-status.d.ts.map +1 -1
- package/dist/unified-shell-status.js +39 -37
- package/dist/unified-shell-status.js.map +1 -1
- package/dist/unified-shell.d.ts.map +1 -1
- package/dist/unified-shell.js +37 -41
- package/dist/unified-shell.js.map +1 -1
- package/dist/verification-baseline.d.ts.map +1 -1
- package/dist/verification-baseline.js +7 -4
- package/dist/verification-baseline.js.map +1 -1
- package/dist/verification-config.d.ts +3 -3
- package/dist/verification-config.d.ts.map +1 -1
- package/dist/verification-config.js +8 -19
- package/dist/verification-config.js.map +1 -1
- package/dist/verification-default-on.d.ts +6 -6
- package/dist/verification-default-on.d.ts.map +1 -1
- package/dist/verification-default-on.js +9 -7
- package/dist/verification-default-on.js.map +1 -1
- package/dist/verification-deterministic.d.ts.map +1 -1
- package/dist/verification-deterministic.js +6 -3
- package/dist/verification-deterministic.js.map +1 -1
- package/dist/verification-engine.d.ts.map +1 -1
- package/dist/verification-engine.js +20 -16
- package/dist/verification-engine.js.map +1 -1
- package/dist/verification-feedback.d.ts.map +1 -1
- package/dist/verification-feedback.js +4 -2
- package/dist/verification-feedback.js.map +1 -1
- package/dist/version-check.d.ts.map +1 -1
- package/dist/version-check.js +5 -3
- package/dist/version-check.js.map +1 -1
- package/dist/worker-pidfile.d.ts.map +1 -1
- package/dist/worker-pidfile.js +8 -3
- package/dist/worker-pidfile.js.map +1 -1
- package/dist/worktree/focus.d.ts.map +1 -1
- package/dist/worktree/focus.js +15 -13
- package/dist/worktree/focus.js.map +1 -1
- package/dist/worktree/safety.d.ts.map +1 -1
- package/dist/worktree/safety.js +13 -11
- package/dist/worktree/safety.js.map +1 -1
- package/dist/worktree.d.ts.map +1 -1
- package/dist/worktree.js +41 -39
- package/dist/worktree.js.map +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delivery-merge.d.ts","sourceRoot":"","sources":["../src/delivery-merge.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,OAAO,KAAK,EAAE,YAAY,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"delivery-merge.d.ts","sourceRoot":"","sources":["../src/delivery-merge.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,OAAO,KAAK,EAAE,YAAY,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAMvF;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,yBAAyB,GAChC,OAAO,CAAC,YAAY,CAAC,CAyFvB"}
|
package/dist/delivery-merge.js
CHANGED
|
@@ -8,6 +8,8 @@ import { updateDeliveryMergeCommitSha, createEscalation } from './supabase.js';
|
|
|
8
8
|
import { mergeToIntegration } from './git.js';
|
|
9
9
|
import { getStageByName } from './workflow-engine.js';
|
|
10
10
|
import { withRetry, ESCALATION_REASONS, ESCALATION_DISPOSITIONS } from '@telora/daemon-core';
|
|
11
|
+
import { createLogger } from './log.js';
|
|
12
|
+
const log = createLogger({ module: 'mergeCommitSha' });
|
|
11
13
|
/**
|
|
12
14
|
* Merge a delivery's branch to the integration branch.
|
|
13
15
|
*
|
|
@@ -18,7 +20,7 @@ import { withRetry, ESCALATION_REASONS, ESCALATION_DISPOSITIONS } from '@telora/
|
|
|
18
20
|
*/
|
|
19
21
|
export async function mergeDeliveryBranch(params) {
|
|
20
22
|
const { config, branchName, deliveryId, deliveryName, organizationId, sessionId, workflow } = params;
|
|
21
|
-
|
|
23
|
+
log.info(`Attempting to merge ${branchName} into ${config.integrationBranch}...`);
|
|
22
24
|
const onRollbackFailure = (details) => {
|
|
23
25
|
withRetry(() => createEscalation({
|
|
24
26
|
organizationId,
|
|
@@ -36,18 +38,18 @@ export async function mergeDeliveryBranch(params) {
|
|
|
36
38
|
whatWasTried: `Push to origin failed for ${details.branch}. Attempted rollback to ${details.attemptedRollbackRef} also failed.`,
|
|
37
39
|
helpNeeded: `Manually reset the branch: git reset --hard origin/${details.branch}. Then restart the daemon.`,
|
|
38
40
|
}), { maxAttempts: 3, label: 'escalation-rollback-failure' }).catch((escErr) => {
|
|
39
|
-
|
|
41
|
+
log.error(`CRITICAL: Failed to create escalation for rollback failure: ${escErr.message}`);
|
|
40
42
|
});
|
|
41
43
|
};
|
|
42
44
|
const mergeResult = await mergeToIntegration({ config, branchName, deliveryName, deliveryId, onRollbackFailure });
|
|
43
45
|
if (mergeResult.success) {
|
|
44
46
|
const exitReason = `Merged to ${config.integrationBranch}.`;
|
|
45
|
-
|
|
47
|
+
log.info(`Successfully merged ${branchName} to ${config.integrationBranch}`);
|
|
46
48
|
// Note: merged_to_integration git state is reported by the caller
|
|
47
49
|
// (mergeFocusBranch) for all deliveries in the focus to avoid duplicates.
|
|
48
50
|
// Persist the merge commit SHA on the delivery record (fire-and-forget)
|
|
49
51
|
if (mergeResult.commitSha) {
|
|
50
|
-
updateDeliveryMergeCommitSha(deliveryId, mergeResult.commitSha).catch(err =>
|
|
52
|
+
updateDeliveryMergeCommitSha(deliveryId, mergeResult.commitSha).catch(err => log.warn(`Failed to record merge commit SHA:`, err.message));
|
|
51
53
|
}
|
|
52
54
|
return { mergeSucceeded: true, exitReason, commitSha: mergeResult.commitSha };
|
|
53
55
|
}
|
|
@@ -55,7 +57,7 @@ export async function mergeDeliveryBranch(params) {
|
|
|
55
57
|
const conflictedFiles = mergeResult.conflictedFiles;
|
|
56
58
|
if (conflictedFiles && conflictedFiles.length > 0) {
|
|
57
59
|
const exitReason = `Agent completed but merge had conflicts in ${conflictedFiles.length} file(s). Escalated for resolution.`;
|
|
58
|
-
|
|
60
|
+
log.warn(`Merge conflict: ${conflictedFiles.join(', ')}`);
|
|
59
61
|
try {
|
|
60
62
|
await withRetry(() => createEscalation({
|
|
61
63
|
organizationId,
|
|
@@ -72,10 +74,10 @@ export async function mergeDeliveryBranch(params) {
|
|
|
72
74
|
whatWasTried: `Attempted automatic merge of ${branchName} into ${config.integrationBranch} after agent completed successfully.`,
|
|
73
75
|
helpNeeded: `Resolve the merge conflicts between ${mergeResult.sourceBranch} and ${mergeResult.targetBranch}, then re-queue the delivery.`,
|
|
74
76
|
}), { maxAttempts: 3, label: 'escalation-merge-conflict' });
|
|
75
|
-
|
|
77
|
+
log.info(`Created escalation for merge conflict`);
|
|
76
78
|
}
|
|
77
79
|
catch (escErr) {
|
|
78
|
-
|
|
80
|
+
log.error(`CRITICAL: Failed to create escalation for merge conflict after retries: ${escErr.message}. Delivery: "${deliveryName}"`);
|
|
79
81
|
}
|
|
80
82
|
const queuedStage = getStageByName(workflow, 'queued');
|
|
81
83
|
return {
|
|
@@ -87,7 +89,7 @@ export async function mergeDeliveryBranch(params) {
|
|
|
87
89
|
}
|
|
88
90
|
// General merge failure
|
|
89
91
|
const exitReason = `Merge failed: ${mergeResult.error}. Branch ${branchName} preserved for manual merge.`;
|
|
90
|
-
|
|
92
|
+
log.warn(`Merge to integration failed: ${mergeResult.error}`);
|
|
91
93
|
return { mergeSucceeded: false, exitReason };
|
|
92
94
|
}
|
|
93
95
|
//# sourceMappingURL=delivery-merge.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delivery-merge.js","sourceRoot":"","sources":["../src/delivery-merge.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,4BAA4B,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAE9C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"delivery-merge.js","sourceRoot":"","sources":["../src/delivery-merge.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delivery-reconciler-apply.d.ts","sourceRoot":"","sources":["../src/delivery-reconciler-apply.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,eAAe,EACrB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"delivery-reconciler-apply.d.ts","sourceRoot":"","sources":["../src/delivery-reconciler-apply.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,eAAe,EACrB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAO3D,mFAAmF;AACnF,eAAO,MAAM,oBAAoB,4BAA4B,CAAC;AAE9D;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAEpF;AAED,MAAM,WAAW,uBAAuB;IACtC;;;OAGG;IACH,MAAM,EAAE,eAAe,CAAC;IACxB,oFAAoF;IACpF,MAAM,EAAE,eAAe,CAAC;IACxB,sEAAsE;IACtE,QAAQ,EAAE,OAAO,CAAC;IAClB,qFAAqF;IACrF,uBAAuB,EAAE,OAAO,CAAC;CAClC;AAED,MAAM,WAAW,4BAA4B;IAC3C,mFAAmF;IACnF,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,oFAAoF;IACpF,KAAK,EAAE,cAAc,CAAC;IACtB,yEAAyE;IACzE,YAAY,EAAE,eAAe,CAAC;CAC/B;AAED,MAAM,WAAW,mBAAmB;IAClC,+EAA+E;IAC/E,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,6EAA6E;IAC7E,YAAY,CAAC,EAAE,MAAM,OAAO,CAAC;CAC9B;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,4BAA4B,EACpC,IAAI,GAAE,mBAAwB,GAC7B,uBAAuB,CAsBzB"}
|
|
@@ -32,6 +32,9 @@
|
|
|
32
32
|
* divergent Postgres literal-Done predicate is removed in Delivery 5.
|
|
33
33
|
*/
|
|
34
34
|
import { reconcileDeliveryStatus, } from './delivery-reconciler.js';
|
|
35
|
+
import { createLogger } from './log.js';
|
|
36
|
+
import { loadEnvConfig } from '@telora/daemon-core';
|
|
37
|
+
const dlog = createLogger({ module: 'delivery-reconciler-apply' });
|
|
35
38
|
/** Reversibility switch. DEFAULT-ON (opt-out), unlike the shadow's opt-in flag. */
|
|
36
39
|
export const RECONCILER_WRITE_ENV = 'TELORA_RECONCILER_WRITE';
|
|
37
40
|
/**
|
|
@@ -44,13 +47,7 @@ export const RECONCILER_WRITE_ENV = 'TELORA_RECONCILER_WRITE';
|
|
|
44
47
|
* the intended default writer after this delivery -- reverting is the exception.
|
|
45
48
|
*/
|
|
46
49
|
export function reconcilerWriteEnabled(env = process.env) {
|
|
47
|
-
|
|
48
|
-
if (raw === undefined)
|
|
49
|
-
return true;
|
|
50
|
-
const v = raw.trim().toLowerCase();
|
|
51
|
-
if (v === '')
|
|
52
|
-
return true;
|
|
53
|
-
return !['0', 'off', 'false', 'no'].includes(v);
|
|
50
|
+
return loadEnvConfig(env).TELORA_RECONCILER_WRITE;
|
|
54
51
|
}
|
|
55
52
|
/**
|
|
56
53
|
* Decide what status to write for one transition step, with the runtime
|
|
@@ -60,7 +57,7 @@ export function reconcilerWriteEnabled(env = process.env) {
|
|
|
60
57
|
* single-step decision and the legacy step correspond 1:1.
|
|
61
58
|
*/
|
|
62
59
|
export function resolveReconciledWrite(params, deps = {}) {
|
|
63
|
-
const log = deps.log ?? ((m) =>
|
|
60
|
+
const log = deps.log ?? ((m) => dlog.info(m));
|
|
64
61
|
const writeEnabled = (deps.writeEnabled ?? reconcilerWriteEnabled)();
|
|
65
62
|
const result = reconcileDeliveryStatus(params.input);
|
|
66
63
|
const diverged = result.target !== params.legacyTarget;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delivery-reconciler-apply.js","sourceRoot":"","sources":["../src/delivery-reconciler-apply.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,OAAO,EACL,uBAAuB,GAGxB,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"delivery-reconciler-apply.js","sourceRoot":"","sources":["../src/delivery-reconciler-apply.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,OAAO,EACL,uBAAuB,GAGxB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,MAAM,IAAI,GAAG,YAAY,CAAC,EAAE,MAAM,EAAE,2BAA2B,EAAE,CAAC,CAAC;AAGnE,mFAAmF;AACnF,MAAM,CAAC,MAAM,oBAAoB,GAAG,yBAAyB,CAAC;AAE9D;;;;;;;;GAQG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAAyB,OAAO,CAAC,GAAG;IACzE,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC,uBAAuB,CAAC;AACpD,CAAC;AAkCD;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB,CACpC,MAAoC,EACpC,OAA4B,EAAE;IAE9B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,MAAM,YAAY,GAAG,CAAC,IAAI,CAAC,YAAY,IAAI,sBAAsB,CAAC,EAAE,CAAC;IAErE,MAAM,MAAM,GAAG,uBAAuB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACrD,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,YAAY,CAAC;IAEvD,IAAI,QAAQ,EAAE,CAAC;QACb,GAAG,CACD,gCAAgC,MAAM,CAAC,IAAI,aAAa,MAAM,CAAC,UAAU,GAAG;YAC1E,KAAK,MAAM,CAAC,YAAY,aAAa,MAAM,CAAC,YAAY,GAAG;YAC3D,cAAc,MAAM,CAAC,MAAM,cAAc,MAAM,CAAC,SAAS,GAAG;YAC5D,WAAW,MAAM,CAAC,MAAM,GAAG,CAC9B,CAAC;IACJ,CAAC;IAED,OAAO;QACL,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY;QAC1D,MAAM;QACN,QAAQ;QACR,uBAAuB,EAAE,YAAY;KACtC,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delivery-reconciler-shadow.d.ts","sourceRoot":"","sources":["../src/delivery-reconciler-shadow.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"delivery-reconciler-shadow.d.ts","sourceRoot":"","sources":["../src/delivery-reconciler-shadow.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAC;AASpE,8EAA8E;AAC9E,eAAO,MAAM,qBAAqB,6BAA6B,CAAC;AAEhE,gFAAgF;AAChF,wBAAgB,uBAAuB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAErF;AAED;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,OAAO,CAAC;IACzB,gBAAgB,EAAE,OAAO,gBAAgB,CAAC;IAC1C,kBAAkB,EAAE,OAAO,kBAAkB,CAAC;IAC9C,iBAAiB,EAAE,OAAO,iBAAiB,CAAC;IAC5C,gBAAgB,EAAE,OAAO,gBAAgB,CAAC;IAC1C,6BAA6B,EAAE,OAAO,6BAA6B,CAAC;IACpE,+EAA+E;IAC/E,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAChC;AAYD,MAAM,WAAW,uBAAuB;IACtC,oEAAoE;IACpE,GAAG,EAAE,OAAO,CAAC;IACb,2DAA2D;IAC3D,OAAO,EAAE,MAAM,CAAC;IAChB,wEAAwE;IACxE,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,YAAY,EACpB,IAAI,GAAE,oBAAkC,GACvC,OAAO,CAAC,uBAAuB,CAAC,CA4ElC"}
|
|
@@ -31,15 +31,14 @@ import { getFocusDeliveries } from './queries/focuses.js';
|
|
|
31
31
|
import { getFocusWorktree } from './focus-worktree-state.js';
|
|
32
32
|
import { worktreeHasUncommittedChanges } from './worktree/index.js';
|
|
33
33
|
import { reconcileDeliveryStatus } from './delivery-reconciler.js';
|
|
34
|
-
import { isExecutionStatus } from '@telora/daemon-core';
|
|
34
|
+
import { isExecutionStatus, loadEnvConfig } from '@telora/daemon-core';
|
|
35
|
+
import { createLogger } from './log.js';
|
|
36
|
+
const log = createLogger({ module: 'delivery-reconciler-shadow' });
|
|
35
37
|
/** Opt-in flag name. Default-OFF (only a truthy value enables the shadow). */
|
|
36
38
|
export const RECONCILER_SHADOW_ENV = 'TELORA_RECONCILER_SHADOW';
|
|
37
39
|
/** Default-off opt-in: only '1'/'true'/'yes'/'on' (case-insensitive) enable. */
|
|
38
40
|
export function reconcilerShadowEnabled(env = process.env) {
|
|
39
|
-
|
|
40
|
-
if (raw === undefined)
|
|
41
|
-
return false;
|
|
42
|
-
return ['1', 'true', 'yes', 'on'].includes(raw.trim().toLowerCase());
|
|
41
|
+
return loadEnvConfig(env).TELORA_RECONCILER_SHADOW;
|
|
43
42
|
}
|
|
44
43
|
const defaultDeps = {
|
|
45
44
|
isEnabled: () => reconcilerShadowEnabled(),
|
|
@@ -48,7 +47,7 @@ const defaultDeps = {
|
|
|
48
47
|
getDeliveryIssues,
|
|
49
48
|
getFocusWorktree,
|
|
50
49
|
worktreeHasUncommittedChanges,
|
|
51
|
-
log: (m) =>
|
|
50
|
+
log: (m) => log.info(m),
|
|
52
51
|
};
|
|
53
52
|
/**
|
|
54
53
|
* Run one shadow pass for a (product-scoped) config. Reads only; never writes.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delivery-reconciler-shadow.js","sourceRoot":"","sources":["../src/delivery-reconciler-shadow.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAGH,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"delivery-reconciler-shadow.js","sourceRoot":"","sources":["../src/delivery-reconciler-shadow.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"close-loop-stage.d.ts","sourceRoot":"","sources":["../../src/directive/close-loop-stage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAGhE,OAAO,EAML,KAAK,iBAAiB,EAEvB,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"close-loop-stage.d.ts","sourceRoot":"","sources":["../../src/directive/close-loop-stage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAGhE,OAAO,EAML,KAAK,iBAAiB,EAEvB,MAAM,6BAA6B,CAAC;AA2BrC,qDAAqD;AACrD,wBAAgB,+BAA+B,IAAI,IAAI,CAEtD;AAED;;;;;;;;GAQG;AACH,wBAAsB,uCAAuC,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAWpF;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAC9C,OAAO,CAAC,iBAAiB,CAAC,CAsK5B;AAED;;;;;GAKG;AACH,wBAAgB,+BAA+B,IAAI,cAAc,CAEhE"}
|
|
@@ -19,6 +19,8 @@ import { callApi } from '../queries/shared.js';
|
|
|
19
19
|
import { terminateTeam, waitForTeamExit } from '../completion/index.js';
|
|
20
20
|
import { pendingSpawnDirectives, computeDirectiveHash } from './directive-queue.js';
|
|
21
21
|
import { assembleDirectiveContent } from './directive-assembly.js';
|
|
22
|
+
import { createLogger } from '../log.js';
|
|
23
|
+
const log = createLogger({ module: 'close-loop-dispatcher' });
|
|
22
24
|
/**
|
|
23
25
|
* Per-focus tracker for whether the close_loop bookkeeper has been spawned
|
|
24
26
|
* at least once. Used to avoid respawning the bookkeeper on every poll
|
|
@@ -91,7 +93,7 @@ export async function dispatchCloseLoopStage(config, focus) {
|
|
|
91
93
|
openEscalationIds = await getOpenInjectionUnverifiedEscalationIds();
|
|
92
94
|
}
|
|
93
95
|
catch (err) {
|
|
94
|
-
|
|
96
|
+
log.warn(`[close-loop-dispatcher] Failed to fetch open injection_unverified escalations ` +
|
|
95
97
|
`for focus ${focus.focus_id.slice(0, 8)}: ${err.message}`);
|
|
96
98
|
openEscalationIds = new Set();
|
|
97
99
|
}
|
|
@@ -101,7 +103,7 @@ export async function dispatchCloseLoopStage(config, focus) {
|
|
|
101
103
|
snapshots = result.items ?? [];
|
|
102
104
|
}
|
|
103
105
|
catch (err) {
|
|
104
|
-
|
|
106
|
+
log.warn(`[close-loop-dispatcher] Failed to fetch focus injections for ${focus.focus_id.slice(0, 8)}: ` +
|
|
105
107
|
`${err.message}`);
|
|
106
108
|
}
|
|
107
109
|
for (const item of snapshots) {
|
|
@@ -126,11 +128,11 @@ export async function dispatchCloseLoopStage(config, focus) {
|
|
|
126
128
|
case 'short_circuit_to_done': {
|
|
127
129
|
try {
|
|
128
130
|
await updateFocusStage(focus.focus_id, 'done');
|
|
129
|
-
|
|
131
|
+
log.info(`[close-loop-dispatcher] Focus "${focus.focus_name}" has no anchoring injections -- ` +
|
|
130
132
|
`short-circuiting close_loop -> done`);
|
|
131
133
|
}
|
|
132
134
|
catch (err) {
|
|
133
|
-
|
|
135
|
+
log.warn(`[close-loop-dispatcher] Failed to short-circuit focus ${focus.focus_id.slice(0, 8)} to done: ` +
|
|
134
136
|
`${err.message}`);
|
|
135
137
|
}
|
|
136
138
|
closeLoopBookkeeperSpawned.delete(focus.focus_id);
|
|
@@ -181,17 +183,17 @@ export async function dispatchCloseLoopStage(config, focus) {
|
|
|
181
183
|
await waitForTeamExit(focus.focus_id, 30000);
|
|
182
184
|
}
|
|
183
185
|
closeLoopBookkeeperSpawned.add(focus.focus_id);
|
|
184
|
-
|
|
186
|
+
log.info(`[close-loop-dispatcher] Spawned bookkeeper team for focus "${focus.focus_name}" ` +
|
|
185
187
|
`(${anchored.length} anchored injection(s), model: ${CLOSE_LOOP_MODEL})`);
|
|
186
188
|
}
|
|
187
189
|
catch (err) {
|
|
188
|
-
|
|
190
|
+
log.warn(`[close-loop-dispatcher] Failed to spawn bookkeeper for focus ${focus.focus_id.slice(0, 8)}: ` +
|
|
189
191
|
`${err.message}`);
|
|
190
192
|
}
|
|
191
193
|
return decision;
|
|
192
194
|
}
|
|
193
195
|
case 'hold': {
|
|
194
|
-
|
|
196
|
+
log.info(`[close-loop-dispatcher] Focus "${focus.focus_name}" held at close_loop: ${decision.reason}`);
|
|
195
197
|
return decision;
|
|
196
198
|
}
|
|
197
199
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"close-loop-stage.js","sourceRoot":"","sources":["../../src/directive/close-loop-stage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EACL,gBAAgB,EAChB,2BAA2B,EAC3B,uBAAuB,EACvB,eAAe,EACf,sBAAsB,GAGvB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACpF,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"close-loop-stage.js","sourceRoot":"","sources":["../../src/directive/close-loop-stage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EACL,gBAAgB,EAChB,2BAA2B,EAC3B,uBAAuB,EACvB,eAAe,EACf,sBAAsB,GAGvB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACpF,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,MAAM,GAAG,GAAG,YAAY,CAAC,EAAE,MAAM,EAAE,uBAAuB,EAAE,CAAC,CAAC;AAG9D;;;;;;;;;;;GAWG;AACH,MAAM,0BAA0B,GAAG,IAAI,GAAG,EAAU,CAAC;AAErD,qDAAqD;AACrD,MAAM,UAAU,+BAA+B;IAC7C,0BAA0B,CAAC,KAAK,EAAE,CAAC;AACrC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,uCAAuC;IAC3D,MAAM,WAAW,GAAG,MAAM,sBAAsB,EAAE,CAAC;IACnD,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9B,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;QAC5B,IAAI,CAAC,CAAC,cAAc,KAAK,gBAAgB,CAAC,oBAAoB;YAAE,SAAS;QACzE,MAAM,WAAW,GAAI,CAAC,CAAC,QAA2C,EAAE,YAAY,CAAC;QACjF,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9D,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,MAAoB,EACpB,KAA+C;IAE/C,MAAM,UAAU,GAAG,MAAM,kBAAkB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC5D,MAAM,QAAQ,GAAG,sBAAsB,CAAC,UAAU,CAAC,CAAC;IAEpD,mDAAmD;IACnD,EAAE;IACF,wEAAwE;IACxE,qEAAqE;IACrE,sDAAsD;IACtD,MAAM,MAAM,GAA6B,EAAE,CAAC;IAC5C,MAAM,UAAU,GAAG,IAAI,GAAG,EAAyB,CAAC;IACpD,8EAA8E;IAC9E,2EAA2E;IAC3E,sEAAsE;IACtE,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAkB,CAAC;IACpD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,IAAI,iBAA8B,CAAC;QACnC,IAAI,CAAC;YACH,iBAAiB,GAAG,MAAM,uCAAuC,EAAE,CAAC;QACtE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,IAAI,CACN,gFAAgF;gBAChF,aAAa,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAM,GAAa,CAAC,OAAO,EAAE,CACrE,CAAC;YACF,iBAAiB,GAAG,IAAI,GAAG,EAAE,CAAC;QAChC,CAAC;QAiBD,IAAI,SAAS,GAAwB,EAAE,CAAC;QACxC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAC1B,+BAA+B,EAC/B,EAAE,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,CAC5B,CAAC;YACF,SAAS,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;QACjC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,IAAI,CACN,gEAAgE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI;gBAC9F,GAAI,GAAa,CAAC,OAAO,EAAE,CAC5B,CAAC;QACJ,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;YAC7B,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;YAClE,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC;YAC5C,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpD,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;YACnD,CAAC;QACH,CAAC;QACD,KAAK,MAAM,QAAQ,IAAI,QAAQ,EAAE,CAAC;YAChC,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAqB,CAAC;YACnD,MAAM,CAAC,IAAI,CAAC;gBACV,WAAW;gBACX,eAAe,EAAE,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,IAAI;gBACpD,2BAA2B,EAAE,iBAAiB,CAAC,GAAG,CAAC,WAAW,CAAC;aAChE,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,MAAM,gBAAgB,GAAG,0BAA0B,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACxE,MAAM,QAAQ,GAAG,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAEvE,QAAQ,QAAQ,CAAC,IAAI,EAAE,CAAC;QACtB,KAAK,uBAAuB,CAAC,CAAC,CAAC;YAC7B,IAAI,CAAC;gBACH,MAAM,gBAAgB,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBAC/C,GAAG,CAAC,IAAI,CACN,kCAAkC,KAAK,CAAC,UAAU,mCAAmC;oBACrF,qCAAqC,CACtC,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,GAAG,CAAC,IAAI,CACN,yDAAyD,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,YAAY;oBAC/F,GAAI,GAAa,CAAC,OAAO,EAAE,CAC5B,CAAC;YACJ,CAAC;YACD,0BAA0B,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAClD,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,KAAK,iBAAiB,CAAC,CAAC,CAAC;YACvB,mEAAmE;YACnE,qEAAqE;YACrE,qEAAqE;YACrE,mEAAmE;YACnE,iEAAiE;YACjE,oEAAoE;YACpE,iDAAiD;YACjD,MAAM,OAAO,GAAG,MAAM,2BAA2B,CAC/C,KAAK,EACL,QAAQ,EACR,UAAU,EACV,EAAE,MAAM,EAAE,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,gBAAgB,EAAE,CACtE,CAAC;YACF,4DAA4D;YAC5D,mEAAmE;YACnE,qEAAqE;YACrE,oEAAoE;YACpE,2BAA2B;YAC3B,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;gBAC7C,0BAA0B,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACpD,CAAC;YACD,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,KAAK,kBAAkB,CAAC,CAAC,CAAC;YACxB,MAAM,IAAI,GAAG,cAAc,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAClD,MAAM,YAAY,GAAG,IAAI,EAAE,YAAY,IAAI,IAAI,CAAC;YAChD,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,wBAAwB,CAC5C,MAAM,EACN,KAAK,CAAC,QAAQ,EACd,QAAQ,CAAC,SAAS,EAClB,YAAY,CACb,CAAC;gBACF,MAAM,WAAW,GAAG,oBAAoB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;gBAC7D,sBAAsB,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE;oBACzC,OAAO;oBACP,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,KAAK,IAAI,gBAAgB;oBACnD,uEAAuE;oBACvE,qEAAqE;oBACrE,6DAA6D;oBAC7D,kBAAkB,EAAE,IAAI;oBACxB,WAAW,EAAE,QAAQ;oBACrB,oEAAoE;oBACpE,oEAAoE;oBACpE,2BAA2B;oBAC3B,OAAO,EAAE,YAAY;oBACrB,UAAU,EAAE,OAAO;oBACnB,WAAW;iBACZ,CAAC,CAAC;gBACH,IAAI,IAAI,EAAE,CAAC;oBACT,aAAa,CAAC,KAAK,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;oBACzC,MAAM,eAAe,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;gBAC/C,CAAC;gBACD,0BAA0B,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBAC/C,GAAG,CAAC,IAAI,CACN,8DAA8D,KAAK,CAAC,UAAU,IAAI;oBAClF,IAAI,QAAQ,CAAC,MAAM,kCAAkC,gBAAgB,GAAG,CACzE,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,GAAG,CAAC,IAAI,CACN,gEAAgE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI;oBAC9F,GAAI,GAAa,CAAC,OAAO,EAAE,CAC5B,CAAC;YACJ,CAAC;YACD,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,GAAG,CAAC,IAAI,CACN,kCAAkC,KAAK,CAAC,UAAU,yBAAyB,QAAQ,CAAC,MAAM,EAAE,CAC7F,CAAC;YACF,OAAO,QAAQ,CAAC;QAClB,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,+BAA+B;IAC7C,OAAO,uBAAuB,EAAE,CAAC;AACnC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"directive-assembly.d.ts","sourceRoot":"","sources":["../../src/directive/directive-assembly.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,EAGL,KAAK,qBAAqB,EAC3B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"directive-assembly.d.ts","sourceRoot":"","sources":["../../src/directive/directive-assembly.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,EAGL,KAAK,qBAAqB,EAC3B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,0BAA0B,CAAC;AAOlC,mFAAmF;AACnF,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,qBAAqB,EAAE,CAAC;CACnC;AAYD;;;;GAIG;AACH,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,cAAc,EACzB,YAAY,EAAE,MAAM,GAAG,IAAI,GAC1B,OAAO,CAAC,MAAM,CAAC,CAGjB;AAED;;;;;;GAMG;AACH,wBAAsB,oCAAoC,CACxD,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,cAAc,EACzB,YAAY,EAAE,MAAM,GAAG,IAAI,GAC1B,OAAO,CAAC,kBAAkB,CAAC,CA0D7B"}
|
|
@@ -12,6 +12,8 @@ import { resolveAssemblyRecipeWithManifest, } from '../assembly-engine.js';
|
|
|
12
12
|
// Side-effect import: registers assembly resolvers with assembly-engine at module load. Required - do not remove.
|
|
13
13
|
import '../assembly-resolvers.js';
|
|
14
14
|
import { getFocusDeliveries } from '../queries/focuses.js';
|
|
15
|
+
import { createLogger } from '../log.js';
|
|
16
|
+
const log = createLogger({ module: 'directive-executor' });
|
|
15
17
|
const TELORA_TOOL_REFERENCE = /\btelora_[a-z0-9_]+\b/i;
|
|
16
18
|
const TELORA_MCP_INVOCATION_CONTRACT = [
|
|
17
19
|
'## Telora MCP Invocation Contract',
|
|
@@ -56,7 +58,7 @@ export async function assembleDirectiveContentWithManifest(config, focusId, dire
|
|
|
56
58
|
manifest = resolved.manifest;
|
|
57
59
|
}
|
|
58
60
|
catch (err) {
|
|
59
|
-
|
|
61
|
+
log.warn(`[directive-executor] Assembly resolution failed for focus ${focusId.slice(0, 8)}: ${err.message}`);
|
|
60
62
|
}
|
|
61
63
|
}
|
|
62
64
|
const parts = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"directive-assembly.js","sourceRoot":"","sources":["../../src/directive/directive-assembly.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EACL,iCAAiC,GAGlC,MAAM,uBAAuB,CAAC;AAC/B,kHAAkH;AAClH,OAAO,0BAA0B,CAAC;AAClC,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"directive-assembly.js","sourceRoot":"","sources":["../../src/directive/directive-assembly.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"directive-dispatch.d.ts","sourceRoot":"","sources":["../../src/directive/directive-dispatch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAEhE,OAAO,EAAsB,KAAK,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAG7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"directive-dispatch.d.ts","sourceRoot":"","sources":["../../src/directive/directive-dispatch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAEhE,OAAO,EAAsB,KAAK,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAG7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAexD;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,wBAAwB,SAAS,CAAC;AAE/C;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,IAAI,CAAC,cAAc,EAAE,WAAW,CAAC,GAAG,IAAI,GAAG,SAAS,GAC9D,OAAO,CAET;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,6BAA6B,CAC3C,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACpC,OAAO,EAAE,MAAM,GACd,QAAQ,GAAG,OAAO,GAAG,IAAI,CAI3B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,cAAc,EACzB,oBAAoB,EAAE,MAAM,EAC5B,SAAS,CAAC,EAAE,MAAM,EAClB,kBAAkB,GAAE,MAAM,GAAG,IAAW,GACvC,OAAO,CAAC,IAAI,CAAC,CA8Cf;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,cAAc,EACzB,WAAW,GAAE,QAAQ,GAAG,QAAmB,EAC3C,IAAI,GAAE,WAA+E,EACrF,kBAAkB,GAAE,MAAM,GAAG,IAAW,GACvC,OAAO,CAAC,IAAI,CAAC,CA4Ef;AAgFD;;;;;;;GAOG;AACH,MAAM,WAAW,kBAAkB;IACjC,sEAAsE;IACtE,EAAE,EAAE,OAAO,CAAC;IACZ,6DAA6D;IAC7D,QAAQ,EAAE,MAAM,CAAC;IACjB,oEAAoE;IACpE,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,mBAAmB;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,sEAAsE;IACtE,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,+DAA+D;IAC/D,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAC3D;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,CACzC,EAAE,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EACvB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,kBAAkB,CAAC,CAuB7B;AAED;;;;;;GAMG;AACH,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE;IACN,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB,EACD,IAAI,GAAE;IAAE,gBAAgB,EAAE,OAAO,gBAAgB,CAAA;CAAyB,GACzE,OAAO,CAAC,IAAI,CAAC,CAyCf"}
|
|
@@ -16,6 +16,8 @@ import { terminateTeam, waitForTeamExit } from '../completion/index.js';
|
|
|
16
16
|
import { createEscalation } from '../queries/issues.js';
|
|
17
17
|
import { pendingSpawnDirectives, computeDirectiveHash, SPAWN_GUARD_WINDOW_MS, shouldSkipSpawnDirective, } from './directive-queue.js';
|
|
18
18
|
import { assembleDirectiveContent } from './directive-assembly.js';
|
|
19
|
+
import { createLogger } from '../log.js';
|
|
20
|
+
const log = createLogger({ module: 'directive-executor' });
|
|
19
21
|
// ── Core execution ───────────────────────────────────────────────
|
|
20
22
|
/**
|
|
21
23
|
* The explicit AGENTLESS execution mode. A stage directive carrying
|
|
@@ -95,12 +97,12 @@ export async function executeDirective(config, focusId, directive, focusWorkflow
|
|
|
95
97
|
// short-circuits agentless stages as silent entries; this guard is defense
|
|
96
98
|
// in depth for any direct executeDirective caller.
|
|
97
99
|
if (isAgentlessDirective(directive)) {
|
|
98
|
-
|
|
100
|
+
log.info(`[directive-executor] Stage "${stageName ?? 'unknown'}" for focus ${focusId.slice(0, 8)} ` +
|
|
99
101
|
`is an explicit agentless hold (execution=none) -- no-op`);
|
|
100
102
|
return;
|
|
101
103
|
}
|
|
102
104
|
const mode = resolveDirectiveExecutionMode(directive.execution, spec.lineage);
|
|
103
|
-
|
|
105
|
+
log.info(`[directive-executor] Executing ${mode ?? `unresolved(${directive.execution})`} directive ` +
|
|
104
106
|
`for focus ${focusId.slice(0, 8)} (stage ${focusWorkflowStageId.slice(0, 8)})`);
|
|
105
107
|
if (mode === 'inject') {
|
|
106
108
|
await executeInjectDirective(config, focusId, directive, sessionType, spec, focusOverrideModel);
|
|
@@ -129,7 +131,7 @@ export async function executeInjectDirective(config, focusId, directive, session
|
|
|
129
131
|
// delivered when the next team spawns (e.g., review triggered while
|
|
130
132
|
// pipeline was stopped; the pipeline gets activated but the team
|
|
131
133
|
// hasn't spawned yet by the time the directive executor runs).
|
|
132
|
-
|
|
134
|
+
log.info(`[directive-executor] No active team for focus ${focusId.slice(0, 8)} -- ` +
|
|
133
135
|
`falling back to spawn directive for delivery on next spawn`);
|
|
134
136
|
const message = await assembleDirectiveContent(config, focusId, directive, null);
|
|
135
137
|
pendingSpawnDirectives.set(focusId, {
|
|
@@ -155,7 +157,7 @@ export async function executeInjectDirective(config, focusId, directive, session
|
|
|
155
157
|
// on its own terms; if a coding-phase directive really is needed, the
|
|
156
158
|
// listener will spawn a fresh team after the review team exits.
|
|
157
159
|
if (team.sessionType === 'review') {
|
|
158
|
-
|
|
160
|
+
log.warn(`[directive-executor] Skipping inject for focus ${focusId.slice(0, 8)} -- ` +
|
|
159
161
|
`active team is a review session; phase-driven retasking would convert it ` +
|
|
160
162
|
`into a coder. Directive not delivered.`);
|
|
161
163
|
return;
|
|
@@ -176,13 +178,13 @@ export async function executeInjectDirective(config, focusId, directive, session
|
|
|
176
178
|
// Step 1: Send /compact command if recipe is specified
|
|
177
179
|
if (directive.compact) {
|
|
178
180
|
const compactMessage = `/compact Preserve: ${directive.compact.preserve}. Shed: ${directive.compact.shed}.`;
|
|
179
|
-
|
|
181
|
+
log.info(`Sending /compact for focus ${focusId.slice(0, 8)}`);
|
|
180
182
|
sendMessage(team.leadStdin, compactMessage);
|
|
181
183
|
}
|
|
182
184
|
// Step 2: Assemble and send context + prompt
|
|
183
185
|
const fullMessage = await assembleDirectiveContent(config, focusId, directive, team.worktreePath);
|
|
184
186
|
if (fullMessage.trim()) {
|
|
185
|
-
|
|
187
|
+
log.info(`[directive-executor] Sending directive message to focus ${focusId.slice(0, 8)} ` +
|
|
186
188
|
`(${fullMessage.length} chars)`);
|
|
187
189
|
sendMessage(team.leadStdin, fullMessage);
|
|
188
190
|
}
|
|
@@ -223,25 +225,25 @@ async function executeSpawnDirective(config, focusId, directive, sessionType = '
|
|
|
223
225
|
});
|
|
224
226
|
const ageSec = Math.round((Date.now() - team.startedAt.getTime()) / 1000);
|
|
225
227
|
if (decision === 'skip') {
|
|
226
|
-
|
|
228
|
+
log.info(`[directive-executor] Team for focus ${focusId.slice(0, 8)} was recently spawned ` +
|
|
227
229
|
`(${ageSec}s ago) with identical directive content -- skipping respawn`);
|
|
228
230
|
return;
|
|
229
231
|
}
|
|
230
232
|
if (ageSec < SPAWN_GUARD_WINDOW_MS / 1000) {
|
|
231
|
-
|
|
233
|
+
log.info(`[directive-executor] Team for focus ${focusId.slice(0, 8)} was recently spawned ` +
|
|
232
234
|
`(${ageSec}s ago) but directive content diverged -- proceeding with respawn`);
|
|
233
235
|
}
|
|
234
236
|
}
|
|
235
237
|
// Terminate existing team if one exists
|
|
236
238
|
if (team) {
|
|
237
|
-
|
|
239
|
+
log.info(`Terminating existing team for focus ${focusId.slice(0, 8)} before spawn`);
|
|
238
240
|
terminateTeam(focusId, 'handoff');
|
|
239
241
|
const exited = await waitForTeamExit(focusId, 30000);
|
|
240
242
|
if (!exited) {
|
|
241
|
-
|
|
243
|
+
log.warn(`Team for focus ${focusId.slice(0, 8)} did not exit cleanly`);
|
|
242
244
|
}
|
|
243
245
|
}
|
|
244
|
-
|
|
246
|
+
log.info(`[directive-executor] Spawn directive stored for focus ${focusId.slice(0, 8)} ` +
|
|
245
247
|
`(${message.length} chars, model: ${directive.model ?? 'default'}) -- team will respawn on next poll cycle`);
|
|
246
248
|
}
|
|
247
249
|
/**
|
|
@@ -264,7 +266,7 @@ export async function runDirectiveWithRetry(fn, options) {
|
|
|
264
266
|
if (attempt < maxAttempts) {
|
|
265
267
|
options.onAttemptFailed?.(attempt, lastError);
|
|
266
268
|
const delayMs = baseDelayMs * Math.pow(2, attempt - 1);
|
|
267
|
-
|
|
269
|
+
log.warn(`[directive-executor] ${options.label} failed (attempt ${attempt}/${maxAttempts}): ` +
|
|
268
270
|
`${lastError.message}. Retrying in ${delayMs}ms...`);
|
|
269
271
|
await sleep(delayMs);
|
|
270
272
|
}
|
|
@@ -307,11 +309,11 @@ export async function escalateDirectiveFailure(params, deps = { createEscalation
|
|
|
307
309
|
`phase change. If it is structural (broken resolver, malformed directive), ` +
|
|
308
310
|
`fix the directive or assembly recipe.`,
|
|
309
311
|
});
|
|
310
|
-
|
|
312
|
+
log.info(`[directive-executor] Created directive-failure escalation for "${params.focusName}" ` +
|
|
311
313
|
`(stage "${stageLabel}", ${params.attempts} attempts)`);
|
|
312
314
|
}
|
|
313
315
|
catch (err) {
|
|
314
|
-
|
|
316
|
+
log.error(`[directive-executor] Failed to create directive-failure escalation for ` +
|
|
315
317
|
`"${params.focusName}": ${err.message}`);
|
|
316
318
|
}
|
|
317
319
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"directive-dispatch.js","sourceRoot":"","sources":["../../src/directive/directive-dispatch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAoB,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC/F,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"directive-dispatch.js","sourceRoot":"","sources":["../../src/directive/directive-dispatch.ts"],"names":[],"mappings":"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"}
|
|
@@ -161,6 +161,33 @@ export declare function shouldSuppressRefireForPendingSpawn(input: {
|
|
|
161
161
|
} | undefined;
|
|
162
162
|
candidateHash: string;
|
|
163
163
|
}): boolean;
|
|
164
|
+
/**
|
|
165
|
+
* Decide whether to REAP (drop without spawning) a pending spawn directive whose
|
|
166
|
+
* focus was NOT found in the active set on this poll tick.
|
|
167
|
+
*
|
|
168
|
+
* This closes the zombie-directive invalidation gap: a directive queued for a
|
|
169
|
+
* focus that later leaves the active set (completed/deactivated) otherwise sits
|
|
170
|
+
* in the map forever, re-logged as "not found in active set" every poll until a
|
|
171
|
+
* daemon restart. The invalidation signal is focus LIVENESS, never age -- a
|
|
172
|
+
* capacity-blocked directive for a still-active focus legitimately waits for
|
|
173
|
+
* hours and must never be reaped (its focus is present in the active set, so
|
|
174
|
+
* focusPresentInActiveSet is true and this returns false).
|
|
175
|
+
*
|
|
176
|
+
* Absence is only trustworthy on a tick where EVERY product's getActiveFocuses
|
|
177
|
+
* read succeeded. processPendingSpawnFocuses swallows a per-product fetch failure
|
|
178
|
+
* with a warning, so on such a tick a live focus can appear absent purely because
|
|
179
|
+
* its product's read failed. When anyFetchFailed is true we therefore refuse to
|
|
180
|
+
* reap and let the directive be retried next tick -- a transient fetch failure
|
|
181
|
+
* must never drop a live directive.
|
|
182
|
+
*
|
|
183
|
+
* reap <=> !anyFetchFailed AND !focusPresentInActiveSet
|
|
184
|
+
*
|
|
185
|
+
* Pure and exported for unit testing (peer of shouldSuppressRefireForPendingSpawn).
|
|
186
|
+
*/
|
|
187
|
+
export declare function shouldReapPendingSpawnDirective(input: {
|
|
188
|
+
anyFetchFailed: boolean;
|
|
189
|
+
focusPresentInActiveSet: boolean;
|
|
190
|
+
}): boolean;
|
|
164
191
|
/**
|
|
165
192
|
* Decide whether a suppression of a stranded-review re-fire should be LOGGED on
|
|
166
193
|
* this tick. The re-fire itself is already suppressed by
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"directive-queue.d.ts","sourceRoot":"","sources":["../../src/directive/directive-queue.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAI/D;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB;;;;;;OAMG;IACH,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB;;;;;;OAMG;IACH,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,EAAE,QAAQ,GAAG,QAAQ,CAAC;IACjC,2DAA2D;IAC3D,OAAO,EAAE,MAAM,CAAC;IAChB,+DAA+D;IAC/D,UAAU,EAAE,iBAAiB,CAAC;IAC9B;;;;;OAKG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;;;;;;;;;;OAWG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC;AAED;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,oCAA2C,CAAC;AAE/E;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,cAAc,GAAG,MAAM,CAMtE;AAED;sCACsC;AACtC,eAAO,MAAM,qBAAqB,QAAQ,CAAC;AAE3C;;;;;;;;;;GAUG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE;IAC7C,IAAI,EAAE;QAAE,SAAS,EAAE,IAAI,CAAC;QAAC,yBAAyB,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,SAAS,CAAC;IAChF,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;CACb,GAAG,MAAM,GAAG,SAAS,CAMrB;AAED;;;;GAIG;AACH,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,MAAM,GAAG,qBAAqB,GAAG,SAAS,CAM/F;AAED;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEnE;AAED;;;;GAIG;AACH,wBAAgB,oCAAoC,CAClD,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,qBAAqB,GAC/B,IAAI,CAEN;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEjE;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,qBAAqB,GAAG,SAAS,CAE3F;AAED,wBAAgB,uBAAuB,IAAI,MAAM,EAAE,CAElD;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,mCAAmC,CAAC,KAAK,EAAE;IACzD,OAAO,EAAE;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;IAC7C,aAAa,EAAE,MAAM,CAAC;CACvB,GAAG,OAAO,CAEV;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE;IAChD,YAAY,EAAE,OAAO,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;CACf,GAAG,OAAO,CAKV;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAM/D"}
|
|
1
|
+
{"version":3,"file":"directive-queue.d.ts","sourceRoot":"","sources":["../../src/directive/directive-queue.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAI/D;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB;;;;;;OAMG;IACH,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB;;;;;;OAMG;IACH,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,EAAE,QAAQ,GAAG,QAAQ,CAAC;IACjC,2DAA2D;IAC3D,OAAO,EAAE,MAAM,CAAC;IAChB,+DAA+D;IAC/D,UAAU,EAAE,iBAAiB,CAAC;IAC9B;;;;;OAKG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;;;;;;;;;;OAWG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC;AAED;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,oCAA2C,CAAC;AAE/E;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,cAAc,GAAG,MAAM,CAMtE;AAED;sCACsC;AACtC,eAAO,MAAM,qBAAqB,QAAQ,CAAC;AAE3C;;;;;;;;;;GAUG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE;IAC7C,IAAI,EAAE;QAAE,SAAS,EAAE,IAAI,CAAC;QAAC,yBAAyB,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,SAAS,CAAC;IAChF,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;CACb,GAAG,MAAM,GAAG,SAAS,CAMrB;AAED;;;;GAIG;AACH,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,MAAM,GAAG,qBAAqB,GAAG,SAAS,CAM/F;AAED;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEnE;AAED;;;;GAIG;AACH,wBAAgB,oCAAoC,CAClD,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,qBAAqB,GAC/B,IAAI,CAEN;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEjE;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,qBAAqB,GAAG,SAAS,CAE3F;AAED,wBAAgB,uBAAuB,IAAI,MAAM,EAAE,CAElD;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,mCAAmC,CAAC,KAAK,EAAE;IACzD,OAAO,EAAE;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;IAC7C,aAAa,EAAE,MAAM,CAAC;CACvB,GAAG,OAAO,CAEV;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,+BAA+B,CAAC,KAAK,EAAE;IACrD,cAAc,EAAE,OAAO,CAAC;IACxB,uBAAuB,EAAE,OAAO,CAAC;CAClC,GAAG,OAAO,CAGV;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE;IAChD,YAAY,EAAE,OAAO,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;CACf,GAAG,OAAO,CAKV;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAM/D"}
|
|
@@ -122,6 +122,34 @@ export function getPendingSpawnFocusIds() {
|
|
|
122
122
|
export function shouldSuppressRefireForPendingSpawn(input) {
|
|
123
123
|
return input.pending !== undefined && input.pending.contentHash === input.candidateHash;
|
|
124
124
|
}
|
|
125
|
+
/**
|
|
126
|
+
* Decide whether to REAP (drop without spawning) a pending spawn directive whose
|
|
127
|
+
* focus was NOT found in the active set on this poll tick.
|
|
128
|
+
*
|
|
129
|
+
* This closes the zombie-directive invalidation gap: a directive queued for a
|
|
130
|
+
* focus that later leaves the active set (completed/deactivated) otherwise sits
|
|
131
|
+
* in the map forever, re-logged as "not found in active set" every poll until a
|
|
132
|
+
* daemon restart. The invalidation signal is focus LIVENESS, never age -- a
|
|
133
|
+
* capacity-blocked directive for a still-active focus legitimately waits for
|
|
134
|
+
* hours and must never be reaped (its focus is present in the active set, so
|
|
135
|
+
* focusPresentInActiveSet is true and this returns false).
|
|
136
|
+
*
|
|
137
|
+
* Absence is only trustworthy on a tick where EVERY product's getActiveFocuses
|
|
138
|
+
* read succeeded. processPendingSpawnFocuses swallows a per-product fetch failure
|
|
139
|
+
* with a warning, so on such a tick a live focus can appear absent purely because
|
|
140
|
+
* its product's read failed. When anyFetchFailed is true we therefore refuse to
|
|
141
|
+
* reap and let the directive be retried next tick -- a transient fetch failure
|
|
142
|
+
* must never drop a live directive.
|
|
143
|
+
*
|
|
144
|
+
* reap <=> !anyFetchFailed AND !focusPresentInActiveSet
|
|
145
|
+
*
|
|
146
|
+
* Pure and exported for unit testing (peer of shouldSuppressRefireForPendingSpawn).
|
|
147
|
+
*/
|
|
148
|
+
export function shouldReapPendingSpawnDirective(input) {
|
|
149
|
+
if (input.anyFetchFailed)
|
|
150
|
+
return false;
|
|
151
|
+
return !input.focusPresentInActiveSet;
|
|
152
|
+
}
|
|
125
153
|
/**
|
|
126
154
|
* Decide whether a suppression of a stranded-review re-fire should be LOGGED on
|
|
127
155
|
* this tick. The re-fire itself is already suppressed by
|