@telora/daemon 0.21.98 → 0.21.144
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 +6 -3
- package/dist/audit/audit-hooks.d.ts +120 -5
- package/dist/audit/audit-hooks.d.ts.map +1 -1
- package/dist/audit/audit-hooks.js +205 -45
- package/dist/audit/audit-hooks.js.map +1 -1
- package/dist/ci/ci-escalation.js +1 -1
- package/dist/ci/ci-escalation.js.map +1 -1
- package/dist/ci/ci-sensor-loop.d.ts +30 -0
- package/dist/ci/ci-sensor-loop.d.ts.map +1 -1
- package/dist/ci/ci-sensor-loop.js +85 -12
- package/dist/ci/ci-sensor-loop.js.map +1 -1
- package/dist/cli/connect/config-write.d.ts +87 -0
- package/dist/cli/connect/config-write.d.ts.map +1 -0
- package/dist/cli/connect/config-write.js +255 -0
- package/dist/cli/connect/config-write.js.map +1 -0
- package/dist/cli/connect/registration.d.ts +76 -0
- package/dist/cli/connect/registration.d.ts.map +1 -0
- package/dist/cli/connect/registration.js +207 -0
- package/dist/cli/connect/registration.js.map +1 -0
- package/dist/cli/connect.d.ts +3 -141
- package/dist/cli/connect.d.ts.map +1 -1
- package/dist/cli/connect.js +9 -441
- package/dist/cli/connect.js.map +1 -1
- package/dist/completion/coverage-drift-state.d.ts +29 -2
- package/dist/completion/coverage-drift-state.d.ts.map +1 -1
- package/dist/completion/coverage-drift-state.js +42 -2
- package/dist/completion/coverage-drift-state.js.map +1 -1
- package/dist/completion/coverage-stabilized.d.ts +58 -0
- package/dist/completion/coverage-stabilized.d.ts.map +1 -0
- package/dist/completion/coverage-stabilized.js +84 -0
- package/dist/completion/coverage-stabilized.js.map +1 -0
- package/dist/completion/delivery-advancement-guard.d.ts +21 -0
- package/dist/completion/delivery-advancement-guard.d.ts.map +1 -1
- package/dist/completion/delivery-advancement-guard.js +31 -3
- package/dist/completion/delivery-advancement-guard.js.map +1 -1
- package/dist/completion/escalation-provenance.d.ts +2 -1
- package/dist/completion/escalation-provenance.d.ts.map +1 -1
- package/dist/completion/escalation-provenance.js +2 -1
- package/dist/completion/escalation-provenance.js.map +1 -1
- package/dist/completion/escalations.js +1 -1
- package/dist/completion/escalations.js.map +1 -1
- package/dist/completion/event-escalations.d.ts +16 -1
- package/dist/completion/event-escalations.d.ts.map +1 -1
- package/dist/completion/event-escalations.js +43 -5
- package/dist/completion/event-escalations.js.map +1 -1
- package/dist/completion/event-phases.d.ts.map +1 -1
- package/dist/completion/event-phases.js +5 -2
- package/dist/completion/event-phases.js.map +1 -1
- package/dist/completion/event.d.ts +1 -1
- package/dist/completion/event.d.ts.map +1 -1
- package/dist/completion/event.js +2 -2
- package/dist/completion/event.js.map +1 -1
- package/dist/completion/machine-remediable-demotion.d.ts +74 -0
- package/dist/completion/machine-remediable-demotion.d.ts.map +1 -0
- package/dist/completion/machine-remediable-demotion.js +148 -0
- package/dist/completion/machine-remediable-demotion.js.map +1 -0
- 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 +1 -1
- package/dist/completion/read-only-pristine.js.map +1 -1
- 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-phase.d.ts +5 -2
- package/dist/completion/review-exit-phase.d.ts.map +1 -1
- package/dist/completion/review-exit-phase.js +15 -8
- package/dist/completion/review-exit-phase.js.map +1 -1
- package/dist/completion/settle-injection-sweep.d.ts +55 -0
- package/dist/completion/settle-injection-sweep.d.ts.map +1 -0
- package/dist/completion/settle-injection-sweep.js +88 -0
- package/dist/completion/settle-injection-sweep.js.map +1 -0
- package/dist/completion/state-cascade.d.ts.map +1 -1
- package/dist/completion/state-cascade.js +42 -1
- package/dist/completion/state-cascade.js.map +1 -1
- package/dist/completion/status-advance-phase.d.ts.map +1 -1
- package/dist/completion/status-advance-phase.js +18 -0
- package/dist/completion/status-advance-phase.js.map +1 -1
- package/dist/completion/team-lifecycle.d.ts +42 -0
- package/dist/completion/team-lifecycle.d.ts.map +1 -1
- package/dist/completion/team-lifecycle.js +73 -1
- package/dist/completion/team-lifecycle.js.map +1 -1
- package/dist/delivery/delivery-advance-block.d.ts +1 -1
- package/dist/delivery/delivery-advance-block.d.ts.map +1 -1
- package/dist/delivery/delivery-advance-block.js +1 -1
- package/dist/delivery/delivery-advance-block.js.map +1 -1
- package/dist/delivery/delivery-lifecycle.d.ts +19 -33
- package/dist/delivery/delivery-lifecycle.d.ts.map +1 -1
- package/dist/delivery/delivery-lifecycle.js +20 -148
- package/dist/delivery/delivery-lifecycle.js.map +1 -1
- package/dist/delivery/delivery-merge-ops.d.ts +46 -0
- package/dist/delivery/delivery-merge-ops.d.ts.map +1 -0
- package/dist/delivery/delivery-merge-ops.js +154 -0
- package/dist/delivery/delivery-merge-ops.js.map +1 -0
- package/dist/delivery/delivery-reconciler-apply.d.ts +28 -0
- package/dist/delivery/delivery-reconciler-apply.d.ts.map +1 -1
- package/dist/delivery/delivery-reconciler-apply.js +30 -0
- package/dist/delivery/delivery-reconciler-apply.js.map +1 -1
- package/dist/delivery/delivery-reconciler-shadow.d.ts +1 -1
- package/dist/delivery/delivery-reconciler-shadow.d.ts.map +1 -1
- package/dist/delivery/delivery-reconciler-shadow.js +1 -1
- package/dist/delivery/delivery-reconciler-shadow.js.map +1 -1
- package/dist/delivery/delivery-reconciler.d.ts +7 -2
- package/dist/delivery/delivery-reconciler.d.ts.map +1 -1
- package/dist/delivery/delivery-reconciler.js +34 -5
- package/dist/delivery/delivery-reconciler.js.map +1 -1
- package/dist/delivery/external-hold-surface.d.ts +32 -0
- package/dist/delivery/external-hold-surface.d.ts.map +1 -0
- package/dist/delivery/external-hold-surface.js +67 -0
- package/dist/delivery/external-hold-surface.js.map +1 -0
- package/dist/delivery/external-hold.d.ts +21 -0
- package/dist/delivery/external-hold.d.ts.map +1 -1
- package/dist/delivery/external-hold.js +40 -5
- package/dist/delivery/external-hold.js.map +1 -1
- package/dist/delivery/operator-hold.d.ts +1 -1
- package/dist/delivery/operator-hold.d.ts.map +1 -1
- package/dist/delivery/paused-revival.d.ts +140 -0
- package/dist/delivery/paused-revival.d.ts.map +1 -0
- package/dist/delivery/paused-revival.js +230 -0
- package/dist/delivery/paused-revival.js.map +1 -0
- package/dist/delivery/wait-reachability.d.ts.map +1 -1
- package/dist/delivery/wait-reachability.js +11 -0
- package/dist/delivery/wait-reachability.js.map +1 -1
- package/dist/directive/close-loop-dispatcher.d.ts +16 -263
- package/dist/directive/close-loop-dispatcher.d.ts.map +1 -1
- package/dist/directive/close-loop-dispatcher.js +21 -259
- package/dist/directive/close-loop-dispatcher.js.map +1 -1
- package/dist/directive/directive-dispatch.d.ts +20 -1
- package/dist/directive/directive-dispatch.d.ts.map +1 -1
- package/dist/directive/directive-dispatch.js +19 -1
- package/dist/directive/directive-dispatch.js.map +1 -1
- package/dist/directive/directive-executor.d.ts +1 -3
- package/dist/directive/directive-executor.d.ts.map +1 -1
- package/dist/directive/directive-executor.js +24 -22
- package/dist/directive/directive-executor.js.map +1 -1
- package/dist/directive/phase-sync.d.ts +28 -15
- package/dist/directive/phase-sync.d.ts.map +1 -1
- package/dist/directive/phase-sync.js +28 -36
- package/dist/directive/phase-sync.js.map +1 -1
- package/dist/directive/resolver-dispatch.d.ts +19 -92
- package/dist/directive/resolver-dispatch.d.ts.map +1 -1
- package/dist/directive/resolver-dispatch.js +19 -65
- package/dist/directive/resolver-dispatch.js.map +1 -1
- package/dist/drift/staleness-sensor.js +1 -1
- package/dist/drift/staleness-sensor.js.map +1 -1
- package/dist/focus/focus-engine.d.ts.map +1 -1
- package/dist/focus/focus-engine.js +29 -2
- package/dist/focus/focus-engine.js.map +1 -1
- package/dist/focus/focus-executor.d.ts.map +1 -1
- package/dist/focus/focus-executor.js +290 -256
- package/dist/focus/focus-executor.js.map +1 -1
- package/dist/focus/focus-lifecycle.d.ts.map +1 -1
- package/dist/focus/focus-lifecycle.js +2 -1
- package/dist/focus/focus-lifecycle.js.map +1 -1
- package/dist/focus/focus-loop-registry.d.ts.map +1 -1
- package/dist/focus/focus-loop-registry.js +43 -1
- package/dist/focus/focus-loop-registry.js.map +1 -1
- package/dist/focus/focus-respawn-guard.d.ts +1 -1
- package/dist/focus/focus-respawn-guard.d.ts.map +1 -1
- package/dist/focus/focus-respawn-guard.js +12 -3
- package/dist/focus/focus-respawn-guard.js.map +1 -1
- package/dist/focus/focus-team-state.d.ts +11 -0
- package/dist/focus/focus-team-state.d.ts.map +1 -1
- package/dist/focus/focus-team-state.js +17 -0
- package/dist/focus/focus-team-state.js.map +1 -1
- package/dist/focus/listener-auto-advance.d.ts +17 -46
- package/dist/focus/listener-auto-advance.d.ts.map +1 -1
- package/dist/focus/listener-auto-advance.js +104 -256
- package/dist/focus/listener-auto-advance.js.map +1 -1
- package/dist/focus/listener-spawn.d.ts +62 -0
- package/dist/focus/listener-spawn.d.ts.map +1 -0
- package/dist/focus/listener-spawn.js +418 -0
- package/dist/focus/listener-spawn.js.map +1 -0
- package/dist/focus/listener-state.d.ts +57 -0
- package/dist/focus/listener-state.d.ts.map +1 -0
- package/dist/focus/listener-state.js +63 -0
- package/dist/focus/listener-state.js.map +1 -0
- package/dist/focus/listener.d.ts +0 -58
- package/dist/focus/listener.d.ts.map +1 -1
- package/dist/focus/listener.js +138 -516
- package/dist/focus/listener.js.map +1 -1
- package/dist/focus/tick-deadline.d.ts +55 -0
- package/dist/focus/tick-deadline.d.ts.map +1 -0
- package/dist/focus/tick-deadline.js +91 -0
- package/dist/focus/tick-deadline.js.map +1 -0
- package/dist/focus/verify-open-issues.d.ts +62 -0
- package/dist/focus/verify-open-issues.d.ts.map +1 -0
- package/dist/focus/verify-open-issues.js +265 -0
- package/dist/focus/verify-open-issues.js.map +1 -0
- package/dist/focus-stage-lifecycle/index.d.ts +19 -26
- package/dist/focus-stage-lifecycle/index.d.ts.map +1 -1
- package/dist/focus-stage-lifecycle/index.js +27 -39
- package/dist/focus-stage-lifecycle/index.js.map +1 -1
- package/dist/focus-stage-lifecycle/wedge-cause-arbiter.d.ts +52 -0
- package/dist/focus-stage-lifecycle/wedge-cause-arbiter.d.ts.map +1 -0
- package/dist/focus-stage-lifecycle/wedge-cause-arbiter.js +94 -0
- package/dist/focus-stage-lifecycle/wedge-cause-arbiter.js.map +1 -0
- package/dist/focus-stage-lifecycle/wedge-watchdog.d.ts +18 -1
- package/dist/focus-stage-lifecycle/wedge-watchdog.d.ts.map +1 -1
- package/dist/focus-stage-lifecycle/wedge-watchdog.js +57 -7
- package/dist/focus-stage-lifecycle/wedge-watchdog.js.map +1 -1
- package/dist/git/index.d.ts +2 -0
- package/dist/git/index.d.ts.map +1 -1
- package/dist/git/index.js +2 -0
- package/dist/git/index.js.map +1 -1
- package/dist/git/merge-strategies.d.ts +80 -0
- package/dist/git/merge-strategies.d.ts.map +1 -0
- package/dist/git/merge-strategies.js +218 -0
- package/dist/git/merge-strategies.js.map +1 -0
- package/dist/git/merge-to-main.d.ts +76 -0
- package/dist/git/merge-to-main.d.ts.map +1 -0
- package/dist/git/merge-to-main.js +256 -0
- package/dist/git/merge-to-main.js.map +1 -0
- package/dist/git/merge.d.ts +27 -81
- package/dist/git/merge.d.ts.map +1 -1
- package/dist/git/merge.js +4 -448
- package/dist/git/merge.js.map +1 -1
- package/dist/git/state-detector.js +1 -1
- package/dist/git/state-detector.js.map +1 -1
- package/dist/guard/condition-evaluators.d.ts +9 -0
- package/dist/guard/condition-evaluators.d.ts.map +1 -1
- package/dist/guard/condition-evaluators.js +15 -0
- package/dist/guard/condition-evaluators.js.map +1 -1
- package/dist/guard/guard-evaluator.d.ts +17 -1
- package/dist/guard/guard-evaluator.d.ts.map +1 -1
- package/dist/guard/guard-evaluator.js +61 -2
- package/dist/guard/guard-evaluator.js.map +1 -1
- package/dist/guard/trigger-executor.d.ts +30 -18
- package/dist/guard/trigger-executor.d.ts.map +1 -1
- package/dist/guard/trigger-executor.js +55 -31
- package/dist/guard/trigger-executor.js.map +1 -1
- package/dist/loops/engine.js +1 -1
- package/dist/loops/engine.js.map +1 -1
- package/dist/merge/focus-merge.d.ts +1 -1
- package/dist/merge/focus-merge.d.ts.map +1 -1
- package/dist/merge/focus-merge.js +1 -1
- package/dist/merge/focus-merge.js.map +1 -1
- package/dist/merge/merge-back-loop.d.ts +1 -1
- package/dist/merge/merge-back-loop.d.ts.map +1 -1
- package/dist/merge/merge-back-loop.js +2 -2
- package/dist/merge/merge-back-loop.js.map +1 -1
- package/dist/merge/merge-detector.js +1 -1
- package/dist/merge/merge-detector.js.map +1 -1
- package/dist/nexus/return.js +1 -1
- package/dist/nexus/return.js.map +1 -1
- package/dist/prd/controller-shared.d.ts +223 -0
- package/dist/prd/controller-shared.d.ts.map +1 -0
- package/dist/prd/controller-shared.js +77 -0
- package/dist/prd/controller-shared.js.map +1 -0
- package/dist/prd/controller.d.ts +5 -256
- package/dist/prd/controller.d.ts.map +1 -1
- package/dist/prd/controller.js +9 -166
- package/dist/prd/controller.js.map +1 -1
- package/dist/prd/done-sweep.d.ts +55 -0
- package/dist/prd/done-sweep.d.ts.map +1 -0
- package/dist/prd/done-sweep.js +112 -0
- package/dist/prd/done-sweep.js.map +1 -0
- package/dist/prompt/team-prompt-base.d.ts +1 -1
- package/dist/prompt/team-prompt-base.d.ts.map +1 -1
- package/dist/prompt/team-prompt-base.js +1 -1
- package/dist/prompt/team-prompt-base.js.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 +12 -2
- package/dist/prompt-sections/execution-sections.js.map +1 -1
- package/dist/prompt-sections/persona-sections.d.ts +0 -32
- package/dist/prompt-sections/persona-sections.d.ts.map +1 -1
- package/dist/prompt-sections/persona-sections.js +19 -88
- package/dist/prompt-sections/persona-sections.js.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 +1 -1
- package/dist/queries/agent-resolvable-promotion.d.ts.map +1 -1
- package/dist/queries/agent-resolvable-promotion.js +2 -1
- package/dist/queries/agent-resolvable-promotion.js.map +1 -1
- package/dist/queries/deliveries.d.ts +0 -172
- package/dist/queries/deliveries.d.ts.map +1 -1
- package/dist/queries/deliveries.js +1 -77
- package/dist/queries/deliveries.js.map +1 -1
- package/dist/queries/escalation-consumption.d.ts +120 -0
- package/dist/queries/escalation-consumption.d.ts.map +1 -0
- package/dist/queries/escalation-consumption.js +143 -0
- package/dist/queries/escalation-consumption.js.map +1 -0
- package/dist/queries/escalation-dispositions.d.ts +19 -0
- package/dist/queries/escalation-dispositions.d.ts.map +1 -0
- package/dist/queries/escalation-dispositions.js +18 -0
- package/dist/queries/escalation-dispositions.js.map +1 -0
- package/dist/queries/escalation-suppression.d.ts +1 -1
- package/dist/queries/escalation-suppression.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/escalations.d.ts +343 -0
- package/dist/queries/escalations.d.ts.map +1 -0
- package/dist/queries/escalations.js +493 -0
- package/dist/queries/escalations.js.map +1 -0
- package/dist/queries/focus-discovery.d.ts +204 -0
- package/dist/queries/focus-discovery.d.ts.map +1 -0
- package/dist/queries/focus-discovery.js +92 -0
- package/dist/queries/focus-discovery.js.map +1 -0
- package/dist/queries/focuses.d.ts +36 -0
- package/dist/queries/focuses.d.ts.map +1 -1
- package/dist/queries/focuses.js +45 -0
- package/dist/queries/focuses.js.map +1 -1
- package/dist/queries/guards.d.ts +10 -0
- package/dist/queries/guards.d.ts.map +1 -1
- package/dist/queries/guards.js +14 -1
- package/dist/queries/guards.js.map +1 -1
- package/dist/queries/index.d.ts +4 -2
- package/dist/queries/index.d.ts.map +1 -1
- package/dist/queries/index.js +4 -2
- package/dist/queries/index.js.map +1 -1
- package/dist/queries/issues.d.ts +8 -372
- package/dist/queries/issues.d.ts.map +1 -1
- package/dist/queries/issues.js +7 -482
- package/dist/queries/issues.js.map +1 -1
- package/dist/queries/schemas.d.ts +51 -0
- package/dist/queries/schemas.d.ts.map +1 -1
- package/dist/queries/schemas.js +34 -0
- package/dist/queries/schemas.js.map +1 -1
- package/dist/queries/verification.d.ts +5 -6
- package/dist/queries/verification.d.ts.map +1 -1
- package/dist/queries/verification.js +5 -6
- package/dist/queries/verification.js.map +1 -1
- package/dist/resolvers/agent-escalations.d.ts +20 -0
- package/dist/resolvers/agent-escalations.d.ts.map +1 -1
- package/dist/resolvers/agent-escalations.js +40 -10
- package/dist/resolvers/agent-escalations.js.map +1 -1
- package/dist/resolvers/index.d.ts +2 -2
- package/dist/resolvers/index.d.ts.map +1 -1
- package/dist/resolvers/index.js +1 -1
- package/dist/resolvers/index.js.map +1 -1
- package/dist/resolvers/loop-persona.d.ts +1 -11
- package/dist/resolvers/loop-persona.d.ts.map +1 -1
- package/dist/resolvers/loop-persona.js +2 -16
- package/dist/resolvers/loop-persona.js.map +1 -1
- package/dist/resolvers/shared/git-diff.d.ts +99 -18
- package/dist/resolvers/shared/git-diff.d.ts.map +1 -1
- package/dist/resolvers/shared/git-diff.js +98 -27
- package/dist/resolvers/shared/git-diff.js.map +1 -1
- package/dist/shell/control-state.d.ts +1 -1
- package/dist/shell/control-state.d.ts.map +1 -1
- package/dist/shell/control-state.js +1 -1
- package/dist/shell/control-state.js.map +1 -1
- package/dist/shell/crash-recovery.d.ts +1 -1
- package/dist/shell/crash-recovery.d.ts.map +1 -1
- package/dist/shell/crash-recovery.js +2 -2
- package/dist/shell/crash-recovery.js.map +1 -1
- package/dist/shell/install-probe-tick.d.ts +1 -1
- package/dist/shell/install-probe-tick.d.ts.map +1 -1
- package/dist/shell/install-probe-tick.js +1 -1
- package/dist/shell/install-probe-tick.js.map +1 -1
- package/dist/shell/unified-shell-provisioning.d.ts +40 -0
- package/dist/shell/unified-shell-provisioning.d.ts.map +1 -1
- package/dist/shell/unified-shell-provisioning.js +72 -0
- package/dist/shell/unified-shell-provisioning.js.map +1 -1
- package/dist/shell/unified-shell.d.ts.map +1 -1
- package/dist/shell/unified-shell.js +19 -2
- package/dist/shell/unified-shell.js.map +1 -1
- package/dist/spawn/helpers.d.ts.map +1 -1
- package/dist/spawn/helpers.js +6 -1
- package/dist/spawn/helpers.js.map +1 -1
- package/dist/spawn/model-routing.d.ts +1 -1
- package/dist/spawn/model-routing.d.ts.map +1 -1
- package/dist/spawn/model-routing.js +1 -1
- 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 +7 -0
- package/dist/spawn/process-spawn.js.map +1 -1
- package/dist/spawn/prompt-assembly.d.ts +1 -1
- package/dist/spawn/prompt-assembly.d.ts.map +1 -1
- package/dist/spawn/prompt-assembly.js +1 -1
- package/dist/spawn/prompt-assembly.js.map +1 -1
- package/dist/spawn/spawn-cooldown.d.ts +41 -7
- package/dist/spawn/spawn-cooldown.d.ts.map +1 -1
- package/dist/spawn/spawn-cooldown.js +47 -0
- package/dist/spawn/spawn-cooldown.js.map +1 -1
- package/dist/spawn/spawn-decision.d.ts.map +1 -1
- package/dist/spawn/spawn-decision.js +34 -2
- package/dist/spawn/spawn-decision.js.map +1 -1
- package/dist/spawn/worktree-session.d.ts +1 -1
- package/dist/spawn/worktree-session.d.ts.map +1 -1
- package/dist/spawn/worktree-session.js +1 -1
- package/dist/spawn/worktree-session.js.map +1 -1
- package/dist/templates/claude-md.d.ts +1 -1
- package/dist/templates/claude-md.d.ts.map +1 -1
- package/dist/templates/claude-md.js +12 -0
- package/dist/templates/claude-md.js.map +1 -1
- package/dist/verify/stall-detectors.d.ts +20 -8
- package/dist/verify/stall-detectors.d.ts.map +1 -1
- package/dist/verify/stall-detectors.js +27 -46
- package/dist/verify/stall-detectors.js.map +1 -1
- package/dist/verify/verification-default-on.d.ts +1 -1
- package/dist/verify/verification-default-on.d.ts.map +1 -1
- package/dist/verify/verification-deps.d.ts +1 -1
- package/dist/verify/verification-deps.d.ts.map +1 -1
- package/dist/verify/verification-engine.d.ts.map +1 -1
- package/dist/verify/verification-engine.js +20 -12
- package/dist/verify/verification-engine.js.map +1 -1
- package/dist/workflow/gate-failure-policy.d.ts +48 -0
- package/dist/workflow/gate-failure-policy.d.ts.map +1 -0
- package/dist/workflow/gate-failure-policy.js +57 -0
- package/dist/workflow/gate-failure-policy.js.map +1 -0
- package/dist/workflow/pipeline-config.d.ts +2 -2
- package/dist/workflow/pipeline-config.js +2 -2
- package/dist/worktree/provision.js +1 -1
- package/dist/worktree/provision.js.map +1 -1
- package/dist/worktree/scratch-guard.d.ts.map +1 -1
- package/dist/worktree/scratch-guard.js +23 -2
- package/dist/worktree/scratch-guard.js.map +1 -1
- package/package.json +1 -1
- package/dist/directive/close-loop-stage.d.ts +0 -50
- package/dist/directive/close-loop-stage.d.ts.map +0 -1
- package/dist/directive/close-loop-stage.js +0 -210
- package/dist/directive/close-loop-stage.js.map +0 -1
- package/dist/focus-stage-lifecycle/review-convergence.d.ts +0 -133
- package/dist/focus-stage-lifecycle/review-convergence.d.ts.map +0 -1
- package/dist/focus-stage-lifecycle/review-convergence.js +0 -237
- package/dist/focus-stage-lifecycle/review-convergence.js.map +0 -1
|
@@ -156,266 +156,300 @@ export async function spawnFocusTeam(params) {
|
|
|
156
156
|
focusId, focusName, role, config, executionConfig, pipelineConfig, branchName, readOnly,
|
|
157
157
|
});
|
|
158
158
|
activeTeams.set(focusId, teamState);
|
|
159
|
-
|
|
160
|
-
//
|
|
161
|
-
//
|
|
162
|
-
//
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
//
|
|
170
|
-
//
|
|
171
|
-
//
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
return
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
// Ensure log directory exists
|
|
181
|
-
if (!existsSync(config.logDir)) {
|
|
182
|
-
mkdirSync(config.logDir, { recursive: true, mode: 0o700 });
|
|
183
|
-
}
|
|
184
|
-
// --- Phase: resolve the focus worktree (reuse + rebase, or inline-create).
|
|
185
|
-
// null => cannot spawn (no commits / create failed); the helper already tore
|
|
186
|
-
// down (activeTeams.delete + recordFocusTeardown).
|
|
187
|
-
const worktreePath = await resolveSpawnWorktree({ config, focusId, focusName, branchName, readOnly });
|
|
188
|
-
if (!worktreePath)
|
|
189
|
-
return;
|
|
190
|
-
teamState.worktreePath = worktreePath;
|
|
191
|
-
// Pin the integration tip NOW -- after the worktree rebased onto integration,
|
|
192
|
-
// before any mid-flight or completion merges advance the ref. This is the diff
|
|
193
|
-
// base for the session's git output at finalize; the live integration ref
|
|
194
|
-
// cannot be used because merging the focus branch makes `integration..branch`
|
|
195
|
-
// empty (real merges preserve ancestry).
|
|
196
|
-
teamState.integrationBaseSha = resolveRef(worktreePath, config.integrationBranch);
|
|
197
|
-
recordActivity();
|
|
198
|
-
// Best-effort review context: review-filed open count + prior findings (the
|
|
199
|
-
// remediation working set) + the focus description for the prompt.
|
|
200
|
-
const { reviewFiledOpenCount, priorFindings, focusDescription, agentResolvableItems } = await resolveReviewContext({
|
|
201
|
-
config, focusId, focusName, issues,
|
|
202
|
-
});
|
|
203
|
-
// --- Phase A: resolve the directive body + spawn metadata (no prompt yet) ---
|
|
204
|
-
// The engine backend is resolved per-pass (Phase B) before the prompt is
|
|
205
|
-
// built (Phase C), so the lead prompt's orchestration vocabulary matches the
|
|
206
|
-
// engine that will actually run this pass.
|
|
207
|
-
const { directiveBody, directiveModel, directiveEngine, directiveLocalModel, pendingFocusOverrideModel, spawnStageName, spawnDirectiveDeclared, useLegacyFullPrompt, } = await resolveDirectiveOrFallback({
|
|
208
|
-
config, focusId, focusName, worktreePath, pendingDirective, assemblyManifest,
|
|
209
|
-
claudeSessionIds, deliveries, issues, readOnly,
|
|
210
|
-
});
|
|
211
|
-
// --- Phase B: resolve the session lineage (pass) and the engine backend
|
|
212
|
-
// (stamps lineage + sessionType onto the team state). The stage directive's
|
|
213
|
-
// engine is the Workflow layer of the unified Focus > Workflow > Default. ---
|
|
214
|
-
const { spawnSpec, enginePass, resolvedEngine, backend } = resolveEngineForPass({
|
|
215
|
-
spawnDirectiveDeclared, spawnStageName, engineOverride, stageDirectiveEngine: directiveEngine,
|
|
216
|
-
config, orgDefaultEngine, focusName, teamState,
|
|
217
|
-
});
|
|
218
|
-
// Pin the focus-branch tip THIS review pass is covering (spawn-tip), captured
|
|
219
|
-
// now (post-rebase, before any mid-review commits). Carried to completion so
|
|
220
|
-
// the coverage watermark is stamped from what the review actually saw, and so
|
|
221
|
-
// the auto-approve gate can detect mid-review drift (spawn-tip != exit-tip).
|
|
222
|
-
// Review lineage only; coding teams leave it null.
|
|
223
|
-
if (teamState.sessionType === 'review') {
|
|
224
|
-
const spawnTip = resolveRef(worktreePath, branchName);
|
|
225
|
-
if (shouldAbortReviewSpawnForUnresolvableCoverage(teamState.sessionType, spawnTip)) {
|
|
226
|
-
// Hard-fail: a review pass whose coverage anchor cannot be resolved must
|
|
227
|
-
// NOT open a session. If it did, the review would run to a succeeded exit
|
|
228
|
-
// with coverageComplete=false (a null spawn-tip can never be
|
|
229
|
-
// coverage-complete -- review-exit-phase.ts:233), auto-approve would be
|
|
230
|
-
// withheld as apparent drift, and a full-pass re-review armed every cycle
|
|
231
|
-
// -- structurally forever (the 224-rejection loop shape from the
|
|
232
|
-
// 2026-08-06 incident). Stop here with a specific signal naming the
|
|
233
|
-
// unresolvable ref; tear down the freshly-inserted team (the worktree is
|
|
234
|
-
// focus-owned and left intact). No session opens, so the focus never
|
|
235
|
-
// enters the unknown-coverage re-review cycle.
|
|
236
|
-
log.error(`[focus-executor] Review spawn ABORTED for "${focusName}": coverage ref ` +
|
|
237
|
-
`"${branchName}" could not be resolved in ${worktreePath}. No session opened ` +
|
|
238
|
-
`(a review over an unresolvable coverage anchor would loop as unknown-coverage drift).`);
|
|
239
|
-
activeTeams.delete(focusId);
|
|
159
|
+
// Structural release guarantee (TEL-1). The team is registered above and MUST
|
|
160
|
+
// be released on EVERY exit path out of the spawn -- every early return, and
|
|
161
|
+
// any unhandled throw from a helper below (fetchSpawnContext / getBackend /
|
|
162
|
+
// resolveAssemblyRecipe on an empty registry / mkdirSync / the process-spawn
|
|
163
|
+
// re-throw) -- until the child process actually launches and assumes ownership
|
|
164
|
+
// of the lifecycle (teamCommitted = true). Without this, a throw leaves an
|
|
165
|
+
// activeTeams entry that outlives the process it names, and the double-spawn
|
|
166
|
+
// guard above then refuses every later spawn for this focus forever. This
|
|
167
|
+
// single finally REPLACES the hand-placed activeTeams.delete calls in the body;
|
|
168
|
+
// the delete now happens exactly once, here, on any non-committed exit. The
|
|
169
|
+
// catch keeps a throw from one focus's spawn from aborting its sibling focuses
|
|
170
|
+
// in the same poll tick (processReadyFocuses walks focuses in one loop) or from
|
|
171
|
+
// silencing the recovery paths that read team presence.
|
|
172
|
+
let teamCommitted = false;
|
|
173
|
+
try {
|
|
174
|
+
logSpawnHeader({ config, focusId, focusName, role, pipelineConfig, executionConfig, branchName, readOnly });
|
|
175
|
+
// --- Phase 1: fetch all spawn context (deliveries/issues/product-context/
|
|
176
|
+
// deployment-profile/loop-context) + PRD milestone push-down. null => the
|
|
177
|
+
// context fetch rejected; tear down the freshly-inserted team and return.
|
|
178
|
+
const spawnContext = await fetchSpawnContext(config, focusId, focusName);
|
|
179
|
+
if (!spawnContext) {
|
|
240
180
|
return;
|
|
241
181
|
}
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
// the segment carried 'review'. null => createSession failed (the helper
|
|
249
|
-
// already removed the team from activeTeams; worktree is focus-owned). Nothing
|
|
250
|
-
// between Phase B above and here uses session.id; the first real use is the
|
|
251
|
-
// modelResolution updateSession below.
|
|
252
|
-
const session = await createTeamSession({
|
|
253
|
-
config, role, focusId, focusName, branchName, sessionType: teamState.sessionType, teamState,
|
|
254
|
-
});
|
|
255
|
-
if (!session)
|
|
256
|
-
return;
|
|
257
|
-
// Legacy loop-context: resolved ONLY when the legacy full prompt will render it
|
|
258
|
-
// (the directive path drops it, so resolving there was a dead fetch + a
|
|
259
|
-
// duplicate focus.injections resolution). Empty string on the directive path.
|
|
260
|
-
let loopContext = '';
|
|
261
|
-
if (useLegacyFullPrompt) {
|
|
262
|
-
const loopContextResult = await resolveLegacyLoopContext(config, focusId);
|
|
263
|
-
loopContext = loopContextResult.content;
|
|
264
|
-
assemblyManifest.push(...loopContextResult.manifest);
|
|
265
|
-
}
|
|
266
|
-
// --- Phase C: build the prompt with the resolved engine's vocabulary ---
|
|
267
|
-
const promptContext = buildFocusPromptContext({
|
|
268
|
-
config, focusId, focusName, focusDescription, deliveries, issues, executionConfig,
|
|
269
|
-
pipelineConfig, deploymentProfileSnapshot, readOnly, loopContext,
|
|
270
|
-
reviewFiledOpenCount, engineId: backend.id,
|
|
271
|
-
// agent_resolvable filings are CODING work: hand them only to a coding pass,
|
|
272
|
-
// never a review pass (a reviewer does not fix; it would mis-task them).
|
|
273
|
-
agentResolvableItems: teamState.sessionType === 'review' ? [] : agentResolvableItems,
|
|
274
|
-
});
|
|
275
|
-
const prompt = buildSpawnPrompt({
|
|
276
|
-
role, promptContext, useLegacyFullPrompt, directiveBody, prdMilestoneContext,
|
|
277
|
-
answeredEscalationsSection: answeredEscalations.section,
|
|
278
|
-
isReviewPass: teamState.sessionType === 'review',
|
|
279
|
-
// Hand the review agent its own Telora agent_sessions.id so it stamps the
|
|
280
|
-
// outcome with the exact id product-api validates against (review.ts).
|
|
281
|
-
agentSessionId: session.id,
|
|
282
|
-
});
|
|
283
|
-
// Set up log file streams
|
|
284
|
-
const logs = setupTeamLogStreams(config.logDir, branchName, focusName);
|
|
285
|
-
// Build args and env.
|
|
286
|
-
// Resolve the resume id from the focus's per-lineage session map (INJ-A),
|
|
287
|
-
// keyed by the spawn's declared lineage, honoring its declared continuity
|
|
288
|
-
// policy (INJ-B). continuity=fresh -> null; resume -> the lineage's stored id.
|
|
289
|
-
const rawResumeId = resolveResumeId({
|
|
290
|
-
sessionMap: claudeSessionIds,
|
|
291
|
-
lineage: spawnSpec.lineage,
|
|
292
|
-
continuity: spawnSpec.continuity,
|
|
293
|
-
});
|
|
294
|
-
// Force the spawn FRESH when an executable focus has queued CG-only deliveries
|
|
295
|
-
// that need scoping: the scoping directive must land on a NEW session, not
|
|
296
|
-
// resume a concluded one that no-ops (the spawn-loop wedge). resumeId is nulled
|
|
297
|
-
// BEFORE arg-building so no --resume flag reaches the process. Discovery-only
|
|
298
|
-
// (readOnly) focuses pass through unchanged.
|
|
299
|
-
const scopingResume = resolveScopingSpawnResume({
|
|
300
|
-
readOnly,
|
|
301
|
-
deliveries,
|
|
302
|
-
issues,
|
|
303
|
-
resumeId: rawResumeId,
|
|
304
|
-
});
|
|
305
|
-
const resumeId = scopingResume.resumeId;
|
|
306
|
-
if (scopingResume.isScopingSpawn) {
|
|
307
|
-
log.info(`[focus-executor] Forcing fresh scoping spawn for "${focusName}" ` +
|
|
308
|
-
`(dropping resume id ${rawResumeId ?? 'none'}; queued CG-only deliveries need Task/Bug scoping)`);
|
|
309
|
-
}
|
|
310
|
-
// --- Phase: resolve CODEX_HOME + per-pass local-model routing + model
|
|
311
|
-
// selection + CLI args.
|
|
312
|
-
// Surface (do not silently thrash) two different local models pinned to the
|
|
313
|
-
// coding vs review pass on one GPU host (#9). Best-effort + deduped per focus;
|
|
314
|
-
// never blocks the spawn. Runs before model resolution so the operator sees the
|
|
315
|
-
// conflict regardless of which pass spawns first.
|
|
316
|
-
await surfaceSingleHostModelConflict({
|
|
317
|
-
focusId, focusName,
|
|
318
|
-
organizationId: config.organizationId,
|
|
319
|
-
productId: config.productId,
|
|
320
|
-
localModelOverride,
|
|
321
|
-
}).catch(err => {
|
|
322
|
-
log.warn(`single-host model-conflict check failed for "${focusName}":`, err.message);
|
|
323
|
-
});
|
|
324
|
-
const modelResolution = await resolveSpawnModel({
|
|
325
|
-
resolvedEngine, enginePass, localModelOverride, stageDirectiveLocalModel: directiveLocalModel,
|
|
326
|
-
config, directiveModel,
|
|
327
|
-
pendingFocusOverrideModel, pipelineConfig, backend, worktreePath, resumeId,
|
|
328
|
-
role, readOnly, focusName, focusId,
|
|
329
|
-
});
|
|
330
|
-
if (modelResolution.kind === 'skip_load') {
|
|
331
|
-
// Host-control swap failed (D2): do NOT spawn against a not-yet-loaded model.
|
|
332
|
-
// Conservative -- mark the just-created session terminal (transient host-swap
|
|
333
|
-
// failure, NOT a key/config defect) and release the in-memory slot so the 30s
|
|
334
|
-
// poll cleanly re-attempts. No escalation: the failure is operationally
|
|
335
|
-
// transient (host unreachable / model not yet loaded) and self-healing.
|
|
336
|
-
const { coords, dbMessage } = modelResolution;
|
|
337
|
-
await updateSession(session.id, {
|
|
338
|
-
status: 'failed',
|
|
339
|
-
exit_reason: `Host-control model swap failed for "${coords.name}": ${dbMessage}`,
|
|
340
|
-
exit_category: 'local_model_swap_failed',
|
|
341
|
-
ended_at: new Date().toISOString(),
|
|
342
|
-
}).catch(updateErr => {
|
|
343
|
-
log.warn(`Failed to update session after local-model swap failure:`, updateErr.message);
|
|
182
|
+
const { deliveries, issues, deploymentProfileSnapshot, answeredEscalations, prdMilestoneContext, prdMilestoneManifest, assemblyManifest, } = spawnContext;
|
|
183
|
+
// --- Phase 2: consume any pending directive, run the rank-ordered pre-spawn
|
|
184
|
+
// guard, and record known-delivery bookkeeping on the team state. 'skip' =>
|
|
185
|
+
// no actionable work; tear down and return (the map stays orchestrator-owned).
|
|
186
|
+
const resolution = resolveActionableDeliveries({
|
|
187
|
+
focusId, focusName, deliveries, issues, forceSpawn, teamState,
|
|
344
188
|
});
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
//
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
//
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
//
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
189
|
+
if (resolution.kind === 'skip') {
|
|
190
|
+
return;
|
|
191
|
+
}
|
|
192
|
+
const { pendingDirective } = resolution;
|
|
193
|
+
// Ensure log directory exists
|
|
194
|
+
if (!existsSync(config.logDir)) {
|
|
195
|
+
mkdirSync(config.logDir, { recursive: true, mode: 0o700 });
|
|
196
|
+
}
|
|
197
|
+
// --- Phase: resolve the focus worktree (reuse + rebase, or inline-create).
|
|
198
|
+
// null => cannot spawn (no commits / create failed); the helper already tore
|
|
199
|
+
// down (activeTeams.delete + recordFocusTeardown).
|
|
200
|
+
const worktreePath = await resolveSpawnWorktree({ config, focusId, focusName, branchName, readOnly });
|
|
201
|
+
if (!worktreePath)
|
|
202
|
+
return;
|
|
203
|
+
teamState.worktreePath = worktreePath;
|
|
204
|
+
// Pin the integration tip NOW -- after the worktree rebased onto integration,
|
|
205
|
+
// before any mid-flight or completion merges advance the ref. This is the diff
|
|
206
|
+
// base for the session's git output at finalize; the live integration ref
|
|
207
|
+
// cannot be used because merging the focus branch makes `integration..branch`
|
|
208
|
+
// empty (real merges preserve ancestry).
|
|
209
|
+
teamState.integrationBaseSha = resolveRef(worktreePath, config.integrationBranch);
|
|
210
|
+
recordActivity();
|
|
211
|
+
// Best-effort review context: review-filed open count + prior findings (the
|
|
212
|
+
// remediation working set) + the focus description for the prompt.
|
|
213
|
+
const { reviewFiledOpenCount, priorFindings, focusDescription, agentResolvableItems } = await resolveReviewContext({
|
|
214
|
+
config, focusId, focusName, issues,
|
|
369
215
|
});
|
|
370
|
-
|
|
371
|
-
|
|
216
|
+
// --- Phase A: resolve the directive body + spawn metadata (no prompt yet) ---
|
|
217
|
+
// The engine backend is resolved per-pass (Phase B) before the prompt is
|
|
218
|
+
// built (Phase C), so the lead prompt's orchestration vocabulary matches the
|
|
219
|
+
// engine that will actually run this pass.
|
|
220
|
+
const { directiveBody, directiveModel, directiveEngine, directiveLocalModel, pendingFocusOverrideModel, spawnStageName, spawnDirectiveDeclared, useLegacyFullPrompt, } = await resolveDirectiveOrFallback({
|
|
221
|
+
config, focusId, focusName, worktreePath, pendingDirective, assemblyManifest,
|
|
222
|
+
claudeSessionIds, deliveries, issues, readOnly,
|
|
223
|
+
});
|
|
224
|
+
// --- Phase B: resolve the session lineage (pass) and the engine backend
|
|
225
|
+
// (stamps lineage + sessionType onto the team state). The stage directive's
|
|
226
|
+
// engine is the Workflow layer of the unified Focus > Workflow > Default. ---
|
|
227
|
+
const { spawnSpec, enginePass, resolvedEngine, backend } = resolveEngineForPass({
|
|
228
|
+
spawnDirectiveDeclared, spawnStageName, engineOverride, stageDirectiveEngine: directiveEngine,
|
|
229
|
+
config, orgDefaultEngine, focusName, teamState,
|
|
230
|
+
});
|
|
231
|
+
// Pin the focus-branch tip THIS review pass is covering (spawn-tip), captured
|
|
232
|
+
// now (post-rebase, before any mid-review commits). Carried to completion so
|
|
233
|
+
// the coverage watermark is stamped from what the review actually saw, and so
|
|
234
|
+
// the auto-approve gate can detect mid-review drift (spawn-tip != exit-tip).
|
|
235
|
+
// Review lineage only; coding teams leave it null.
|
|
236
|
+
if (teamState.sessionType === 'review') {
|
|
237
|
+
const spawnTip = resolveRef(worktreePath, branchName);
|
|
238
|
+
if (shouldAbortReviewSpawnForUnresolvableCoverage(teamState.sessionType, spawnTip)) {
|
|
239
|
+
// Hard-fail: a review pass whose coverage anchor cannot be resolved must
|
|
240
|
+
// NOT open a session. If it did, the review would run to a succeeded exit
|
|
241
|
+
// with coverageComplete=false (a null spawn-tip can never be
|
|
242
|
+
// coverage-complete -- review-exit-phase.ts:233), auto-approve would be
|
|
243
|
+
// withheld as apparent drift, and a full-pass re-review armed every cycle
|
|
244
|
+
// -- structurally forever (the 224-rejection loop shape from the
|
|
245
|
+
// 2026-08-06 incident). Stop here with a specific signal naming the
|
|
246
|
+
// unresolvable ref; tear down the freshly-inserted team (the worktree is
|
|
247
|
+
// focus-owned and left intact). No session opens, so the focus never
|
|
248
|
+
// enters the unknown-coverage re-review cycle.
|
|
249
|
+
log.error(`[focus-executor] Review spawn ABORTED for "${focusName}": coverage ref ` +
|
|
250
|
+
`"${branchName}" could not be resolved in ${worktreePath}. No session opened ` +
|
|
251
|
+
`(a review over an unresolvable coverage anchor would loop as unknown-coverage drift).`);
|
|
252
|
+
return;
|
|
253
|
+
}
|
|
254
|
+
teamState.reviewSpawnTip = spawnTip;
|
|
255
|
+
}
|
|
256
|
+
// --- Phase: create the team-lead session. Opened AFTER Phase B so the
|
|
257
|
+
// (focus, lineage) pass is resolved on the authoritative lineage
|
|
258
|
+
// (teamState.sessionType), not a stale 'coding' default -- a 'review'-lineage
|
|
259
|
+
// spawn without a pending directive would otherwise open a 'coding' pass while
|
|
260
|
+
// the segment carried 'review'. null => createSession failed (the helper
|
|
261
|
+
// already removed the team from activeTeams; worktree is focus-owned). Nothing
|
|
262
|
+
// between Phase B above and here uses session.id; the first real use is the
|
|
263
|
+
// modelResolution updateSession below.
|
|
264
|
+
const session = await createTeamSession({
|
|
265
|
+
config, role, focusId, focusName, branchName, sessionType: teamState.sessionType, teamState,
|
|
266
|
+
});
|
|
267
|
+
if (!session)
|
|
268
|
+
return;
|
|
269
|
+
// Legacy loop-context: resolved ONLY when the legacy full prompt will render it
|
|
270
|
+
// (the directive path drops it, so resolving there was a dead fetch + a
|
|
271
|
+
// duplicate focus.injections resolution). Empty string on the directive path.
|
|
272
|
+
let loopContext = '';
|
|
273
|
+
if (useLegacyFullPrompt) {
|
|
274
|
+
const loopContextResult = await resolveLegacyLoopContext(config, focusId);
|
|
275
|
+
loopContext = loopContextResult.content;
|
|
276
|
+
assemblyManifest.push(...loopContextResult.manifest);
|
|
277
|
+
}
|
|
278
|
+
// --- Phase C: build the prompt with the resolved engine's vocabulary ---
|
|
279
|
+
const promptContext = buildFocusPromptContext({
|
|
280
|
+
config, focusId, focusName, focusDescription, deliveries, issues, executionConfig,
|
|
281
|
+
pipelineConfig, deploymentProfileSnapshot, readOnly, loopContext,
|
|
282
|
+
reviewFiledOpenCount, engineId: backend.id,
|
|
283
|
+
// agent_resolvable filings are CODING work: hand them only to a coding pass,
|
|
284
|
+
// never a review pass (a reviewer does not fix; it would mis-task them).
|
|
285
|
+
agentResolvableItems: teamState.sessionType === 'review' ? [] : agentResolvableItems,
|
|
286
|
+
});
|
|
287
|
+
const prompt = buildSpawnPrompt({
|
|
288
|
+
role, promptContext, useLegacyFullPrompt, directiveBody, prdMilestoneContext,
|
|
289
|
+
answeredEscalationsSection: answeredEscalations.section,
|
|
290
|
+
isReviewPass: teamState.sessionType === 'review',
|
|
291
|
+
// Hand the review agent its own Telora agent_sessions.id so it stamps the
|
|
292
|
+
// outcome with the exact id product-api validates against (review.ts).
|
|
293
|
+
agentSessionId: session.id,
|
|
294
|
+
});
|
|
295
|
+
// Set up log file streams
|
|
296
|
+
const logs = setupTeamLogStreams(config.logDir, branchName, focusName);
|
|
297
|
+
// Build args and env.
|
|
298
|
+
// Resolve the resume id from the focus's per-lineage session map (INJ-A),
|
|
299
|
+
// keyed by the spawn's declared lineage, honoring its declared continuity
|
|
300
|
+
// policy (INJ-B). continuity=fresh -> null; resume -> the lineage's stored id.
|
|
301
|
+
const rawResumeId = resolveResumeId({
|
|
302
|
+
sessionMap: claudeSessionIds,
|
|
303
|
+
lineage: spawnSpec.lineage,
|
|
304
|
+
continuity: spawnSpec.continuity,
|
|
305
|
+
});
|
|
306
|
+
// Force the spawn FRESH when an executable focus has queued CG-only deliveries
|
|
307
|
+
// that need scoping: the scoping directive must land on a NEW session, not
|
|
308
|
+
// resume a concluded one that no-ops (the spawn-loop wedge). resumeId is nulled
|
|
309
|
+
// BEFORE arg-building so no --resume flag reaches the process. Discovery-only
|
|
310
|
+
// (readOnly) focuses pass through unchanged.
|
|
311
|
+
const scopingResume = resolveScopingSpawnResume({
|
|
312
|
+
readOnly,
|
|
313
|
+
deliveries,
|
|
314
|
+
issues,
|
|
315
|
+
resumeId: rawResumeId,
|
|
316
|
+
});
|
|
317
|
+
const resumeId = scopingResume.resumeId;
|
|
318
|
+
if (scopingResume.isScopingSpawn) {
|
|
319
|
+
log.info(`[focus-executor] Forcing fresh scoping spawn for "${focusName}" ` +
|
|
320
|
+
`(dropping resume id ${rawResumeId ?? 'none'}; queued CG-only deliveries need Task/Bug scoping)`);
|
|
321
|
+
}
|
|
322
|
+
// --- Phase: resolve CODEX_HOME + per-pass local-model routing + model
|
|
323
|
+
// selection + CLI args.
|
|
324
|
+
// Surface (do not silently thrash) two different local models pinned to the
|
|
325
|
+
// coding vs review pass on one GPU host (#9). Best-effort + deduped per focus;
|
|
326
|
+
// never blocks the spawn. Runs before model resolution so the operator sees the
|
|
327
|
+
// conflict regardless of which pass spawns first.
|
|
328
|
+
await surfaceSingleHostModelConflict({
|
|
329
|
+
focusId, focusName,
|
|
330
|
+
organizationId: config.organizationId,
|
|
331
|
+
productId: config.productId,
|
|
332
|
+
localModelOverride,
|
|
333
|
+
}).catch(err => {
|
|
334
|
+
log.warn(`single-host model-conflict check failed for "${focusName}":`, err.message);
|
|
335
|
+
});
|
|
336
|
+
const modelResolution = await resolveSpawnModel({
|
|
337
|
+
resolvedEngine, enginePass, localModelOverride, stageDirectiveLocalModel: directiveLocalModel,
|
|
338
|
+
config, directiveModel,
|
|
339
|
+
pendingFocusOverrideModel, pipelineConfig, backend, worktreePath, resumeId,
|
|
340
|
+
role, readOnly, focusName, focusId,
|
|
341
|
+
});
|
|
342
|
+
if (modelResolution.kind === 'skip_load') {
|
|
343
|
+
// Host-control swap failed (D2): do NOT spawn against a not-yet-loaded model.
|
|
344
|
+
// Conservative -- mark the just-created session terminal (transient host-swap
|
|
345
|
+
// failure, NOT a key/config defect) and release the in-memory slot so the 30s
|
|
346
|
+
// poll cleanly re-attempts. No escalation: the failure is operationally
|
|
347
|
+
// transient (host unreachable / model not yet loaded) and self-healing.
|
|
348
|
+
const { coords, dbMessage } = modelResolution;
|
|
349
|
+
await updateSession(session.id, {
|
|
350
|
+
status: 'failed',
|
|
351
|
+
exit_reason: `Host-control model swap failed for "${coords.name}": ${dbMessage}`,
|
|
352
|
+
exit_category: 'local_model_swap_failed',
|
|
353
|
+
ended_at: new Date().toISOString(),
|
|
354
|
+
}).catch(updateErr => {
|
|
355
|
+
log.warn(`Failed to update session after local-model swap failure:`, updateErr.message);
|
|
356
|
+
});
|
|
357
|
+
// Reset host-control state: a failed/timed-out load must not leave a residency
|
|
358
|
+
// lock pinned to this focus (the swap-manager clears its own entry on the
|
|
359
|
+
// failed observe; this is the defense-in-depth release on the spawn-teardown
|
|
360
|
+
// path, which -- unlike a normal team completion -- never reaches
|
|
361
|
+
// handleTeamCompletion). The next poll then re-evaluates the host cleanly.
|
|
362
|
+
releaseHostByFocus(focusId);
|
|
363
|
+
return;
|
|
364
|
+
}
|
|
365
|
+
if (modelResolution.kind === 'still_loading') {
|
|
366
|
+
// The per-host model swap is running OFF the poll loop (#3), or the host is
|
|
367
|
+
// held by another focus's running pass (#4). This is NOT a failure: mark the
|
|
368
|
+
// just-created session benign-terminal and release the in-memory slot so the
|
|
369
|
+
// 30s poll cleanly re-attempts -- the detached load keeps running and a later
|
|
370
|
+
// tick spawns once the model is ready / the host frees. The poll loop is not
|
|
371
|
+
// stalled because the load was never awaited here. No escalation.
|
|
372
|
+
const { coords, reason } = modelResolution;
|
|
373
|
+
await updateSession(session.id, {
|
|
374
|
+
status: 'failed',
|
|
375
|
+
exit_reason: `Host-control swap deferred for "${coords.name}" (${reason}); retrying next poll`,
|
|
376
|
+
exit_category: 'local_model_swap_deferred',
|
|
377
|
+
ended_at: new Date().toISOString(),
|
|
378
|
+
}).catch(updateErr => {
|
|
379
|
+
log.warn(`Failed to update session after local-model swap deferral:`, updateErr.message);
|
|
380
|
+
});
|
|
381
|
+
return;
|
|
382
|
+
}
|
|
383
|
+
const { args, effectiveModel, spawnCodexHome, spawnLocalModelKey, isLocalModelPass } = modelResolution;
|
|
384
|
+
// Attach the local-model translating proxy (if engaged) to the team state so
|
|
385
|
+
// every teardown path can close it and the close handler can read its
|
|
386
|
+
// reception guard. Null for hosted/Claude/flag-off spawns.
|
|
387
|
+
teamState.mcpProxy = modelResolution.mcpProxy ?? null;
|
|
388
|
+
// On resume, send an incremental delta instead of the full prompt (INJ-D);
|
|
389
|
+
// a fresh spawn sends the composed prompt unchanged. The git.diff manifest the
|
|
390
|
+
// resume delta delivers is captured here for the delivered-manifest record.
|
|
391
|
+
const gitDiffManifest = [];
|
|
392
|
+
const messageToSend = await buildSpawnMessage({
|
|
393
|
+
prompt, resumeId, readOnlyFocus: readOnly, role, promptContext, spawnSpec, config, focusId, focusName, deliveries, issues, worktreePath, priorFindings,
|
|
394
|
+
answeredEscalationsSection: answeredEscalations.section,
|
|
395
|
+
gitDiffManifestSink: gitDiffManifest,
|
|
396
|
+
// Hand a RESUMED review pass its own active Telora session id too (the
|
|
397
|
+
// fresh-prompt shape already carries it) so a review that runs across resumes
|
|
398
|
+
// stamps focus_review_complete with the exact id product-api validates,
|
|
399
|
+
// instead of a stale/completed one it cannot discover.
|
|
400
|
+
agentSessionId: session.id,
|
|
401
|
+
});
|
|
402
|
+
// Assemble the DELIVERED manifest: the sources actually composed into the
|
|
403
|
+
// message just built, per its shape (agent_context_assembly truthfulness).
|
|
404
|
+
// assemblyManifest already carries only the directive recipe (fresh directive)
|
|
405
|
+
// or the loop-context recipe (fresh legacy) -- empty on resume-delta / scoping.
|
|
406
|
+
const spawnShape = scopingResume.isScopingSpawn
|
|
407
|
+
? 'scoping'
|
|
408
|
+
: resumeId != null
|
|
409
|
+
? 'resume-delta'
|
|
410
|
+
: useLegacyFullPrompt
|
|
411
|
+
? 'fresh-legacy'
|
|
412
|
+
: 'fresh-directive';
|
|
413
|
+
const deliveredManifest = buildDeliveredManifest({
|
|
414
|
+
shape: spawnShape,
|
|
415
|
+
promptRecipeManifest: assemblyManifest,
|
|
416
|
+
answeredEscalationsSection: answeredEscalations.section,
|
|
417
|
+
prdMilestoneManifest,
|
|
418
|
+
gitDiffManifest,
|
|
419
|
+
});
|
|
420
|
+
// --- Final phase: build the spawn env, persist the manifest, write the
|
|
421
|
+
// session lifecycle, acquire the governor slot, sandbox-wrap, spawn the child,
|
|
422
|
+
// write stdin, and attach handlers. Owns its governor-denied / sandbox-
|
|
423
|
+
// unavailable cleanups (session failed-write + slot release + activeTeams.delete).
|
|
424
|
+
await spawnTeamProcess({
|
|
425
|
+
config, focusId, focusName, session, teamState, backend, args, messageToSend,
|
|
426
|
+
logs, worktreePath, resumeId, assemblyManifest: deliveredManifest, spawnCodexHome, spawnLocalModelKey, isLocalModelPass,
|
|
427
|
+
effectiveModel, pendingDirective, spawnStageName, params, governor, spawnFocusTeam,
|
|
428
|
+
answeredEscalationIds: answeredEscalations.ids,
|
|
429
|
+
});
|
|
430
|
+
// The child process now owns the team lifecycle: the registration must
|
|
431
|
+
// SURVIVE this return (completion/error handlers remove it). spawnTeamProcess
|
|
432
|
+
// owns its own governor-denied / sandbox-unavailable teardown (which deletes
|
|
433
|
+
// the entry itself); in those cases this flag is a no-op because the entry is
|
|
434
|
+
// already gone. Only a genuine spawn hands the registration off.
|
|
435
|
+
teamCommitted = true;
|
|
436
|
+
}
|
|
437
|
+
catch (err) {
|
|
438
|
+
// An unhandled throw from any helper above (e.g. the PRD milestone push-down,
|
|
439
|
+
// getBackend on an unknown engine id, the assembly engine on an empty
|
|
440
|
+
// registry, mkdirSync, or the process-spawn re-throw) reaches here. Log it
|
|
441
|
+
// against this focus and abandon THIS spawn -- the finally releases the
|
|
442
|
+
// registration, and the next poll tick re-attempts. Swallowing (rather than
|
|
443
|
+
// re-throwing) keeps one focus's spawn failure from aborting its sibling
|
|
444
|
+
// focuses in the same processReadyFocuses loop and from silencing the
|
|
445
|
+
// presence-reading recovery paths (TEL-4).
|
|
446
|
+
log.error(`[focus-executor] Spawn ABANDONED for "${focusName}" on an unhandled error; ` +
|
|
447
|
+
`team registration released, will re-attempt next poll: ${err.message}`);
|
|
448
|
+
}
|
|
449
|
+
finally {
|
|
450
|
+
if (!teamCommitted) {
|
|
451
|
+
activeTeams.delete(focusId);
|
|
452
|
+
}
|
|
372
453
|
}
|
|
373
|
-
const { args, effectiveModel, spawnCodexHome, spawnLocalModelKey, isLocalModelPass } = modelResolution;
|
|
374
|
-
// Attach the local-model translating proxy (if engaged) to the team state so
|
|
375
|
-
// every teardown path can close it and the close handler can read its
|
|
376
|
-
// reception guard. Null for hosted/Claude/flag-off spawns.
|
|
377
|
-
teamState.mcpProxy = modelResolution.mcpProxy ?? null;
|
|
378
|
-
// On resume, send an incremental delta instead of the full prompt (INJ-D);
|
|
379
|
-
// a fresh spawn sends the composed prompt unchanged. The git.diff manifest the
|
|
380
|
-
// resume delta delivers is captured here for the delivered-manifest record.
|
|
381
|
-
const gitDiffManifest = [];
|
|
382
|
-
const messageToSend = await buildSpawnMessage({
|
|
383
|
-
prompt, resumeId, readOnlyFocus: readOnly, role, promptContext, spawnSpec, config, focusId, focusName, deliveries, issues, worktreePath, priorFindings,
|
|
384
|
-
answeredEscalationsSection: answeredEscalations.section,
|
|
385
|
-
gitDiffManifestSink: gitDiffManifest,
|
|
386
|
-
// Hand a RESUMED review pass its own active Telora session id too (the
|
|
387
|
-
// fresh-prompt shape already carries it) so a review that runs across resumes
|
|
388
|
-
// stamps focus_review_complete with the exact id product-api validates,
|
|
389
|
-
// instead of a stale/completed one it cannot discover.
|
|
390
|
-
agentSessionId: session.id,
|
|
391
|
-
});
|
|
392
|
-
// Assemble the DELIVERED manifest: the sources actually composed into the
|
|
393
|
-
// message just built, per its shape (agent_context_assembly truthfulness).
|
|
394
|
-
// assemblyManifest already carries only the directive recipe (fresh directive)
|
|
395
|
-
// or the loop-context recipe (fresh legacy) -- empty on resume-delta / scoping.
|
|
396
|
-
const spawnShape = scopingResume.isScopingSpawn
|
|
397
|
-
? 'scoping'
|
|
398
|
-
: resumeId != null
|
|
399
|
-
? 'resume-delta'
|
|
400
|
-
: useLegacyFullPrompt
|
|
401
|
-
? 'fresh-legacy'
|
|
402
|
-
: 'fresh-directive';
|
|
403
|
-
const deliveredManifest = buildDeliveredManifest({
|
|
404
|
-
shape: spawnShape,
|
|
405
|
-
promptRecipeManifest: assemblyManifest,
|
|
406
|
-
answeredEscalationsSection: answeredEscalations.section,
|
|
407
|
-
prdMilestoneManifest,
|
|
408
|
-
gitDiffManifest,
|
|
409
|
-
});
|
|
410
|
-
// --- Final phase: build the spawn env, persist the manifest, write the
|
|
411
|
-
// session lifecycle, acquire the governor slot, sandbox-wrap, spawn the child,
|
|
412
|
-
// write stdin, and attach handlers. Owns its governor-denied / sandbox-
|
|
413
|
-
// unavailable cleanups (session failed-write + slot release + activeTeams.delete).
|
|
414
|
-
await spawnTeamProcess({
|
|
415
|
-
config, focusId, focusName, session, teamState, backend, args, messageToSend,
|
|
416
|
-
logs, worktreePath, resumeId, assemblyManifest: deliveredManifest, spawnCodexHome, spawnLocalModelKey, isLocalModelPass,
|
|
417
|
-
effectiveModel, pendingDirective, spawnStageName, params, governor, spawnFocusTeam,
|
|
418
|
-
answeredEscalationIds: answeredEscalations.ids,
|
|
419
|
-
});
|
|
420
454
|
}
|
|
421
455
|
//# sourceMappingURL=focus-executor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"focus-executor.js","sourceRoot":"","sources":["../../src/focus/focus-executor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"focus-executor.js","sourceRoot":"","sources":["../../src/focus/focus-executor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"focus-lifecycle.d.ts","sourceRoot":"","sources":["../../src/focus/focus-lifecycle.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"focus-lifecycle.d.ts","sourceRoot":"","sources":["../../src/focus/focus-lifecycle.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AA6BjE;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,GAC5B,OAAO,CAAC,IAAI,CAAC,CA0If;AAID;;;;;GAKG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC,CAgFf;AAED;;;;;GAKG;AACH,wBAAsB,0BAA0B,CAC9C,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,IAAI,CAAC,CA0Df;AAID;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,yBAAyB,CAC7C,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,IAAI,CAAC,CAuLf;AAID;;;;;;;;;GASG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,YAAY,GACpB,OAAO,CAAC,IAAI,CAAC,CAiCf"}
|