@sensigo/realm 0.26.0 → 0.28.0

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 (57) hide show
  1. package/dist/engine/claim-liveness.d.ts +59 -11
  2. package/dist/engine/claim-liveness.d.ts.map +1 -1
  3. package/dist/engine/claim-liveness.js +83 -19
  4. package/dist/engine/claim-liveness.js.map +1 -1
  5. package/dist/engine/eligibility.d.ts +13 -0
  6. package/dist/engine/eligibility.d.ts.map +1 -1
  7. package/dist/engine/eligibility.js +20 -8
  8. package/dist/engine/eligibility.js.map +1 -1
  9. package/dist/engine/execution-loop.d.ts +13 -0
  10. package/dist/engine/execution-loop.d.ts.map +1 -1
  11. package/dist/engine/execution-loop.js +496 -58
  12. package/dist/engine/execution-loop.js.map +1 -1
  13. package/dist/engine/reclaim-step.d.ts.map +1 -1
  14. package/dist/engine/reclaim-step.js +187 -12
  15. package/dist/engine/reclaim-step.js.map +1 -1
  16. package/dist/engine/trace-adoption.d.ts +53 -0
  17. package/dist/engine/trace-adoption.d.ts.map +1 -0
  18. package/dist/engine/trace-adoption.js +49 -0
  19. package/dist/engine/trace-adoption.js.map +1 -0
  20. package/dist/evidence/snapshot.d.ts +11 -1
  21. package/dist/evidence/snapshot.d.ts.map +1 -1
  22. package/dist/evidence/snapshot.js +1 -0
  23. package/dist/evidence/snapshot.js.map +1 -1
  24. package/dist/index.d.ts +8 -6
  25. package/dist/index.d.ts.map +1 -1
  26. package/dist/index.js +8 -5
  27. package/dist/index.js.map +1 -1
  28. package/dist/store/fs-io.d.ts +26 -0
  29. package/dist/store/fs-io.d.ts.map +1 -1
  30. package/dist/store/fs-io.js +37 -2
  31. package/dist/store/fs-io.js.map +1 -1
  32. package/dist/store/json-file-store.d.ts.map +1 -1
  33. package/dist/store/json-file-store.js +2 -5
  34. package/dist/store/json-file-store.js.map +1 -1
  35. package/dist/store/trace-buffer-store.d.ts +419 -7
  36. package/dist/store/trace-buffer-store.d.ts.map +1 -1
  37. package/dist/store/trace-buffer-store.js +401 -30
  38. package/dist/store/trace-buffer-store.js.map +1 -1
  39. package/dist/types/response-envelope.d.ts +20 -0
  40. package/dist/types/response-envelope.d.ts.map +1 -1
  41. package/dist/types/run-record.d.ts +60 -15
  42. package/dist/types/run-record.d.ts.map +1 -1
  43. package/dist/types/workflow-definition.d.ts +52 -7
  44. package/dist/types/workflow-definition.d.ts.map +1 -1
  45. package/dist/types/workflow-definition.js +15 -0
  46. package/dist/types/workflow-definition.js.map +1 -1
  47. package/dist/types/workflow-error.d.ts +1 -1
  48. package/dist/types/workflow-error.d.ts.map +1 -1
  49. package/dist/types/workflow-error.js.map +1 -1
  50. package/dist/workflow/diagnostics.d.ts +15 -6
  51. package/dist/workflow/diagnostics.d.ts.map +1 -1
  52. package/dist/workflow/diagnostics.js +16 -8
  53. package/dist/workflow/diagnostics.js.map +1 -1
  54. package/dist/workflow/yaml-loader.d.ts.map +1 -1
  55. package/dist/workflow/yaml-loader.js +108 -6
  56. package/dist/workflow/yaml-loader.js.map +1 -1
  57. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  import type { RunRecord, ClaimRecord } from '../types/run-record.js';
2
- import type { WorkflowDefinition, StepDefinition } from '../types/workflow-definition.js';
2
+ import type { WorkflowDefinition, StepDefinition, RetryConfig } from '../types/workflow-definition.js';
3
3
  /**
4
4
  * Default execution timeout (issue A3) enforced on every `execution: 'auto'` step that declares no
5
5
  * `timeout_seconds` — bounds a hung adapter/handler call so it fails loudly (`STEP_TIMEOUT`)
@@ -33,6 +33,40 @@ export declare const RECLAIM_MARGIN_SECONDS = 60;
33
33
  * deadline-carrying claim — finalizer-bearing steps get `deadline: null` → `claim_unknown_age`.)
34
34
  */
35
35
  export declare const RECLAIM_FLOOR_SECONDS = 900;
36
+ /**
37
+ * Computes the worst-case wall-clock (SECONDS) across every attempt of a retry-configured step:
38
+ * `max_attempts × perAttemptSec` + the sum of the DECLARED backoff delays between attempts (n-1 of
39
+ * them, for attemptNum 1..n-1 — matches the retry loop's own schedule in execution-loop.ts;
40
+ * computeBackoff returns ms). Pure — the declared schedule only; does not model a runtime
41
+ * rate-limit `retry_after` override (execution-loop.ts applies that separately). This is the
42
+ * SHARED formula (issue #140) consumed by BOTH `computeClaimDeadline` below (the claim DETECTION
43
+ * horizon) and `resolveCapMs` (the engine's ENFORCEMENT cap) so the two can never independently
44
+ * drift apart — see the congruence-by-construction test in claim-liveness.test.ts.
45
+ */
46
+ export declare function worstCaseScheduleSeconds(retry: RetryConfig, perAttemptSec: number): number;
47
+ /**
48
+ * Resolves the total-time cap (MILLISECONDS) enforced across every attempt of a retry-configured
49
+ * `execution: 'auto'` step (issue #140, AMENDED default): the explicit `retry.total_timeout_seconds`
50
+ * when declared — `!== undefined`, NEVER truthiness, so a hand-built `total_timeout_seconds: 0` is
51
+ * honored as a present (already-exhausted) cap rather than falling through to the default — else
52
+ * the shared `worstCaseScheduleSeconds` formula above. The default equals the step's own declared
53
+ * schedule, so the cap binds only when a runtime wait pushes an attempt's actual wall-clock
54
+ * MATERIALLY past it. Call only when enforcement applies and `retryConfig` is defined
55
+ * (execution-loop.ts gates the call on `enforceTimeout && retryConfig !== undefined`) — `timeoutMs`
56
+ * is guaranteed defined in that case. Seconds-in (`total_timeout_seconds`, `timeoutMs / 1000`),
57
+ * MILLISECONDS-out — the same convention `timeoutMs` itself uses.
58
+ */
59
+ export declare function resolveCapMs(retry: RetryConfig, timeoutMs: number): number;
60
+ /**
61
+ * Pure predicate for the engine's site-(c) sleep guard (issue #140 correction, S2): whether
62
+ * sleeping `waitMs` more, on top of `elapsedMs` already spent, would meet or exceed the total-time
63
+ * cap `capMs`. `>=`, not `>` — an exact-fit sleep is doomed too (never sleep into a wall). Module
64
+ * export ONLY (not re-exported from `packages/core/src/index.ts`) — this exists purely so the
65
+ * boundary itself can be unit-pinned without depending on real-timer elapsed-time precision (a
66
+ * real clock is never observed to read EXACTLY `capMs - waitMs`, so a test driving this through
67
+ * `executeStep` cannot discriminate `>=` from `>` at the boundary — seeing this in isolation can).
68
+ */
69
+ export declare function sleepWouldExceedCap(elapsedMs: number, waitMs: number, capMs: number): boolean;
36
70
  /**
37
71
  * Computes the claim deadline for `stepName` at claim time. A CONCRETE deadline is returned ONLY
38
72
  * for a reliably time-boundable claim: an `execution: 'auto'` (handler-driven) step in a workflow
@@ -42,16 +76,30 @@ export declare const RECLAIM_FLOOR_SECONDS = 900;
42
76
  * any step in a finalizer-bearing workflow may hold its claim through the terminal drain.
43
77
  *
44
78
  * The horizon is the WORST-CASE wall-clock across every retry attempt (issue #101 follow-up —
45
- * Design Reviewer finding #4 from the A3 debate): a single-attempt bound understates a retrying
46
- * step's real claim span (`max_attempts × per-attempt-timeout + the declared backoffs between
47
- * attempts`), so a legitimately-retrying step could be labeled `claim_stale` — and, if
48
- * `idempotent`, become eligible for a premature `realm run reclaim --all --force` re-drive —
49
- * while still on an early attempt. For `n = 1` (no `retry:`, or `max_attempts: 1`) this reduces
50
- * EXACTLY to the prior single-attempt formula `max(RECLAIM_FLOOR, perAttemptSec + MARGIN)`, so
51
- * non-retry steps' horizons are byte-unchanged. This uses the DECLARED backoff schedule only — a
52
- * runtime `retry_after` (rate-limit 429 override, applied in execution-loop.ts) is not knowable at
53
- * claim time; the horizon stays a best-effort, floored, advisory bound (Phase 1 gates no action on
54
- * this label) and does not attempt to model `retry_after`.
79
+ * Design Reviewer finding #4 from the A3 debate), via the shared `worstCaseScheduleSeconds`
80
+ * formula above: a single-attempt bound understates a retrying step's real claim span, so a
81
+ * legitimately-retrying step could be labeled `claim_stale` — and, if `idempotent`, become
82
+ * eligible for a premature `realm run reclaim --all --force` re-drive — while still on an early
83
+ * attempt. For `n = 1` (no `retry:`, or `max_attempts: 1`) this reduces EXACTLY to the prior
84
+ * single-attempt formula `max(RECLAIM_FLOOR, perAttemptSec + MARGIN)`, so non-retry steps'
85
+ * horizons are byte-unchanged.
86
+ *
87
+ * Issue #140 AMENDMENT + correction (B2): the horizon now consumes the SAME resolved cap the
88
+ * engine enforces `(explicit total_timeout_seconds ?? worstCaseScheduleSeconds) + margin`,
89
+ * via `resolveCapMs` (record §3: `(cap ?? worstCase) + margin`). This is NOT merely "the runtime
90
+ * enforcement side changed; this function's formula did not" (an earlier, INCORRECT claim this
91
+ * paragraph made) — the horizon's own formula changed too, and had to: a step declaring an
92
+ * EXPLICIT `total_timeout_seconds` ABOVE its worst-case schedule (the legitimate long-wait
93
+ * opt-in this feature exists to support) would otherwise sleep past a horizon computed from the
94
+ * worst-case schedule ALONE, well before its declared cap — a premature `claim_stale` mid-
95
+ * legitimate-sleep, exactly the silent-duplicate hazard this program closes. Consuming
96
+ * `resolveCapMs` closes it: retry-no-cap still reduces to the worst-case schedule (unchanged,
97
+ * every pre-existing pin stays byte-identical), no-retry still reduces to `perAttemptSec`
98
+ * (unchanged), and retry-WITH-an-explicit-cap now widens the horizon to `cap + margin` — the
99
+ * record's mandate. The prior "does not attempt to model `retry_after`" caveat remains retired
100
+ * for the DEFAULT-cap population for the same reason as before (enforcement now tracks the
101
+ * declared schedule there too); it is now ALSO honestly retired for the explicit-cap population,
102
+ * which this correction is what actually makes true.
55
103
  */
56
104
  export declare function computeClaimDeadline(definition: WorkflowDefinition, stepName: string, now: Date): string | null;
57
105
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"claim-liveness.d.ts","sourceRoot":"","sources":["../../src/engine/claim-liveness.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAG1F;;;;;;;GAOG;AACH,eAAO,MAAM,iCAAiC,OAAO,CAAC;AAEtD;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAElE;AAKD;;;GAGG;AACH,eAAO,MAAM,4BAA4B,MAAM,CAAC;AAChD,qGAAqG;AACrG,eAAO,MAAM,sBAAsB,KAAK,CAAC;AACzC;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,MAAM,CAAC;AAEzC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,kBAAkB,EAC9B,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,IAAI,GACR,MAAM,GAAG,IAAI,CAgBf;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CACvB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,SAAS,EAC/C,QAAQ,EAAE,MAAM,GACf,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAI7B;AAED;;;;;;GAMG;AACH,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,aAAa,GAAG,mBAAmB,CAAC;AAEzE,wGAAwG;AACxG,wBAAgB,aAAa,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,EAAE,GAAG,EAAE,IAAI,GAAG,UAAU,CAGnF;AAED,6FAA6F;AAC7F,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,UAAU,CAAC;IAClB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,SAAS,EACd,GAAG,GAAE,IAAiB,GACrB,mBAAmB,EAAE,CAKvB"}
1
+ {"version":3,"file":"claim-liveness.d.ts","sourceRoot":"","sources":["../../src/engine/claim-liveness.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,KAAK,EACV,kBAAkB,EAClB,cAAc,EACd,WAAW,EACZ,MAAM,iCAAiC,CAAC;AAGzC;;;;;;;GAOG;AACH,eAAO,MAAM,iCAAiC,OAAO,CAAC;AAEtD;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAElE;AAKD;;;GAGG;AACH,eAAO,MAAM,4BAA4B,MAAM,CAAC;AAChD,qGAAqG;AACrG,eAAO,MAAM,sBAAsB,KAAK,CAAC;AACzC;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,MAAM,CAAC;AAEzC;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,CAa1F;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAE1E;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAE7F;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,kBAAkB,EAC9B,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,IAAI,GACR,MAAM,GAAG,IAAI,CAgBf;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CACvB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,SAAS,EAC/C,QAAQ,EAAE,MAAM,GACf,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAI7B;AAED;;;;;;GAMG;AACH,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,aAAa,GAAG,mBAAmB,CAAC;AAEzE,wGAAwG;AACxG,wBAAgB,aAAa,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,EAAE,GAAG,EAAE,IAAI,GAAG,UAAU,CAGnF;AAED,6FAA6F;AAC7F,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,UAAU,CAAC;IAClB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,SAAS,EACd,GAAG,GAAE,IAAiB,GACrB,mBAAmB,EAAE,CAKvB"}
@@ -36,6 +36,58 @@ export const RECLAIM_MARGIN_SECONDS = 60; // 1 min
36
36
  * deadline-carrying claim — finalizer-bearing steps get `deadline: null` → `claim_unknown_age`.)
37
37
  */
38
38
  export const RECLAIM_FLOOR_SECONDS = 900; // 15 min
39
+ /**
40
+ * Computes the worst-case wall-clock (SECONDS) across every attempt of a retry-configured step:
41
+ * `max_attempts × perAttemptSec` + the sum of the DECLARED backoff delays between attempts (n-1 of
42
+ * them, for attemptNum 1..n-1 — matches the retry loop's own schedule in execution-loop.ts;
43
+ * computeBackoff returns ms). Pure — the declared schedule only; does not model a runtime
44
+ * rate-limit `retry_after` override (execution-loop.ts applies that separately). This is the
45
+ * SHARED formula (issue #140) consumed by BOTH `computeClaimDeadline` below (the claim DETECTION
46
+ * horizon) and `resolveCapMs` (the engine's ENFORCEMENT cap) so the two can never independently
47
+ * drift apart — see the congruence-by-construction test in claim-liveness.test.ts.
48
+ */
49
+ export function worstCaseScheduleSeconds(retry, perAttemptSec) {
50
+ // issue #140 correction (B1): the loader ADMITS an absent `max_attempts` (only validates its
51
+ // shape IF present — see yaml-loader.ts's retry-block walk; W1's own comment says so), so a
52
+ // loader-legal `retry: {backoff: fixed, base_delay_ms: 1000}` step reaches here with
53
+ // `retry.max_attempts === undefined` despite the TYPE declaring it required. An unguarded read
54
+ // is a NaN cascade: NaN capMs arms every guard, NaN effectiveMs instant-timeouts attempt 1 via
55
+ // setTimeout's own NaN→0 coercion, and `new Date(NaN).toISOString()` THROWS inside
56
+ // computeClaimDeadline (called from claimStep) — every execute_step on such a step would crash.
57
+ // Mirror execution-loop's own `retryConfig?.max_attempts ?? 1` default idiom exactly.
58
+ const n = retry.max_attempts ?? 1;
59
+ let backoffSec = 0;
60
+ for (let a = 1; a < n; a++)
61
+ backoffSec += computeBackoff(retry, a) / 1000;
62
+ return n * perAttemptSec + backoffSec;
63
+ }
64
+ /**
65
+ * Resolves the total-time cap (MILLISECONDS) enforced across every attempt of a retry-configured
66
+ * `execution: 'auto'` step (issue #140, AMENDED default): the explicit `retry.total_timeout_seconds`
67
+ * when declared — `!== undefined`, NEVER truthiness, so a hand-built `total_timeout_seconds: 0` is
68
+ * honored as a present (already-exhausted) cap rather than falling through to the default — else
69
+ * the shared `worstCaseScheduleSeconds` formula above. The default equals the step's own declared
70
+ * schedule, so the cap binds only when a runtime wait pushes an attempt's actual wall-clock
71
+ * MATERIALLY past it. Call only when enforcement applies and `retryConfig` is defined
72
+ * (execution-loop.ts gates the call on `enforceTimeout && retryConfig !== undefined`) — `timeoutMs`
73
+ * is guaranteed defined in that case. Seconds-in (`total_timeout_seconds`, `timeoutMs / 1000`),
74
+ * MILLISECONDS-out — the same convention `timeoutMs` itself uses.
75
+ */
76
+ export function resolveCapMs(retry, timeoutMs) {
77
+ return (retry.total_timeout_seconds ?? worstCaseScheduleSeconds(retry, timeoutMs / 1000)) * 1000;
78
+ }
79
+ /**
80
+ * Pure predicate for the engine's site-(c) sleep guard (issue #140 correction, S2): whether
81
+ * sleeping `waitMs` more, on top of `elapsedMs` already spent, would meet or exceed the total-time
82
+ * cap `capMs`. `>=`, not `>` — an exact-fit sleep is doomed too (never sleep into a wall). Module
83
+ * export ONLY (not re-exported from `packages/core/src/index.ts`) — this exists purely so the
84
+ * boundary itself can be unit-pinned without depending on real-timer elapsed-time precision (a
85
+ * real clock is never observed to read EXACTLY `capMs - waitMs`, so a test driving this through
86
+ * `executeStep` cannot discriminate `>=` from `>` at the boundary — seeing this in isolation can).
87
+ */
88
+ export function sleepWouldExceedCap(elapsedMs, waitMs, capMs) {
89
+ return elapsedMs + waitMs >= capMs;
90
+ }
39
91
  /**
40
92
  * Computes the claim deadline for `stepName` at claim time. A CONCRETE deadline is returned ONLY
41
93
  * for a reliably time-boundable claim: an `execution: 'auto'` (handler-driven) step in a workflow
@@ -45,16 +97,30 @@ export const RECLAIM_FLOOR_SECONDS = 900; // 15 min
45
97
  * any step in a finalizer-bearing workflow may hold its claim through the terminal drain.
46
98
  *
47
99
  * The horizon is the WORST-CASE wall-clock across every retry attempt (issue #101 follow-up —
48
- * Design Reviewer finding #4 from the A3 debate): a single-attempt bound understates a retrying
49
- * step's real claim span (`max_attempts × per-attempt-timeout + the declared backoffs between
50
- * attempts`), so a legitimately-retrying step could be labeled `claim_stale` — and, if
51
- * `idempotent`, become eligible for a premature `realm run reclaim --all --force` re-drive —
52
- * while still on an early attempt. For `n = 1` (no `retry:`, or `max_attempts: 1`) this reduces
53
- * EXACTLY to the prior single-attempt formula `max(RECLAIM_FLOOR, perAttemptSec + MARGIN)`, so
54
- * non-retry steps' horizons are byte-unchanged. This uses the DECLARED backoff schedule only — a
55
- * runtime `retry_after` (rate-limit 429 override, applied in execution-loop.ts) is not knowable at
56
- * claim time; the horizon stays a best-effort, floored, advisory bound (Phase 1 gates no action on
57
- * this label) and does not attempt to model `retry_after`.
100
+ * Design Reviewer finding #4 from the A3 debate), via the shared `worstCaseScheduleSeconds`
101
+ * formula above: a single-attempt bound understates a retrying step's real claim span, so a
102
+ * legitimately-retrying step could be labeled `claim_stale` — and, if `idempotent`, become
103
+ * eligible for a premature `realm run reclaim --all --force` re-drive — while still on an early
104
+ * attempt. For `n = 1` (no `retry:`, or `max_attempts: 1`) this reduces EXACTLY to the prior
105
+ * single-attempt formula `max(RECLAIM_FLOOR, perAttemptSec + MARGIN)`, so non-retry steps'
106
+ * horizons are byte-unchanged.
107
+ *
108
+ * Issue #140 AMENDMENT + correction (B2): the horizon now consumes the SAME resolved cap the
109
+ * engine enforces `(explicit total_timeout_seconds ?? worstCaseScheduleSeconds) + margin`,
110
+ * via `resolveCapMs` (record §3: `(cap ?? worstCase) + margin`). This is NOT merely "the runtime
111
+ * enforcement side changed; this function's formula did not" (an earlier, INCORRECT claim this
112
+ * paragraph made) — the horizon's own formula changed too, and had to: a step declaring an
113
+ * EXPLICIT `total_timeout_seconds` ABOVE its worst-case schedule (the legitimate long-wait
114
+ * opt-in this feature exists to support) would otherwise sleep past a horizon computed from the
115
+ * worst-case schedule ALONE, well before its declared cap — a premature `claim_stale` mid-
116
+ * legitimate-sleep, exactly the silent-duplicate hazard this program closes. Consuming
117
+ * `resolveCapMs` closes it: retry-no-cap still reduces to the worst-case schedule (unchanged,
118
+ * every pre-existing pin stays byte-identical), no-retry still reduces to `perAttemptSec`
119
+ * (unchanged), and retry-WITH-an-explicit-cap now widens the horizon to `cap + margin` — the
120
+ * record's mandate. The prior "does not attempt to model `retry_after`" caveat remains retired
121
+ * for the DEFAULT-cap population for the same reason as before (enforcement now tracks the
122
+ * declared schedule there too); it is now ALSO honestly retired for the explicit-cap population,
123
+ * which this correction is what actually makes true.
58
124
  */
59
125
  export function computeClaimDeadline(definition, stepName, now) {
60
126
  const step = definition.steps[stepName];
@@ -63,16 +129,14 @@ export function computeClaimDeadline(definition, stepName, now) {
63
129
  const hasFinalizers = Object.values(definition.steps).some((s) => s.execution === 'finalizer');
64
130
  if (step.execution !== 'auto' || hasFinalizers)
65
131
  return null;
66
- const n = step.retry?.max_attempts ?? 1;
67
132
  const perAttemptSec = step.timeout_seconds ?? DEFAULT_EXECUTION_TIMEOUT_SECONDS;
68
- // Backoffs occur BETWEEN attempts: n-1 of them, for attemptNum 1..n-1 (matches the retry loop's
69
- // schedule in execution-loop.ts). computeBackoff returns ms; the horizon is seconds.
70
- let backoffSec = 0;
71
- if (step.retry !== undefined) {
72
- for (let a = 1; a < n; a++)
73
- backoffSec += computeBackoff(step.retry, a) / 1000;
74
- }
75
- const worstCaseSec = n * perAttemptSec + backoffSec;
133
+ // B2: consume the resolved cap (explicit total_timeout_seconds, when declared, else the shared
134
+ // worst-case formula) NOT worstCaseScheduleSeconds directly so an explicit cap ABOVE the
135
+ // worst-case schedule widens the horizon instead of leaving it silently short. resolveCapMs
136
+ // returns MILLISECONDS; this function works in SECONDS throughout, hence the /1000.
137
+ const worstCaseSec = step.retry !== undefined
138
+ ? resolveCapMs(step.retry, perAttemptSec * 1000) / 1000
139
+ : perAttemptSec;
76
140
  const horizonSeconds = Math.max(RECLAIM_FLOOR_SECONDS, worstCaseSec + RECLAIM_MARGIN_SECONDS);
77
141
  return new Date(now.getTime() + horizonSeconds * 1000).toISOString();
78
142
  }
@@ -1 +1 @@
1
- {"version":3,"file":"claim-liveness.js","sourceRoot":"","sources":["../../src/engine/claim-liveness.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claim-liveness.js","sourceRoot":"","sources":["../../src/engine/claim-liveness.ts"],"names":[],"mappings":"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"}
@@ -38,6 +38,19 @@ export declare function evaluateWhen(clause: string | string[], evidenceByStep:
38
38
  * the human's choice is accessible via context.resources.<step>.choice in when expressions.
39
39
  */
40
40
  export declare function buildEvidenceByStep(run: RunRecord): Record<string, Record<string, unknown>>;
41
+ /**
42
+ * True iff `stepId` is a member of `completed_steps ∪ failed_steps ∪ skipped_steps ∪
43
+ * in_progress_steps` on `run` — the shared "already settled or currently claimed" membership
44
+ * test, factored out (issue #207) from four inline four-array checks that had drifted apart in
45
+ * shape at their call sites. `append_trace.ts` has its own, separate `skipped_steps` omission
46
+ * (D3 §2) — NOT fixed by this PR (append_trace.ts is untouched here; adopting this helper there
47
+ * is PR-2's job). This chokepoint is what makes that fix, once made, a one-line call instead of a
48
+ * fifth hand-copied four-array check. Pure and synchronous by design — every call site that
49
+ * depends on running with no `await` between a check and a mutation (e.g. `InMemoryStore
50
+ * .claimStep`'s issue #188 no-await-between-check-and-mutate fix) can call this helper without
51
+ * reintroducing a microtask-yield point.
52
+ */
53
+ export declare function isStepSettledOrInFlight(run: RunRecord, stepId: string): boolean;
41
54
  /**
42
55
  * Returns the names of all steps currently eligible for execution.
43
56
  * Gate serialization: if any gate is open, no steps are eligible.
@@ -1 +1 @@
1
- {"version":3,"file":"eligibility.d.ts","sourceRoot":"","sources":["../../src/engine/eligibility.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,kBAAkB,EAClB,cAAc,EAEf,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAKvD;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,IAAI,CACP,SAAS,EACP,cAAc,GACd,gBAAgB,GAChB,cAAc,GACd,iBAAiB,GACjB,YAAY,GACZ,cAAc,CACjB,GACA,QAAQ,CAsBV;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,CA0ClF;AAgDD;;;;;;;;;;;;GAYG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EACvD,SAAS,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACtC,OAAO,CA+CT;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,EACzB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EACvD,SAAS,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACtC,OAAO,CAGT;AAoDD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAe3F;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,kBAAkB,EAAE,GAAG,EAAE,SAAS,GAAG,MAAM,EAAE,CAsC1F;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,kBAAkB,EAAE,GAAG,EAAE,SAAS,GAAG,MAAM,EAAE,CAkC/F;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,SAAS,EAAE,UAAU,EAAE,kBAAkB,GAAG,OAAO,CAe1F;AAkHD,sGAAsG;AACtG,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,mGAAmG;IACnG,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;CACrC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,SAAS,EACd,UAAU,EAAE,kBAAkB,GAC7B,oBAAoB,CAgEtB"}
1
+ {"version":3,"file":"eligibility.d.ts","sourceRoot":"","sources":["../../src/engine/eligibility.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,kBAAkB,EAClB,cAAc,EAEf,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAKvD;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,IAAI,CACP,SAAS,EACP,cAAc,GACd,gBAAgB,GAChB,cAAc,GACd,iBAAiB,GACjB,YAAY,GACZ,cAAc,CACjB,GACA,QAAQ,CAsBV;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,CA0ClF;AAgDD;;;;;;;;;;;;GAYG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EACvD,SAAS,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACtC,OAAO,CA+CT;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,EACzB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EACvD,SAAS,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACtC,OAAO,CAGT;AAoDD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAe3F;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAO/E;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,kBAAkB,EAAE,GAAG,EAAE,SAAS,GAAG,MAAM,EAAE,CAiC1F;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,kBAAkB,EAAE,GAAG,EAAE,SAAS,GAAG,MAAM,EAAE,CA6B/F;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,SAAS,EAAE,UAAU,EAAE,kBAAkB,GAAG,OAAO,CAe1F;AAkHD,sGAAsG;AACtG,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,mGAAmG;IACnG,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;CACrC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,SAAS,EACd,UAAU,EAAE,kBAAkB,GAC7B,oBAAoB,CAgEtB"}
@@ -243,6 +243,24 @@ export function buildEvidenceByStep(run) {
243
243
  }
244
244
  return evidenceByStep;
245
245
  }
246
+ /**
247
+ * True iff `stepId` is a member of `completed_steps ∪ failed_steps ∪ skipped_steps ∪
248
+ * in_progress_steps` on `run` — the shared "already settled or currently claimed" membership
249
+ * test, factored out (issue #207) from four inline four-array checks that had drifted apart in
250
+ * shape at their call sites. `append_trace.ts` has its own, separate `skipped_steps` omission
251
+ * (D3 §2) — NOT fixed by this PR (append_trace.ts is untouched here; adopting this helper there
252
+ * is PR-2's job). This chokepoint is what makes that fix, once made, a one-line call instead of a
253
+ * fifth hand-copied four-array check. Pure and synchronous by design — every call site that
254
+ * depends on running with no `await` between a check and a mutation (e.g. `InMemoryStore
255
+ * .claimStep`'s issue #188 no-await-between-check-and-mutate fix) can call this helper without
256
+ * reintroducing a microtask-yield point.
257
+ */
258
+ export function isStepSettledOrInFlight(run, stepId) {
259
+ return (run.completed_steps.includes(stepId) ||
260
+ run.failed_steps.includes(stepId) ||
261
+ run.skipped_steps.includes(stepId) ||
262
+ run.in_progress_steps.includes(stepId));
263
+ }
246
264
  /**
247
265
  * Returns the names of all steps currently eligible for execution.
248
266
  * Gate serialization: if any gate is open, no steps are eligible.
@@ -268,10 +286,7 @@ export function findEligibleSteps(definition, run) {
268
286
  if (step.execution === 'guard' || step.execution === 'finalizer')
269
287
  continue;
270
288
  // Already done or in-flight.
271
- if (run.completed_steps.includes(stepName) ||
272
- run.in_progress_steps.includes(stepName) ||
273
- run.failed_steps.includes(stepName) ||
274
- run.skipped_steps.includes(stepName)) {
289
+ if (isStepSettledOrInFlight(run, stepName)) {
275
290
  continue;
276
291
  }
277
292
  // Trigger rule evaluation.
@@ -304,10 +319,7 @@ export function findEligibleGuardSteps(definition, run) {
304
319
  if (step.execution !== 'guard')
305
320
  continue;
306
321
  // Already settled.
307
- if (run.completed_steps.includes(stepName) ||
308
- run.in_progress_steps.includes(stepName) ||
309
- run.failed_steps.includes(stepName) ||
310
- run.skipped_steps.includes(stepName)) {
322
+ if (isStepSettledOrInFlight(run, stepName)) {
311
323
  continue;
312
324
  }
313
325
  // Trigger rule evaluation.
@@ -1 +1 @@
1
- {"version":3,"file":"eligibility.js","sourceRoot":"","sources":["../../src/engine/eligibility.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"eligibility.js","sourceRoot":"","sources":["../../src/engine/eligibility.ts"],"names":[],"mappings":"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"}
@@ -39,6 +39,17 @@ export interface ExecuteStepOptions {
39
39
  * When absent, behaviour is identical to the pre-B-lite path.
40
40
  */
41
41
  traceBufferStore?: TraceBufferStore;
42
+ /**
43
+ * Client-minted, opaque per-step-attempt writer identity (issue #197 PR-2, design §2) — pre-
44
+ * validated at the tool/CLI layer (shape, presence-on-non-agent-step); the engine never
45
+ * validates its shape, only uses it as an opaque comparison key. Honored ONLY when the
46
+ * configured `traceBufferStore` declares `writer_nonce_carriage` (the activation gate,
47
+ * design §3) — on a lesser store this is IGNORED entirely (the honest #185 adopt-all floor),
48
+ * since that store's WAL entries are bare too and honoring a real nonce there would self-demote
49
+ * the claimant's own bare evidence to "foreign". Absent ⇒ ⊥ (bare/anonymous writer class),
50
+ * today's byte-identical behavior.
51
+ */
52
+ writerNonce?: string;
42
53
  }
43
54
  export interface SubmitGateOptions {
44
55
  runId: string;
@@ -72,6 +83,8 @@ export interface ExecuteChainOptions {
72
83
  trace?: AgentTraceEntry[];
73
84
  /** @see ExecuteStepOptions.traceBufferStore */
74
85
  traceBufferStore?: TraceBufferStore;
86
+ /** @see ExecuteStepOptions.writerNonce */
87
+ writerNonce?: string;
75
88
  }
76
89
  /**
77
90
  * Returns NextAction objects for all agent-executable eligible steps.
@@ -1 +1 @@
1
- {"version":3,"file":"execution-loop.d.ts","sourceRoot":"","sources":["../../src/engine/execution-loop.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,SAAS,EAIT,eAAe,EAEhB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAClF,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,KAAK,EACV,kBAAkB,EAMnB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAE5D,OAAO,KAAK,EAAE,gBAAgB,EAAiB,MAAM,gCAAgC,CAAC;AAStF,OAAO,EAAE,eAAe,EAA0C,MAAM,gBAAgB,CAAC;AAYzF,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAoB9D,MAAM,MAAM,cAAc,GAAG,CAC3B,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,GAAG,EAAE,SAAS,EACd,MAAM,CAAC,EAAE,WAAW,KACjB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAEtC,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,UAAU,EAAE,cAAc,CAAC;IAC3B;;;OAGG;IACH,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B;;;;OAIG;IACH,QAAQ,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,cAAc,EAAE,CAAA;KAAE,CAAC;IAC5C;;;;OAIG;IACH,KAAK,CAAC,EAAE,eAAe,EAAE,CAAC;IAC1B;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,iBAAiB,CAAC;CAC9B;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,UAAU,EAAE,cAAc,CAAC;IAC3B,uCAAuC;IACvC,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B;;;;OAIG;IACH,QAAQ,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,cAAc,EAAE,CAAA;KAAE,CAAC;IAC5C,oCAAoC;IACpC,KAAK,CAAC,EAAE,eAAe,EAAE,CAAC;IAC1B,+CAA+C;IAC/C,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC;AAgaD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,kBAAkB,EAAE,GAAG,EAAE,SAAS,GAAG,UAAU,EAAE,CAwB7F;AAsID;;;;GAIG;AACH,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,aAAa,EAClB,WAAW,CAAC,EAAE,MAAM,GACnB,gBAAgB,CAkBlB;AAiCD;;;;GAIG;AACH,wBAAsB,WAAW,CAC/B,KAAK,EAAE,QAAQ,EACf,UAAU,EAAE,kBAAkB,EAC9B,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,gBAAgB,CAAC,CAskC3B;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,QAAQ,EACf,UAAU,EAAE,kBAAkB,EAC9B,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,gBAAgB,CAAC,CAqL3B;AAgcD;;;;GAIG;AACH,wBAAsB,YAAY,CAChC,KAAK,EAAE,QAAQ,EACf,UAAU,EAAE,kBAAkB,EAC9B,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,gBAAgB,CAAC,CA2D3B;AAGD,OAAO,EAAE,eAAe,IAAI,eAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"execution-loop.d.ts","sourceRoot":"","sources":["../../src/engine/execution-loop.ts"],"names":[],"mappings":"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"}