@telora/daemon 0.23.17 → 0.23.18

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 (101) hide show
  1. package/build-info.json +2 -2
  2. package/dist/completion/review-exit/review-census-record.d.ts +16 -2
  3. package/dist/completion/review-exit/review-census-record.d.ts.map +1 -1
  4. package/dist/completion/review-exit/review-census-record.js +23 -2
  5. package/dist/completion/review-exit/review-census-record.js.map +1 -1
  6. package/dist/completion/review-exit/review-exit-phase.d.ts +6 -0
  7. package/dist/completion/review-exit/review-exit-phase.d.ts.map +1 -1
  8. package/dist/completion/review-exit/review-exit-phase.js.map +1 -1
  9. package/dist/completion/state-cascade/settle-injection-sweep.d.ts.map +1 -1
  10. package/dist/completion/state-cascade/settle-injection-sweep.js +2 -1
  11. package/dist/completion/state-cascade/settle-injection-sweep.js.map +1 -1
  12. package/dist/completion/team-outcome/decide-shared.d.ts +3 -1
  13. package/dist/completion/team-outcome/decide-shared.d.ts.map +1 -1
  14. package/dist/completion/team-outcome/decide-shared.js +14 -3
  15. package/dist/completion/team-outcome/decide-shared.js.map +1 -1
  16. package/dist/completion/team-outcome/team-outcome.d.ts +14 -0
  17. package/dist/completion/team-outcome/team-outcome.d.ts.map +1 -1
  18. package/dist/completion/team-outcome/team-outcome.js +18 -0
  19. package/dist/completion/team-outcome/team-outcome.js.map +1 -1
  20. package/dist/composition/state-cascade-context.d.ts.map +1 -1
  21. package/dist/composition/state-cascade-context.js +8 -3
  22. package/dist/composition/state-cascade-context.js.map +1 -1
  23. package/dist/composition/verification-context.d.ts.map +1 -1
  24. package/dist/composition/verification-context.js +2 -0
  25. package/dist/composition/verification-context.js.map +1 -1
  26. package/dist/daemon-state/focus-team-state.d.ts +2 -0
  27. package/dist/daemon-state/focus-team-state.d.ts.map +1 -1
  28. package/dist/daemon-state/focus-team-state.js +6 -1
  29. package/dist/daemon-state/focus-team-state.js.map +1 -1
  30. package/dist/daemon-state/lead-process-ownership.d.ts.map +1 -1
  31. package/dist/daemon-state/lead-process-ownership.js +1 -0
  32. package/dist/daemon-state/lead-process-ownership.js.map +1 -1
  33. package/dist/daemon-state/provider-window.d.ts.map +1 -1
  34. package/dist/daemon-state/provider-window.js +1 -0
  35. package/dist/daemon-state/provider-window.js.map +1 -1
  36. package/dist/git/merge-lock.d.ts.map +1 -1
  37. package/dist/git/merge-lock.js +3 -1
  38. package/dist/git/merge-lock.js.map +1 -1
  39. package/dist/nexus/file-escalation.d.ts.map +1 -1
  40. package/dist/nexus/file-escalation.js +1 -0
  41. package/dist/nexus/file-escalation.js.map +1 -1
  42. package/dist/queries/api-client/shared.js +1 -1
  43. package/dist/queries/verification/verification.d.ts +8 -0
  44. package/dist/queries/verification/verification.d.ts.map +1 -1
  45. package/dist/queries/verification/verification.js +11 -1
  46. package/dist/queries/verification/verification.js.map +1 -1
  47. package/dist/spawn/codex-limit.d.ts +20 -4
  48. package/dist/spawn/codex-limit.d.ts.map +1 -1
  49. package/dist/spawn/codex-limit.js +36 -7
  50. package/dist/spawn/codex-limit.js.map +1 -1
  51. package/dist/spawn/helpers.d.ts.map +1 -1
  52. package/dist/spawn/helpers.js +13 -6
  53. package/dist/spawn/helpers.js.map +1 -1
  54. package/dist/spawn/model-reached.d.ts +6 -0
  55. package/dist/spawn/model-reached.d.ts.map +1 -1
  56. package/dist/spawn/model-reached.js +8 -0
  57. package/dist/spawn/model-reached.js.map +1 -1
  58. package/dist/spawn/next-spawn-cooldown.d.ts.map +1 -1
  59. package/dist/spawn/next-spawn-cooldown.js +2 -1
  60. package/dist/spawn/next-spawn-cooldown.js.map +1 -1
  61. package/dist/supervision/spawn-cooldown.d.ts +10 -1
  62. package/dist/supervision/spawn-cooldown.d.ts.map +1 -1
  63. package/dist/supervision/spawn-cooldown.js +3 -2
  64. package/dist/supervision/spawn-cooldown.js.map +1 -1
  65. package/dist/testing/fixtures/api-client.js +1 -1
  66. package/dist/testing/fixtures/codex-stream-session.d.ts.map +1 -1
  67. package/dist/testing/fixtures/codex-stream-session.js +1 -0
  68. package/dist/testing/fixtures/codex-stream-session.js.map +1 -1
  69. package/dist/testing/fixtures/completion-event-deps.js +1 -1
  70. package/dist/testing/fixtures/exit-capture-verify.d.ts +1 -0
  71. package/dist/testing/fixtures/exit-capture-verify.d.ts.map +1 -1
  72. package/dist/testing/fixtures/exit-capture-verify.js +3 -1
  73. package/dist/testing/fixtures/exit-capture-verify.js.map +1 -1
  74. package/dist/testing/fixtures/index.js +1 -1
  75. package/dist/testing/fixtures/process-close-context.d.ts.map +1 -1
  76. package/dist/testing/fixtures/process-close-context.js +1 -0
  77. package/dist/testing/fixtures/process-close-context.js.map +1 -1
  78. package/dist/testing/fixtures/review-exit-deps.js +1 -1
  79. package/dist/testing/fixtures/verification-deps.d.ts +6 -0
  80. package/dist/testing/fixtures/verification-deps.d.ts.map +1 -1
  81. package/dist/testing/fixtures/verification-deps.js +11 -0
  82. package/dist/testing/fixtures/verification-deps.js.map +1 -1
  83. package/dist/types/focus-team-state.d.ts +16 -2
  84. package/dist/types/focus-team-state.d.ts.map +1 -1
  85. package/dist/types/focus-team-state.js.map +1 -1
  86. package/dist/types/index.js +1 -1
  87. package/dist/verify/effect-reconciliation/injection-stamp.d.ts +33 -18
  88. package/dist/verify/effect-reconciliation/injection-stamp.d.ts.map +1 -1
  89. package/dist/verify/effect-reconciliation/injection-stamp.js +154 -82
  90. package/dist/verify/effect-reconciliation/injection-stamp.js.map +1 -1
  91. package/dist/verify/effect-reconciliation/pending-injection-stamp.d.ts +36 -0
  92. package/dist/verify/effect-reconciliation/pending-injection-stamp.d.ts.map +1 -0
  93. package/dist/verify/effect-reconciliation/pending-injection-stamp.js +157 -0
  94. package/dist/verify/effect-reconciliation/pending-injection-stamp.js.map +1 -0
  95. package/dist/verify/effect-reconciliation/verify-restatement.js +1 -1
  96. package/dist/verify/engine/verification-deps.d.ts +10 -1
  97. package/dist/verify/engine/verification-deps.d.ts.map +1 -1
  98. package/dist/verify/engine/verification-deps.js +1 -1
  99. package/dist/verify/engine/verification-engine.js +8 -8
  100. package/dist/verify/engine/verification-engine.js.map +1 -1
  101. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"verification-deps.js","sourceRoot":"","sources":["../../../src/testing/fixtures/verification-deps.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verification-deps.js","sourceRoot":"","sources":["../../../src/testing/fixtures/verification-deps.ts"],"names":[],"mappings":"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"}
@@ -152,6 +152,16 @@ export interface TeamActivity {
152
152
  * a team that recovers advances lastActivityAt past this value.
153
153
  */
154
154
  readonly errorResultAt?: number;
155
+ /**
156
+ * Whether this session's MOST RECENT turn ended on an error: a Claude result
157
+ * carrying is_error, or a Codex `turn.failed` (true); a turn that finished
158
+ * (false). Undefined before the first turn ends. Unlike errorResultAt it is
159
+ * reset by a later finished turn, so it says how the session ENDED. A review
160
+ * whose last turn errored did not finish, even when the daemon then stops its
161
+ * process as work_complete: its exit routes as failed and writes no review
162
+ * census (completion/team-outcome/team-outcome.ts outcomeEndedOnError).
163
+ */
164
+ readonly lastTurnErrored?: boolean;
155
165
  /**
156
166
  * Epoch ms of the first output this session's MODEL produced (prose, a tool
157
167
  * call, a worker, a finished turn -- spawn/model-reached.ts). Undefined while
@@ -495,8 +505,12 @@ export interface TeamProviderLimit {
495
505
  * review cycle for it (completion/team-outcome/decide-close-rows.ts).
496
506
  */
497
507
  readonly modelUnavailable?: {
498
- /** usage_limit / rate_limit: the provider's limit (spawn/codex-limit.ts); auth: the engine could not authenticate (spawn/codex-auth.ts). */
499
- readonly kind: 'usage_limit' | 'rate_limit' | 'auth';
508
+ /**
509
+ * usage_limit / rate_limit: the provider's limit; capacity: the provider had
510
+ * no capacity for the model (spawn/codex-limit.ts); auth: the engine could
511
+ * not authenticate (spawn/codex-auth.ts).
512
+ */
513
+ readonly kind: 'usage_limit' | 'rate_limit' | 'capacity' | 'auth';
500
514
  readonly provider: ModelProvider;
501
515
  /** The instant the provider window was opened until. */
502
516
  readonly holdUntilMs: number;
@@ -1 +1 @@
1
- {"version":3,"file":"focus-team-state.d.ts","sourceRoot":"","sources":["../../src/types/focus-team-state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"focus-team-state.d.ts","sourceRoot":"","sources":["../../src/types/focus-team-state.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"focus-team-state.js","sourceRoot":"","sources":["../../src/types/focus-team-state.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,gEAAgE;AAChE,gBAAgB;AAwiBhB;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAuD;IACnF,QAAQ,EAAE,2BAA2B;IACrC,SAAS,EAAE,kCAAkC;IAC7C,QAAQ,EAAE,kCAAkC;IAC5C,gBAAgB,EAAE,wCAAwC;IAC1D,SAAS,EAAE,yBAAyB;IACpC,eAAe,EAAE,sBAAsB;IACvC,cAAc,EAAE,gCAAgC;IAChD,IAAI,EAAE,2BAA2B;IACjC,WAAW,EAAE,wCAAwC;IACrD,QAAQ,EAAE,uCAAuC;IACjD,SAAS,EAAE,mDAAmD;IAC9D,UAAU,EAAE,4CAA4C;IACxD,OAAO,EAAE,qDAAqD;IAC9D,YAAY,EAAE,4BAA4B;IAC1C,SAAS,EAAE,0BAA0B;IACrC,SAAS,EAAE,6BAA6B;IACxC,aAAa,EAAE,8BAA8B;CAC9C,CAAC"}
1
+ {"version":3,"file":"focus-team-state.js","sourceRoot":"","sources":["../../src/types/focus-team-state.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,gEAAgE;AAChE,gBAAgB;AAsjBhB;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAuD;IACnF,QAAQ,EAAE,2BAA2B;IACrC,SAAS,EAAE,kCAAkC;IAC7C,QAAQ,EAAE,kCAAkC;IAC5C,gBAAgB,EAAE,wCAAwC;IAC1D,SAAS,EAAE,yBAAyB;IACpC,eAAe,EAAE,sBAAsB;IACvC,cAAc,EAAE,gCAAgC;IAChD,IAAI,EAAE,2BAA2B;IACjC,WAAW,EAAE,wCAAwC;IACrD,QAAQ,EAAE,uCAAuC;IACjD,SAAS,EAAE,mDAAmD;IAC9D,UAAU,EAAE,4CAA4C;IACxD,OAAO,EAAE,qDAAqD;IAC9D,YAAY,EAAE,4BAA4B;IAC1C,SAAS,EAAE,0BAA0B;IACrC,SAAS,EAAE,6BAA6B;IACxC,aAAa,EAAE,8BAA8B;CAC9C,CAAC"}
@@ -1,5 +1,5 @@
1
1
  // PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
2
- // Pinned by: 261 tests -- run: npm run gen:pinned-by -- --list packages/daemon/src/types/index.ts
2
+ // Pinned by: 262 tests -- run: npm run gen:pinned-by -- --list packages/daemon/src/types/index.ts
3
3
  // PINNED-BY-END
4
4
  /**
5
5
  * Domain-specific type re-exports.
@@ -1,8 +1,12 @@
1
- import type { PendingVerification, VerificationOutcome } from '../../queries/verification/verification.js';
1
+ import { type PendingVerification, type VerificationOutcome } from '../../queries/verification/verification.js';
2
2
  import type { TargetRestatement } from './verify-restatement.js';
3
3
  import type { VerificationDeps } from '../engine/verification-deps.js';
4
- /** Ticks a ledgered stamp is re-attempted before only the durable safety nets remain. */
5
- export declare const MAX_STAMP_RETRIES = 10;
4
+ /**
5
+ * Failed attempts on a DONE delivery's stamp before it is left to the settle
6
+ * sweep. Only a real failure counts: a refusal because another anchored
7
+ * delivery is not done is a wait, not a failure, and has no limit.
8
+ */
9
+ export declare const MAX_DONE_STAMP_FAILURES = 10;
6
10
  /** Everything one injection stamp needs, as the passing run authored it. */
7
11
  export interface InjectionStamp {
8
12
  restatements: TargetRestatement[];
@@ -33,27 +37,38 @@ export interface InjectionStamp {
33
37
  * explicitly costs one array and is the only signal that survives a read the
34
38
  * edge could not make.
35
39
  *
36
- * Carried on the ledgered stamp like every other field, so the retries re-send
37
- * exactly what the run authored rather than a set recomputed later.
40
+ * Carried on the pending stamp like every other field, so the stamp applied at
41
+ * done sends exactly what the run authored rather than a set recomputed later.
38
42
  *
39
43
  * `recordedTargetNodeIds` is null when NO reconciliation ran -- the run learned
40
44
  * nothing about coverage, so it withholds nothing on that account. Pure.
41
45
  */
42
46
  export declare function stampWithheldNodeIds(excusedNodeIds: readonly string[], recordedTargetNodeIds: readonly string[] | null): string[];
43
- type StampDeps = Pick<VerificationDeps, 'verifyInjection' | 'emitInwardDrift' | 'fileEscalation' | 'organizationId'>;
47
+ type StampApplyDeps = Pick<VerificationDeps, 'verifyInjection' | 'emitInwardDrift'>;
48
+ type StampDeps = StampApplyDeps & Pick<VerificationDeps, 'fileEscalation' | 'organizationId' | 'pendingStamps' | 'readDeliveryGateRecord'>;
49
+ /**
50
+ * Record the stamp of a delivery whose verify PASSED as pending until the
51
+ * delivery is done (module doc). Attempts nothing and files nothing; never
52
+ * throws and never touches the verdict. Returns whether the stamp was kept.
53
+ */
54
+ export declare function recordPassedInjectionStamp(deps: Pick<StampDeps, 'pendingStamps'>, v: PendingVerification, stamp: InjectionStamp): boolean;
55
+ /** A newly rendered verdict supersedes the delivery's pending stamp (module doc). */
56
+ export declare function supersedePendingStamp(deps: Pick<StampDeps, 'pendingStamps'>, deliveryId: string, outcome: VerificationOutcome): void;
57
+ /**
58
+ * Apply every pending stamp whose delivery is now done; drop the ones whose
59
+ * delivery left verify any other way. Called once per verification tick. Never
60
+ * throws: a delivery whose status cannot be read keeps its stamp for the next tick.
61
+ */
62
+ export declare function applyPendingStamps(deps: StampDeps): Promise<void>;
44
63
  /**
45
- * Stamp the injection of a delivery whose verify PASSED. Never throws and never
46
- * touches the verdict: a failure is logged, surfaced once, and ledgered for a
47
- * stamp-only retry. Returns whether the stamp landed.
64
+ * The settle sweep's per-injection verify, preferring a pending stamp: an
65
+ * injection a passing run left a stamp for is stamped with THAT stamp (the
66
+ * newest, when several anchored deliveries left one) and its pending stamps are
67
+ * dropped -- never with the sweep's writeback, which lands every target as a
68
+ * declared-future 'match' over the classifications the run authored. An
69
+ * injection with no pending stamp takes the writeback. A failed stamp throws,
70
+ * so the sweep records it and retries on its next settle.
48
71
  */
49
- export declare function stampPassedInjection(deps: StampDeps, v: PendingVerification, stamp: InjectionStamp): Promise<boolean>;
50
- /** A newly recorded verdict supersedes the delivery's ledgered stamp (module doc). */
51
- export declare function supersedeLedgeredStamp(deliveryId: string, outcome: VerificationOutcome): void;
52
- /** Re-attempt ONLY the ledgered stamps -- no suite, no verdict. Called once per verification tick. */
53
- export declare function retryLedgeredStamps(deps: StampDeps): Promise<void>;
54
- /** Test seam: the ledgered delivery ids. */
55
- export declare function __ledgeredStampsForTests(): string[];
56
- /** Test seam: empty the ledger. */
57
- export declare function __resetStampLedgerForTests(): void;
72
+ export declare function preferPendingStamp(deps: StampApplyDeps & Pick<StampDeps, 'pendingStamps'>, writebackVerify: (injectionId: string, evidence: string) => Promise<void>): (injectionId: string, evidence: string) => Promise<void>;
58
73
  export {};
59
74
  //# sourceMappingURL=injection-stamp.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"injection-stamp.d.ts","sourceRoot":"","sources":["../../../src/verify/effect-reconciliation/injection-stamp.ts"],"names":[],"mappings":"AAqCA,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAC;AAE3G,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAKvE,yFAAyF;AACzF,eAAO,MAAM,iBAAiB,KAAK,CAAC;AAEpC,4EAA4E;AAC5E,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,iBAAiB,EAAE,CAAC;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,oBAAoB,CAClC,cAAc,EAAE,SAAS,MAAM,EAAE,EACjC,qBAAqB,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,GAC9C,MAAM,EAAE,CASV;AAWD,KAAK,SAAS,GAAG,IAAI,CAAC,gBAAgB,EAAE,iBAAiB,GAAG,iBAAiB,GAAG,gBAAgB,GAAG,gBAAgB,CAAC,CAAC;AA8CrH;;;;GAIG;AACH,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,SAAS,EACf,CAAC,EAAE,mBAAmB,EACtB,KAAK,EAAE,cAAc,GACpB,OAAO,CAAC,OAAO,CAAC,CAgBlB;AAED,sFAAsF;AACtF,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAE7F;AAED,sGAAsG;AACtG,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBxE;AAED,4CAA4C;AAC5C,wBAAgB,wBAAwB,IAAI,MAAM,EAAE,CAEnD;AAED,mCAAmC;AACnC,wBAAgB,0BAA0B,IAAI,IAAI,CAEjD"}
1
+ {"version":3,"file":"injection-stamp.d.ts","sourceRoot":"","sources":["../../../src/verify/effect-reconciliation/injection-stamp.ts"],"names":[],"mappings":"AA4CA,OAAO,EAA8B,KAAK,mBAAmB,EAAE,KAAK,mBAAmB,EAAE,MAAM,4CAA4C,CAAC;AAE5I,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAMvE;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAE1C,4EAA4E;AAC5E,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,iBAAiB,EAAE,CAAC;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,oBAAoB,CAClC,cAAc,EAAE,SAAS,MAAM,EAAE,EACjC,qBAAqB,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,GAC9C,MAAM,EAAE,CASV;AAED,KAAK,cAAc,GAAG,IAAI,CAAC,gBAAgB,EAAE,iBAAiB,GAAG,iBAAiB,CAAC,CAAC;AACpF,KAAK,SAAS,GAAG,cAAc,GAAG,IAAI,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,gBAAgB,GAAG,eAAe,GAAG,wBAAwB,CAAC,CAAC;AA8C3I;;;;GAIG;AACH,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,EACtC,CAAC,EAAE,mBAAmB,EACtB,KAAK,EAAE,cAAc,GACpB,OAAO,CAsBT;AAED,qFAAqF;AACrF,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,EACtC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,mBAAmB,GAC3B,IAAI,CAEN;AAwCD;;;;GAIG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAuBvE;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,cAAc,GAAG,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,EACvD,eAAe,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GACxE,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAY1D"}
@@ -1,42 +1,54 @@
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/verify/effect-reconciliation/stamp-withholds-recorded-targets.test.ts,
3
- // packages/daemon/src/verify/engine/verification-commit-sharing.test.ts,
2
+ // Pinned by: packages/daemon/src/integration/review-verdict-ruling-release.test.ts,
3
+ // packages/daemon/src/integration/shortfall-ruling-release.test.ts,
4
+ // packages/daemon/src/verify/effect-reconciliation/pending-injection-stamp.test.ts,
5
+ // packages/daemon/src/verify/effect-reconciliation/stamp-withholds-recorded-targets.test.ts,
4
6
  // packages/daemon/src/verify/engine/verification-engine.test.ts
5
7
  // PINNED-BY-END
6
8
  /**
7
- * The injection stamp is a POST-VERDICT side effect, never part of the verdict.
9
+ * The injection stamp is a POST-VERDICT side effect, never part of the verdict,
10
+ * and it is applied when the delivery is DONE.
8
11
  *
9
- * When a verify run passes a delivery anchored to an injection, the daemon
10
- * stamps that injection verified (the reality_tree_verify_injection compound op)
11
- * and surfaces any inward drift the reconciliation found. A stamp failure never
12
- * demotes the PASS: demoting it would discard a rendered deterministic verdict
13
- * and re-queue the whole suite on the same HEAD.
14
- *
15
- * The verdict is recorded as rendered, whatever happens here:
16
- * - the stamp is attempted once, in the run;
17
- * - on failure it is logged, surfaced ONCE as a machine-lane observation (not
18
- * as "no verdict"), and kept in a retry ledger;
19
- * - each verification tick re-attempts ONLY the ledgered stamps -- never the
20
- * suite -- with the same restatements and evidence the run authored, and
21
- * emits the drift once a stamp lands;
22
- * - a later verdict for the delivery supersedes its ledgered stamp: a newer
23
- * pass stamps afresh, and a non-pass means the stamp no longer describes the
24
- * delivery's work.
25
- * The ledger is in-process. After a restart (or once its attempts run out) the
26
- * stamp is still re-attempted by the durable safety nets, without the run's
27
- * restatements: the verify_linked_injection trigger on verify -> done
28
- * (guard/trigger-executor.ts) and the settle injection sweep
29
- * (completion/state-cascade/settle-injection-sweep.ts). So the tree does not stay unverified.
12
+ * A passing verify run authors the stamp of the injection its delivery is
13
+ * anchored to -- its restatements, the targets it withholds, its evidence -- but
14
+ * does not attempt it. The promotion gate verifies an injection only once every
15
+ * live delivery anchored to it is done (supabase/functions/_shared/injection-promotion-earned.ts),
16
+ * and verify judges a delivery while it is still in verify, ahead of its focus
17
+ * review. So:
18
+ * - a pass RECORDS its stamp as pending, durably (pending-injection-stamp.ts):
19
+ * nothing is attempted and nothing is filed;
20
+ * - each verification tick reads every pending stamp's delivery. In verify (or
21
+ * paused) the stamp waits, with no tick limit. Done: the stamp is applied with
22
+ * the run's restatements, and inward drift is emitted for what it flipped. Any
23
+ * other status (verify_failed, re-coding, cancelled, gone) means the verdict no
24
+ * longer describes the delivery's work: the stamp is dropped;
25
+ * - a later verdict for the delivery supersedes it: a newer pass records afresh,
26
+ * a non-pass drops it;
27
+ * - once done, a refusal because ANOTHER anchored delivery is not done keeps it
28
+ * pending, unreported. Any other failure is surfaced once as a machine-lane
29
+ * observation and retried, up to MAX_DONE_STAMP_FAILURES; after that the settle
30
+ * injection sweep stamps the injection from its declared futures;
31
+ * - the settle injection sweep (completion/state-cascade/settle-injection-sweep.ts)
32
+ * applies a pending stamp in place of its declared-future writeback
33
+ * (preferPendingStamp), so whichever reaches the injection first, it is judged
34
+ * once, with the run's restatements.
35
+ * A stamp never demotes the PASS: demoting it would discard a rendered verdict and
36
+ * re-queue the suite on the same HEAD.
30
37
  *
31
38
  * History: docs/daemon/history-verify.md (verify/effect-reconciliation/injection-stamp.ts).
32
39
  *
33
40
  * @module verify/effect-reconciliation/injection-stamp
34
41
  */
35
- import { ESCALATION_DISPOSITIONS, ESCALATION_REASONS } from '@telora/daemon-core';
42
+ import { DELIVERY_STATUS, ESCALATION_DISPOSITIONS, ESCALATION_REASONS } from '@telora/daemon-core';
43
+ import { isUnearnedPromotionRefusal } from '../../queries/verification/verification.js';
36
44
  import { createLogger } from '../../log/daemon-log.js';
37
45
  const log = createLogger({ module: 'verification' });
38
- /** Ticks a ledgered stamp is re-attempted before only the durable safety nets remain. */
39
- export const MAX_STAMP_RETRIES = 10;
46
+ /**
47
+ * Failed attempts on a DONE delivery's stamp before it is left to the settle
48
+ * sweep. Only a real failure counts: a refusal because another anchored
49
+ * delivery is not done is a wait, not a failure, and has no limit.
50
+ */
51
+ export const MAX_DONE_STAMP_FAILURES = 10;
40
52
  /**
41
53
  * Everything this stamp must NOT promote: the operator-EXCUSED shortfall nodes
42
54
  * PLUS the targets the focus's arm did not cover.
@@ -55,8 +67,8 @@ export const MAX_STAMP_RETRIES = 10;
55
67
  * explicitly costs one array and is the only signal that survives a read the
56
68
  * edge could not make.
57
69
  *
58
- * Carried on the ledgered stamp like every other field, so the retries re-send
59
- * exactly what the run authored rather than a set recomputed later.
70
+ * Carried on the pending stamp like every other field, so the stamp applied at
71
+ * done sends exactly what the run authored rather than a set recomputed later.
60
72
  *
61
73
  * `recordedTargetNodeIds` is null when NO reconciliation ran -- the run learned
62
74
  * nothing about coverage, so it withholds nothing on that account. Pure.
@@ -72,11 +84,9 @@ export function stampWithheldNodeIds(excusedNodeIds, recordedTargetNodeIds) {
72
84
  }
73
85
  return out;
74
86
  }
75
- /** Failed stamps awaiting a stamp-only retry, by delivery id. */
76
- const ledger = new Map();
77
87
  /** Attempt the stamp, then surface inward drift for what it flipped. Throws when the stamp does. */
78
- async function applyStamp(deps, v, stamp) {
79
- await deps.verifyInjection(v.injectionNodeId, stamp.restatements, stamp.evidence, stamp.withheldNodeIds);
88
+ async function applyStamp(deps, injectionNodeId, stamp) {
89
+ await deps.verifyInjection(injectionNodeId, stamp.restatements, stamp.evidence, stamp.withheldNodeIds);
80
90
  // INWARD drift (TEL-3/TEL-4): a target stamped legitimate_divergence is a tree
81
91
  // CLAIM reality contradicted -- surfaced only after the flip landed, carrying the
82
92
  // tree's ORIGINAL claim. Best-effort: a failure here must not undo the flip.
@@ -92,84 +102,146 @@ async function applyStamp(deps, v, stamp) {
92
102
  if (diverged.length === 0)
93
103
  return;
94
104
  try {
95
- await deps.emitInwardDrift(v.injectionNodeId, diverged, stamp.realityTreeId);
105
+ await deps.emitInwardDrift(injectionNodeId, diverged, stamp.realityTreeId);
96
106
  }
97
107
  catch (err) {
98
- log.warn(`[verification] inward drift emit failed for ${v.injectionNodeId}:`, err.message);
108
+ log.warn(`[verification] inward drift emit failed for ${injectionNodeId}:`, err.message);
99
109
  }
100
110
  }
101
- /** Surface a stamp failure once, in the machine lane: the verdict stands, only the stamp is owed. */
102
- async function surfaceStampFailure(deps, v, message) {
111
+ /** Surface a DONE delivery's stamp failure once, in the machine lane: the verdict stands, only the stamp is owed. */
112
+ async function surfaceStampFailure(deps, p, message) {
103
113
  try {
104
114
  await deps.fileEscalation({
105
115
  organizationId: deps.organizationId,
106
- ...(v.focusId ? { focusId: v.focusId } : {}),
107
- ...(v.productId ? { productId: v.productId } : {}),
108
- reason: `Verify passed delivery "${v.deliveryName}" but stamping its injection ${v.injectionNodeId} failed: ${message}. ` +
109
- 'The passed verdict is recorded; the daemon retries only the stamp on later verification ticks, and the ' +
110
- 'verify -> done trigger and settle injection sweep re-attempt it after that.',
116
+ ...(p.focusId ? { focusId: p.focusId } : {}),
117
+ ...(p.productId ? { productId: p.productId } : {}),
118
+ reason: `Delivery "${p.deliveryName}" passed verify and is done, but stamping its injection ${p.injectionNodeId} ` +
119
+ `failed: ${message}. The daemon retries only the stamp on later verification ticks, and the settle ` +
120
+ 'injection sweep stamps the injection after that.',
111
121
  reasonType: ESCALATION_REASONS.ERROR_ENCOUNTERED,
112
122
  disposition: ESCALATION_DISPOSITIONS.AGENT_RESOLVABLE,
113
123
  kind: 'verify_injection_stamp_failed',
114
- details: { delivery_id: v.deliveryId, injection_node_id: v.injectionNodeId, error: message },
124
+ details: { delivery_id: p.deliveryId, injection_node_id: p.injectionNodeId, error: message },
115
125
  });
116
126
  }
117
127
  catch (err) {
118
- log.warn(`[verification] could not surface the injection stamp failure for delivery ${v.deliveryId}:`, err.message);
128
+ log.warn(`[verification] could not surface the injection stamp failure for delivery ${p.deliveryId}:`, err.message);
119
129
  }
120
130
  }
121
131
  /**
122
- * Stamp the injection of a delivery whose verify PASSED. Never throws and never
123
- * touches the verdict: a failure is logged, surfaced once, and ledgered for a
124
- * stamp-only retry. Returns whether the stamp landed.
132
+ * Record the stamp of a delivery whose verify PASSED as pending until the
133
+ * delivery is done (module doc). Attempts nothing and files nothing; never
134
+ * throws and never touches the verdict. Returns whether the stamp was kept.
125
135
  */
126
- export async function stampPassedInjection(deps, v, stamp) {
136
+ export function recordPassedInjectionStamp(deps, v, stamp) {
137
+ const kept = deps.pendingStamps.write({
138
+ deliveryId: v.deliveryId,
139
+ deliveryName: v.deliveryName,
140
+ productId: v.productId,
141
+ focusId: v.focusId,
142
+ injectionNodeId: v.injectionNodeId,
143
+ restatements: stamp.restatements,
144
+ evidence: stamp.evidence,
145
+ withheldNodeIds: [...stamp.withheldNodeIds],
146
+ ...(stamp.realityTreeId !== undefined ? { realityTreeId: stamp.realityTreeId } : {}),
147
+ recordedAt: new Date().toISOString(),
148
+ failedAttempts: 0,
149
+ failureSurfaced: false,
150
+ });
151
+ if (kept) {
152
+ log.info(`[verification] delivery "${v.deliveryName}" (${v.deliveryId}) passed verify: its injection stamp ` +
153
+ `${v.injectionNodeId} is pending until the delivery is done`);
154
+ }
155
+ return kept;
156
+ }
157
+ /** A newly rendered verdict supersedes the delivery's pending stamp (module doc). */
158
+ export function supersedePendingStamp(deps, deliveryId, outcome) {
159
+ if (outcome !== 'pending')
160
+ deps.pendingStamps.drop(deliveryId);
161
+ }
162
+ /** Apply a DONE delivery's pending stamp: landed -> dropped; a sibling not done -> it waits; failed -> counted. */
163
+ async function applyDoneStamp(deps, p) {
127
164
  try {
128
- await applyStamp(deps, v, stamp);
129
- ledger.delete(v.deliveryId);
130
- return true;
165
+ await applyStamp(deps, p.injectionNodeId, p);
131
166
  }
132
167
  catch (err) {
168
+ if (isUnearnedPromotionRefusal(err)) {
169
+ log.debug(`[verification] injection stamp ${p.injectionNodeId} of done delivery ${p.deliveryId} waits: another delivery anchored to it is not done`);
170
+ return false;
171
+ }
133
172
  const message = err.message;
134
- const alreadyLedgered = ledger.has(v.deliveryId);
135
- ledger.set(v.deliveryId, { ...stamp, delivery: v, attempts: 0, lastError: message });
136
- log.warn(`[verification] post-verdict side effect failed for delivery "${v.deliveryName}" (${v.deliveryId}): ` +
137
- `injection stamp ${v.injectionNodeId}: ${message} -- the passed verdict stands; the stamp alone is retried`);
138
- if (!alreadyLedgered)
139
- await surfaceStampFailure(deps, v, message);
173
+ if (!p.failureSurfaced) {
174
+ log.warn(`[verification] post-verdict side effect failed for delivery "${p.deliveryName}" (${p.deliveryId}): ` +
175
+ `injection stamp ${p.injectionNodeId}: ${message} -- the passed verdict stands; the stamp alone is retried`);
176
+ await surfaceStampFailure(deps, p, message);
177
+ }
178
+ const failedAttempts = p.failedAttempts + 1;
179
+ if (failedAttempts >= MAX_DONE_STAMP_FAILURES) {
180
+ deps.pendingStamps.drop(p.deliveryId);
181
+ log.warn(`[verification] injection stamp ${p.injectionNodeId} for done delivery ${p.deliveryId} still failing after ` +
182
+ `${failedAttempts} attempts (${message}); left to the settle injection sweep`);
183
+ return false;
184
+ }
185
+ deps.pendingStamps.write({ ...p, failedAttempts, failureSurfaced: true });
186
+ log.debug(`[verification] injection stamp ${p.injectionNodeId} for done delivery ${p.deliveryId} failed again (${message}); retried next tick`);
140
187
  return false;
141
188
  }
189
+ deps.pendingStamps.drop(p.deliveryId);
190
+ log.info(`[verification] delivery "${p.deliveryName}" is done: injection ${p.injectionNodeId} stamped with the ` +
191
+ `${p.restatements.length} restatement(s) its passing verify authored`);
192
+ return true;
142
193
  }
143
- /** A newly recorded verdict supersedes the delivery's ledgered stamp (module doc). */
144
- export function supersedeLedgeredStamp(deliveryId, outcome) {
145
- if (outcome !== 'pending')
146
- ledger.delete(deliveryId);
147
- }
148
- /** Re-attempt ONLY the ledgered stamps -- no suite, no verdict. Called once per verification tick. */
149
- export async function retryLedgeredStamps(deps) {
150
- for (const [deliveryId, entry] of [...ledger]) {
194
+ /**
195
+ * Apply every pending stamp whose delivery is now done; drop the ones whose
196
+ * delivery left verify any other way. Called once per verification tick. Never
197
+ * throws: a delivery whose status cannot be read keeps its stamp for the next tick.
198
+ */
199
+ export async function applyPendingStamps(deps) {
200
+ const stampedThisTick = new Set();
201
+ for (const p of deps.pendingStamps.list()) {
202
+ let status;
151
203
  try {
152
- await applyStamp(deps, entry.delivery, entry);
153
- ledger.delete(deliveryId);
154
- log.info(`[verification] injection stamp ${entry.delivery.injectionNodeId} for delivery ${deliveryId} landed on retry`);
204
+ status = (await deps.readDeliveryGateRecord(p.deliveryId))?.executionStatus ?? null;
155
205
  }
156
206
  catch (err) {
157
- entry.attempts += 1;
158
- entry.lastError = err.message;
159
- if (entry.attempts < MAX_STAMP_RETRIES)
160
- continue;
161
- ledger.delete(deliveryId);
162
- log.warn(`[verification] injection stamp ${entry.delivery.injectionNodeId} for delivery ${deliveryId} still failing after ` +
163
- `${entry.attempts} retries (${entry.lastError}); left to the verify -> done trigger and the settle injection sweep`);
207
+ log.debug(`[verification] pending injection stamp of ${p.deliveryId} kept: its status could not be read (${err.message})`);
208
+ continue;
164
209
  }
210
+ if (status === DELIVERY_STATUS.VERIFY || status === DELIVERY_STATUS.PAUSED)
211
+ continue;
212
+ if (status !== DELIVERY_STATUS.DONE || stampedThisTick.has(p.injectionNodeId)) {
213
+ deps.pendingStamps.drop(p.deliveryId);
214
+ log.info(`[verification] pending injection stamp ${p.injectionNodeId} of delivery ${p.deliveryId} dropped: ` +
215
+ (status === DELIVERY_STATUS.DONE
216
+ ? 'a newer pending stamp for the same injection landed this tick'
217
+ : `the delivery is ${status ?? 'gone'}, so the passing verdict no longer describes its work`));
218
+ continue;
219
+ }
220
+ if (await applyDoneStamp(deps, p))
221
+ stampedThisTick.add(p.injectionNodeId);
165
222
  }
166
223
  }
167
- /** Test seam: the ledgered delivery ids. */
168
- export function __ledgeredStampsForTests() {
169
- return [...ledger.keys()];
170
- }
171
- /** Test seam: empty the ledger. */
172
- export function __resetStampLedgerForTests() {
173
- ledger.clear();
224
+ /**
225
+ * The settle sweep's per-injection verify, preferring a pending stamp: an
226
+ * injection a passing run left a stamp for is stamped with THAT stamp (the
227
+ * newest, when several anchored deliveries left one) and its pending stamps are
228
+ * dropped -- never with the sweep's writeback, which lands every target as a
229
+ * declared-future 'match' over the classifications the run authored. An
230
+ * injection with no pending stamp takes the writeback. A failed stamp throws,
231
+ * so the sweep records it and retries on its next settle.
232
+ */
233
+ export function preferPendingStamp(deps, writebackVerify) {
234
+ return async (injectionId, evidence) => {
235
+ const pending = deps.pendingStamps.list().filter((p) => p.injectionNodeId === injectionId);
236
+ const newest = pending[0];
237
+ if (!newest) {
238
+ await writebackVerify(injectionId, evidence);
239
+ return;
240
+ }
241
+ await applyStamp(deps, injectionId, newest);
242
+ for (const p of pending)
243
+ deps.pendingStamps.drop(p.deliveryId);
244
+ log.info(`[verification] settle sweep stamped injection ${injectionId} with the pending stamp of delivery ${newest.deliveryId}`);
245
+ };
174
246
  }
175
247
  //# sourceMappingURL=injection-stamp.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"injection-stamp.js","sourceRoot":"","sources":["../../../src/verify/effect-reconciliation/injection-stamp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"injection-stamp.js","sourceRoot":"","sources":["../../../src/verify/effect-reconciliation/injection-stamp.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ import type { TargetRestatement } from './verify-restatement.js';
2
+ /** One passing run's stamp, waiting for its delivery to be done. */
3
+ export interface PendingInjectionStamp {
4
+ deliveryId: string;
5
+ deliveryName: string;
6
+ productId: string | null;
7
+ focusId: string | null;
8
+ injectionNodeId: string;
9
+ restatements: TargetRestatement[];
10
+ evidence: string;
11
+ /** Targets that must not flip with the injection (operator-excused, or recorded rather than judged). */
12
+ withheldNodeIds: string[];
13
+ realityTreeId?: string;
14
+ /** When the passing run recorded it. */
15
+ recordedAt: string;
16
+ /** Attempts after done that failed for a reason other than an unfinished sibling anchor. */
17
+ failedAttempts: number;
18
+ /** A failure after done is surfaced once; true once it was. */
19
+ failureSurfaced: boolean;
20
+ }
21
+ /** Where pending stamps are kept. Production: files under the state dir; tests: memory. */
22
+ export interface PendingStampStore {
23
+ /** Record (or replace) the delivery's pending stamp. False when it could not be kept. */
24
+ write(stamp: PendingInjectionStamp): boolean;
25
+ /** Every pending stamp, newest first. Empty when none can be read. */
26
+ list(): PendingInjectionStamp[];
27
+ /** Forget the delivery's pending stamp (absent is fine). */
28
+ drop(deliveryId: string): void;
29
+ }
30
+ /** Parse a stored stamp, or null when it is malformed (a malformed record applies nothing). */
31
+ export declare function parsePendingStamp(raw: unknown): PendingInjectionStamp | null;
32
+ /** The production store: one file per delivery under `dir` (default: the global state dir). */
33
+ export declare function filePendingStampStore(dir?: string): PendingStampStore;
34
+ /** An in-memory store (tests, and any caller with no state dir). */
35
+ export declare function memoryPendingStampStore(): PendingStampStore;
36
+ //# sourceMappingURL=pending-injection-stamp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pending-injection-stamp.d.ts","sourceRoot":"","sources":["../../../src/verify/effect-reconciliation/pending-injection-stamp.ts"],"names":[],"mappings":"AAoCA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAKjE,oEAAoE;AACpE,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,iBAAiB,EAAE,CAAC;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,wGAAwG;IACxG,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,wCAAwC;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,4FAA4F;IAC5F,cAAc,EAAE,MAAM,CAAC;IACvB,+DAA+D;IAC/D,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED,2FAA2F;AAC3F,MAAM,WAAW,iBAAiB;IAChC,yFAAyF;IACzF,KAAK,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC;IAC7C,sEAAsE;IACtE,IAAI,IAAI,qBAAqB,EAAE,CAAC;IAChC,4DAA4D;IAC5D,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAoBD,+FAA+F;AAC/F,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,qBAAqB,GAAG,IAAI,CAqB5E;AAcD,+FAA+F;AAC/F,wBAAgB,qBAAqB,CAAC,GAAG,GAAE,MAA0B,GAAG,iBAAiB,CAyCxF;AAED,oEAAoE;AACpE,wBAAgB,uBAAuB,IAAI,iBAAiB,CAc3D"}