@telora/daemon 0.22.233 → 0.22.245
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build-info.json +4 -3
- package/dist/backends/index.d.ts.map +1 -1
- package/dist/backends/index.js +1 -0
- package/dist/backends/index.js.map +1 -1
- package/dist/ci/ci-red-attribution.js +1 -1
- package/dist/ci/ci-red-attribution.js.map +1 -1
- package/dist/ci/ci-status-git.js +1 -1
- package/dist/ci/ci-status-git.js.map +1 -1
- package/dist/completion/detector.d.ts.map +1 -1
- package/dist/completion/detector.js +1 -0
- package/dist/completion/detector.js.map +1 -1
- package/dist/completion/escalations.d.ts.map +1 -1
- package/dist/completion/escalations.js +1 -0
- package/dist/completion/escalations.js.map +1 -1
- package/dist/completion/event-entry-phases.d.ts.map +1 -1
- package/dist/completion/event-entry-phases.js +13 -11
- package/dist/completion/event-entry-phases.js.map +1 -1
- package/dist/completion/event-phases.d.ts.map +1 -1
- package/dist/completion/event-phases.js +16 -15
- package/dist/completion/event-phases.js.map +1 -1
- package/dist/completion/merge-phase.d.ts +4 -4
- package/dist/completion/merge-phase.d.ts.map +1 -1
- package/dist/completion/merge-phase.js +10 -7
- package/dist/completion/merge-phase.js.map +1 -1
- package/dist/completion/review-breaker-hold.d.ts +107 -0
- package/dist/completion/review-breaker-hold.d.ts.map +1 -0
- package/dist/completion/review-breaker-hold.js +127 -0
- package/dist/completion/review-breaker-hold.js.map +1 -0
- package/dist/completion/review-exit-escalations.d.ts +9 -1
- package/dist/completion/review-exit-escalations.d.ts.map +1 -1
- package/dist/completion/review-exit-escalations.js +14 -3
- package/dist/completion/review-exit-escalations.js.map +1 -1
- package/dist/completion/review-exit-phase.d.ts.map +1 -1
- package/dist/completion/review-exit-phase.js +2 -2
- package/dist/completion/review-exit-phase.js.map +1 -1
- package/dist/completion/state-cascade.d.ts +14 -12
- package/dist/completion/state-cascade.d.ts.map +1 -1
- package/dist/completion/state-cascade.js +28 -19
- package/dist/completion/state-cascade.js.map +1 -1
- package/dist/completion/status-advance-phase.d.ts +3 -0
- package/dist/completion/status-advance-phase.d.ts.map +1 -1
- package/dist/completion/status-advance-phase.js +2 -1
- package/dist/completion/status-advance-phase.js.map +1 -1
- package/dist/completion/team-lifecycle.d.ts +3 -3
- package/dist/completion/team-lifecycle.d.ts.map +1 -1
- package/dist/completion/team-lifecycle.js +6 -5
- package/dist/completion/team-lifecycle.js.map +1 -1
- package/dist/completion/team-progress-measure.d.ts.map +1 -1
- package/dist/completion/team-progress-measure.js +1 -0
- package/dist/completion/team-progress-measure.js.map +1 -1
- package/dist/delivery/delivery-advance-block.d.ts +17 -4
- package/dist/delivery/delivery-advance-block.d.ts.map +1 -1
- package/dist/delivery/delivery-advance-block.js +203 -173
- package/dist/delivery/delivery-advance-block.js.map +1 -1
- package/dist/focus/advance-hold.d.ts +55 -0
- package/dist/focus/advance-hold.d.ts.map +1 -0
- package/dist/focus/advance-hold.js +155 -0
- package/dist/focus/advance-hold.js.map +1 -0
- package/dist/focus/focus-spawn-decision.d.ts +17 -6
- package/dist/focus/focus-spawn-decision.d.ts.map +1 -1
- package/dist/focus/focus-spawn-decision.js +6 -6
- package/dist/focus/focus-spawn-decision.js.map +1 -1
- package/dist/focus/focus-team-state.js +1 -1
- package/dist/focus/focus-worktree-state.d.ts.map +1 -1
- package/dist/focus/focus-worktree-state.js +1 -0
- package/dist/focus/focus-worktree-state.js.map +1 -1
- package/dist/focus/listener-auto-advance.d.ts +14 -0
- package/dist/focus/listener-auto-advance.d.ts.map +1 -1
- package/dist/focus/listener-auto-advance.js +13 -10
- package/dist/focus/listener-auto-advance.js.map +1 -1
- package/dist/focus/listener-spawn.d.ts.map +1 -1
- package/dist/focus/listener-spawn.js +18 -29
- 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 +1 -0
- package/dist/focus/listener-state.js.map +1 -1
- package/dist/focus/listener.d.ts.map +1 -1
- package/dist/focus/listener.js +10 -4
- package/dist/focus/listener.js.map +1 -1
- package/dist/focus/pending-spawn-pass-deps.d.ts +3 -0
- package/dist/focus/pending-spawn-pass-deps.d.ts.map +1 -1
- package/dist/focus/pending-spawn-pass-deps.js +1 -0
- package/dist/focus/pending-spawn-pass-deps.js.map +1 -1
- package/dist/focus/ready-focus-spawn-action.d.ts +29 -0
- package/dist/focus/ready-focus-spawn-action.d.ts.map +1 -0
- package/dist/focus/ready-focus-spawn-action.js +32 -0
- package/dist/focus/ready-focus-spawn-action.js.map +1 -0
- package/dist/focus/ready-focus-team-work.d.ts +18 -0
- package/dist/focus/ready-focus-team-work.d.ts.map +1 -0
- package/dist/focus/ready-focus-team-work.js +59 -0
- package/dist/focus/ready-focus-team-work.js.map +1 -0
- package/dist/focus/team-actionable-work.d.ts +56 -6
- package/dist/focus/team-actionable-work.d.ts.map +1 -1
- package/dist/focus/team-actionable-work.js +56 -9
- package/dist/focus/team-actionable-work.js.map +1 -1
- package/dist/git/types.d.ts.map +1 -1
- package/dist/git/types.js +1 -0
- package/dist/git/types.js.map +1 -1
- package/dist/merge/approval-gate-state.d.ts +24 -0
- package/dist/merge/approval-gate-state.d.ts.map +1 -0
- package/dist/merge/approval-gate-state.js +67 -0
- package/dist/merge/approval-gate-state.js.map +1 -0
- package/dist/merge/focus-merge.d.ts +3 -3
- package/dist/merge/focus-merge.d.ts.map +1 -1
- package/dist/merge/focus-merge.js +6 -6
- package/dist/merge/focus-merge.js.map +1 -1
- package/dist/merge/merge-back-loop.d.ts +3 -3
- package/dist/merge/merge-back-loop.d.ts.map +1 -1
- package/dist/merge/merge-back-loop.js +10 -10
- package/dist/merge/merge-back-loop.js.map +1 -1
- package/dist/merge/merge-gate-coverage.d.ts +32 -9
- package/dist/merge/merge-gate-coverage.d.ts.map +1 -1
- package/dist/merge/merge-gate-coverage.js +69 -18
- package/dist/merge/merge-gate-coverage.js.map +1 -1
- package/dist/nexus/return.d.ts +44 -1
- package/dist/nexus/return.d.ts.map +1 -1
- package/dist/nexus/return.js +42 -0
- package/dist/nexus/return.js.map +1 -1
- package/dist/prompt/focus-prompt-builder.d.ts +10 -8
- package/dist/prompt/focus-prompt-builder.d.ts.map +1 -1
- package/dist/prompt/focus-prompt-builder.js +19 -10
- package/dist/prompt/focus-prompt-builder.js.map +1 -1
- package/dist/prompt-sections/execution-sections.d.ts.map +1 -1
- package/dist/prompt-sections/execution-sections.js +10 -0
- package/dist/prompt-sections/execution-sections.js.map +1 -1
- package/dist/queries/deliveries.js +1 -1
- package/dist/queries/deliveries.js.map +1 -1
- package/dist/queries/delivery-gate-holds.d.ts +78 -0
- package/dist/queries/delivery-gate-holds.d.ts.map +1 -0
- package/dist/queries/delivery-gate-holds.js +5 -0
- package/dist/queries/delivery-gate-holds.js.map +1 -0
- package/dist/queries/delivery-gate-state.d.ts +17 -60
- package/dist/queries/delivery-gate-state.d.ts.map +1 -1
- package/dist/queries/delivery-gate-state.js +8 -3
- package/dist/queries/delivery-gate-state.js.map +1 -1
- package/dist/queries/escalations.d.ts +2 -1
- package/dist/queries/escalations.d.ts.map +1 -1
- package/dist/queries/escalations.js +3 -3
- package/dist/queries/escalations.js.map +1 -1
- package/dist/queries/focus-criteria-standing.d.ts +2 -2
- package/dist/queries/focus-discovery.js +1 -1
- package/dist/queries/focus-discovery.js.map +1 -1
- package/dist/queries/focuses.d.ts.map +1 -1
- package/dist/queries/focuses.js +1 -0
- package/dist/queries/focuses.js.map +1 -1
- package/dist/queries/issues.d.ts.map +1 -1
- package/dist/queries/issues.js +1 -0
- package/dist/queries/issues.js.map +1 -1
- package/dist/queries/shared.js +1 -1
- package/dist/queries/workflows.d.ts.map +1 -1
- package/dist/queries/workflows.js +1 -0
- package/dist/queries/workflows.js.map +1 -1
- package/dist/spawn/helpers.d.ts.map +1 -1
- package/dist/spawn/helpers.js +1 -0
- package/dist/spawn/helpers.js.map +1 -1
- package/dist/spawn/idle-work-stamp.d.ts +13 -7
- package/dist/spawn/idle-work-stamp.d.ts.map +1 -1
- package/dist/spawn/idle-work-stamp.js +22 -11
- package/dist/spawn/idle-work-stamp.js.map +1 -1
- package/dist/spawn/lead-continuation.d.ts.map +1 -1
- package/dist/spawn/lead-continuation.js +13 -11
- package/dist/spawn/lead-continuation.js.map +1 -1
- package/dist/spawn/spawn-cooldown.js +1 -1
- package/dist/testing/fixtures/index.js +1 -1
- package/dist/testing/fixtures/merge-log-capture.d.ts +5 -0
- package/dist/testing/fixtures/merge-log-capture.d.ts.map +1 -0
- package/dist/testing/fixtures/merge-log-capture.js +35 -0
- package/dist/testing/fixtures/merge-log-capture.js.map +1 -0
- package/dist/testing/fixtures/pending-spawn-world.js +1 -1
- package/dist/testing/fixtures/pending-spawn-world.js.map +1 -1
- package/dist/types/index.js +1 -1
- package/dist/verify/commit-gate-configured.d.ts.map +1 -1
- package/dist/verify/commit-gate-configured.js +1 -0
- package/dist/verify/commit-gate-configured.js.map +1 -1
- package/dist/verify/gate-process-group.d.ts +40 -0
- package/dist/verify/gate-process-group.d.ts.map +1 -0
- package/dist/verify/gate-process-group.js +91 -0
- package/dist/verify/gate-process-group.js.map +1 -0
- package/dist/verify/no-verdict-record.d.ts +103 -0
- package/dist/verify/no-verdict-record.d.ts.map +1 -0
- package/dist/verify/no-verdict-record.js +218 -0
- package/dist/verify/no-verdict-record.js.map +1 -0
- package/dist/verify/timed-out-rendered-verdict.d.ts +40 -0
- package/dist/verify/timed-out-rendered-verdict.d.ts.map +1 -0
- package/dist/verify/timed-out-rendered-verdict.js +52 -0
- package/dist/verify/timed-out-rendered-verdict.js.map +1 -0
- package/dist/verify/verification-attribution-base.js +1 -1
- package/dist/verify/verification-attribution-base.js.map +1 -1
- package/dist/verify/verification-attribution.js +2 -2
- package/dist/verify/verification-attribution.js.map +1 -1
- package/dist/verify/verification-baseline-run.d.ts.map +1 -1
- package/dist/verify/verification-baseline-run.js +5 -7
- package/dist/verify/verification-baseline-run.js.map +1 -1
- package/dist/verify/verification-baseline.js +1 -1
- package/dist/verify/verification-baseline.js.map +1 -1
- package/dist/verify/verification-checkout.js +1 -1
- package/dist/verify/verification-checkout.js.map +1 -1
- package/dist/verify/verification-commit-sharing.d.ts.map +1 -1
- package/dist/verify/verification-commit-sharing.js +93 -10
- package/dist/verify/verification-commit-sharing.js.map +1 -1
- package/dist/verify/verification-default-on.js +1 -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 +2 -0
- package/dist/verify/verification-deps-default.js.map +1 -1
- package/dist/verify/verification-deps.d.ts +8 -0
- package/dist/verify/verification-deps.d.ts.map +1 -1
- package/dist/verify/verification-deterministic.d.ts +8 -0
- package/dist/verify/verification-deterministic.d.ts.map +1 -1
- package/dist/verify/verification-deterministic.js +3 -6
- package/dist/verify/verification-deterministic.js.map +1 -1
- package/dist/worktree/provision.d.ts +6 -5
- package/dist/worktree/provision.d.ts.map +1 -1
- package/dist/worktree/provision.js +13 -8
- package/dist/worktree/provision.js.map +1 -1
- package/dist/worktree/verify-interlock.d.ts.map +1 -1
- package/dist/worktree/verify-interlock.js +2 -0
- package/dist/worktree/verify-interlock.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The review hand-off breaker HOLD, read where it is enforced -- with a close
|
|
3
|
+
* half the hold does not block.
|
|
4
|
+
*
|
|
5
|
+
* When the hand-off breaker crosses its cap (review-exit-escalations.ts
|
|
6
|
+
* recordHandoffAndMaybeTerminate) it files one review_handoff_exhausted
|
|
7
|
+
* escalation, and the state cascade declines to open the focus's review window
|
|
8
|
+
* while that row is open. Its only automatic resolve used to run inside a
|
|
9
|
+
* review-session exit that recorded a delta (review-exit-progress.ts) -- but the
|
|
10
|
+
* hold is exactly what stops a review session from running, so nothing could
|
|
11
|
+
* record that delta: a circular wait. On 2026-09-25 a focus fixed its blocking
|
|
12
|
+
* finding after the crossing, verified and merged the fix, and sat at verify
|
|
13
|
+
* with every issue Done until an operator resolved the row by hand.
|
|
14
|
+
*
|
|
15
|
+
* The close half lives here, beside the read: the escalation records the
|
|
16
|
+
* focus-branch head it crossed on (metadata.crossed_on_head, the head the
|
|
17
|
+
* crossing review covered). Each cascade poll compares the live focus-branch
|
|
18
|
+
* head with it. A different head IS the delta the hold waits for -- a commit
|
|
19
|
+
* landed that no review has seen -- so the poll resolves the escalation itself
|
|
20
|
+
* and the window opens in the same poll. An equal head keeps the hold exactly
|
|
21
|
+
* as before (the empty-loop bound is untouched), and a row that recorded no head
|
|
22
|
+
* (filed before this module) keeps the old behavior: it holds until resolved.
|
|
23
|
+
*
|
|
24
|
+
* The same read returns the holding row, so the hold's log line can name the
|
|
25
|
+
* escalation, its id and what ends it (describeBreakerHold). The escalation's
|
|
26
|
+
* own text states the same end condition (breakerHoldEndCondition), so the two
|
|
27
|
+
* places a held focus is read cannot disagree.
|
|
28
|
+
*
|
|
29
|
+
* @module completion/review-breaker-hold
|
|
30
|
+
*/
|
|
31
|
+
import { listOpenFocusEscalationsOfKind } from '../queries/escalations.js';
|
|
32
|
+
import { resolveRef as defaultResolveRef } from '../git/index.js';
|
|
33
|
+
import type { EscalationResolutionClass } from '@telora/daemon-core';
|
|
34
|
+
/** The escalation kind the hand-off breaker files; its open row is the hold. */
|
|
35
|
+
export declare const REVIEW_HANDOFF_EXHAUSTED_ESCALATION_KIND = "review_handoff_exhausted";
|
|
36
|
+
/** The metadata key the crossing head is recorded under at filing. */
|
|
37
|
+
export declare const CROSSED_ON_HEAD_KEY = "crossed_on_head";
|
|
38
|
+
/** An open breaker escalation that is holding the review window. */
|
|
39
|
+
export interface StandingBreakerHold {
|
|
40
|
+
escalationKind: string;
|
|
41
|
+
escalationId: string;
|
|
42
|
+
/** The focus-branch head the breaker crossed on, or null (a row filed before it was recorded). */
|
|
43
|
+
crossedOnHead: string | null;
|
|
44
|
+
/** The row's disposition (agent_resolvable for a machine-lane observation), or null when unread. */
|
|
45
|
+
disposition: string | null;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* What one poll's read of the breaker found: no open row, a hold still standing,
|
|
49
|
+
* or a hold this poll RELEASED because the focus branch moved past its crossing
|
|
50
|
+
* head. `released` is distinct from `none` on purpose: the branch moving is a
|
|
51
|
+
* change the delivery aggregate need not show, so the cascade must not let its
|
|
52
|
+
* unchanged-aggregate backoff swallow the reopen that the release owes.
|
|
53
|
+
*/
|
|
54
|
+
export type BreakerHoldReading = {
|
|
55
|
+
state: 'none';
|
|
56
|
+
} | {
|
|
57
|
+
state: 'held';
|
|
58
|
+
hold: StandingBreakerHold;
|
|
59
|
+
} | {
|
|
60
|
+
state: 'released';
|
|
61
|
+
crossedOnHeads: Array<string | null>;
|
|
62
|
+
liveHead: string;
|
|
63
|
+
resolved: number;
|
|
64
|
+
};
|
|
65
|
+
/** Read the crossing head a breaker row recorded; null when absent or malformed. */
|
|
66
|
+
export declare function readCrossedOnHead(metadata: Record<string, unknown> | null | undefined): string | null;
|
|
67
|
+
/**
|
|
68
|
+
* Pure: has the focus branch moved past the head the breaker crossed on? True
|
|
69
|
+
* only when BOTH heads are known and differ. An unrecorded head (a legacy row)
|
|
70
|
+
* or an unreadable live head is NOT a move -- the hold is kept.
|
|
71
|
+
*/
|
|
72
|
+
export declare function focusMovedPastCrossing(crossedOnHead: string | null, liveHead: string | null): boolean;
|
|
73
|
+
/**
|
|
74
|
+
* The condition that ends a breaker hold, in words -- shared by the escalation
|
|
75
|
+
* text and the cascade's hold log line. Names no operator unless the row was
|
|
76
|
+
* routed to one: a machine-lane (agent_resolvable) row is resolved by the agent
|
|
77
|
+
* session that routes it, and saying it waits for an operator sent a team to
|
|
78
|
+
* blame the wrong escalation on 2026-09-25.
|
|
79
|
+
*/
|
|
80
|
+
export declare function breakerHoldEndCondition(crossedOnHead: string | null, disposition?: string | null): string;
|
|
81
|
+
/** The cascade's hold log line body: which escalation holds the window, and what ends it. */
|
|
82
|
+
export declare function describeBreakerHold(hold: StandingBreakerHold): string;
|
|
83
|
+
export interface BreakerHoldDeps {
|
|
84
|
+
/** Open review_handoff_exhausted rows for the focus (id + metadata + disposition). */
|
|
85
|
+
listOpen: typeof listOpenFocusEscalationsOfKind;
|
|
86
|
+
/** The live focus-branch head (null when unreadable). */
|
|
87
|
+
resolveRef: typeof defaultResolveRef;
|
|
88
|
+
/** Resolve the focus's open breaker rows (the close-half write); returns the count resolved. */
|
|
89
|
+
resolveHold: (focusId: string, resolutionClass: EscalationResolutionClass, notes: string) => Promise<number>;
|
|
90
|
+
}
|
|
91
|
+
export declare const defaultBreakerHoldDeps: BreakerHoldDeps;
|
|
92
|
+
export interface BreakerHoldContext {
|
|
93
|
+
focusId: string;
|
|
94
|
+
/** Pinned focus branch identity (product_focuses.branch_name), or null. */
|
|
95
|
+
branchName: string | null;
|
|
96
|
+
/** Product repo path -- the branch ref lives in its git dir (worktrees share it), as the review spawn reads it. */
|
|
97
|
+
repoPath: string;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Read the breaker hold for one focus, ending it first when the focus branch has
|
|
101
|
+
* moved past every open row's crossing head. Returns `held` with the holding row,
|
|
102
|
+
* `released` when this poll ended it, or `none` when no row is open. A list
|
|
103
|
+
* failure THROWS: the caller owns the fail-open policy. A failed resolve keeps
|
|
104
|
+
* the hold (the next poll retries).
|
|
105
|
+
*/
|
|
106
|
+
export declare function readBreakerHold(ctx: BreakerHoldContext, deps?: BreakerHoldDeps): Promise<BreakerHoldReading>;
|
|
107
|
+
//# sourceMappingURL=review-breaker-hold.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"review-breaker-hold.d.ts","sourceRoot":"","sources":["../../src/completion/review-breaker-hold.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,EACL,8BAA8B,EAE/B,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,UAAU,IAAI,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAKrE,gFAAgF;AAChF,eAAO,MAAM,wCAAwC,6BAA6B,CAAC;AAEnF,sEAAsE;AACtE,eAAO,MAAM,mBAAmB,oBAAoB,CAAC;AAErD,oEAAoE;AACpE,MAAM,WAAW,mBAAmB;IAClC,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,kGAAkG;IAClG,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,oGAAoG;IACpG,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED;;;;;;GAMG;AACH,MAAM,MAAM,kBAAkB,GAC1B;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GACjB;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,mBAAmB,CAAA;CAAE,GAC5C;IAAE,KAAK,EAAE,UAAU,CAAC;IAAC,cAAc,EAAE,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAEpG,oFAAoF;AACpF,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAGrG;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAErG;AAMD;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,EAAE,WAAW,GAAE,MAAM,GAAG,IAAmC,GAAG,MAAM,CASvI;AAED,6FAA6F;AAC7F,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,mBAAmB,GAAG,MAAM,CAGrE;AAED,MAAM,WAAW,eAAe;IAC9B,sFAAsF;IACtF,QAAQ,EAAE,OAAO,8BAA8B,CAAC;IAChD,yDAAyD;IACzD,UAAU,EAAE,OAAO,iBAAiB,CAAC;IACrC,gGAAgG;IAChG,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,yBAAyB,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CAC9G;AAED,eAAO,MAAM,sBAAsB,EAAE,eAKpC,CAAC;AAEF,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,2EAA2E;IAC3E,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,mHAAmH;IACnH,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,GAAG,EAAE,kBAAkB,EACvB,IAAI,GAAE,eAAwC,GAC7C,OAAO,CAAC,kBAAkB,CAAC,CAiC7B"}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
// PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
|
|
2
|
+
// Pinned by: packages/daemon/src/completion/review-exit-breaker-hold.test.ts
|
|
3
|
+
// PINNED-BY-END
|
|
4
|
+
/**
|
|
5
|
+
* The review hand-off breaker HOLD, read where it is enforced -- with a close
|
|
6
|
+
* half the hold does not block.
|
|
7
|
+
*
|
|
8
|
+
* When the hand-off breaker crosses its cap (review-exit-escalations.ts
|
|
9
|
+
* recordHandoffAndMaybeTerminate) it files one review_handoff_exhausted
|
|
10
|
+
* escalation, and the state cascade declines to open the focus's review window
|
|
11
|
+
* while that row is open. Its only automatic resolve used to run inside a
|
|
12
|
+
* review-session exit that recorded a delta (review-exit-progress.ts) -- but the
|
|
13
|
+
* hold is exactly what stops a review session from running, so nothing could
|
|
14
|
+
* record that delta: a circular wait. On 2026-09-25 a focus fixed its blocking
|
|
15
|
+
* finding after the crossing, verified and merged the fix, and sat at verify
|
|
16
|
+
* with every issue Done until an operator resolved the row by hand.
|
|
17
|
+
*
|
|
18
|
+
* The close half lives here, beside the read: the escalation records the
|
|
19
|
+
* focus-branch head it crossed on (metadata.crossed_on_head, the head the
|
|
20
|
+
* crossing review covered). Each cascade poll compares the live focus-branch
|
|
21
|
+
* head with it. A different head IS the delta the hold waits for -- a commit
|
|
22
|
+
* landed that no review has seen -- so the poll resolves the escalation itself
|
|
23
|
+
* and the window opens in the same poll. An equal head keeps the hold exactly
|
|
24
|
+
* as before (the empty-loop bound is untouched), and a row that recorded no head
|
|
25
|
+
* (filed before this module) keeps the old behavior: it holds until resolved.
|
|
26
|
+
*
|
|
27
|
+
* The same read returns the holding row, so the hold's log line can name the
|
|
28
|
+
* escalation, its id and what ends it (describeBreakerHold). The escalation's
|
|
29
|
+
* own text states the same end condition (breakerHoldEndCondition), so the two
|
|
30
|
+
* places a held focus is read cannot disagree.
|
|
31
|
+
*
|
|
32
|
+
* @module completion/review-breaker-hold
|
|
33
|
+
*/
|
|
34
|
+
import { listOpenFocusEscalationsOfKind, resolveOpenFocusEscalationsOfKind, } from '../queries/escalations.js';
|
|
35
|
+
import { DISPOSITION_AGENT_RESOLVABLE } from '../queries/escalation-dispositions.js';
|
|
36
|
+
import { resolveRef as defaultResolveRef } from '../git/index.js';
|
|
37
|
+
import { createLogger } from '../shell/log.js';
|
|
38
|
+
const log = createLogger({ module: 'state-cascade' });
|
|
39
|
+
/** The escalation kind the hand-off breaker files; its open row is the hold. */
|
|
40
|
+
export const REVIEW_HANDOFF_EXHAUSTED_ESCALATION_KIND = 'review_handoff_exhausted';
|
|
41
|
+
/** The metadata key the crossing head is recorded under at filing. */
|
|
42
|
+
export const CROSSED_ON_HEAD_KEY = 'crossed_on_head';
|
|
43
|
+
/** Read the crossing head a breaker row recorded; null when absent or malformed. */
|
|
44
|
+
export function readCrossedOnHead(metadata) {
|
|
45
|
+
const value = metadata?.[CROSSED_ON_HEAD_KEY];
|
|
46
|
+
return typeof value === 'string' && value.length > 0 ? value : null;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Pure: has the focus branch moved past the head the breaker crossed on? True
|
|
50
|
+
* only when BOTH heads are known and differ. An unrecorded head (a legacy row)
|
|
51
|
+
* or an unreadable live head is NOT a move -- the hold is kept.
|
|
52
|
+
*/
|
|
53
|
+
export function focusMovedPastCrossing(crossedOnHead, liveHead) {
|
|
54
|
+
return !!crossedOnHead && !!liveHead && crossedOnHead !== liveHead;
|
|
55
|
+
}
|
|
56
|
+
function shortSha(sha) {
|
|
57
|
+
return sha.slice(0, 12);
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* The condition that ends a breaker hold, in words -- shared by the escalation
|
|
61
|
+
* text and the cascade's hold log line. Names no operator unless the row was
|
|
62
|
+
* routed to one: a machine-lane (agent_resolvable) row is resolved by the agent
|
|
63
|
+
* session that routes it, and saying it waits for an operator sent a team to
|
|
64
|
+
* blame the wrong escalation on 2026-09-25.
|
|
65
|
+
*/
|
|
66
|
+
export function breakerHoldEndCondition(crossedOnHead, disposition = DISPOSITION_AGENT_RESOLVABLE) {
|
|
67
|
+
const resolver = disposition === null || disposition === DISPOSITION_AGENT_RESOLVABLE
|
|
68
|
+
? 'this escalation is resolved or dismissed'
|
|
69
|
+
: 'an operator resolves or dismisses this escalation';
|
|
70
|
+
if (!crossedOnHead) {
|
|
71
|
+
return `it recorded no crossing head, so the hold ends only when ${resolver}`;
|
|
72
|
+
}
|
|
73
|
+
return `the hold ends when the focus branch moves past ${shortSha(crossedOnHead)} ` +
|
|
74
|
+
`(the head it crossed on -- any new commit on the focus branch), or when ${resolver}`;
|
|
75
|
+
}
|
|
76
|
+
/** The cascade's hold log line body: which escalation holds the window, and what ends it. */
|
|
77
|
+
export function describeBreakerHold(hold) {
|
|
78
|
+
return `${hold.escalationKind} escalation ${hold.escalationId} holds the review window; ` +
|
|
79
|
+
`${breakerHoldEndCondition(hold.crossedOnHead, hold.disposition)}`;
|
|
80
|
+
}
|
|
81
|
+
export const defaultBreakerHoldDeps = {
|
|
82
|
+
listOpen: listOpenFocusEscalationsOfKind,
|
|
83
|
+
resolveRef: defaultResolveRef,
|
|
84
|
+
resolveHold: (focusId, resolutionClass, notes) => resolveOpenFocusEscalationsOfKind(focusId, REVIEW_HANDOFF_EXHAUSTED_ESCALATION_KIND, resolutionClass, notes),
|
|
85
|
+
};
|
|
86
|
+
/**
|
|
87
|
+
* Read the breaker hold for one focus, ending it first when the focus branch has
|
|
88
|
+
* moved past every open row's crossing head. Returns `held` with the holding row,
|
|
89
|
+
* `released` when this poll ended it, or `none` when no row is open. A list
|
|
90
|
+
* failure THROWS: the caller owns the fail-open policy. A failed resolve keeps
|
|
91
|
+
* the hold (the next poll retries).
|
|
92
|
+
*/
|
|
93
|
+
export async function readBreakerHold(ctx, deps = defaultBreakerHoldDeps) {
|
|
94
|
+
const rows = await deps.listOpen(ctx.focusId, REVIEW_HANDOFF_EXHAUSTED_ESCALATION_KIND);
|
|
95
|
+
if (rows.length === 0)
|
|
96
|
+
return { state: 'none' };
|
|
97
|
+
const holds = rows.map((row) => ({
|
|
98
|
+
escalationKind: REVIEW_HANDOFF_EXHAUSTED_ESCALATION_KIND,
|
|
99
|
+
escalationId: row.id,
|
|
100
|
+
crossedOnHead: readCrossedOnHead(row.metadata),
|
|
101
|
+
disposition: row.disposition ?? null,
|
|
102
|
+
}));
|
|
103
|
+
const liveHead = ctx.branchName ? deps.resolveRef(ctx.repoPath, ctx.branchName) : null;
|
|
104
|
+
const stillHolding = holds.filter((h) => !focusMovedPastCrossing(h.crossedOnHead, liveHead));
|
|
105
|
+
const holding = stillHolding[0] ?? holds[0];
|
|
106
|
+
if (stillHolding.length > 0 || !liveHead || !holding)
|
|
107
|
+
return holding ? { state: 'held', hold: holding } : { state: 'none' };
|
|
108
|
+
const crossedOnHeads = [...new Set(holds.map((h) => h.crossedOnHead))];
|
|
109
|
+
const crossed = crossedOnHeads.join(', ');
|
|
110
|
+
const notes = `Review hand-off breaker hold ended by the daemon: the focus branch moved from ${crossed} ` +
|
|
111
|
+
`(the head the breaker crossed on) to ${liveHead}. A commit no review has seen is the delta the ` +
|
|
112
|
+
`hold waited for, so the review window re-opens.`;
|
|
113
|
+
let resolved = 0;
|
|
114
|
+
try {
|
|
115
|
+
// The daemon observed the clearing condition itself: an agent-session resolve, not an operator's.
|
|
116
|
+
resolved = await deps.resolveHold(ctx.focusId, 'agent_session', notes);
|
|
117
|
+
}
|
|
118
|
+
catch (err) {
|
|
119
|
+
log.warn(`[state-cascade] Could not end the breaker hold on focus ${ctx.focusId}: ${err.message}`);
|
|
120
|
+
}
|
|
121
|
+
if (resolved < holds.length)
|
|
122
|
+
return { state: 'held', hold: holding };
|
|
123
|
+
log.info(`[state-cascade] Breaker hold ENDED for focus ${ctx.focusId}: focus branch moved past ${crossed} ` +
|
|
124
|
+
`to ${shortSha(liveHead)}; resolved ${resolved} review_handoff_exhausted escalation(s), review window may open.`);
|
|
125
|
+
return { state: 'released', crossedOnHeads, liveHead, resolved };
|
|
126
|
+
}
|
|
127
|
+
//# sourceMappingURL=review-breaker-hold.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"review-breaker-hold.js","sourceRoot":"","sources":["../../src/completion/review-breaker-hold.ts"],"names":[],"mappings":"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"}
|
|
@@ -36,6 +36,13 @@ export interface ReviewExitEscalationContext {
|
|
|
36
36
|
focusId: string;
|
|
37
37
|
focusName: string;
|
|
38
38
|
sessionId: string;
|
|
39
|
+
/**
|
|
40
|
+
* The focus-branch head this review pass covered (reviewSpawnTip, else the exit
|
|
41
|
+
* tip), or null when unknown. The hand-off breaker records it as the head it
|
|
42
|
+
* crossed on; the hold ends when the focus branch moves past it
|
|
43
|
+
* (review-breaker-hold.ts). Optional: a context without it records no head.
|
|
44
|
+
*/
|
|
45
|
+
coveredSha?: string | null;
|
|
39
46
|
}
|
|
40
47
|
/**
|
|
41
48
|
* A compact summary of one open, blocking, review-filed finding on a focus,
|
|
@@ -100,7 +107,8 @@ export interface HandoffBoundDeps extends ReviewExitEscalationDeps {
|
|
|
100
107
|
* durable breaker HOLD. Called on a real delta so a focus that resumes progress
|
|
101
108
|
* lifts its own hold (returns the count resolved). Present in the default deps;
|
|
102
109
|
* a partial test deps object omitting it simply does not clear the hold on
|
|
103
|
-
* delta (the
|
|
110
|
+
* delta (the state cascade still ends it when the focus branch moves past the
|
|
111
|
+
* head it crossed on -- review-breaker-hold.ts -- and a resolve still clears it).
|
|
104
112
|
*/
|
|
105
113
|
resolveHandoffExhaustedHold?: (focusId: string, notes: string) => Promise<number>;
|
|
106
114
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"review-exit-escalations.d.ts","sourceRoot":"","sources":["../../src/completion/review-exit-escalations.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,kBAAkB,EAA2B,MAAM,qBAAqB,CAAC;AAClF,OAAO,KAAK,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAC1F,OAAO,KAAK,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAChH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAC7E,OAAO,EAAgB,KAAK,QAAQ,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"review-exit-escalations.d.ts","sourceRoot":"","sources":["../../src/completion/review-exit-escalations.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,6 +24,7 @@
|
|
|
24
24
|
import { ESCALATION_REASONS, ESCALATION_DISPOSITIONS } from '@telora/daemon-core';
|
|
25
25
|
import { resolveReviewHandoffCap } from '../verify/stall-detector-config.js';
|
|
26
26
|
import { NO_HUMAN_ACT } from '../queries/filing-observation.js';
|
|
27
|
+
import { breakerHoldEndCondition, CROSSED_ON_HEAD_KEY, REVIEW_HANDOFF_EXHAUSTED_ESCALATION_KIND, } from './review-breaker-hold.js';
|
|
27
28
|
import { createLogger } from '../shell/log.js';
|
|
28
29
|
const log = createLogger({ module: 'focus-executor' });
|
|
29
30
|
/**
|
|
@@ -150,7 +151,7 @@ export async function recordHandoffAndMaybeTerminate(deps, ctx, currentHandoffCo
|
|
|
150
151
|
// 2026-09-10 re-file loop -- after an operator DISMISSES the escalation the
|
|
151
152
|
// counter climbs from zero again, so a fresh `cap` no-delta cycles are needed
|
|
152
153
|
// to re-cross (a dismissal is never immediately followed by a re-file). Close
|
|
153
|
-
// the window and file one
|
|
154
|
+
// the window and file one escalation (deduped one-open-per-focus).
|
|
154
155
|
try {
|
|
155
156
|
await deps.setReviewHandoffCount(ctx.focusId, 0);
|
|
156
157
|
}
|
|
@@ -166,7 +167,7 @@ export async function recordHandoffAndMaybeTerminate(deps, ctx, currentHandoffCo
|
|
|
166
167
|
});
|
|
167
168
|
log.warn(`[focus-executor] "${ctx.focusName}" review no-progress bound EXHAUSTED (${nextHandoffCount} >= cap ${handoffCap}, ` +
|
|
168
169
|
`trigger=${trigger}) -- counter reset to 0, review_requested_at cleared and review_handoff_exhausted ` +
|
|
169
|
-
`escalation filed (the durable hold);
|
|
170
|
+
`escalation filed (the durable hold); ${breakerHoldEndCondition(ctx.coveredSha ?? null)}.`);
|
|
170
171
|
}
|
|
171
172
|
else {
|
|
172
173
|
// Under the cap: record the incremented count. For the pending-spawn hand-off
|
|
@@ -198,6 +199,9 @@ export function handoffExhaustedHumanAct(focusName, openBlockingFindingCount) {
|
|
|
198
199
|
`measured), or re-scope it with the work that remains.`,
|
|
199
200
|
};
|
|
200
201
|
}
|
|
202
|
+
function capitalize(text) {
|
|
203
|
+
return text.charAt(0).toUpperCase() + text.slice(1);
|
|
204
|
+
}
|
|
201
205
|
/**
|
|
202
206
|
* The review hand-off has terminated. The review-exit hand-off branch re-asserts
|
|
203
207
|
* an unverified promise -- "the incoming team will route it" -- and re-makes it
|
|
@@ -223,14 +227,19 @@ export async function fileHandoffExhaustedEscalation(deps, ctx, args) {
|
|
|
223
227
|
: `\n\nMEASURED: 0 open blocking review-filed findings on this focus at exit. If the focus is ` +
|
|
224
228
|
`genuinely done, close/descope it; otherwise resolve why the review window kept re-opening ` +
|
|
225
229
|
`with no work to route.`;
|
|
230
|
+
// Name the hold this row IS, and what ends it -- the same words the state cascade's hold log line uses.
|
|
231
|
+
const crossedOnHead = ctx.coveredSha ?? null;
|
|
232
|
+
const holdBlock = `\n\nHOLD: while this escalation is open it holds the focus's review window -- no review ` +
|
|
233
|
+
`window opens and no review team spawns. ${capitalize(breakerHoldEndCondition(crossedOnHead))}.`;
|
|
226
234
|
await fileDedupedFocusEscalation(deps, ctx, {
|
|
227
|
-
escalationKind:
|
|
235
|
+
escalationKind: REVIEW_HANDOFF_EXHAUSTED_ESCALATION_KIND,
|
|
228
236
|
label: 'handoff-exhausted',
|
|
229
237
|
reasonType: ESCALATION_REASONS.BLOCKED_BY_EXTERNAL,
|
|
230
238
|
description: `Review of "${ctx.focusName}" handed off to an incoming review team ${args.handoffCount} time(s) ` +
|
|
231
239
|
`(cap ${args.cap}) without any review session routing a delivery. The daemon has CLOSED the ` +
|
|
232
240
|
`review window (cleared review_requested_at) and stopped re-asserting the hand-off, so the ` +
|
|
233
241
|
`self-perpetuating loop cannot re-create its own precondition.` +
|
|
242
|
+
holdBlock +
|
|
234
243
|
findingsBlock,
|
|
235
244
|
humanAct: handoffExhaustedHumanAct(ctx.focusName, findings.length),
|
|
236
245
|
metadata: {
|
|
@@ -241,6 +250,8 @@ export async function fileHandoffExhaustedEscalation(deps, ctx, args) {
|
|
|
241
250
|
trigger: args.trigger ?? 'pending_spawn_handoff',
|
|
242
251
|
open_blocking_review_filed_count: findings.length,
|
|
243
252
|
open_blocking_review_filed_findings: findings.map(f => f.key),
|
|
253
|
+
// The head the breaker crossed on: the hold ends when the focus branch moves past it (review-breaker-hold.ts).
|
|
254
|
+
[CROSSED_ON_HEAD_KEY]: crossedOnHead,
|
|
244
255
|
// Cause-cleared terminator: when the focus converges this row describes
|
|
245
256
|
// nothing and is auto-swept (resolveConvergedFocusEscalations).
|
|
246
257
|
terminates_when: 'focus_converged',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"review-exit-escalations.js","sourceRoot":"","sources":["../../src/completion/review-exit-escalations.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,8EAA8E;AAC9E,gEAAgE;AAChE,gBAAgB;AAEhB;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAIlF,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAiB,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,MAAM,GAAG,GAAG,YAAY,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"review-exit-escalations.js","sourceRoot":"","sources":["../../src/completion/review-exit-escalations.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"review-exit-phase.d.ts","sourceRoot":"","sources":["../../src/completion/review-exit-phase.ts"],"names":[],"mappings":"AAkDA,YAAY,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAK5D,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,QAAQ,GAAG,QAAQ,CAAC;IACjC,SAAS,EAAE,OAAO,CAAC;IACnB;;;;;;;;OAQG;IACH,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC;;;;;;;;;;OAUG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;;;;;;;;;OAYG;IACH,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACtC;AAMD,OAAO,EACL,iCAAiC,EACjC,uBAAuB,GACxB,MAAM,2BAA2B,CAAC;AAEnC,gGAAgG;AAChG,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAMnE;AAyBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,gBAAgB,EACxB,IAAI,GAAE,cAAsC,GAC3C,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"review-exit-phase.d.ts","sourceRoot":"","sources":["../../src/completion/review-exit-phase.ts"],"names":[],"mappings":"AAkDA,YAAY,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAK5D,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,QAAQ,GAAG,QAAQ,CAAC;IACjC,SAAS,EAAE,OAAO,CAAC;IACnB;;;;;;;;OAQG;IACH,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC;;;;;;;;;;OAUG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;;;;;;;;;OAYG;IACH,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACtC;AAMD,OAAO,EACL,iCAAiC,EACjC,uBAAuB,GACxB,MAAM,2BAA2B,CAAC;AAEnC,gGAAgG;AAChG,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAMnE;AAyBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,gBAAgB,EACxB,IAAI,GAAE,cAAsC,GAC3C,OAAO,CAAC,IAAI,CAAC,CAkmBf"}
|
|
@@ -103,11 +103,11 @@ async function autoApproveCoveredDelivery(deps, params, deliveryId, doneStageId)
|
|
|
103
103
|
*/
|
|
104
104
|
export async function runReviewExitHandler(params, deps = defaultReviewExitDeps) {
|
|
105
105
|
const { focusId, focusName, organizationId, productId, sessionId, sessionType, succeeded, reviewSpawnTip, currentBranchTip, reviewInspected, reviewPriorWatermark } = params;
|
|
106
|
-
// Anchor shared by every escalation this exit can raise (review-exit-escalations.ts).
|
|
107
|
-
const escalationCtx = { organizationId, focusId, focusName, sessionId };
|
|
108
106
|
// The SHA to stamp as coverage = what the review actually saw (spawn-tip);
|
|
109
107
|
// fall back to the exit tip only when the carry was lost (restart mid-review).
|
|
110
108
|
const coveredSha = reviewSpawnTip ?? currentBranchTip ?? null;
|
|
109
|
+
// Anchor shared by every escalation this exit can raise (review-exit-escalations.ts); coveredSha is the breaker's crossing head.
|
|
110
|
+
const escalationCtx = { organizationId, focusId, focusName, sessionId, coveredSha };
|
|
111
111
|
// Coverage is complete for auto-approve ONLY when the review saw the exact
|
|
112
112
|
// state being approved: spawn-tip and exit-tip are both known AND equal (no
|
|
113
113
|
// commits landed on the focus branch during the review pass). A lost carry
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"review-exit-phase.js","sourceRoot":"","sources":["../../src/completion/review-exit-phase.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"review-exit-phase.js","sourceRoot":"","sources":["../../src/completion/review-exit-phase.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ import type { FocusDeliveryInfo } from '../types/index.js';
|
|
|
3
3
|
import { type SettleSweepOutcome } from './settle-injection-sweep.js';
|
|
4
4
|
import { type FocusExecutionPhase } from '../focus/focus-phase.js';
|
|
5
5
|
import { type ReviewNextStepIssue } from './review-next-step.js';
|
|
6
|
+
import { type BreakerHoldReading } from './review-breaker-hold.js';
|
|
6
7
|
import { type ReviewHeadApproval } from './review-approved-head-gate.js';
|
|
7
8
|
/** Injectable dependencies for cascade functions (testing). */
|
|
8
9
|
export interface CascadeDeps {
|
|
@@ -27,23 +28,24 @@ export interface CascadeDeps {
|
|
|
27
28
|
*/
|
|
28
29
|
recordReviewSkip?: (focusId: string, reason: string) => Promise<void>;
|
|
29
30
|
/**
|
|
30
|
-
*
|
|
31
|
-
* the
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
* hold
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
31
|
+
* The review hand-off breaker hold reading (none / held / released): held while
|
|
32
|
+
* the breaker's review_handoff_exhausted escalation on this focus is still open.
|
|
33
|
+
* checkAutoReview reads it BEFORE its signature backoff and DECLINES
|
|
34
|
+
* to re-open the window while held, so a crossed breaker's closure actually
|
|
35
|
+
* holds: the 2026-09-10 loop (breaker clears the flag, the delivery re-enters
|
|
36
|
+
* verify, checkAutoReview re-stamps within ~1 min) cannot recur. The read
|
|
37
|
+
* itself ends the hold once the focus branch moves past the head it crossed on
|
|
38
|
+
* (completion/review-breaker-hold.ts) -- the close-half the hold cannot block --
|
|
39
|
+
* and otherwise returns the holding row so the log line names it. Wired per
|
|
40
|
+
* focus by runFocusCascadePass (it needs the row's branch_name). Optional: a
|
|
41
|
+
* partial test deps object omitting it behaves as before (no hold).
|
|
40
42
|
*/
|
|
41
|
-
|
|
43
|
+
readBreakerHold?: (focusId: string) => Promise<BreakerHoldReading>;
|
|
42
44
|
/**
|
|
43
45
|
* Whether the review-cycle cap holds the focus (focus/review-cycle-cap-hold.ts):
|
|
44
46
|
* its review loop reached TELORA_REVIEW_CYCLE_CAP without converging. The same
|
|
45
47
|
* hold every spawn gate reads; checkAutoReview declines to open the window while
|
|
46
|
-
* held. Fails CLOSED (unlike
|
|
48
|
+
* held. Fails CLOSED (unlike readBreakerHold). Wired per focus by
|
|
47
49
|
* runFocusCascadePass, which holds the row's review_cycle_count; a partial test
|
|
48
50
|
* deps object omitting it behaves as before (no hold).
|
|
49
51
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state-cascade.d.ts","sourceRoot":"","sources":["../../src/completion/state-cascade.ts"],"names":[],"mappings":"AAqDA,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAW3D,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAoB,KAAK,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACrF,OAAO,EAA8C,KAAK,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"state-cascade.d.ts","sourceRoot":"","sources":["../../src/completion/state-cascade.ts"],"names":[],"mappings":"AAqDA,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAW3D,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAoB,KAAK,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACrF,OAAO,EAA8C,KAAK,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAY7G,OAAO,EAAwC,KAAK,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACzG,OAAO,EAGL,KAAK,kBAAkB,EACxB,MAAM,gCAAgC,CAAC;AAQxC,+DAA+D;AAC/D,MAAM,WAAW,WAAW;IAC1B,kBAAkB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACtE,oBAAoB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/E,sBAAsB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3D;;;;;;;;;OASG;IACH,qBAAqB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;IACrD;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtE;;;;;;;;;;;;OAYG;IACH,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACnE;;;;;;;OAOG;IACH,oBAAoB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7D;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,mBAAmB,EAAE,CAAC,CAAC;IAC9E;;;;;;;;OAQG;IACH,sBAAsB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAC;CAC3E;AAuCD;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAExE;AAcD;;;GAGG;AACH,wBAAgB,iCAAiC,IAAI,IAAI,CAIxD;AA8FD,wBAAsB,eAAe,CACnC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,mBAAmB,EAC1B,cAAc,EAAE,cAAc,GAAG,IAAI,EACrC,iBAAiB,EAAE,MAAM,GAAG,IAAI,EAChC,UAAU,EAAE,iBAAiB,EAAE,EAC/B,IAAI,GAAE,WAAyB,GAC9B,OAAO,CAAC,IAAI,CAAC,CAwFf;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,mBAAmB,EAC1B,iBAAiB,EAAE,MAAM,GAAG,IAAI,EAChC,UAAU,EAAE,iBAAiB,EAAE,EAC/B,kBAAkB,EAAE,MAAM,GAAG,IAAI,EACjC,IAAI,GAAE,WAAyB,GAC9B,OAAO,CAAC,IAAI,CAAC,CAsEf;AA6JD;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAwB1E"}
|