@telora/daemon 0.20.53 → 0.20.57

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 (79) hide show
  1. package/build-info.json +6 -3
  2. package/dist/cli/session-state.d.ts +9 -0
  3. package/dist/cli/session-state.d.ts.map +1 -1
  4. package/dist/cli/session-state.js.map +1 -1
  5. package/dist/completion/review-exit-escalations.d.ts +85 -0
  6. package/dist/completion/review-exit-escalations.d.ts.map +1 -0
  7. package/dist/completion/review-exit-escalations.js +203 -0
  8. package/dist/completion/review-exit-escalations.js.map +1 -0
  9. package/dist/completion/review-exit-phase.d.ts.map +1 -1
  10. package/dist/completion/review-exit-phase.js +43 -135
  11. package/dist/completion/review-exit-phase.js.map +1 -1
  12. package/dist/delivery-advance-block.d.ts.map +1 -1
  13. package/dist/delivery-advance-block.js +8 -1
  14. package/dist/delivery-advance-block.js.map +1 -1
  15. package/dist/external-hold.d.ts +104 -0
  16. package/dist/external-hold.d.ts.map +1 -0
  17. package/dist/external-hold.js +149 -0
  18. package/dist/external-hold.js.map +1 -0
  19. package/dist/heartbeat.d.ts +19 -0
  20. package/dist/heartbeat.d.ts.map +1 -1
  21. package/dist/heartbeat.js +29 -70
  22. package/dist/heartbeat.js.map +1 -1
  23. package/dist/listener-auto-advance.d.ts.map +1 -1
  24. package/dist/listener-auto-advance.js +12 -0
  25. package/dist/listener-auto-advance.js.map +1 -1
  26. package/dist/listener.d.ts.map +1 -1
  27. package/dist/listener.js +56 -11
  28. package/dist/listener.js.map +1 -1
  29. package/dist/prompt-sections/execution-sections.d.ts.map +1 -1
  30. package/dist/prompt-sections/execution-sections.js +25 -23
  31. package/dist/prompt-sections/execution-sections.js.map +1 -1
  32. package/dist/queries/deliveries.d.ts +62 -0
  33. package/dist/queries/deliveries.d.ts.map +1 -1
  34. package/dist/queries/deliveries.js +1 -0
  35. package/dist/queries/deliveries.js.map +1 -1
  36. package/dist/queries/schemas.d.ts +2 -0
  37. package/dist/queries/schemas.d.ts.map +1 -1
  38. package/dist/queries/schemas.js +5 -0
  39. package/dist/queries/schemas.js.map +1 -1
  40. package/dist/resolver-dispatch.d.ts +108 -0
  41. package/dist/resolver-dispatch.d.ts.map +1 -0
  42. package/dist/resolver-dispatch.js +83 -0
  43. package/dist/resolver-dispatch.js.map +1 -0
  44. package/dist/resolver-reach.d.ts +192 -0
  45. package/dist/resolver-reach.d.ts.map +1 -0
  46. package/dist/resolver-reach.js +168 -0
  47. package/dist/resolver-reach.js.map +1 -0
  48. package/dist/resolvers/git-diff-against-base.d.ts.map +1 -1
  49. package/dist/resolvers/git-diff-against-base.js +8 -2
  50. package/dist/resolvers/git-diff-against-base.js.map +1 -1
  51. package/dist/resolvers/index.d.ts +1 -1
  52. package/dist/resolvers/index.d.ts.map +1 -1
  53. package/dist/resolvers/index.js +1 -1
  54. package/dist/resolvers/index.js.map +1 -1
  55. package/dist/resolvers/shared/git-diff.d.ts +47 -0
  56. package/dist/resolvers/shared/git-diff.d.ts.map +1 -1
  57. package/dist/resolvers/shared/git-diff.js +103 -15
  58. package/dist/resolvers/shared/git-diff.js.map +1 -1
  59. package/dist/spawn/review-role-fallback.d.ts +37 -3
  60. package/dist/spawn/review-role-fallback.d.ts.map +1 -1
  61. package/dist/spawn/review-role-fallback.js +38 -3
  62. package/dist/spawn/review-role-fallback.js.map +1 -1
  63. package/dist/verification-engine.d.ts +10 -0
  64. package/dist/verification-engine.d.ts.map +1 -1
  65. package/dist/verification-engine.js +142 -96
  66. package/dist/verification-engine.js.map +1 -1
  67. package/dist/verification-feedback.d.ts +44 -1
  68. package/dist/verification-feedback.d.ts.map +1 -1
  69. package/dist/verification-feedback.js +130 -1
  70. package/dist/verification-feedback.js.map +1 -1
  71. package/dist/verify-reconciliation.d.ts +25 -1
  72. package/dist/verify-reconciliation.d.ts.map +1 -1
  73. package/dist/verify-reconciliation.js +64 -2
  74. package/dist/verify-reconciliation.js.map +1 -1
  75. package/dist/verify-restatement.d.ts +22 -4
  76. package/dist/verify-restatement.d.ts.map +1 -1
  77. package/dist/verify-restatement.js +18 -1
  78. package/dist/verify-restatement.js.map +1 -1
  79. package/package.json +1 -1
@@ -28,11 +28,11 @@ import { getPendingVerifications, recordDeliveryVerificationOutcome, verifyInjec
28
28
  import { configForProduct } from './config.js';
29
29
  import { authorTargetRestatements as defaultAuthorTargetRestatements, } from './verify-restatement.js';
30
30
  import { fileEscalation as defaultFileEscalation } from './escalations.js';
31
- import { getGitDiff, getDiffStatSummary, getChangedFiles, getCommitsAhead } from './assembly-resolvers.js';
31
+ import { getGitDiffRange, getDiffStatRange, getChangedFilesRange, getCommitsAhead, resolveDeliveryDiffRange, } from './assembly-resolvers.js';
32
32
  import { resolveDefaultVerification as defaultResolveDefaultVerification, } from './verification-config.js';
33
33
  import { getActiveFocuses, getFocusDeliveries } from './supabase.js';
34
34
  import { collectDefaultOnVerifications, markDefaultOnRan, resolveDaemonWideVerifyCap, resolveProductVerificationScopes, verificationSemaphore, } from './verification-default-on.js';
35
- import { deliverVerificationFailureFeedback, requeueShortfallAsRework } from './verification-feedback.js';
35
+ import { deliverVerificationFailureFeedback, requeueShortfallAsRework, deliverEvidenceUnavailableFeedback } from './verification-feedback.js';
36
36
  import { buildDefaultAttributeFailures, buildResolveVerificationCwd, applyAttribution } from './verification-baseline.js';
37
37
  // Re-export the default-on selection + concurrency surface so existing
38
38
  // importers (and tests) can reach it through verification-engine.
@@ -131,6 +131,7 @@ const defaultDeps = (config) => {
131
131
  getFocusDeliveries,
132
132
  deliverFailureFeedback: (v, result) => deliverVerificationFailureFeedback(v, result, config.organizationId).then(() => undefined),
133
133
  deliverShortfallFeedback: (v, shortfalls) => requeueShortfallAsRework(v, shortfalls, config.organizationId).then(() => undefined),
134
+ deliverEvidenceUnavailableFeedback: (v, fault) => deliverEvidenceUnavailableFeedback(v, fault, config.organizationId).then(() => undefined),
134
135
  resolveVerificationCwd,
135
136
  resolveCommitsAhead: (v) => getCommitsAhead(resolveVerificationCwd(v), config.integrationBranch),
136
137
  attributeFailures: buildDefaultAttributeFailures(config),
@@ -166,10 +167,16 @@ function resolveDiffCwd(v, deps) {
166
167
  */
167
168
  function buildVerifyEvidence(result, v, deps) {
168
169
  const cwd = resolveDiffCwd(v, deps);
170
+ // Resolve the range that actually contains the delivery's work: base...HEAD
171
+ // while the branch is ahead, or the merge-commit range once it has merged and
172
+ // gone level with the base. A null range (no attributable commits) yields an
173
+ // empty diff, which the instrument-fault path then holds -- it is never
174
+ // rendered as a shortfall.
175
+ const range = resolveDeliveryDiffRange(cwd, deps.integrationBranch);
169
176
  let diff = result.deliveryDiff ?? '';
170
177
  if (diff === '') {
171
178
  try {
172
- diff = getGitDiff(cwd, deps.integrationBranch);
179
+ diff = range ? getGitDiffRange(cwd, range) : '';
173
180
  }
174
181
  catch (err) {
175
182
  // best-effort: no diff is fine, the other evidence slots still carry signal
@@ -179,8 +186,8 @@ function buildVerifyEvidence(result, v, deps) {
179
186
  let changedFiles = [];
180
187
  let diffStat = '';
181
188
  try {
182
- changedFiles = getChangedFiles(cwd, deps.integrationBranch);
183
- diffStat = getDiffStatSummary(cwd, deps.integrationBranch);
189
+ changedFiles = range ? getChangedFilesRange(cwd, range) : [];
190
+ diffStat = range ? getDiffStatRange(cwd, range) : '';
184
191
  }
185
192
  catch (err) {
186
193
  log.debug('best-effort: structured diff signals unavailable', { error: String(err?.message ?? err) });
@@ -196,6 +203,21 @@ function buildVerifyEvidence(result, v, deps) {
196
203
  verdictRationale: result.rationale,
197
204
  };
198
205
  }
206
+ /**
207
+ * Name the judgeable evidence slots that were empty, for the instrument-fault
208
+ * hold's gate_state + escalation. Describes the FAULT (what the gate could not
209
+ * see), never the work.
210
+ */
211
+ function describeMissingJudgeEvidence(ev) {
212
+ const missing = [];
213
+ if (!ev.diff || ev.diff.trim() === '')
214
+ missing.push('diff');
215
+ if (!ev.changedFiles || ev.changedFiles.length === 0)
216
+ missing.push('changed files');
217
+ if (!ev.inspectionRationale || ev.inspectionRationale.trim() === '')
218
+ missing.push('inspection finding');
219
+ return missing;
220
+ }
199
221
  /**
200
222
  * Run verification for a single delivery.
201
223
  *
@@ -244,6 +266,11 @@ export async function runVerificationForDelivery(v, deps) {
244
266
  // guard (not deterministic_verification), so the origin must survive to the
245
267
  // feedback dispatch below.
246
268
  let shortfallHold = [];
269
+ // Instrument-fault tracking: set when the verify path was handed no evidence
270
+ // it could judge the work against (an empty bundle). Distinct origin from a
271
+ // shortfall -- it holds the gate under the evidence-unavailable guard and
272
+ // escalates rather than routing to verify_failed.
273
+ let evidenceUnavailableHold = null;
247
274
  // Pass path FIRST so a verifyInjection failure short-circuits before we
248
275
  // record an outcome that does not match graph state.
249
276
  if (result.outcome === 'passed' && v.injectionNodeId) {
@@ -280,110 +307,129 @@ export async function runVerificationForDelivery(v, deps) {
280
307
  // 'failed'), skip the flip, and escalate the gap to a human. Reality is
281
308
  // moved toward intent, never the reverse.
282
309
  const evidence = buildVerifyEvidence(result, v, deps);
283
- // Evidence-INTEGRITY guard (fail closed on a broken measurement): a
284
- // delivery branch with commits ahead of the integration base MUST resolve
285
- // to a non-empty diff. If it does not, the diff was resolved in the wrong
286
- // range/worktree -- a broken MEASUREMENT, not a genuine shortfall. Hold the
287
- // gate for retry ('pending') and NEVER author a shortfall or escalate from
288
- // the remaining (non-diff) evidence. A genuine no-work delivery (no commits
289
- // AND empty diff) is NOT held here -- it flows into reconciliation below and
290
- // can still be classified a real shortfall.
291
- const commitsAhead = deps.resolveCommitsAhead ? deps.resolveCommitsAhead(v) : 0;
292
- const diffEmpty = !evidence.diff || evidence.diff.trim() === '';
293
- if (commitsAhead > 0 && diffEmpty) {
310
+ let restatements = [];
311
+ let shortfalls = [];
312
+ let realityTreeId;
313
+ // A GATE MUST NOT REPORT ITS OWN BLINDNESS AS A VERDICT. The reconciliation
314
+ // sets this when it has a declared-DE target to judge but the evidence is
315
+ // empty of anything the achieved DE can be authored from -- it then renders
316
+ // NO verdict (match/legitimate_divergence/shortfall) and returns the
317
+ // instrument-fault signal instead. Handled below as a distinct non-verdict
318
+ // hold, never as a shortfall.
319
+ let evidenceUnavailable = false;
320
+ if (deps.authorTargetRestatements) {
321
+ try {
322
+ const reconciled = await deps.authorTargetRestatements(v.injectionNodeId, v.focusId, evidence);
323
+ restatements = reconciled.restatements;
324
+ shortfalls = reconciled.shortfalls;
325
+ realityTreeId = reconciled.realityTreeId;
326
+ evidenceUnavailable = reconciled.evidenceUnavailable === true;
327
+ }
328
+ catch (err) {
329
+ // A reconciliation we could not run at all is asymmetric-unsafe: do not
330
+ // flip an injection whose achievement we could not verify. Treat the
331
+ // whole injection as a shortfall and hold the gate.
332
+ log.warn(`[verification] verify-time reconciliation failed for ${v.injectionNodeId}:`, err.message);
333
+ shortfalls = [{
334
+ nodeId: v.injectionNodeId,
335
+ declaredStatement: '(unknown -- reconciliation failed)',
336
+ achievedStatement: '(reconciliation failed)',
337
+ reason: `Reconciliation failed: ${err.message}`,
338
+ }];
339
+ }
340
+ }
341
+ if (evidenceUnavailable) {
342
+ // Instrument fault: the reconciliation had a declared DE to judge but no
343
+ // evidence to judge it against, so it rendered no verdict. Hold the
344
+ // delivery in `verify` under the evidence-unavailable guard (NOT
345
+ // verify_failed -- no re-code iteration is consumed) and escalate on
346
+ // first occurrence, naming the missing evidence. This bounds EVERY cause
347
+ // of an empty bundle (broken diff range, merged branch, no attributable
348
+ // work), so an instrument fault is never published as a shortfall.
349
+ const commitsAhead = deps.resolveCommitsAhead ? deps.resolveCommitsAhead(v) : 0;
350
+ evidenceUnavailableHold = {
351
+ missing: describeMissingJudgeEvidence(evidence),
352
+ commitsAhead,
353
+ };
294
354
  result.outcome = 'pending';
295
- result.rationale =
296
- `verify held: delivery branch is ${commitsAhead} commit(s) ahead of ` +
297
- `${deps.integrationBranch} but the resolved diff is empty -- broken diff ` +
298
- `measurement, not a shortfall; retrying (injection ${v.injectionNodeId} not flipped)`;
355
+ result.rationale = commitsAhead > 0
356
+ ? `verify held (instrument fault): delivery branch is ${commitsAhead} commit(s) ahead of ` +
357
+ `${deps.integrationBranch} but the resolved diff is empty -- broken diff measurement, ` +
358
+ `not a shortfall (injection ${v.injectionNodeId} not flipped)`
359
+ : `verify held (instrument fault): no diff/changed-files/inspection evidence to judge the ` +
360
+ `work -- the gate is blind, not the work short (injection ${v.injectionNodeId} not flipped)`;
299
361
  log.warn(`[verification] ${result.rationale} (delivery ${v.deliveryId})`);
300
362
  }
363
+ else if (shortfalls.length > 0) {
364
+ // Hold the gate, do NOT flip. A shortfall is an EXECUTION gap the team
365
+ // that produced it can close, not an intent question for a human -- so
366
+ // it re-enters the loop as bounded re-work (via deps.deliverShortfallFeedback
367
+ // below, which routes verify -> verify_failed through the reconciler),
368
+ // never a needs_intent inbox item. The genuine human residue is the
369
+ // EXISTING verify_failed iteration cap (verify_gate_unclearable).
370
+ shortfallHold = shortfalls;
371
+ result.outcome = 'failed';
372
+ result.rationale =
373
+ `verify reconciliation found ${shortfalls.length} shortfall(s) vs declared intent; ` +
374
+ `injection ${v.injectionNodeId} not flipped (re-entering bounded re-work)`;
375
+ }
301
376
  else {
302
- let restatements = [];
303
- let shortfalls = [];
304
- let realityTreeId;
305
- if (deps.authorTargetRestatements) {
306
- try {
307
- const reconciled = await deps.authorTargetRestatements(v.injectionNodeId, v.focusId, evidence);
308
- restatements = reconciled.restatements;
309
- shortfalls = reconciled.shortfalls;
310
- realityTreeId = reconciled.realityTreeId;
311
- }
312
- catch (err) {
313
- // A reconciliation we could not run at all is asymmetric-unsafe: do not
314
- // flip an injection whose achievement we could not verify. Treat the
315
- // whole injection as a shortfall and hold the gate.
316
- log.warn(`[verification] verify-time reconciliation failed for ${v.injectionNodeId}:`, err.message);
317
- shortfalls = [{
318
- nodeId: v.injectionNodeId,
319
- declaredStatement: '(unknown -- reconciliation failed)',
320
- achievedStatement: '(reconciliation failed)',
321
- reason: `Reconciliation failed: ${err.message}`,
322
- }];
323
- }
377
+ let flipped = false;
378
+ try {
379
+ await deps.verifyInjection(v.injectionNodeId, restatements);
380
+ flipped = true;
324
381
  }
325
- if (shortfalls.length > 0) {
326
- // Hold the gate, do NOT flip. A shortfall is an EXECUTION gap the team
327
- // that produced it can close, not an intent question for a human -- so
328
- // it re-enters the loop as bounded re-work (via deps.deliverShortfallFeedback
329
- // below, which routes verify -> verify_failed through the reconciler),
330
- // never a needs_intent inbox item. The genuine human residue is the
331
- // EXISTING verify_failed iteration cap (verify_gate_unclearable).
332
- shortfallHold = shortfalls;
333
- result.outcome = 'failed';
334
- result.rationale =
335
- `verify reconciliation found ${shortfalls.length} shortfall(s) vs declared intent; ` +
336
- `injection ${v.injectionNodeId} not flipped (re-entering bounded re-work)`;
382
+ catch (err) {
383
+ result.outcome = 'pending';
384
+ result.rationale = `verifyInjection failed for ${v.injectionNodeId}: ${err.message}`;
337
385
  }
338
- else {
339
- let flipped = false;
340
- try {
341
- await deps.verifyInjection(v.injectionNodeId, restatements);
342
- flipped = true;
343
- }
344
- catch (err) {
345
- result.outcome = 'pending';
346
- result.rationale = `verifyInjection failed for ${v.injectionNodeId}: ${err.message}`;
347
- }
348
- // INWARD drift (TEL-3/TEL-4): any target the reconciliation stamped
349
- // `legitimate_divergence` is a tree CLAIM reality contradicted. Surface
350
- // each as an inward drift proposal -- AFTER the flip landed -- so a
351
- // confident-but-wrong assertion is corrected by drift rather than
352
- // frozen. observedState carries the tree's ORIGINAL claim (not the
353
- // achieved reality); proposedCorrection carries what reality showed.
354
- // Best-effort + non-fatal: a failure must not undo the verify flip.
355
- if (flipped) {
356
- const divergedWritebacks = restatements
357
- .filter((r) => r.classification === 'legitimate_divergence')
358
- .map((r) => ({
359
- nodeId: r.nodeId,
360
- classification: 'legitimate_divergence',
361
- statement: r.statement,
362
- originalClaim: r.originalClaim,
363
- ...(r.divergenceReason ? { verifyDivergenceReason: r.divergenceReason } : {}),
364
- }));
365
- if (divergedWritebacks.length > 0) {
366
- try {
367
- await deps.emitInwardDrift(v.injectionNodeId, divergedWritebacks, realityTreeId);
368
- }
369
- catch (err) {
370
- log.warn(`[verification] inward drift emit failed for ${v.injectionNodeId}:`, err.message);
371
- }
386
+ // INWARD drift (TEL-3/TEL-4): any target the reconciliation stamped
387
+ // `legitimate_divergence` is a tree CLAIM reality contradicted. Surface
388
+ // each as an inward drift proposal -- AFTER the flip landed -- so a
389
+ // confident-but-wrong assertion is corrected by drift rather than
390
+ // frozen. observedState carries the tree's ORIGINAL claim (not the
391
+ // achieved reality); proposedCorrection carries what reality showed.
392
+ // Best-effort + non-fatal: a failure must not undo the verify flip.
393
+ if (flipped) {
394
+ const divergedWritebacks = restatements
395
+ .filter((r) => r.classification === 'legitimate_divergence')
396
+ .map((r) => ({
397
+ nodeId: r.nodeId,
398
+ classification: 'legitimate_divergence',
399
+ statement: r.statement,
400
+ originalClaim: r.originalClaim,
401
+ ...(r.divergenceReason ? { verifyDivergenceReason: r.divergenceReason } : {}),
402
+ }));
403
+ if (divergedWritebacks.length > 0) {
404
+ try {
405
+ await deps.emitInwardDrift(v.injectionNodeId, divergedWritebacks, realityTreeId);
406
+ }
407
+ catch (err) {
408
+ log.warn(`[verification] inward drift emit failed for ${v.injectionNodeId}:`, err.message);
372
409
  }
373
410
  }
374
411
  }
375
- } // end evidence-integrity else (measurement OK -> reconcile)
412
+ }
376
413
  }
377
414
  }
378
415
  await deps.recordOutcome(v.deliveryId, result.outcome);
379
- // Feedback dispatch by FAILURE ORIGIN (the two are mutually exclusive: a
380
- // shortfall hold only demotes a PASSED outcome, so a deterministic-failed run
381
- // never carries a shortfallHold).
416
+ // Feedback dispatch by FAILURE ORIGIN. The three origins are mutually
417
+ // exclusive: a shortfall / instrument-fault hold only demotes a PASSED
418
+ // outcome, so a deterministic-failed run carries neither.
382
419
  //
383
- // Shortfall-origin hold: report under the shortfall guard (never
384
- // deterministic_verification) with the declared-vs-achieved detail, and inject
385
- // a gap-framed message -- never "fix the failing tests". Independent of method.
386
- if (shortfallHold.length > 0 && deps.deliverShortfallFeedback) {
420
+ // Instrument-fault hold FIRST: the verify path was handed nothing to judge,
421
+ // so it holds under the evidence-unavailable guard and files a
422
+ // first-occurrence operator escalation -- it never routes to verify_failed and
423
+ // never reports under the deterministic or shortfall guard.
424
+ if (evidenceUnavailableHold && deps.deliverEvidenceUnavailableFeedback) {
425
+ try {
426
+ await deps.deliverEvidenceUnavailableFeedback(v, evidenceUnavailableHold);
427
+ }
428
+ catch (err) {
429
+ log.warn(`[verification] evidence-unavailable feedback failed for delivery ${v.deliveryId}:`, err.message);
430
+ }
431
+ }
432
+ else if (shortfallHold.length > 0 && deps.deliverShortfallFeedback) {
387
433
  try {
388
434
  await deps.deliverShortfallFeedback(v, shortfallHold);
389
435
  }
@@ -1 +1 @@
1
- {"version":3,"file":"verification-engine.js","sourceRoot":"","sources":["../src/verification-engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verification-engine.js","sourceRoot":"","sources":["../src/verification-engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,wBAAwB,EAAuB,MAAM,iCAAiC,CAAC;AAChG,OAAO,EAAE,wBAAwB,EAAgC,MAAM,iCAAiC,CAAC;AACzG,OAAO,EACL,uBAAuB,EACvB,iCAAiC,EACjC,qBAAqB,EACrB,wBAAwB,GAIzB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EACL,wBAAwB,IAAI,+BAA+B,GAK5D,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,cAAc,IAAI,qBAAqB,EAA4B,MAAM,kBAAkB,CAAC;AACrG,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACpB,eAAe,EACf,wBAAwB,GACzB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,0BAA0B,IAAI,iCAAiC,GAEhE,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACrE,OAAO,EACL,6BAA6B,EAC7B,gBAAgB,EAChB,0BAA0B,EAC1B,gCAAgC,EAChC,qBAAqB,GACtB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,kCAAkC,EAAE,wBAAwB,EAAE,kCAAkC,EAAE,MAAM,4BAA4B,CAAC;AAC9I,OAAO,EAAE,6BAA6B,EAAE,2BAA2B,EAAE,gBAAgB,EAA8B,MAAM,4BAA4B,CAAC;AAEtJ,uEAAuE;AACvE,kEAAkE;AAClE,OAAO,EACL,6BAA6B,EAC7B,0BAA0B,EAC1B,gCAAgC,EAChC,qBAAqB,EACrB,qBAAqB,EACrB,kCAAkC,EAClC,6BAA6B,EAC7B,2BAA2B,EAC3B,0BAA0B,GAC3B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,yBAAyB,IAAI,gCAAgC,GAE9D,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,eAAe,IAAI,sBAAsB,GAE1C,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,mCAAmC,EACnC,8BAA8B,EAC9B,kBAAkB,GAEnB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,MAAM,GAAG,GAAG,YAAY,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC;AAGrD,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAE9E,MAAM,CAAC,KAAK,UAAU,qBAAqB;IACzC,OAAO;QACL,OAAO,EAAE,SAAS;QAClB,SAAS,EAAE,uGAAuG;KACnH,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,IAAsB,EACtB,CAAsB;IAEtB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC;IACvD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO;YACL,OAAO,EAAE,SAAS;YAClB,SAAS,EAAE,iDAAiD;SAC7D,CAAC;IACJ,CAAC;IACD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IACtD,MAAM,OAAO,GACX,UAAU,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ;QAC1C,CAAC,CAAC,UAAU,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ;YAC5C,CAAC,CAAC,SAAS,CAAC;IACd,OAAO;QACL,OAAO;QACP,SAAS,EAAE,UAAU,CAAC,SAAS;QAC/B,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,UAAU;KACX,CAAC;AACJ,CAAC;AAwHD,KAAK,UAAU,wBAAwB,CAAC,OAAmC;IACzE,MAAM,OAAO,CAAC,2BAA2B,EAAE;QACzC,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,MAAM;QAClC,YAAY,EAAE,OAAO,CAAC,WAAW,CAAC,IAAI;QACtC,aAAa,EAAE,OAAO,CAAC,WAAW,CAAC,QAAQ;QAC3C,kBAAkB,EAAE,OAAO,CAAC,WAAW,CAAC,mBAAmB;KAC5D,CAAC,CAAC;AACL,CAAC;AAED,MAAM,WAAW,GAAG,CAAC,MAAoB,EAAoB,EAAE;IAC7D,MAAM,UAAU,GAAG,CAAC,SAAwB,EAAU,EAAE;QACtD,IAAI,CAAC,SAAS;YAAE,OAAO,MAAM,CAAC,QAAQ,CAAC;QACvC,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC;QAC9D,IAAI,CAAC,OAAO;YAAE,OAAO,MAAM,CAAC,QAAQ,CAAC;QACrC,OAAO,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC;IACpD,CAAC,CAAC;IACF,MAAM,sBAAsB,GAAG,2BAA2B,CAAC,UAAU,CAAC,CAAC;IACvE,OAAO;QACL,uBAAuB;QACvB,aAAa,EAAE,iCAAiC;QAChD,eAAe,EAAE,qBAAqB;QACtC,wBAAwB,EAAE,CAAC,eAAe,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,CAC/D,+BAA+B,CAAC,eAAe,EAAE,OAAO,EAAE,QAAQ,CAAC;QACrE,cAAc,EAAE,qBAAqB;QACrC,cAAc,EAAE,MAAM,CAAC,cAAc;QACrC,iBAAiB,EAAE,wBAAwB;QAC3C,eAAe,EAAE,wBAAwB;QACzC,gBAAgB,EAAE,wBAAwB;QAC1C,eAAe,EAAE,sBAAsB;QACvC,yBAAyB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,gCAAgC,CAAC,CAAC,EAAE;YACpE,OAAO;YACP,UAAU;YACV,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;SAC5C,CAAC;QACF,UAAU;QACV,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;QAC3C,mBAAmB,EAAE,mCAAmC,EAAE;QAC1D,0BAA0B,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,iCAAiC,CAAC,CAAC,CAAC;QACvE,gBAAgB;QAChB,kBAAkB;QAClB,sBAAsB,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CACpC,kCAAkC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;QAC5F,wBAAwB,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,CAC1C,wBAAwB,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;QACtF,kCAAkC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAC/C,kCAAkC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;QAC3F,sBAAsB;QACtB,mBAAmB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,iBAAiB,CAAC;QAChG,iBAAiB,EAAE,6BAA6B,CAAC,MAAM,CAAC;KACzD,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,UAAU,GAA4G;IAC1H,aAAa,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAC/C,CAAC,CAAC,kBAAkB,EACpB,CAAC,IAAI,CAAC,sBAAsB,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAC3E,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CACtD;IACD,UAAU,EAAE,GAAG,EAAE,CAAC,qBAAqB,EAAE;IACzC,aAAa,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,uBAAuB,CAAC,IAAI,EAAE,CAAC,CAAC;CAC7D,CAAC;AAEF;;;;;;;GAOG;AACH,SAAS,cAAc,CAAC,CAAsB,EAAE,IAAsB;IACpE,OAAO,CAAC,IAAI,CAAC,sBAAsB,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrF,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,mBAAmB,CAC1B,MAA0D,EAC1D,CAAsB,EACtB,IAAsB;IAEtB,MAAM,GAAG,GAAG,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IACpC,4EAA4E;IAC5E,8EAA8E;IAC9E,6EAA6E;IAC7E,wEAAwE;IACxE,2BAA2B;IAC3B,MAAM,KAAK,GAAG,wBAAwB,CAAC,GAAG,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACpE,IAAI,IAAI,GAAG,MAAM,CAAC,YAAY,IAAI,EAAE,CAAC;IACrC,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;QAChB,IAAI,CAAC;YACH,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAClD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACnB,4EAA4E;YACtE,GAAG,CAAC,KAAK,CAAC,2EAA2E,EAAE,EAAE,KAAK,EAAE,MAAM,CAAE,GAAa,EAAE,OAAO,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC;QAC5I,CAAC;IACH,CAAC;IACD,IAAI,YAAY,GAAa,EAAE,CAAC;IAChC,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,IAAI,CAAC;QACH,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,oBAAoB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7D,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACvD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,KAAK,CAAC,kDAAkD,EAAE,EAAE,KAAK,EAAE,MAAM,CAAE,GAAa,EAAE,OAAO,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC;IACnH,CAAC;IACD,OAAO;QACL,IAAI,EAAE,IAAI,IAAI,SAAS;QACvB,YAAY,EAAE,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;QAChE,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;QACvD,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,mBAAmB,EAAE,MAAM,CAAC,UAAU,EAAE,SAAS;QACjD,gBAAgB,EAAE,MAAM,CAAC,SAAS;KACnC,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAS,4BAA4B,CAAC,EAAkB;IACtD,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5D,IAAI,CAAC,EAAE,CAAC,YAAY,IAAI,EAAE,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IACpF,IAAI,CAAC,EAAE,CAAC,mBAAmB,IAAI,EAAE,CAAC,mBAAmB,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACxG,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,CAAsB,EACtB,IAAsB;IAEtB,MAAM,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;IAClD,MAAM,cAAc,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,EAAE,GAAG,cAAc,EAAwD,CAAC;IAE3F,0EAA0E;IAC1E,8EAA8E;IAC9E,4EAA4E;IAC5E,wEAAwE;IACxE,iFAAiF;IACjF,IAAI,CAAC,CAAC,kBAAkB,KAAK,eAAe,IAAI,MAAM,CAAC,OAAO,KAAK,QAAQ,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACtG,IAAI,CAAC;YACH,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;YAC/D,IAAI,cAAc,EAAE,CAAC;gBACnB,MAAM,UAAU,GAAG,gBAAgB,CAAC,CAAC,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;gBAClE,MAAM,CAAC,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC;gBAC5C,MAAM,CAAC,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC;gBAC5C,MAAM,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;gBACpC,MAAM,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;gBACxC,IAAI,UAAU,CAAC,GAAG;oBAAE,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,IAAI,CACN,2DAA2D,CAAC,CAAC,UAAU,GAAG,EACzE,GAAa,CAAC,OAAO,CACvB,CAAC;QACJ,CAAC;IACH,CAAC;IAED,0EAA0E;IAC1E,0EAA0E;IAC1E,4EAA4E;IAC5E,2BAA2B;IAC3B,IAAI,aAAa,GAAsB,EAAE,CAAC;IAE1C,6EAA6E;IAC7E,4EAA4E;IAC5E,0EAA0E;IAC1E,kDAAkD;IAClD,IAAI,uBAAuB,GAAqD,IAAI,CAAC;IAErF,wEAAwE;IACxE,qDAAqD;IACrD,IAAI,MAAM,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC;QACrD,oEAAoE;QACpE,6DAA6D;QAC7D,qEAAqE;QACrE,wEAAwE;QACxE,IAAI,kBAAkB,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,8BAA8B,CAC/C,CAAC,CAAC,eAAe,EACjB,IAAI,CAAC,mBAAmB,CACzB,CAAC;YACF,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACjB,kBAAkB,GAAG,KAAK,CAAC;gBAC3B,MAAM,kBAAkB,CAAC,IAAI,CAAC,SAAS,EAAE,oBAAoB,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;gBACzF,MAAM,CAAC,OAAO,GAAG,QAAQ,CAAC;gBAC1B,MAAM,CAAC,SAAS;oBACd,uCAAuC,IAAI,CAAC,MAAM,GAAG;wBACrD,YAAY,IAAI,CAAC,SAAS,aAAa,CAAC;YAC5C,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,IAAI,CACN,8DAA8D,CAAC,CAAC,eAAe,GAAG,EACjF,GAAa,CAAC,OAAO,CACvB,CAAC;YACF,+DAA+D;YAC/D,gEAAgE;YAChE,oEAAoE;QACtE,CAAC;QAED,IAAI,kBAAkB,EAAE,CAAC;YACvB,yEAAyE;YACzE,2EAA2E;YAC3E,6EAA6E;YAC7E,wDAAwD;YACxD,EAAE;YACF,4EAA4E;YAC5E,sEAAsE;YACtE,wEAAwE;YACxE,0CAA0C;YAC1C,MAAM,QAAQ,GAAG,mBAAmB,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;YAEtD,IAAI,YAAY,GAAwB,EAAE,CAAC;YAC3C,IAAI,UAAU,GAAsB,EAAE,CAAC;YACvC,IAAI,aAAiC,CAAC;YACtC,4EAA4E;YAC5E,0EAA0E;YAC1E,4EAA4E;YAC5E,qEAAqE;YACrE,2EAA2E;YAC3E,8BAA8B;YAC9B,IAAI,mBAAmB,GAAG,KAAK,CAAC;YAChC,IAAI,IAAI,CAAC,wBAAwB,EAAE,CAAC;gBAClC,IAAI,CAAC;oBACH,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,wBAAwB,CACpD,CAAC,CAAC,eAAe,EACjB,CAAC,CAAC,OAAO,EACT,QAAQ,CACT,CAAC;oBACF,YAAY,GAAG,UAAU,CAAC,YAAY,CAAC;oBACvC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;oBACnC,aAAa,GAAG,UAAU,CAAC,aAAa,CAAC;oBACzC,mBAAmB,GAAG,UAAU,CAAC,mBAAmB,KAAK,IAAI,CAAC;gBAChE,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,wEAAwE;oBACxE,qEAAqE;oBACrE,oDAAoD;oBACpD,GAAG,CAAC,IAAI,CACN,wDAAwD,CAAC,CAAC,eAAe,GAAG,EAC3E,GAAa,CAAC,OAAO,CACvB,CAAC;oBACF,UAAU,GAAG,CAAC;4BACZ,MAAM,EAAE,CAAC,CAAC,eAAe;4BACzB,iBAAiB,EAAE,oCAAoC;4BACvD,iBAAiB,EAAE,yBAAyB;4BAC5C,MAAM,EAAE,0BAA2B,GAAa,CAAC,OAAO,EAAE;yBAC3D,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,IAAI,mBAAmB,EAAE,CAAC;gBACxB,yEAAyE;gBACzE,oEAAoE;gBACpE,iEAAiE;gBACjE,qEAAqE;gBACrE,yEAAyE;gBACzE,wEAAwE;gBACxE,mEAAmE;gBACnE,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAChF,uBAAuB,GAAG;oBACxB,OAAO,EAAE,4BAA4B,CAAC,QAAQ,CAAC;oBAC/C,YAAY;iBACb,CAAC;gBACF,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC;gBAC3B,MAAM,CAAC,SAAS,GAAG,YAAY,GAAG,CAAC;oBACjC,CAAC,CAAC,sDAAsD,YAAY,sBAAsB;wBACxF,GAAG,IAAI,CAAC,iBAAiB,8DAA8D;wBACvF,8BAA8B,CAAC,CAAC,eAAe,eAAe;oBAChE,CAAC,CAAC,yFAAyF;wBACzF,4DAA4D,CAAC,CAAC,eAAe,eAAe,CAAC;gBACjG,GAAG,CAAC,IAAI,CAAC,kBAAkB,MAAM,CAAC,SAAS,cAAc,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC;YAC5E,CAAC;iBAAM,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACjC,uEAAuE;gBACvE,uEAAuE;gBACvE,8EAA8E;gBAC9E,uEAAuE;gBACvE,oEAAoE;gBACpE,kEAAkE;gBAClE,aAAa,GAAG,UAAU,CAAC;gBAC3B,MAAM,CAAC,OAAO,GAAG,QAAQ,CAAC;gBAC1B,MAAM,CAAC,SAAS;oBACd,+BAA+B,UAAU,CAAC,MAAM,oCAAoC;wBACpF,aAAa,CAAC,CAAC,eAAe,4CAA4C,CAAC;YAC/E,CAAC;iBAAM,CAAC;gBACN,IAAI,OAAO,GAAG,KAAK,CAAC;gBACpB,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;oBAC5D,OAAO,GAAG,IAAI,CAAC;gBACjB,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC;oBAC3B,MAAM,CAAC,SAAS,GAAG,8BAA8B,CAAC,CAAC,eAAe,KAAM,GAAa,CAAC,OAAO,EAAE,CAAC;gBAClG,CAAC;gBAED,oEAAoE;gBACpE,wEAAwE;gBACxE,oEAAoE;gBACpE,kEAAkE;gBAClE,mEAAmE;gBACnE,qEAAqE;gBACrE,oEAAoE;gBACpE,IAAI,OAAO,EAAE,CAAC;oBACZ,MAAM,kBAAkB,GAAoB,YAAY;yBACrD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,KAAK,uBAAuB,CAAC;yBAC3D,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;wBACX,MAAM,EAAE,CAAC,CAAC,MAAM;wBAChB,cAAc,EAAE,uBAAuB;wBACvC,SAAS,EAAE,CAAC,CAAC,SAAS;wBACtB,aAAa,EAAE,CAAC,CAAC,aAAa;wBAC9B,GAAG,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,sBAAsB,EAAE,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBAC9E,CAAC,CAAC,CAAC;oBACN,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAClC,IAAI,CAAC;4BACH,MAAM,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,eAAe,EAAE,kBAAkB,EAAE,aAAa,CAAC,CAAC;wBACnF,CAAC;wBAAC,OAAO,GAAG,EAAE,CAAC;4BACb,GAAG,CAAC,IAAI,CACN,+CAA+C,CAAC,CAAC,eAAe,GAAG,EAClE,GAAa,CAAC,OAAO,CACvB,CAAC;wBACJ,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IAEvD,sEAAsE;IACtE,uEAAuE;IACvE,0DAA0D;IAC1D,EAAE;IACF,4EAA4E;IAC5E,+DAA+D;IAC/D,+EAA+E;IAC/E,4DAA4D;IAC5D,IAAI,uBAAuB,IAAI,IAAI,CAAC,kCAAkC,EAAE,CAAC;QACvE,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,kCAAkC,CAAC,CAAC,EAAE,uBAAuB,CAAC,CAAC;QAC5E,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,IAAI,CACN,oEAAoE,CAAC,CAAC,UAAU,GAAG,EAClF,GAAa,CAAC,OAAO,CACvB,CAAC;QACJ,CAAC;IACH,CAAC;SAAM,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,wBAAwB,EAAE,CAAC;QACrE,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,wBAAwB,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;QACxD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,IAAI,CACN,yDAAyD,CAAC,CAAC,UAAU,GAAG,EACvE,GAAa,CAAC,OAAO,CACvB,CAAC;QACJ,CAAC;IACH,CAAC;SAAM,IAAI,MAAM,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,CAAC,kBAAkB,KAAK,eAAe,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAClH,2EAA2E;QAC3E,qEAAqE;QACrE,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,sBAAsB,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QAC/C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,IAAI,CACN,uDAAuD,CAAC,CAAC,UAAU,GAAG,EACrE,GAAa,CAAC,OAAO,CACvB,CAAC;QACJ,CAAC;IACH,CAAC;IAED,uEAAuE;IACvE,wDAAwD;IACxD,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IACrC,IAAI,UAAU,IAAI,UAAU,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1D,KAAK,MAAM,GAAG,IAAI,UAAU,CAAC,iBAAiB,EAAE,CAAC;YAC/C,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,iBAAiB,CAAC;oBAC3B,OAAO,EAAE,CAAC,CAAC,OAAO;oBAClB,SAAS,EAAE,CAAC,CAAC,SAAS;oBACtB,eAAe,EAAE,CAAC,CAAC,eAAe;oBAClC,WAAW,EAAE,GAAG;iBACjB,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,GAAG,CAAC,IAAI,CACN,0DAA0D,CAAC,CAAC,UAAU,GAAG,EACxE,GAAa,CAAC,OAAO,CACvB,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,MAAoB,EACpB,IAAgC;IAEhC,MAAM,MAAM,GAAqB,EAAE,GAAG,WAAW,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC;IACrE,MAAM,MAAM,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;IAE9E,4EAA4E;IAC5E,4EAA4E;IAC5E,uEAAuE;IACvE,sEAAsE;IACtE,6EAA6E;IAC7E,+EAA+E;IAC/E,MAAM,MAAM,GAAG,gCAAgC,CAAC,MAAM,EAAE,MAAM,CAAC,0BAA0B,CAAC,CAAC;IAC3F,sEAAsE;IACtE,2EAA2E;IAC3E,6EAA6E;IAC7E,+EAA+E;IAC/E,0CAA0C;IAC1C,qBAAqB,CAAC,QAAQ,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC,CAAC;IAEnE,KAAK,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,MAAM,EAAE,CAAC;QAC1D,IAAI,OAA8B,CAAC;QACnC,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC7D,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,IAAI,CACN,2CAA2C,OAAO,CAAC,EAAE,GAAG,EACvD,GAAa,CAAC,OAAO,CACvB,CAAC;YACF,SAAS;QACX,CAAC;QAED,sEAAsE;QACtE,yEAAyE;QACzE,0EAA0E;QAC1E,uEAAuE;QACvE,mEAAmE;QACnE,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;QAC9D,IAAI,SAAS,GAA0B,EAAE,CAAC;QAC1C,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC;gBACH,SAAS,GAAG,MAAM,6BAA6B,CAAC,aAAa,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;YAChG,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,GAAG,CAAC,IAAI,CACN,qDAAqD,OAAO,CAAC,EAAE,GAAG,EACjE,GAAa,CAAC,OAAO,CACvB,CAAC;YACJ,CAAC;QACH,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,EAAE,GAAG,SAAS,CAAC,EAAE,CAAC;YAC3C,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC;YACpB,yEAAyE;YACzE,8DAA8D;YAC9D,IAAI,CAAC,CAAC,mBAAmB,KAAK,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC;gBACrE,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YACjC,CAAC;YACD,2DAA2D;YAC3D,MAAM,qBAAqB,CAAC,OAAO,EAAE,CAAC;YACtC,IAAI,CAAC;gBACH,MAAM,CAAC,GAAG,MAAM,0BAA0B,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;gBACtD,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YACnD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,GAAG,CAAC,IAAI,CACN,2CAA2C,CAAC,CAAC,UAAU,GAAG,EACzD,GAAa,CAAC,OAAO,CACvB,CAAC;YACJ,CAAC;oBAAS,CAAC;gBACT,qBAAqB,CAAC,OAAO,EAAE,CAAC;YAClC,CAAC;QACH,CAAC;IACH,CAAC;IAED,0EAA0E;IAC1E,yEAAyE;IACzE,+EAA+E;IAC/E,qDAAqD;IACrD,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAChD,IAAI,KAAK,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;YACxB,GAAG,CAAC,IAAI,CACN,wCAAwC,KAAK,CAAC,cAAc,cAAc,KAAK,CAAC,SAAS,GAAG;gBAC5F,WAAW,KAAK,CAAC,iBAAiB,iBAAiB,KAAK,CAAC,sBAAsB,EAAE,CAClF,CAAC;QACJ,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,IAAI,CAAC,8BAA8B,EAAG,GAAa,CAAC,OAAO,CAAC,CAAC;IACnE,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -16,7 +16,8 @@
16
16
  * @module verification-feedback
17
17
  */
18
18
  import { sendMessage } from '@telora/daemon-core';
19
- import { type DeliveryGateState, type ShortfallReconciliationDetail, type VerificationFailureDetail } from './queries/deliveries.js';
19
+ import { type DeliveryGateState, type EvidenceUnavailableDetail, type ShortfallReconciliationDetail, type VerificationFailureDetail } from './queries/deliveries.js';
20
+ import { type CreateEscalationParams } from './queries/issues.js';
20
21
  import { resolveReconciledWrite } from './delivery-reconciler-apply.js';
21
22
  import { getActiveTeams } from './focus-team-state.js';
22
23
  import type { PendingVerification } from './queries/verification.js';
@@ -31,6 +32,16 @@ export declare const DETERMINISTIC_VERIFICATION_GUARD = "deterministic_verificat
31
32
  * deterministic_verification whose exitCode is 0.
32
33
  */
33
34
  export declare const SHORTFALL_RECONCILIATION_GUARD = "verify_shortfall_reconciliation";
35
+ /**
36
+ * gate_state guard name for a verify EVIDENCE-UNAVAILABLE (instrument-fault)
37
+ * hold. The verify path was handed nothing it could judge the work against, so
38
+ * it is BLIND -- distinct from both the deterministic guard (a shell command
39
+ * failed) and the shortfall guard (the work fell short of intent). A reader
40
+ * must never see the gate's own blindness rendered as a verdict about the work.
41
+ */
42
+ export declare const EVIDENCE_UNAVAILABLE_GUARD = "verify_evidence_unavailable";
43
+ /** escalation_kind discriminator for the instrument-fault hold (one open per delivery). */
44
+ export declare const EVIDENCE_UNAVAILABLE_KIND = "verify_evidence_unavailable";
34
45
  /** The slice of a StrategyResult the feedback loop needs. */
35
46
  export interface VerificationFailureResult {
36
47
  logPath?: string;
@@ -122,4 +133,36 @@ export declare function requeueShortfallAsRework(v: Pick<PendingVerification, 'd
122
133
  injected: boolean;
123
134
  detail: ShortfallReconciliationDetail;
124
135
  }>;
136
+ /** Build the gate_state for an evidence-unavailable instrument-fault hold. Pure -- exported for testing. */
137
+ export declare function buildEvidenceUnavailableGateState(detail: EvidenceUnavailableDetail): DeliveryGateState;
138
+ /** Build the informational message injected into a live coding team. Pure -- exported for testing. */
139
+ export declare function buildEvidenceUnavailableInjectMessage(deliveryName: string, detail: EvidenceUnavailableDetail): string;
140
+ /** Injected IO for the evidence-unavailable hold. */
141
+ export interface EvidenceUnavailableDeps extends VerificationFeedbackDeps {
142
+ /** True when an open evidence-unavailable escalation already exists for this delivery. */
143
+ hasOpenEscalationForDelivery: (deliveryId: string, escalationKind: string) => Promise<boolean>;
144
+ /** File the first-occurrence instrument-fault escalation. */
145
+ createEscalation: (params: CreateEscalationParams) => Promise<{
146
+ escalationId: string | null;
147
+ } | void>;
148
+ }
149
+ /**
150
+ * Deliver feedback for a verify EVIDENCE-UNAVAILABLE instrument-fault hold:
151
+ * 1. write gate_state under the evidence-unavailable guard WITHOUT changing
152
+ * execution_status (stays `verify`; same idempotent same-status pattern as
153
+ * the deterministic/shortfall gate_state writes). The delivery is NOT
154
+ * routed to verify_failed, so no iteration_count is consumed.
155
+ * 2. file ONE operator escalation on first occurrence (idempotent per
156
+ * delivery via hasOpenEscalationForDelivery) naming the missing evidence,
157
+ * so an instrument fault escalates immediately instead of cycling to the
158
+ * verify_failed iteration cap.
159
+ * 3. best-effort inject an informational note into a live coding team.
160
+ *
161
+ * Best-effort throughout -- a feedback failure must never crash the verification tick.
162
+ */
163
+ export declare function deliverEvidenceUnavailableFeedback(v: Pick<PendingVerification, 'deliveryId' | 'deliveryName' | 'focusId' | 'productId'>, fault: Omit<EvidenceUnavailableDetail, 'heldAt'>, organizationId: string, deps?: Partial<EvidenceUnavailableDeps>): Promise<{
164
+ gateWritten: boolean;
165
+ escalated: boolean;
166
+ injected: boolean;
167
+ }>;
125
168
  //# sourceMappingURL=verification-feedback.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"verification-feedback.d.ts","sourceRoot":"","sources":["../src/verification-feedback.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verification-feedback.d.ts","sourceRoot":"","sources":["../src/verification-feedback.ts"],"names":[],"mappings":"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"}
@@ -15,8 +15,9 @@
15
15
  *
16
16
  * @module verification-feedback
17
17
  */
18
- import { DELIVERY_STATUS, sendMessage } from '@telora/daemon-core';
18
+ import { DELIVERY_STATUS, ESCALATION_REASONS, ESCALATION_DISPOSITIONS, sendMessage, withRetry } from '@telora/daemon-core';
19
19
  import { updateDeliveryStatus, } from './queries/deliveries.js';
20
+ import { createEscalation as defaultCreateEscalation, hasOpenEscalationForDelivery as defaultHasOpenEscalationForDelivery, } from './queries/issues.js';
20
21
  import { resolveReconciledWrite } from './delivery-reconciler-apply.js';
21
22
  import { getActiveTeams } from './focus-team-state.js';
22
23
  import { parseFailingTests } from './verification-failure-parser.js';
@@ -32,6 +33,16 @@ export const DETERMINISTIC_VERIFICATION_GUARD = 'deterministic_verification';
32
33
  * deterministic_verification whose exitCode is 0.
33
34
  */
34
35
  export const SHORTFALL_RECONCILIATION_GUARD = 'verify_shortfall_reconciliation';
36
+ /**
37
+ * gate_state guard name for a verify EVIDENCE-UNAVAILABLE (instrument-fault)
38
+ * hold. The verify path was handed nothing it could judge the work against, so
39
+ * it is BLIND -- distinct from both the deterministic guard (a shell command
40
+ * failed) and the shortfall guard (the work fell short of intent). A reader
41
+ * must never see the gate's own blindness rendered as a verdict about the work.
42
+ */
43
+ export const EVIDENCE_UNAVAILABLE_GUARD = 'verify_evidence_unavailable';
44
+ /** escalation_kind discriminator for the instrument-fault hold (one open per delivery). */
45
+ export const EVIDENCE_UNAVAILABLE_KIND = 'verify_evidence_unavailable';
35
46
  /** Build the gate_state for a failed deterministic run. Pure -- exported for testing. */
36
47
  export function buildVerificationFailureGateState(detail) {
37
48
  return {
@@ -284,4 +295,122 @@ export async function requeueShortfallAsRework(v, shortfalls, organizationId, de
284
295
  }
285
296
  return { transitioned, injected, detail };
286
297
  }
298
+ // ---------------------------------------------------------------------------
299
+ // Evidence-unavailable instrument-fault hold (a gate must not report its own
300
+ // blindness as a verdict)
301
+ // ---------------------------------------------------------------------------
302
+ /** Build the gate_state for an evidence-unavailable instrument-fault hold. Pure -- exported for testing. */
303
+ export function buildEvidenceUnavailableGateState(detail) {
304
+ return {
305
+ blocking: [{ guardName: EVIDENCE_UNAVAILABLE_GUARD, passed: false }],
306
+ warnings: [],
307
+ evaluatedAt: detail.heldAt,
308
+ evidenceUnavailable: detail,
309
+ };
310
+ }
311
+ /** Build the informational message injected into a live coding team. Pure -- exported for testing. */
312
+ export function buildEvidenceUnavailableInjectMessage(deliveryName, detail) {
313
+ return [
314
+ `VERIFY HELD for delivery "${deliveryName}": the verify gate was handed NO evidence it could judge the work against.`,
315
+ '',
316
+ 'This is an INSTRUMENT FAULT, not a statement about your work and NOT a failing check. ' +
317
+ 'The verify reconciliation could not see a diff / changed files / inspection finding, so it ' +
318
+ 'declined to render any verdict (it must never report its own blindness as a shortfall).',
319
+ '',
320
+ `Missing evidence: ${detail.missing.join(', ') || '(all judgeable slots empty)'}`,
321
+ detail.commitsAhead > 0
322
+ ? `The branch is ${detail.commitsAhead} commit(s) ahead of the base but the diff resolved empty -- a broken measurement.`
323
+ : 'The branch is level with / behind the base (already merged, or no work attributable) -- no diff to read.',
324
+ '',
325
+ 'An operator escalation has been filed. Do not re-run coding to "fix" this -- there is nothing in the work to fix.',
326
+ ].join('\n');
327
+ }
328
+ const defaultEvidenceUnavailableDeps = () => ({
329
+ ...defaultDeps(),
330
+ hasOpenEscalationForDelivery: defaultHasOpenEscalationForDelivery,
331
+ createEscalation: defaultCreateEscalation,
332
+ });
333
+ /**
334
+ * Deliver feedback for a verify EVIDENCE-UNAVAILABLE instrument-fault hold:
335
+ * 1. write gate_state under the evidence-unavailable guard WITHOUT changing
336
+ * execution_status (stays `verify`; same idempotent same-status pattern as
337
+ * the deterministic/shortfall gate_state writes). The delivery is NOT
338
+ * routed to verify_failed, so no iteration_count is consumed.
339
+ * 2. file ONE operator escalation on first occurrence (idempotent per
340
+ * delivery via hasOpenEscalationForDelivery) naming the missing evidence,
341
+ * so an instrument fault escalates immediately instead of cycling to the
342
+ * verify_failed iteration cap.
343
+ * 3. best-effort inject an informational note into a live coding team.
344
+ *
345
+ * Best-effort throughout -- a feedback failure must never crash the verification tick.
346
+ */
347
+ export async function deliverEvidenceUnavailableFeedback(v, fault, organizationId, deps = {}) {
348
+ const d = { ...defaultEvidenceUnavailableDeps(), ...deps };
349
+ const detail = { heldAt: d.now(), ...fault };
350
+ const gateState = buildEvidenceUnavailableGateState(detail);
351
+ let gateWritten = false;
352
+ try {
353
+ await d.writeGateState(v.deliveryId, gateState, organizationId);
354
+ gateWritten = true;
355
+ }
356
+ catch (err) {
357
+ log.warn(`failed to write evidence-unavailable gate_state for delivery ${v.deliveryId}:`, err.message);
358
+ }
359
+ let escalated = false;
360
+ try {
361
+ if (!(await d.hasOpenEscalationForDelivery(v.deliveryId, EVIDENCE_UNAVAILABLE_KIND))) {
362
+ await withRetry(() => d.createEscalation({
363
+ organizationId,
364
+ sessionId: '',
365
+ issueId: null,
366
+ reasonType: ESCALATION_REASONS.ERROR_ENCOUNTERED,
367
+ // An operator must fix the measurement / disambiguate the empty bundle;
368
+ // the daemon cannot self-clear an instrument fault.
369
+ disposition: ESCALATION_DISPOSITIONS.NEEDS_OPERATOR,
370
+ anchor: { deliveryId: v.deliveryId, ...(v.focusId ? { focusId: v.focusId } : {}) },
371
+ ...(v.productId ? { productId: v.productId } : {}),
372
+ escalationKind: EVIDENCE_UNAVAILABLE_KIND,
373
+ description: `Verify for delivery "${v.deliveryName}" was handed NO evidence it could judge the work ` +
374
+ `against (an instrument fault) -- the gate is BLIND, not the work short.\n\n` +
375
+ `**Delivery:** "${v.deliveryName}" (${v.deliveryId})\n` +
376
+ `**Missing evidence:** ${detail.missing.join(', ') || '(all judgeable slots empty)'}\n` +
377
+ `**commits ahead of base:** ${detail.commitsAhead}\n\n` +
378
+ (detail.commitsAhead > 0
379
+ ? `The branch has commits but the diff resolved empty -- a broken diff MEASUREMENT ` +
380
+ `(wrong range/worktree). Fix the measurement; do not re-code.\n`
381
+ : `The branch is level with / behind the base (already merged or no attributable work) ` +
382
+ `-- there is no diff to read. Confirm whether the work landed and clear this hold.\n`),
383
+ whatWasTried: `The verify reconciliation detected an empty judgeable evidence bundle and declined to ` +
384
+ `render a verdict (it must never report its own blindness as a shortfall). The delivery ` +
385
+ `is held in verify without consuming a re-code iteration.`,
386
+ helpNeeded: `Restore the missing evidence (fix the diff range / confirm the merge) so verify can ` +
387
+ `judge the work, or clear the delivery manually if the work is genuinely complete.`,
388
+ metadata: {
389
+ cause: EVIDENCE_UNAVAILABLE_KIND,
390
+ deliveryName: v.deliveryName,
391
+ missing: detail.missing,
392
+ commitsAhead: detail.commitsAhead,
393
+ },
394
+ }), { maxAttempts: 3, label: `escalation-evidence-unavailable-${v.deliveryId}` });
395
+ escalated = true;
396
+ }
397
+ }
398
+ catch (err) {
399
+ log.warn(`failed to file evidence-unavailable escalation for delivery ${v.deliveryId}:`, err.message);
400
+ }
401
+ let injected = false;
402
+ if (v.focusId) {
403
+ const team = d.getActiveTeams().get(v.focusId);
404
+ if (team && team.leadStdin && team.sessionType !== 'review') {
405
+ try {
406
+ d.sendMessage(team.leadStdin, buildEvidenceUnavailableInjectMessage(v.deliveryName, detail));
407
+ injected = true;
408
+ }
409
+ catch (err) {
410
+ log.warn(`failed to inject evidence-unavailable hold to team ${v.focusId}:`, err.message);
411
+ }
412
+ }
413
+ }
414
+ return { gateWritten, escalated, injected };
415
+ }
287
416
  //# sourceMappingURL=verification-feedback.js.map