@telora/daemon 0.22.132 → 0.22.136
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 +6 -2
- package/dist/audit/audit-hooks.d.ts.map +1 -1
- package/dist/audit/audit-hooks.js +12 -5
- package/dist/audit/audit-hooks.js.map +1 -1
- package/dist/audit/audit-phase.js +1 -1
- package/dist/audit/audit-phase.js.map +1 -1
- package/dist/backends/index.d.ts.map +1 -1
- package/dist/backends/index.js +1 -0
- package/dist/backends/index.js.map +1 -1
- package/dist/completion/completion-phase-registry.d.ts +4 -0
- package/dist/completion/completion-phase-registry.d.ts.map +1 -1
- package/dist/completion/completion-phase-registry.js +63 -18
- package/dist/completion/completion-phase-registry.js.map +1 -1
- package/dist/completion/exit-classification.d.ts.map +1 -1
- package/dist/completion/exit-classification.js +1 -0
- package/dist/completion/exit-classification.js.map +1 -1
- package/dist/completion/review-approved-head-gate.d.ts +53 -0
- package/dist/completion/review-approved-head-gate.d.ts.map +1 -0
- package/dist/completion/review-approved-head-gate.js +124 -0
- package/dist/completion/review-approved-head-gate.js.map +1 -0
- package/dist/completion/review-census-record.d.ts +52 -0
- package/dist/completion/review-census-record.d.ts.map +1 -0
- package/dist/completion/review-census-record.js +145 -0
- package/dist/completion/review-census-record.js.map +1 -0
- package/dist/completion/review-exit-deps.d.ts +5 -1
- package/dist/completion/review-exit-deps.d.ts.map +1 -1
- package/dist/completion/review-exit-deps.js +7 -2
- package/dist/completion/review-exit-deps.js.map +1 -1
- package/dist/completion/review-exit-phase.d.ts.map +1 -1
- package/dist/completion/review-exit-phase.js +29 -16
- package/dist/completion/review-exit-phase.js.map +1 -1
- package/dist/completion/review-exit-progress.d.ts +8 -0
- package/dist/completion/review-exit-progress.d.ts.map +1 -1
- package/dist/completion/review-exit-progress.js +14 -0
- package/dist/completion/review-exit-progress.js.map +1 -1
- package/dist/completion/review-exit-shortfall-park.d.ts +14 -0
- package/dist/completion/review-exit-shortfall-park.d.ts.map +1 -0
- package/dist/completion/review-exit-shortfall-park.js +52 -0
- package/dist/completion/review-exit-shortfall-park.js.map +1 -0
- package/dist/completion/review-exit-shortfall.js +1 -1
- package/dist/completion/review-exit-shortfall.js.map +1 -1
- package/dist/completion/review-exit-verdict-gate.d.ts +58 -0
- package/dist/completion/review-exit-verdict-gate.d.ts.map +1 -1
- package/dist/completion/review-exit-verdict-gate.js +68 -8
- package/dist/completion/review-exit-verdict-gate.js.map +1 -1
- package/dist/completion/review-next-step.d.ts +15 -3
- package/dist/completion/review-next-step.d.ts.map +1 -1
- package/dist/completion/review-next-step.js +7 -2
- package/dist/completion/review-next-step.js.map +1 -1
- package/dist/completion/standing-approval-convergence.d.ts +68 -0
- package/dist/completion/standing-approval-convergence.d.ts.map +1 -0
- package/dist/completion/standing-approval-convergence.js +230 -0
- package/dist/completion/standing-approval-convergence.js.map +1 -0
- package/dist/completion/standing-approval-deps.d.ts +5 -0
- package/dist/completion/standing-approval-deps.d.ts.map +1 -0
- package/dist/completion/standing-approval-deps.js +37 -0
- package/dist/completion/standing-approval-deps.js.map +1 -0
- package/dist/completion/state-cascade.d.ts +11 -0
- package/dist/completion/state-cascade.d.ts.map +1 -1
- package/dist/completion/state-cascade.js +40 -1
- package/dist/completion/state-cascade.js.map +1 -1
- package/dist/completion/team-lifecycle.d.ts +14 -2
- package/dist/completion/team-lifecycle.d.ts.map +1 -1
- package/dist/completion/team-lifecycle.js +36 -36
- package/dist/completion/team-lifecycle.js.map +1 -1
- package/dist/completion/terminated-work-reconcile.d.ts +3 -1
- package/dist/completion/terminated-work-reconcile.d.ts.map +1 -1
- package/dist/completion/terminated-work-reconcile.js +24 -11
- package/dist/completion/terminated-work-reconcile.js.map +1 -1
- package/dist/delivery/delivery-advance-block.d.ts +6 -0
- package/dist/delivery/delivery-advance-block.d.ts.map +1 -1
- package/dist/delivery/delivery-advance-block.js +29 -3
- package/dist/delivery/delivery-advance-block.js.map +1 -1
- package/dist/delivery/delivery-reconciler.d.ts.map +1 -1
- package/dist/delivery/delivery-reconciler.js +4 -1
- package/dist/delivery/delivery-reconciler.js.map +1 -1
- package/dist/delivery/operator-hold.d.ts.map +1 -1
- package/dist/delivery/operator-hold.js +3 -1
- package/dist/delivery/operator-hold.js.map +1 -1
- package/dist/directive/directive-executor.d.ts.map +1 -1
- package/dist/directive/directive-executor.js +6 -0
- package/dist/directive/directive-executor.js.map +1 -1
- package/dist/directive/directive-queue.d.ts +8 -0
- package/dist/directive/directive-queue.d.ts.map +1 -1
- package/dist/directive/directive-queue.js +20 -0
- package/dist/directive/directive-queue.js.map +1 -1
- package/dist/directive/phase-sync.d.ts +5 -0
- package/dist/directive/phase-sync.d.ts.map +1 -1
- package/dist/directive/phase-sync.js +11 -1
- package/dist/directive/phase-sync.js.map +1 -1
- package/dist/directive/stranded-review-reroute.d.ts +37 -0
- package/dist/directive/stranded-review-reroute.d.ts.map +1 -0
- package/dist/directive/stranded-review-reroute.js +150 -0
- package/dist/directive/stranded-review-reroute.js.map +1 -0
- package/dist/focus/focus-engine.d.ts.map +1 -1
- package/dist/focus/focus-engine.js +15 -3
- 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 +9 -65
- package/dist/focus/focus-executor.js.map +1 -1
- package/dist/focus/focus-lifecycle.d.ts +12 -0
- package/dist/focus/focus-lifecycle.d.ts.map +1 -1
- package/dist/focus/focus-lifecycle.js +66 -37
- package/dist/focus/focus-lifecycle.js.map +1 -1
- package/dist/focus/focus-phase.d.ts.map +1 -1
- package/dist/focus/focus-phase.js +6 -0
- package/dist/focus/focus-phase.js.map +1 -1
- package/dist/focus/focus-spawn-decision.d.ts.map +1 -1
- package/dist/focus/focus-spawn-decision.js +1 -0
- package/dist/focus/focus-spawn-decision.js.map +1 -1
- package/dist/focus/focus-team-state.d.ts +10 -0
- package/dist/focus/focus-team-state.d.ts.map +1 -1
- package/dist/focus/focus-team-state.js +19 -1
- package/dist/focus/focus-team-state.js.map +1 -1
- package/dist/focus/listener-auto-advance.d.ts.map +1 -1
- package/dist/focus/listener-auto-advance.js +1 -0
- package/dist/focus/listener-auto-advance.js.map +1 -1
- package/dist/focus/listener-spawn.d.ts +10 -0
- package/dist/focus/listener-spawn.d.ts.map +1 -1
- package/dist/focus/listener-spawn.js +46 -4
- package/dist/focus/listener-spawn.js.map +1 -1
- package/dist/focus/listener-state.d.ts.map +1 -1
- package/dist/focus/listener-state.js +11 -1
- package/dist/focus/listener-state.js.map +1 -1
- package/dist/focus/listener.d.ts +42 -0
- package/dist/focus/listener.d.ts.map +1 -1
- package/dist/focus/listener.js +62 -33
- package/dist/focus/listener.js.map +1 -1
- package/dist/focus/pending-review-approved-head.d.ts +41 -0
- package/dist/focus/pending-review-approved-head.d.ts.map +1 -0
- package/dist/focus/pending-review-approved-head.js +198 -0
- package/dist/focus/pending-review-approved-head.js.map +1 -0
- package/dist/focus/pending-spawn-pass-deps.d.ts +5 -0
- package/dist/focus/pending-spawn-pass-deps.d.ts.map +1 -1
- package/dist/focus/pending-spawn-pass-deps.js +2 -1
- package/dist/focus/pending-spawn-pass-deps.js.map +1 -1
- package/dist/focus/pending-spawn-review-next-step.d.ts.map +1 -1
- package/dist/focus/pending-spawn-review-next-step.js +26 -4
- package/dist/focus/pending-spawn-review-next-step.js.map +1 -1
- package/dist/focus/review-spawn-coverage.d.ts +87 -0
- package/dist/focus/review-spawn-coverage.d.ts.map +1 -0
- package/dist/focus/review-spawn-coverage.js +104 -0
- package/dist/focus/review-spawn-coverage.js.map +1 -0
- package/dist/focus/session-health.d.ts +5 -2
- package/dist/focus/session-health.d.ts.map +1 -1
- package/dist/focus/session-health.js +2 -1
- package/dist/focus/session-health.js.map +1 -1
- package/dist/focus/session-process-reap.d.ts +50 -0
- package/dist/focus/session-process-reap.d.ts.map +1 -0
- package/dist/focus/session-process-reap.js +77 -0
- package/dist/focus/session-process-reap.js.map +1 -0
- package/dist/focus/unchanged-reviewed-head.d.ts +40 -0
- package/dist/focus/unchanged-reviewed-head.d.ts.map +1 -0
- package/dist/focus/unchanged-reviewed-head.js +84 -0
- package/dist/focus/unchanged-reviewed-head.js.map +1 -0
- package/dist/focus/verify-open-issues.d.ts +4 -19
- package/dist/focus/verify-open-issues.d.ts.map +1 -1
- package/dist/focus/verify-open-issues.js +83 -41
- package/dist/focus/verify-open-issues.js.map +1 -1
- package/dist/git/focus-integration-sync.d.ts +61 -0
- package/dist/git/focus-integration-sync.d.ts.map +1 -0
- package/dist/git/focus-integration-sync.js +73 -0
- package/dist/git/focus-integration-sync.js.map +1 -0
- package/dist/git/focus-own-delta.d.ts +38 -0
- package/dist/git/focus-own-delta.d.ts.map +1 -0
- package/dist/git/focus-own-delta.js +193 -0
- package/dist/git/focus-own-delta.js.map +1 -0
- package/dist/git/index.d.ts +2 -0
- package/dist/git/index.d.ts.map +1 -1
- package/dist/git/index.js +4 -0
- package/dist/git/index.js.map +1 -1
- package/dist/git/merge.d.ts.map +1 -1
- package/dist/git/merge.js +11 -1
- package/dist/git/merge.js.map +1 -1
- package/dist/git/resolution-restore.d.ts +66 -0
- package/dist/git/resolution-restore.d.ts.map +1 -0
- package/dist/git/resolution-restore.js +331 -0
- package/dist/git/resolution-restore.js.map +1 -0
- package/dist/loops/engine.d.ts.map +1 -1
- package/dist/loops/engine.js.map +1 -1
- package/dist/merge/abandoned-merge-recovery.d.ts +72 -0
- package/dist/merge/abandoned-merge-recovery.d.ts.map +1 -0
- package/dist/merge/abandoned-merge-recovery.js +117 -0
- package/dist/merge/abandoned-merge-recovery.js.map +1 -0
- package/dist/merge/focus-merge.d.ts +19 -0
- package/dist/merge/focus-merge.d.ts.map +1 -1
- package/dist/merge/focus-merge.js +136 -99
- package/dist/merge/focus-merge.js.map +1 -1
- package/dist/merge/merge-back-activity.d.ts +11 -0
- package/dist/merge/merge-back-activity.d.ts.map +1 -0
- package/dist/merge/merge-back-activity.js +57 -0
- package/dist/merge/merge-back-activity.js.map +1 -0
- package/dist/merge/merge-back-conflict.d.ts +119 -0
- package/dist/merge/merge-back-conflict.d.ts.map +1 -0
- package/dist/merge/merge-back-conflict.js +178 -0
- package/dist/merge/merge-back-conflict.js.map +1 -0
- package/dist/merge/merge-back-followup.d.ts +109 -0
- package/dist/merge/merge-back-followup.d.ts.map +1 -0
- package/dist/merge/merge-back-followup.js +316 -0
- package/dist/merge/merge-back-followup.js.map +1 -0
- package/dist/merge/merge-back-loop.d.ts +2 -0
- package/dist/merge/merge-back-loop.d.ts.map +1 -1
- package/dist/merge/merge-back-loop.js +14 -15
- package/dist/merge/merge-back-loop.js.map +1 -1
- package/dist/merge/merge-conflict-escalation.d.ts +12 -0
- package/dist/merge/merge-conflict-escalation.d.ts.map +1 -1
- package/dist/merge/merge-conflict-escalation.js +37 -2
- package/dist/merge/merge-conflict-escalation.js.map +1 -1
- package/dist/merge/merge-gate-coverage.d.ts.map +1 -1
- package/dist/merge/merge-gate-coverage.js +1 -0
- package/dist/merge/merge-gate-coverage.js.map +1 -1
- package/dist/prompt/prompt-listing.d.ts +5 -0
- package/dist/prompt/prompt-listing.d.ts.map +1 -1
- package/dist/prompt/prompt-listing.js +35 -0
- package/dist/prompt/prompt-listing.js.map +1 -1
- package/dist/prompt-sections/routing-decider-sections.d.ts.map +1 -1
- package/dist/prompt-sections/routing-decider-sections.js +2 -0
- package/dist/prompt-sections/routing-decider-sections.js.map +1 -1
- package/dist/prompt-sections/shortfall-park-section.d.ts +43 -0
- package/dist/prompt-sections/shortfall-park-section.d.ts.map +1 -0
- package/dist/prompt-sections/shortfall-park-section.js +36 -0
- package/dist/prompt-sections/shortfall-park-section.js.map +1 -0
- package/dist/queries/agent-resolvable-promotion.d.ts +16 -2
- package/dist/queries/agent-resolvable-promotion.d.ts.map +1 -1
- package/dist/queries/agent-resolvable-promotion.js +30 -3
- package/dist/queries/agent-resolvable-promotion.js.map +1 -1
- package/dist/queries/cause-key.d.ts +17 -22
- package/dist/queries/cause-key.d.ts.map +1 -1
- package/dist/queries/cause-key.js +50 -1
- package/dist/queries/cause-key.js.map +1 -1
- package/dist/queries/commit-attributions.d.ts +18 -0
- package/dist/queries/commit-attributions.d.ts.map +1 -0
- package/dist/queries/commit-attributions.js +39 -0
- package/dist/queries/commit-attributions.js.map +1 -0
- package/dist/queries/deliveries.d.ts.map +1 -1
- package/dist/queries/deliveries.js +3 -1
- package/dist/queries/deliveries.js.map +1 -1
- package/dist/queries/delivery-gate-state.d.ts +21 -5
- package/dist/queries/delivery-gate-state.d.ts.map +1 -1
- package/dist/queries/delivery-gate-state.js +35 -9
- package/dist/queries/delivery-gate-state.js.map +1 -1
- package/dist/queries/escalation-consumption.d.ts.map +1 -1
- package/dist/queries/escalation-consumption.js +2 -1
- package/dist/queries/escalation-consumption.js.map +1 -1
- package/dist/queries/escalation-field-bounds.d.ts +48 -0
- package/dist/queries/escalation-field-bounds.d.ts.map +1 -0
- package/dist/queries/escalation-field-bounds.js +83 -0
- package/dist/queries/escalation-field-bounds.js.map +1 -0
- package/dist/queries/escalation-refusal.d.ts +88 -0
- package/dist/queries/escalation-refusal.d.ts.map +1 -0
- package/dist/queries/escalation-refusal.js +217 -0
- package/dist/queries/escalation-refusal.js.map +1 -0
- package/dist/queries/escalation-suppression.d.ts +6 -0
- package/dist/queries/escalation-suppression.d.ts.map +1 -1
- package/dist/queries/escalation-suppression.js +4 -13
- package/dist/queries/escalation-suppression.js.map +1 -1
- package/dist/queries/escalations.d.ts +5 -13
- package/dist/queries/escalations.d.ts.map +1 -1
- package/dist/queries/escalations.js +25 -30
- package/dist/queries/escalations.js.map +1 -1
- package/dist/queries/filing-observation.d.ts.map +1 -1
- package/dist/queries/filing-observation.js +3 -1
- package/dist/queries/filing-observation.js.map +1 -1
- package/dist/queries/focus-review-approval.d.ts +2 -0
- package/dist/queries/focus-review-approval.d.ts.map +1 -1
- package/dist/queries/focus-review-approval.js +7 -2
- package/dist/queries/focus-review-approval.js.map +1 -1
- package/dist/queries/focuses.d.ts.map +1 -1
- package/dist/queries/focuses.js +2 -1
- package/dist/queries/focuses.js.map +1 -1
- package/dist/queries/incident-correlation.d.ts.map +1 -1
- package/dist/queries/incident-correlation.js +4 -1
- package/dist/queries/incident-correlation.js.map +1 -1
- package/dist/queries/misattributed-commits-record.d.ts +26 -0
- package/dist/queries/misattributed-commits-record.d.ts.map +1 -0
- package/dist/queries/misattributed-commits-record.js +5 -0
- package/dist/queries/misattributed-commits-record.js.map +1 -0
- package/dist/queries/reality-tree.d.ts.map +1 -1
- package/dist/queries/reality-tree.js +2 -1
- package/dist/queries/reality-tree.js.map +1 -1
- package/dist/queries/schemas.d.ts +3 -0
- package/dist/queries/schemas.d.ts.map +1 -1
- package/dist/queries/schemas.js +1 -0
- package/dist/queries/schemas.js.map +1 -1
- package/dist/queries/shared.js +1 -1
- package/dist/queries/shortfall-park-record.d.ts +48 -0
- package/dist/queries/shortfall-park-record.d.ts.map +1 -0
- package/dist/queries/shortfall-park-record.js +31 -0
- package/dist/queries/shortfall-park-record.js.map +1 -0
- package/dist/queries/shortfall-rulings.d.ts +71 -0
- package/dist/queries/shortfall-rulings.d.ts.map +1 -0
- package/dist/queries/shortfall-rulings.js +53 -0
- package/dist/queries/shortfall-rulings.js.map +1 -0
- package/dist/queries/verification.d.ts +20 -1
- package/dist/queries/verification.d.ts.map +1 -1
- package/dist/queries/verification.js +48 -8
- package/dist/queries/verification.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/shared/delivery-trailer.d.ts +99 -0
- package/dist/resolvers/shared/delivery-trailer.d.ts.map +1 -0
- package/dist/resolvers/shared/delivery-trailer.js +103 -0
- package/dist/resolvers/shared/delivery-trailer.js.map +1 -0
- package/dist/resolvers/shared/git-diff.d.ts +11 -84
- package/dist/resolvers/shared/git-diff.d.ts.map +1 -1
- package/dist/resolvers/shared/git-diff.js +17 -84
- package/dist/resolvers/shared/git-diff.js.map +1 -1
- package/dist/resolvers/shared/review-window-commits.d.ts.map +1 -1
- package/dist/resolvers/shared/review-window-commits.js +1 -0
- package/dist/resolvers/shared/review-window-commits.js.map +1 -1
- package/dist/session/session-lineage.d.ts.map +1 -1
- package/dist/session/session-lineage.js +1 -0
- package/dist/session/session-lineage.js.map +1 -1
- package/dist/shell/config.d.ts +2 -1
- package/dist/shell/config.d.ts.map +1 -1
- package/dist/shell/config.js +21 -4
- package/dist/shell/config.js.map +1 -1
- package/dist/shell/crash-recovery.d.ts +3 -7
- package/dist/shell/crash-recovery.d.ts.map +1 -1
- package/dist/shell/crash-recovery.js +28 -31
- package/dist/shell/crash-recovery.js.map +1 -1
- package/dist/shell/orphan-capture.d.ts +42 -0
- package/dist/shell/orphan-capture.d.ts.map +1 -0
- package/dist/shell/orphan-capture.js +53 -0
- package/dist/shell/orphan-capture.js.map +1 -0
- package/dist/shell/worker-pidfile.d.ts +22 -4
- package/dist/shell/worker-pidfile.d.ts.map +1 -1
- package/dist/shell/worker-pidfile.js +51 -13
- package/dist/shell/worker-pidfile.js.map +1 -1
- package/dist/spawn/helpers.d.ts +3 -0
- package/dist/spawn/helpers.d.ts.map +1 -1
- package/dist/spawn/helpers.js +28 -9
- package/dist/spawn/helpers.js.map +1 -1
- package/dist/spawn/lead-launch.d.ts +34 -0
- package/dist/spawn/lead-launch.d.ts.map +1 -0
- package/dist/spawn/lead-launch.js +34 -0
- package/dist/spawn/lead-launch.js.map +1 -0
- package/dist/spawn/lead-process-ownership.d.ts +91 -0
- package/dist/spawn/lead-process-ownership.d.ts.map +1 -0
- package/dist/spawn/lead-process-ownership.js +120 -0
- package/dist/spawn/lead-process-ownership.js.map +1 -0
- package/dist/spawn/lifecycle.d.ts +43 -3
- package/dist/spawn/lifecycle.d.ts.map +1 -1
- package/dist/spawn/lifecycle.js +75 -44
- package/dist/spawn/lifecycle.js.map +1 -1
- package/dist/spawn/liveness.d.ts.map +1 -1
- package/dist/spawn/liveness.js +5 -1
- package/dist/spawn/liveness.js.map +1 -1
- package/dist/spawn/one-shot-process-ownership.d.ts +48 -0
- package/dist/spawn/one-shot-process-ownership.d.ts.map +1 -0
- package/dist/spawn/one-shot-process-ownership.js +44 -0
- package/dist/spawn/one-shot-process-ownership.js.map +1 -0
- package/dist/spawn/process-group-kill.d.ts +79 -0
- package/dist/spawn/process-group-kill.d.ts.map +1 -0
- package/dist/spawn/process-group-kill.js +210 -0
- package/dist/spawn/process-group-kill.js.map +1 -0
- package/dist/spawn/process-spawn.d.ts +18 -1
- package/dist/spawn/process-spawn.d.ts.map +1 -1
- package/dist/spawn/process-spawn.js +51 -20
- package/dist/spawn/process-spawn.js.map +1 -1
- package/dist/spawn/resolution-budget.d.ts +38 -0
- package/dist/spawn/resolution-budget.d.ts.map +1 -0
- package/dist/spawn/resolution-budget.js +87 -0
- package/dist/spawn/resolution-budget.js.map +1 -0
- package/dist/spawn/review-hold-park.d.ts.map +1 -1
- package/dist/spawn/review-hold-park.js +37 -5
- package/dist/spawn/review-hold-park.js.map +1 -1
- package/dist/spawn/spawn-cooldown.d.ts.map +1 -1
- package/dist/spawn/spawn-cooldown.js +9 -0
- package/dist/spawn/spawn-cooldown.js.map +1 -1
- package/dist/spawn/untracked-lead-sweep.d.ts +29 -0
- package/dist/spawn/untracked-lead-sweep.d.ts.map +1 -0
- package/dist/spawn/untracked-lead-sweep.js +100 -0
- package/dist/spawn/untracked-lead-sweep.js.map +1 -0
- package/dist/spawn/worker-registry.d.ts.map +1 -1
- package/dist/spawn/worker-registry.js +4 -1
- package/dist/spawn/worker-registry.js.map +1 -1
- package/dist/spawn/worktree-session.d.ts.map +1 -1
- package/dist/spawn/worktree-session.js +8 -6
- package/dist/spawn/worktree-session.js.map +1 -1
- package/dist/testing/fixtures/exit-capture-verify.d.ts +41 -0
- package/dist/testing/fixtures/exit-capture-verify.d.ts.map +1 -0
- package/dist/testing/fixtures/exit-capture-verify.js +152 -0
- package/dist/testing/fixtures/exit-capture-verify.js.map +1 -0
- package/dist/testing/fixtures/index.js +1 -1
- package/dist/testing/fixtures/pending-spawn-world.d.ts +7 -0
- package/dist/testing/fixtures/pending-spawn-world.d.ts.map +1 -1
- package/dist/testing/fixtures/pending-spawn-world.js +21 -1
- package/dist/testing/fixtures/pending-spawn-world.js.map +1 -1
- package/dist/testing/fixtures/stubborn-lead-process.d.ts +22 -0
- package/dist/testing/fixtures/stubborn-lead-process.d.ts.map +1 -0
- package/dist/testing/fixtures/stubborn-lead-process.js +68 -0
- package/dist/testing/fixtures/stubborn-lead-process.js.map +1 -0
- package/dist/types/config.d.ts +13 -0
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/focus.d.ts +7 -0
- package/dist/types/focus.d.ts.map +1 -1
- package/dist/types/index.js +1 -1
- package/dist/verify/commit-verdict-record.d.ts +13 -3
- package/dist/verify/commit-verdict-record.d.ts.map +1 -1
- package/dist/verify/commit-verdict-record.js +45 -25
- package/dist/verify/commit-verdict-record.js.map +1 -1
- package/dist/verify/credit-rearm.d.ts +18 -0
- package/dist/verify/credit-rearm.d.ts.map +1 -0
- package/dist/verify/credit-rearm.js +69 -0
- package/dist/verify/credit-rearm.js.map +1 -0
- package/dist/verify/delivery-commit-set.d.ts +10 -0
- package/dist/verify/delivery-commit-set.d.ts.map +1 -0
- package/dist/verify/delivery-commit-set.js +82 -0
- package/dist/verify/delivery-commit-set.js.map +1 -0
- package/dist/verify/explicit-rearm.d.ts.map +1 -1
- package/dist/verify/explicit-rearm.js +2 -0
- package/dist/verify/explicit-rearm.js.map +1 -1
- package/dist/verify/failure-signature.d.ts.map +1 -1
- package/dist/verify/failure-signature.js +1 -0
- package/dist/verify/failure-signature.js.map +1 -1
- package/dist/verify/gate-run-registry.d.ts.map +1 -1
- package/dist/verify/gate-run-registry.js +3 -0
- package/dist/verify/gate-run-registry.js.map +1 -1
- package/dist/verify/injection-stamp.d.ts +29 -0
- package/dist/verify/injection-stamp.d.ts.map +1 -0
- package/dist/verify/injection-stamp.js +139 -0
- package/dist/verify/injection-stamp.js.map +1 -0
- package/dist/verify/misattributed-commits-read.d.ts +31 -0
- package/dist/verify/misattributed-commits-read.d.ts.map +1 -0
- package/dist/verify/misattributed-commits-read.js +47 -0
- package/dist/verify/misattributed-commits-read.js.map +1 -0
- package/dist/verify/misattributed-commits.d.ts +52 -0
- package/dist/verify/misattributed-commits.d.ts.map +1 -0
- package/dist/verify/misattributed-commits.js +148 -0
- package/dist/verify/misattributed-commits.js.map +1 -0
- package/dist/verify/no-own-delta-verdict.d.ts +47 -0
- package/dist/verify/no-own-delta-verdict.d.ts.map +1 -0
- package/dist/verify/no-own-delta-verdict.js +74 -0
- package/dist/verify/no-own-delta-verdict.js.map +1 -0
- package/dist/verify/shortfall-park-escalation.d.ts +41 -0
- package/dist/verify/shortfall-park-escalation.d.ts.map +1 -0
- package/dist/verify/shortfall-park-escalation.js +177 -0
- package/dist/verify/shortfall-park-escalation.js.map +1 -0
- package/dist/verify/shortfall-park.d.ts +109 -0
- package/dist/verify/shortfall-park.d.ts.map +1 -0
- package/dist/verify/shortfall-park.js +208 -0
- package/dist/verify/shortfall-park.js.map +1 -0
- package/dist/verify/shortfall-repeat.d.ts +47 -16
- package/dist/verify/shortfall-repeat.d.ts.map +1 -1
- package/dist/verify/shortfall-repeat.js +77 -23
- package/dist/verify/shortfall-repeat.js.map +1 -1
- package/dist/verify/shortfall-rulings.d.ts +106 -0
- package/dist/verify/shortfall-rulings.d.ts.map +1 -0
- package/dist/verify/shortfall-rulings.js +118 -0
- package/dist/verify/shortfall-rulings.js.map +1 -0
- package/dist/verify/stall-detectors.d.ts.map +1 -1
- package/dist/verify/stall-detectors.js +10 -4
- package/dist/verify/stall-detectors.js.map +1 -1
- package/dist/verify/verification-attribution-base.d.ts +26 -0
- package/dist/verify/verification-attribution-base.d.ts.map +1 -0
- package/dist/verify/verification-attribution-base.js +127 -0
- package/dist/verify/verification-attribution-base.js.map +1 -0
- package/dist/verify/verification-attribution-deps.d.ts +32 -0
- package/dist/verify/verification-attribution-deps.d.ts.map +1 -0
- package/dist/verify/verification-attribution-deps.js +209 -0
- package/dist/verify/verification-attribution-deps.js.map +1 -0
- package/dist/verify/verification-baseline.d.ts +6 -0
- package/dist/verify/verification-baseline.d.ts.map +1 -1
- package/dist/verify/verification-baseline.js +27 -11
- package/dist/verify/verification-baseline.js.map +1 -1
- package/dist/verify/verification-commit-sharing.d.ts.map +1 -1
- package/dist/verify/verification-commit-sharing.js +30 -8
- package/dist/verify/verification-commit-sharing.js.map +1 -1
- package/dist/verify/verification-config.d.ts.map +1 -1
- package/dist/verify/verification-config.js +2 -0
- package/dist/verify/verification-config.js.map +1 -1
- package/dist/verify/verification-default-on.d.ts +3 -0
- package/dist/verify/verification-default-on.d.ts.map +1 -1
- package/dist/verify/verification-default-on.js +5 -1
- package/dist/verify/verification-default-on.js.map +1 -1
- package/dist/verify/verification-deps-default.d.ts.map +1 -1
- package/dist/verify/verification-deps-default.js +61 -120
- package/dist/verify/verification-deps-default.js.map +1 -1
- package/dist/verify/verification-deps.d.ts +26 -4
- package/dist/verify/verification-deps.d.ts.map +1 -1
- package/dist/verify/verification-deterministic.d.ts +15 -0
- package/dist/verify/verification-deterministic.d.ts.map +1 -1
- package/dist/verify/verification-deterministic.js +1 -12
- package/dist/verify/verification-deterministic.js.map +1 -1
- package/dist/verify/verification-engine.d.ts +9 -6
- package/dist/verify/verification-engine.d.ts.map +1 -1
- package/dist/verify/verification-engine.js +43 -62
- package/dist/verify/verification-engine.js.map +1 -1
- package/dist/verify/verification-evidence-unavailable-feedback.d.ts +2 -1
- package/dist/verify/verification-evidence-unavailable-feedback.d.ts.map +1 -1
- package/dist/verify/verification-evidence-unavailable-feedback.js +19 -1
- package/dist/verify/verification-evidence-unavailable-feedback.js.map +1 -1
- package/dist/verify/verification-failure-parser.d.ts +57 -1
- package/dist/verify/verification-failure-parser.d.ts.map +1 -1
- package/dist/verify/verification-failure-parser.js +116 -10
- package/dist/verify/verification-failure-parser.js.map +1 -1
- package/dist/verify/verification-feedback.d.ts +60 -43
- package/dist/verify/verification-feedback.d.ts.map +1 -1
- package/dist/verify/verification-feedback.js +115 -120
- package/dist/verify/verification-feedback.js.map +1 -1
- package/dist/verify/verification-history-reset.d.ts +2 -1
- package/dist/verify/verification-history-reset.d.ts.map +1 -1
- package/dist/verify/verification-history-reset.js +4 -2
- package/dist/verify/verification-history-reset.js.map +1 -1
- package/dist/verify/verification-rework-issue.d.ts +87 -0
- package/dist/verify/verification-rework-issue.d.ts.map +1 -0
- package/dist/verify/verification-rework-issue.js +212 -0
- package/dist/verify/verification-rework-issue.js.map +1 -0
- package/dist/verify/verification-rework-messages.d.ts.map +1 -1
- package/dist/verify/verification-rework-messages.js +10 -0
- package/dist/verify/verification-rework-messages.js.map +1 -1
- package/dist/verify/verify-gate-stall.d.ts +2 -0
- package/dist/verify/verify-gate-stall.d.ts.map +1 -1
- package/dist/verify/verify-gate-stall.js +35 -9
- package/dist/verify/verify-gate-stall.js.map +1 -1
- package/dist/verify/verify-restatement.d.ts.map +1 -1
- package/dist/verify/verify-restatement.js +9 -2
- package/dist/verify/verify-restatement.js.map +1 -1
- package/dist/worktree/capture-attribution-read.d.ts +47 -0
- package/dist/worktree/capture-attribution-read.d.ts.map +1 -0
- package/dist/worktree/capture-attribution-read.js +98 -0
- package/dist/worktree/capture-attribution-read.js.map +1 -0
- package/dist/worktree/capture-attribution.d.ts +26 -0
- package/dist/worktree/capture-attribution.d.ts.map +1 -0
- package/dist/worktree/capture-attribution.js +111 -0
- package/dist/worktree/capture-attribution.js.map +1 -0
- package/dist/worktree/index.d.ts.map +1 -1
- package/dist/worktree/index.js +2 -1
- package/dist/worktree/index.js.map +1 -1
- package/dist/worktree/provision.d.ts.map +1 -1
- package/dist/worktree/provision.js +23 -6
- package/dist/worktree/provision.js.map +1 -1
- package/dist/worktree/safety.d.ts +14 -4
- package/dist/worktree/safety.d.ts.map +1 -1
- package/dist/worktree/safety.js +37 -7
- package/dist/worktree/safety.js.map +1 -1
- package/dist/worktree/scratch-guard.d.ts +53 -2
- package/dist/worktree/scratch-guard.d.ts.map +1 -1
- package/dist/worktree/scratch-guard.js +115 -30
- package/dist/worktree/scratch-guard.js.map +1 -1
- package/dist/worktree/unmerged-capture-escalation.d.ts +52 -0
- package/dist/worktree/unmerged-capture-escalation.d.ts.map +1 -0
- package/dist/worktree/unmerged-capture-escalation.js +64 -0
- package/dist/worktree/unmerged-capture-escalation.js.map +1 -0
- package/package.json +2 -2
|
@@ -0,0 +1,331 @@
|
|
|
1
|
+
// PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
|
|
2
|
+
// Pinned by: packages/daemon/src/git/resolution-restore.test.ts,
|
|
3
|
+
// packages/daemon/src/merge/merge-back-conflict.test.ts
|
|
4
|
+
// PINNED-BY-END
|
|
5
|
+
/**
|
|
6
|
+
* Contain a failed merge-conflict resolution in a FOCUS worktree.
|
|
7
|
+
*
|
|
8
|
+
* mergeBackFromIntegration deliberately leaves a conflicting merge in progress
|
|
9
|
+
* so an agent can resolve it in place. When that agent cannot finish (the
|
|
10
|
+
* fallback resolver timed out, crashed, or exited with conflicts remaining; a
|
|
11
|
+
* team lead died mid-resolution), the worktree is left half-merged: MERGE_HEAD,
|
|
12
|
+
* unmerged paths, staged and unstaged partial edits. Every automatic merge path
|
|
13
|
+
* refuses a dirty focus worktree, so that residue parks the focus until an
|
|
14
|
+
* operator resets it by hand (Nexus request 8679bae1, 2026-09-17: 15 UU paths,
|
|
15
|
+
* 67 staged additions, 14 unstaged resolver edits incl. a staged rename).
|
|
16
|
+
*
|
|
17
|
+
* This module does the two things a failed resolution needs, in order:
|
|
18
|
+
* 1. PRESERVE -- snapshot index + worktree + untracked (non-ignored) files into
|
|
19
|
+
* a commit object parented on the committed focus HEAD (and MERGE_HEAD when
|
|
20
|
+
* present), point a named ref at it
|
|
21
|
+
* (refs/telora/resolver-partial/<branch-slug>/<utc-stamp>) and write a
|
|
22
|
+
* binary patch against the committed HEAD under the repo's common git dir.
|
|
23
|
+
* Refs live in the common repo, so the snapshot survives worktree removal.
|
|
24
|
+
* Ref and patch are written independently, and each has a fallback chain
|
|
25
|
+
* so one broken location does not leave the tree uncontainable:
|
|
26
|
+
* - ref: the primary name, then ONE retry under a collision-safe unique
|
|
27
|
+
* name (<ref>-<pid>-<random hex>); confirmed by rev-parse.
|
|
28
|
+
* - patch: <git-common-dir>/telora/resolver-partial, then
|
|
29
|
+
* <git-dir>/telora-resolver-partial (the per-worktree git dir, not
|
|
30
|
+
* under <common>/telora), then <os.tmpdir()>/telora-resolver-partial;
|
|
31
|
+
* confirmed non-empty on disk.
|
|
32
|
+
* Whichever artifacts are confirmed are reported; every failure along the
|
|
33
|
+
* way is recorded in preserveError. Only when ALL of them fail is step 2
|
|
34
|
+
* skipped and the tree left as the resolver left it, because destroying
|
|
35
|
+
* unpreserved work is worse than a dirty tree.
|
|
36
|
+
* 2. RESTORE -- abort the merge, hard-reset to the committed focus HEAD, clean
|
|
37
|
+
* untracked non-ignored files (never -x: node_modules and other ignored
|
|
38
|
+
* state survive), then RE-READ the tree and report whether it is actually
|
|
39
|
+
* clean. Clean is never claimed without the re-read.
|
|
40
|
+
*
|
|
41
|
+
* Callers must only invoke this when no live resolver still owns the worktree.
|
|
42
|
+
* It moves the checked-out branch back to `preMergeHead` if a resolver committed
|
|
43
|
+
* partway; that commit is inside the preserved snapshot.
|
|
44
|
+
*/
|
|
45
|
+
import { copyFileSync, existsSync, mkdirSync, renameSync, rmSync, statSync } from 'node:fs';
|
|
46
|
+
import { randomBytes } from 'node:crypto';
|
|
47
|
+
import { tmpdir } from 'node:os';
|
|
48
|
+
import { isAbsolute, join } from 'node:path';
|
|
49
|
+
import { runGitSync } from './types.js';
|
|
50
|
+
import { createLogger } from '../shell/log.js';
|
|
51
|
+
const log = createLogger({ module: 'resolution-restore' });
|
|
52
|
+
/** Ref namespace every preserved partial resolution lives under. */
|
|
53
|
+
export const RESOLVER_PARTIAL_REF_PREFIX = 'refs/telora/resolver-partial';
|
|
54
|
+
/** Pure: a ref-safe slug of a branch name (agent/dev/foo-123 -> agent-dev-foo-123). */
|
|
55
|
+
export function slugBranchForRef(branchName) {
|
|
56
|
+
const slug = branchName.replace(/[^A-Za-z0-9._-]+/g, '-').replace(/^[-.]+|[-.]+$/g, '').replace(/\.{2,}/g, '.');
|
|
57
|
+
return slug.length > 0 ? slug : 'branch';
|
|
58
|
+
}
|
|
59
|
+
/** Pure: a ref/filename-safe UTC stamp (2026-09-17T10-30-35Z). */
|
|
60
|
+
export function refStamp(now) {
|
|
61
|
+
return now.toISOString().replace(/\.\d{3}Z$/, 'Z').replace(/:/g, '-');
|
|
62
|
+
}
|
|
63
|
+
function mergeHeadSha(worktreePath) {
|
|
64
|
+
const r = runGitSync(['rev-parse', '-q', '--verify', 'MERGE_HEAD'], worktreePath);
|
|
65
|
+
return r.success && r.output.length > 0 ? r.output : null;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Read the worktree's resolution state. `clean` is the confirmed verdict the
|
|
69
|
+
* containment contract names; `residue` describes whatever breaks it.
|
|
70
|
+
*/
|
|
71
|
+
export function readWorktreeResolutionState(worktreePath, expectedHead) {
|
|
72
|
+
const problems = [];
|
|
73
|
+
if (mergeHeadSha(worktreePath) !== null)
|
|
74
|
+
problems.push('MERGE_HEAD present');
|
|
75
|
+
const unmerged = runGitSync(['ls-files', '-u'], worktreePath);
|
|
76
|
+
if (!unmerged.success)
|
|
77
|
+
problems.push(`git ls-files -u failed: ${unmerged.error}`);
|
|
78
|
+
else if (unmerged.output.length > 0)
|
|
79
|
+
problems.push(`unmerged paths:\n${unmerged.output}`);
|
|
80
|
+
const status = runGitSync(['status', '--porcelain'], worktreePath);
|
|
81
|
+
if (!status.success)
|
|
82
|
+
problems.push(`git status failed: ${status.error}`);
|
|
83
|
+
else if (status.output.length > 0)
|
|
84
|
+
problems.push(`uncommitted changes:\n${status.output}`);
|
|
85
|
+
const head = runGitSync(['rev-parse', 'HEAD'], worktreePath);
|
|
86
|
+
if (!head.success)
|
|
87
|
+
problems.push(`git rev-parse HEAD failed: ${head.error}`);
|
|
88
|
+
else if (head.output !== expectedHead)
|
|
89
|
+
problems.push(`HEAD is ${head.output}, expected ${expectedHead}`);
|
|
90
|
+
return problems.length === 0 ? { clean: true } : { clean: false, residue: problems.join('\n') };
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Whether a resolver left a FINISHED merge: no unmerged paths, no MERGE_HEAD (the
|
|
94
|
+
* merge was committed), and nothing uncommitted. A resolver killed after staging
|
|
95
|
+
* every file but before committing has no unmerged paths yet is not done -- the
|
|
96
|
+
* old "no unmerged files" check read that as success and let a half-merged tree
|
|
97
|
+
* proceed. Returns the reason when it is not finished.
|
|
98
|
+
*/
|
|
99
|
+
export function readResolutionCompletion(worktreePath) {
|
|
100
|
+
const unmerged = runGitSync(['diff', '--name-only', '--diff-filter=U'], worktreePath);
|
|
101
|
+
if (!unmerged.success)
|
|
102
|
+
return { finished: false, reason: `could not read unmerged paths: ${unmerged.error}` };
|
|
103
|
+
const files = unmerged.output.split('\n').filter(Boolean);
|
|
104
|
+
if (files.length > 0)
|
|
105
|
+
return { finished: false, reason: `Conflicts remain in: ${files.join(', ')}` };
|
|
106
|
+
if (mergeHeadSha(worktreePath) !== null)
|
|
107
|
+
return { finished: false, reason: 'merge conflicts staged but the merge was never committed (MERGE_HEAD present)' };
|
|
108
|
+
const status = runGitSync(['status', '--porcelain'], worktreePath);
|
|
109
|
+
if (!status.success)
|
|
110
|
+
return { finished: false, reason: `could not read worktree status: ${status.error}` };
|
|
111
|
+
if (status.output.length > 0)
|
|
112
|
+
return { finished: false, reason: `merge conflict resolution left uncommitted changes: ${status.output.split('\n').length} path(s)` };
|
|
113
|
+
return { finished: true };
|
|
114
|
+
}
|
|
115
|
+
function absoluteGitPath(worktreePath, gitPath) {
|
|
116
|
+
return isAbsolute(gitPath) ? gitPath : join(worktreePath, gitPath);
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Point `ref` at `commit` and confirm it reads back. When the primary name
|
|
120
|
+
* cannot be written (a stale .lock, a concurrent writer), retry ONCE under a
|
|
121
|
+
* collision-safe unique name. Returns the confirmed ref, or null; every failure
|
|
122
|
+
* is appended to `errors`.
|
|
123
|
+
*/
|
|
124
|
+
function writeConfirmedRef(worktreePath, ref, commit, errors) {
|
|
125
|
+
const candidates = [ref, `${ref}-${process.pid}-${randomBytes(4).toString('hex')}`];
|
|
126
|
+
for (const candidate of candidates) {
|
|
127
|
+
const update = runGitSync(['update-ref', candidate, commit], worktreePath);
|
|
128
|
+
if (update.success && runGitSync(['rev-parse', '-q', '--verify', candidate], worktreePath).output === commit)
|
|
129
|
+
return candidate;
|
|
130
|
+
errors.push(`git update-ref ${candidate} failed: ${update.success ? 'ref not readable after update' : update.error}`);
|
|
131
|
+
}
|
|
132
|
+
return null;
|
|
133
|
+
}
|
|
134
|
+
/** Fallback patch directories, none of them under <git-common-dir>/telora: the per-worktree git dir, then the OS tmpdir. */
|
|
135
|
+
function defaultPatchFallbackDirs(worktreePath, errors) {
|
|
136
|
+
const dirs = [];
|
|
137
|
+
const gitDir = runGitSync(['rev-parse', '--git-dir'], worktreePath);
|
|
138
|
+
if (gitDir.success)
|
|
139
|
+
dirs.push(join(absoluteGitPath(worktreePath, gitDir.output), 'telora-resolver-partial'));
|
|
140
|
+
else
|
|
141
|
+
errors.push(`git rev-parse --git-dir failed: ${gitDir.error}`);
|
|
142
|
+
dirs.push(join(tmpdir(), 'telora-resolver-partial'));
|
|
143
|
+
return dirs;
|
|
144
|
+
}
|
|
145
|
+
/** Write the binary patch into `dir` and confirm it is non-empty on disk. Returns the path, or null (failure appended to `errors`). */
|
|
146
|
+
function writePatchInto(worktreePath, dir, fileName, from, to, errors) {
|
|
147
|
+
const path = join(dir, fileName);
|
|
148
|
+
try {
|
|
149
|
+
mkdirSync(dir, { recursive: true });
|
|
150
|
+
const patch = runGitSync(['diff', '--binary', `--output=${path}`, from, to], worktreePath);
|
|
151
|
+
if (!patch.success)
|
|
152
|
+
errors.push(`git diff --output=${path} failed: ${patch.error}`);
|
|
153
|
+
else if (statSync(path).size > 0)
|
|
154
|
+
return path;
|
|
155
|
+
else
|
|
156
|
+
errors.push(`patch ${path} is empty`);
|
|
157
|
+
}
|
|
158
|
+
catch (err) {
|
|
159
|
+
errors.push(`writing patch ${path} failed: ${err.message}`);
|
|
160
|
+
}
|
|
161
|
+
return null;
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Write the patch to the primary location (<git-common-dir>/telora/resolver-partial),
|
|
165
|
+
* falling back through `fallbackDirs` in order. The first confirmed path wins.
|
|
166
|
+
*/
|
|
167
|
+
function writeConfirmedPatch(p) {
|
|
168
|
+
const { worktreePath, preMergeHead, snapshot, fileName, errors } = p;
|
|
169
|
+
const commonDir = runGitSync(['rev-parse', '--git-common-dir'], worktreePath);
|
|
170
|
+
if (!commonDir.success) {
|
|
171
|
+
errors.push(`git rev-parse --git-common-dir failed: ${commonDir.error}`);
|
|
172
|
+
}
|
|
173
|
+
else {
|
|
174
|
+
const primaryDir = join(absoluteGitPath(worktreePath, commonDir.output), 'telora', 'resolver-partial');
|
|
175
|
+
const primary = writePatchInto(worktreePath, primaryDir, fileName, preMergeHead, snapshot, errors);
|
|
176
|
+
if (primary !== null)
|
|
177
|
+
return primary;
|
|
178
|
+
}
|
|
179
|
+
for (const dir of p.fallbackDirs()) {
|
|
180
|
+
const path = writePatchInto(worktreePath, dir, fileName, preMergeHead, snapshot, errors);
|
|
181
|
+
if (path !== null) {
|
|
182
|
+
log.warn(`[resolution-restore] Primary patch location unavailable; partial resolution patch written to fallback ${path}`);
|
|
183
|
+
return path;
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
return null;
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Snapshot everything the resolver left (index, worktree, untracked non-ignored
|
|
190
|
+
* files) into a named ref AND a patch. The two artifacts are produced
|
|
191
|
+
* independently, so one failing does not lose the other, each falls back
|
|
192
|
+
* (unique ref name; fallback patch dirs) before giving up, and each is confirmed
|
|
193
|
+
* on disk before it is reported. Stages into the real index; the caller either
|
|
194
|
+
* restores the tree or puts the saved index back.
|
|
195
|
+
*/
|
|
196
|
+
function preservePartialResolution(p) {
|
|
197
|
+
const { worktreePath, preMergeHead, branchName, now } = p;
|
|
198
|
+
const mergeHead = mergeHeadSha(worktreePath);
|
|
199
|
+
const failed = (error) => ({ preservedRef: null, patchPath: null, nothingToPreserve: false, error });
|
|
200
|
+
const add = runGitSync(['add', '-A'], worktreePath);
|
|
201
|
+
if (!add.success)
|
|
202
|
+
return failed(`git add -A failed: ${add.error}`);
|
|
203
|
+
const tree = runGitSync(['write-tree'], worktreePath);
|
|
204
|
+
if (!tree.success)
|
|
205
|
+
return failed(`git write-tree failed: ${tree.error}`);
|
|
206
|
+
// Nothing differs from the committed HEAD -> nothing worth preserving.
|
|
207
|
+
if (runGitSync(['diff', '--quiet', preMergeHead, tree.output], worktreePath).success) {
|
|
208
|
+
return { preservedRef: null, patchPath: null, nothingToPreserve: true };
|
|
209
|
+
}
|
|
210
|
+
const errors = [];
|
|
211
|
+
const stamp = refStamp(now);
|
|
212
|
+
const slug = slugBranchForRef(branchName);
|
|
213
|
+
let snapshot = tree.output;
|
|
214
|
+
let preservedRef = null;
|
|
215
|
+
const parents = ['-p', preMergeHead, ...(mergeHead ? ['-p', mergeHead] : [])];
|
|
216
|
+
const message = `telora: partial merge-conflict resolution on ${branchName} (preserved before restoring ${preMergeHead})`;
|
|
217
|
+
const commit = runGitSync(['commit-tree', tree.output, ...parents, '-m', message], worktreePath);
|
|
218
|
+
if (!commit.success) {
|
|
219
|
+
errors.push(`git commit-tree failed: ${commit.error}`);
|
|
220
|
+
}
|
|
221
|
+
else {
|
|
222
|
+
snapshot = commit.output;
|
|
223
|
+
preservedRef = writeConfirmedRef(worktreePath, `${RESOLVER_PARTIAL_REF_PREFIX}/${slug}/${stamp}`, commit.output, errors);
|
|
224
|
+
}
|
|
225
|
+
// The patch is written even when the ref failed: from the commit when there is one, else straight from the tree.
|
|
226
|
+
const patchPath = writeConfirmedPatch({
|
|
227
|
+
worktreePath,
|
|
228
|
+
preMergeHead,
|
|
229
|
+
snapshot,
|
|
230
|
+
fileName: `${slug}-${stamp}.patch`,
|
|
231
|
+
fallbackDirs: () => p.patchFallbackDirs ?? defaultPatchFallbackDirs(worktreePath, errors),
|
|
232
|
+
errors,
|
|
233
|
+
});
|
|
234
|
+
return {
|
|
235
|
+
preservedRef,
|
|
236
|
+
patchPath,
|
|
237
|
+
nothingToPreserve: false,
|
|
238
|
+
...(errors.length > 0 ? { error: errors.join('; ') } : {}),
|
|
239
|
+
};
|
|
240
|
+
}
|
|
241
|
+
/**
|
|
242
|
+
* Preserve a failed resolution's partial work, then restore the focus worktree
|
|
243
|
+
* to `preMergeHead` and confirm it is clean. Idempotent: a worktree already
|
|
244
|
+
* clean at `preMergeHead` is left untouched and nothing is preserved.
|
|
245
|
+
*
|
|
246
|
+
* Failure-atomic: the destructive restore runs only once at least one recovery
|
|
247
|
+
* artifact (ref or patch, primary or fallback) is confirmed, or there was
|
|
248
|
+
* nothing to lose. Only when EVERY ref and patch location failed, the worktree is left exactly as the resolver left it
|
|
249
|
+
* (the pre-snapshot index is put back) and the result says it is not clean.
|
|
250
|
+
*/
|
|
251
|
+
export function preserveAndRestoreFocusWorktree(params) {
|
|
252
|
+
const { worktreePath, preMergeHead, branchName } = params;
|
|
253
|
+
const now = params.now ?? new Date();
|
|
254
|
+
if (readWorktreeResolutionState(worktreePath, preMergeHead).clean) {
|
|
255
|
+
return { clean: true, preservedRef: null, patchPath: null };
|
|
256
|
+
}
|
|
257
|
+
let preserved = { preservedRef: null, patchPath: null, nothingToPreserve: true };
|
|
258
|
+
if (params.preserve !== false) {
|
|
259
|
+
const savedIndex = saveIndex(worktreePath);
|
|
260
|
+
preserved = preservePartialResolution({
|
|
261
|
+
worktreePath,
|
|
262
|
+
preMergeHead,
|
|
263
|
+
branchName,
|
|
264
|
+
now,
|
|
265
|
+
...(params.patchFallbackDirs !== undefined ? { patchFallbackDirs: params.patchFallbackDirs } : {}),
|
|
266
|
+
});
|
|
267
|
+
if (preserved.error) {
|
|
268
|
+
log.warn(`[resolution-restore] Could not fully preserve the partial resolution on ${branchName}: ${preserved.error}`);
|
|
269
|
+
}
|
|
270
|
+
const recoverable = preserved.nothingToPreserve || preserved.preservedRef !== null || preserved.patchPath !== null;
|
|
271
|
+
if (!recoverable) {
|
|
272
|
+
const putBack = putBackIndex(savedIndex);
|
|
273
|
+
const state = readWorktreeResolutionState(worktreePath, preMergeHead);
|
|
274
|
+
const residue = `restore NOT run: the partial resolution could not be preserved (${preserved.error ?? 'unknown'}), so the ` +
|
|
275
|
+
`worktree was left as the resolver left it${putBack ? '' : ' (its pre-snapshot index could not be put back; conflicted paths now read as staged)'}` +
|
|
276
|
+
`${state.residue ? `\n${state.residue}` : ''}`;
|
|
277
|
+
log.error(`[resolution-restore] Worktree for ${branchName} left unrestored to protect unpreserved partial work: ${residue}`);
|
|
278
|
+
return { clean: false, residue, preservedRef: null, patchPath: null, preserveError: preserved.error ?? 'unknown' };
|
|
279
|
+
}
|
|
280
|
+
if (savedIndex)
|
|
281
|
+
rmSync(savedIndex.copy, { force: true });
|
|
282
|
+
}
|
|
283
|
+
if (mergeHeadSha(worktreePath) !== null)
|
|
284
|
+
runGitSync(['merge', '--abort'], worktreePath);
|
|
285
|
+
runGitSync(['reset', '--hard', preMergeHead], worktreePath);
|
|
286
|
+
runGitSync(['clean', '-fd'], worktreePath);
|
|
287
|
+
const state = readWorktreeResolutionState(worktreePath, preMergeHead);
|
|
288
|
+
const where = preserved.preservedRef || preserved.patchPath
|
|
289
|
+
? `partial resolution preserved at ${preserved.preservedRef ?? '(no ref)'}${preserved.patchPath ? ` (patch: ${preserved.patchPath})` : ''}`
|
|
290
|
+
: 'no partial resolution preserved';
|
|
291
|
+
if (state.clean) {
|
|
292
|
+
log.info(`[resolution-restore] Restored ${branchName} worktree to ${preMergeHead}; ${where}`);
|
|
293
|
+
}
|
|
294
|
+
else {
|
|
295
|
+
log.error(`[resolution-restore] Worktree for ${branchName} is NOT clean after restore to ${preMergeHead}; ${where}. Residue:\n${state.residue ?? ''}`);
|
|
296
|
+
}
|
|
297
|
+
return {
|
|
298
|
+
clean: state.clean,
|
|
299
|
+
...(state.residue !== undefined ? { residue: state.residue } : {}),
|
|
300
|
+
preservedRef: preserved.preservedRef,
|
|
301
|
+
patchPath: preserved.patchPath,
|
|
302
|
+
...(preserved.error !== undefined ? { preserveError: preserved.error } : {}),
|
|
303
|
+
};
|
|
304
|
+
}
|
|
305
|
+
/** Copy the real index aside, so a snapshot that stages everything can be undone. Null when it cannot be saved. */
|
|
306
|
+
function saveIndex(worktreePath) {
|
|
307
|
+
const r = runGitSync(['rev-parse', '--git-path', 'index'], worktreePath);
|
|
308
|
+
if (!r.success)
|
|
309
|
+
return null;
|
|
310
|
+
const index = absoluteGitPath(worktreePath, r.output);
|
|
311
|
+
const copy = `${index}.telora-preserve`;
|
|
312
|
+
try {
|
|
313
|
+
copyFileSync(index, copy);
|
|
314
|
+
return { index, copy };
|
|
315
|
+
}
|
|
316
|
+
catch {
|
|
317
|
+
return null;
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
function putBackIndex(saved) {
|
|
321
|
+
if (!saved || !existsSync(saved.copy))
|
|
322
|
+
return false;
|
|
323
|
+
try {
|
|
324
|
+
renameSync(saved.copy, saved.index);
|
|
325
|
+
return true;
|
|
326
|
+
}
|
|
327
|
+
catch {
|
|
328
|
+
return false;
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
//# sourceMappingURL=resolution-restore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolution-restore.js","sourceRoot":"","sources":["../../src/git/resolution-restore.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/loops/engine.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/loops/engine.ts"],"names":[],"mappings":"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"}
|
package/dist/loops/engine.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/loops/engine.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/loops/engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Recover a focus worktree left mid-merge by a merge-back nothing is finishing.
|
|
3
|
+
*
|
|
4
|
+
* The observed failure (daemon log 2026-09-17, focus "Team teardown and session
|
|
5
|
+
* reaping leave the agent process running"): a merge-back of integration stopped
|
|
6
|
+
* at 14:21 UTC with 4 unmerged paths and 44 staged files, and nothing owned it
|
|
7
|
+
* afterwards. Every automatic path refuses a dirty focus worktree -- the
|
|
8
|
+
* merge-back loop skipped it as dirty_worktree, and the resolved-conflict retry
|
|
9
|
+
* logged "Spawning fallback resolution agent" 310 times without spawning one,
|
|
10
|
+
* because merging integration back into a tree already mid-merge cannot produce
|
|
11
|
+
* a fresh conflict. The merge_conflict hold on its delivery never cleared, so
|
|
12
|
+
* every review exited held until an operator ran `git merge --abort` by hand.
|
|
13
|
+
*
|
|
14
|
+
* Containment of a failed resolution (git/resolution-restore.ts) only covers a
|
|
15
|
+
* merge-back whose resolver this process is still running. This module covers the
|
|
16
|
+
* rest: a tree whose merge no team, agent session, fallback resolver or in-flight
|
|
17
|
+
* merge-back owns -- residue from a daemon restart mid-resolution, a killed team
|
|
18
|
+
* lead, or an older daemon version. The residue is PRESERVED (named ref + patch,
|
|
19
|
+
* same as a failed resolver run) and the worktree restored to its committed HEAD,
|
|
20
|
+
* so the normal paths (the merge-back follow-up and the gated merge) run again.
|
|
21
|
+
*
|
|
22
|
+
* A tree is recovered only when EVERY owner check says nobody holds it:
|
|
23
|
+
* 1. MERGE_HEAD is present (an unfinished merge -- other dirt is not ours);
|
|
24
|
+
* 2. no writer: the worktree write signal is quiescent except for the dirt
|
|
25
|
+
* itself (no active team, no active session, no recent commit);
|
|
26
|
+
* 3. no merge-back in flight in this process, and none started within
|
|
27
|
+
* ABANDONED_MERGE_GRACE_MS (merge/merge-back-activity.ts);
|
|
28
|
+
* 4. no live fallback resolver process for the branch (spawn/worker-registry.ts).
|
|
29
|
+
*/
|
|
30
|
+
import { preserveAndRestoreFocusWorktree, type PreserveAndRestoreResult } from '../git/index.js';
|
|
31
|
+
import { type WorktreeWriteSignal } from '../worktree/index.js';
|
|
32
|
+
/** How long after this process starts a merge-back its tree is treated as owned even with no resolver yet. */
|
|
33
|
+
export declare const ABANDONED_MERGE_GRACE_MS: number;
|
|
34
|
+
export type AbandonedMergeRecovery = {
|
|
35
|
+
kind: 'recovered';
|
|
36
|
+
restore: PreserveAndRestoreResult;
|
|
37
|
+
} | {
|
|
38
|
+
kind: 'not_abandoned';
|
|
39
|
+
} | {
|
|
40
|
+
kind: 'owned';
|
|
41
|
+
reason: string;
|
|
42
|
+
} | {
|
|
43
|
+
kind: 'restore_failed';
|
|
44
|
+
reason: string;
|
|
45
|
+
};
|
|
46
|
+
export interface AbandonedMergeRecoveryDeps {
|
|
47
|
+
getFocusWorktree: (focusId: string) => {
|
|
48
|
+
worktreePath: string;
|
|
49
|
+
branchName: string;
|
|
50
|
+
} | undefined;
|
|
51
|
+
isWorktreeBeingWritten: (focusId: string) => Promise<WorktreeWriteSignal>;
|
|
52
|
+
hasMergeHead: (worktreePath: string) => boolean;
|
|
53
|
+
readHead: (worktreePath: string) => string | null;
|
|
54
|
+
isMergeBackInFlight: (worktreePath: string) => boolean;
|
|
55
|
+
msSinceMergeBackStarted: (worktreePath: string) => number | null;
|
|
56
|
+
hasLiveResolver: (branchName: string) => boolean;
|
|
57
|
+
preserveAndRestore: typeof preserveAndRestoreFocusWorktree;
|
|
58
|
+
}
|
|
59
|
+
export declare function defaultAbandonedMergeRecoveryDeps(): AbandonedMergeRecoveryDeps;
|
|
60
|
+
/**
|
|
61
|
+
* Preserve and undo an unfinished merge in the focus worktree when nothing owns it
|
|
62
|
+
* (see the module header). `signal` is the write signal the caller already read,
|
|
63
|
+
* if any, so the tick does not read it twice.
|
|
64
|
+
*/
|
|
65
|
+
export declare function recoverAbandonedMergeBack(focusId: string, deps?: AbandonedMergeRecoveryDeps, signal?: WorktreeWriteSignal): Promise<AbandonedMergeRecovery>;
|
|
66
|
+
/**
|
|
67
|
+
* The merge-back loop's write signal: when the only thing holding the worktree is
|
|
68
|
+
* its dirt and that dirt is an abandoned merge, recover it and read the signal
|
|
69
|
+
* again, so the tick proceeds on the restored tree instead of skipping it forever.
|
|
70
|
+
*/
|
|
71
|
+
export declare function isWorktreeBeingWrittenAfterMergeRecovery(focusId: string, deps?: AbandonedMergeRecoveryDeps): Promise<WorktreeWriteSignal>;
|
|
72
|
+
//# sourceMappingURL=abandoned-merge-recovery.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"abandoned-merge-recovery.d.ts","sourceRoot":"","sources":["../../src/merge/abandoned-merge-recovery.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,EAAE,+BAA+B,EAAc,KAAK,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAG7G,OAAO,EAA0B,KAAK,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAMxF,8GAA8G;AAC9G,eAAO,MAAM,wBAAwB,QAAa,CAAC;AAEnD,MAAM,MAAM,sBAAsB,GAC9B;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,OAAO,EAAE,wBAAwB,CAAA;CAAE,GACxD;IAAE,IAAI,EAAE,eAAe,CAAA;CAAE,GACzB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACjC;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAE/C,MAAM,WAAW,0BAA0B;IACzC,gBAAgB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;IAChG,sBAAsB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC1E,YAAY,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC;IAChD,QAAQ,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IAClD,mBAAmB,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC;IACvD,uBAAuB,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IACjE,eAAe,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC;IACjD,kBAAkB,EAAE,OAAO,+BAA+B,CAAC;CAC5D;AAED,wBAAgB,iCAAiC,IAAI,0BAA0B,CAoB9E;AAgBD;;;;GAIG;AACH,wBAAsB,yBAAyB,CAC7C,OAAO,EAAE,MAAM,EACf,IAAI,GAAE,0BAAgE,EACtE,MAAM,CAAC,EAAE,mBAAmB,GAC3B,OAAO,CAAC,sBAAsB,CAAC,CAwBjC;AAED;;;;GAIG;AACH,wBAAsB,wCAAwC,CAC5D,OAAO,EAAE,MAAM,EACf,IAAI,GAAE,0BAAgE,GACrE,OAAO,CAAC,mBAAmB,CAAC,CAK9B"}
|