@cat-factory/orchestration 0.238.0 → 0.240.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 (26) hide show
  1. package/dist/container/modules.d.ts.map +1 -1
  2. package/dist/container/modules.js +5 -0
  3. package/dist/container/modules.js.map +1 -1
  4. package/dist/index.d.ts +1 -1
  5. package/dist/index.d.ts.map +1 -1
  6. package/dist/index.js.map +1 -1
  7. package/dist/modules/execution/ExecutionService.d.ts.map +1 -1
  8. package/dist/modules/execution/ExecutionService.js +2 -1
  9. package/dist/modules/execution/ExecutionService.js.map +1 -1
  10. package/dist/modules/execution/VisualConfirmationController.d.ts +20 -4
  11. package/dist/modules/execution/VisualConfirmationController.d.ts.map +1 -1
  12. package/dist/modules/execution/VisualConfirmationController.js +77 -15
  13. package/dist/modules/execution/VisualConfirmationController.js.map +1 -1
  14. package/dist/modules/execution/drive.d.ts +28 -0
  15. package/dist/modules/execution/drive.d.ts.map +1 -1
  16. package/dist/modules/execution/drive.js +53 -3
  17. package/dist/modules/execution/drive.js.map +1 -1
  18. package/dist/modules/execution/gate-window-controllers.d.ts +2 -0
  19. package/dist/modules/execution/gate-window-controllers.d.ts.map +1 -1
  20. package/dist/modules/execution/gate-window-controllers.js +2 -1
  21. package/dist/modules/execution/gate-window-controllers.js.map +1 -1
  22. package/dist/modules/execution/visual-confirm-design-references.d.ts +85 -0
  23. package/dist/modules/execution/visual-confirm-design-references.d.ts.map +1 -0
  24. package/dist/modules/execution/visual-confirm-design-references.js +229 -0
  25. package/dist/modules/execution/visual-confirm-design-references.js.map +1 -0
  26. package/package.json +11 -11
@@ -1,4 +1,6 @@
1
1
  import { ConflictError, isAsyncAgentExecutor } from '@cat-factory/kernel';
2
+ import { countCapturedViews } from '@cat-factory/contracts';
3
+ import { resolveDesignReferences } from './visual-confirm-design-references.js';
2
4
  import { FIXER_AGENT_KIND, UI_TESTER_AGENT_KIND, VISUAL_CONFIRM_AGENT_KIND } from './ci.logic.js';
3
5
  import { recordDispatchAttribution } from './step-fold.logic.js';
4
6
  /** Render the human's findings as the resolved-context block handed to the fixer. */
@@ -71,7 +73,9 @@ export class VisualConfirmationController {
71
73
  const block = await this.deps.blockRepository.get(workspaceId, instance.blockId);
72
74
  if (!block)
73
75
  return { kind: 'noop' };
74
- vc.pairs = await this.gatherPairs(workspaceId, instance, block, await this.store(workspaceId));
76
+ const gathered = await this.gatherPairs(workspaceId, instance, block, await this.store(workspaceId));
77
+ vc.pairs = gathered.pairs;
78
+ vc.designReferences = gathered.design;
75
79
  // The pairs come from the LAST UI-tester report, which predates this fix — the gate does
76
80
  // not auto re-run the UI tester yet (see the handover doc). Flag the staleness so the human
77
81
  // knows to recapture (or re-run the UI tester) before judging the screenshots as final,
@@ -118,14 +122,19 @@ export class VisualConfirmationController {
118
122
  return this.completeStep(workspaceId, instance, step, isFinalStep);
119
123
  }
120
124
  const maxAttempts = (await this.deps.resolveRiskPolicy(workspaceId, block)).ciMaxAttempts;
121
- const pairs = await this.gatherPairs(workspaceId, instance, block, store);
125
+ const { pairs, design } = await this.gatherPairs(workspaceId, instance, block, store);
122
126
  step.visualConfirm = {
123
127
  phase: 'awaiting_human',
124
128
  pairs,
129
+ designReferences: design,
125
130
  attempts: 0,
126
131
  maxAttempts,
127
132
  rounds: [],
128
- ...(pairs.length === 0
133
+ // Gated on what was CAPTURED, never on how many rows the gallery has: a reference-only row
134
+ // (a linked design's frame, an uploaded mock) makes a pair too, so counting rows would drop
135
+ // this warning — and the approve-button acknowledgement it drives — for exactly the run that
136
+ // needs it, one showing a reviewer nothing but the mocks they already had.
137
+ ...(countCapturedViews(pairs) === 0
129
138
  ? {
130
139
  degradedReason: 'No UI screenshots were captured for this task — review the change manually, then approve or request a fix.',
131
140
  }
@@ -147,8 +156,11 @@ export class VisualConfirmationController {
147
156
  return this.dispatchFixer(workspaceId, instance, step, block, action.findings ?? '');
148
157
  case 'recapture': {
149
158
  const vc = step.visualConfirm;
150
- if (vc)
151
- vc.pairs = await this.gatherPairs(workspaceId, instance, block, await this.store(workspaceId));
159
+ if (vc) {
160
+ const refreshed = await this.gatherPairs(workspaceId, instance, block, await this.store(workspaceId));
161
+ vc.pairs = refreshed.pairs;
162
+ vc.designReferences = refreshed.design;
163
+ }
152
164
  return this.toAwaitingHuman(workspaceId, instance, step, block);
153
165
  }
154
166
  }
@@ -220,9 +232,11 @@ export class VisualConfirmationController {
220
232
  return { kind: 'awaiting_job', jobId: step.jobId, stepIndex: instance.currentStep };
221
233
  }
222
234
  /**
223
- * Gather actual-vs-reference pairs: the latest UI-tester report's screenshots + block
224
- * references. The caller passes the already-resolved per-account store (or null) so the
225
- * gate's entry path doesn't resolve it twice.
235
+ * Gather actual-vs-reference pairs: the latest UI-tester report's screenshots, the frames the
236
+ * task's linked DESIGNS retained, and the block's hand-uploaded references. The caller passes
237
+ * the already-resolved per-account store (or null) so the gate's entry path doesn't resolve it
238
+ * twice; the design summary comes back beside the pairs because "a design is linked and gave
239
+ * nothing" is a fact only this read knows and only the gate state can carry.
226
240
  */
227
241
  async gatherPairs(workspaceId, instance, block, store) {
228
242
  const byView = new Map();
@@ -243,10 +257,40 @@ export class VisualConfirmationController {
243
257
  byView.set(shot.view, {
244
258
  view: shot.view,
245
259
  actualArtifactId,
260
+ // No `referenceOrigin`: a reference the CAPTURE named is one the gate did not source, so
261
+ // it can say where it came from only by guessing. An absent origin is "unknown", which is
262
+ // the honest answer and a different one from "a person uploaded this".
246
263
  referenceArtifactId: shot.referenceArtifactId ?? null,
247
264
  });
248
265
  }
249
- // Reference: the block's uploaded reference design images (carry no executionId).
266
+ // Reference, first half: the frames retained from the DESIGNS this task links. Folded in
267
+ // BEFORE the hand-uploaded set below, which is the precedence that matters: an upload is a
268
+ // deliberate act against this one task, while a design render is a projection the next import
269
+ // replaces, so a person who uploaded a reference for a view must not have it swapped out from
270
+ // under them by whatever the file happens to say today.
271
+ const design = await resolveDesignReferences(this.deps.documentRepository, store, workspaceId, block.id);
272
+ for (const ref of design?.references ?? []) {
273
+ const existing = byView.get(ref.view);
274
+ if (existing) {
275
+ // A reference the CAPTURE named for this view is left alone. The same precedence the
276
+ // uploads below rely on, for the same reason: an explicitly chosen reference outranks a
277
+ // projection of whatever the linked file says today, and the design fold cannot tell
278
+ // which of the two it would be replacing. Only a view with no reference at all is filled.
279
+ if (existing.referenceArtifactId)
280
+ continue;
281
+ existing.referenceArtifactId = ref.artifactId;
282
+ existing.referenceOrigin = 'design';
283
+ }
284
+ else {
285
+ byView.set(ref.view, {
286
+ view: ref.view,
287
+ actualArtifactId: null,
288
+ referenceArtifactId: ref.artifactId,
289
+ referenceOrigin: 'design',
290
+ });
291
+ }
292
+ }
293
+ // Reference, second half: the block's uploaded reference design images (carry no executionId).
250
294
  if (store) {
251
295
  const refs = (await store.listByBlock(workspaceId, block.id)).filter((r) => r.kind === 'reference');
252
296
  // `listByBlock` returns references oldest-first, so assign unconditionally: the LAST
@@ -255,13 +299,21 @@ export class VisualConfirmationController {
255
299
  for (const ref of refs) {
256
300
  const view = ref.view ?? '(reference)';
257
301
  const existing = byView.get(view);
258
- if (existing)
302
+ if (existing) {
259
303
  existing.referenceArtifactId = ref.id;
260
- else
261
- byView.set(view, { view, actualArtifactId: null, referenceArtifactId: ref.id });
304
+ existing.referenceOrigin = 'upload';
305
+ }
306
+ else {
307
+ byView.set(view, {
308
+ view,
309
+ actualArtifactId: null,
310
+ referenceArtifactId: ref.id,
311
+ referenceOrigin: 'upload',
312
+ });
313
+ }
262
314
  }
263
315
  }
264
- return [...byView.values()];
316
+ return { pairs: [...byView.values()], design: design?.summary ?? null };
265
317
  }
266
318
  /** Flip to awaiting-human, summon the human (idempotent notification), and park. */
267
319
  async toAwaitingHuman(workspaceId, instance, step, block) {
@@ -343,8 +395,18 @@ export class VisualConfirmationController {
343
395
  throw new ConflictError('No visual-confirmation gate is currently awaiting input');
344
396
  return found;
345
397
  }
398
+ /**
399
+ * How many screenshots this gate is asking a human to look at.
400
+ *
401
+ * The captured count, not the row count: a design frame or an uploaded mock makes a pair with
402
+ * nothing captured against it, so summoning a reviewer to "5 captured screenshots" that are all
403
+ * blank is the same misreading the degraded note above exists to prevent.
404
+ */
405
+ capturedCount(vc) {
406
+ return countCapturedViews(vc.pairs ?? []);
407
+ }
346
408
  proposal(vc) {
347
- const n = vc.pairs?.length ?? 0;
409
+ const n = this.capturedCount(vc);
348
410
  return n > 0
349
411
  ? `Review ${n} screenshot${n === 1 ? '' : 's'} against the reference designs, then approve or request a fix.`
350
412
  : 'Review the UI change, then approve or request a fix.';
@@ -353,7 +415,7 @@ export class VisualConfirmationController {
353
415
  async raiseReadyNotification(workspaceId, instance, block, vc) {
354
416
  if (!this.deps.notificationService)
355
417
  return;
356
- const n = vc.pairs?.length ?? 0;
418
+ const n = this.capturedCount(vc);
357
419
  await this.deps.notificationService.raise(workspaceId, {
358
420
  type: 'visual_confirmation_ready',
359
421
  blockId: block.id,
@@ -1 +1 @@
1
- {"version":3,"file":"VisualConfirmationController.js","sourceRoot":"","sources":["../../../src/modules/execution/VisualConfirmationController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VisualConfirmationController.js","sourceRoot":"","sources":["../../../src/modules/execution/VisualConfirmationController.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,24 @@ export interface DriveConfig {
7
7
  jobPollFailureTolerance: number;
8
8
  ciPollIntervalMs: number;
9
9
  ciMaxPolls: number;
10
+ /**
11
+ * Ceiling on ONE engine call this loop waits on — an `advanceInstance` or a status read —
12
+ * enforced through {@link DriveOptions.withStepCeiling}. It bounds BOTH for the same reason the
13
+ * Worker wraps both in one `stepConfig`: either can hang on the same external dependency, and a
14
+ * hung poll wedges the run exactly as a hung advance does.
15
+ *
16
+ * `0` means unbounded, which is what the deterministic conformance/unit fakes want: they own
17
+ * no clock, and a call that never settles there is a test bug, not a production hang.
18
+ */
19
+ advanceTimeoutMs: number;
10
20
  }
21
+ /** What {@link DriveOptions.withStepCeiling} answers: the call settled, or the ceiling won. */
22
+ export type StepOutcome<T> = {
23
+ timedOut: false;
24
+ value: T;
25
+ } | {
26
+ timedOut: true;
27
+ };
11
28
  /** Runtime seams the driver loop needs; both have inert defaults. */
12
29
  export interface DriveOptions {
13
30
  /**
@@ -19,6 +36,17 @@ export interface DriveOptions {
19
36
  sleep?: (ms: number) => Promise<void>;
20
37
  /** Where to log lifecycle breadcrumbs. Defaults to a no-op. */
21
38
  log?: Logger;
39
+ /**
40
+ * Bound ONE engine call at `cfg.advanceTimeoutMs`. Same seam shape as `sleep`, and for the same
41
+ * reason: orchestration owns no timers, so the facade supplies the clock (the Node `drive.ts`
42
+ * wrapper injects a `Promise.race`; the Cloudflare driver never runs this loop, it wraps the
43
+ * same calls in a `step.do` carrying the same timeout).
44
+ *
45
+ * The work is ABANDONED rather than aborted on a timeout (a promise cannot be cancelled), so a
46
+ * late writer can still land afterwards; every run write goes through the rev-guarded
47
+ * `casPersist`, which is what makes abandoning it safe rather than a lost-update race.
48
+ */
49
+ withStepCeiling?: <T>(work: Promise<T>, ms: number) => Promise<StepOutcome<T>>;
22
50
  }
23
51
  /** What a drive ended on, so the runner can schedule follow-up work (a decision timeout). */
24
52
  export interface DriveOutcome {
@@ -1 +1 @@
1
- {"version":3,"file":"drive.d.ts","sourceRoot":"","sources":["../../../src/modules/execution/drive.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6B,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAQ5E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAE7D,kEAAkE;AAClE,MAAM,WAAW,WAAW;IAC1B,iBAAiB,EAAE,MAAM,CAAA;IACzB,WAAW,EAAE,MAAM,CAAA;IACnB,uBAAuB,EAAE,MAAM,CAAA;IAC/B,gBAAgB,EAAE,MAAM,CAAA;IACxB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,qEAAqE;AACrE,MAAM,WAAW,YAAY;IAC3B;;;;;OAKG;IACH,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACrC,+DAA+D;IAC/D,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAED,6FAA6F;AAC7F,MAAM,WAAW,YAAY;IAC3B,+EAA+E;IAC/E,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB;AAID;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,gBAAgB,EACtB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,WAAW,EAChB,IAAI,GAAE,YAAiB,GACtB,OAAO,CAAC,YAAY,CAAC,CAqKvB"}
1
+ {"version":3,"file":"drive.d.ts","sourceRoot":"","sources":["../../../src/modules/execution/drive.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6B,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAQ5E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAE7D,kEAAkE;AAClE,MAAM,WAAW,WAAW;IAC1B,iBAAiB,EAAE,MAAM,CAAA;IACzB,WAAW,EAAE,MAAM,CAAA;IACnB,uBAAuB,EAAE,MAAM,CAAA;IAC/B,gBAAgB,EAAE,MAAM,CAAA;IACxB,UAAU,EAAE,MAAM,CAAA;IAClB;;;;;;;;OAQG;IACH,gBAAgB,EAAE,MAAM,CAAA;CACzB;AAED,+FAA+F;AAC/F,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI;IAAE,QAAQ,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE,GAAG;IAAE,QAAQ,EAAE,IAAI,CAAA;CAAE,CAAA;AAE/E,qEAAqE;AACrE,MAAM,WAAW,YAAY;IAC3B;;;;;OAKG;IACH,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACrC,+DAA+D;IAC/D,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ;;;;;;;;;OASG;IACH,eAAe,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAA;CAC/E;AAED,6FAA6F;AAC7F,MAAM,WAAW,YAAY;IAC3B,+EAA+E;IAC/E,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB;AA4BD;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,gBAAgB,EACtB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,WAAW,EAChB,IAAI,GAAE,YAAiB,GACtB,OAAO,CAAC,YAAY,CAAC,CA0MvB"}
@@ -1,6 +1,28 @@
1
1
  import { describeError, noopLogger } from '@cat-factory/kernel';
2
2
  import { failureFromAdvanceError, failureFromDriver, failureFromResult, } from './runFailure.js';
3
3
  const instantSleep = () => Promise.resolve();
4
+ /** No facade clock wired (or `advanceTimeoutMs: 0`): await the work as this loop always did. */
5
+ const unbounded = async (work) => ({
6
+ timedOut: false,
7
+ value: await work,
8
+ });
9
+ /**
10
+ * The ceiling in the coarsest unit that still states it truthfully, for the run's user-facing
11
+ * failure ("did not complete within 30 minutes"). Production values are minutes; the smaller
12
+ * units exist so a deployment that tightens the knob is quoted its own number back rather than
13
+ * a rounded-to-nothing "0 seconds".
14
+ */
15
+ function describeCeiling(ms) {
16
+ if (ms >= 60_000) {
17
+ const minutes = Math.round(ms / 60_000);
18
+ return `${minutes} minute${minutes === 1 ? '' : 's'}`;
19
+ }
20
+ if (ms >= 1000) {
21
+ const seconds = Math.round(ms / 1000);
22
+ return `${seconds} second${seconds === 1 ? '' : 's'}`;
23
+ }
24
+ return `${ms}ms`;
25
+ }
4
26
  /**
5
27
  * Drive one run to a standstill. The runtime-neutral driver loop: it contains NO
6
28
  * business logic — every decision lives in {@link ExecutionService} — and uses plain
@@ -18,6 +40,9 @@ const instantSleep = () => Promise.resolve();
18
40
  */
19
41
  export async function driveExecution(exec, workspaceId, executionId, cfg, opts = {}) {
20
42
  const sleep = opts.sleep ?? instantSleep;
43
+ // `advanceTimeoutMs: 0` is the explicit opt-out, so a facade that wires the clock still gets
44
+ // the unbounded await rather than a zero-length ceiling that fails every advance instantly.
45
+ const withStepCeiling = cfg.advanceTimeoutMs > 0 ? (opts.withStepCeiling ?? unbounded) : unbounded;
21
46
  // Bind the run's correlation ids ONCE, so every line the driver emits — including the
22
47
  // poll-failure warnings below, which fire deep inside `pollUntil` — is greppable by run
23
48
  // without each call site re-spreading them.
@@ -48,7 +73,19 @@ export async function driveExecution(exec, workspaceId, executionId, cfg, opts =
48
73
  await sleep(intervalMs);
49
74
  let result;
50
75
  try {
51
- result = await poll();
76
+ // The same ceiling the advance gets, with the Worker's disposition rather than the
77
+ // advance's: over there a poll runs inside a `step.do` carrying the same `stepConfig`,
78
+ // and a timed-out step THROWS into `pollOnce`, which counts it as one unreadable poll.
79
+ // That is the honest reading — a status read that never answered is a status that could
80
+ // not be read — and it keeps the tolerance below as the one thing deciding when enough
81
+ // of them is terminal. Without it a hung poll wedged the run exactly as a hung advance
82
+ // did: pg-boss keeps heartbeating the active job, so the sweeper still reads it `live`
83
+ // (stuck-run audit F9).
84
+ const attempt = await withStepCeiling(poll(), cfg.advanceTimeoutMs);
85
+ if (attempt.timedOut) {
86
+ throw new Error(`no answer within ${describeCeiling(cfg.advanceTimeoutMs)}`);
87
+ }
88
+ result = attempt.value;
52
89
  }
53
90
  catch (error) {
54
91
  // A bare `catch` used to discard the cause, so a run killed by three unreadable polls
@@ -76,9 +113,14 @@ export async function driveExecution(exec, workspaceId, executionId, cfg, opts =
76
113
  return null;
77
114
  };
78
115
  for (;;) {
79
- let result;
116
+ let outcome;
80
117
  try {
81
- result = await exec.advanceInstance(workspaceId, executionId, { rethrowAgentErrors: true });
118
+ // Bounded, because nothing else bounds it: pg-boss heartbeats an ACTIVE job regardless of
119
+ // handler progress, so a hung call inside an advance leaves the run `running` with a live
120
+ // job and a frozen `updated_at`: the sweeper classifies it `live` and skips it, and the
121
+ // run wedges until the queue's expire cap (up to 24h). Cloudflare has always capped the
122
+ // same call at its `step.do` timeout; this restores the symmetry (stuck-run audit F9).
123
+ outcome = await withStepCeiling(exec.advanceInstance(workspaceId, executionId, { rethrowAgentErrors: true }), cfg.advanceTimeoutMs);
82
124
  }
83
125
  catch (error) {
84
126
  // A thrown `DomainError` carries a machine-readable `details.reason` (e.g. a
@@ -89,6 +131,14 @@ export async function driveExecution(exec, workspaceId, executionId, cfg, opts =
89
131
  await fail(failureFromAdvanceError(error));
90
132
  return {};
91
133
  }
134
+ if (outcome.timedOut) {
135
+ // A `timeout` kind, not the `agent` one a thrown advance records: nothing reached an
136
+ // agent, and the operator's fix is the wedged dependency, not a transcript.
137
+ log.warn('advance exceeded its ceiling; failing the run', { ceilingMs: cfg.advanceTimeoutMs });
138
+ await fail(failureFromDriver(`Step advance did not complete within ${describeCeiling(cfg.advanceTimeoutMs)}`, 'timeout'));
139
+ return {};
140
+ }
141
+ let result = outcome.value;
92
142
  // Drain whatever gate the step parked on. A gate poll can resolve to a DIFFERENT
93
143
  // gate — e.g. a `ci` step that finds CI red dispatches a `ci-fixer` and returns
94
144
  // `awaiting_job` — so loop until the result is no longer an awaiting_* gate rather
@@ -1 +1 @@
1
- {"version":3,"file":"drive.js","sourceRoot":"","sources":["../../../src/modules/execution/drive.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"drive.js","sourceRoot":"","sources":["../../../src/modules/execution/drive.ts"],"names":[],"mappings":"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"}
@@ -52,6 +52,8 @@ export interface GateWindowControllerDeps {
52
52
  environmentTeardown: ExecutionServiceDependencies['environmentTeardown'];
53
53
  branchUpdater: ExecutionServiceDependencies['branchUpdater'];
54
54
  resolveBinaryArtifactStore: ExecutionServiceDependencies['resolveBinaryArtifactStore'];
55
+ /** The document corpus the visual-confirmation gate reads a task's linked DESIGNS from. */
56
+ documentRepository: ExecutionServiceDependencies['documentRepository'];
55
57
  forkChatService: ExecutionServiceDependencies['forkChatService'];
56
58
  /** Tracker writeback — the review gate echoes a HEADLESS park's open findings through it. */
57
59
  issueWriteback: ExecutionServiceDependencies['issueWriteback'];
@@ -1 +1 @@
1
- {"version":3,"file":"gate-window-controllers.d.ts","sourceRoot":"","sources":["../../../src/modules/execution/gate-window-controllers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gate-window-controllers.d.ts","sourceRoot":"","sources":["../../../src/modules/execution/gate-window-controllers.ts"],"names":[],"mappings":"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"}
@@ -27,7 +27,7 @@ import { defaultTaskTypeRegistry } from '@cat-factory/kernel';
27
27
  * Build the human-gate window controllers over one shared deps bundle (see the module doc).
28
28
  */
29
29
  export function buildGateWindowControllers(deps) {
30
- const { blockRepository, executionRepository, workRunner, agentExecutor, notificationService, contextBuilder, stateMachine, stepGraph, idGenerator, clock, clockNow, resolveRiskPolicy, dispatchIterationCap, testerQualityReviewer, environmentProvisioning, environmentTeardown, branchUpdater, resolveBinaryArtifactStore, forkChatService, issueWriteback, logger, } = deps;
30
+ const { blockRepository, executionRepository, workRunner, agentExecutor, notificationService, contextBuilder, stateMachine, stepGraph, idGenerator, clock, clockNow, resolveRiskPolicy, dispatchIterationCap, testerQualityReviewer, environmentProvisioning, environmentTeardown, branchUpdater, resolveBinaryArtifactStore, documentRepository, forkChatService, issueWriteback, logger, } = deps;
31
31
  const testerController = new TesterController({
32
32
  blockRepository,
33
33
  notificationService,
@@ -103,6 +103,7 @@ export function buildGateWindowControllers(deps) {
103
103
  contextBuilder,
104
104
  notificationService,
105
105
  ...(resolveBinaryArtifactStore ? { resolveBinaryArtifactStore } : {}),
106
+ ...(documentRepository ? { documentRepository } : {}),
106
107
  resolveRiskPolicy,
107
108
  stateMachine,
108
109
  stepGraph,
@@ -1 +1 @@
1
- {"version":3,"file":"gate-window-controllers.js","sourceRoot":"","sources":["../../../src/modules/execution/gate-window-controllers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gate-window-controllers.js","sourceRoot":"","sources":["../../../src/modules/execution/gate-window-controllers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,85 @@
1
+ import type { BinaryArtifactRecord, BinaryArtifactStore, DocumentRecord, DocumentRepository } from '@cat-factory/kernel';
2
+ import type { DocumentRenderStatus, VisualConfirmDesignGapReason, VisualConfirmDesignReferences } from '@cat-factory/contracts';
3
+ /**
4
+ * How many design-rendered views one gallery may carry, across every design a task links.
5
+ *
6
+ * A per-document render cap already bounds each design (Figma rasterises the first frames of a
7
+ * file, not all of them), and this bounds their SUM: a task linking four designs would otherwise
8
+ * push a couple of captured screenshots off the bottom of a page of mocks nobody asked to review
9
+ * here. Whatever it excludes is COUNTED and stated, never quietly trimmed.
10
+ */
11
+ export declare const MAX_DESIGN_REFERENCE_VIEWS = 12;
12
+ /** One design-rendered frame, keyed by the view name it pairs on. */
13
+ export interface DesignReference {
14
+ view: string;
15
+ artifactId: string;
16
+ }
17
+ /** The fold's product: what to show, and what to say about what is missing. */
18
+ export interface DesignReferenceFold {
19
+ references: DesignReference[];
20
+ summary: VisualConfirmDesignReferences;
21
+ }
22
+ /** The document fields the fold reads; a `DocumentRecord` structurally satisfies it. */
23
+ export interface DesignDocumentSummary {
24
+ source: DocumentRecord['source'];
25
+ externalId: string;
26
+ title: string;
27
+ renderStatus: DocumentRenderStatus | null;
28
+ }
29
+ /**
30
+ * Why a linked design contributed less than its whole set of frames, or null when it contributed
31
+ * everything it has.
32
+ *
33
+ * Reads the stored `renderStatus` AND what the artifact store actually holds, because the two can
34
+ * disagree in the one direction that matters: a row CLAIMING retention over an empty shelf (an
35
+ * account that re-pointed its blob backend, a reclaim that outran its re-import) would otherwise
36
+ * describe a gallery that is not there. `partial` is such a claim just as `stored` is, and left to
37
+ * speak for itself it tells the reviewer "only part of its frames were retained" above nothing at
38
+ * all, which reads as a design that is merely short rather than one that is absent, and sends them
39
+ * looking for the frames that did survive.
40
+ *
41
+ * So the two claiming statuses are checked against what is held, and the three that already say
42
+ * nothing was kept (`failed` / `none` / `storage_unavailable`) stand as they are: each names a
43
+ * DIFFERENT cause of the same empty shelf, and collapsing them would throw the cause away.
44
+ */
45
+ export declare function designGapReason(renderStatus: DocumentRenderStatus | null, heldImages: number): VisualConfirmDesignGapReason | null;
46
+ /**
47
+ * Fold a task's design documents and their retained renders into the gate's reference set.
48
+ *
49
+ * Four rules, each of which the obvious shape gets wrong:
50
+ *
51
+ * A view name claimed by TWO designs is qualified with its design's label on BOTH sides, never
52
+ * just the second. This is the same rule slice 1 applied to a frame name repeated across pages
53
+ * within one file: leaving the first occurrence bare hands the plain name to whichever document
54
+ * happened to be read first, so re-ordering the links would silently re-point a reviewed view at
55
+ * a different screen. The cost is that neither qualified name matches a screenshot captured as
56
+ * plain "Checkout", which is correct: nothing knows which of two designs that capture is of.
57
+ *
58
+ * Within ONE design, the NEWEST render for a view wins. The artifact reads are ordered oldest
59
+ * first, so a later assignment overriding an earlier one is the rule, not an accident.
60
+ *
61
+ * The cap counts VIEWS, not artifacts, and is applied after the per-view reduction: capping the
62
+ * raw rows first would spend the budget on frames a later revision had already replaced. It is
63
+ * SHARED across the linked designs rather than consumed in read order (see {@link allocate}), and
64
+ * what it cuts is named per design, not just totalled.
65
+ *
66
+ * Emission stays in document order with each design's own frames contiguous: the allocation
67
+ * decides how many slots each design gets, never how the gallery reads.
68
+ */
69
+ export declare function foldDesignReferences(documents: readonly DesignDocumentSummary[], artifacts: readonly BinaryArtifactRecord[], cap?: number): DesignReferenceFold;
70
+ /**
71
+ * Read the task's linked DESIGN documents and their retained renders, then fold them.
72
+ *
73
+ * Returns null when the task links no design at all, which is a different fact from a design that
74
+ * gave nothing: the first has nothing to state and the second is exactly what the summary exists
75
+ * to say. Two reads regardless of how many designs are attached (the batched
76
+ * {@link BinaryArtifactStore.listByDocuments}), because this runs on the driver path of every run
77
+ * whose pipeline carries the gate.
78
+ *
79
+ * The documents are read LIVE at gather time rather than off the run's recorded context, for the
80
+ * same reason the hand-uploaded references are: `recapture` exists so a person can attach a
81
+ * missing reference mid-review and see it, and a design linked while the gate is parked is that
82
+ * same act.
83
+ */
84
+ export declare function resolveDesignReferences(documentRepository: DocumentRepository | undefined, store: BinaryArtifactStore | null, workspaceId: string, blockId: string): Promise<DesignReferenceFold | null>;
85
+ //# sourceMappingURL=visual-confirm-design-references.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"visual-confirm-design-references.d.ts","sourceRoot":"","sources":["../../../src/modules/execution/visual-confirm-design-references.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,mBAAmB,EAEnB,cAAc,EACd,kBAAkB,EACnB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EACV,oBAAoB,EAEpB,4BAA4B,EAC5B,6BAA6B,EAC9B,MAAM,wBAAwB,CAAA;AAc/B;;;;;;;GAOG;AACH,eAAO,MAAM,0BAA0B,KAAK,CAAA;AAE5C,qEAAqE;AACrE,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,+EAA+E;AAC/E,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,eAAe,EAAE,CAAA;IAC7B,OAAO,EAAE,6BAA6B,CAAA;CACvC;AAED,wFAAwF;AACxF,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAA;IAChC,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,YAAY,EAAE,oBAAoB,GAAG,IAAI,CAAA;CAC1C;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,eAAe,CAC7B,YAAY,EAAE,oBAAoB,GAAG,IAAI,EACzC,UAAU,EAAE,MAAM,GACjB,4BAA4B,GAAG,IAAI,CAoBrC;AAiED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,SAAS,qBAAqB,EAAE,EAC3C,SAAS,EAAE,SAAS,oBAAoB,EAAE,EAC1C,GAAG,SAA6B,GAC/B,mBAAmB,CAmErB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,uBAAuB,CAC3C,kBAAkB,EAAE,kBAAkB,GAAG,SAAS,EAClD,KAAK,EAAE,mBAAmB,GAAG,IAAI,EACjC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAiBrC"}