@patronage/software-factory 0.25.0 → 0.30.0-beta.1

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/dist/schemas.d.ts CHANGED
@@ -13,7 +13,7 @@ interface WaivedDemand {
13
13
  operator: string;
14
14
  rationale: string;
15
15
  recordedAt: string;
16
- session: string;
16
+ session?: string;
17
17
  /** The demand's refusals at evaluation time, preserved verbatim. */
18
18
  unmetReasons: string[];
19
19
  }
@@ -109,105 +109,6 @@ interface FollowUpAction {
109
109
  command: string;
110
110
  }
111
111
  //#endregion
112
- //#region src/merge-preflight/worktree-held-branch.d.ts
113
- /**
114
- * Detects when a PR head branch is checked out in a local git worktree.
115
- *
116
- * `gh pr merge --delete-branch` fails when the local branch is held by a
117
- * worktree (git refuses to delete a checked-out branch), which previously
118
- * broke the auto-merge lane mid-merge (patronage/internal#284). The merge
119
- * preflight surfaces this as an actionable notice — not a hard fail — so the
120
- * operator merges without `--delete-branch` (or prunes the worktree first)
121
- * and defers local branch cleanup to closeout.
122
- */
123
- interface WorktreeHeldBranch {
124
- branch: string;
125
- worktreePath: string;
126
- }
127
- //#endregion
128
- //#region src/pr-readiness/merge-identity.d.ts
129
- interface PostProofCommit {
130
- sha: string;
131
- subject: string;
132
- }
133
- type MergeIdentityResult = {
134
- kind: "match";
135
- headSha: string;
136
- } | {
137
- kind: "diverged";
138
- liveHeadSha: string;
139
- postProofCommits?: PostProofCommit[];
140
- proofHeadSha: string;
141
- };
142
- type MergeGuardIdentity = MergeIdentityResult | {
143
- kind: "live-head-invalid";
144
- pr: number;
145
- received: string;
146
- } | {
147
- kind: "ready-proof-missing";
148
- errorDetail?: string;
149
- readyProofPath: string;
150
- } | {
151
- kind: "ready-proof-pr-mismatch";
152
- proofPr: number;
153
- requestedPr: number;
154
- } | {
155
- kind: "ready-proof-not-ready";
156
- blockingReasons: string[];
157
- status: string;
158
- };
159
- //#endregion
160
- //#region src/review-rungs.d.ts
161
- declare const EVIDENCE_REVIEW_RUNGS: readonly ["independent-model", "oracle", "human"];
162
- type EvidenceReviewRung = (typeof EVIDENCE_REVIEW_RUNGS)[number];
163
- //#endregion
164
- //#region src/pr-merge-check.d.ts
165
- interface PrMergeCheckProof {
166
- schemaVersion: 1;
167
- blockingReasons: string[];
168
- boundary?: {
169
- autoMerge: boolean;
170
- epic: number;
171
- review: EvidenceReviewRung;
172
- wave: string;
173
- };
174
- command: "patronage-factory pr:merge-check";
175
- /**
176
- * Machine-safe arg array for the obvious next action (#523): on `pass`, the
177
- * remote-only GitHub merge API invocation for this PR; on `fail`, the re-run that clears the
178
- * block (`pr:ready`, or `pr:verify` then `pr:ready` after a head
179
- * divergence). Same `argv` shape `factory:delegate --print` emits. Optional
180
- * and purely additive — existing consumers ignore it.
181
- */
182
- followUp?: FollowUpAction;
183
- identity: MergeGuardIdentity;
184
- /**
185
- * The pushed PR head SHA fetched from GitHub at check time. Absent only
186
- * when GitHub returned no usable 40-hex head (identity kind
187
- * "live-head-invalid"), which is itself a fail-closed blocking state.
188
- */
189
- liveHeadSha?: string;
190
- /**
191
- * Actionable operational notices that do not block the merge, e.g. a PR
192
- * head branch held by a local worktree, which makes
193
- * `gh pr merge --delete-branch` fail (patronage/internal#284).
194
- */
195
- notices?: string[];
196
- pr: number;
197
- status: "pass" | "fail";
198
- /**
199
- * Demands that were in force, were NOT met, and were waived by the operator
200
- * (#354). Each entry carries the demand's refusals verbatim, so a waived
201
- * demand can never read as a met one; the merge proceeds on the recorded
202
- * operator act, not on evidence.
203
- */
204
- waivedDemands?: WaivedDemand[];
205
- /** Present when the PR head branch is checked out in a local worktree. */
206
- worktreeHeldBranch?: WorktreeHeldBranch;
207
- /** All merge-relevant branches held by local worktrees (head and default). */
208
- worktreeHeldBranches?: WorktreeHeldBranch[];
209
- }
210
- //#endregion
211
112
  //#region src/diff-classification.d.ts
212
113
  declare const DIFF_CLASSIFICATIONS: readonly ["docs/process-only", "trivial", "non-trivial"];
213
114
  type DiffClassification = (typeof DIFF_CLASSIFICATIONS)[number];
@@ -226,7 +127,6 @@ type ResolvedPrVerifyMode = "docs-only" | "trivial" | "full";
226
127
  declare const reviewPromptSectionSchema: z.ZodObject<{
227
128
  provenance: z.ZodEnum<{
228
129
  "prior-review-ledger": "prior-review-ledger";
229
- "profile-standing-checklist": "profile-standing-checklist";
230
130
  "issue-review-focus": "issue-review-focus";
231
131
  }>;
232
132
  source: z.ZodString;
@@ -252,6 +152,10 @@ interface ReviewFindingAttributes {
252
152
  title: string;
253
153
  }
254
154
  //#endregion
155
+ //#region src/review-rungs.d.ts
156
+ declare const EVIDENCE_REVIEW_RUNGS: readonly ["independent-model", "oracle", "human"];
157
+ type EvidenceReviewRung = (typeof EVIDENCE_REVIEW_RUNGS)[number];
158
+ //#endregion
255
159
  //#region src/review-ladder-ledger.d.ts
256
160
  type LadderCycleStage = "interior" | "gate";
257
161
  type LadderFindingReport = ReviewFindingAttributes;
@@ -349,7 +253,6 @@ declare const readinessRepairSchema: z.ZodObject<{
349
253
  action: z.ZodString;
350
254
  code: z.ZodEnum<{
351
255
  "undraft-pr": "undraft-pr";
352
- "render-pr-body-sections": "render-pr-body-sections";
353
256
  "await-post-undraft-checks": "await-post-undraft-checks";
354
257
  }>;
355
258
  command: z.ZodString;
@@ -371,12 +274,11 @@ declare const managedReadinessLedgerSchema: z.ZodObject<{
371
274
  name: z.ZodString;
372
275
  reason: z.ZodOptional<z.ZodString>;
373
276
  scope: z.ZodOptional<z.ZodObject<{
374
- classifications: z.ZodOptional<z.ZodArray<z.ZodEnum<{
277
+ classifications: z.ZodArray<z.ZodEnum<{
375
278
  "docs/process-only": "docs/process-only";
376
279
  trivial: "trivial";
377
280
  "non-trivial": "non-trivial";
378
- }>>>;
379
- labels: z.ZodOptional<z.ZodArray<z.ZodString>>;
281
+ }>>;
380
282
  }, z.core.$strict>>;
381
283
  scopeReason: z.ZodString;
382
284
  status: z.ZodEnum<{
@@ -385,9 +287,7 @@ declare const managedReadinessLedgerSchema: z.ZodObject<{
385
287
  "out-of-scope": "out-of-scope";
386
288
  }>;
387
289
  }, z.core.$strip>>>;
388
- finalReviewPoint: z.ZodBoolean;
389
290
  github: z.ZodObject<{
390
- currentWithBase: z.ZodBoolean;
391
291
  draft: z.ZodBoolean;
392
292
  mergeStateStatus: z.ZodString;
393
293
  mergeable: z.ZodString;
@@ -398,67 +298,17 @@ declare const managedReadinessLedgerSchema: z.ZodObject<{
398
298
  pending: "pending";
399
299
  none: "none";
400
300
  }>;
301
+ reviewDecision: z.ZodOptional<z.ZodNullable<z.ZodString>>;
401
302
  unresolvedReviewThreads: z.ZodNumber;
402
303
  }, z.core.$strip>;
403
- handledCommentsProducer: z.ZodOptional<z.ZodObject<{
404
- identity: z.ZodString;
405
- mode: z.ZodEnum<{
406
- app: "app";
407
- "commit-status": "commit-status";
408
- }>;
409
- }, z.core.$strip>>;
410
- handledHumanComments: z.ZodOptional<z.ZodArray<z.ZodObject<{
411
- clearedAt: z.ZodOptional<z.ZodString>;
412
- sessionId: z.ZodOptional<z.ZodString>;
413
- source: z.ZodEnum<{
414
- cli: "cli";
415
- "check-run": "check-run";
416
- }>;
417
- url: z.ZodString;
418
- }, z.core.$strip>>>;
419
304
  headSha: z.ZodString;
420
305
  mergeBaseSha: z.ZodOptional<z.ZodString>;
421
306
  patchId: z.ZodString;
422
- postReadinessHumanComments: z.ZodOptional<z.ZodArray<z.ZodObject<{
423
- author: z.ZodString;
424
- createdAt: z.ZodString;
425
- summary: z.ZodString;
426
- url: z.ZodString;
427
- }, z.core.$strip>>>;
428
- postReadinessHumanReviews: z.ZodOptional<z.ZodArray<z.ZodObject<{
429
- author: z.ZodString;
430
- createdAt: z.ZodString;
431
- summary: z.ZodString;
432
- url: z.ZodString;
433
- }, z.core.$strip>>>;
434
307
  pr: z.ZodNumber;
435
- previewDeploy: z.ZodOptional<z.ZodObject<{
436
- adminUrl: z.ZodOptional<z.ZodString>;
437
- apiHealthUrl: z.ZodOptional<z.ZodString>;
438
- headSha: z.ZodOptional<z.ZodString>;
439
- localPreviewProof: z.ZodOptional<z.ZodUnknown>;
440
- localProofPath: z.ZodOptional<z.ZodString>;
441
- proofSource: z.ZodOptional<z.ZodEnum<{
442
- "github-actions": "github-actions";
443
- "local-self-certified": "local-self-certified";
444
- }>>;
445
- publicUrl: z.ZodOptional<z.ZodString>;
446
- seedStatus: z.ZodEnum<{
447
- unknown: "unknown";
448
- passed: "passed";
449
- failed: "failed";
450
- skipped: "skipped";
451
- }>;
452
- stage: z.ZodOptional<z.ZodString>;
453
- timingsMs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodNumber>>>;
454
- workflowRunUrl: z.ZodOptional<z.ZodString>;
455
- }, z.core.$strip>>;
456
- previewDeployRequired: z.ZodBoolean;
457
308
  repairs: z.ZodDefault<z.ZodArray<z.ZodObject<{
458
309
  action: z.ZodString;
459
310
  code: z.ZodEnum<{
460
311
  "undraft-pr": "undraft-pr";
461
- "render-pr-body-sections": "render-pr-body-sections";
462
312
  "await-post-undraft-checks": "await-post-undraft-checks";
463
313
  }>;
464
314
  command: z.ZodString;
@@ -524,7 +374,6 @@ declare const managedReadinessLedgerSchema: z.ZodObject<{
524
374
  }>>;
525
375
  reviews: z.ZodObject<{
526
376
  correctness: z.ZodObject<{
527
- docsOnlyDeltaAccepted: z.ZodOptional<z.ZodBoolean>;
528
377
  required: z.ZodBoolean;
529
378
  reviewedHeadSha: z.ZodOptional<z.ZodString>;
530
379
  reviewedPatchId: z.ZodOptional<z.ZodString>;
@@ -537,7 +386,6 @@ declare const managedReadinessLedgerSchema: z.ZodObject<{
537
386
  }>;
538
387
  }, z.core.$strip>;
539
388
  security: z.ZodOptional<z.ZodObject<{
540
- docsOnlyDeltaAccepted: z.ZodOptional<z.ZodBoolean>;
541
389
  required: z.ZodBoolean;
542
390
  reviewedHeadSha: z.ZodOptional<z.ZodString>;
543
391
  reviewedPatchId: z.ZodOptional<z.ZodString>;
@@ -551,12 +399,6 @@ declare const managedReadinessLedgerSchema: z.ZodObject<{
551
399
  }, z.core.$strip>>;
552
400
  }, z.core.$strip>;
553
401
  schemaVersion: z.ZodLiteral<1>;
554
- stackRole: z.ZodEnum<{
555
- single: "single";
556
- slice: "slice";
557
- rollup: "rollup";
558
- "merge-gate prerequisite": "merge-gate prerequisite";
559
- }>;
560
402
  verification: z.ZodObject<{
561
403
  command: z.ZodLiteral<"patronage-factory pr:verify">;
562
404
  docsOnlyDeltaAccepted: z.ZodOptional<z.ZodBoolean>;
@@ -572,12 +414,25 @@ declare const managedReadinessLedgerSchema: z.ZodObject<{
572
414
  }, z.core.$strip>;
573
415
  }, z.core.$strip>;
574
416
  type ReadinessRepair = z.infer<typeof readinessRepairSchema>;
575
- type ReadinessStatus = "ready" | "blocked" | "slice-ready/not-final";
417
+ type ReadinessStatus = "ready" | "blocked";
576
418
  type ManagedReadinessLedger = z.infer<typeof managedReadinessLedgerSchema>;
577
419
  //#endregion
578
420
  //#region src/pr-ready.d.ts
579
421
  interface PrReadyProof {
580
- schemaVersion: 2;
422
+ schemaVersion: 3;
423
+ /**
424
+ * What GitHub actually did when this run armed native auto-merge (#477).
425
+ * Present exactly when a ready wave authorizes machine merge and arming ran;
426
+ * read back from the PR rather than inferred from the invocation, because `gh pr merge
427
+ * --auto` arms, merges, or does nothing with the same exit code and the same
428
+ * empty output. `not-armed` means the candidate is admitted but nothing will
429
+ * merge it, and `followUp` carries the re-dispatch.
430
+ */
431
+ arming?: {
432
+ detail?: string;
433
+ headSha: string;
434
+ outcome: "armed" | "merged" | "not-armed";
435
+ };
581
436
  /**
582
437
  * Why this run blocked, one entry per refusing demand (#391): `code` is the
583
438
  * demand key from the resolver's vocabulary, `detail` the one-sentence
@@ -590,11 +445,12 @@ interface PrReadyProof {
590
445
  humanBlockingReasons: string[];
591
446
  command: "patronage-factory pr:ready";
592
447
  /**
593
- * Machine-safe arg array for the obvious next action (#523): when `ready`,
594
- * the `pr:merge-check` that must precede a merge; otherwise the `pr:verify`
595
- * re-run that the blocking reasons name (re-verify the head, then re-run
596
- * pr:ready). Same `argv` shape `factory:delegate --print` emits. Optional
597
- * and purely additive.
448
+ * Machine-safe arg array for the obvious next action (#523): when `ready`
449
+ * but arming did not take effect, a `pr:ready` re-dispatch (idempotent on
450
+ * an unchanged head); otherwise the `gh pr ready` undraft repair or the
451
+ * `pr:verify` re-run that the blocking reasons name (re-verify the head,
452
+ * then re-run pr:ready). Same `argv` shape `factory:delegate --print`
453
+ * emits. Optional and purely additive.
598
454
  */
599
455
  followUp?: FollowUpAction;
600
456
  /**
@@ -604,6 +460,13 @@ interface PrReadyProof {
604
460
  * pushed HEAD, not a re-derivation. See the ledger schema.
605
461
  */
606
462
  ledger: ManagedReadinessLedger;
463
+ /**
464
+ * Actionable facts that did not block (#477): a settling merge-freeze
465
+ * generation that permitted readiness and any authorized arming with a
466
+ * notice, an admitted-but-unscheduled false boundary wave, and how each
467
+ * waived demand reads to a human. Absent when there are none.
468
+ */
469
+ notices?: string[];
607
470
  /** Committed profile blob evaluated by readiness. Required for merge. */
608
471
  profileBlobSha?: string;
609
472
  /** Checkout-relative committed profile path evaluated by readiness. */
@@ -612,6 +475,13 @@ interface PrReadyProof {
612
475
  /** Trusted checkout repository used for all GitHub reads and writes. */
613
476
  repository?: string;
614
477
  status: ReadinessStatus;
478
+ /**
479
+ * Demands that were in force, were NOT met, and were waived by the operator
480
+ * (#354, moved here from the merge-time proof by #477). Each entry carries
481
+ * the demand's refusals verbatim, so a waived demand can never read as a met
482
+ * one; readiness proceeds on the recorded operator act, not on evidence.
483
+ */
484
+ waivedDemands?: WaivedDemand[];
615
485
  }
616
486
  //#endregion
617
487
  //#region src/pr-readiness/external-evidence.d.ts
@@ -891,11 +761,6 @@ declare const retroEnvelopeV1Schema: z.ZodObject<{
891
761
  }, z.core.$strict>;
892
762
  kind: z.ZodLiteral<"retro-envelope">;
893
763
  outcome: z.ZodOptional<z.ZodObject<{
894
- mergeCheck: z.ZodOptional<z.ZodEnum<{
895
- pass: "pass";
896
- fail: "fail";
897
- "not-run": "not-run";
898
- }>>;
899
764
  status: z.ZodEnum<{
900
765
  fail: "fail";
901
766
  success: "success";
@@ -1153,7 +1018,6 @@ declare const prReviewProofSchema: z.ZodObject<{
1153
1018
  promptSections: z.ZodOptional<z.ZodArray<z.ZodObject<{
1154
1019
  provenance: z.ZodEnum<{
1155
1020
  "prior-review-ledger": "prior-review-ledger";
1156
- "profile-standing-checklist": "profile-standing-checklist";
1157
1021
  "issue-review-focus": "issue-review-focus";
1158
1022
  }>;
1159
1023
  source: z.ZodString;
@@ -1296,64 +1160,24 @@ declare const boundaryCheckProofSchema: z.ZodObject<{
1296
1160
  }>;
1297
1161
  }, z.core.$strip>;
1298
1162
  type BoundaryCheckProofRecord = z.infer<typeof boundaryCheckProofSchema>;
1299
- declare const PR_MERGE_CHECK_SCHEMA_VERSION = 1;
1300
- declare const prMergeCheckProofSchema: z.ZodObject<{
1301
- blockingReasons: z.ZodArray<z.ZodString>;
1302
- command: z.ZodLiteral<"patronage-factory pr:merge-check">;
1303
- followUp: z.ZodOptional<z.ZodObject<{
1304
- argv: z.ZodArray<z.ZodString>;
1305
- command: z.ZodString;
1306
- }, z.core.$strict>>;
1307
- identity: z.ZodDiscriminatedUnion<[z.ZodObject<{
1308
- headSha: z.ZodString;
1309
- kind: z.ZodLiteral<"match">;
1310
- }, z.core.$strip>, z.ZodObject<{
1311
- kind: z.ZodLiteral<"diverged">;
1312
- liveHeadSha: z.ZodString;
1313
- postProofCommits: z.ZodOptional<z.ZodArray<z.ZodObject<{
1314
- sha: z.ZodString;
1315
- subject: z.ZodString;
1316
- }, z.core.$strip>>>;
1317
- proofHeadSha: z.ZodString;
1318
- }, z.core.$strip>, z.ZodObject<{
1319
- kind: z.ZodLiteral<"live-head-invalid">;
1320
- pr: z.ZodNumber;
1321
- received: z.ZodString;
1322
- }, z.core.$strip>, z.ZodObject<{
1323
- errorDetail: z.ZodOptional<z.ZodString>;
1324
- kind: z.ZodLiteral<"ready-proof-missing">;
1325
- readyProofPath: z.ZodString;
1326
- }, z.core.$strip>, z.ZodObject<{
1327
- kind: z.ZodLiteral<"ready-proof-pr-mismatch">;
1328
- proofPr: z.ZodNumber;
1329
- requestedPr: z.ZodNumber;
1330
- }, z.core.$strip>, z.ZodObject<{
1331
- blockingReasons: z.ZodArray<z.ZodString>;
1332
- kind: z.ZodLiteral<"ready-proof-not-ready">;
1333
- status: z.ZodString;
1334
- }, z.core.$strip>], "kind">;
1335
- liveHeadSha: z.ZodOptional<z.ZodString>;
1336
- notices: z.ZodOptional<z.ZodArray<z.ZodString>>;
1337
- pr: z.ZodNumber;
1338
- schemaVersion: z.ZodLiteral<1>;
1339
- status: z.ZodEnum<{
1340
- pass: "pass";
1341
- fail: "fail";
1342
- }>;
1343
- waivedDemands: z.ZodOptional<z.ZodArray<z.ZodType<WaivedDemand, unknown, z.core.$ZodTypeInternals<WaivedDemand, unknown>>>>;
1344
- worktreeHeldBranch: z.ZodOptional<z.ZodObject<{
1345
- branch: z.ZodString;
1346
- worktreePath: z.ZodString;
1347
- }, z.core.$strip>>;
1348
- }, z.core.$strip>;
1349
- declare const PR_READY_SCHEMA_VERSION = 2;
1163
+ declare const PR_READY_SCHEMA_VERSION = 3;
1350
1164
  /**
1351
- * The pr:ready proof versions a reader still accepts. `pr:ready` emits v2 only
1352
- * (#391) — one current contract — but v1 events were spooled before the bump
1353
- * and HQ must ingest them without degrading, so the wire schema parses both.
1165
+ * The pr:ready proof versions a reader still accepts. `pr:ready` emits v3 only
1166
+ * (#477) — one current contract — but v1 and v2 events were spooled before the
1167
+ * bumps and HQ must ingest them without degrading, so the wire schema parses
1168
+ * all three.
1354
1169
  */
1355
- declare const SUPPORTED_PR_READY_SCHEMA_VERSIONS: readonly [1, 2];
1170
+ declare const SUPPORTED_PR_READY_SCHEMA_VERSIONS: readonly [1, 2, 3];
1356
1171
  declare const prReadyProofSchema: z.ZodObject<{
1172
+ arming: z.ZodOptional<z.ZodObject<{
1173
+ detail: z.ZodOptional<z.ZodString>;
1174
+ headSha: z.ZodString;
1175
+ outcome: z.ZodEnum<{
1176
+ merged: "merged";
1177
+ armed: "armed";
1178
+ "not-armed": "not-armed";
1179
+ }>;
1180
+ }, z.core.$strip>>;
1357
1181
  blockedReasons: z.ZodOptional<z.ZodArray<z.ZodObject<{
1358
1182
  code: z.ZodString;
1359
1183
  detail: z.ZodString;
@@ -1382,12 +1206,11 @@ declare const prReadyProofSchema: z.ZodObject<{
1382
1206
  name: z.ZodString;
1383
1207
  reason: z.ZodOptional<z.ZodString>;
1384
1208
  scope: z.ZodOptional<z.ZodObject<{
1385
- classifications: z.ZodOptional<z.ZodArray<z.ZodEnum<{
1209
+ classifications: z.ZodArray<z.ZodEnum<{
1386
1210
  "docs/process-only": "docs/process-only";
1387
1211
  trivial: "trivial";
1388
1212
  "non-trivial": "non-trivial";
1389
- }>>>;
1390
- labels: z.ZodOptional<z.ZodArray<z.ZodString>>;
1213
+ }>>;
1391
1214
  }, z.core.$strict>>;
1392
1215
  scopeReason: z.ZodString;
1393
1216
  status: z.ZodEnum<{
@@ -1396,9 +1219,8 @@ declare const prReadyProofSchema: z.ZodObject<{
1396
1219
  "out-of-scope": "out-of-scope";
1397
1220
  }>;
1398
1221
  }, z.core.$strip>>>;
1399
- finalReviewPoint: z.ZodBoolean;
1222
+ finalReviewPoint: z.ZodOptional<z.ZodBoolean>;
1400
1223
  github: z.ZodObject<{
1401
- currentWithBase: z.ZodBoolean;
1402
1224
  draft: z.ZodBoolean;
1403
1225
  mergeStateStatus: z.ZodString;
1404
1226
  mergeable: z.ZodString;
@@ -1409,6 +1231,7 @@ declare const prReadyProofSchema: z.ZodObject<{
1409
1231
  pending: "pending";
1410
1232
  none: "none";
1411
1233
  }>;
1234
+ reviewDecision: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1412
1235
  unresolvedReviewThreads: z.ZodNumber;
1413
1236
  }, z.core.$strip>;
1414
1237
  handledCommentsProducer: z.ZodOptional<z.ZodObject<{
@@ -1436,29 +1259,13 @@ declare const prReadyProofSchema: z.ZodObject<{
1436
1259
  summary: z.ZodString;
1437
1260
  url: z.ZodString;
1438
1261
  }, z.core.$strip>>>;
1262
+ postReadinessHumanReviews: z.ZodOptional<z.ZodArray<z.ZodObject<{
1263
+ author: z.ZodString;
1264
+ createdAt: z.ZodString;
1265
+ summary: z.ZodString;
1266
+ url: z.ZodString;
1267
+ }, z.core.$strip>>>;
1439
1268
  pr: z.ZodNumber;
1440
- previewDeploy: z.ZodOptional<z.ZodObject<{
1441
- adminUrl: z.ZodOptional<z.ZodString>;
1442
- apiHealthUrl: z.ZodOptional<z.ZodString>;
1443
- headSha: z.ZodOptional<z.ZodString>;
1444
- localPreviewProof: z.ZodOptional<z.ZodUnknown>;
1445
- localProofPath: z.ZodOptional<z.ZodString>;
1446
- proofSource: z.ZodOptional<z.ZodEnum<{
1447
- "github-actions": "github-actions";
1448
- "local-self-certified": "local-self-certified";
1449
- }>>;
1450
- publicUrl: z.ZodOptional<z.ZodString>;
1451
- seedStatus: z.ZodEnum<{
1452
- unknown: "unknown";
1453
- passed: "passed";
1454
- failed: "failed";
1455
- skipped: "skipped";
1456
- }>;
1457
- stage: z.ZodOptional<z.ZodString>;
1458
- timingsMs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodNumber>>>;
1459
- workflowRunUrl: z.ZodOptional<z.ZodString>;
1460
- }, z.core.$strip>>;
1461
- previewDeployRequired: z.ZodBoolean;
1462
1269
  repairs: z.ZodDefault<z.ZodArray<z.ZodObject<{
1463
1270
  action: z.ZodString;
1464
1271
  code: z.ZodEnum<{
@@ -1565,7 +1372,6 @@ declare const prReadyProofSchema: z.ZodObject<{
1565
1372
  promptSections: z.ZodOptional<z.ZodArray<z.ZodObject<{
1566
1373
  provenance: z.ZodEnum<{
1567
1374
  "prior-review-ledger": "prior-review-ledger";
1568
- "profile-standing-checklist": "profile-standing-checklist";
1569
1375
  "issue-review-focus": "issue-review-focus";
1570
1376
  }>;
1571
1377
  source: z.ZodString;
@@ -1641,12 +1447,12 @@ declare const prReadyProofSchema: z.ZodObject<{
1641
1447
  }, z.core.$strip>>;
1642
1448
  }, z.core.$strip>;
1643
1449
  schemaVersion: z.ZodLiteral<1>;
1644
- stackRole: z.ZodEnum<{
1450
+ stackRole: z.ZodOptional<z.ZodEnum<{
1645
1451
  single: "single";
1646
1452
  slice: "slice";
1647
1453
  rollup: "rollup";
1648
1454
  "merge-gate prerequisite": "merge-gate prerequisite";
1649
- }>;
1455
+ }>>;
1650
1456
  verification: z.ZodObject<{
1651
1457
  command: z.ZodLiteral<"patronage-factory pr:verify">;
1652
1458
  docsOnlyDeltaAccepted: z.ZodOptional<z.ZodBoolean>;
@@ -1661,6 +1467,7 @@ declare const prReadyProofSchema: z.ZodObject<{
1661
1467
  verifiedHeadSha: z.ZodOptional<z.ZodString>;
1662
1468
  }, z.core.$strip>;
1663
1469
  }, z.core.$strip>;
1470
+ notices: z.ZodOptional<z.ZodArray<z.ZodString>>;
1664
1471
  profileBlobSha: z.ZodOptional<z.ZodString>;
1665
1472
  profilePath: z.ZodOptional<z.ZodString>;
1666
1473
  repairs: z.ZodDefault<z.ZodArray<z.ZodObject<{
@@ -1673,12 +1480,13 @@ declare const prReadyProofSchema: z.ZodObject<{
1673
1480
  command: z.ZodString;
1674
1481
  }, z.core.$strip>>>;
1675
1482
  repository: z.ZodOptional<z.ZodString>;
1676
- schemaVersion: z.ZodNumber & z.ZodType<1 | 2, number, z.core.$ZodTypeInternals<1 | 2, number>>;
1483
+ schemaVersion: z.ZodNumber & z.ZodType<1 | 2 | 3, number, z.core.$ZodTypeInternals<1 | 2 | 3, number>>;
1677
1484
  status: z.ZodEnum<{
1678
1485
  ready: "ready";
1679
1486
  blocked: "blocked";
1680
1487
  "slice-ready/not-final": "slice-ready/not-final";
1681
1488
  }>;
1489
+ waivedDemands: z.ZodOptional<z.ZodArray<z.ZodType<WaivedDemand, unknown, z.core.$ZodTypeInternals<WaivedDemand, unknown>>>>;
1682
1490
  }, z.core.$strip>;
1683
1491
  //#endregion
1684
- export { BLOCKED_REASONS_MAX, BLOCKED_REASON_DETAIL_MAX, BOUNDARY_CHECK_SCHEMA_VERSION, BOUNDARY_REVIEW_PROOF_KIND, type BlockedReason, BoundaryCheckProofRecord, type BoundaryReviewProof, type CloseoutArtifact, EVIDENCE_ENVELOPE_SCHEMA_VERSION, type EvidenceEnvelope, PR_MERGE_CHECK_SCHEMA_VERSION, PR_READY_SCHEMA_VERSION, PR_REVIEW_SCHEMA_VERSION, type ParsedRetroEnvelope, type PrMergeCheckProof, type PrReadyProof, type PrReviewProof, type PrVerifyProof, RETRO_ENVELOPE_SCHEMA_VERSION, RETRO_ENVELOPE_VALIDATORS, RETRO_ENVELOPE_WIRE_BOUNDS, type RetroEnvelope, SUPPORTED_PR_READY_SCHEMA_VERSIONS, SUPPORTED_PR_VERIFY_SCHEMA_VERSIONS, SUPPORTED_RETRO_ENVELOPE_SCHEMA_VERSIONS, type WaivedDemand, blockedReasonSchema, blockedReasonsSchema, boundaryCheckProofSchema, boundaryReviewProofSchema, closeoutArtifactSchema, evidenceEnvelopeSchema, prMergeCheckProofSchema, prReadyProofSchema, prReviewProofSchema, prVerifyProofSchema, retroEnvelopeV1Schema, retroEpicReference, waivedDemandSchema };
1492
+ export { BLOCKED_REASONS_MAX, BLOCKED_REASON_DETAIL_MAX, BOUNDARY_CHECK_SCHEMA_VERSION, BOUNDARY_REVIEW_PROOF_KIND, type BlockedReason, BoundaryCheckProofRecord, type BoundaryReviewProof, type CloseoutArtifact, EVIDENCE_ENVELOPE_SCHEMA_VERSION, type EvidenceEnvelope, PR_READY_SCHEMA_VERSION, PR_REVIEW_SCHEMA_VERSION, type ParsedRetroEnvelope, type PrReadyProof, type PrReviewProof, type PrVerifyProof, RETRO_ENVELOPE_SCHEMA_VERSION, RETRO_ENVELOPE_VALIDATORS, RETRO_ENVELOPE_WIRE_BOUNDS, type RetroEnvelope, SUPPORTED_PR_READY_SCHEMA_VERSIONS, SUPPORTED_PR_VERIFY_SCHEMA_VERSIONS, SUPPORTED_RETRO_ENVELOPE_SCHEMA_VERSIONS, type WaivedDemand, blockedReasonSchema, blockedReasonsSchema, boundaryCheckProofSchema, boundaryReviewProofSchema, closeoutArtifactSchema, evidenceEnvelopeSchema, prReadyProofSchema, prReviewProofSchema, prVerifyProofSchema, retroEnvelopeV1Schema, retroEpicReference, waivedDemandSchema };