@telora/daemon 0.22.289 → 0.22.290
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 +2 -2
- package/dist/backends/agent-backend.d.ts +2 -0
- package/dist/backends/agent-backend.d.ts.map +1 -1
- package/dist/backends/availability.d.ts +14 -0
- package/dist/backends/availability.d.ts.map +1 -1
- package/dist/backends/availability.js +37 -0
- package/dist/backends/availability.js.map +1 -1
- package/dist/backends/claude/claude-backend.d.ts.map +1 -1
- package/dist/backends/claude/claude-backend.js +2 -0
- package/dist/backends/claude/claude-backend.js.map +1 -1
- package/dist/backends/codex/codex-backend.d.ts.map +1 -1
- package/dist/backends/codex/codex-backend.js +2 -0
- package/dist/backends/codex/codex-backend.js.map +1 -1
- package/dist/backends/index.d.ts +1 -1
- package/dist/backends/index.d.ts.map +1 -1
- package/dist/backends/index.js +2 -17
- package/dist/backends/index.js.map +1 -1
- package/dist/cli/status-commands.d.ts +7 -0
- package/dist/cli/status-commands.d.ts.map +1 -1
- package/dist/cli/status-commands.js +17 -0
- package/dist/cli/status-commands.js.map +1 -1
- package/dist/completion/completion-event/event.d.ts +1 -0
- package/dist/completion/completion-event/event.d.ts.map +1 -1
- package/dist/completion/completion-event/event.js +1 -0
- package/dist/completion/completion-event/event.js.map +1 -1
- package/dist/completion/review-exit/review-census-record.d.ts +4 -2
- package/dist/completion/review-exit/review-census-record.d.ts.map +1 -1
- package/dist/completion/review-exit/review-census-record.js +11 -3
- package/dist/completion/review-exit/review-census-record.js.map +1 -1
- package/dist/completion/review-exit/review-exit-deps.js +1 -1
- package/dist/completion/review-exit/review-exit-phase.d.ts +9 -0
- package/dist/completion/review-exit/review-exit-phase.d.ts.map +1 -1
- package/dist/completion/review-exit/review-exit-phase.js +1 -1
- package/dist/completion/review-exit/review-exit-phase.js.map +1 -1
- package/dist/completion/review-exit-holds/commit-verdict-release.d.ts.map +1 -1
- package/dist/completion/review-exit-holds/commit-verdict-release.js +2 -1
- package/dist/completion/review-exit-holds/commit-verdict-release.js.map +1 -1
- package/dist/completion/review-exit-holds/review-exit-verdict-gate.d.ts +1 -0
- package/dist/completion/review-exit-holds/review-exit-verdict-gate.d.ts.map +1 -1
- package/dist/completion/review-exit-holds/review-exit-verdict-gate.js +1 -0
- package/dist/completion/review-exit-holds/review-exit-verdict-gate.js.map +1 -1
- package/dist/completion/team-exit/team-completion.d.ts.map +1 -1
- package/dist/completion/team-exit/team-completion.js +3 -1
- package/dist/completion/team-exit/team-completion.js.map +1 -1
- package/dist/completion/team-liveness/liveness-firing.js +3 -3
- package/dist/completion/team-liveness/team-liveness-phase.d.ts +6 -1
- package/dist/completion/team-liveness/team-liveness-phase.d.ts.map +1 -1
- package/dist/completion/team-liveness/team-liveness-phase.js.map +1 -1
- package/dist/completion/team-outcome/apply-close.d.ts.map +1 -1
- package/dist/completion/team-outcome/apply-close.js +4 -1
- package/dist/completion/team-outcome/apply-close.js.map +1 -1
- package/dist/completion/team-outcome/apply-turn.d.ts.map +1 -1
- package/dist/completion/team-outcome/apply-turn.js +3 -1
- package/dist/completion/team-outcome/apply-turn.js.map +1 -1
- package/dist/completion/team-outcome/apply.d.ts.map +1 -1
- package/dist/completion/team-outcome/apply.js +3 -1
- package/dist/completion/team-outcome/apply.js.map +1 -1
- package/dist/completion/team-outcome/decide-shared.d.ts.map +1 -1
- package/dist/completion/team-outcome/decide-shared.js +3 -2
- package/dist/completion/team-outcome/decide-shared.js.map +1 -1
- package/dist/completion/team-outcome/exit-pipeline-state.d.ts.map +1 -1
- package/dist/completion/team-outcome/exit-pipeline-state.js +2 -1
- package/dist/completion/team-outcome/exit-pipeline-state.js.map +1 -1
- package/dist/completion/team-outcome/team-outcome.d.ts.map +1 -1
- package/dist/completion/team-outcome/team-outcome.js +3 -1
- package/dist/completion/team-outcome/team-outcome.js.map +1 -1
- package/dist/composition/execution-migrations-context.d.ts.map +1 -1
- package/dist/composition/execution-migrations-context.js +2 -0
- package/dist/composition/execution-migrations-context.js.map +1 -1
- package/dist/composition/execution-process-context.js +1 -1
- package/dist/composition/execution-spawn-context.d.ts.map +1 -1
- package/dist/composition/execution-spawn-context.js +2 -1
- package/dist/composition/execution-spawn-context.js.map +1 -1
- package/dist/composition/execution-spawn-process-context.d.ts.map +1 -1
- package/dist/composition/execution-spawn-process-context.js +3 -2
- package/dist/composition/execution-spawn-process-context.js.map +1 -1
- package/dist/composition/focus-activity-live-sources.d.ts +4 -0
- package/dist/composition/focus-activity-live-sources.d.ts.map +1 -0
- package/dist/composition/focus-activity-live-sources.js +65 -0
- package/dist/composition/focus-activity-live-sources.js.map +1 -0
- package/dist/composition/runtime-delivery-advance-context.d.ts +6 -1
- package/dist/composition/runtime-delivery-advance-context.d.ts.map +1 -1
- package/dist/composition/runtime-delivery-advance-context.js +14 -3
- package/dist/composition/runtime-delivery-advance-context.js.map +1 -1
- package/dist/composition/runtime-heartbeat-context.d.ts.map +1 -1
- package/dist/composition/runtime-heartbeat-context.js +3 -1
- package/dist/composition/runtime-heartbeat-context.js.map +1 -1
- package/dist/composition/team-lifecycle-context.d.ts.map +1 -1
- package/dist/composition/team-lifecycle-context.js +3 -1
- package/dist/composition/team-lifecycle-context.js.map +1 -1
- package/dist/composition/team-liveness-phase-sources.d.ts.map +1 -1
- package/dist/composition/team-liveness-phase-sources.js +1 -0
- package/dist/composition/team-liveness-phase-sources.js.map +1 -1
- package/dist/composition/verification-context.d.ts.map +1 -1
- package/dist/composition/verification-context.js +4 -1
- package/dist/composition/verification-context.js.map +1 -1
- package/dist/daemon-state/awaiting-slot.d.ts +8 -2
- package/dist/daemon-state/awaiting-slot.d.ts.map +1 -1
- package/dist/daemon-state/awaiting-slot.js +21 -8
- package/dist/daemon-state/awaiting-slot.js.map +1 -1
- package/dist/daemon-state/engine-readiness.d.ts +73 -0
- package/dist/daemon-state/engine-readiness.d.ts.map +1 -0
- package/dist/daemon-state/engine-readiness.js +191 -0
- package/dist/daemon-state/engine-readiness.js.map +1 -0
- package/dist/daemon-state/focus-progress-clock.d.ts +34 -0
- package/dist/daemon-state/focus-progress-clock.d.ts.map +1 -0
- package/dist/daemon-state/focus-progress-clock.js +167 -0
- package/dist/daemon-state/focus-progress-clock.js.map +1 -0
- package/dist/daemon-state/focus-team-state.d.ts +12 -9
- package/dist/daemon-state/focus-team-state.d.ts.map +1 -1
- package/dist/daemon-state/focus-team-state.js +15 -9
- package/dist/daemon-state/focus-team-state.js.map +1 -1
- package/dist/daemon-state/provider-window.d.ts.map +1 -1
- package/dist/daemon-state/provider-window.js +5 -1
- package/dist/daemon-state/provider-window.js.map +1 -1
- package/dist/daemon-state/review-park-record.d.ts +36 -0
- package/dist/daemon-state/review-park-record.d.ts.map +1 -0
- package/dist/daemon-state/review-park-record.js +27 -0
- package/dist/daemon-state/review-park-record.js.map +1 -0
- package/dist/daemon-state/worker-pidfile.d.ts.map +1 -1
- package/dist/daemon-state/worker-pidfile.js +3 -1
- package/dist/daemon-state/worker-pidfile.js.map +1 -1
- package/dist/delivery/commit-verdict-hold.d.ts.map +1 -1
- package/dist/delivery/commit-verdict-hold.js +3 -1
- package/dist/delivery/commit-verdict-hold.js.map +1 -1
- package/dist/directive/directive-queue.js +1 -1
- package/dist/focus/focus-activity-held.d.ts +37 -0
- package/dist/focus/focus-activity-held.d.ts.map +1 -0
- package/dist/focus/focus-activity-held.js +89 -0
- package/dist/focus/focus-activity-held.js.map +1 -0
- package/dist/focus/focus-activity-poll-facts.d.ts +39 -0
- package/dist/focus/focus-activity-poll-facts.d.ts.map +1 -0
- package/dist/focus/focus-activity-poll-facts.js +109 -0
- package/dist/focus/focus-activity-poll-facts.js.map +1 -0
- package/dist/focus/focus-activity-producers.d.ts +37 -0
- package/dist/focus/focus-activity-producers.d.ts.map +1 -0
- package/dist/focus/focus-activity-producers.js +118 -0
- package/dist/focus/focus-activity-producers.js.map +1 -0
- package/dist/focus/focus-activity-record.d.ts +58 -0
- package/dist/focus/focus-activity-record.d.ts.map +1 -0
- package/dist/focus/focus-activity-record.js +138 -0
- package/dist/focus/focus-activity-record.js.map +1 -0
- package/dist/focus/focus-activity-sources.d.ts +95 -0
- package/dist/focus/focus-activity-sources.d.ts.map +1 -0
- package/dist/focus/focus-activity-sources.js +45 -0
- package/dist/focus/focus-activity-sources.js.map +1 -0
- package/dist/focus/focus-executor.js +1 -1
- package/dist/focus/focus-executor.js.map +1 -1
- package/dist/focus/focus-poller-auto-advance.d.ts.map +1 -1
- package/dist/focus/focus-poller-auto-advance.js +2 -0
- package/dist/focus/focus-poller-auto-advance.js.map +1 -1
- package/dist/focus/heartbeat.d.ts +3 -0
- package/dist/focus/heartbeat.d.ts.map +1 -1
- package/dist/focus/heartbeat.js +31 -31
- package/dist/focus/heartbeat.js.map +1 -1
- package/dist/focus/pending-review-approved-head.d.ts.map +1 -1
- package/dist/focus/pending-review-approved-head.js +4 -2
- package/dist/focus/pending-review-approved-head.js.map +1 -1
- package/dist/focus/unchanged-reviewed-head.d.ts.map +1 -1
- package/dist/focus/unchanged-reviewed-head.js +4 -2
- package/dist/focus/unchanged-reviewed-head.js.map +1 -1
- package/dist/queries/deliveries/deliveries.d.ts +4 -0
- package/dist/queries/deliveries/deliveries.d.ts.map +1 -1
- package/dist/queries/deliveries/deliveries.js +6 -0
- package/dist/queries/deliveries/deliveries.js.map +1 -1
- package/dist/queries/deliveries/issues.d.ts +3 -0
- package/dist/queries/deliveries/issues.d.ts.map +1 -1
- package/dist/queries/deliveries/issues.js +10 -2
- package/dist/queries/deliveries/issues.js.map +1 -1
- package/dist/queries/delivery-gate-state/delivery-gate-holds.d.ts +2 -0
- package/dist/queries/delivery-gate-state/delivery-gate-holds.d.ts.map +1 -1
- package/dist/queries/focuses/focus-discovery.d.ts.map +1 -1
- package/dist/queries/focuses/focus-discovery.js +2 -0
- package/dist/queries/focuses/focus-discovery.js.map +1 -1
- package/dist/queries/focuses/focuses.d.ts.map +1 -1
- package/dist/queries/focuses/focuses.js +2 -0
- package/dist/queries/focuses/focuses.js.map +1 -1
- package/dist/queries/sessions/daemon-connection.d.ts.map +1 -1
- package/dist/queries/sessions/daemon-connection.js +1 -0
- package/dist/queries/sessions/daemon-connection.js.map +1 -1
- package/dist/queries/workflow-transitions/workflows.d.ts.map +1 -1
- package/dist/queries/workflow-transitions/workflows.js +1 -0
- package/dist/queries/workflow-transitions/workflows.js.map +1 -1
- package/dist/shell/unified-shell-status.d.ts +11 -1
- package/dist/shell/unified-shell-status.d.ts.map +1 -1
- package/dist/shell/unified-shell-status.js +14 -0
- package/dist/shell/unified-shell-status.js.map +1 -1
- package/dist/shell/unified-shell.d.ts.map +1 -1
- package/dist/shell/unified-shell.js +23 -4
- package/dist/shell/unified-shell.js.map +1 -1
- package/dist/spawn/codex-auth.d.ts +32 -0
- package/dist/spawn/codex-auth.d.ts.map +1 -0
- package/dist/spawn/codex-auth.js +55 -0
- package/dist/spawn/codex-auth.js.map +1 -0
- package/dist/spawn/helpers.d.ts.map +1 -1
- package/dist/spawn/helpers.js +15 -3
- package/dist/spawn/helpers.js.map +1 -1
- package/dist/spawn/model-reached.d.ts +36 -0
- package/dist/spawn/model-reached.d.ts.map +1 -0
- package/dist/spawn/model-reached.js +43 -0
- package/dist/spawn/model-reached.js.map +1 -0
- package/dist/spawn/next-spawn-cooldown.d.ts +21 -2
- package/dist/spawn/next-spawn-cooldown.d.ts.map +1 -1
- package/dist/spawn/next-spawn-cooldown.js +65 -7
- package/dist/spawn/next-spawn-cooldown.js.map +1 -1
- package/dist/spawn/process-spawn.d.ts.map +1 -1
- package/dist/spawn/process-spawn.js +8 -5
- package/dist/spawn/process-spawn.js.map +1 -1
- package/dist/spawn/review-hold-park.d.ts +12 -1
- package/dist/spawn/review-hold-park.d.ts.map +1 -1
- package/dist/spawn/review-hold-park.js +25 -9
- package/dist/spawn/review-hold-park.js.map +1 -1
- package/dist/spawn/worktree-session.d.ts +15 -0
- package/dist/spawn/worktree-session.d.ts.map +1 -1
- package/dist/spawn/worktree-session.js +25 -2
- package/dist/spawn/worktree-session.js.map +1 -1
- package/dist/supervision/spawn-cooldown-window.d.ts +15 -0
- package/dist/supervision/spawn-cooldown-window.d.ts.map +1 -0
- package/dist/supervision/spawn-cooldown-window.js +46 -0
- package/dist/supervision/spawn-cooldown-window.js.map +1 -0
- package/dist/supervision/spawn-cooldown.d.ts +3 -2
- package/dist/supervision/spawn-cooldown.d.ts.map +1 -1
- package/dist/supervision/spawn-cooldown.js +6 -1
- package/dist/supervision/spawn-cooldown.js.map +1 -1
- package/dist/supervision/stop-registry.d.ts +1 -0
- package/dist/supervision/stop-registry.d.ts.map +1 -1
- package/dist/supervision/stop-rows-spawn.d.ts +8 -0
- package/dist/supervision/stop-rows-spawn.d.ts.map +1 -1
- package/dist/supervision/stop-rows-spawn.js +28 -1
- package/dist/supervision/stop-rows-spawn.js.map +1 -1
- package/dist/testing/fixtures/approved-head-inert-deps.d.ts.map +1 -1
- package/dist/testing/fixtures/approved-head-inert-deps.js +4 -2
- package/dist/testing/fixtures/approved-head-inert-deps.js.map +1 -1
- package/dist/testing/fixtures/codex-stream-session.d.ts +4 -0
- package/dist/testing/fixtures/codex-stream-session.d.ts.map +1 -1
- package/dist/testing/fixtures/codex-stream-session.js +21 -5
- package/dist/testing/fixtures/codex-stream-session.js.map +1 -1
- package/dist/testing/fixtures/completion-event-deps.js +1 -1
- package/dist/testing/fixtures/index.js +1 -1
- package/dist/testing/fixtures/process-close-context.d.ts.map +1 -1
- package/dist/testing/fixtures/process-close-context.js +2 -0
- package/dist/testing/fixtures/process-close-context.js.map +1 -1
- package/dist/testing/fixtures/recording-api-client.js +1 -1
- package/dist/testing/fixtures/review-exit-deps.js +1 -1
- package/dist/testing/fixtures/session-wire.d.ts.map +1 -1
- package/dist/testing/fixtures/session-wire.js +2 -1
- package/dist/testing/fixtures/session-wire.js.map +1 -1
- package/dist/testing/fixtures/verification-deps.d.ts.map +1 -1
- package/dist/testing/fixtures/verification-deps.js +4 -0
- package/dist/testing/fixtures/verification-deps.js.map +1 -1
- package/dist/types/focus-team-state.d.ts +14 -2
- package/dist/types/focus-team-state.d.ts.map +1 -1
- package/dist/types/focus-team-state.js.map +1 -1
- package/dist/types/index.js +1 -1
- package/dist/verify/deterministic-gate/verification-checkout.d.ts +8 -4
- package/dist/verify/deterministic-gate/verification-checkout.d.ts.map +1 -1
- package/dist/verify/deterministic-gate/verification-checkout.js +50 -13
- package/dist/verify/deterministic-gate/verification-checkout.js.map +1 -1
- package/dist/verify/deterministic-gate/verification-deterministic.d.ts.map +1 -1
- package/dist/verify/deterministic-gate/verification-deterministic.js +3 -1
- package/dist/verify/deterministic-gate/verification-deterministic.js.map +1 -1
- package/dist/verify/engine/verification-deps.d.ts +7 -0
- package/dist/verify/engine/verification-deps.d.ts.map +1 -1
- package/dist/verify/engine/verification-deps.js +1 -1
- package/dist/verify/engine/verification-engine.d.ts.map +1 -1
- package/dist/verify/engine/verification-engine.js +107 -8
- package/dist/verify/engine/verification-engine.js.map +1 -1
- package/dist/verify/gate-config/verification-config.js +1 -1
- package/dist/verify/gate-verdicts/commit-verdict-record.js +1 -1
- package/dist/verify/gate-verdicts/gate-run-registry.d.ts +74 -3
- package/dist/verify/gate-verdicts/gate-run-registry.d.ts.map +1 -1
- package/dist/verify/gate-verdicts/gate-run-registry.js +41 -20
- package/dist/verify/gate-verdicts/gate-run-registry.js.map +1 -1
- package/dist/verify/run-selection/default-on-guards.d.ts.map +1 -1
- package/dist/verify/run-selection/default-on-guards.js +1 -19
- package/dist/verify/run-selection/default-on-guards.js.map +1 -1
- package/dist/worktree/verify-interlock.d.ts +23 -2
- package/dist/worktree/verify-interlock.d.ts.map +1 -1
- package/dist/worktree/verify-interlock.js +79 -2
- package/dist/worktree/verify-interlock.js.map +1 -1
- package/package.json +3 -3
|
@@ -12,7 +12,27 @@
|
|
|
12
12
|
* Once a run's detached checkout exists it names the commit it judges, so a
|
|
13
13
|
* wait keyed on one commit is not held by a run judging another; until then a
|
|
14
14
|
* registration may judge any commit on its focus (a dispatch reads HEAD only
|
|
15
|
-
* when it starts).
|
|
15
|
+
* when it starts). A run also carries what the heartbeat's focus activity
|
|
16
|
+
* record publishes about it: while it is queued, what it waits on -- the
|
|
17
|
+
* daemon-wide verification semaphore, or its focus worktree's verify
|
|
18
|
+
* interlock (another verify holds the worktree) and whom that hold judges;
|
|
19
|
+
* once it runs, the commit, the timeout and the start of its command.
|
|
20
|
+
*
|
|
21
|
+
* QUEUED UNTIL THE COMMAND STARTS. Holding a verification-semaphore slot is not
|
|
22
|
+
* running: after the slot is taken the dispatch still re-reads the delivery's
|
|
23
|
+
* status, looks for a verdict it can reuse, waits its turn on its focus, makes the
|
|
24
|
+
* checkout and resolves the config and boundary -- any of which may end the
|
|
25
|
+
* dispatch with no command run at all (a reused verdict never runs one). Nor is it
|
|
26
|
+
* waiting for a slot: the moment the slot is taken the registration says
|
|
27
|
+
* `preflight` (verify/engine/verification-engine.ts) -- it holds its slot and is
|
|
28
|
+
* preparing the run -- and it stays queued on that cause through all of the
|
|
29
|
+
* above. It turns running in ONE step immediately before the deterministic
|
|
30
|
+
* command is spawned ({@link startGateRunOf}, called by
|
|
31
|
+
* verify/deterministic-gate/verification-checkout.ts), which fixes the commit, the timeout
|
|
32
|
+
* and startedAt together: a running run never publishes a commit or timeout it
|
|
33
|
+
* has not yet chosen, and never runs without a commit -- a run with no judged
|
|
34
|
+
* commit is not started at all. ai_inspection and behavioral runs start no
|
|
35
|
+
* deterministic command and never turn running.
|
|
16
36
|
* - the outcome an EXPLICIT-METHOD run last recorded for its delivery. Such a run
|
|
17
37
|
* may execute in place or render a non-deterministic verdict, and neither
|
|
18
38
|
* writes a per-commit verdict record (verify/gate-verdicts/commit-verdict-record.ts), so its
|
|
@@ -32,10 +52,11 @@
|
|
|
32
52
|
* (verify/gate-verdicts/explicit-gate-outcome.ts), which is what routing reads after a restart,
|
|
33
53
|
* when this process has seen no explicit run for the delivery.
|
|
34
54
|
*
|
|
35
|
-
* A leaf with no imports.
|
|
55
|
+
* A leaf with no runtime imports.
|
|
36
56
|
*
|
|
37
57
|
* @module verify/gate-verdicts/gate-run-registry
|
|
38
58
|
*/
|
|
59
|
+
import type { GateQueueWait } from '@telora/daemon-core';
|
|
39
60
|
/** A candidate the verification tick selected. */
|
|
40
61
|
export interface GateRunSelection {
|
|
41
62
|
deliveryId: string;
|
|
@@ -43,12 +64,48 @@ export interface GateRunSelection {
|
|
|
43
64
|
/** An explicit-method row: its run supersedes the outcome the delivery's previous run recorded. */
|
|
44
65
|
explicit: boolean;
|
|
45
66
|
}
|
|
46
|
-
/**
|
|
67
|
+
/**
|
|
68
|
+
* Why a queued run has not started. The semaphore wait names no run ahead (the
|
|
69
|
+
* reader names the run holding the slot); an interlock wait names the verify
|
|
70
|
+
* holding the worktree, when the hold names the delivery it judges; a preflight
|
|
71
|
+
* run holds its slot and waits on nothing ahead of it.
|
|
72
|
+
*/
|
|
73
|
+
export type GateRunWait = {
|
|
74
|
+
on: Extract<GateQueueWait, 'verification_semaphore' | 'preflight'>;
|
|
75
|
+
} | {
|
|
76
|
+
on: Extract<GateQueueWait, 'worktree_interlock'>;
|
|
77
|
+
aheadFocusId: string | null;
|
|
78
|
+
aheadDeliveryId: string | null;
|
|
79
|
+
};
|
|
80
|
+
/**
|
|
81
|
+
* What a run is judging the moment its command starts, fixed together (module
|
|
82
|
+
* header). The commit is required: a run path that cannot name the commit it
|
|
83
|
+
* judges does not start its command (verify/deterministic-gate/verification-checkout.ts).
|
|
84
|
+
*/
|
|
85
|
+
export interface GateRunStart {
|
|
86
|
+
sha: string;
|
|
87
|
+
timeoutMs: number;
|
|
88
|
+
}
|
|
89
|
+
/** The handle a selection is started and ended through. start and end are idempotent. */
|
|
47
90
|
export interface GateRunRegistration {
|
|
91
|
+
/** The run's command is starting now, judging `facts` (queued -> running, in one step). */
|
|
92
|
+
start: (facts: GateRunStart) => void;
|
|
48
93
|
end: () => void;
|
|
94
|
+
/** Why the still-queued run has not started now (a selection starts out waiting on the semaphore). */
|
|
95
|
+
waitOn: (wait: GateRunWait) => void;
|
|
49
96
|
}
|
|
50
97
|
/** The outcome kept for an explicit-method delivery. */
|
|
51
98
|
export type RecordedGateOutcome = 'passed' | 'failed';
|
|
99
|
+
/** A selected, unfinished gate run as the heartbeat reads it (focus/focus-activity-gate.ts). */
|
|
100
|
+
export interface GateRunView {
|
|
101
|
+
deliveryId: string;
|
|
102
|
+
focusId: string | null;
|
|
103
|
+
sha: string | null;
|
|
104
|
+
selectedAt: number;
|
|
105
|
+
startedAt: number | null;
|
|
106
|
+
timeoutMs: number | null;
|
|
107
|
+
wait: GateRunWait;
|
|
108
|
+
}
|
|
52
109
|
/** A verdict an explicit-method run rendered, the commit it applies to (null: it judged none, so it applies to any), and its gate. */
|
|
53
110
|
export interface RecordedExplicitOutcome {
|
|
54
111
|
outcome: RecordedGateOutcome;
|
|
@@ -60,6 +117,20 @@ export interface RecordedExplicitOutcome {
|
|
|
60
117
|
export declare function registerGateRun(selection: GateRunSelection): GateRunRegistration;
|
|
61
118
|
/** Name the commit a selected run judges (its detached checkout's sha). A no-op when the delivery has no selected run. */
|
|
62
119
|
export declare function noteGateRunCommit(deliveryId: string, sha: string): void;
|
|
120
|
+
/** Bind a candidate to the registration its selection made, so the run path can start exactly that run. */
|
|
121
|
+
export declare function bindGateRunCandidate(candidate: object, registration: GateRunRegistration): void;
|
|
122
|
+
/**
|
|
123
|
+
* The candidate's command is starting now, judging `facts`: its registration turns
|
|
124
|
+
* running (module header). A no-op for a candidate no tick selected.
|
|
125
|
+
*/
|
|
126
|
+
export declare function startGateRunOf(candidate: object, facts: GateRunStart): void;
|
|
127
|
+
/**
|
|
128
|
+
* Every selected, unfinished gate run, in selection order -- queued ones
|
|
129
|
+
* (startedAt null) and running ones. In-process facts only: nothing here is
|
|
130
|
+
* written to the database; the heartbeat publishes them as the focus activity
|
|
131
|
+
* record and a run drops out the moment its registration ends.
|
|
132
|
+
*/
|
|
133
|
+
export declare function gateRunSnapshot(): GateRunView[];
|
|
63
134
|
/**
|
|
64
135
|
* Whether a selected, unfinished gate run on the focus may judge `sha`: one that
|
|
65
136
|
* names that commit, or one that names none yet. A null `sha` (a judged commit
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gate-run-registry.d.ts","sourceRoot":"","sources":["../../../src/verify/gate-verdicts/gate-run-registry.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"gate-run-registry.d.ts","sourceRoot":"","sources":["../../../src/verify/gate-verdicts/gate-run-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,38 +1,34 @@
|
|
|
1
1
|
// PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
|
|
2
|
-
// Pinned by: packages/daemon/src/
|
|
3
|
-
// packages/daemon/src/focus/focus-poller-product-poll.test.ts,
|
|
4
|
-
// packages/daemon/src/focus/verify-routing-passes.test.ts,
|
|
5
|
-
// packages/daemon/src/integration/delivery-gate-write-interleaving.test.ts,
|
|
6
|
-
// packages/daemon/src/integration/explicit-gate-identity-unreadable.test.ts,
|
|
7
|
-
// packages/daemon/src/integration/explicit-gate-outcome-restart.test.ts,
|
|
8
|
-
// packages/daemon/src/integration/explicit-verdict-departure-during-removal.test.ts,
|
|
9
|
-
// packages/daemon/src/integration/explicit-verdict-invalidation-restart.test.ts,
|
|
10
|
-
// packages/daemon/src/integration/explicit-verdict-reuse.test.ts,
|
|
11
|
-
// packages/daemon/src/integration/focus-commit-verdict-scenario.test.ts,
|
|
12
|
-
// packages/daemon/src/integration/held-route-pull-dispatch.test.ts,
|
|
13
|
-
// packages/daemon/src/integration/review-rework-resume-verdict.test.ts,
|
|
14
|
-
// packages/daemon/src/integration/review-verdict-ruling-release.test.ts,
|
|
15
|
-
// packages/daemon/src/integration/shortfall-ruling-disposes-proposals-regression.test.ts,
|
|
16
|
-
// packages/daemon/src/integration/shortfall-ruling-release.test.ts,
|
|
17
|
-
// packages/daemon/src/verify/engine/verification-commit-sharing.test.ts,
|
|
18
|
-
// packages/daemon/src/verify/gate-verdicts/explicit-run-ledger.test.ts,
|
|
19
|
-
// packages/daemon/src/verify/run-selection/commit-verdict-pull.test.ts,
|
|
20
|
-
// packages/daemon/src/verify/shortfalls/shortfall-rulings.test.ts
|
|
2
|
+
// Pinned by: 22 tests -- run: npm run gen:pinned-by -- --list packages/daemon/src/verify/gate-verdicts/gate-run-registry.ts
|
|
21
3
|
// PINNED-BY-END
|
|
4
|
+
const SEMAPHORE_WAIT = { on: 'verification_semaphore' };
|
|
22
5
|
const SHA_RE = /^[0-9a-f]{7,64}$/i;
|
|
23
6
|
const selectedRuns = new Set();
|
|
24
7
|
/** Per delivery this process has seen an explicit run for: its verdict, or null for "no verdict" (see the module header). */
|
|
25
8
|
const explicitOutcomes = new Map();
|
|
26
9
|
/** Register a candidate the tick selected; end the registration when its dispatch settles. */
|
|
27
10
|
export function registerGateRun(selection) {
|
|
28
|
-
const run = {
|
|
11
|
+
const run = {
|
|
12
|
+
deliveryId: selection.deliveryId, focusId: selection.focusId, sha: null, selectedAt: Date.now(), startedAt: null,
|
|
13
|
+
timeoutMs: null, wait: SEMAPHORE_WAIT,
|
|
14
|
+
};
|
|
29
15
|
selectedRuns.add(run);
|
|
30
16
|
if (selection.explicit)
|
|
31
17
|
explicitOutcomes.set(selection.deliveryId, null);
|
|
32
18
|
return {
|
|
19
|
+
start: ({ sha, timeoutMs }) => {
|
|
20
|
+
if (run.startedAt !== null)
|
|
21
|
+
return;
|
|
22
|
+
run.sha = sha;
|
|
23
|
+
run.timeoutMs = timeoutMs;
|
|
24
|
+
run.startedAt = Date.now();
|
|
25
|
+
},
|
|
33
26
|
end: () => {
|
|
34
27
|
selectedRuns.delete(run);
|
|
35
28
|
},
|
|
29
|
+
waitOn: (wait) => {
|
|
30
|
+
run.wait = wait;
|
|
31
|
+
},
|
|
36
32
|
};
|
|
37
33
|
}
|
|
38
34
|
/** Name the commit a selected run judges (its detached checkout's sha). A no-op when the delivery has no selected run. */
|
|
@@ -42,6 +38,31 @@ export function noteGateRunCommit(deliveryId, sha) {
|
|
|
42
38
|
run.sha = sha;
|
|
43
39
|
}
|
|
44
40
|
}
|
|
41
|
+
/** The registration each dispatched candidate was selected under, keyed by the candidate itself. */
|
|
42
|
+
const candidateRegistrations = new WeakMap();
|
|
43
|
+
/** Bind a candidate to the registration its selection made, so the run path can start exactly that run. */
|
|
44
|
+
export function bindGateRunCandidate(candidate, registration) {
|
|
45
|
+
candidateRegistrations.set(candidate, registration);
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* The candidate's command is starting now, judging `facts`: its registration turns
|
|
49
|
+
* running (module header). A no-op for a candidate no tick selected.
|
|
50
|
+
*/
|
|
51
|
+
export function startGateRunOf(candidate, facts) {
|
|
52
|
+
candidateRegistrations.get(candidate)?.start(facts);
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Every selected, unfinished gate run, in selection order -- queued ones
|
|
56
|
+
* (startedAt null) and running ones. In-process facts only: nothing here is
|
|
57
|
+
* written to the database; the heartbeat publishes them as the focus activity
|
|
58
|
+
* record and a run drops out the moment its registration ends.
|
|
59
|
+
*/
|
|
60
|
+
export function gateRunSnapshot() {
|
|
61
|
+
return [...selectedRuns].map((r) => ({
|
|
62
|
+
deliveryId: r.deliveryId, focusId: r.focusId, sha: r.sha, selectedAt: r.selectedAt, startedAt: r.startedAt,
|
|
63
|
+
timeoutMs: r.timeoutMs, wait: r.wait,
|
|
64
|
+
}));
|
|
65
|
+
}
|
|
45
66
|
/**
|
|
46
67
|
* Whether a selected, unfinished gate run on the focus may judge `sha`: one that
|
|
47
68
|
* names that commit, or one that names none yet. A null `sha` (a judged commit
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gate-run-registry.js","sourceRoot":"","sources":["../../../src/verify/gate-verdicts/gate-run-registry.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,
|
|
1
|
+
{"version":3,"file":"gate-run-registry.js","sourceRoot":"","sources":["../../../src/verify/gate-verdicts/gate-run-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default-on-guards.d.ts","sourceRoot":"","sources":["../../../src/verify/run-selection/default-on-guards.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"default-on-guards.d.ts","sourceRoot":"","sources":["../../../src/verify/run-selection/default-on-guards.ts"],"names":[],"mappings":"AA2CA,OAAO,EAAkB,KAAK,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAsJjF,8EAA8E;AAC9E,wBAAgB,6BAA6B,IAAI,IAAI,CAMpD;AAED,0GAA0G;AAC1G,wBAAgB,2BAA2B,IAAI,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAEhF;AAED,sHAAsH;AACtH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAEzD;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAEpE;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAE/D;AAED,4CAA4C;AAC5C,wBAAgB,0BAA0B,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAEnE;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,eAAe,GAAG,IAAI,CAS3F;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAE3D;AAED,4EAA4E;AAC5E,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,wFAAwF;IACxF,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,oBAAoB,GAAG,IAAI,CA0C1F;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAYzD;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE,EAAE,QAAQ,EAAE,MAAM,MAAM,GAAG,IAAI,GAAG,OAAO,CAqBzH;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,MAAM,GAAG,IAAI,GAAG,OAAO,CAc3F;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,wBAAwB,CAAC,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAuBxG"}
|
|
@@ -1,23 +1,5 @@
|
|
|
1
1
|
// PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
|
|
2
|
-
// Pinned by: packages/daemon/src/
|
|
3
|
-
// packages/daemon/src/integration/explicit-verdict-invalidation-restart.test.ts,
|
|
4
|
-
// packages/daemon/src/integration/explicit-verdict-reuse.test.ts,
|
|
5
|
-
// packages/daemon/src/integration/focus-commit-verdict-scenario.test.ts,
|
|
6
|
-
// packages/daemon/src/integration/held-route-pull-dispatch.test.ts,
|
|
7
|
-
// packages/daemon/src/integration/review-verdict-ruling-release.test.ts,
|
|
8
|
-
// packages/daemon/src/integration/shortfall-ruling-disposes-proposals-regression.test.ts,
|
|
9
|
-
// packages/daemon/src/integration/shortfall-ruling-release.test.ts,
|
|
10
|
-
// packages/daemon/src/verify/deterministic-gate/verify-unprovisioned-worktree.test.ts,
|
|
11
|
-
// packages/daemon/src/verify/engine/verification-commit-sharing.test.ts,
|
|
12
|
-
// packages/daemon/src/verify/gate-config/verification-run-config-source.test.ts,
|
|
13
|
-
// packages/daemon/src/verify/outcome-routing/verification-model-unavailable-hold.test.ts,
|
|
14
|
-
// packages/daemon/src/verify/run-selection/commit-verdict-pull.test.ts,
|
|
15
|
-
// packages/daemon/src/verify/run-selection/credit-rearm.test.ts,
|
|
16
|
-
// packages/daemon/src/verify/run-selection/reselection-log-line.test.ts,
|
|
17
|
-
// packages/daemon/src/verify/run-selection/verification-default-on.test.ts,
|
|
18
|
-
// packages/daemon/src/verify/run-selection/verification-tick-product-scoping.test.ts,
|
|
19
|
-
// packages/daemon/src/verify/shortfalls/shortfall-rulings.test.ts,
|
|
20
|
-
// packages/daemon/src/worktree/worktree-package-provisioning.test.ts
|
|
2
|
+
// Pinned by: 21 tests -- run: npm run gen:pinned-by -- --list packages/daemon/src/verify/run-selection/default-on-guards.ts
|
|
21
3
|
// PINNED-BY-END
|
|
22
4
|
/**
|
|
23
5
|
* The default-on scan's steady-state re-run guards: what a delivery sitting in
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default-on-guards.js","sourceRoot":"","sources":["../../../src/verify/run-selection/default-on-guards.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,
|
|
1
|
+
{"version":3,"file":"default-on-guards.js","sourceRoot":"","sources":["../../../src/verify/run-selection/default-on-guards.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,4HAA4H;AAC5H,gBAAgB;AAEhB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAEH,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,0DAA0D,CAAC;AACpH,OAAO,EAAE,cAAc,EAAwB,MAAM,2BAA2B,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAElE,MAAM,GAAG,GAAG,YAAY,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC;AAGrD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,YAAY,GAAG,IAAI,GAAG,EAAyB,CAAC;AAEtD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;AAC9C,yEAAyE;AACzE,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;AAEzC,SAAS,eAAe,CAAC,UAAkB,EAAE,UAAmB;IAC9D,KAAK,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC;QAC5D,IAAI,GAAG,KAAK,SAAS;YAAE,cAAc,CAAC,MAAM,CAAC,GAAG,UAAU,IAAI,GAAG,EAAE,CAAC,CAAC;IACvE,CAAC;IACD,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AACjC,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2DG;AACH,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;AAE9C;;;;;;;;GAQG;AACH,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC;AAE/C,oEAAoE;AACpE,SAAS,kBAAkB,CAAC,UAAkB;IAC5C,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC;QAAE,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AACrG,CAAC;AAED,MAAM,WAAW,GAAG,CAAC,UAAkB,EAAE,GAAW,EAAU,EAAE,CAAC,GAAG,UAAU,IAAI,GAAG,SAAS,CAAC;AAE/F,SAAS,eAAe,CAAC,UAAkB;IACzC,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACxC,IAAI,GAAG,KAAK,SAAS;QAAE,cAAc,CAAC,MAAM,CAAC,WAAW,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC;IAC3E,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AACjC,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,6BAA6B;IAC3C,YAAY,CAAC,KAAK,EAAE,CAAC;IACrB,WAAW,CAAC,KAAK,EAAE,CAAC;IACpB,WAAW,CAAC,KAAK,EAAE,CAAC;IACpB,cAAc,CAAC,KAAK,EAAE,CAAC;IACvB,YAAY,CAAC,KAAK,EAAE,CAAC;AACvB,CAAC;AAED,0GAA0G;AAC1G,MAAM,UAAU,2BAA2B;IACzC,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,sHAAsH;AACtH,MAAM,UAAU,gBAAgB,CAAC,UAAkB;IACjD,YAAY,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;AACrC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,UAAkB;IACnD,OAAO,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC;AAC9C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,UAAkB;IACpD,OAAO,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AACtC,CAAC;AAED,4CAA4C;AAC5C,MAAM,UAAU,0BAA0B,CAAC,UAAkB;IAC3D,gBAAgB,CAAC,UAAU,CAAC,CAAC;AAC/B,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,oBAAoB,CAAC,UAAkB,EAAE,UAA4B;IACnF,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC;QAAE,OAAO;IAC7C,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAC/B,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,cAAc,CACZ,kBAAkB,EAAE,UAAU,EAC9B,wEAAwE,CACzE,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,UAAkB;IACnD,eAAe,CAAC,UAAU,CAAC,CAAC;AAC9B,CAAC;AAoBD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,mBAAmB,CAAC,UAAkB,EAAE,MAA4B;IAClF,IAAI,MAAM,CAAC,mBAAmB,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAC1D,4EAA4E;QAC5E,4EAA4E;QAC5E,4EAA4E;QAC5E,0EAA0E;QAC1E,oEAAoE;QACpE,8EAA8E;QAC9E,8EAA8E;QAC9E,mDAAmD;QACnD,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACrB,MAAM,IAAI,GAAoB,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,6BAA6B,CAAC;YACnH,cAAc,CACZ,IAAI,EAAE,UAAU,EAChB,aAAa,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,8CAA8C,CAAC,CAAC,CAAC,2BAA2B,IAAI;kBACrH,6GAA6G;kBAC7G,gEAAgE,EAClE,eAAe,CAChB,CAAC;YACF,OAAO;QACT,CAAC;QACD,IAAI,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;YACpC,kBAAkB,CAAC,UAAU,CAAC,CAAC;YAC/B,cAAc,CACZ,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,6BAA6B,EACpF,UAAU,EACV,MAAM,CAAC,gBAAgB;gBACrB,CAAC,CAAC,sHAAsH;gBACxH,CAAC,CAAC,mHAAmH,CACxH,CAAC;QACJ,CAAC;QACD,OAAO;IACT,CAAC;IACD,IAAI,MAAM,CAAC,WAAW,IAAI,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC;QAAE,YAAY,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;IACzG,MAAM,SAAS,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IAC1C,IAAI,MAAM,CAAC,OAAO,KAAK,QAAQ,IAAI,SAAS,EAAE,CAAC;QAC7C,WAAW,CAAC,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QACvC,eAAe,CAAC,UAAU,CAAC,CAAC;IAC9B,CAAC;SAAM,IAAI,MAAM,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QACvC,eAAe,CAAC,UAAU,CAAC,CAAC;QAC5B,IAAI,MAAM,CAAC,WAAW;YAAE,WAAW,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;IAC1E,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,UAAkB;IAC9C,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC9C,IAAI,CAAC,YAAY,CAAC,6BAA6B,EAAE,EAAE,SAAS,EAAE,SAAS,IAAI,IAAI,EAAE,CAAC,IAAI,SAAS,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IAC5H,MAAM,GAAG,GAAG,WAAW,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IAC/C,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7B,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACxB,GAAG,CAAC,IAAI,CACN,wDAAwD,UAAU,mCAAmC;cACnG,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,2EAA2E,CACtG,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,QAA6C,EAAE,QAA6B;IAC9G,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,uBAAuB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC;IAC1G,IAAI,SAAS,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IAC1C,MAAM,IAAI,GAAG,QAAQ,EAAE,CAAC;IACxB,8EAA8E;IAC9E,IAAI,CAAC,YAAY,CAAC,6BAA6B,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QACtE,eAAe,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;QACxC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,GAAG,GAAG,GAAG,QAAQ,CAAC,EAAE,IAAI,SAAS,EAAE,CAAC;IAC1C,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7B,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACxB,MAAM,GAAG,GAAG,IAAI,KAAK,IAAI;YACvB,CAAC,CAAC,6BAA6B,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,mCAAmC;YACvF,CAAC,CAAC,cAAc,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,0CAA0C,CAAC;QAClF,GAAG,CAAC,IAAI,CACN,wDAAwD,QAAQ,CAAC,EAAE,OAAO,GAAG,IAAI;cAC/E,6CAA6C,CAChD,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,UAAkB,EAAE,QAA6B;IAChF,MAAM,UAAU,GAAG,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAChD,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC;IACvD,4EAA4E;IAC5E,uEAAuE;IACvE,MAAM,IAAI,GAAG,UAAU,IAAI,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAClE,IAAI,YAAY,CAAC,0BAA0B,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3F,IAAI,CAAC,UAAU,IAAI,SAAS,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IACrE,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAChC,GAAG,CAAC,IAAI,CACN,iDAAiD,UAAU,kBAAkB,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,mBAAmB;UAC9G,2BAA2B,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CACtD,CAAC;IACF,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,wBAAwB,CAAC,gBAAqC,EAAE,SAAkB;IAChG,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,KAAK,MAAM,EAAE,IAAI,gBAAgB;YAAE,YAAY,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;IACrE,CAAC;IACD,2EAA2E;IAC3E,MAAM,UAAU,GAAG,CAAC,EAAU,EAAW,EAAE,CACzC,SAAS,KAAK,SAAS,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,SAAS,CAAC,KAAK,SAAS,CAAC;IAC/E,KAAK,MAAM,EAAE,IAAI,IAAI,GAAG,CAAC,CAAC,GAAG,YAAY,CAAC,IAAI,EAAE,EAAE,GAAG,WAAW,CAAC,IAAI,EAAE,EAAE,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;QAClG,IAAI,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,UAAU,CAAC,EAAE,CAAC;YAAE,SAAS;QACzD,MAAM,OAAO,GAAG;YACd,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACpD,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SACtD,CAAC;QACF,eAAe,CAAC,EAAE,CAAC,CAAC;QACpB,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACxB,wGAAwG;QACxG,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QACnC,cAAc,CACZ,gBAAgB,EAAE,EAAE,EACpB,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,6CAA6C;cACnE,GAAG,SAAS,IAAI,gBAAgB,kCAAkC,CACrE,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -9,8 +9,10 @@
|
|
|
9
9
|
*
|
|
10
10
|
* `deliveryId` names the delivery the verify is judging, so the actionable-work
|
|
11
11
|
* predicate can withhold exactly that delivery (see {@link verifyHeldDeliveryIds}).
|
|
12
|
+
* `maxHoldMs` is the owner's kill timeout -- how long its process can live -- so a
|
|
13
|
+
* waiter can bound its wait by it ({@link verifyHoldOutlastsMs}).
|
|
12
14
|
*/
|
|
13
|
-
export declare function acquireVerifyHold(worktreePath: string, deliveryId?: string): () => void;
|
|
15
|
+
export declare function acquireVerifyHold(worktreePath: string, deliveryId?: string, maxHoldMs?: number): () => void;
|
|
14
16
|
/**
|
|
15
17
|
* The delivery ids the in-flight verifies in `worktreePath` are judging. Empty
|
|
16
18
|
* when the worktree is not held, or when its holds named no delivery.
|
|
@@ -24,7 +26,26 @@ export declare function verifyHeldDeliveryIds(worktreePath: string): ReadonlySet
|
|
|
24
26
|
* verify in one focus's worktree never blocks a commit in another's.
|
|
25
27
|
*/
|
|
26
28
|
export declare function isWorktreeUnderVerify(worktreePath: string): boolean;
|
|
27
|
-
/**
|
|
29
|
+
/**
|
|
30
|
+
* How long, from `now`, the holds standing on `worktreePath` can still stand: the
|
|
31
|
+
* latest deadline among them, each its acquisition plus the kill timeout its owner
|
|
32
|
+
* declared; a hold whose owner declared none counts as standing `undeclaredMs` more.
|
|
33
|
+
* 0 when nothing holds the worktree. A wait bounded by at least this never ends
|
|
34
|
+
* before a legitimate hold's own timeout ends it.
|
|
35
|
+
*/
|
|
36
|
+
export declare function verifyHoldOutlastsMs(worktreePath: string, undeclaredMs: number, now: number): number;
|
|
37
|
+
/**
|
|
38
|
+
* Resolve once no verify holds `worktreePath` -- at once when none does -- or when
|
|
39
|
+
* `maxWaitMs` elapses first ('timed_out'). The bound is a backstop, not the
|
|
40
|
+
* expected path: every hold is released when its verify process exits, and that
|
|
41
|
+
* process is killed at its own timeout, so a wait bounded past that timeout
|
|
42
|
+
* ({@link verifyHoldOutlastsMs}) outlives the bound only when a hold leaked. A gate
|
|
43
|
+
* run waits here before it takes a verification slot, so it does not start in a
|
|
44
|
+
* worktree another verify is judging -- nor after a timed-out wait, which ends
|
|
45
|
+
* that dispatch unstarted (verify/engine/verification-engine.ts).
|
|
46
|
+
*/
|
|
47
|
+
export declare function awaitVerifyHoldRelease(worktreePath: string, maxWaitMs: number): Promise<'released' | 'timed_out'>;
|
|
48
|
+
/** Test seam: clear all holds between cases (anyone waiting on a release is woken). */
|
|
28
49
|
export declare function __resetVerifyHolds(): void;
|
|
29
50
|
/** The probe {@link runWorktreeMutationUnderInterlock} decides over; production binds {@link isWorktreeUnderVerify}. */
|
|
30
51
|
export interface WorktreeMutationInterlockDeps {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verify-interlock.d.ts","sourceRoot":"","sources":["../../src/worktree/verify-interlock.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"verify-interlock.d.ts","sourceRoot":"","sources":["../../src/worktree/verify-interlock.ts"],"names":[],"mappings":"AAyGA;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,IAAI,CAyB3G;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAE/E;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAEnE;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAMpG;AAED;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,WAAW,CAAC,CAqBjH;AAED,uFAAuF;AACvF,wBAAgB,kBAAkB,IAAI,IAAI,CAKzC;AAED,wHAAwH;AACxH,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,qBAAqB,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC;CACnE;AAED;;;GAGG;AACH,MAAM,MAAM,sBAAsB,CAAC,CAAC,IAChC;IAAE,QAAQ,EAAE,IAAI,CAAA;CAAE,GAClB;IAAE,QAAQ,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,CAAC,CAAA;CAAE,CAAC;AAEnC;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,iCAAiC,CAAC,CAAC,EACjD,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM,CAAC,EACf,IAAI,EAAE,6BAA6B,GAClC,sBAAsB,CAAC,CAAC,CAAC,CAM3B"}
|
|
@@ -6,6 +6,8 @@
|
|
|
6
6
|
// packages/daemon/src/verify/deterministic-gate/verification-checkout.test.ts,
|
|
7
7
|
// packages/daemon/src/verify/deterministic-gate/verification-deterministic.test.ts,
|
|
8
8
|
// packages/daemon/src/verify/engine/verification-commit-sharing.test.ts,
|
|
9
|
+
// packages/daemon/src/verify/gate-verdicts/gate-run-activity.test.ts,
|
|
10
|
+
// packages/daemon/src/worktree/verify-interlock.test.ts,
|
|
9
11
|
// packages/daemon/src/worktree/worktree-package-provisioning.test.ts
|
|
10
12
|
// PINNED-BY-END
|
|
11
13
|
/**
|
|
@@ -61,6 +63,20 @@ const holds = new Map();
|
|
|
61
63
|
* with no delivery id (a caller that judges none) records nothing here.
|
|
62
64
|
*/
|
|
63
65
|
const heldDeliveries = new Map();
|
|
66
|
+
/**
|
|
67
|
+
* When each standing hold can stand until at the latest: canonical worktree path ->
|
|
68
|
+
* hold token -> epoch ms (acquired-at plus the kill timeout its owner declared), or
|
|
69
|
+
* null for an owner that declared none. Read by {@link verifyHoldOutlastsMs}.
|
|
70
|
+
*/
|
|
71
|
+
const holdDeadlines = new Map();
|
|
72
|
+
/** Who waits for a worktree's holds to clear: canonical worktree path -> wakers (see {@link awaitVerifyHoldRelease}). */
|
|
73
|
+
const releaseWaiters = new Map();
|
|
74
|
+
function wakeReleaseWaiters(key) {
|
|
75
|
+
const waiters = releaseWaiters.get(key);
|
|
76
|
+
releaseWaiters.delete(key);
|
|
77
|
+
for (const wake of waiters ?? [])
|
|
78
|
+
wake();
|
|
79
|
+
}
|
|
64
80
|
function adjustDeliveryHold(key, deliveryId, delta) {
|
|
65
81
|
const byDelivery = heldDeliveries.get(key) ?? new Map();
|
|
66
82
|
const next = (byDelivery.get(deliveryId) ?? 0) + delta;
|
|
@@ -93,12 +109,18 @@ function keyFor(worktreePath) {
|
|
|
93
109
|
*
|
|
94
110
|
* `deliveryId` names the delivery the verify is judging, so the actionable-work
|
|
95
111
|
* predicate can withhold exactly that delivery (see {@link verifyHeldDeliveryIds}).
|
|
112
|
+
* `maxHoldMs` is the owner's kill timeout -- how long its process can live -- so a
|
|
113
|
+
* waiter can bound its wait by it ({@link verifyHoldOutlastsMs}).
|
|
96
114
|
*/
|
|
97
|
-
export function acquireVerifyHold(worktreePath, deliveryId) {
|
|
115
|
+
export function acquireVerifyHold(worktreePath, deliveryId, maxHoldMs) {
|
|
98
116
|
const key = keyFor(worktreePath);
|
|
99
117
|
holds.set(key, (holds.get(key) ?? 0) + 1);
|
|
100
118
|
if (deliveryId)
|
|
101
119
|
adjustDeliveryHold(key, deliveryId, 1);
|
|
120
|
+
const token = Symbol(key);
|
|
121
|
+
const deadlines = holdDeadlines.get(key) ?? new Map();
|
|
122
|
+
deadlines.set(token, maxHoldMs !== undefined ? Date.now() + maxHoldMs : null);
|
|
123
|
+
holdDeadlines.set(key, deadlines);
|
|
102
124
|
log.debug(`verify-interlock: hold acquired for ${key} (depth ${holds.get(key)}${deliveryId ? `, delivery ${deliveryId}` : ''})`);
|
|
103
125
|
let released = false;
|
|
104
126
|
return () => {
|
|
@@ -108,12 +130,16 @@ export function acquireVerifyHold(worktreePath, deliveryId) {
|
|
|
108
130
|
const next = (holds.get(key) ?? 1) - 1;
|
|
109
131
|
if (next <= 0) {
|
|
110
132
|
holds.delete(key);
|
|
133
|
+
wakeReleaseWaiters(key);
|
|
111
134
|
}
|
|
112
135
|
else {
|
|
113
136
|
holds.set(key, next);
|
|
114
137
|
}
|
|
115
138
|
if (deliveryId)
|
|
116
139
|
adjustDeliveryHold(key, deliveryId, -1);
|
|
140
|
+
deadlines.delete(token);
|
|
141
|
+
if (deadlines.size === 0 && holdDeadlines.get(key) === deadlines)
|
|
142
|
+
holdDeadlines.delete(key);
|
|
117
143
|
log.debug(`verify-interlock: hold released for ${key} (depth ${next <= 0 ? 0 : next})`);
|
|
118
144
|
};
|
|
119
145
|
}
|
|
@@ -134,10 +160,61 @@ export function verifyHeldDeliveryIds(worktreePath) {
|
|
|
134
160
|
export function isWorktreeUnderVerify(worktreePath) {
|
|
135
161
|
return (holds.get(keyFor(worktreePath)) ?? 0) > 0;
|
|
136
162
|
}
|
|
137
|
-
/**
|
|
163
|
+
/**
|
|
164
|
+
* How long, from `now`, the holds standing on `worktreePath` can still stand: the
|
|
165
|
+
* latest deadline among them, each its acquisition plus the kill timeout its owner
|
|
166
|
+
* declared; a hold whose owner declared none counts as standing `undeclaredMs` more.
|
|
167
|
+
* 0 when nothing holds the worktree. A wait bounded by at least this never ends
|
|
168
|
+
* before a legitimate hold's own timeout ends it.
|
|
169
|
+
*/
|
|
170
|
+
export function verifyHoldOutlastsMs(worktreePath, undeclaredMs, now) {
|
|
171
|
+
let outlasts = 0;
|
|
172
|
+
for (const deadline of holdDeadlines.get(keyFor(worktreePath))?.values() ?? []) {
|
|
173
|
+
outlasts = Math.max(outlasts, deadline === null ? undeclaredMs : deadline - now);
|
|
174
|
+
}
|
|
175
|
+
return outlasts;
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* Resolve once no verify holds `worktreePath` -- at once when none does -- or when
|
|
179
|
+
* `maxWaitMs` elapses first ('timed_out'). The bound is a backstop, not the
|
|
180
|
+
* expected path: every hold is released when its verify process exits, and that
|
|
181
|
+
* process is killed at its own timeout, so a wait bounded past that timeout
|
|
182
|
+
* ({@link verifyHoldOutlastsMs}) outlives the bound only when a hold leaked. A gate
|
|
183
|
+
* run waits here before it takes a verification slot, so it does not start in a
|
|
184
|
+
* worktree another verify is judging -- nor after a timed-out wait, which ends
|
|
185
|
+
* that dispatch unstarted (verify/engine/verification-engine.ts).
|
|
186
|
+
*/
|
|
187
|
+
export function awaitVerifyHoldRelease(worktreePath, maxWaitMs) {
|
|
188
|
+
const key = keyFor(worktreePath);
|
|
189
|
+
if ((holds.get(key) ?? 0) <= 0)
|
|
190
|
+
return Promise.resolve('released');
|
|
191
|
+
return new Promise((resolveWait) => {
|
|
192
|
+
let waiters = releaseWaiters.get(key);
|
|
193
|
+
if (waiters === undefined) {
|
|
194
|
+
waiters = new Set();
|
|
195
|
+
releaseWaiters.set(key, waiters);
|
|
196
|
+
}
|
|
197
|
+
const wake = () => {
|
|
198
|
+
clearTimeout(timer);
|
|
199
|
+
resolveWait('released');
|
|
200
|
+
};
|
|
201
|
+
const timer = setTimeout(() => {
|
|
202
|
+
waiters.delete(wake);
|
|
203
|
+
if (waiters.size === 0 && releaseWaiters.get(key) === waiters)
|
|
204
|
+
releaseWaiters.delete(key);
|
|
205
|
+
resolveWait('timed_out');
|
|
206
|
+
}, maxWaitMs);
|
|
207
|
+
timer.unref?.();
|
|
208
|
+
waiters.add(wake);
|
|
209
|
+
});
|
|
210
|
+
}
|
|
211
|
+
/** Test seam: clear all holds between cases (anyone waiting on a release is woken). */
|
|
138
212
|
export function __resetVerifyHolds() {
|
|
139
213
|
holds.clear();
|
|
140
214
|
heldDeliveries.clear();
|
|
215
|
+
holdDeadlines.clear();
|
|
216
|
+
for (const key of [...releaseWaiters.keys()])
|
|
217
|
+
wakeReleaseWaiters(key);
|
|
141
218
|
}
|
|
142
219
|
/**
|
|
143
220
|
* The ONE boundary every daemon path that REWRITES an existing worktree passes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verify-interlock.js","sourceRoot":"","sources":["../../src/worktree/verify-interlock.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,+EAA+E;AAC/E,iEAAiE;AACjE,kFAAkF;AAClF,8EAA8E;AAC9E,iFAAiF;AACjF,sFAAsF;AACtF,2EAA2E;AAC3E,uEAAuE;AACvE,gBAAgB;AAEhB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAE5D,MAAM,GAAG,GAAG,YAAY,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;AAEjD;;;;;GAKG;AACH,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;AAExC;;;;;;;GAOG;AACH,MAAM,cAAc,GAAG,IAAI,GAAG,EAA+B,CAAC;AAE9D,SAAS,kBAAkB,CAAC,GAAW,EAAE,UAAkB,EAAE,KAAa;IACxE,MAAM,UAAU,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,EAAkB,CAAC;IACxE,MAAM,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC;IACvD,IAAI,IAAI,IAAI,CAAC;QAAE,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;;QACxC,UAAU,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IACtC,IAAI,UAAU,CAAC,IAAI,KAAK,CAAC;QAAE,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;;QACjD,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;AAC3C,CAAC;AAED,gFAAgF;AAChF,SAAS,MAAM,CAAC,YAAoB;IAClC,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,YAAY,CAAC,CAAC;IACpC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAC,YAAY,CAAC,CAAC;IAC/B,CAAC;AACH,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"verify-interlock.js","sourceRoot":"","sources":["../../src/worktree/verify-interlock.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@telora/daemon",
|
|
3
|
-
"version": "0.22.
|
|
3
|
+
"version": "0.22.290",
|
|
4
4
|
"description": "Agent orchestration daemon for Telora - spawns and manages Claude Code instances",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -37,8 +37,8 @@
|
|
|
37
37
|
},
|
|
38
38
|
"//testRunner": "Uses Node.js built-in test runner (node:test) via tsx for TypeScript support. The root package uses Vitest; this is a deliberate choice for the daemon package to avoid framework dependencies. Test files live beside the modules they exercise (owner-directory layout); the runner discovers them recursively.",
|
|
39
39
|
"dependencies": {
|
|
40
|
-
"@telora/daemon-core": "^0.2.
|
|
41
|
-
"@telora/mcp-products": "^0.22.
|
|
40
|
+
"@telora/daemon-core": "^0.2.102",
|
|
41
|
+
"@telora/mcp-products": "^0.22.169",
|
|
42
42
|
"commander": "^14.0.3",
|
|
43
43
|
"yaml": "^2.4.0",
|
|
44
44
|
"zod": "^4.3.6"
|