@telora/daemon 0.21.191 → 0.21.196

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.
Files changed (80) hide show
  1. package/build-info.json +4 -3
  2. package/dist/completion/delivery-advancement-guard.d.ts.map +1 -1
  3. package/dist/completion/delivery-advancement-guard.js +1 -0
  4. package/dist/completion/delivery-advancement-guard.js.map +1 -1
  5. package/dist/completion/event-phases.d.ts.map +1 -1
  6. package/dist/completion/event-phases.js +17 -16
  7. package/dist/completion/event-phases.js.map +1 -1
  8. package/dist/completion/event.d.ts +28 -0
  9. package/dist/completion/event.d.ts.map +1 -1
  10. package/dist/completion/event.js +36 -0
  11. package/dist/completion/event.js.map +1 -1
  12. package/dist/completion/index.js +1 -1
  13. package/dist/completion/reengagement-redrive.d.ts +37 -0
  14. package/dist/completion/reengagement-redrive.d.ts.map +1 -0
  15. package/dist/completion/reengagement-redrive.js +62 -0
  16. package/dist/completion/reengagement-redrive.js.map +1 -0
  17. package/dist/completion/team-lifecycle.d.ts.map +1 -1
  18. package/dist/completion/team-lifecycle.js +8 -0
  19. package/dist/completion/team-lifecycle.js.map +1 -1
  20. package/dist/completion/team-phase.d.ts +53 -0
  21. package/dist/completion/team-phase.d.ts.map +1 -0
  22. package/dist/completion/team-phase.js +129 -0
  23. package/dist/completion/team-phase.js.map +1 -0
  24. package/dist/focus/focus-team-state.d.ts.map +1 -1
  25. package/dist/focus/focus-team-state.js +1 -0
  26. package/dist/focus/focus-team-state.js.map +1 -1
  27. package/dist/focus/listener-spawn.d.ts +26 -0
  28. package/dist/focus/listener-spawn.d.ts.map +1 -1
  29. package/dist/focus/listener-spawn.js +44 -7
  30. package/dist/focus/listener-spawn.js.map +1 -1
  31. package/dist/focus-stage-lifecycle/index.d.ts.map +1 -1
  32. package/dist/focus-stage-lifecycle/index.js +3 -0
  33. package/dist/focus-stage-lifecycle/index.js.map +1 -1
  34. package/dist/focus-stage-lifecycle/planning-release.d.ts +26 -0
  35. package/dist/focus-stage-lifecycle/planning-release.d.ts.map +1 -1
  36. package/dist/focus-stage-lifecycle/planning-release.js +23 -0
  37. package/dist/focus-stage-lifecycle/planning-release.js.map +1 -1
  38. package/dist/focus-stage-lifecycle/wedge-watchdog.d.ts +9 -0
  39. package/dist/focus-stage-lifecycle/wedge-watchdog.d.ts.map +1 -1
  40. package/dist/focus-stage-lifecycle/wedge-watchdog.js +24 -9
  41. package/dist/focus-stage-lifecycle/wedge-watchdog.js.map +1 -1
  42. package/dist/queries/daemon-connection.d.ts.map +1 -1
  43. package/dist/queries/daemon-connection.js +1 -0
  44. package/dist/queries/daemon-connection.js.map +1 -1
  45. package/dist/queries/delivery-gate-state.d.ts +16 -0
  46. package/dist/queries/delivery-gate-state.d.ts.map +1 -1
  47. package/dist/queries/focus-discovery.d.ts +10 -0
  48. package/dist/queries/focus-discovery.d.ts.map +1 -1
  49. package/dist/queries/focus-discovery.js +1 -0
  50. package/dist/queries/focus-discovery.js.map +1 -1
  51. package/dist/queries/schemas.d.ts +2 -0
  52. package/dist/queries/schemas.d.ts.map +1 -1
  53. package/dist/queries/schemas.js +8 -0
  54. package/dist/queries/schemas.js.map +1 -1
  55. package/dist/shell/heartbeat.d.ts.map +1 -1
  56. package/dist/shell/heartbeat.js +22 -3
  57. package/dist/shell/heartbeat.js.map +1 -1
  58. package/dist/spawn/spawn-cooldown.d.ts +9 -0
  59. package/dist/spawn/spawn-cooldown.d.ts.map +1 -1
  60. package/dist/spawn/spawn-cooldown.js +13 -0
  61. package/dist/spawn/spawn-cooldown.js.map +1 -1
  62. package/dist/testing/fixtures/index.js +1 -1
  63. package/dist/types/focus.d.ts +13 -0
  64. package/dist/types/focus.d.ts.map +1 -1
  65. package/dist/types/index.js +1 -1
  66. package/dist/verify/verification-baseline.d.ts +23 -4
  67. package/dist/verify/verification-baseline.d.ts.map +1 -1
  68. package/dist/verify/verification-baseline.js +45 -6
  69. package/dist/verify/verification-baseline.js.map +1 -1
  70. package/dist/verify/verification-deterministic.d.ts +18 -1
  71. package/dist/verify/verification-deterministic.d.ts.map +1 -1
  72. package/dist/verify/verification-deterministic.js +29 -3
  73. package/dist/verify/verification-deterministic.js.map +1 -1
  74. package/dist/verify/verification-engine.d.ts.map +1 -1
  75. package/dist/verify/verification-engine.js +55 -19
  76. package/dist/verify/verification-engine.js.map +1 -1
  77. package/dist/verify/verification-feedback.d.ts.map +1 -1
  78. package/dist/verify/verification-feedback.js +4 -0
  79. package/dist/verify/verification-feedback.js.map +1 -1
  80. package/package.json +1 -1
@@ -0,0 +1,53 @@
1
+ /**
2
+ * The published team lifecycle phase for a focus. `executing` is the only
3
+ * phase that means "work outstanding" (a stale clock here is a real wedge);
4
+ * the other three are legitimate parked states that must NOT read as
5
+ * unresponsive.
6
+ */
7
+ export type FocusLifecyclePhase = 'executing' | 'idle_complete' | 'directive_pending' | 'cooldown';
8
+ /** Latch a focus as idle-after-completion (all deliveries terminal, team torn down cleanly). */
9
+ export declare function markFocusIdleComplete(focusId: string): void;
10
+ /** Clear a focus's idle-complete latch (e.g. it took on new work). */
11
+ export declare function clearFocusIdleComplete(focusId: string): void;
12
+ /** Whether a focus currently carries the idle-complete latch. Read-only. */
13
+ export declare function isFocusIdleComplete(focusId: string): boolean;
14
+ /** Test-only: clear the idle-complete latch so state never leaks across files. */
15
+ export declare function __resetTeamPhaseForTesting(): void;
16
+ /**
17
+ * Pure phase decision from the four in-memory signals, in precedence order:
18
+ * a live team dominates (executing), then a queued spawn (directive_pending),
19
+ * then the cooldown backoff window (cooldown), then the clean-completion latch
20
+ * (idle_complete). No signal -> undefined (the focus is not published).
21
+ * Precedence among the three parked states is diagnostic only -- the badge
22
+ * collapses all three to a single honest "parked" label.
23
+ */
24
+ export declare function resolveTeamPhase(signals: {
25
+ hasActiveTeam: boolean;
26
+ hasPendingDirective: boolean;
27
+ inCooldown: boolean;
28
+ idleComplete: boolean;
29
+ }): FocusLifecyclePhase | undefined;
30
+ /**
31
+ * Injectable source seam so the collector is unit-testable without registering
32
+ * a mock.module (which poisons bare daemon-core imports under tsx -- see the
33
+ * daemon test-harness gotcha). Production wires these to the real accessors via
34
+ * defaultTeamPhaseSources; tests pass fakes.
35
+ */
36
+ export interface TeamPhaseSources {
37
+ getActiveTeamFocusIds(): Iterable<string>;
38
+ hasActiveTeam(focusId: string): boolean;
39
+ getPendingSpawnFocusIds(): string[];
40
+ hasPendingSpawnDirective(focusId: string): boolean;
41
+ getSpawnCooldownFocusIds(): string[];
42
+ isInSpawnCooldown(focusId: string): boolean;
43
+ }
44
+ /**
45
+ * Recompute the per-focus phase map from live in-memory state. The candidate
46
+ * focus set is the union of every source (active teams, pending directives,
47
+ * cooldown entries, idle-complete latches); each candidate resolves to exactly
48
+ * one phase via resolveTeamPhase, and a candidate that resolves to undefined is
49
+ * omitted. Pruning the idle-complete latch for any focus with a live team keeps
50
+ * the latch set bounded.
51
+ */
52
+ export declare function buildTeamPhaseMap(sources?: TeamPhaseSources): Record<string, FocusLifecyclePhase>;
53
+ //# sourceMappingURL=team-phase.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"team-phase.d.ts","sourceRoot":"","sources":["../../src/completion/team-phase.ts"],"names":[],"mappings":"AA4CA;;;;;GAKG;AACH,MAAM,MAAM,mBAAmB,GAAG,WAAW,GAAG,eAAe,GAAG,mBAAmB,GAAG,UAAU,CAAC;AAcnG,gGAAgG;AAChG,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE3D;AAED,sEAAsE;AACtE,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE5D;AAED,4EAA4E;AAC5E,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAE5D;AAED,kFAAkF;AAClF,wBAAgB,0BAA0B,IAAI,IAAI,CAEjD;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE;IACxC,aAAa,EAAE,OAAO,CAAC;IACvB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,UAAU,EAAE,OAAO,CAAC;IACpB,YAAY,EAAE,OAAO,CAAC;CACvB,GAAG,mBAAmB,GAAG,SAAS,CAMlC;AAED;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B,qBAAqB,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC1C,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;IACxC,uBAAuB,IAAI,MAAM,EAAE,CAAC;IACpC,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;IACnD,wBAAwB,IAAI,MAAM,EAAE,CAAC;IACrC,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;CAC7C;AAWD;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,GAAE,gBAA0C,GAClD,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAsBrC"}
@@ -0,0 +1,129 @@
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/team-phase.test.ts,
3
+ // packages/daemon/src/shell/heartbeat-team-phases.test.ts
4
+ // PINNED-BY-END
5
+ /**
6
+ * Team lifecycle phase publication.
7
+ *
8
+ * The daemon already holds, in memory, everything needed to tell a *parked*
9
+ * team apart from a *wedged* one -- but the dashboard's liveness badge only sees
10
+ * a bare recency clock, so a legitimately silent phase (lead delegating and
11
+ * waiting, or a team parked after all deliveries complete with a review
12
+ * directive pending / in spawn cooldown) reads identically to a genuine multi-
13
+ * hour idle-but-executing wedge. This module composes that in-memory state into
14
+ * a single per-focus lifecycle phase the heartbeat publishes alongside the
15
+ * narrations map, so the UI can label parked states honestly while RESERVING the
16
+ * "unresponsive" diagnosis for silence with work outstanding (phase === executing).
17
+ *
18
+ * The four phases are a COMPOSITE, not a field. FocusTeamState.phase is
19
+ * deliberately {initializing,executing,shutting_down,terminated} with no idle
20
+ * state (a team terminates when its work is done), so the parked phases are
21
+ * derived from three other in-memory sources:
22
+ * - executing -- a live team is in activeTeams (initializing/executing/
23
+ * shutting_down all read as "work in flight")
24
+ * - directive_pending -- a spawn directive is queued for the focus (a spawn is
25
+ * imminent -- e.g. a review pass waiting to start)
26
+ * - cooldown -- the focus is inside its spawn-cooldown backoff window
27
+ * - idle_complete -- all deliveries reached a terminal state and the team
28
+ * was torn down cleanly (records NO cooldown), so there
29
+ * is no other in-memory trace: this module latches it
30
+ * explicitly (markFocusIdleComplete) at the all-
31
+ * deliveries-terminal detection point.
32
+ *
33
+ * Publication is PULL-model: buildTeamPhaseMap recomputes the whole map from
34
+ * live state every heartbeat, so a phase change surfaces within one interval and
35
+ * a focus that leaves every source drops out of the map on its own -- the same
36
+ * observable "clears when torn down" behavior the narrations map has, without
37
+ * per-transition set/clear wiring for the derived states.
38
+ */
39
+ import { getActiveTeams, hasActiveTeam } from '../focus/focus-team-state.js';
40
+ import { getPendingSpawnFocusIds, hasPendingSpawnDirective } from '../directive/directive-queue.js';
41
+ import { getSpawnCooldownFocusIds, isInSpawnCooldown } from '../spawn/spawn-cooldown.js';
42
+ // ── idle_complete latch ──────────────────────────────────────────────
43
+ //
44
+ // A clean completion (all deliveries terminal) tears the team down WITHOUT
45
+ // recording a cooldown (decideRespawnCooldown -> 'none'), so nothing else in
46
+ // memory records it. This latch is the sole trace; it is set at the all-
47
+ // deliveries-terminal detection point (completion/event scope-coverage phase)
48
+ // and pruned in buildTeamPhaseMap the moment a team executes for the focus
49
+ // again (which bounds the set and handles re-armed focuses). A focus that
50
+ // completes and is then abandoned/unarmed retains its latch, but the badge is
51
+ // guarded off for unarmed focuses (teamExpected=false) so it never surfaces.
52
+ const idleCompleteFocuses = new Set();
53
+ /** Latch a focus as idle-after-completion (all deliveries terminal, team torn down cleanly). */
54
+ export function markFocusIdleComplete(focusId) {
55
+ idleCompleteFocuses.add(focusId);
56
+ }
57
+ /** Clear a focus's idle-complete latch (e.g. it took on new work). */
58
+ export function clearFocusIdleComplete(focusId) {
59
+ idleCompleteFocuses.delete(focusId);
60
+ }
61
+ /** Whether a focus currently carries the idle-complete latch. Read-only. */
62
+ export function isFocusIdleComplete(focusId) {
63
+ return idleCompleteFocuses.has(focusId);
64
+ }
65
+ /** Test-only: clear the idle-complete latch so state never leaks across files. */
66
+ export function __resetTeamPhaseForTesting() {
67
+ idleCompleteFocuses.clear();
68
+ }
69
+ /**
70
+ * Pure phase decision from the four in-memory signals, in precedence order:
71
+ * a live team dominates (executing), then a queued spawn (directive_pending),
72
+ * then the cooldown backoff window (cooldown), then the clean-completion latch
73
+ * (idle_complete). No signal -> undefined (the focus is not published).
74
+ * Precedence among the three parked states is diagnostic only -- the badge
75
+ * collapses all three to a single honest "parked" label.
76
+ */
77
+ export function resolveTeamPhase(signals) {
78
+ if (signals.hasActiveTeam)
79
+ return 'executing';
80
+ if (signals.hasPendingDirective)
81
+ return 'directive_pending';
82
+ if (signals.inCooldown)
83
+ return 'cooldown';
84
+ if (signals.idleComplete)
85
+ return 'idle_complete';
86
+ return undefined;
87
+ }
88
+ const defaultTeamPhaseSources = {
89
+ getActiveTeamFocusIds: () => getActiveTeams().keys(),
90
+ hasActiveTeam,
91
+ getPendingSpawnFocusIds,
92
+ hasPendingSpawnDirective,
93
+ getSpawnCooldownFocusIds,
94
+ isInSpawnCooldown,
95
+ };
96
+ /**
97
+ * Recompute the per-focus phase map from live in-memory state. The candidate
98
+ * focus set is the union of every source (active teams, pending directives,
99
+ * cooldown entries, idle-complete latches); each candidate resolves to exactly
100
+ * one phase via resolveTeamPhase, and a candidate that resolves to undefined is
101
+ * omitted. Pruning the idle-complete latch for any focus with a live team keeps
102
+ * the latch set bounded.
103
+ */
104
+ export function buildTeamPhaseMap(sources = defaultTeamPhaseSources) {
105
+ const candidates = new Set([
106
+ ...sources.getActiveTeamFocusIds(),
107
+ ...sources.getPendingSpawnFocusIds(),
108
+ ...sources.getSpawnCooldownFocusIds(),
109
+ ...idleCompleteFocuses,
110
+ ]);
111
+ const out = {};
112
+ for (const focusId of candidates) {
113
+ const teamActive = sources.hasActiveTeam(focusId);
114
+ // A live team means the focus is executing again: drop any stale latch so
115
+ // the set stays bounded (the resolver returns 'executing' regardless).
116
+ if (teamActive)
117
+ idleCompleteFocuses.delete(focusId);
118
+ const phase = resolveTeamPhase({
119
+ hasActiveTeam: teamActive,
120
+ hasPendingDirective: sources.hasPendingSpawnDirective(focusId),
121
+ inCooldown: sources.isInSpawnCooldown(focusId),
122
+ idleComplete: idleCompleteFocuses.has(focusId),
123
+ });
124
+ if (phase)
125
+ out[focusId] = phase;
126
+ }
127
+ return out;
128
+ }
129
+ //# sourceMappingURL=team-phase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"team-phase.js","sourceRoot":"","sources":["../../src/completion/team-phase.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,gEAAgE;AAChE,4DAA4D;AAC5D,gBAAgB;AAEhB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7E,OAAO,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AACpG,OAAO,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAUzF,wEAAwE;AACxE,EAAE;AACF,2EAA2E;AAC3E,6EAA6E;AAC7E,yEAAyE;AACzE,8EAA8E;AAC9E,2EAA2E;AAC3E,0EAA0E;AAC1E,8EAA8E;AAC9E,6EAA6E;AAC7E,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAU,CAAC;AAE9C,gGAAgG;AAChG,MAAM,UAAU,qBAAqB,CAAC,OAAe;IACnD,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACnC,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,sBAAsB,CAAC,OAAe;IACpD,mBAAmB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACtC,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,mBAAmB,CAAC,OAAe;IACjD,OAAO,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AAC1C,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,0BAA0B;IACxC,mBAAmB,CAAC,KAAK,EAAE,CAAC;AAC9B,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAKhC;IACC,IAAI,OAAO,CAAC,aAAa;QAAE,OAAO,WAAW,CAAC;IAC9C,IAAI,OAAO,CAAC,mBAAmB;QAAE,OAAO,mBAAmB,CAAC;IAC5D,IAAI,OAAO,CAAC,UAAU;QAAE,OAAO,UAAU,CAAC;IAC1C,IAAI,OAAO,CAAC,YAAY;QAAE,OAAO,eAAe,CAAC;IACjD,OAAO,SAAS,CAAC;AACnB,CAAC;AAiBD,MAAM,uBAAuB,GAAqB;IAChD,qBAAqB,EAAE,GAAG,EAAE,CAAC,cAAc,EAAE,CAAC,IAAI,EAAE;IACpD,aAAa;IACb,uBAAuB;IACvB,wBAAwB;IACxB,wBAAwB;IACxB,iBAAiB;CAClB,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAC/B,UAA4B,uBAAuB;IAEnD,MAAM,UAAU,GAAG,IAAI,GAAG,CAAS;QACjC,GAAG,OAAO,CAAC,qBAAqB,EAAE;QAClC,GAAG,OAAO,CAAC,uBAAuB,EAAE;QACpC,GAAG,OAAO,CAAC,wBAAwB,EAAE;QACrC,GAAG,mBAAmB;KACvB,CAAC,CAAC;IACH,MAAM,GAAG,GAAwC,EAAE,CAAC;IACpD,KAAK,MAAM,OAAO,IAAI,UAAU,EAAE,CAAC;QACjC,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAClD,0EAA0E;QAC1E,uEAAuE;QACvE,IAAI,UAAU;YAAE,mBAAmB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACpD,MAAM,KAAK,GAAG,gBAAgB,CAAC;YAC7B,aAAa,EAAE,UAAU;YACzB,mBAAmB,EAAE,OAAO,CAAC,wBAAwB,CAAC,OAAO,CAAC;YAC9D,UAAU,EAAE,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC;YAC9C,YAAY,EAAE,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC;SAC/C,CAAC,CAAC;QACH,IAAI,KAAK;YAAE,GAAG,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;IAClC,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"focus-team-state.d.ts","sourceRoot":"","sources":["../../src/focus/focus-team-state.ts"],"names":[],"mappings":"AAaA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,KAAK,EACV,cAAc,EACd,oBAAoB,EACpB,cAAc,EACf,MAAM,mBAAmB,CAAC;AAW3B;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,GAAE,MAAmB,GAAG,IAAI,CAGlF;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAEpE;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAGvD;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAEnE;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAE7D;AAkBD;;GAEG;AACH,wBAAgB,cAAc,IAAI,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAE5D;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAM/D;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,GAAE,MAAmB,GAAG,IAAI,CAKhF;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAEhE;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAGvD;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,gBAAgB,GAAG,IAAI,GAChC,IAAI,CASN;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,gBAAgB,GAAG,IAAI,GAChC,OAAO,CAMT;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,IAAI,IAAI,CAGjD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEtD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI,CAMhF;AAUD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,eAAe,EAAE,cAAc,GAAG,IAAI,GAAG,oBAAoB,CAKlG"}
1
+ {"version":3,"file":"focus-team-state.d.ts","sourceRoot":"","sources":["../../src/focus/focus-team-state.ts"],"names":[],"mappings":"AAcA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,KAAK,EACV,cAAc,EACd,oBAAoB,EACpB,cAAc,EACf,MAAM,mBAAmB,CAAC;AAW3B;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,GAAE,MAAmB,GAAG,IAAI,CAGlF;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAEpE;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAGvD;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAEnE;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAE7D;AAkBD;;GAEG;AACH,wBAAgB,cAAc,IAAI,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAE5D;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAM/D;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,GAAE,MAAmB,GAAG,IAAI,CAKhF;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAEhE;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAGvD;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,gBAAgB,GAAG,IAAI,GAChC,IAAI,CASN;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,gBAAgB,GAAG,IAAI,GAChC,OAAO,CAMT;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,IAAI,IAAI,CAGjD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEtD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI,CAMhF;AAUD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,eAAe,EAAE,cAAc,GAAG,IAAI,GAAG,oBAAoB,CAKlG"}
@@ -7,6 +7,7 @@
7
7
  // packages/daemon/src/focus/focus-engine-characterization.test.ts,
8
8
  // packages/daemon/src/focus/mark-team-executing.test.ts,
9
9
  // packages/daemon/src/focus/team-last-activity.test.ts, packages/daemon/src/shell/control-state.test.ts,
10
+ // packages/daemon/src/shell/heartbeat-team-phases.test.ts,
10
11
  // packages/daemon/src/spawn/helpers-activity-wiring.test.ts,
11
12
  // packages/daemon/src/verify/stall-detectors-clock-wiring.test.ts
12
13
  // PINNED-BY-END
@@ -1 +1 @@
1
- {"version":3,"file":"focus-team-state.js","sourceRoot":"","sources":["../../src/focus/focus-team-state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"focus-team-state.js","sourceRoot":"","sources":["../../src/focus/focus-team-state.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,32 @@
16
16
  export declare function focusWorkWasReopened(deliveries: ReadonlyArray<{
17
17
  executionStatus: string | null;
18
18
  }>): boolean;
19
+ /**
20
+ * The arm-evidence gate in front of focusWorkWasReopened for a NULL-role focus.
21
+ * Answers "can delivery state even make this a reopened focus?" -- and thereby
22
+ * both short-circuits the delivery fetch and, decisively, keeps a never-armed
23
+ * focus from ever being classified as reopened.
24
+ *
25
+ * A null assigned_agent_role_id with a non-terminal delivery is REOPENED work
26
+ * only on a focus that was PREVIOUSLY ARMED: a lifecycle clear
27
+ * (auto_terminate_focus_team) can only have run on a focus that once had a team.
28
+ * So the reopened path is consulted ONLY when `everArmed` (product_focuses.
29
+ * first_armed_at non-null) is true. A never-armed focus -- or an older backend
30
+ * that cannot report first_armed_at, which surfaces as everArmed=false -- returns
31
+ * false and stays parked, matching the human go-signal default (fail closed).
32
+ *
33
+ * The other two false cases mirror the caller's pre-existing skips: an operator
34
+ * stop is authoritative (wins regardless), and a review directive already spawns
35
+ * via the fallback -- neither needs the delivery fetch.
36
+ *
37
+ * Pure and exported so the never-armed-skip / previously-armed-spawn / unknown-
38
+ * skip behaviors are pinned directly, without driving module-private spawn state.
39
+ */
40
+ export declare function nullRoleReopenDependsOnDeliveries(input: {
41
+ everArmed: boolean;
42
+ operatorStopped: boolean;
43
+ sessionType: 'coding' | 'review' | undefined;
44
+ }): boolean;
19
45
  /**
20
46
  * The per-focus spawn-gate decision -- the heart of the event/advance loop
21
47
  * dispatch. Given a single ready focus's resolved gate state, decide what the
@@ -1 +1 @@
1
- {"version":3,"file":"listener-spawn.d.ts","sourceRoot":"","sources":["../../src/focus/listener-spawn.ts"],"names":[],"mappings":"AAmDA;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,aAAa,CAAC;IAAE,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,GAC5D,OAAO,CAOT;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,MAAM,gBAAgB,GACxB,OAAO,GACP,mBAAmB,GACnB,kBAAkB,GAClB,eAAe,GACf,eAAe,CAAC;AAEpB,MAAM,WAAW,cAAc;IAC7B,2EAA2E;IAC3E,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,OAAO,CAAC;IACvB,eAAe,EAAE,OAAO,CAAC;IACzB,0DAA0D;IAC1D,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,cAAc,GAAG,gBAAgB,CAMvE;AAED;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAgLzD;AA8BD;;;;;;;;;;;GAWG;AACH,wBAAsB,0BAA0B,IAAI,OAAO,CAAC,IAAI,CAAC,CAgOhE"}
1
+ {"version":3,"file":"listener-spawn.d.ts","sourceRoot":"","sources":["../../src/focus/listener-spawn.ts"],"names":[],"mappings":"AAmDA;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,aAAa,CAAC;IAAE,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,GAC5D,OAAO,CAOT;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,iCAAiC,CAAC,KAAK,EAAE;IACvD,SAAS,EAAE,OAAO,CAAC;IACnB,eAAe,EAAE,OAAO,CAAC;IACzB,WAAW,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;CAC9C,GAAG,OAAO,CAEV;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,MAAM,gBAAgB,GACxB,OAAO,GACP,mBAAmB,GACnB,kBAAkB,GAClB,eAAe,GACf,eAAe,CAAC;AAEpB,MAAM,WAAW,cAAc;IAC7B,2EAA2E;IAC3E,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,OAAO,CAAC;IACvB,eAAe,EAAE,OAAO,CAAC;IACzB,0DAA0D;IAC1D,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,cAAc,GAAG,gBAAgB,CAMvE;AAED;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAgLzD;AA8BD;;;;;;;;;;;GAWG;AACH,wBAAsB,0BAA0B,IAAI,OAAO,CAAC,IAAI,CAAC,CA6OhE"}
@@ -51,6 +51,30 @@ export function focusWorkWasReopened(deliveries) {
51
51
  d.executionStatus !== DELIVERY_STATUS.DONE &&
52
52
  d.executionStatus !== DELIVERY_STATUS.CANCELLED);
53
53
  }
54
+ /**
55
+ * The arm-evidence gate in front of focusWorkWasReopened for a NULL-role focus.
56
+ * Answers "can delivery state even make this a reopened focus?" -- and thereby
57
+ * both short-circuits the delivery fetch and, decisively, keeps a never-armed
58
+ * focus from ever being classified as reopened.
59
+ *
60
+ * A null assigned_agent_role_id with a non-terminal delivery is REOPENED work
61
+ * only on a focus that was PREVIOUSLY ARMED: a lifecycle clear
62
+ * (auto_terminate_focus_team) can only have run on a focus that once had a team.
63
+ * So the reopened path is consulted ONLY when `everArmed` (product_focuses.
64
+ * first_armed_at non-null) is true. A never-armed focus -- or an older backend
65
+ * that cannot report first_armed_at, which surfaces as everArmed=false -- returns
66
+ * false and stays parked, matching the human go-signal default (fail closed).
67
+ *
68
+ * The other two false cases mirror the caller's pre-existing skips: an operator
69
+ * stop is authoritative (wins regardless), and a review directive already spawns
70
+ * via the fallback -- neither needs the delivery fetch.
71
+ *
72
+ * Pure and exported so the never-armed-skip / previously-armed-spawn / unknown-
73
+ * skip behaviors are pinned directly, without driving module-private spawn state.
74
+ */
75
+ export function nullRoleReopenDependsOnDeliveries(input) {
76
+ return input.everArmed && !input.operatorStopped && input.sessionType !== 'review';
77
+ }
54
78
  export function decideFocusSpawn(gate) {
55
79
  if (!gate.hasRole)
56
80
  return 'skip_unknown_role';
@@ -314,13 +338,26 @@ export async function processPendingSpawnFocuses() {
314
338
  // off-state ONLY if the focus is genuinely finished. If its work was
315
339
  // reopened -- a non-terminal delivery now exists (a gaps_found re-queue, or
316
340
  // new work on a finished focus) -- the directive must spawn under the
317
- // fallback so the reopened work resumes. Compute reopened only when it can
318
- // change the decision: a review directive already spawns via the fallback,
319
- // and an operator stop wins regardless -- both skip the extra fetch.
320
- let reopened = false;
321
- if (!operatorStopped && pending?.sessionType !== 'review') {
322
- reopened = focusWorkWasReopened(await getFocusDeliveries(focus.focus_id));
323
- }
341
+ // fallback so the reopened work resumes.
342
+ //
343
+ // But "a non-terminal delivery exists" is reopened ONLY on a focus that was
344
+ // PREVIOUSLY ARMED: a lifecycle clear can only have run on a focus that once
345
+ // had a team. A NEVER-armed focus (first_armed_at null) with non-terminal
346
+ // (e.g. planning) deliveries is not reopened work -- it is scoped work
347
+ // awaiting a human's first arm, and must stay parked, not spawn a fallback
348
+ // team. So require prior-arm evidence before consulting delivery state. A
349
+ // null first_armed_at (never armed, OR an older backend that cannot report
350
+ // it) fails closed to no-spawn, matching the human go-signal default.
351
+ // Compute reopened only when it can change the decision: a review directive
352
+ // already spawns via the fallback, and an operator stop wins regardless --
353
+ // both skip the extra fetch, as does a focus with no prior arm.
354
+ const reopened = nullRoleReopenDependsOnDeliveries({
355
+ everArmed: focus.first_armed_at != null,
356
+ operatorStopped,
357
+ sessionType: pending?.sessionType,
358
+ })
359
+ ? focusWorkWasReopened(await getFocusDeliveries(focus.focus_id))
360
+ : false;
324
361
  const decision = decideNullRoleSpawn({
325
362
  sessionType: pending?.sessionType,
326
363
  fallbackRole: resolveReviewerFallbackRole(roles.values()),
@@ -1 +1 @@
1
- {"version":3,"file":"listener-spawn.js","sourceRoot":"","sources":["../../src/focus/listener-spawn.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"listener-spawn.js","sourceRoot":"","sources":["../../src/focus/listener-spawn.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/focus-stage-lifecycle/index.ts"],"names":[],"mappings":"AAOA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEzE,OAAO,EAAE,gBAAgB,IAAI,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAC5F,OAAO,EAAE,kBAAkB,IAAI,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AACxF,OAAO,EACL,4BAA4B,EAC5B,sCAAsC,EACvC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,kBAAkB,EAElB,KAAK,YAAY,EAClB,MAAM,qBAAqB,CAAC;AAQ7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AAIpC,gFAAgF;AAChF,MAAM,WAAW,kBAAkB;IACjC,gBAAgB,EAAE,OAAO,uBAAuB,CAAC;IACjD,kBAAkB,EAAE,OAAO,yBAAyB,CAAC;IACrD,uBAAuB,EAAE,CACvB,KAAK,EAAE,UAAU,CAAC,OAAO,4BAA4B,CAAC,CAAC,CAAC,CAAC,KACtD,OAAO,CAAC,MAAM,CAAC,CAAC;IACrB,uBAAuB,EAAE,CACvB,KAAK,EAAE,UAAU,CAAC,OAAO,sCAAsC,CAAC,CAAC,CAAC,CAAC,KAChE,OAAO,CAAC,MAAM,CAAC,CAAC;IACrB,aAAa,EAAE,CACb,KAAK,EAAE,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC,CAAC,CAAC,KAC5C,OAAO,CAAC,YAAY,CAAC,CAAC;CAC5B;AAED,mDAAmD;AACnD,wBAAgB,yBAAyB,IAAI,kBAAkB,CAQ9D;AAED;;;GAGG;AACH,wBAAsB,4BAA4B,CAChD,MAAM,EAAE,YAAY,EACpB,IAAI,GAAE,kBAAgD,GACrD,OAAO,CAAC,IAAI,CAAC,CAwHf;AAGD,YAAY,EAAE,iBAAiB,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/focus-stage-lifecycle/index.ts"],"names":[],"mappings":"AAOA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEzE,OAAO,EAAE,gBAAgB,IAAI,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAC5F,OAAO,EAAE,kBAAkB,IAAI,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AACxF,OAAO,EACL,4BAA4B,EAC5B,sCAAsC,EACvC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,kBAAkB,EAElB,KAAK,YAAY,EAClB,MAAM,qBAAqB,CAAC;AAQ7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AAIpC,gFAAgF;AAChF,MAAM,WAAW,kBAAkB;IACjC,gBAAgB,EAAE,OAAO,uBAAuB,CAAC;IACjD,kBAAkB,EAAE,OAAO,yBAAyB,CAAC;IACrD,uBAAuB,EAAE,CACvB,KAAK,EAAE,UAAU,CAAC,OAAO,4BAA4B,CAAC,CAAC,CAAC,CAAC,KACtD,OAAO,CAAC,MAAM,CAAC,CAAC;IACrB,uBAAuB,EAAE,CACvB,KAAK,EAAE,UAAU,CAAC,OAAO,sCAAsC,CAAC,CAAC,CAAC,CAAC,KAChE,OAAO,CAAC,MAAM,CAAC,CAAC;IACrB,aAAa,EAAE,CACb,KAAK,EAAE,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC,CAAC,CAAC,KAC5C,OAAO,CAAC,YAAY,CAAC,CAAC;CAC5B;AAED,mDAAmD;AACnD,wBAAgB,yBAAyB,IAAI,kBAAkB,CAQ9D;AAED;;;GAGG;AACH,wBAAsB,4BAA4B,CAChD,MAAM,EAAE,YAAY,EACpB,IAAI,GAAE,kBAAgD,GACrD,OAAO,CAAC,IAAI,CAAC,CA2Hf;AAGD,YAAY,EAAE,iBAAiB,EAAE,CAAC"}
@@ -93,6 +93,8 @@ export async function runStageLifecycleTransitions(config, deps = defaultStageLi
93
93
  readOnly: focus.read_only,
94
94
  auditOrigin: focus.audit_origin,
95
95
  ratifiedAt: focus.ratified_at,
96
+ // Prior-arm evidence (fail closed); same first_armed_at read as the wedge watchdog below.
97
+ everArmed: focus.first_armed_at != null,
96
98
  stage: baseArgs.stage, // display-only
97
99
  reviewRequestedAt: focus.review_requested_at,
98
100
  });
@@ -116,6 +118,7 @@ export async function runStageLifecycleTransitions(config, deps = defaultStageLi
116
118
  status: focus.status,
117
119
  assignedAgentRoleId: focus.assigned_agent_role_id,
118
120
  operatorStopped: focus.operator_stopped_at != null,
121
+ everArmed: focus.first_armed_at != null,
119
122
  readOnly: focus.read_only,
120
123
  stage: baseArgs.stage, // display-only
121
124
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/focus-stage-lifecycle/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/focus-stage-lifecycle/index.ts"],"names":[],"mappings":"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"}
@@ -122,12 +122,36 @@ export declare function releaseRatifiedReadOnlyFocus(focus: {
122
122
  * (provenance + phase) -- it never writes read_only, so it is not a second source
123
123
  * of truth for the flag.
124
124
  *
125
+ * Third signal -- PRIOR-ARM EVIDENCE (fail closed): the writable release must not
126
+ * cross the arm boundary. A focus's born-pre-execution deliveries are released to
127
+ * queued (where a team can spawn) only once there is evidence of a prior human
128
+ * go-signal. For a NORMAL execute focus that signal is `first_armed_at`
129
+ * (everArmed): setting the assigned role stamps it once, durably. For a RATIFIED
130
+ * AUDIT focus the go-signal is `ratified_at` (ratification, not role-arm, stamps
131
+ * first_armed_at), so a non-null ratifiedAt is the equivalent evidence and is
132
+ * honored here so the ratified-audit release is preserved. A null/absent everArmed
133
+ * with no ratification means the focus was NEVER armed (or an older backend cannot
134
+ * report the column) -- it is scoped work awaiting a human's first arm, NOT a wedge
135
+ * to sweep, so it fails closed to hold. This matches the null-role spawn convention
136
+ * (TEL-2/TEL-3, nullRoleReopenDependsOnDeliveries) and the wedge-watchdog's
137
+ * everArmed split: absent arm evidence => not ever-armed => hold. Without it, a
138
+ * never-armed focus's planning deliveries were swept to queued and walked to done
139
+ * with no human go-signal (incident 2026-08-31, focus 4dc10bc9).
140
+ *
125
141
  * Exported so tests can drive it with synthetic shapes.
126
142
  */
127
143
  export declare function isWritableFocusPastKickoff(input: {
128
144
  readOnly?: boolean;
129
145
  auditOrigin?: boolean;
130
146
  ratifiedAt?: string | null;
147
+ /**
148
+ * Durable ever-armed marker (product_focuses.first_armed_at non-null). true =>
149
+ * the focus was armed before, so its held pre-execution deliveries may be
150
+ * released; false/undefined => never armed (or a backend predating the column),
151
+ * which fails closed to hold. A ratified audit focus is released via the
152
+ * ratifiedAt escape instead (ratification is its go-signal).
153
+ */
154
+ everArmed?: boolean;
131
155
  deliveries: ReadonlyArray<{
132
156
  executionStatus: string | null;
133
157
  }>;
@@ -208,6 +232,8 @@ export declare function releaseWritableFocusPlanningDeliveries(focus: {
208
232
  auditOrigin?: boolean;
209
233
  /** Human ratification signal; the execute-phase discriminator (TEL-3). */
210
234
  ratifiedAt?: string | null;
235
+ /** Prior-arm evidence gate (first_armed_at non-null); see isWritableFocusPastKickoff. */
236
+ everArmed?: boolean;
211
237
  /** Display-only (logging); NOT used for gating -- the stage column is stale. */
212
238
  stage?: string | null;
213
239
  reviewRequestedAt?: string | null;
@@ -1 +1 @@
1
- {"version":3,"file":"planning-release.d.ts","sourceRoot":"","sources":["../../src/focus-stage-lifecycle/planning-release.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EACL,kBAAkB,IAAI,yBAAyB,EAC/C,mBAAmB,IAAI,0BAA0B,EAClD,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,oBAAoB,IAAI,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAE/F,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAWpD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE;IAC/C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B,GAAG,OAAO,CAEV;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,kBAAkB,EAAE,OAAO,yBAAyB,CAAC;IACrD,mBAAmB,EAAE,OAAO,0BAA0B,CAAC;IACvD,oBAAoB,EAAE,OAAO,2BAA2B,CAAC;IACzD,eAAe,EAAE,OAAO,eAAe,CAAC;CACzC;AASD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,4BAA4B,CAChD,KAAK,EAAE;IACL,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B,EACD,IAAI,GAAE,iBAA4C,GACjD,OAAO,CAAC,MAAM,CAAC,CA0FjB;AAID;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE;IAChD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,aAAa,CAAC;QAAE,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;IAC9D,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,aAAa,EAAE,OAAO,CAAC;CACxB,GAAG,OAAO,CAsBV;AAED;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB;IAClC,kBAAkB,EAAE,OAAO,yBAAyB,CAAC;IACrD,oBAAoB,EAAE,OAAO,2BAA2B,CAAC;IACzD,eAAe,EAAE,OAAO,eAAe,CAAC;IACxC,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;CAC7C;AASD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AACH,wBAAsB,sCAAsC,CAC1D,KAAK,EAAE;IACL,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,+EAA+E;IAC/E,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,0EAA0E;IAC1E,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,gFAAgF;IAChF,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC,EACD,IAAI,GAAE,mBAAgD,GACrD,OAAO,CAAC,MAAM,CAAC,CAwFjB"}
1
+ {"version":3,"file":"planning-release.d.ts","sourceRoot":"","sources":["../../src/focus-stage-lifecycle/planning-release.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EACL,kBAAkB,IAAI,yBAAyB,EAC/C,mBAAmB,IAAI,0BAA0B,EAClD,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,oBAAoB,IAAI,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAE/F,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAWpD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE;IAC/C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B,GAAG,OAAO,CAEV;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,kBAAkB,EAAE,OAAO,yBAAyB,CAAC;IACrD,mBAAmB,EAAE,OAAO,0BAA0B,CAAC;IACvD,oBAAoB,EAAE,OAAO,2BAA2B,CAAC;IACzD,eAAe,EAAE,OAAO,eAAe,CAAC;CACzC;AASD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,4BAA4B,CAChD,KAAK,EAAE;IACL,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B,EACD,IAAI,GAAE,iBAA4C,GACjD,OAAO,CAAC,MAAM,CAAC,CA0FjB;AAID;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+DG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE;IAChD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,aAAa,CAAC;QAAE,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;IAC9D,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,aAAa,EAAE,OAAO,CAAC;CACxB,GAAG,OAAO,CA2BV;AAED;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB;IAClC,kBAAkB,EAAE,OAAO,yBAAyB,CAAC;IACrD,oBAAoB,EAAE,OAAO,2BAA2B,CAAC;IACzD,eAAe,EAAE,OAAO,eAAe,CAAC;IACxC,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;CAC7C;AASD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AACH,wBAAsB,sCAAsC,CAC1D,KAAK,EAAE;IACL,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,+EAA+E;IAC/E,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,0EAA0E;IAC1E,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,yFAAyF;IACzF,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,gFAAgF;IAChF,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC,EACD,IAAI,GAAE,mBAAgD,GACrD,OAAO,CAAC,MAAM,CAAC,CAyFjB"}
@@ -193,6 +193,22 @@ export async function releaseRatifiedReadOnlyFocus(focus, deps = defaultRatifyRe
193
193
  * (provenance + phase) -- it never writes read_only, so it is not a second source
194
194
  * of truth for the flag.
195
195
  *
196
+ * Third signal -- PRIOR-ARM EVIDENCE (fail closed): the writable release must not
197
+ * cross the arm boundary. A focus's born-pre-execution deliveries are released to
198
+ * queued (where a team can spawn) only once there is evidence of a prior human
199
+ * go-signal. For a NORMAL execute focus that signal is `first_armed_at`
200
+ * (everArmed): setting the assigned role stamps it once, durably. For a RATIFIED
201
+ * AUDIT focus the go-signal is `ratified_at` (ratification, not role-arm, stamps
202
+ * first_armed_at), so a non-null ratifiedAt is the equivalent evidence and is
203
+ * honored here so the ratified-audit release is preserved. A null/absent everArmed
204
+ * with no ratification means the focus was NEVER armed (or an older backend cannot
205
+ * report the column) -- it is scoped work awaiting a human's first arm, NOT a wedge
206
+ * to sweep, so it fails closed to hold. This matches the null-role spawn convention
207
+ * (TEL-2/TEL-3, nullRoleReopenDependsOnDeliveries) and the wedge-watchdog's
208
+ * everArmed split: absent arm evidence => not ever-armed => hold. Without it, a
209
+ * never-armed focus's planning deliveries were swept to queued and walked to done
210
+ * with no human go-signal (incident 2026-08-31, focus 4dc10bc9).
211
+ *
196
212
  * Exported so tests can drive it with synthetic shapes.
197
213
  */
198
214
  export function isWritableFocusPastKickoff(input) {
@@ -207,6 +223,12 @@ export function isWritableFocusPastKickoff(input) {
207
223
  }
208
224
  if (input.readOnly !== false)
209
225
  return false;
226
+ // Prior human go-signal required (fail closed): first_armed_at for a normal
227
+ // execute focus, OR ratified_at for a (ratified) audit focus. A never-armed,
228
+ // never-ratified focus stays parked -- its scoped deliveries are not a wedge to
229
+ // release; they await a human's first arm.
230
+ if (input.everArmed !== true && input.ratifiedAt == null)
231
+ return false;
210
232
  const phase = deriveFocusPhase({
211
233
  deliveries: input.deliveries.map((d) => ({ executionStatus: d.executionStatus })),
212
234
  reviewRequestedAt: input.reviewRequestedAt ?? null,
@@ -306,6 +328,7 @@ export async function releaseWritableFocusPlanningDeliveries(focus, deps = defau
306
328
  readOnly: focus.readOnly,
307
329
  auditOrigin: focus.auditOrigin,
308
330
  ratifiedAt: focus.ratifiedAt,
331
+ everArmed: focus.everArmed,
309
332
  deliveries,
310
333
  reviewRequestedAt: focus.reviewRequestedAt,
311
334
  hasActiveTeam: deps.hasActiveTeam(focus.focusId),
@@ -1 +1 @@
1
- {"version":3,"file":"planning-release.js","sourceRoot":"","sources":["../../src/focus-stage-lifecycle/planning-release.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"planning-release.js","sourceRoot":"","sources":["../../src/focus-stage-lifecycle/planning-release.ts"],"names":[],"mappings":"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"}
@@ -181,6 +181,15 @@ export interface WedgeFocusInput {
181
181
  * stop from a lifecycle role-clear when assignedAgentRoleId is null.
182
182
  */
183
183
  operatorStopped?: boolean;
184
+ /**
185
+ * Durable ever-armed marker (product_focuses.first_armed_at non-null). Splits a
186
+ * role-less-with-work focus into its two causes: true => the focus was armed
187
+ * before and a lifecycle clear outran its work (the arm was cleared while work
188
+ * remains); false/undefined => the focus was NEVER armed and is simply scoped
189
+ * and awaiting its first arm -- no auto_terminate trail to imply. Absent on
190
+ * backends predating the column reads as never-armed (the safe wording).
191
+ */
192
+ everArmed?: boolean;
184
193
  /** Display-only (logging); NOT used for gating -- the stage column is stale. */
185
194
  stage?: string | null;
186
195
  }