codex-orchestrator 0.1.44 → 0.1.45

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.
package/CHANGELOG.md CHANGED
@@ -6,6 +6,18 @@ The format is based on Keep a Changelog, and this project follows SemVer.
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [0.1.45] - 2026-07-07
10
+
11
+ ### Added
12
+ - Added runner support for agent-authored Acceptance Proof plans so scoped
13
+ implementation handoffs can carry explicit proof-plan artifacts.
14
+ - Added proof-plan report validation coverage across scoped runs, plan-auto
15
+ children, status output, and handoff decisions.
16
+
17
+ ### Changed
18
+ - Acceptance Proof guidance now documents the proof-plan/report contract more
19
+ directly in runner docs and scoped workflow prompts.
20
+
9
21
  ## [0.1.44] - 2026-07-07
10
22
 
11
23
  ### Added
@@ -1,10 +1,10 @@
1
1
  import type { CodexOrchestratorConfig } from '../config/schema.js';
2
2
  import type { GitHubIssue } from '../github/issues.js';
3
- import type { ScopedCompletionReport } from './completion-report.js';
3
+ import type { ProofPlan, ProofPlanMode, ScopedCompletionReport } from './completion-report.js';
4
4
  import type { RunnerValidationLine } from './handoff-evidence.js';
5
5
  import { type AcceptanceProofAttemptEvidence } from './acceptance-proof.js';
6
6
  import { resolveAcceptanceProofStrategy } from './proof-strategy.js';
7
- export type AcceptanceProofPlanKind = 'skip' | 'adaptive' | 'command';
7
+ export type AcceptanceProofPlanKind = 'skip' | 'adaptive' | 'command' | 'report-validation' | 'blocked';
8
8
  export type VisualProofDispatchTarget = 'browser' | 'mobile' | 'none';
9
9
  export type ProofRoutingAction = 'skip' | 'dispatch' | 'allow-non-visual' | 'error';
10
10
  export interface AcceptanceProofPlan {
@@ -12,12 +12,14 @@ export interface AcceptanceProofPlan {
12
12
  applies: boolean;
13
13
  reason: string;
14
14
  commandTemplate?: string;
15
+ blocker?: string;
15
16
  }
16
17
  export interface AcceptanceProofPlanInput {
17
18
  config: CodexOrchestratorConfig;
18
19
  issue: GitHubIssue;
19
20
  changedFiles: string[];
20
21
  adaptiveAdapterAvailable: boolean;
22
+ implementationReport: ScopedCompletionReport;
21
23
  }
22
24
  export interface AcceptanceProofAdapterResult {
23
25
  adapterKind: 'adaptive' | 'command';
@@ -61,6 +63,7 @@ export interface RunAcceptanceProofLoopAttemptInput {
61
63
  worktreePath: string;
62
64
  beforeHead: string;
63
65
  initialChangedFiles: string[];
66
+ implementationReport: ScopedCompletionReport;
64
67
  adaptiveAdapterAvailable: boolean;
65
68
  executeAdaptiveProof?: () => Promise<AcceptanceProofAdapterResult>;
66
69
  executeAdaptiveProofRepair?: (input: AcceptanceProofRepairInput) => Promise<AcceptanceProofAdapterResult>;
@@ -82,7 +85,24 @@ export interface ProofRoutingDecision {
82
85
  action: ProofRoutingAction;
83
86
  reason: string;
84
87
  }
88
+ export type ProofPlanValidationResult = {
89
+ ok: true;
90
+ proofPlan: ProofPlan;
91
+ proofMode: ProofPlanMode;
92
+ dispatchTarget: VisualProofDispatchTarget;
93
+ reason: string;
94
+ } | {
95
+ ok: false;
96
+ blocker: string;
97
+ retryable: boolean;
98
+ };
85
99
  export declare function planAcceptanceProofAttempt(input: AcceptanceProofPlanInput): AcceptanceProofPlan;
100
+ export declare function validateProofPlan(input: {
101
+ config: CodexOrchestratorConfig;
102
+ issue: GitHubIssue;
103
+ changedFiles: string[];
104
+ implementationReport: ScopedCompletionReport;
105
+ }): ProofPlanValidationResult;
86
106
  export declare function runAcceptanceProofLoopAttempt(input: RunAcceptanceProofLoopAttemptInput): Promise<AcceptanceProofLoopOutcome>;
87
107
  export declare function decideProofRouting(input: {
88
108
  config: CodexOrchestratorConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"acceptance-proof-loop.d.ts","sourceRoot":"","sources":["../../../src/runner/acceptance-proof-loop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acceptance-proof-loop.d.ts","sourceRoot":"","sources":["../../../src/runner/acceptance-proof-loop.ts"],"names":[],"mappings":"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"}
@@ -3,9 +3,48 @@ import { buildAcceptanceProofReportOutcome, buildBlockedAcceptanceProofOutcome,
3
3
  import { resolveAcceptanceProofStrategy } from './proof-strategy.js';
4
4
  export function planAcceptanceProofAttempt(input) {
5
5
  const proofStrategy = resolveAcceptanceProofStrategy({ config: input.config, issue: input.issue }).strategy;
6
+ const proofPlanValidation = validateProofPlan(input);
7
+ if (!proofPlanValidation.ok) {
8
+ return {
9
+ kind: 'blocked',
10
+ applies: true,
11
+ reason: proofPlanValidation.blocker,
12
+ blocker: proofPlanValidation.blocker,
13
+ };
14
+ }
15
+ const proofPlan = proofPlanValidation.proofPlan;
6
16
  const commandTemplate = runnerVisualProofPolicy(input.config).commandTemplate;
7
17
  const desirable = visualProofDesirable(input, proofStrategy);
8
18
  const applies = acceptanceProofApplies(input, proofStrategy, desirable);
19
+ if (proofPlan.mode === 'none') {
20
+ if (!applies || proofStrategy === 'none') {
21
+ return {
22
+ kind: 'skip',
23
+ applies: false,
24
+ reason: 'proofPlan mode none disables acceptance proof',
25
+ };
26
+ }
27
+ return {
28
+ kind: 'blocked',
29
+ applies: true,
30
+ reason: 'Invalid proofPlan: none cannot satisfy required acceptance proof',
31
+ blocker: 'Invalid proofPlan: none cannot satisfy required acceptance proof',
32
+ };
33
+ }
34
+ if (isNonVisualProofMode(proofPlan.mode)) {
35
+ if (!input.config.reviewGates.acceptanceProof.enabled) {
36
+ return {
37
+ kind: 'skip',
38
+ applies: false,
39
+ reason: 'acceptance proof is disabled',
40
+ };
41
+ }
42
+ return {
43
+ kind: 'report-validation',
44
+ applies: true,
45
+ reason: 'agent-authored non-visual proof plan accepted',
46
+ };
47
+ }
9
48
  if (!applies) {
10
49
  return {
11
50
  kind: 'skip',
@@ -36,12 +75,51 @@ export function planAcceptanceProofAttempt(input) {
36
75
  reason: 'acceptance proof applies but no adaptive adapter or runner command is available',
37
76
  };
38
77
  }
78
+ export function validateProofPlan(input) {
79
+ const proofPlan = input.implementationReport.proofPlan;
80
+ const proofStrategy = resolveAcceptanceProofStrategy({ config: input.config, issue: input.issue }).strategy;
81
+ const dispatchTarget = proofPlanDispatchTarget(proofPlan);
82
+ const inferredDispatchTarget = proofStrategyDispatchTarget(input, proofStrategy);
83
+ const changedFilesVisualTarget = changedFilesVisualDispatchTarget(input);
84
+ if (proofStrategy === 'mobile-visual' && proofPlan.mode !== 'mobile-visual') {
85
+ return { ok: false, blocker: visualStrategyDowngradeBlocker('mobile'), retryable: true };
86
+ }
87
+ if (proofStrategy === 'browser-visual' && proofPlan.mode !== 'browser-visual') {
88
+ return { ok: false, blocker: visualStrategyDowngradeBlocker('browser'), retryable: true };
89
+ }
90
+ if (proofStrategy === 'visual' && dispatchTarget === 'none') {
91
+ return { ok: false, blocker: 'Invalid proofPlan: non-visual proof cannot satisfy visual strategy', retryable: true };
92
+ }
93
+ if (proofStrategy === 'non-visual-smoke' && (proofPlan.mode === 'browser-visual' || proofPlan.mode === 'mobile-visual')) {
94
+ return { ok: false, blocker: 'Invalid proofPlan: visual proof cannot satisfy non-visual proof strategy', retryable: true };
95
+ }
96
+ if (isNonVisualProofMode(proofPlan.mode)
97
+ && (inferredDispatchTarget !== 'none' || changedFilesVisualTarget !== 'none')) {
98
+ const visualTarget = inferredDispatchTarget !== 'none' ? inferredDispatchTarget : changedFilesVisualTarget;
99
+ if (visualTarget === 'none') {
100
+ throw new Error('Expected visual proof target for non-visual proof plan downgrade.');
101
+ }
102
+ return {
103
+ ok: false,
104
+ blocker: visualStrategyDowngradeBlocker(visualTarget),
105
+ retryable: true,
106
+ };
107
+ }
108
+ return {
109
+ ok: true,
110
+ proofPlan,
111
+ proofMode: proofPlan.mode,
112
+ dispatchTarget,
113
+ reason: `proofPlan mode ${proofPlan.mode} accepted`,
114
+ };
115
+ }
39
116
  export async function runAcceptanceProofLoopAttempt(input) {
40
117
  const plan = planAcceptanceProofAttempt({
41
118
  config: input.config,
42
119
  issue: input.issue,
43
120
  changedFiles: input.initialChangedFiles,
44
121
  adaptiveAdapterAvailable: input.adaptiveAdapterAvailable,
122
+ implementationReport: input.implementationReport,
45
123
  });
46
124
  if (plan.kind === 'skip') {
47
125
  return {
@@ -54,6 +132,29 @@ export async function runAcceptanceProofLoopAttempt(input) {
54
132
  scopeBlockers: [],
55
133
  };
56
134
  }
135
+ if (plan.kind === 'blocked') {
136
+ const blocker = plan.blocker ?? plan.reason;
137
+ return {
138
+ status: 'blocked',
139
+ changedFiles: input.initialChangedFiles,
140
+ validation: [{
141
+ command: 'acceptance proof plan validation',
142
+ status: 'failed',
143
+ summary: blocker,
144
+ }],
145
+ artifacts: [],
146
+ residualRisks: [],
147
+ blockers: [blocker],
148
+ scopeBlockers: [],
149
+ };
150
+ }
151
+ if (plan.kind === 'report-validation') {
152
+ return evaluateReportValidationProof({
153
+ implementationReport: input.implementationReport,
154
+ proofPlan: input.implementationReport.proofPlan,
155
+ changedFiles: input.initialChangedFiles,
156
+ });
157
+ }
57
158
  const diffCapture = await createAcceptanceProofDiffCapture({
58
159
  worktreePath: input.worktreePath,
59
160
  changedFiles: input.initialChangedFiles,
@@ -162,6 +263,63 @@ async function executeSelectedAdapter(input, plan) {
162
263
  }
163
264
  throw new Error(`Unsupported acceptance proof plan kind: ${plan.kind}`);
164
265
  }
266
+ function evaluateReportValidationProof(input) {
267
+ const blockers = [];
268
+ if (input.proofPlan.validationCommands.length + input.proofPlan.requiredArtifacts.length === 0) {
269
+ blockers.push('Invalid proofPlan: non-visual proof requires at least one validation command or required artifact.');
270
+ }
271
+ for (const command of input.proofPlan.validationCommands) {
272
+ if (command.trim().length === 0) {
273
+ blockers.push('Invalid proofPlan: validation command must be non-empty.');
274
+ continue;
275
+ }
276
+ const match = input.implementationReport.validation.find((line) => line.command.trim().length > 0 && line.command === command && line.status === 'passed');
277
+ if (!match) {
278
+ blockers.push(`Invalid proofPlan: validation command was not reported as passed: ${command}`);
279
+ }
280
+ }
281
+ const artifactTargets = new Set(input.implementationReport.artifacts.flatMap((artifact) => [artifact.path, artifact.url].filter(Boolean)));
282
+ for (const artifact of input.proofPlan.requiredArtifacts) {
283
+ if (artifact.trim().length === 0) {
284
+ blockers.push('Invalid proofPlan: required artifact must be non-empty.');
285
+ continue;
286
+ }
287
+ if (!artifactTargets.has(artifact)) {
288
+ blockers.push(`Invalid proofPlan: artifact was not reported: ${artifact}`);
289
+ }
290
+ }
291
+ if (!input.implementationReport.reviewHandoff?.proofByAcceptanceCriteria.length) {
292
+ blockers.push('Invalid proofPlan: reviewHandoff.proofByAcceptanceCriteria must map proof to acceptance criteria.');
293
+ }
294
+ const passed = blockers.length === 0;
295
+ const validation = [{
296
+ command: 'acceptance proof plan report validation',
297
+ status: passed ? 'passed' : 'failed',
298
+ summary: passed
299
+ ? `agent-authored ${input.proofPlan.mode} proof plan passed report validation`
300
+ : blockers.join('; '),
301
+ }];
302
+ const artifactPaths = input.implementationReport.artifacts
303
+ .flatMap((artifact) => [artifact.path, artifact.url].filter((value) => Boolean(value)));
304
+ return {
305
+ status: passed ? 'passed' : 'blocked',
306
+ changedFiles: input.changedFiles,
307
+ validation,
308
+ artifacts: input.implementationReport.artifacts,
309
+ residualRisks: [],
310
+ blockers,
311
+ scopeBlockers: [],
312
+ evidence: {
313
+ status: passed ? 'passed' : 'blocked',
314
+ reportPath: 'completion-report:proofPlan',
315
+ artifactDir: 'completion-report:artifacts',
316
+ artifactPaths,
317
+ validation,
318
+ blockers,
319
+ residualRisks: [],
320
+ },
321
+ };
322
+ }
165
323
  async function evaluateAdapterReport(input) {
166
324
  const reportRead = await readAcceptanceProofReport(input.adapterResult.reportPath);
167
325
  if (reportRead.kind === 'missing') {
@@ -229,10 +387,10 @@ export function decideProofRouting(input) {
229
387
  const proofStrategy = resolveAcceptanceProofStrategy({ config: input.config, issue: input.issue }).strategy;
230
388
  const dispatchTarget = proofStrategyDispatchTarget(input, proofStrategy);
231
389
  const desirable = visualProofDesirable(input, proofStrategy);
232
- const plan = planAcceptanceProofAttempt({ ...input, adaptiveAdapterAvailable: false });
390
+ const applies = acceptanceProofApplies(input, proofStrategy, desirable);
233
391
  if (proofStrategy === 'none' || proofStrategy === 'non-visual-smoke') {
234
392
  return {
235
- applies: plan.applies,
393
+ applies,
236
394
  desirable,
237
395
  dispatchTarget,
238
396
  proofStrategy,
@@ -242,7 +400,7 @@ export function decideProofRouting(input) {
242
400
  }
243
401
  if (dispatchTarget === 'browser' || dispatchTarget === 'mobile') {
244
402
  return {
245
- applies: plan.applies,
403
+ applies,
246
404
  desirable,
247
405
  dispatchTarget,
248
406
  proofStrategy,
@@ -250,7 +408,7 @@ export function decideProofRouting(input) {
250
408
  reason: `${dispatchTarget} proof target matched`,
251
409
  };
252
410
  }
253
- if (plan.applies && !desirable) {
411
+ if (applies && !desirable) {
254
412
  return {
255
413
  applies: true,
256
414
  desirable,
@@ -260,9 +418,9 @@ export function decideProofRouting(input) {
260
418
  reason: 'acceptance proof applies without browser or mobile dispatch',
261
419
  };
262
420
  }
263
- if (plan.applies || desirable) {
421
+ if (applies || desirable) {
264
422
  return {
265
- applies: plan.applies,
423
+ applies,
266
424
  desirable,
267
425
  dispatchTarget,
268
426
  proofStrategy,
@@ -291,24 +449,15 @@ export function isVisualProofDesirable(input) {
291
449
  export function runnerVisualProofPolicy(config) {
292
450
  const visualProof = config.reviewGates.visualProof;
293
451
  const acceptanceProof = config.reviewGates.acceptanceProof;
294
- const preferLegacyVisual = isLegacyVisualProofOverride(acceptanceProof, visualProof);
295
- const commandTemplate = preferLegacyVisual
296
- ? visualProof.runnerValidationCommand?.trim()
297
- : acceptanceProof.runnerValidationCommand?.trim() || visualProof.runnerValidationCommand?.trim();
452
+ const commandTemplate = acceptanceProof.runnerValidationCommand?.trim();
298
453
  return {
299
454
  commandTemplate: commandTemplate || undefined,
300
- artifactDir: preferLegacyVisual ? visualProof.artifactDir : acceptanceProof.artifactDir,
301
- envPassthrough: preferLegacyVisual
302
- ? visualProof.envPassthrough ?? acceptanceProof.envPassthrough ?? []
303
- : acceptanceProof.envPassthrough?.length
304
- ? acceptanceProof.envPassthrough
305
- : visualProof.envPassthrough ?? [],
306
- timeoutMs: preferLegacyVisual
307
- ? visualProof.runnerTimeoutMs ?? acceptanceProof.runnerTimeoutMs
308
- : acceptanceProof.runnerTimeoutMs ?? visualProof.runnerTimeoutMs,
455
+ artifactDir: acceptanceProof.artifactDir,
456
+ envPassthrough: acceptanceProof.envPassthrough ?? [],
457
+ timeoutMs: acceptanceProof.runnerTimeoutMs,
309
458
  minScreenshotArtifacts: visualProof.minScreenshotArtifacts,
310
459
  requireWhenDesirable: visualProof.requireWhenDesirable ?? false,
311
- blockOnMissingProof: !preferLegacyVisual,
460
+ blockOnMissingProof: true,
312
461
  browserProof: {
313
462
  strictConsoleErrors: acceptanceProof.browserProof?.strictConsoleErrors ?? false,
314
463
  strictNetworkFailures: acceptanceProof.browserProof?.strictNetworkFailures ?? false,
@@ -337,8 +486,6 @@ function acceptanceProofApplies(input, proofStrategy, desirable) {
337
486
  return issueNeedsAcceptanceProof || changedAcceptanceProofFiles || desirable;
338
487
  }
339
488
  function proofStrategyDispatchTarget(input, proofStrategy) {
340
- const normalizedFiles = input.changedFiles.map((path) => path.replaceAll('\\', '/').replace(/^\.\//u, ''));
341
- const issueText = `${input.issue.title}\n${input.issue.body}`;
342
489
  if (proofStrategy === 'none' || proofStrategy === 'non-visual-smoke') {
343
490
  return 'none';
344
491
  }
@@ -348,6 +495,11 @@ function proofStrategyDispatchTarget(input, proofStrategy) {
348
495
  if (proofStrategy === 'mobile-visual') {
349
496
  return 'mobile';
350
497
  }
498
+ return changedFilesVisualDispatchTarget(input);
499
+ }
500
+ function changedFilesVisualDispatchTarget(input) {
501
+ const normalizedFiles = input.changedFiles.map((path) => path.replaceAll('\\', '/').replace(/^\.\//u, ''));
502
+ const issueText = `${input.issue.title}\n${input.issue.body}`;
351
503
  if (normalizedFiles.some(isMobileProofPath) || normalizedFiles.some((path) => isFlutterEntrypoint(path) && isMobileIssueText(issueText))) {
352
504
  return 'mobile';
353
505
  }
@@ -356,6 +508,21 @@ function proofStrategyDispatchTarget(input, proofStrategy) {
356
508
  }
357
509
  return 'none';
358
510
  }
511
+ function proofPlanDispatchTarget(proofPlan) {
512
+ if (proofPlan.mode === 'browser-visual') {
513
+ return 'browser';
514
+ }
515
+ if (proofPlan.mode === 'mobile-visual') {
516
+ return 'mobile';
517
+ }
518
+ return 'none';
519
+ }
520
+ function isNonVisualProofMode(mode) {
521
+ return mode === 'non-visual-smoke' || mode === 'cli' || mode === 'api' || mode === 'worker';
522
+ }
523
+ function visualStrategyDowngradeBlocker(target) {
524
+ return `Invalid proofPlan: non-visual proof cannot satisfy ${target} visual strategy`;
525
+ }
359
526
  function visualProofDesirable(input, proofStrategy) {
360
527
  const visualProof = input.config.reviewGates.visualProof;
361
528
  if (!visualProof.enabled) {
@@ -384,15 +551,6 @@ function isInternalRunnerProofPath(path) {
384
551
  return /^src\/runner\/(?:acceptance-proof|visual-proof-runner)\.ts$/u.test(path)
385
552
  || /^test\/(?:acceptance-proof|visual-proof-runner)\.test\.ts$/u.test(path);
386
553
  }
387
- function isLegacyVisualProofOverride(acceptanceProof, visualProof) {
388
- const defaultMobileCommand = 'codex-orchestrator visual-proof mobile --issue ${issueNumber}';
389
- const defaultAutoCommand = 'codex-orchestrator visual-proof auto --issue ${issueNumber}';
390
- const acceptanceCommand = acceptanceProof.runnerValidationCommand?.trim() || '';
391
- return (acceptanceCommand === defaultMobileCommand || acceptanceCommand === defaultAutoCommand)
392
- && Boolean(visualProof.runnerValidationCommand?.trim())
393
- && visualProof.runnerValidationCommand?.trim() !== defaultMobileCommand
394
- && visualProof.runnerValidationCommand?.trim() !== defaultAutoCommand;
395
- }
396
554
  function isMobileProofPath(path) {
397
555
  return /^(?:android|ios)\//u.test(path)
398
556
  || /\.(?:xcodeproj|xcworkspace)\//u.test(path)
@@ -1 +1 @@
1
- {"version":3,"file":"acceptance-proof-loop.js","sourceRoot":"","sources":["../../../src/runner/acceptance-proof-loop.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,OAAO,EACL,iCAAiC,EACjC,kCAAkC,EAClC,yCAAyC,EACzC,2BAA2B,EAC3B,gCAAgC,EAChC,yBAAyB,GAE1B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,8BAA8B,EAAE,MAAM,qBAAqB,CAAC;AAqFrE,MAAM,UAAU,0BAA0B,CAAC,KAA+B;IACxE,MAAM,aAAa,GAAG,8BAA8B,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC;IAC5G,MAAM,eAAe,GAAG,uBAAuB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC;IAC9E,MAAM,SAAS,GAAG,oBAAoB,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IAC7D,MAAM,OAAO,GAAG,sBAAsB,CAAC,KAAK,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;IAExE,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO;YACL,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,aAAa,KAAK,MAAM,IAAI,aAAa,KAAK,kBAAkB;gBACtE,CAAC,CAAC,qDAAqD;gBACvD,CAAC,CAAC,iCAAiC;SACtC,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,CAAC,wBAAwB,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;QACpG,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,wCAAwC;SACjD,CAAC;IACJ,CAAC;IAED,IAAI,eAAe,EAAE,CAAC;QACpB,OAAO;YACL,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,oDAAoD;YAC5D,eAAe;SAChB,CAAC;IACJ,CAAC;IAED,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,iFAAiF;KAC1F,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,6BAA6B,CACjD,KAAyC;IAEzC,MAAM,IAAI,GAAG,0BAA0B,CAAC;QACtC,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,YAAY,EAAE,KAAK,CAAC,mBAAmB;QACvC,wBAAwB,EAAE,KAAK,CAAC,wBAAwB;KACzD,CAAC,CAAC;IACH,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACzB,OAAO;YACL,MAAM,EAAE,SAAS;YACjB,YAAY,EAAE,KAAK,CAAC,mBAAmB;YACvC,UAAU,EAAE,EAAE;YACd,SAAS,EAAE,EAAE;YACb,aAAa,EAAE,EAAE;YACjB,QAAQ,EAAE,EAAE;YACZ,aAAa,EAAE,EAAE;SAClB,CAAC;IACJ,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,gCAAgC,CAAC;QACzD,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,YAAY,EAAE,KAAK,CAAC,mBAAmB;KACxC,CAAC,CAAC;IACH,IAAI,aAAa,GAAG,MAAM,sBAAsB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC9D,aAAa,GAAG,MAAM,gCAAgC,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IAC7E,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,gBAAgB,CAAC;QAC7C,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,QAAQ,EAAE,KAAK,CAAC,UAAU;KAC3B,CAAC,CAAC;IACH,MAAM,YAAY,GAAG,SAAS,CAAC,YAAY,CAAC;IAC5C,MAAM,sBAAsB,GAAG,MAAM,WAAW,CAAC,6BAA6B,CAAC,YAAY,CAAC,CAAC;IAC7F,MAAM,aAAa,GAAG,MAAM,qBAAqB,CAAC;QAChD,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,aAAa;QACb,sBAAsB;QACtB,cAAc,EAAE,KAAK,CAAC,cAAc;KACrC,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,2BAA2B,CAAC,KAAK,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;IACpF,MAAM,qBAAqB,GAAG,SAAS,CAAC,qBAAqB,CAAC,MAAM,GAAG,CAAC;QACtE,CAAC,CAAC,yCAAyC,CAAC;YACxC,OAAO,EAAE,aAAa,CAAC,OAAO;YAC9B,YAAY,EAAE,aAAa,CAAC,QAAQ;YACpC,UAAU,EAAE,aAAa,CAAC,UAAU;YACpC,WAAW,EAAE,aAAa,CAAC,WAAW;YACtC,aAAa,EAAE,sBAAsB;YACrC,qBAAqB,EAAE,SAAS,CAAC,qBAAqB;SACvD,CAAC;QACJ,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,YAAY,GAAG,qBAAqB;QACxC,CAAC,CAAC;YACE,GAAG,aAAa;YAChB,MAAM,EAAE,SAAkB;YAC1B,UAAU,EAAE,qBAAqB,CAAC,UAAU;YAC5C,QAAQ,EAAE,qBAAqB,CAAC,QAAQ;YACxC,QAAQ,EAAE,qBAAqB;SAChC;QACH,CAAC,CAAC,aAAa,CAAC;IAClB,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,QAAQ,CAAC;IACrE,MAAM,eAAe,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC;QAC9C,CAAC,CAAC,CAAC;gBACC,OAAO,EAAE,kCAAkC;gBAC3C,MAAM,EAAE,QAAiB;gBACzB,OAAO,EAAE,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;aAClC,CAAC;QACJ,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,KAAK,QAAQ,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;IACrG,MAAM,QAAQ,GAAG,aAAa,CAAC,CAAC,GAAG,YAAY,CAAC,QAAQ,EAAE,GAAG,aAAa,CAAC,CAAC,CAAC;IAC7E,MAAM,aAAa,GAAG,aAAa,CAAC;QAClC,GAAG,aAAa,CAAC,aAAa;QAC9B,GAAG,YAAY,CAAC,aAAa;KAC9B,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC;QACvC,CAAC,CAAC;YACE,GAAG,YAAY,CAAC,QAAQ;YACxB,MAAM,EAAE,SAAkB;YAC1B,UAAU,EAAE,CAAC,GAAG,YAAY,CAAC,QAAQ,CAAC,UAAU,EAAE,GAAG,eAAe,CAAC;YACrE,QAAQ;SACT;QACH,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC;IAE1B,OAAO;QACL,MAAM;QACN,YAAY;QACZ,UAAU,EAAE,CAAC,GAAG,YAAY,CAAC,UAAU,EAAE,GAAG,eAAe,CAAC;QAC5D,SAAS,EAAE,mBAAmB,CAAC,aAAa,CAAC,oBAAoB,EAAE,YAAY,CAAC,SAAS,CAAC;QAC1F,aAAa;QACb,QAAQ;QACR,aAAa;QACb,QAAQ;QACR,eAAe,EAAE,aAAa,CAAC,UAAU;QACzC,gBAAgB,EAAE,aAAa,CAAC,WAAW;KAC5C,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,gCAAgC,CAC7C,KAAyC,EACzC,aAA2C;IAE3C,MAAM,uBAAuB,GAAG,CAAC,CAAC;IAClC,IAAI,aAAa,CAAC,WAAW,KAAK,UAAU,IAAI,CAAC,KAAK,CAAC,0BAA0B,EAAE,CAAC;QAClF,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,IAAI,aAAa,GAAG,aAAa,CAAC;IAClC,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,uBAAuB,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC;QACtE,MAAM,UAAU,GAAG,MAAM,yBAAyB,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QAC7E,IAAI,UAAU,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAClC,OAAO,aAAa,CAAC;QACvB,CAAC;QACD,aAAa,GAAG,MAAM,KAAK,CAAC,0BAA0B,CAAC;YACrD,UAAU,EAAE,aAAa,CAAC,UAAU;YACpC,WAAW,EAAE,aAAa,CAAC,WAAW;YACtC,YAAY,EAAE,UAAU,CAAC,MAAM;YAC/B,cAAc,EAAE,aAAa;SAC9B,CAAC,CAAC;IACL,CAAC;IAED,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,KAAK,UAAU,sBAAsB,CACnC,KAAyC,EACzC,IAAyB;IAEzB,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAC7B,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,+FAA+F,CAAC,CAAC;QACnH,CAAC;QACD,OAAO,KAAK,CAAC,oBAAoB,EAAE,CAAC;IACtC,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC5B,IAAI,CAAC,KAAK,CAAC,mBAAmB,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,6FAA6F,CAAC,CAAC;QACjH,CAAC;QACD,OAAO,KAAK,CAAC,mBAAmB,EAAE,CAAC;IACrC,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,2CAA2C,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;AAC1E,CAAC;AAED,KAAK,UAAU,qBAAqB,CAAC,KAKpC;IACC,MAAM,UAAU,GAAG,MAAM,yBAAyB,CAAC,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IACnF,IAAI,UAAU,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAClC,MAAM,iBAAiB,GAAG,8BAA8B,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAC9E,MAAM,QAAQ,GAAG,KAAK,CAAC,aAAa,CAAC,QAAQ,KAAK,CAAC;YACjD,CAAC,CAAC,CAAC,6FAA6F,CAAC;YACjG,CAAC,CAAC,CAAC,qBAAqB,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;QACjD,OAAO,kCAAkC,CAAC;YACxC,OAAO,EAAE,KAAK,CAAC,aAAa,CAAC,OAAO;YACpC,UAAU,EAAE,KAAK,CAAC,aAAa,CAAC,UAAU;YAC1C,UAAU,EAAE,KAAK,CAAC,aAAa,CAAC,UAAU;YAC1C,WAAW,EAAE,KAAK,CAAC,aAAa,CAAC,WAAW;YAC5C,aAAa,EAAE,KAAK,CAAC,aAAa,CAAC,aAAa;YAChD,iBAAiB;YACjB,QAAQ;YACR,aAAa,EAAE,KAAK,CAAC,aAAa,CAAC,aAAa;YAChD,eAAe,EAAE,KAAK,CAAC,aAAa,CAAC,QAAQ;YAC7C,oBAAoB,EAAE,KAAK,CAAC,aAAa,CAAC,aAAa;SACxD,CAAC,CAAC;IACL,CAAC;IACD,IAAI,UAAU,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAClC,MAAM,iBAAiB,GAAG,0BAA0B,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACxE,OAAO,kCAAkC,CAAC;YACxC,OAAO,EAAE,KAAK,CAAC,aAAa,CAAC,OAAO;YACpC,UAAU,EAAE,KAAK,CAAC,aAAa,CAAC,UAAU;YAC1C,UAAU,EAAE,KAAK,CAAC,aAAa,CAAC,UAAU;YAC1C,WAAW,EAAE,KAAK,CAAC,aAAa,CAAC,WAAW;YAC5C,aAAa,EAAE,KAAK,CAAC,aAAa,CAAC,aAAa;YAChD,iBAAiB;YACjB,QAAQ,EAAE,CAAC,iBAAiB,CAAC;YAC7B,aAAa,EAAE,KAAK,CAAC,aAAa,CAAC,aAAa;YAChD,eAAe,EAAE,KAAK,CAAC,aAAa,CAAC,QAAQ;YAC7C,oBAAoB,EAAE,KAAK,CAAC,aAAa,CAAC,aAAa;SACxD,CAAC,CAAC;IACL,CAAC;IAED,OAAO,iCAAiC,CAAC;QACvC,OAAO,EAAE,KAAK,CAAC,aAAa,CAAC,OAAO;QACpC,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,MAAM,EAAE,UAAU,CAAC,MAAM;QACzB,sBAAsB,EAAE,KAAK,CAAC,sBAAsB;QACpD,cAAc,EAAE,KAAK,CAAC,cAAc;QACpC,eAAe,EAAE,KAAK,CAAC,aAAa,CAAC,QAAQ;QAC7C,oBAAoB,EAAE,KAAK,CAAC,aAAa,CAAC,aAAa;QACvD,UAAU,EAAE,KAAK,CAAC,aAAa,CAAC,UAAU;QAC1C,UAAU,EAAE,KAAK,CAAC,aAAa,CAAC,UAAU;QAC1C,WAAW,EAAE,KAAK,CAAC,aAAa,CAAC,WAAW;QAC5C,aAAa,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,WAAW,KAAK,UAAU,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,yBAAyB,YAAY,MAAM,CAAC,QAAQ,CAAC,MAAM,0DAA0D;QACzN,mBAAmB,EAAE,KAAK,CAAC,aAAa,CAAC,WAAW,KAAK,UAAU,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,yBAAyB;KACrH,CAAC,CAAC;AACL,CAAC;AAED,SAAS,0BAA0B,CAAC,MAAgB;IAClD,OAAO,2CAA2C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AACxE,CAAC;AAED,SAAS,8BAA8B,CAAC,aAA2C;IACjF,IAAI,aAAa,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClD,OAAO,kEAAkE,aAAa,CAAC,oBAAoB,CAAC,MAAM,uFAAuF,aAAa,CAAC,UAAU,GAAG,CAAC;IACvO,CAAC;IACD,OAAO,6FAA6F,CAAC;AACvG,CAAC;AAED,SAAS,qBAAqB,CAAC,aAA2C;IACxE,MAAM,MAAM,GAAG,aAAa,CAAC,WAAW,KAAK,UAAU,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,gCAAgC,CAAC;IACvH,OAAO,GAAG,MAAM,KAAK,aAAa,CAAC,aAAa,IAAI,QAAQ,aAAa,CAAC,QAAQ,EAAE,EAAE,CAAC;AACzF,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAIlC;IACC,MAAM,aAAa,GAAG,8BAA8B,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC;IAC5G,MAAM,cAAc,GAAG,2BAA2B,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IACzE,MAAM,SAAS,GAAG,oBAAoB,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IAC7D,MAAM,IAAI,GAAG,0BAA0B,CAAC,EAAE,GAAG,KAAK,EAAE,wBAAwB,EAAE,KAAK,EAAE,CAAC,CAAC;IAEvF,IAAI,aAAa,KAAK,MAAM,IAAI,aAAa,KAAK,kBAAkB,EAAE,CAAC;QACrE,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS;YACT,cAAc;YACd,aAAa;YACb,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,qDAAqD;SAC9D,CAAC;IACJ,CAAC;IAED,IAAI,cAAc,KAAK,SAAS,IAAI,cAAc,KAAK,QAAQ,EAAE,CAAC;QAChE,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS;YACT,cAAc;YACd,aAAa;YACb,MAAM,EAAE,UAAU;YAClB,MAAM,EAAE,GAAG,cAAc,uBAAuB;SACjD,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;QAC/B,OAAO;YACL,OAAO,EAAE,IAAI;YACb,SAAS;YACT,cAAc;YACd,aAAa;YACb,MAAM,EAAE,kBAAkB;YAC1B,MAAM,EAAE,6DAA6D;SACtE,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,CAAC,OAAO,IAAI,SAAS,EAAE,CAAC;QAC9B,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS;YACT,cAAc;YACd,aAAa;YACb,MAAM,EAAE,OAAO;YACf,MAAM,EAAE,4EAA4E;SACrF,CAAC;IACJ,CAAC;IAED,OAAO;QACL,OAAO,EAAE,KAAK;QACd,SAAS;QACT,cAAc;QACd,aAAa;QACb,MAAM,EAAE,OAAO;QACf,MAAM,EAAE,yDAAyD;KAClE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,KAI1C;IACC,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,iCAAiC,CAAC,KAIjD;IACC,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,KAItC;IACC,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,MAA+B;IAerE,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC;IACnD,MAAM,eAAe,GAAG,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC;IAC3D,MAAM,kBAAkB,GAAG,2BAA2B,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;IACrF,MAAM,eAAe,GAAG,kBAAkB;QACxC,CAAC,CAAC,WAAW,CAAC,uBAAuB,EAAE,IAAI,EAAE;QAC7C,CAAC,CAAC,eAAe,CAAC,uBAAuB,EAAE,IAAI,EAAE,IAAI,WAAW,CAAC,uBAAuB,EAAE,IAAI,EAAE,CAAC;IACnG,OAAO;QACL,eAAe,EAAE,eAAe,IAAI,SAAS;QAC7C,WAAW,EAAE,kBAAkB,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,eAAe,CAAC,WAAW;QACvF,cAAc,EAAE,kBAAkB;YAChC,CAAC,CAAC,WAAW,CAAC,cAAc,IAAI,eAAe,CAAC,cAAc,IAAI,EAAE;YACpE,CAAC,CAAC,eAAe,CAAC,cAAc,EAAE,MAAM;gBACtC,CAAC,CAAC,eAAe,CAAC,cAAc;gBAChC,CAAC,CAAC,WAAW,CAAC,cAAc,IAAI,EAAE;QACtC,SAAS,EAAE,kBAAkB;YAC3B,CAAC,CAAC,WAAW,CAAC,eAAe,IAAI,eAAe,CAAC,eAAe;YAChE,CAAC,CAAC,eAAe,CAAC,eAAe,IAAI,WAAW,CAAC,eAAe;QAClE,sBAAsB,EAAE,WAAW,CAAC,sBAAsB;QAC1D,oBAAoB,EAAE,WAAW,CAAC,oBAAoB,IAAI,KAAK;QAC/D,mBAAmB,EAAE,CAAC,kBAAkB;QACxC,YAAY,EAAE;YACZ,mBAAmB,EAAE,eAAe,CAAC,YAAY,EAAE,mBAAmB,IAAI,KAAK;YAC/E,qBAAqB,EAAE,eAAe,CAAC,YAAY,EAAE,qBAAqB,IAAI,KAAK;YACnF,YAAY,EAAE,eAAe,CAAC,YAAY,EAAE,YAAY;YACxD,OAAO,EAAE,eAAe,CAAC,YAAY,EAAE,OAAO;SAC/C;KACF,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAC7B,KAA+B,EAC/B,aAA4E,EAC5E,SAAkB;IAElB,MAAM,eAAe,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC;IACjE,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;QAC7B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,aAAa,KAAK,MAAM,IAAI,aAAa,KAAK,kBAAkB,EAAE,CAAC;QACrE,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,aAAa,KAAK,gBAAgB,IAAI,aAAa,KAAK,eAAe,IAAI,aAAa,KAAK,QAAQ,EAAE,CAAC;QAC1G,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,SAAS,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IAC9D,MAAM,6BAA6B,GAAG,KAAK,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC;WAC9D,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;IACzD,MAAM,yBAAyB,GAAG,CAAC,6BAA6B;WAC3D,eAAe,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;IAC3F,MAAM,2BAA2B,GAAG,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CACnE,eAAe,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAC/E,CAAC;IACF,OAAO,yBAAyB,IAAI,2BAA2B,IAAI,SAAS,CAAC;AAC/E,CAAC;AAED,SAAS,2BAA2B,CAAC,KAIpC,EAAE,aAA4E;IAC7E,MAAM,eAAe,GAAG,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;IAC3G,MAAM,SAAS,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IAC9D,IAAI,aAAa,KAAK,MAAM,IAAI,aAAa,KAAK,kBAAkB,EAAE,CAAC;QACrE,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,IAAI,aAAa,KAAK,gBAAgB,EAAE,CAAC;QACvC,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,aAAa,KAAK,eAAe,EAAE,CAAC;QACtC,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,IAAI,eAAe,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,iBAAiB,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;QACzI,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QACxI,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,oBAAoB,CAAC,KAI7B,EAAE,aAA4E;IAC7E,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC;IACzD,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,SAAS,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IAC9D,MAAM,OAAO,GAAG,uBAAuB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC;IACtE,IAAI,aAAa,KAAK,MAAM,IAAI,aAAa,KAAK,kBAAkB,EAAE,CAAC;QACrE,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,aAAa,KAAK,gBAAgB,IAAI,aAAa,KAAK,eAAe,IAAI,aAAa,KAAK,QAAQ,EAAE,CAAC;QAC1G,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC;IACD,MAAM,6BAA6B,GAAG,KAAK,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC;WAC9D,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;IACzD,MAAM,qBAAqB,GAAG,WAAW,CAAC,OAAO;WAC5C,CAAC,6BAA6B;WAC9B,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;IACvF,MAAM,iBAAiB,GAAG,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAC3D,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAC3E,CAAC;IAEF,OAAO,qBAAqB,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC;AAC/D,CAAC;AAED,SAAS,yBAAyB,CAAC,MAA+B;IAChE,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,yBAAyB,CAAC,IAAY;IAC7C,OAAO,8DAA8D,CAAC,IAAI,CAAC,IAAI,CAAC;WAC3E,6DAA6D,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAChF,CAAC;AAED,SAAS,2BAA2B,CAClC,eAA0E,EAC1E,WAAkE;IAElE,MAAM,oBAAoB,GAAG,+DAA+D,CAAC;IAC7F,MAAM,kBAAkB,GAAG,6DAA6D,CAAC;IACzF,MAAM,iBAAiB,GAAG,eAAe,CAAC,uBAAuB,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAChF,OAAO,CAAC,iBAAiB,KAAK,oBAAoB,IAAI,iBAAiB,KAAK,kBAAkB,CAAC;WAC1F,OAAO,CAAC,WAAW,CAAC,uBAAuB,EAAE,IAAI,EAAE,CAAC;WACpD,WAAW,CAAC,uBAAuB,EAAE,IAAI,EAAE,KAAK,oBAAoB;WACpE,WAAW,CAAC,uBAAuB,EAAE,IAAI,EAAE,KAAK,kBAAkB,CAAC;AAC1E,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAY;IACrC,OAAO,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC;WAClC,gCAAgC,CAAC,IAAI,CAAC,IAAI,CAAC;WAC3C,qEAAqE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxF,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAY;IACvC,OAAO,IAAI,KAAK,cAAc,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAClE,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAY;IACrC,OAAO,wEAAwE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC7F,CAAC;AAED,SAAS,YAAY,CAAC,OAAe,EAAE,IAAY;IACjD,OAAO,IAAI,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,mBAAmB,CAC1B,IAAyC,EACzC,KAA0C;IAE1C,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,IAAI,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;IACpG,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;IACzB,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE,CAAC;QAC7B,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,IAAI,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,WAAW,CAAC;QAClE,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAClB,SAAS;QACX,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACd,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACxB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,aAAa,CAAC,MAAgB;IACrC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AACrC,CAAC"}
1
+ {"version":3,"file":"acceptance-proof-loop.js","sourceRoot":"","sources":["../../../src/runner/acceptance-proof-loop.ts"],"names":[],"mappings":"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"}
@@ -26,11 +26,22 @@ export interface ValidationItem {
26
26
  export type ReviewHandoffRisk = 'low' | 'medium' | 'high';
27
27
  export declare const scopedArtifactTypes: readonly ["screenshot", "ui-dump", "log", "smoke-output", "other"];
28
28
  export type ScopedArtifactType = (typeof scopedArtifactTypes)[number];
29
+ export declare const proofPlanModes: readonly ["none", "non-visual-smoke", "cli", "api", "worker", "browser-visual", "mobile-visual"];
30
+ export type ProofPlanMode = (typeof proofPlanModes)[number];
31
+ export type ProofPlanVisualTarget = 'browser' | 'mobile';
32
+ export interface ProofPlan {
33
+ mode: ProofPlanMode;
34
+ reason: string;
35
+ validationCommands: string[];
36
+ requiredArtifacts: string[];
37
+ visualTarget?: ProofPlanVisualTarget;
38
+ }
29
39
  export type ProhibitedActionType = 'secret-file-read' | 'secret-file-change' | 'destructive-db-or-cache' | 'production-deploy-or-release';
30
40
  export interface ScopedCompletionReport {
31
41
  status: CompletionStatus;
32
42
  changes: string[];
33
43
  validation: ValidationItem[];
44
+ proofPlan: ProofPlan;
34
45
  artifacts: Array<{
35
46
  type: ScopedArtifactType;
36
47
  path?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"completion-report.d.ts","sourceRoot":"","sources":["../../../src/runner/completion-report.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"completion-report.d.ts","sourceRoot":"","sources":["../../../src/runner/completion-report.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,15 @@ import { readFile } from 'node:fs/promises';
2
2
  import { reviewHandoffFlows } from '../review-handoff.js';
3
3
  import { validatePlanGraph } from './issue-tree.js';
4
4
  export const scopedArtifactTypes = ['screenshot', 'ui-dump', 'log', 'smoke-output', 'other'];
5
+ export const proofPlanModes = [
6
+ 'none',
7
+ 'non-visual-smoke',
8
+ 'cli',
9
+ 'api',
10
+ 'worker',
11
+ 'browser-visual',
12
+ 'mobile-visual',
13
+ ];
5
14
  const invalidReportRawContentLimit = 8000;
6
15
  export async function readScopedCompletionReportDetailed(reportPath) {
7
16
  let content;
@@ -81,6 +90,7 @@ function assertScopedCompletionReport(value) {
81
90
  }
82
91
  assertStringArray(record.changes, 'changes');
83
92
  assertValidation(record.validation);
93
+ assertProofPlan(record.proofPlan);
84
94
  assertArtifacts(record.artifacts);
85
95
  assertStringArray(record.skippedChecks, 'skippedChecks');
86
96
  assertStringArray(record.residualRisks, 'residualRisks');
@@ -92,6 +102,23 @@ function assertScopedCompletionReport(value) {
92
102
  assertPromotion(record.promotion);
93
103
  }
94
104
  }
105
+ function assertProofPlan(value) {
106
+ if (typeof value !== 'object' || value === null || Array.isArray(value)) {
107
+ throw new Error('Invalid scoped completion report: proofPlan must be an object');
108
+ }
109
+ const record = value;
110
+ if (typeof record.mode !== 'string' || !proofPlanModes.includes(record.mode)) {
111
+ throw new Error(`Invalid scoped completion report: proofPlan.mode must be one of ${proofPlanModes.join(', ')}`);
112
+ }
113
+ if (typeof record.reason !== 'string' || record.reason.trim().length === 0) {
114
+ throw new Error('Invalid scoped completion report: proofPlan.reason must be a non-empty string');
115
+ }
116
+ assertNonEmptyStringArray(record.validationCommands, 'proofPlan.validationCommands');
117
+ assertNonEmptyStringArray(record.requiredArtifacts, 'proofPlan.requiredArtifacts');
118
+ if ('visualTarget' in record && record.visualTarget !== 'browser' && record.visualTarget !== 'mobile') {
119
+ throw new Error('Invalid scoped completion report: proofPlan.visualTarget must be browser or mobile');
120
+ }
121
+ }
95
122
  function assertReviewHandoff(value) {
96
123
  if (typeof value !== 'object' || value === null || Array.isArray(value)) {
97
124
  throw new Error('Invalid scoped completion report: reviewHandoff must be an object');
@@ -219,6 +246,12 @@ function assertStringArray(value, key, prefix = 'Invalid scoped completion repor
219
246
  throw new Error(`${prefix}: ${key} must be a string array`);
220
247
  }
221
248
  }
249
+ function assertNonEmptyStringArray(value, key) {
250
+ assertStringArray(value, key);
251
+ if (value.some((item) => item.trim().length === 0)) {
252
+ throw new Error(`Invalid scoped completion report: ${key} must contain only non-empty strings`);
253
+ }
254
+ }
222
255
  function assertValidation(value) {
223
256
  if (!Array.isArray(value)) {
224
257
  throw new Error('Invalid scoped completion report: validation must be an array');
@@ -228,7 +261,10 @@ function assertValidation(value) {
228
261
  throw new Error('Invalid scoped completion report: validation item must be an object');
229
262
  }
230
263
  const record = item;
231
- if (typeof record.command !== 'string' || !['passed', 'failed', 'skipped'].includes(String(record.status)) || typeof record.summary !== 'string') {
264
+ if (typeof record.command !== 'string'
265
+ || record.command.trim().length === 0
266
+ || !['passed', 'failed', 'skipped'].includes(String(record.status))
267
+ || typeof record.summary !== 'string') {
232
268
  throw new Error('Invalid scoped completion report: validation item is malformed');
233
269
  }
234
270
  if ('evidence' in record) {