prismatica 0.3.1 → 0.4.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.
@@ -17,13 +17,15 @@ import { staleStepsAcrossFlows } from './flow.js';
17
17
  import { requireReadyAttemptAvailable } from './ready.js';
18
18
  import { checkPrReadiness, GATE_CHECK_PATTERN } from './merge.js';
19
19
  import { configExists, loadConfig } from '../config.js';
20
+ import { classifyGateInvocations } from '../detect.js';
20
21
  import * as git from '../git.js';
21
22
  import { ghAuthenticated, ghInstalled, ghPrChecks, ghPrView } from '../gh.js';
22
23
  import { latestCheckStanding } from '../ledger.js';
23
24
  import { isDeltaBound } from '../records/types.js';
25
+ import { prismaticaVersion } from '../runtime.js';
24
26
  import { describeSelfHost, rewriteForSelfHost, selfHostAdvice, selfHostWarningIssued, } from '../selfhost.js';
25
27
  import { DEFAULT_BUILDER } from '../skills.js';
26
- import { contractExists, decisionPath, listContractIds, passportExists, readContract, readDecision, readFlowReport, readReview, releaseExists, reportExists, reviewPath, } from '../records/store.js';
28
+ import { contractExists, decisionPath, listContractIds, passportExists, readContract, readDecision, readFlowReport, readRelease, readReview, releaseExists, reportExists, reviewPath, } from '../records/store.js';
27
29
  import fs from 'node:fs';
28
30
  import * as ui from '../ui.js';
29
31
  /**
@@ -65,11 +67,16 @@ async function gatherPrState(home, mainBranch, branch) {
65
67
  return { prState: 'failed', prNumber: view.number };
66
68
  }
67
69
  const laneHead = await git.revParse(home, 'HEAD');
68
- // A gate that passed for an OLDER head isn't ready to merge yet — the
69
- // owner just needs to wait for the newer push's own gate run.
70
- return view.headRefOid === laneHead
71
- ? { prState: 'ready', prNumber: view.number }
72
- : { prState: 'pending', prNumber: view.number };
70
+ if (view.headRefOid === laneHead) {
71
+ return { prState: 'ready', prNumber: view.number };
72
+ }
73
+ // The gate PASSED, but for an OLDER head than what is committed locally
74
+ // now this is never "wait for a newer gate run" (nothing will trigger
75
+ // one): it is the exact resumable window ac-3's corrected Ship leaves
76
+ // when its own final push/confirm did not complete. Only re-running
77
+ // `ship` pushes the newer head and asks GitHub again; waiting recommends
78
+ // nothing that will ever resolve itself.
79
+ return { prState: 'stale', prNumber: view.number };
73
80
  }
74
81
  catch {
75
82
  return { prState: 'unknown' };
@@ -260,6 +267,20 @@ export async function runNext(options) {
260
267
  // Same "no open lane already owns the answer" guard as `awaitingVerification`
261
268
  // — an in-flight `release prepare` still building is rule 7's, not this one's.
262
269
  const releaseInFlight = change || ambiguousOpenChangeCount >= 2 ? null : await firstReleaseInFlight(mainRoot);
270
+ // `release publish` writes its write-once record and returns — the owner
271
+ // commits it, exactly like Check's evidence or a sealed review, and until
272
+ // now `next` had no dirty state for that sole path: `releaseInFlight` goes
273
+ // null the instant the file exists (it is a filesystem check), so a repo
274
+ // sitting on an uncommitted release record read as "all quiet". Only ever
275
+ // offered when it is genuinely THIS record and nothing else — malformed or
276
+ // mixed dirt never gets an automatic commit.
277
+ const releaseRecordDirty = change || ambiguousOpenChangeCount >= 2 ? null : await firstDirtyReleaseRecord(mainRoot);
278
+ // Eligible CI gate skew — the same structural classification `update` uses
279
+ // to decide whether it may edit anything, read here ONLY to decide whether
280
+ // to name `prismatica update` at all: a local file read, no network, safe
281
+ // to compute on every `next`. `null` for self-hosted, ambiguous, none, or
282
+ // already-current — there is nothing eligible to route to in any of those.
283
+ const updateEligible = eligibleUpdateSkew(mainRoot);
263
284
  const state = {
264
285
  appRegistered: true,
265
286
  mode: config.mode,
@@ -274,7 +295,9 @@ export async function runNext(options) {
274
295
  staleFlow,
275
296
  awaitingVerification,
276
297
  releaseInFlight,
298
+ releaseRecordDirty,
277
299
  mainBehind: behind > 0 ? { count: behind, mainRoot, mainBranch: config.mainBranch } : null,
300
+ updateEligible,
278
301
  };
279
302
  // The decision is made first and rewritten afterwards, so `decideNext`
280
303
  // stays pure and knows nothing about which repository it is advising. The
@@ -340,6 +363,13 @@ async function firstAwaitingVerification(mainRoot, mainBranch, releaseTrackingSi
340
363
  if (contract.releaseVersion) {
341
364
  continue;
342
365
  }
366
+ // Same exclusion, same reason, for a consumer-update transaction: it is
367
+ // a deterministic maintenance commit with no deploy of its own, so it
368
+ // never gets a passport either — and it must never be read as
369
+ // "awaiting live verification" for having none.
370
+ if (contract.updateVersion) {
371
+ continue;
372
+ }
343
373
  if (isReleaseTracked(contract.createdAt, releaseTrackingSince)) {
344
374
  return { id, mainBranch };
345
375
  }
@@ -370,6 +400,85 @@ async function firstReleaseInFlight(mainRoot) {
370
400
  }
371
401
  return null;
372
402
  }
403
+ /**
404
+ * The sole `.prismatica/releases/*.md` record dirty on main, when — and only
405
+ * when — it is the ONLY dirty path there and it parses as a valid `Release`.
406
+ * More than one dirty release record, a malformed one, or ANY other file
407
+ * dirty alongside it all return `null` rather than guess at a safe commit —
408
+ * "malformed or mixed dirt never does" is the whole point: this is an
409
+ * ALLOWLIST of exactly the one shape `release publish` itself produces, not
410
+ * a general "main has release-shaped dirt" sweep.
411
+ */
412
+ async function firstDirtyReleaseRecord(mainRoot) {
413
+ const dirty = await git.dirtyPaths(mainRoot);
414
+ if (dirty.length !== 1) {
415
+ return null;
416
+ }
417
+ const match = /^\.prismatica\/releases\/([^/]+)\.md$/.exec(dirty[0]);
418
+ if (!match) {
419
+ return null;
420
+ }
421
+ const version = match[1];
422
+ try {
423
+ readRelease(mainRoot, version);
424
+ }
425
+ catch {
426
+ return null; // malformed — never auto-offered
427
+ }
428
+ return { version, path: dirty[0], mainRoot };
429
+ }
430
+ /**
431
+ * `X.Y.Z` only, exactly the shape a Prismatica release ever carries.
432
+ * Deliberately a small local copy rather than an import from `releases.ts`
433
+ * (forbidden here, and out of this command's own touchpoints regardless) —
434
+ * the same "two literal copies, on purpose" precedent `release.ts` itself
435
+ * documents for its registry seam.
436
+ */
437
+ function isOlderVersion(a, b) {
438
+ const pattern = /^(\d+)\.(\d+)\.(\d+)$/;
439
+ const pa = pattern.exec(a.trim());
440
+ const pb = pattern.exec(b.trim());
441
+ if (!pa || !pb) {
442
+ return false; // not a plain semver either side — never guess
443
+ }
444
+ for (let i = 1; i <= 3; i += 1) {
445
+ const na = Number(pa[i]);
446
+ const nb = Number(pb[i]);
447
+ if (na !== nb) {
448
+ return na < nb;
449
+ }
450
+ }
451
+ return false;
452
+ }
453
+ /**
454
+ * Whether main's one recognised CI gate invocation is eligible for
455
+ * `prismatica update` at all — read through the SAME structural detector
456
+ * `update` itself refuses on anything but, so `next` can never recommend a
457
+ * command `update` would then reject. `null` covers every case that is not
458
+ * a genuine upgrade opportunity: none recognised, more than one
459
+ * (ambiguous), self-hosted (never converted to an npm consumer), an exact
460
+ * pin already at the running version, or one NEWER than it — `update`
461
+ * itself refuses a downgrade, so routing there would only hand the owner a
462
+ * command that immediately says no. A local file read only — no network,
463
+ * safe on every `next`.
464
+ */
465
+ function eligibleUpdateSkew(mainRoot) {
466
+ const classification = classifyGateInvocations(mainRoot);
467
+ if (classification.kind !== 'one') {
468
+ return null;
469
+ }
470
+ const { invocation } = classification;
471
+ const running = prismaticaVersion();
472
+ if (invocation.kind === 'legacy-unpinned') {
473
+ return { runningVersion: running };
474
+ }
475
+ if (invocation.kind === 'exact-pin' &&
476
+ invocation.pinnedVersion !== undefined &&
477
+ isOlderVersion(invocation.pinnedVersion, running)) {
478
+ return { runningVersion: running };
479
+ }
480
+ return null;
481
+ }
373
482
  function emptyState(overrides) {
374
483
  return {
375
484
  appRegistered: true,
@@ -385,7 +494,9 @@ function emptyState(overrides) {
385
494
  staleFlow: null,
386
495
  awaitingVerification: null,
387
496
  releaseInFlight: null,
497
+ releaseRecordDirty: null,
388
498
  mainBehind: null,
499
+ updateEligible: null,
389
500
  ...overrides,
390
501
  };
391
502
  }
@@ -1 +1 @@
1
- {"version":3,"file":"next.js","sourceRoot":"","sources":["../../src/commands/next.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"next.js","sourceRoot":"","sources":["../../src/commands/next.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACrF,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AACvF,OAAO,EACL,UAAU,EACV,gBAAgB,GAIjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAChG,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,EAAE,4BAA4B,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,KAAK,GAAG,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,EACd,qBAAqB,GACtB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EACL,cAAc,EACd,YAAY,EACZ,eAAe,EACf,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,WAAW,EACX,UAAU,EACV,aAAa,EACb,YAAY,EACZ,UAAU,GACX,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,KAAK,EAAE,MAAM,UAAU,CAAC;AAE/B;;;;;;GAMG;AACH,KAAK,UAAU,aAAa,CAC1B,IAAY,EACZ,UAAkB,EAClB,MAAc;IAEd,IAAI,CAAC;QACH,IAAI,CAAC,CAAC,MAAM,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,eAAe,EAAE,CAAC,EAAE,CAAC;YACzD,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;QAChC,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC1C,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;QAC7B,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC5B,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;QACtD,CAAC;QACD,qEAAqE;QACrE,sEAAsE;QACtE,wEAAwE;QACxE,uEAAuE;QACvE,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC;YACnD,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;QACvD,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACnD,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACpB,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;QACvD,CAAC;QACD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QACjF,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACjE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACvC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;QACvD,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC3B,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;QACtD,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAClD,IAAI,IAAI,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;YACjC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;QACrD,CAAC;QACD,wEAAwE;QACxE,wEAAwE;QACxE,sEAAsE;QACtE,oEAAoE;QACpE,yEAAyE;QACzE,yCAAyC;QACzC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;IACrD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;IAChC,CAAC;AACH,CAAC;AAQD,KAAK,UAAU,YAAY,CACzB,GAAW,EACX,QAAgB,EAChB,UAAkB;IAElB,IAAI,UAAkB,CAAC;IACvB,IAAI,CAAC;QACH,UAAU,GAAG,MAAM,iBAAiB,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IACxD,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,QAAQ,CAAC,CAAC;QAC7C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,yEAAyE;YACzE,uEAAuE;YACvE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,wBAAwB,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;QACjE,CAAC;QACD,UAAU,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC,EAAE,CAAC;IAC3B,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IACtD,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,CAAC;QACtC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,wBAAwB,EAAE,CAAC,EAAE,CAAC;IACvD,CAAC;IACD,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAE1D,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC9C,2EAA2E;IAC3E,sEAAsE;IACtE,0EAA0E;IAC1E,0CAA0C;IAC1C,MAAM,EACJ,KAAK,EAAE,eAAe,EACtB,OAAO,EAAE,iBAAiB,EAC1B,WAAW,EAAE,qBAAqB,GACnC,GAAG,MAAM,mBAAmB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC9C,uEAAuE;IACvE,qEAAqE;IACrE,yEAAyE;IACzE,uDAAuD;IACvD,MAAM,YAAY,GAAG,MAAM,GAAG,CAAC,iBAAiB,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC;IACtG,MAAM,gBAAgB,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;IAEjD,wEAAwE;IACxE,0EAA0E;IAC1E,kEAAkE;IAClE,wEAAwE;IACxE,4EAA4E;IAC5E,wDAAwD;IACxD,MAAM,QAAQ,GAAG,mBAAmB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACvD,MAAM,SAAS,GACb,QAAQ,CAAC,KAAK,KAAK,MAAM;QACvB,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,QAAQ,CAAC,KAAK,KAAK,MAAM;YACzB,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,CAAC,MAAM,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,KAAM,CAAC,WAAY,CAAC,CAAC;gBACrE,CAAC,CAAC,MAAM;gBACR,CAAC,CAAC,OAAO,CAAC;IAClB,IAAI,0BAA0B,GAAG,IAAI,CAAC;IACtC,IAAI,CAAC;QACH,MAAM,4BAA4B,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IAChE,CAAC;IAAC,MAAM,CAAC;QACP,0BAA0B,GAAG,KAAK,CAAC;IACrC,CAAC;IAED,IAAI,WAAW,GAAmC,MAAM,CAAC;IACzD,IAAI,aAAa,GAAqC,MAAM,CAAC;IAC7D,IAAI,cAAc,GAAa,EAAE,CAAC;IAElC,4EAA4E;IAC5E,2EAA2E;IAC3E,0EAA0E;IAC1E,wEAAwE;IACxE,6CAA6C;IAC7C,EAAE;IACF,yEAAyE;IACzE,0EAA0E;IAC1E,2EAA2E;IAC3E,uEAAuE;IACvE,IAAI,gBAAgB,EAAE,CAAC;QACrB,MAAM,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,MAAM,GAAG,YAAY,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;YACjD,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;YAC7F,cAAc,GAAG,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IAED,yEAAyE;IACzE,wEAAwE;IACxE,wEAAwE;IACxE,4EAA4E;IAC5E,yEAAyE;IACzE,MAAM,aAAa,GAAG,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC/D,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,IAAI;QACnC,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,yBAAyB,GAAG,OAAO,CACvC,aAAa,EAAE,KAAK,KAAK,QAAQ;QACjC,aAAa,CAAC,OAAO,KAAK,iBAAiB;QAC3C,UAAU,CAAC,QAAQ,CAAC,uBAAuB,UAAU,KAAK,CAAC,CAC5D,CAAC;IAEF,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC;QAE9F,WAAW,GAAG,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAEnD,IAAI,QAAQ,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC9B,aAAa,GAAG,cAAc,CAC5B,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,EAC1F,UAAU,EACV,OAAO,EACP,UAAU,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,SAAS,CACrC,CAAC;QACJ,CAAC;IACH,CAAC;IAED,2EAA2E;IAC3E,0EAA0E;IAC1E,iDAAiD;IACjD,MAAM,OAAO,GAAG,cAAc,CAAC,QAAQ,EAAE,UAAU,CAAC,IAAI,cAAc,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAEzF,uEAAuE;IACvE,sEAAsE;IACtE,sEAAsE;IACtE,0EAA0E;IAC1E,MAAM,OAAO,GACX,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,KAAK,MAAM,IAAI,QAAQ,CAAC,KAAK,KAAK,QAAQ,CAAC;QACpE,CAAC,CAAC,MAAM,aAAa,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC;QACxD,CAAC,CAAC,EAAE,OAAO,EAAE,MAAe,EAAE,CAAC;IAEnC,OAAO;QACL,MAAM,EAAE;YACN,EAAE,EAAE,UAAU;YACd,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,gBAAgB;YAChB,eAAe;YACf,iBAAiB;YACjB,qBAAqB;YACrB,uEAAuE;YACvE,oEAAoE;YACpE,wDAAwD;YACxD,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,eAAe;YAC5C,SAAS;YACT,0BAA0B;YAC1B,WAAW;YACX,yBAAyB;YACzB,aAAa;YACb,OAAO;YACP,cAAc;YACd,GAAG,OAAO;SACX;QACD,wBAAwB,EAAE,CAAC;KAC5B,CAAC;AACJ,CAAC;AAYD,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,OAAoB;IAChD,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAErD,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,UAAU,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC;IACtE,CAAC;IACD,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IAEpC,MAAM,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;IACtC,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IACjE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IACjE,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IAExC,MAAM,iBAAiB,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,KAAK,OAAO,CAAC,CAAC,MAAM,CAAC;IACzF,MAAM,kBAAkB,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,MAAM,CAAC;IAC3F,yEAAyE;IACzE,uEAAuE;IACvE,0EAA0E;IAC1E,2EAA2E;IAC3E,mCAAmC;IACnC,MAAM,qBAAqB,GACzB,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,UAAU,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC;IAEtF,MAAM,EAAE,MAAM,EAAE,wBAAwB,EAAE,GAAG,MAAM,YAAY,CAC7D,OAAO,CAAC,GAAG,EACX,QAAQ,EACR,MAAM,CAAC,UAAU,CAClB,CAAC;IAEF,IAAI,SAAS,GAA2B,IAAI,CAAC;IAC7C,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,MAAM,qBAAqB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC3D,SAAS,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAE,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3F,CAAC;IAED,oEAAoE;IACpE,2EAA2E;IAC3E,yEAAyE;IACzE,yEAAyE;IACzE,yEAAyE;IACzE,2EAA2E;IAC3E,MAAM,kBAAkB,GACtB,MAAM,CAAC,IAAI,KAAK,QAAQ;QACtB,CAAC,CAAC,qBAAqB,CAAC,MAAM,yBAAyB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC1E,CAAC,CAAC,IAAI,CAAC;IAEX,uEAAuE;IACvE,4EAA4E;IAC5E,qEAAqE;IACrE,0EAA0E;IAC1E,4EAA4E;IAC5E,wEAAwE;IACxE,4EAA4E;IAC5E,MAAM,QAAQ,GAAG,UAAU,MAAM,CAAC,UAAU,EAAE,CAAC;IAC/C,MAAM,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACtD,CAAC,CAAC,MAAM,GAAG,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC;QAC9D,CAAC,CAAC,CAAC,CAAC;IAEN,0EAA0E;IAC1E,sEAAsE;IACtE,yEAAyE;IACzE,sEAAsE;IACtE,uEAAuE;IACvE,MAAM,oBAAoB,GACxB,MAAM,IAAI,wBAAwB,IAAI,CAAC;QACrC,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,MAAM,yBAAyB,CAAC,QAAQ,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAEhG,4EAA4E;IAC5E,8EAA8E;IAC9E,+EAA+E;IAC/E,MAAM,eAAe,GACnB,MAAM,IAAI,wBAAwB,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAExF,yEAAyE;IACzE,0EAA0E;IAC1E,2EAA2E;IAC3E,yEAAyE;IACzE,0EAA0E;IAC1E,2EAA2E;IAC3E,6CAA6C;IAC7C,MAAM,kBAAkB,GACtB,MAAM,IAAI,wBAAwB,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,uBAAuB,CAAC,QAAQ,CAAC,CAAC;IAE3F,2EAA2E;IAC3E,2EAA2E;IAC3E,0EAA0E;IAC1E,0EAA0E;IAC1E,2EAA2E;IAC3E,MAAM,cAAc,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAEpD,MAAM,KAAK,GAAc;QACvB,aAAa,EAAE,IAAI;QACnB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,SAAS,EAAE,KAAK,CAAC,MAAM;QACvB,iBAAiB;QACjB,kBAAkB;QAClB,oBAAoB,EAAE,aAAa,CAAC,MAAM;QAC1C,kBAAkB;QAClB,qBAAqB,EAAE,qBAAqB,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,qBAAqB,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI;QACtF,MAAM;QACN,wBAAwB;QACxB,SAAS;QACT,oBAAoB;QACpB,eAAe;QACf,kBAAkB;QAClB,UAAU,EACR,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI;QAChF,cAAc;KACf,CAAC;IACF,uEAAuE;IACvE,0EAA0E;IAC1E,2EAA2E;IAC3E,8CAA8C;IAC9C,OAAO,kBAAkB,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,IAAI,IAAI,QAAQ,CAAC,CAAC;AACzE,CAAC;AAED;;;;;;GAMG;AACH,SAAS,kBAAkB,CAAC,MAAkB,EAAE,MAAc;IAC5D,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IACxC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,EAAE,MAAM,EAAE,CAAC;IACpB,CAAC;IACD,OAAO;QACL,MAAM,EAAE;YACN,GAAG,MAAM;YACT,oEAAoE;YACpE,wEAAwE;YACxE,sEAAsE;YACtE,iBAAiB;YACjB,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,kBAAkB,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC;YAClF,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,kBAAkB,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC7E;QACD,QAAQ,EAAE,gBAAgB,CAAC,QAAQ,CAAC;KACrC,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,KAAK,UAAU,yBAAyB,CACtC,QAAgB,EAChB,UAAkB,EAClB,oBAAwC;IAExC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IACtF,MAAM,UAAU,GAAG,eAAe,CAAC,QAAQ,CAAC;SACzC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;SACzF,IAAI,EAAE,CAAC;IACV,KAAK,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC;QAC5B,IAAI,QAAQ,CAAC;QACb,IAAI,CAAC;YACH,QAAQ,GAAG,YAAY,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC;QAC7C,CAAC;QAAC,MAAM,CAAC;YACP,yEAAyE;YACzE,sEAAsE;YACtE,uEAAuE;YACvE,uCAAuC;YACvC,SAAS;QACX,CAAC;QACD,wEAAwE;QACxE,0EAA0E;QAC1E,mEAAmE;QACnE,IAAI,QAAQ,CAAC,cAAc,EAAE,CAAC;YAC5B,SAAS;QACX,CAAC;QACD,wEAAwE;QACxE,sEAAsE;QACtE,8DAA8D;QAC9D,gDAAgD;QAChD,IAAI,QAAQ,CAAC,aAAa,EAAE,CAAC;YAC3B,SAAS;QACX,CAAC;QACD,IAAI,gBAAgB,CAAC,QAAQ,CAAC,SAAS,EAAE,oBAAoB,CAAC,EAAE,CAAC;YAC/D,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC;QAC5B,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,oBAAoB,CAAC,QAAgB;IAClD,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IACtF,MAAM,UAAU,GAAG,eAAe,CAAC,QAAQ,CAAC;SACzC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;SAChD,IAAI,EAAE,CAAC;IACV,KAAK,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC;QAC5B,IAAI,QAAQ,CAAC;QACb,IAAI,CAAC;YACH,QAAQ,GAAG,YAAY,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC;QAC7C,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;QACD,IAAI,QAAQ,CAAC,cAAc,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;YACjF,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,CAAC,cAAc,EAAE,CAAC;QAC9D,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;GAQG;AACH,KAAK,UAAU,uBAAuB,CAAC,QAAgB;IACrD,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC7C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,KAAK,GAAG,uCAAuC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;IACtE,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;IAC1B,IAAI,CAAC;QACH,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACjC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC,CAAC,iCAAiC;IAChD,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAE,EAAE,QAAQ,EAAE,CAAC;AAChD,CAAC;AAED;;;;;;GAMG;AACH,SAAS,cAAc,CAAC,CAAS,EAAE,CAAS;IAC1C,MAAM,OAAO,GAAG,uBAAuB,CAAC;IACxC,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAClC,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAClC,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;QACf,OAAO,KAAK,CAAC,CAAC,+CAA+C;IAC/D,CAAC;IACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACd,OAAO,EAAE,GAAG,EAAE,CAAC;QACjB,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,kBAAkB,CAAC,QAAgB;IAC1C,MAAM,cAAc,GAAG,uBAAuB,CAAC,QAAQ,CAAC,CAAC;IACzD,IAAI,cAAc,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;QAClC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,EAAE,UAAU,EAAE,GAAG,cAAc,CAAC;IACtC,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;IACpC,IAAI,UAAU,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;QAC1C,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC;IACrC,CAAC;IACD,IACE,UAAU,CAAC,IAAI,KAAK,WAAW;QAC/B,UAAU,CAAC,aAAa,KAAK,SAAS;QACtC,cAAc,CAAC,UAAU,CAAC,aAAa,EAAE,OAAO,CAAC,EACjD,CAAC;QACD,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC;IACrC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,UAAU,CAAC,SAA6B;IAC/C,OAAO;QACL,aAAa,EAAE,IAAI;QACnB,IAAI,EAAE,IAAI;QACV,SAAS,EAAE,CAAC;QACZ,iBAAiB,EAAE,CAAC;QACpB,kBAAkB,EAAE,CAAC;QACrB,oBAAoB,EAAE,CAAC;QACvB,kBAAkB,EAAE,IAAI;QACxB,qBAAqB,EAAE,IAAI;QAC3B,MAAM,EAAE,IAAI;QACZ,wBAAwB,EAAE,CAAC;QAC3B,SAAS,EAAE,IAAI;QACf,oBAAoB,EAAE,IAAI;QAC1B,eAAe,EAAE,IAAI;QACrB,kBAAkB,EAAE,IAAI;QACxB,UAAU,EAAE,IAAI;QAChB,cAAc,EAAE,IAAI;QACpB,GAAG,SAAS;KACb,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,MAAkB;IAChD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAC1B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IACrC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IAChC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,wEAAwE;QACxE,qEAAqE;QACrE,8DAA8D;QAC9D,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,uBAAuB,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,WAAW,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC1G,CAAC;IACD,6EAA6E;IAC7E,2EAA2E;IAC3E,yEAAyE;IACzE,2EAA2E;IAC3E,sBAAsB;IACtB,IAAI,MAAM,CAAC,QAAQ,IAAI,CAAC,qBAAqB,EAAE,EAAE,CAAC;QAChD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,WAAW,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IACpD,CAAC;AACH,CAAC"}
@@ -10,7 +10,11 @@
10
10
  * before ever touching GitHub's PR API — a failed push must never be
11
11
  * followed by a PR query, reuse, or creation.
12
12
  */
13
+ import fs from 'node:fs';
14
+ import os from 'node:os';
15
+ import path from 'node:path';
13
16
  import { provenPatchId } from '../assurance/passport.js';
17
+ import { laneRelative } from '../assurance/proofinputs.js';
14
18
  import { resolveChangeHome, resolveContractId } from '../change.js';
15
19
  import { loadConfig } from '../config.js';
16
20
  import { UserError } from '../errors.js';
@@ -19,12 +23,12 @@ import * as git from '../git.js';
19
23
  import { ghAuthenticated, ghInstalled, ghPrChecks, ghPrView, githubSlug } from '../gh.js';
20
24
  import { classifyGateCheck } from './merge.js';
21
25
  import { execa } from 'execa';
22
- import { contractExists, passportExists, readContract, writeContract, writePassport, } from '../records/store.js';
23
- import { PassportSchema } from '../records/types.js';
26
+ import { contractExists, contractPath, parseMarkdownRecord, passportExists, readContract, writeContract, writePassport, } from '../records/store.js';
27
+ import { ContractSchema, PassportSchema } from '../records/types.js';
24
28
  import { renderContractBody, renderPassportBody } from '../render.js';
25
29
  import { prismaticaVersion } from '../runtime.js';
26
30
  import { shellQuote } from '../shellquote.js';
27
- import { stageIndex } from '../state.js';
31
+ import { contractFieldsEqualExceptStage, stageIndex } from '../state.js';
28
32
  import { clampTitle } from '../title.js';
29
33
  import * as ui from '../ui.js';
30
34
  /**
@@ -46,6 +50,70 @@ function placeholderReason(value, label) {
46
50
  }
47
51
  return null;
48
52
  }
53
+ /**
54
+ * Recover from an interruption between step 2's contract write and its own
55
+ * exact-path commit (see `runShip`): the record is on disk, uncommitted, so
56
+ * the clean-lane assertion below would refuse forever and the transaction
57
+ * could never be resumed — exactly the fact-derived recovery ac-3 requires.
58
+ *
59
+ * This is NOT a relaxation of the clean-lane rule. It tolerates one shape and
60
+ * one only: the sole dirty path is this contract's own record, its committed
61
+ * HEAD version parses, and the working-tree file is byte-for-byte identical
62
+ * to what `writeContract` itself would produce for the one valid forward
63
+ * transition (every field equal except `stage`, advanced from something
64
+ * strictly earlier to exactly `ship`). The comparison is raw bytes against
65
+ * `writeContract`'s own output — rendered into a scratch directory through
66
+ * that exact writer, never a parsed-and-re-rendered approximation — so
67
+ * reordered or reformatted frontmatter, YAML comments, stray whitespace, a
68
+ * second field change, any other stage, a backwards move, or any additional
69
+ * dirty path all still fail closed.
70
+ *
71
+ * Returns the lane-relative contract path to commit, or `null` when this is
72
+ * not that shape.
73
+ */
74
+ async function pendingShipStageRecord(home, contract, dirty) {
75
+ const contractRel = laneRelative(home, contractPath(home, contract.id));
76
+ if (dirty.length !== 1 || dirty[0] !== contractRel) {
77
+ return null;
78
+ }
79
+ if (contract.stage !== 'ship') {
80
+ return null;
81
+ }
82
+ const contractFile = contractPath(home, contract.id);
83
+ // A symlinked record is never one Prismatica itself wrote — auto-committing
84
+ // its bytes would commit whatever the link target holds, not proven bytes.
85
+ if (fs.lstatSync(contractFile).isSymbolicLink()) {
86
+ return null;
87
+ }
88
+ const committedText = await git.showFile(home, 'HEAD', contractRel);
89
+ if (committedText === null) {
90
+ return null; // no committed version to compare against — never assume
91
+ }
92
+ let committed;
93
+ try {
94
+ committed = parseMarkdownRecord(committedText, ContractSchema).data;
95
+ }
96
+ catch {
97
+ return null; // unreadable — fail closed
98
+ }
99
+ if (stageIndex(committed.stage) >= stageIndex('ship')) {
100
+ return null; // not a forward move into ship
101
+ }
102
+ if (!contractFieldsEqualExceptStage(contract, committed)) {
103
+ return null; // something other than the stage moved too
104
+ }
105
+ const expected = { ...committed, stage: 'ship' };
106
+ const scratchRoot = fs.mkdtempSync(path.join(os.tmpdir(), 'prismatica-ship-recover-'));
107
+ try {
108
+ writeContract(scratchRoot, expected, renderContractBody(expected));
109
+ const expectedBytes = fs.readFileSync(contractPath(scratchRoot, expected.id), 'utf8');
110
+ const actualBytes = fs.readFileSync(contractFile, 'utf8');
111
+ return actualBytes === expectedBytes ? contractRel : null;
112
+ }
113
+ finally {
114
+ fs.rmSync(scratchRoot, { recursive: true, force: true });
115
+ }
116
+ }
49
117
  /** Fail closed unless the lane is exactly on its contract's branch with nothing uncommitted. */
50
118
  async function requireExactCleanLane(home, branch, title) {
51
119
  const current = await git.currentBranch(home);
@@ -163,27 +231,78 @@ export async function runShip(options) {
163
231
  return { gate, shipped: false };
164
232
  }
165
233
  // Phase 1 (open the PR) pushes; phase 2 (--verify, post-merge) never pushes.
234
+ //
235
+ // The final-head invariant: a successful ORDINARY ship returns only once
236
+ // the PR's own reported head equals the exact commit that carries the
237
+ // truthful `stage: ship` record — never the pre-record commit ship itself
238
+ // just pushed. Splitting this into three sub-steps is what makes every
239
+ // interruption point resumable from durable state alone, never a stored
240
+ // step counter:
241
+ // 1. establish the PR at the clean, already-proven head (push + open/
242
+ // reuse) — nothing here claims success yet;
243
+ // 2. write and exact-path commit the ship-stage mutation, idempotently —
244
+ // a rerun whose contract already reads `ship` (or later) skips this,
245
+ // because the mutation already happened;
246
+ // 3. push that (possibly identical, on a rerun) final head and confirm
247
+ // the PR reflects it before ever returning `shipped: true`.
248
+ // Step 0 (`pendingShipStageRecord`) precedes all three and covers the one
249
+ // gap between step 2's write and its own commit: an interruption there
250
+ // leaves Ship's own record uncommitted, which the clean-lane assertion
251
+ // would otherwise refuse forever.
252
+ // `options.push === false` (tests only) skips steps 1 and 3 — the network —
253
+ // but still performs step 2, so the local record-write half of this
254
+ // invariant is exercised without any gh/origin machinery.
166
255
  let prUrl = options.prUrl;
167
- if (!options.verify && options.push !== false) {
256
+ if (!options.verify) {
168
257
  // Legacy titles are unbounded — `contract.title` is never re-tightened —
169
258
  // so both the dirty-lane recovery advice and the PR title clamp through
170
259
  // the one canonical `clampTitle`, well inside GitHub's own 256-char limit.
171
260
  const title = clampTitle(contract.title);
172
- await requireExactCleanLane(home, contract.branch, title);
173
- const headSha = await git.revParse(home, 'HEAD');
174
- await pushExactSha(home, contract.branch, headSha);
175
- prUrl = await openOrRefreshPr(home, contract.branch, title, `Closes ${contract.issue}\n\nPrismatica contract: ${contract.id}`);
176
- }
177
- // Only the non-verify (open/refresh PR) phase ever records "ship" — a
178
- // `--verify` run must never write ANY stage advance before its own smoke
179
- // journey actually succeeds (see the write near the bottom of this
180
- // function, guarded the same way): a failed verify must leave the
181
- // record exactly as it found it, never a stage bump for work that hasn't
182
- // proven itself yet.
183
- if (!options.verify) {
261
+ // Step 0 — resume past an interrupted step 2. Purely local work, so it
262
+ // runs on the `push: false` path too, and it runs BEFORE the clean-lane
263
+ // assertion because the pending record is precisely what would otherwise
264
+ // make that assertion refuse forever.
265
+ //
266
+ // On this path the stage commit necessarily precedes PR establishment,
267
+ // which is the transaction resuming, not a different ordering: the
268
+ // "establish PR durable stage commit push confirm" invariant
269
+ // governs one uninterrupted run, and step 1 below still establishes the
270
+ // PR before anything claims success, now at the head that already
271
+ // carries the record. Step 2 then sees `stage: ship` and writes nothing,
272
+ // so there is never a second or different stage mutation after the push,
273
+ // and a second interruption resumes to exactly the same place.
274
+ const pendingDirty = await git.dirtyPaths(home);
275
+ if (pendingDirty.length > 0) {
276
+ const pendingRecord = await pendingShipStageRecord(home, contract, pendingDirty);
277
+ if (pendingRecord) {
278
+ await git.commitPaths(home, [pendingRecord], `ship: record ${contract.id}`);
279
+ }
280
+ }
281
+ if (options.push !== false) {
282
+ await requireExactCleanLane(home, contract.branch, title);
283
+ const provenHead = await git.revParse(home, 'HEAD');
284
+ await pushExactSha(home, contract.branch, provenHead);
285
+ prUrl = await openOrRefreshPr(home, contract.branch, title, `Closes ${contract.issue}\n\nPrismatica contract: ${contract.id}`);
286
+ }
287
+ // Step 2 — the sole ship-stage mutation, exact-path committed. Idempotent:
288
+ // a resumed run whose contract already reads `ship` (this write already
289
+ // landed, whether or not it was pushed yet) skips straight to step 3.
184
290
  if (stageIndex(contract.stage) < stageIndex('ship')) {
185
291
  const advanced = { ...contract, stage: 'ship' };
186
292
  writeContract(home, advanced, renderContractBody(advanced));
293
+ const contractRel = laneRelative(home, contractPath(home, contract.id));
294
+ await git.commitPaths(home, [contractRel], `ship: record ${contract.id}`);
295
+ }
296
+ if (options.push !== false) {
297
+ const finalHead = await git.revParse(home, 'HEAD');
298
+ await pushExactSha(home, contract.branch, finalHead);
299
+ const finalView = await ghPrView(home, contract.branch);
300
+ if (!finalView || finalView.headRefOid !== finalHead) {
301
+ throw new UserError(`The PR for "${contract.id}" does not yet reflect the final pushed head (${finalHead}) — a successful ship only returns once they match.`, {
302
+ command: `prismatica ship ${contract.id}`,
303
+ why: 'rerunning ship is safe: it re-derives progress from Git and GitHub facts and never duplicates the commit or the PR',
304
+ });
305
+ }
187
306
  }
188
307
  return { gate, shipped: true, prUrl };
189
308
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ship.js","sourceRoot":"","sources":["../../src/commands/ship.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ship.js","sourceRoot":"","sources":["../../src/commands/ship.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,YAAY,EAAuB,MAAM,YAAY,CAAC;AAC/D,OAAO,KAAK,GAAG,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC1F,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAC9B,OAAO,EACL,cAAc,EACd,YAAY,EACZ,mBAAmB,EACnB,cAAc,EACd,YAAY,EACZ,aAAa,EACb,aAAa,GACd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,cAAc,EAAgC,MAAM,qBAAqB,CAAC;AACnG,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,8BAA8B,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,EAAE,MAAM,UAAU,CAAC;AAE/B;;;;;;;;GAQG;AACH,SAAS,iBAAiB,CAAC,KAAyB,EAAE,KAAa;IACjE,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QAC/C,OAAO,MAAM,KAAK,QAAQ,CAAC;IAC7B,CAAC;IACD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3D,OAAO,IAAI,KAAK,0CAA0C,KAAK,EAAE,CAAC;IACpE,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAwCD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,KAAK,UAAU,sBAAsB,CACnC,IAAY,EACZ,QAAkB,EAClB,KAAe;IAEf,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IACxE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,WAAW,EAAE,CAAC;QACnD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,QAAQ,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,YAAY,GAAG,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;IACrD,4EAA4E;IAC5E,2EAA2E;IAC3E,IAAI,EAAE,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC;QAChD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,aAAa,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IACpE,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC,CAAC,yDAAyD;IACxE,CAAC;IACD,IAAI,SAAmB,CAAC;IACxB,IAAI,CAAC;QACH,SAAS,GAAG,mBAAmB,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC,IAAI,CAAC;IACtE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC,CAAC,2BAA2B;IAC1C,CAAC;IACD,IAAI,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACtD,OAAO,IAAI,CAAC,CAAC,+BAA+B;IAC9C,CAAC;IACD,IAAI,CAAC,8BAA8B,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,CAAC;QACzD,OAAO,IAAI,CAAC,CAAC,2CAA2C;IAC1D,CAAC;IAED,MAAM,QAAQ,GAAa,EAAE,GAAG,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAC3D,MAAM,WAAW,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,0BAA0B,CAAC,CAAC,CAAC;IACvF,IAAI,CAAC;QACH,aAAa,CAAC,WAAW,EAAE,QAAQ,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC;QACnE,MAAM,aAAa,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,CAAC,WAAW,EAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;QACtF,MAAM,WAAW,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QAC1D,OAAO,WAAW,KAAK,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;IAC5D,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3D,CAAC;AACH,CAAC;AAED,gGAAgG;AAChG,KAAK,UAAU,qBAAqB,CAAC,IAAY,EAAE,MAAc,EAAE,KAAa;IAC9E,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAC9C,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QACvB,MAAM,IAAI,SAAS,CACjB,oBAAoB,OAAO,IAAI,YAAY,iCAAiC,MAAM,IAAI,EACtF;YACE,OAAO,EAAE,UAAU,IAAI,WAAW,MAAM,EAAE;YAC1C,GAAG,EAAE,sDAAsD;SAC5D,CACF,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACzC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,SAAS,CACjB,qCAAqC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,sGAAsG,EACvM;YACE,OAAO,EAAE,+BAA+B,UAAU,CAAC,KAAK,CAAC,EAAE;YAC3D,GAAG,EAAE,mGAAmG;SACzG,CACF,CAAC;IACJ,CAAC;AACH,CAAC;AAED,6HAA6H;AAC7H,KAAK,UAAU,YAAY,CAAC,IAAY,EAAE,MAAc,EAAE,OAAe;IACvE,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,SAAS,CAAC,8CAA8C,EAAE;YAClE,OAAO,EAAE,4CAA4C;YACrD,GAAG,EAAE,sCAAsC;SAC5C,CAAC,CAAC;IACL,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,eAAe,MAAM,EAAE,CAAC,EAAE;QACvF,GAAG,EAAE,IAAI;QACT,MAAM,EAAE,KAAK;KACd,CAAC,CAAC;IACH,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,MAAM,IAAI,SAAS,CAAC,oBAAoB,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE;YACjF,OAAO,EAAE,UAAU,IAAI,gBAAgB,OAAO,eAAe,MAAM,EAAE;YACrE,GAAG,EAAE,iEAAiE;SACvE,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,0GAA0G;AAC1G,KAAK,UAAU,eAAe,CAC5B,IAAY,EACZ,MAAc,EACd,KAAa,EACb,IAAY;IAEZ,IAAI,CAAC,CAAC,MAAM,WAAW,EAAE,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,SAAS,CAAC,mEAAmE,EAAE;YACvF,OAAO,EAAE,kCAAkC;YAC3C,GAAG,EAAE,oCAAoC;SAC1C,CAAC,CAAC;IACL,CAAC;IACD,IAAI,CAAC,CAAC,MAAM,eAAe,EAAE,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,SAAS,CAAC,gCAAgC,EAAE;YACpD,OAAO,EAAE,eAAe;YACxB,GAAG,EAAE,+CAA+C;SACrD,CAAC,CAAC;IACL,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC9C,IAAI,QAAQ,IAAI,QAAQ,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;QAC1C,OAAO,QAAQ,CAAC,GAAG,CAAC;IACtB,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,KAAK,CACzB,IAAI,EACJ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,EAC9E,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAC7B,CAAC;IACF,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,IAAI,SAAS,CAAC,6BAA6B,CAAC,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAChG,CAAC;IACD,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;AAC/B,CAAC;AAED,8EAA8E;AAC9E,KAAK,UAAU,WAAW,CAAC,IAAY,EAAE,MAAc;IACrD,IAAI,CAAC,CAAC,MAAM,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,eAAe,EAAE,CAAC,EAAE,CAAC;QACzD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC1C,OAAO,IAAI,EAAE,GAAG,CAAC;AACnB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,OAAoB;IAChD,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IACpC,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAC/F,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IAElE,2EAA2E;IAC3E,yEAAyE;IACzE,wEAAwE;IACxE,qEAAqE;IACrE,0EAA0E;IAC1E,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,IAAI,cAAc,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;IAE1F,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,SAAS,CAAC,gBAAgB,UAAU,YAAY,CAAC,CAAC;IAC9D,CAAC;IACD,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAE1D,4EAA4E;IAC5E,0EAA0E;IAC1E,4EAA4E;IAC5E,2EAA2E;IAC3E,8DAA8D;IAC9D,IAAI,OAAO,CAAC,MAAM,IAAI,QAAQ,CAAC,cAAc,EAAE,CAAC;QAC9C,MAAM,IAAI,SAAS,CACjB,IAAI,QAAQ,CAAC,EAAE,sCAAsC,QAAQ,CAAC,cAAc,iDAAiD,EAC7H;YACE,OAAO,EAAE,4BAA4B;YACrC,GAAG,EAAE,4GAA4G;SAClH,CACF,CAAC;IACJ,CAAC;IAED,6EAA6E;IAC7E,EAAE;IACF,2EAA2E;IAC3E,4EAA4E;IAC5E,6EAA6E;IAC7E,yEAAyE;IACzE,2EAA2E;IAC3E,4EAA4E;IAC5E,mEAAmE;IACnE,4EAA4E;IAC5E,4BAA4B;IAC5B,EAAE;IACF,wEAAwE;IACxE,2EAA2E;IAC3E,qEAAqE;IACrE,uEAAuE;IACvE,0EAA0E;IAC1E,gEAAgE;IAChE,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,YAAY,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;IACtF,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACvB,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAClC,CAAC;IAED,6EAA6E;IAC7E,EAAE;IACF,yEAAyE;IACzE,sEAAsE;IACtE,0EAA0E;IAC1E,uEAAuE;IACvE,wEAAwE;IACxE,gBAAgB;IAChB,wEAAwE;IACxE,iDAAiD;IACjD,2EAA2E;IAC3E,0EAA0E;IAC1E,8CAA8C;IAC9C,yEAAyE;IACzE,iEAAiE;IACjE,0EAA0E;IAC1E,uEAAuE;IACvE,uEAAuE;IACvE,kCAAkC;IAClC,4EAA4E;IAC5E,oEAAoE;IACpE,0DAA0D;IAC1D,IAAI,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAC1B,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACpB,yEAAyE;QACzE,wEAAwE;QACxE,2EAA2E;QAC3E,MAAM,KAAK,GAAG,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAEzC,uEAAuE;QACvE,wEAAwE;QACxE,yEAAyE;QACzE,sCAAsC;QACtC,EAAE;QACF,uEAAuE;QACvE,mEAAmE;QACnE,mEAAmE;QACnE,wEAAwE;QACxE,kEAAkE;QAClE,yEAAyE;QACzE,yEAAyE;QACzE,+DAA+D;QAC/D,MAAM,YAAY,GAAG,MAAM,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,aAAa,GAAG,MAAM,sBAAsB,CAAC,IAAI,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;YACjF,IAAI,aAAa,EAAE,CAAC;gBAClB,MAAM,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,aAAa,CAAC,EAAE,gBAAgB,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;YAC9E,CAAC;QACH,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YAC3B,MAAM,qBAAqB,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAC1D,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACpD,MAAM,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YACtD,KAAK,GAAG,MAAM,eAAe,CAC3B,IAAI,EACJ,QAAQ,CAAC,MAAM,EACf,KAAK,EACL,UAAU,QAAQ,CAAC,KAAK,4BAA4B,QAAQ,CAAC,EAAE,EAAE,CAClE,CAAC;QACJ,CAAC;QAED,2EAA2E;QAC3E,wEAAwE;QACxE,sEAAsE;QACtE,IAAI,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACpD,MAAM,QAAQ,GAAG,EAAE,GAAG,QAAQ,EAAE,KAAK,EAAE,MAAe,EAAE,CAAC;YACzD,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC5D,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;YACxE,MAAM,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC,EAAE,gBAAgB,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;QAC5E,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YAC3B,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACnD,MAAM,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YACrD,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;YACxD,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;gBACrD,MAAM,IAAI,SAAS,CACjB,eAAe,QAAQ,CAAC,EAAE,iDAAiD,SAAS,qDAAqD,EACzI;oBACE,OAAO,EAAE,mBAAmB,QAAQ,CAAC,EAAE,EAAE;oBACzC,GAAG,EAAE,oHAAoH;iBAC1H,CACF,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACxC,CAAC;IAED,gFAAgF;IAChF,IAAI,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,SAAS,CAAC,kCAAkC,QAAQ,CAAC,EAAE,+BAA+B,EAAE;YAChG,OAAO,EAAE,OAAO,IAAI,0BAA0B,QAAQ,CAAC,EAAE,KAAK;YAC9D,GAAG,EAAE,2FAA2F;SACjG,CAAC,CAAC;IACL,CAAC;IACD,KAAK,KAAK,MAAM,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IACnD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,SAAS,CAAC,+CAA+C,EAAE;YACnE,OAAO,EAAE,4CAA4C;YACrD,GAAG,EAAE,uDAAuD;SAC7D,CAAC,CAAC;IACL,CAAC;IACD,0EAA0E;IAC1E,0EAA0E;IAC1E,uEAAuE;IACvE,IAAI,CAAC,CAAC,MAAM,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,eAAe,EAAE,CAAC,EAAE,CAAC;QACzD,MAAM,IAAI,SAAS,CACjB,gCAAgC,KAAK,6DAA6D,EAClG,EAAE,OAAO,EAAE,eAAe,EAAE,GAAG,EAAE,oEAAoE,EAAE,CACxG,CAAC;IACJ,CAAC;IACD,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC/C,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QACjD,MAAM,IAAI,SAAS,CAAC,GAAG,KAAK,2BAA2B,EAAE;YACvD,OAAO,EAAE,cAAc,KAAK,EAAE;YAC9B,GAAG,EAAE,kEAAkE;SACxE,CAAC,CAAC;IACL,CAAC;IACD,IAAI,UAAU,CAAC,WAAW,KAAK,MAAM,CAAC,UAAU,EAAE,CAAC;QACjD,MAAM,IAAI,SAAS,CACjB,GAAG,KAAK,aAAa,UAAU,CAAC,WAAW,sCAAsC,MAAM,CAAC,UAAU,IAAI,CACvG,CAAC;IACJ,CAAC;IACD,IAAI,UAAU,CAAC,WAAW,KAAK,QAAQ,CAAC,MAAM,EAAE,CAAC;QAC/C,MAAM,IAAI,SAAS,CACjB,GAAG,KAAK,oBAAoB,UAAU,CAAC,WAAW,kDAAkD,QAAQ,CAAC,MAAM,KAAK,CACzH,CAAC;IACJ,CAAC;IACD,2EAA2E;IAC3E,0EAA0E;IAC1E,4EAA4E;IAC5E,0EAA0E;IAC1E,uEAAuE;IACvE,EAAE;IACF,4EAA4E;IAC5E,6EAA6E;IAC7E,wEAAwE;IACxE,0EAA0E;IAC1E,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;IACzE,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;QACd,MAAM,IAAI,SAAS,CAAC,GAAG,KAAK,CAAC,MAAM,yBAAyB,EAAE;YAC5D,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,GAAG,EAAE,uEAAuE;SAC7E,CAAC,CAAC;IACL,CAAC;IACD,MAAM,aAAa,GAAG,MAAM,GAAG,CAAC,cAAc,CAC5C,IAAI,EACJ,QAAQ,CAAC,QAAQ,CAAC,MAAM,EACxB,GAAG,CAAC,eAAe,EACnB,UAAU,CAAC,UAAU,CACtB,CAAC;IACF,IAAI,aAAa,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;QACpC,MAAM,IAAI,SAAS,CACjB,GAAG,KAAK,mBAAmB,UAAU,CAAC,UAAU,6BAA6B,KAAK,CAAC,MAAM,UAAU,EACnG;YACE,OAAO,EAAE,oBAAoB,QAAQ,CAAC,EAAE,EAAE;YAC1C,GAAG,EAAE,0IAA0I;SAChJ,CACF,CAAC;IACJ,CAAC;IAED,2EAA2E;IAC3E,oEAAoE;IACpE,4EAA4E;IAC5E,4EAA4E;IAC5E,uDAAuD;IACvD,MAAM,YAAY,GAAG,iBAAiB,CAAC,MAAM,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC;IACzF,IAAI,YAAY,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;QACpC,MAAM,IAAI,SAAS,CAAC,GAAG,YAAY,CAAC,MAAM,yBAAyB,EAAE;YACnE,OAAO,EAAE,gBAAgB,UAAU,CAAC,MAAM,EAAE;YAC5C,GAAG,EAAE,sJAAsJ;SAC5J,CAAC,CAAC;IACL,CAAC;IACD,MAAM,QAAQ,GAAqB;QACjC,KAAK;QACL,OAAO,EAAE,UAAU,CAAC,UAAU;QAC9B,WAAW,EAAE,KAAK,CAAC,MAAM;QACzB,SAAS,EAAE,YAAY,CAAC,IAAK;KAC9B,CAAC;IACF,MAAM,aAAa,GAAG,iBAAiB,CAAC,OAAO,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;IAC/E,MAAM,eAAe,GAAG,iBAAiB,CAAC,OAAO,CAAC,aAAa,EAAE,uBAAuB,CAAC,CAAC;IAC1F,IAAI,aAAa,IAAI,eAAe,EAAE,CAAC;QACrC,MAAM,IAAI,SAAS,CACjB,oFACE,aAAa,CAAC,CAAC,CAAC,MAAM,aAAa,EAAE,CAAC,CAAC,CAAC,EAC1C,GAAG,eAAe,CAAC,CAAC,CAAC,MAAM,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EACpD;YACE,OAAO,EACL,uGAAuG;YACzG,GAAG,EAAE,yHAAyH;SAC/H,CACF,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,GAAG,OAAO,CAAC,YAAY,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;IACrE,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,SAAS,CAAC,wDAAwD,EAAE;YAC5E,OAAO,EAAE,mEAAmE;YAC5E,GAAG,EAAE,0DAA0D;SAChE,CAAC,CAAC;IACL,CAAC;IACD,MAAM,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC3D,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAK,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IACxE,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QACpB,MAAM,IAAI,SAAS,CACjB,6EAA6E,CAC9E,CAAC;IACJ,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,MAAM,QAAQ,GAAa,cAAc,CAAC,KAAK,CAAC;QAC9C,EAAE,EAAE,QAAQ,CAAC,EAAE;QACf,UAAU,EAAE,QAAQ,CAAC,EAAE;QACvB,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,SAAS,EAAE,GAAG;QACd,EAAE,EAAE,KAAK;QACT,MAAM,EAAE;YACN,MAAM,EAAE,OAAO,CAAC,YAAY,IAAI,MAAM,CAAC,GAAG,CAAC,YAAY;YACvD,MAAM,EAAE,OAAO,CAAC,YAAY;SAC7B;QACD,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE;QAC1C,QAAQ,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,aAAa,EAAE,QAAQ,EAAE,GAAG,EAAE;QACzD,yEAAyE;QACzE,wEAAwE;QACxE,wEAAwE;QACxE,sBAAsB;QACtB,iBAAiB,EAAE,iBAAiB,EAAE;KACvC,CAAC,CAAC;IACH,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE5D,wEAAwE;IACxE,sEAAsE;IACtE,sEAAsE;IACtE,yEAAyE;IACzE,uEAAuE;IACvE,kEAAkE;IAClE,2DAA2D;IAC3D,IAAI,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtD,MAAM,QAAQ,GAAG,EAAE,GAAG,QAAQ,EAAE,KAAK,EAAE,QAAiB,EAAE,CAAC;QAC3D,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,MAAkB;IAChD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC,CAAC;QACtE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,KAAK,MAAM,WAAW,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;YAClF,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;QACxF,CAAC;QACD,OAAO;IACT,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAChC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IACrD,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,oCAAoC,CAAC,CAAC,CAAC;QACzD,0EAA0E;QAC1E,0EAA0E;QAC1E,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACpB,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;YACvE,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,MAAM,CAAC,QAAQ,CAAC,WAAW,qCAAqC,CAAC,CAAC;YAC9G,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,MAAM,CAAC,QAAQ,CAAC,SAAS,sBAAsB,CAAC,CAAC;QAC/F,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QAC7E,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,WAAW,CAAC,CAAC;IACzF,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CACT,EAAE,CAAC,GAAG,CAAC,2EAA2E,CAAC,CACpF,CAAC;IACJ,CAAC;AACH,CAAC"}