@on-par/factory-core 0.9.7-next.2 → 0.9.7-next.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (127) hide show
  1. package/dist/checkers/index.d.ts +10 -1
  2. package/dist/checkers/index.d.ts.map +1 -1
  3. package/dist/checkers/index.js +14 -22
  4. package/dist/checkers/index.js.map +1 -1
  5. package/dist/checkers/probe.d.ts.map +1 -1
  6. package/dist/checkers/probe.js +5 -3
  7. package/dist/checkers/probe.js.map +1 -1
  8. package/dist/config/repo.js +1 -1
  9. package/dist/config/repo.js.map +1 -1
  10. package/dist/eval/baseline.d.ts.map +1 -1
  11. package/dist/eval/baseline.js +4 -4
  12. package/dist/eval/baseline.js.map +1 -1
  13. package/dist/eval/judge.d.ts.map +1 -1
  14. package/dist/eval/judge.js +9 -7
  15. package/dist/eval/judge.js.map +1 -1
  16. package/dist/eval/regression-report.js +1 -1
  17. package/dist/eval/regression-report.js.map +1 -1
  18. package/dist/harness/catalog.js +1 -1
  19. package/dist/harness/catalog.js.map +1 -1
  20. package/dist/harness/contract.js +4 -4
  21. package/dist/harness/contract.js.map +1 -1
  22. package/dist/hosted/store-contract.js +1 -1
  23. package/dist/hosted/store-contract.js.map +1 -1
  24. package/dist/internal.d.ts +2 -2
  25. package/dist/internal.d.ts.map +1 -1
  26. package/dist/internal.js +1 -0
  27. package/dist/internal.js.map +1 -1
  28. package/dist/kpis/human.d.ts.map +1 -1
  29. package/dist/kpis/human.js +4 -8
  30. package/dist/kpis/human.js.map +1 -1
  31. package/dist/logger/index.d.ts +2 -1
  32. package/dist/logger/index.d.ts.map +1 -1
  33. package/dist/logger/index.js +1 -0
  34. package/dist/logger/index.js.map +1 -1
  35. package/dist/phases/build.d.ts +3 -0
  36. package/dist/phases/build.d.ts.map +1 -1
  37. package/dist/phases/build.js +39 -12
  38. package/dist/phases/build.js.map +1 -1
  39. package/dist/phases/check.d.ts +29 -0
  40. package/dist/phases/check.d.ts.map +1 -1
  41. package/dist/phases/check.js +2 -2
  42. package/dist/phases/check.js.map +1 -1
  43. package/dist/phases/plan-design-retry.d.ts +4 -0
  44. package/dist/phases/plan-design-retry.d.ts.map +1 -1
  45. package/dist/phases/plan-design-retry.js +8 -0
  46. package/dist/phases/plan-design-retry.js.map +1 -1
  47. package/dist/phases/plan.d.ts.map +1 -1
  48. package/dist/phases/plan.js +2 -2
  49. package/dist/phases/plan.js.map +1 -1
  50. package/dist/phases/ship-git.d.ts +52 -0
  51. package/dist/phases/ship-git.d.ts.map +1 -0
  52. package/dist/phases/ship-git.js +104 -0
  53. package/dist/phases/ship-git.js.map +1 -0
  54. package/dist/phases/ship-spec.d.ts +5 -0
  55. package/dist/phases/ship-spec.d.ts.map +1 -0
  56. package/dist/phases/ship-spec.js +26 -0
  57. package/dist/phases/ship-spec.js.map +1 -0
  58. package/dist/phases/ship.d.ts +11 -7
  59. package/dist/phases/ship.d.ts.map +1 -1
  60. package/dist/phases/ship.js +73 -144
  61. package/dist/phases/ship.js.map +1 -1
  62. package/dist/readiness/slice-plan.js +1 -1
  63. package/dist/readiness/slice-plan.js.map +1 -1
  64. package/dist/review/backtest.js +2 -2
  65. package/dist/review/backtest.js.map +1 -1
  66. package/dist/review/containment.js +1 -1
  67. package/dist/review/containment.js.map +1 -1
  68. package/dist/run/ci-rework-loop.d.ts +65 -0
  69. package/dist/run/ci-rework-loop.d.ts.map +1 -0
  70. package/dist/run/ci-rework-loop.js +169 -0
  71. package/dist/run/ci-rework-loop.js.map +1 -0
  72. package/dist/run/ci-rework.d.ts +25 -0
  73. package/dist/run/ci-rework.d.ts.map +1 -0
  74. package/dist/run/ci-rework.js +113 -0
  75. package/dist/run/ci-rework.js.map +1 -0
  76. package/dist/run/ci-suppression-guard.d.ts +11 -0
  77. package/dist/run/ci-suppression-guard.d.ts.map +1 -0
  78. package/dist/run/ci-suppression-guard.js +143 -0
  79. package/dist/run/ci-suppression-guard.js.map +1 -0
  80. package/dist/run/park-comment.d.ts +55 -0
  81. package/dist/run/park-comment.d.ts.map +1 -0
  82. package/dist/run/park-comment.js +157 -0
  83. package/dist/run/park-comment.js.map +1 -0
  84. package/dist/run/phase-snapshot.js +2 -2
  85. package/dist/run/phase-snapshot.js.map +1 -1
  86. package/dist/run/run-issue.d.ts +4 -2
  87. package/dist/run/run-issue.d.ts.map +1 -1
  88. package/dist/run/run-issue.js +31 -37
  89. package/dist/run/run-issue.js.map +1 -1
  90. package/dist/run/ship-park.d.ts +14 -0
  91. package/dist/run/ship-park.d.ts.map +1 -0
  92. package/dist/run/ship-park.js +21 -0
  93. package/dist/run/ship-park.js.map +1 -0
  94. package/dist/sandbox/index.js +1 -1
  95. package/dist/sandbox/index.js.map +1 -1
  96. package/dist/steward/detect.d.ts +5 -2
  97. package/dist/steward/detect.d.ts.map +1 -1
  98. package/dist/steward/detect.js +6 -3
  99. package/dist/steward/detect.js.map +1 -1
  100. package/dist/types/index.d.ts +55 -0
  101. package/dist/types/index.d.ts.map +1 -1
  102. package/dist/utils/ci-evidence.d.ts +21 -0
  103. package/dist/utils/ci-evidence.d.ts.map +1 -0
  104. package/dist/utils/ci-evidence.js +66 -0
  105. package/dist/utils/ci-evidence.js.map +1 -0
  106. package/dist/utils/ci-watch.d.ts +12 -0
  107. package/dist/utils/ci-watch.d.ts.map +1 -1
  108. package/dist/utils/ci-watch.js +1 -1
  109. package/dist/utils/ci-watch.js.map +1 -1
  110. package/dist/utils/command-runner.js +2 -2
  111. package/dist/utils/command-runner.js.map +1 -1
  112. package/dist/utils/index.d.ts +2 -1
  113. package/dist/utils/index.d.ts.map +1 -1
  114. package/dist/utils/index.js +2 -0
  115. package/dist/utils/index.js.map +1 -1
  116. package/dist/utils/worktree-gc.d.ts.map +1 -1
  117. package/dist/utils/worktree-gc.js +5 -5
  118. package/dist/utils/worktree-gc.js.map +1 -1
  119. package/dist/utils/worktree-location.d.ts +2 -2
  120. package/dist/utils/worktree-location.d.ts.map +1 -1
  121. package/dist/utils/worktree-location.js +16 -9
  122. package/dist/utils/worktree-location.js.map +1 -1
  123. package/dist/utils/worktree-name.d.ts +6 -0
  124. package/dist/utils/worktree-name.d.ts.map +1 -1
  125. package/dist/utils/worktree-name.js +16 -1
  126. package/dist/utils/worktree-name.js.map +1 -1
  127. package/package.json +5 -5
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ship-git.d.ts","sourceRoot":"","sources":["../../src/phases/ship-git.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,aAAa,GAAG,CAC1B,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,KACzC,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAEjC,4EAA4E;AAC5E,KAAK,eAAe,GAAG,kBAAkB,GAAG,SAAS,GAAG,SAAS,CAAC;AA8BlE;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAM3F;AAKD,yFAAyF;AACzF,KAAK,eAAe,GAChB;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACxD;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAC3D;IAAE,MAAM,EAAE,YAAY,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEpF;gDACgD;AAChD,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAKhD;AAaD,sGAAsG;AACtG,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,aAAa,EAClB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC;IAAE,MAAM,EAAE,IAAI,CAAC;IAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,YAAY,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAO1F;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAuBrH"}
@@ -0,0 +1,104 @@
1
+ // packages/core/src/phases/ship-git.ts — push-failure and remote-head helpers for SHIP
2
+ import { shellEscape } from '../utils/index.js';
3
+ /** Bound on the failure text copied into one NDJSON event row. */
4
+ const MAX_PUSH_ERROR_DETAIL = 400;
5
+ const NON_FAST_FORWARD_MARKERS = [
6
+ 'non-fast-forward',
7
+ '! [rejected]',
8
+ 'fetch first',
9
+ 'updates were rejected',
10
+ 'stale info',
11
+ ];
12
+ const NETWORK_MARKERS = [
13
+ 'could not resolve host',
14
+ 'failed to connect',
15
+ 'connection timed out',
16
+ 'connection refused',
17
+ 'network is unreachable',
18
+ 'operation timed out',
19
+ 'the remote end hung up unexpectedly',
20
+ ];
21
+ function classifyPushFailure(text) {
22
+ const t = text.toLowerCase();
23
+ if (NON_FAST_FORWARD_MARKERS.some((m) => t.includes(m)))
24
+ return 'non-fast-forward';
25
+ if (NETWORK_MARKERS.some((m) => t.includes(m)))
26
+ return 'network';
27
+ return 'unknown';
28
+ }
29
+ /**
30
+ * The real reason a push failed, from git's own stderr when the runner exposes it
31
+ * (node's promisified `exec` rejection carries `stderr`), else the Error message, else the
32
+ * value's string form. Flattened to one line and bounded so a single event row stays
33
+ * greppable in `.factory/events.ndjson`.
34
+ */
35
+ export function describePushFailure(err) {
36
+ const raw = err?.stderr;
37
+ const stderr = typeof raw === 'string' ? raw : '';
38
+ const text = stderr.trim() || (err instanceof Error ? err.message : String(err));
39
+ const detail = text.replace(/\s+/g, ' ').trim().slice(0, MAX_PUSH_ERROR_DETAIL);
40
+ return { kind: classifyPushFailure(detail), detail: detail || 'no error output' };
41
+ }
42
+ /** Bound on the ls-remote failure text copied into one NDJSON event row (#735). */
43
+ const MAX_REMOTE_HEAD_DETAIL = 200;
44
+ /** Same flatten-and-bound shaping as {@link describePushFailure}, kept separate so that
45
+ * function's asserted output never changes. */
46
+ export function shortDetail(err) {
47
+ const raw = err?.stderr;
48
+ const stderr = typeof raw === 'string' ? raw : '';
49
+ const text = stderr.trim() || (err instanceof Error ? err.message : String(err));
50
+ return text.replace(/\s+/g, ' ').trim().slice(0, MAX_REMOTE_HEAD_DETAIL) || 'no error output';
51
+ }
52
+ /** The SHA on the `refs/heads/<branch>` line of `git ls-remote` output. `--heads origin <branch>`
53
+ * is a suffix pattern, so it can list more than one ref — match the ref name exactly rather than
54
+ * trusting the first line. */
55
+ function parseRemoteHeadSha(stdout, branch) {
56
+ for (const line of stdout.split('\n')) {
57
+ const [sha, ref] = line.trim().split(/\s+/);
58
+ if (ref === `refs/heads/${branch}` && sha)
59
+ return sha;
60
+ }
61
+ return undefined;
62
+ }
63
+ /** origin/<branch>'s current SHA, `null` when the branch is absent, or the failure detail (#1869). */
64
+ export async function readRemoteBranchSha(run, worktree, branch) {
65
+ try {
66
+ const { stdout } = await run(`git ls-remote --heads origin ${shellEscape(branch)}`, { cwd: worktree });
67
+ return { status: 'ok', sha: parseRemoteHeadSha(stdout, branch) ?? null };
68
+ }
69
+ catch (err) {
70
+ return { status: 'unreadable', detail: shortDetail(err) };
71
+ }
72
+ }
73
+ /**
74
+ * A zero-exit push is not proof the remote branch actually carries this run's commits — a
75
+ * concurrent push or an update that silently applied nothing leaves the remote head elsewhere,
76
+ * and a PR opened against it would advertise work that is not there (#735).
77
+ */
78
+ export async function verifyRemoteHead(run, worktree, branch) {
79
+ let localSha;
80
+ try {
81
+ const { stdout } = await run('git rev-parse HEAD', { cwd: worktree });
82
+ localSha = stdout.trim();
83
+ }
84
+ catch (err) {
85
+ return { status: 'unreadable', detail: shortDetail(err) };
86
+ }
87
+ if (!localSha)
88
+ return { status: 'unreadable', detail: 'git rev-parse HEAD produced no SHA' };
89
+ let listing;
90
+ try {
91
+ const { stdout } = await run(`git ls-remote --heads origin ${shellEscape(branch)}`, { cwd: worktree });
92
+ listing = stdout;
93
+ }
94
+ catch (err) {
95
+ return { status: 'unreadable', localSha, detail: shortDetail(err) };
96
+ }
97
+ const remoteSha = parseRemoteHeadSha(listing, branch);
98
+ if (!remoteSha)
99
+ return { status: 'unreadable', localSha, detail: `no refs/heads/${branch} on origin` };
100
+ return remoteSha === localSha
101
+ ? { status: 'match', localSha, remoteSha }
102
+ : { status: 'mismatch', localSha, remoteSha };
103
+ }
104
+ //# sourceMappingURL=ship-git.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ship-git.js","sourceRoot":"","sources":["../../src/phases/ship-git.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /** The frozen spec body for the PR description; undefined when there is no readable spec. */
2
+ export declare function readSpecBody(specPath: string | undefined): Promise<string | undefined>;
3
+ /** The design artifact's Risk / blast radius for the PR body; undefined when there is no readable artifact. */
4
+ export declare function readRisk(specPath: string | undefined): Promise<string | undefined>;
5
+ //# sourceMappingURL=ship-spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ship-spec.d.ts","sourceRoot":"","sources":["../../src/phases/ship-spec.ts"],"names":[],"mappings":"AAKA,6FAA6F;AAC7F,wBAAsB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAO5F;AAED,+GAA+G;AAC/G,wBAAsB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAOxF"}
@@ -0,0 +1,26 @@
1
+ // packages/core/src/phases/ship-spec.ts — spec-derived PR body inputs for the SHIP phase
2
+ import { readDesignArtifact } from '../design/index.js';
3
+ import { readSpec } from '../spec/index.js';
4
+ /** The frozen spec body for the PR description; undefined when there is no readable spec. */
5
+ export async function readSpecBody(specPath) {
6
+ if (!specPath)
7
+ return undefined;
8
+ try {
9
+ return (await readSpec(specPath)).body;
10
+ }
11
+ catch {
12
+ return undefined;
13
+ }
14
+ }
15
+ /** The design artifact's Risk / blast radius for the PR body; undefined when there is no readable artifact. */
16
+ export async function readRisk(specPath) {
17
+ if (!specPath)
18
+ return undefined;
19
+ try {
20
+ return (await readDesignArtifact(specPath))?.riskBlastRadius;
21
+ }
22
+ catch {
23
+ return undefined;
24
+ }
25
+ }
26
+ //# sourceMappingURL=ship-spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ship-spec.js","sourceRoot":"","sources":["../../src/phases/ship-spec.ts"],"names":[],"mappings":"AAAA,yFAAyF;AAEzF,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,6FAA6F;AAC7F,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,QAA4B;IAC7D,IAAI,CAAC,QAAQ;QAAE,OAAO,SAAS,CAAC;IAChC,IAAI,CAAC;QACH,OAAO,CAAC,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;IACzC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,+GAA+G;AAC/G,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,QAA4B;IACzD,IAAI,CAAC,QAAQ;QAAE,OAAO,SAAS,CAAC;IAChC,IAAI,CAAC;QACH,OAAO,CAAC,MAAM,kBAAkB,CAAC,QAAQ,CAAC,CAAC,EAAE,eAAe,CAAC;IAC/D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC"}
@@ -3,15 +3,10 @@ import type { ApprovalGate } from '../approvals/index.js';
3
3
  import { type LifecycleBus } from '../bus/index.js';
4
4
  import type { EventKind } from '../events/kinds.js';
5
5
  import type { ReviewRouting } from '../review/routing.js';
6
- import type { CheckSummary } from '../types/index.js';
6
+ import { type CommandRunner } from './ship-git.js';
7
+ import type { CheckSummary, CiFailureEvidence } from '../types/index.js';
7
8
  import { type InfraRerunOutcome } from '../utils/ci-watch.js';
8
9
  import type { WorkRequest } from '../work/index.js';
9
- type CommandRunner = (command: string, options?: {
10
- cwd?: string;
11
- timeout?: number;
12
- }) => Promise<{
13
- stdout: string;
14
- }>;
15
10
  export interface ShipResult {
16
11
  ok: boolean;
17
12
  prNumber?: number;
@@ -19,9 +14,13 @@ export interface ShipResult {
19
14
  deniedReason?: string;
20
15
  reason?: string;
21
16
  ciOutcome?: InfraRerunOutcome;
17
+ /** Bounded evidence for a CI-watch 'failure' (#2814). */
18
+ ciFailure?: CiFailureEvidence;
22
19
  /** True when the branch's content had already landed on main (e.g. a retry after a
23
20
  * squash merge) — nothing was pushed and no PR was created (#520). */
24
21
  alreadyDelivered?: boolean;
22
+ /** The head SHA watched on a CI rework re-entry (#2816). */
23
+ headSha?: string;
25
24
  }
26
25
  export declare function shipPhase(opts: Parameters<typeof shipPhaseImpl>[0]): Promise<ShipResult>;
27
26
  declare function shipPhaseImpl(opts: {
@@ -65,6 +64,11 @@ declare function shipPhaseImpl(opts: {
65
64
  /** origin/<branch> SHA recorded at worktree creation (#1868). When set, the new-PR push
66
65
  * replaces that stale head under a lease on this SHA, and fails closed if the remote moved (#1869). */
67
66
  recordedRemoteSha?: string;
67
+ /** SHIP re-entry after a CI rework round (#2816): same open PR, plain push, watch the pushed SHA. */
68
+ reentry?: {
69
+ prNumber: number;
70
+ previousHeadSha?: string;
71
+ };
68
72
  }): Promise<ShipResult>;
69
73
  export declare function findOpenPR(octokit: Octokit, owner: string, repo: string, branch: string): Promise<PrLookup>;
70
74
  export declare function findMergedPR(octokit: Octokit, owner: string, repo: string, branch: string): Promise<PrLookup>;
@@ -1 +1 @@
1
- {"version":3,"file":"ship.d.ts","sourceRoot":"","sources":["../../src/phases/ship.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ship.d.ts","sourceRoot":"","sources":["../../src/phases/ship.ts"],"names":[],"mappings":"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"}
@@ -2,10 +2,11 @@
2
2
  import { exec as execCb } from 'node:child_process';
3
3
  import { promisify } from 'node:util';
4
4
  import { withLifecycle } from '../bus/index.js';
5
- import { readDesignArtifact } from '../design/index.js';
6
5
  import { gatherEvidencePack } from '../reports/evidence-pack.js';
7
6
  import { renderPrBody } from '../reports/pr-body.js';
8
- import { readSpec } from '../spec/index.js';
7
+ import { describePushFailure, readRemoteBranchSha, shortDetail, verifyRemoteHead, } from './ship-git.js';
8
+ import { readRisk, readSpecBody } from './ship-spec.js';
9
+ import { collectCiFailureEvidence } from '../utils/ci-evidence.js';
9
10
  import { DEFAULT_CI_DEADLINE_MS, resolveCiNoChecksGraceMs, watchChecksWithInfraRerun, } from '../utils/ci-watch.js';
10
11
  import { shellEscape } from '../utils/index.js';
11
12
  import { GITHUB_ISSUE_SOURCE } from '../work/github-issue.js';
@@ -48,6 +49,50 @@ async function shipPhaseImpl(opts) {
48
49
  return { ok: false };
49
50
  }
50
51
  let prNumber = openLookup.status === 'found' ? openLookup.prNumber : undefined;
52
+ const reentry = opts.reentry;
53
+ let watchRef = branch;
54
+ let headSha;
55
+ if (reentry) {
56
+ if (prNumber !== reentry.prNumber) {
57
+ const reason = `re-entry expected open PR #${reentry.prNumber} for ${branch} but found ${prNumber === undefined ? 'none' : `#${prNumber}`}`;
58
+ log('ship', reason);
59
+ return { ok: false, reason };
60
+ }
61
+ let localSha;
62
+ try {
63
+ localSha = (await run('git rev-parse HEAD', { cwd: worktree })).stdout.trim();
64
+ }
65
+ catch (err) {
66
+ const reason = `could not read local HEAD on re-entry (${shortDetail(err)})`;
67
+ log('ship', reason);
68
+ return { ok: false, prNumber, reason };
69
+ }
70
+ if (localSha && localSha === reentry.previousHeadSha) {
71
+ const reason = `CI rework produced no new commit on ${branch}`;
72
+ log('ship', reason);
73
+ return { ok: false, prNumber, ciOutcome: 'failure', reason, headSha: localSha };
74
+ }
75
+ try {
76
+ await run(`git push origin ${shellEscape(branch)}`, { cwd: worktree });
77
+ }
78
+ catch (err) {
79
+ const { kind, detail } = describePushFailure(err);
80
+ const reason = `re-entry push of ${branch} failed (${kind}): ${detail}`;
81
+ log('ship', reason);
82
+ return { ok: false, prNumber, reason };
83
+ }
84
+ const remoteHead = await verifyRemoteHead(run, worktree, branch);
85
+ if (remoteHead.status !== 'match') {
86
+ const reason = remoteHead.status === 'mismatch'
87
+ ? `remote head ${remoteHead.remoteSha} does not match local HEAD ${remoteHead.localSha} for ${branch} after re-entry push`
88
+ : `could not verify the remote head for ${branch} after re-entry push (${remoteHead.detail})`;
89
+ log('ship', reason);
90
+ return { ok: false, prNumber, reason };
91
+ }
92
+ watchRef = remoteHead.remoteSha;
93
+ headSha = remoteHead.remoteSha;
94
+ log('ship', `re-entry pushed ${branch} @ ${headSha}`);
95
+ }
51
96
  if (!prNumber) {
52
97
  // Recovery decisions must compare against the *current* remote — a stale
53
98
  // remote-tracking ref makes already-delivered work look like recovery work (#520).
@@ -217,22 +262,23 @@ async function shipPhaseImpl(opts) {
217
262
  log('fail', `Could not create or find PR for ${branch}`);
218
263
  return { ok: false };
219
264
  }
220
- try {
221
- const body = gatherEvidencePack({
222
- issue,
223
- checkSummary,
224
- reworkRounds: opts.reworkRounds,
225
- specPath: opts.specPath,
226
- eventsFile: opts.eventsFile,
227
- startedAt: opts.startedAt,
228
- logsDir: opts.logsDir,
229
- reviewRouting: opts.reviewRouting,
230
- pinNotes: opts.pinNotes,
231
- });
232
- await octokit.rest.issues.createComment({ owner, repo: repoName, issue_number: prNumber, body });
233
- log('evidence', `posted evidence pack to PR #${prNumber}`);
234
- }
235
- catch { }
265
+ if (!reentry)
266
+ try {
267
+ const body = gatherEvidencePack({
268
+ issue,
269
+ checkSummary,
270
+ reworkRounds: opts.reworkRounds,
271
+ specPath: opts.specPath,
272
+ eventsFile: opts.eventsFile,
273
+ startedAt: opts.startedAt,
274
+ logsDir: opts.logsDir,
275
+ reviewRouting: opts.reviewRouting,
276
+ pinNotes: opts.pinNotes,
277
+ });
278
+ await octokit.rest.issues.createComment({ owner, repo: repoName, issue_number: prNumber, body });
279
+ log('evidence', `posted evidence pack to PR #${prNumber}`);
280
+ }
281
+ catch { }
236
282
  let ciOutcome;
237
283
  // Watch CI (best-effort)
238
284
  if (watchCI) {
@@ -242,7 +288,7 @@ async function shipPhaseImpl(opts) {
242
288
  octokit,
243
289
  owner,
244
290
  repo: repoName,
245
- ref: branch,
291
+ ref: watchRef,
246
292
  rerun,
247
293
  deadlineMs: DEFAULT_CI_DEADLINE_MS,
248
294
  noChecksGraceMs: opts.ciNoChecksGraceMs ?? resolveCiNoChecksGraceMs(),
@@ -256,7 +302,8 @@ async function shipPhaseImpl(opts) {
256
302
  else if (ciOutcome === 'failure') {
257
303
  const reason = `CI failed for PR #${prNumber}`;
258
304
  log('ship', reason);
259
- return { ok: false, prNumber, reason, ciOutcome };
305
+ const ciFailure = await collectCiFailureEvidence({ octokit, owner, repo: repoName, ref: watchRef, prNumber });
306
+ return { ok: false, prNumber, reason, ciOutcome, ciFailure, ...(headSha ? { headSha } : {}) };
260
307
  }
261
308
  else if (ciOutcome === 'infra-failure') {
262
309
  const reason = `CI failed again for infrastructure reasons for PR #${prNumber} after one rerun`;
@@ -286,29 +333,12 @@ async function shipPhaseImpl(opts) {
286
333
  log('ready', ciOutcome === 'no-checks'
287
334
  ? `PR #${prNumber} ready for review (CI skipped: no checks found)`
288
335
  : `PR #${prNumber} ready for review`);
289
- return ciOutcome === undefined ? { ok: true, prNumber } : { ok: true, prNumber, ciOutcome };
290
- }
291
- /** The frozen spec body for the PR description; undefined when there is no readable spec. */
292
- async function readSpecBody(specPath) {
293
- if (!specPath)
294
- return undefined;
295
- try {
296
- return (await readSpec(specPath)).body;
297
- }
298
- catch {
299
- return undefined;
300
- }
301
- }
302
- /** The design artifact's Risk / blast radius for the PR body; undefined when there is no readable artifact. */
303
- async function readRisk(specPath) {
304
- if (!specPath)
305
- return undefined;
306
- try {
307
- return (await readDesignArtifact(specPath))?.riskBlastRadius;
308
- }
309
- catch {
310
- return undefined;
311
- }
336
+ return {
337
+ ok: true,
338
+ prNumber,
339
+ ...(ciOutcome === undefined ? {} : { ciOutcome }),
340
+ ...(headSha ? { headSha } : {}),
341
+ };
312
342
  }
313
343
  async function computeDiffStat(run, worktree) {
314
344
  try {
@@ -406,105 +436,4 @@ async function commitLeftoverBuildOutput(o) {
406
436
  o.log('ship', `committed ${o.statusLines.length} uncommitted path(s) left after check on ${o.branch}`);
407
437
  return { ok: true };
408
438
  }
409
- /** Bound on the failure text copied into one NDJSON event row. */
410
- const MAX_PUSH_ERROR_DETAIL = 400;
411
- const NON_FAST_FORWARD_MARKERS = [
412
- 'non-fast-forward',
413
- '! [rejected]',
414
- 'fetch first',
415
- 'updates were rejected',
416
- 'stale info',
417
- ];
418
- const NETWORK_MARKERS = [
419
- 'could not resolve host',
420
- 'failed to connect',
421
- 'connection timed out',
422
- 'connection refused',
423
- 'network is unreachable',
424
- 'operation timed out',
425
- 'the remote end hung up unexpectedly',
426
- ];
427
- function classifyPushFailure(text) {
428
- const t = text.toLowerCase();
429
- if (NON_FAST_FORWARD_MARKERS.some((m) => t.includes(m)))
430
- return 'non-fast-forward';
431
- if (NETWORK_MARKERS.some((m) => t.includes(m)))
432
- return 'network';
433
- return 'unknown';
434
- }
435
- /**
436
- * The real reason a push failed, from git's own stderr when the runner exposes it
437
- * (node's promisified `exec` rejection carries `stderr`), else the Error message, else the
438
- * value's string form. Flattened to one line and bounded so a single event row stays
439
- * greppable in `.factory/events.ndjson`.
440
- */
441
- function describePushFailure(err) {
442
- const raw = err?.stderr;
443
- const stderr = typeof raw === 'string' ? raw : '';
444
- const text = stderr.trim() || (err instanceof Error ? err.message : String(err));
445
- const detail = text.replace(/\s+/g, ' ').trim().slice(0, MAX_PUSH_ERROR_DETAIL);
446
- return { kind: classifyPushFailure(detail), detail: detail || 'no error output' };
447
- }
448
- /** Bound on the ls-remote failure text copied into one NDJSON event row (#735). */
449
- const MAX_REMOTE_HEAD_DETAIL = 200;
450
- /** Same flatten-and-bound shaping as {@link describePushFailure}, kept separate so that
451
- * function's asserted output never changes. */
452
- function shortDetail(err) {
453
- const raw = err?.stderr;
454
- const stderr = typeof raw === 'string' ? raw : '';
455
- const text = stderr.trim() || (err instanceof Error ? err.message : String(err));
456
- return text.replace(/\s+/g, ' ').trim().slice(0, MAX_REMOTE_HEAD_DETAIL) || 'no error output';
457
- }
458
- /** The SHA on the `refs/heads/<branch>` line of `git ls-remote` output. `--heads origin <branch>`
459
- * is a suffix pattern, so it can list more than one ref — match the ref name exactly rather than
460
- * trusting the first line. */
461
- function parseRemoteHeadSha(stdout, branch) {
462
- for (const line of stdout.split('\n')) {
463
- const [sha, ref] = line.trim().split(/\s+/);
464
- if (ref === `refs/heads/${branch}` && sha)
465
- return sha;
466
- }
467
- return undefined;
468
- }
469
- /** origin/<branch>'s current SHA, `null` when the branch is absent, or the failure detail (#1869). */
470
- async function readRemoteBranchSha(run, worktree, branch) {
471
- try {
472
- const { stdout } = await run(`git ls-remote --heads origin ${shellEscape(branch)}`, { cwd: worktree });
473
- return { status: 'ok', sha: parseRemoteHeadSha(stdout, branch) ?? null };
474
- }
475
- catch (err) {
476
- return { status: 'unreadable', detail: shortDetail(err) };
477
- }
478
- }
479
- /**
480
- * A zero-exit push is not proof the remote branch actually carries this run's commits — a
481
- * concurrent push or an update that silently applied nothing leaves the remote head elsewhere,
482
- * and a PR opened against it would advertise work that is not there (#735).
483
- */
484
- async function verifyRemoteHead(run, worktree, branch) {
485
- let localSha;
486
- try {
487
- const { stdout } = await run('git rev-parse HEAD', { cwd: worktree });
488
- localSha = stdout.trim();
489
- }
490
- catch (err) {
491
- return { status: 'unreadable', detail: shortDetail(err) };
492
- }
493
- if (!localSha)
494
- return { status: 'unreadable', detail: 'git rev-parse HEAD produced no SHA' };
495
- let listing;
496
- try {
497
- const { stdout } = await run(`git ls-remote --heads origin ${shellEscape(branch)}`, { cwd: worktree });
498
- listing = stdout;
499
- }
500
- catch (err) {
501
- return { status: 'unreadable', localSha, detail: shortDetail(err) };
502
- }
503
- const remoteSha = parseRemoteHeadSha(listing, branch);
504
- if (!remoteSha)
505
- return { status: 'unreadable', localSha, detail: `no refs/heads/${branch} on origin` };
506
- return remoteSha === localSha
507
- ? { status: 'match', localSha, remoteSha }
508
- : { status: 'mismatch', localSha, remoteSha };
509
- }
510
439
  //# sourceMappingURL=ship.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ship.js","sourceRoot":"","sources":["../../src/phases/ship.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAE3E,OAAO,EAAE,IAAI,IAAI,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAKtC,OAAO,EAAqB,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,OAAO,EACL,sBAAsB,EAEtB,wBAAwB,EACxB,yBAAyB,GAC1B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAG9D,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;AAe/B,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,IAAyC;IACvE,OAAO,aAAa,CAClB;QACE,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,KAAK,EAAE,MAAM;QACb,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,OAAO,EAAE,IAAI,CAAC,KAAK;QACnB,YAAY,EAAE,IAAI,CAAC,QAAQ;QAC3B,GAAG,EAAE,IAAI,CAAC,GAAG;KACd,EACD,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,EACzB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EACX,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,EAAE;QACF,CAAC,CAAC,gBAAgB,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,GAAG,EAAE;QAC1E,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAC1G,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,IAoC5B;IACC,MAAM,EACJ,KAAK,EACL,IAAI,EACJ,QAAQ,EACR,MAAM,EACN,OAAO,EACP,OAAO,GAAG,IAAI,EACd,GAAG,EACH,GAAG,GAAG,IAAI,EACV,KAAK,EACL,YAAY,EACZ,YAAY,GACb,GAAG,IAAI,CAAC;IACT,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAE1C,IAAI,QAA4B,CAAC;IAEjC,IAAI,YAAY,EAAE,CAAC;QACjB,yEAAyE;QACzE,qEAAqE;QACrE,kEAAkE;QAClE,GAAG,CAAC,MAAM,EAAE,2BAA2B,MAAM,EAAE,CAAC,CAAC;QACjD,QAAQ,GAAG,MAAM,eAAe,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QAChD,GAAG,CACD,oBAAoB,EACpB,6BAA6B,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,aAAa,YAAY,CAAC,MAAM,UAAU,YAAY,CAAC,QAAQ,UAAU,YAAY,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAChK,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAC;QACzF,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACvB,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC;YAC3C,GAAG,CAAC,aAAa,EAAE,mBAAmB,MAAM,KAAK,MAAM,EAAE,CAAC,CAAC;YAC3D,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;QAC3D,CAAC;QACD,GAAG,CAAC,kBAAkB,EAAE,wBAAwB,MAAM,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,mEAAmE;IACnE,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IACtE,IAAI,UAAU,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QAClC,GAAG,CACD,MAAM,EACN,qDAAqD,MAAM,KAAK,UAAU,CAAC,MAAM,iCAAiC,CACnH,CAAC;QACF,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;IACvB,CAAC;IACD,IAAI,QAAQ,GAAuB,UAAU,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;IAEnG,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,yEAAyE;QACzE,mFAAmF;QACnF,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,uBAAuB,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;QACxD,CAAC;QAAC,MAAM,CAAC;YACP,GAAG,CAAC,MAAM,EAAE,iFAAiF,CAAC,CAAC;QACjG,CAAC;QAED,IAAI,aAAa,GAAG,MAAM,oBAAoB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QAC9D,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;YACzB,MAAM,SAAS,GAAG,eAAe,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;YAC7D,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,6EAA6E;gBAC7E,2EAA2E;gBAC3E,MAAM,MAAM,GACV,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,SAAS,CAAC,MAAM,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACtG,MAAM,MAAM,GAAG,mCAAmC,MAAM,EAAE,CAAC;gBAC3D,GAAG,CAAC,MAAM,EAAE,kBAAkB,MAAM,KAAK,MAAM,uBAAuB,CAAC,CAAC;gBACxE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;YAC/B,CAAC;YACD,8EAA8E;YAC9E,sEAAsE;YACtE,MAAM,SAAS,GAAG,MAAM,yBAAyB,CAAC;gBAChD,GAAG;gBACH,QAAQ;gBACR,MAAM;gBACN,KAAK;gBACL,WAAW,EAAE,aAAa,CAAC,WAAW;gBACtC,GAAG;aACJ,CAAC,CAAC;YACH,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC;gBAClB,GAAG,CAAC,MAAM,EAAE,kBAAkB,MAAM,KAAK,SAAS,CAAC,MAAM,uBAAuB,CAAC,CAAC;gBAClF,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC;YACjD,CAAC;YACD,aAAa,GAAG,MAAM,oBAAoB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;YAC1D,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;gBACzB,MAAM,MAAM,GAAG,6DAA6D,CAAC;gBAC7E,GAAG,CAAC,MAAM,EAAE,kBAAkB,MAAM,KAAK,MAAM,uBAAuB,CAAC,CAAC;gBACxE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;YAC/B,CAAC;QACH,CAAC;QACD,IAAI,aAAa,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;YACjD,gFAAgF;YAChF,mFAAmF;YACnF,MAAM,YAAY,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;YAC1E,IAAI,YAAY,CAAC,MAAM,KAAK,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;gBAC7D,GAAG,CACD,MAAM,EACN,kBAAkB,MAAM,wDAAwD,YAAY,CAAC,MAAM,GAAG,CACvG,CAAC;gBACF,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;YACvB,CAAC;YACD,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;YACrF,IAAI,QAAQ,KAAK,SAAS,IAAI,aAAa,CAAC,MAAM,EAAE,CAAC;gBACnD,GAAG,CACD,MAAM,EACN,kBAAkB,MAAM,sBAAsB,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,kBAAkB,QAAQ,EAAE,CAAC,CAAC,CAAC,kCAAkC,EAAE,CAC3I,CAAC;gBACF,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC;YAClE,CAAC;YACD,GAAG,CAAC,MAAM,EAAE,kBAAkB,MAAM,mCAAmC,CAAC,CAAC;YACzE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;QACvB,CAAC;QAED,iFAAiF;QACjF,mFAAmF;QACnF,uEAAuE;QACvE,IAAI,OAAO,GAAG,sBAAsB,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1D,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC;QACxC,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,IAAI,QAAQ,EAAE,CAAC;YACb,8FAA8F;YAC9F,yFAAyF;YACzF,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;YACjE,IAAI,OAAO,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;gBACpC,MAAM,MAAM,GAAG,yBAAyB,MAAM,0BAA0B,QAAQ,KAAK,OAAO,CAAC,MAAM,GAAG,CAAC;gBACvG,GAAG,CAAC,MAAM,EAAE,GAAG,MAAM,yBAAyB,CAAC,CAAC;gBAChD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;YAC/B,CAAC;YACD,IAAI,OAAO,CAAC,GAAG,KAAK,IAAI,EAAE,CAAC;gBACzB,GAAG,CAAC,MAAM,EAAE,UAAU,MAAM,eAAe,QAAQ,oDAAoD,CAAC,CAAC;YAC3G,CAAC;iBAAM,IAAI,OAAO,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;gBACpC,MAAM,MAAM,GAAG,UAAU,MAAM,0CAA0C,QAAQ,aAAa,OAAO,CAAC,GAAG,EAAE,CAAC;gBAC5G,GAAG,CAAC,MAAM,EAAE,GAAG,MAAM,yBAAyB,CAAC,CAAC;gBAChD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;YAC/B,CAAC;iBAAM,CAAC;gBACN,OAAO,GAAG,YAAY,WAAW,CAAC,sBAAsB,MAAM,IAAI,QAAQ,EAAE,CAAC,cAAc,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;gBACjH,MAAM,GAAG,IAAI,CAAC;gBACd,GAAG,CAAC,MAAM,EAAE,0BAA0B,MAAM,MAAM,QAAQ,qBAAqB,CAAC,CAAC;YACnF,CAAC;QACH,CAAC;QACD,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;QACxC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;YAClD,GAAG,CAAC,MAAM,EAAE,oBAAoB,IAAI,MAAM,MAAM,gCAAgC,CAAC,CAAC;YAClF,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,kBAAkB,MAAM,kBAAkB,QAAQ,kBAAkB,IAAI,GAAG,EAAE,CAAC;YAC5G,CAAC;YACD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;QACvB,CAAC;QAED,0FAA0F;QAC1F,+FAA+F;QAC/F,6FAA6F;QAC7F,mCAAmC;QACnC,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QACjE,IAAI,UAAU,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YACrC,GAAG,CACD,MAAM,EACN,eAAe,UAAU,CAAC,SAAS,8BAA8B,UAAU,CAAC,QAAQ,QAAQ,MAAM,gCAAgC,CACnI,CAAC;YACF,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;QACvB,CAAC;QACD,IAAI,UAAU,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;YACvC,GAAG,CACD,MAAM,EACN,wCAAwC,MAAM,KAAK,UAAU,CAAC,MAAM,iBAAiB,UAAU,CAAC,QAAQ,IAAI,SAAS,gCAAgC,CACtJ,CAAC;YACF,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;QACvB,CAAC;QACD,GAAG,CAAC,MAAM,EAAE,eAAe,UAAU,CAAC,SAAS,uBAAuB,UAAU,CAAC,QAAQ,QAAQ,MAAM,EAAE,CAAC,CAAC;QAE3G,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QAE/F,qFAAqF;QACrF,MAAM,KAAK,GAAG,UAAU;YACtB,CAAC,CAAC,UAAU,CAAC,KAAK;YAClB,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;QAE/F,6EAA6E;QAC7E,MAAM,IAAI,GAAG,QAAQ,IAAI,CAAC,MAAM,eAAe,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC;QAEhE,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;QAClD,MAAM,UAAU,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC;QACxD,MAAM,WAAW,GAAG,UAAU;YAC5B,CAAC,CAAC,4BAA4B,UAAU,CAAC,EAAE,KAAK;YAChD,CAAC,CAAC,KAAK;gBACL,CAAC,CAAC,oBAAoB,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,QAAQ,KAAK,GAAG;gBAChE,CAAC,CAAC,eAAe,KAAK,GAAG,CAAC;QAC9B,MAAM,OAAO,GAAG,UAAU;YACxB,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,KAAK;gBACL,CAAC,CAAC,GAAG,KAAK,YAAY,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,MAAM,KAAK,GAAG;gBAC9D,CAAC,CAAC,GAAG,KAAK,MAAM,KAAK,GAAG,CAAC;QAE7B,YAAY;QACZ,IAAI,CAAC;YACH,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;gBACnD,KAAK;gBACL,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,OAAO;gBACd,KAAK,EAAE,IAAI;gBACX,IAAI,EAAE,YAAY,CAAC;oBACjB,WAAW;oBACX,QAAQ,EAAE,MAAM,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC;oBAC3C,QAAQ,EAAE,IAAI;oBACd,YAAY;oBACZ,YAAY,EAAE,IAAI,CAAC,YAAY;oBAC/B,IAAI,EAAE,MAAM,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC;oBACnC,MAAM,EAAE,UAAU,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK;oBACrD,MAAM,EAAE,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;iBACvD,CAAC;aACH,CAAC,CAAC;YAEH,QAAQ,GAAG,EAAE,CAAC,MAAM,CAAC;YACrB,GAAG,CAAC,WAAW,EAAE,cAAc,QAAQ,0BAA0B,MAAM,EAAE,CAAC,CAAC;QAC7E,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC;gBAAE,MAAM,GAAG,CAAC;YAC9C,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;YACpE,IAAI,QAAQ,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;gBAChC,GAAG,CACD,MAAM,EACN,4CAA4C,MAAM,qCAAqC,QAAQ,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAmB,cAAc,CACzK,CAAC;gBACF,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;YACvB,CAAC;YACD,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;YAC7B,GAAG,CAAC,WAAW,EAAE,OAAO,QAAQ,wBAAwB,MAAM,cAAc,CAAC,CAAC;QAChF,CAAC;IACH,CAAC;IAED,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,GAAG,CAAC,MAAM,EAAE,mCAAmC,MAAM,EAAE,CAAC,CAAC;QACzD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;IACvB,CAAC;IAED,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,kBAAkB,CAAC;YAC9B,KAAK;YACL,YAAY;YACZ,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC,CAAC;QACH,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QACjG,GAAG,CAAC,UAAU,EAAE,+BAA+B,QAAQ,EAAE,CAAC,CAAC;IAC7D,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IAEV,IAAI,SAAwC,CAAC;IAE7C,yBAAyB;IACzB,IAAI,OAAO,EAAE,CAAC;QACZ,GAAG,CAAC,MAAM,EAAE,uBAAuB,QAAQ,EAAE,CAAC,CAAC;QAC/C,IAAI,CAAC;YACH,SAAS,GAAG,MAAM,yBAAyB,CAAC;gBAC1C,OAAO;gBACP,KAAK;gBACL,IAAI,EAAE,QAAQ;gBACd,GAAG,EAAE,MAAM;gBACX,KAAK;gBACL,UAAU,EAAE,sBAAsB;gBAClC,eAAe,EAAE,IAAI,CAAC,iBAAiB,IAAI,wBAAwB,EAAE;gBACrE,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,CACzD,GAAG,CACD,MAAM,EACN,cAAc,QAAQ,KAAK,OAAO,aAAa,SAAS,IAAI,KAAK,eAAe,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,iCAAiC,CACjJ;gBACH,UAAU,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,yBAAyB,IAAI,QAAQ,GAAG,oBAAoB,CAAC;gBAClG,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,CACjC,GAAG,CACD,YAAY,EACZ,sBAAsB,QAAQ,+BAA+B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,iCAAiC,CAC3I;gBACH,cAAc,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,CAC/C,GAAG,CACD,kBAAkB,EAClB,4BAA4B,QAAQ,+BAA+B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,gCAAgC,OAAO,EAAE,CACzJ;aACJ,CAAC,CAAC;YACH,IAAI,SAAS,KAAK,SAAS;gBAAE,GAAG,CAAC,MAAM,EAAE,oBAAoB,QAAQ,EAAE,CAAC,CAAC;iBACpE,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBACjC,MAAM,MAAM,GAAG,qBAAqB,QAAQ,EAAE,CAAC;gBAC/C,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBACpB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;YACpD,CAAC;iBAAM,IAAI,SAAS,KAAK,eAAe,EAAE,CAAC;gBACzC,MAAM,MAAM,GAAG,sDAAsD,QAAQ,kBAAkB,CAAC;gBAChG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBACpB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;YACpD,CAAC;iBAAM,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBACnC,4EAA4E;gBAC5E,GAAG,CAAC,MAAM,EAAE,4BAA4B,sBAAsB,GAAG,MAAM,+BAA+B,CAAC,CAAC;YAC1G,CAAC;QACH,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACZ,CAAC;IAED,uEAAuE;IACvE,0EAA0E;IAC1E,IAAI,CAAC;QACH,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC;QACpG,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC;YACb,MAAM,OAAO,CAAC,OAAO,CACnB;;;;UAIE,EACF,EAAE,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,CACnB,CAAC;QACJ,CAAC;IACH,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IAEV,GAAG,CACD,OAAO,EACP,SAAS,KAAK,WAAW;QACvB,CAAC,CAAC,OAAO,QAAQ,iDAAiD;QAClE,CAAC,CAAC,OAAO,QAAQ,mBAAmB,CACvC,CAAC;IACF,OAAO,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;AAC9F,CAAC;AAED,6FAA6F;AAC7F,KAAK,UAAU,YAAY,CAAC,QAA4B;IACtD,IAAI,CAAC,QAAQ;QAAE,OAAO,SAAS,CAAC;IAChC,IAAI,CAAC;QACH,OAAO,CAAC,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;IACzC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,+GAA+G;AAC/G,KAAK,UAAU,QAAQ,CAAC,QAA4B;IAClD,IAAI,CAAC,QAAQ;QAAE,OAAO,SAAS,CAAC;IAChC,IAAI,CAAC;QACH,OAAO,CAAC,MAAM,kBAAkB,CAAC,QAAQ,CAAC,CAAC,EAAE,eAAe,CAAC;IAC/D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,GAAkB,EAAE,QAAgB;IACjE,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,oCAAoC,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;QACtF,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,OAAgB,EAAE,KAAa,EAAE,IAAY,EAAE,MAAc;IAC5F,IAAI,CAAC;QACH,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;YAClD,KAAK;YACL,IAAI;YACJ,KAAK,EAAE,MAAM;YACb,IAAI,EAAE,GAAG,KAAK,IAAI,MAAM,EAAE;SAC3B,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC;QAChC,OAAO,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;IACvF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;IACvD,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,OAAgB,EAAE,KAAa,EAAE,IAAY,EAAE,MAAc;IAC9F,IAAI,CAAC;QACH,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;YAClD,KAAK;YACL,IAAI;YACJ,KAAK,EAAE,QAAQ;YACf,IAAI,EAAE,GAAG,KAAK,IAAI,MAAM,EAAE;SAC3B,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,IAAI,IAAI,CAAC,EAAE,MAAM,CAAC;QAChE,OAAO,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;IACvF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;IACvD,CAAC;AACH,CAAC;AAED;6FAC6F;AAC7F,MAAM,UAAU,wBAAwB,CAAC,GAAY;IACnD,MAAM,CAAC,GAAG,GAIF,CAAC;IACT,IAAI,CAAC,EAAE,MAAM,KAAK,GAAG;QAAE,OAAO,KAAK,CAAC;IACpC,MAAM,QAAQ,GAAG,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC;IACrG,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACzD,CAAC;AAED,KAAK,UAAU,oBAAoB,CACjC,QAAgB,EAChB,GAAkB;IAElB,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACxE,GAAG,CAAC,wBAAwB,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;QAChD,GAAG,CAAC,wCAAwC,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;QAChE,mFAAmF;QACnF,wFAAwF;QACxF,GAAG,CAAC,oCAAoC,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC,IAAI,CAC/D,GAAG,EAAE,CAAC,IAAI,EACV,GAAG,EAAE,CAAC,KAAK,CACZ;KACF,CAAC,CAAC;IACH,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE;QAC3B,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC;QAC5C,MAAM;QACN,yFAAyF;QACzF,WAAW,EAAE,MAAM;aAChB,KAAK,CAAC,IAAI,CAAC;aACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;aACvB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;KAClC,CAAC;AACJ,CAAC;AAED;;yBAEyB;AACzB,SAAS,eAAe,CAAC,WAAqB;IAC5C,OAAO,WAAW;SACf,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QACf,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5B,OAAO,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,IAAI,CAAC;IACxD,CAAC,CAAC;SACD,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,yBAAyB,CAAC,CAOxC;IACC,IAAI,CAAC;QACH,MAAM,CAAC,CAAC,GAAG,CAAC,YAAY,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC/C,MAAM,CAAC,CAAC,GAAG,CAAC,iBAAiB,WAAW,CAAC,uDAAuD,CAAC,CAAC,KAAK,GAAG,CAAC,EAAE,EAAE;YAC7G,GAAG,EAAE,CAAC,CAAC,QAAQ;SAChB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,2CAA2C,WAAW,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;IAC9F,CAAC;IACD,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,WAAW,CAAC,MAAM,4CAA4C,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IACvG,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AACtB,CAAC;AAKD,kEAAkE;AAClE,MAAM,qBAAqB,GAAG,GAAG,CAAC;AAElC,MAAM,wBAAwB,GAAG;IAC/B,kBAAkB;IAClB,cAAc;IACd,aAAa;IACb,uBAAuB;IACvB,YAAY;CACb,CAAC;AAEF,MAAM,eAAe,GAAG;IACtB,wBAAwB;IACxB,mBAAmB;IACnB,sBAAsB;IACtB,oBAAoB;IACpB,wBAAwB;IACxB,qBAAqB;IACrB,qCAAqC;CACtC,CAAC;AAEF,SAAS,mBAAmB,CAAC,IAAY;IACvC,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IAC7B,IAAI,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAAE,OAAO,kBAAkB,CAAC;IACnF,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IACjE,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;GAKG;AACH,SAAS,mBAAmB,CAAC,GAAY;IACvC,MAAM,GAAG,GAAI,GAA+C,EAAE,MAAM,CAAC;IACrE,MAAM,MAAM,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAClD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IACjF,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,qBAAqB,CAAC,CAAC;IAChF,OAAO,EAAE,IAAI,EAAE,mBAAmB,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,IAAI,iBAAiB,EAAE,CAAC;AACpF,CAAC;AAED,mFAAmF;AACnF,MAAM,sBAAsB,GAAG,GAAG,CAAC;AAcnC;gDACgD;AAChD,SAAS,WAAW,CAAC,GAAY;IAC/B,MAAM,GAAG,GAAI,GAA+C,EAAE,MAAM,CAAC;IACrE,MAAM,MAAM,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAClD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IACjF,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,sBAAsB,CAAC,IAAI,iBAAiB,CAAC;AAChG,CAAC;AAED;;+BAE+B;AAC/B,SAAS,kBAAkB,CAAC,MAAc,EAAE,MAAc;IACxD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACtC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5C,IAAI,GAAG,KAAK,cAAc,MAAM,EAAE,IAAI,GAAG;YAAE,OAAO,GAAG,CAAC;IACxD,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,sGAAsG;AACtG,KAAK,UAAU,mBAAmB,CAChC,GAAkB,EAClB,QAAgB,EAChB,MAAc;IAEd,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,gCAAgC,WAAW,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;QACvG,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;IAC3E,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;IAC5D,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,gBAAgB,CAAC,GAAkB,EAAE,QAAgB,EAAE,MAAc;IAClF,IAAI,QAA4B,CAAC;IACjC,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,oBAAoB,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;QACtE,QAAQ,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;IAC3B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;IAC5D,CAAC;IACD,IAAI,CAAC,QAAQ;QAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,oCAAoC,EAAE,CAAC;IAE7F,IAAI,OAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,gCAAgC,WAAW,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;QACvG,OAAO,GAAG,MAAM,CAAC;IACnB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;IACtE,CAAC;IAED,MAAM,SAAS,GAAG,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACtD,IAAI,CAAC,SAAS;QAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,iBAAiB,MAAM,YAAY,EAAE,CAAC;IACvG,OAAO,SAAS,KAAK,QAAQ;QAC3B,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE;QAC1C,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;AAClD,CAAC"}
1
+ {"version":3,"file":"ship.js","sourceRoot":"","sources":["../../src/phases/ship.ts"],"names":[],"mappings":"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"}
@@ -119,7 +119,7 @@ export function parentRefForSlice(plan, index, mainRef = 'origin/main') {
119
119
  if (index === 1)
120
120
  return mainRef;
121
121
  const branch = plan.slices.find((s) => s.index === index - 1)?.branch;
122
- return branch ? branch : undefined;
122
+ return branch || undefined;
123
123
  }
124
124
  /** ADR-0161: records slice `index`'s branch when it is created (default stackSliceBranch), keeping its state. */
125
125
  export function withSliceBranchCreated(plan, index, branch) {
@@ -1 +1 @@
1
- {"version":3,"file":"slice-plan.js","sourceRoot":"","sources":["../../src/readiness/slice-plan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"slice-plan.js","sourceRoot":"","sources":["../../src/readiness/slice-plan.ts"],"names":[],"mappings":"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"}