@12ui/design 0.2.58 → 0.2.60

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 (110) hide show
  1. package/SKILL.md +1 -1
  2. package/dist/atomic-file-replace.d.ts +21 -0
  3. package/dist/atomic-file-replace.d.ts.map +1 -0
  4. package/dist/atomic-file-replace.js +48 -0
  5. package/dist/atomic-file-replace.js.map +1 -0
  6. package/dist/cli-conversion-derivation.d.ts +14 -1
  7. package/dist/cli-conversion-derivation.d.ts.map +1 -1
  8. package/dist/cli-conversion-derivation.js +12 -5
  9. package/dist/cli-conversion-derivation.js.map +1 -1
  10. package/dist/cli-convert-command.d.ts.map +1 -1
  11. package/dist/cli-convert-command.js +13 -4
  12. package/dist/cli-convert-command.js.map +1 -1
  13. package/dist/cli-draft-command.d.ts +7 -0
  14. package/dist/cli-draft-command.d.ts.map +1 -1
  15. package/dist/cli-draft-command.js +21 -8
  16. package/dist/cli-draft-command.js.map +1 -1
  17. package/dist/cli-help/design.js +2 -2
  18. package/dist/cli-help/design.js.map +1 -1
  19. package/dist/cli-improve-command.d.ts.map +1 -1
  20. package/dist/cli-improve-command.js +36 -3
  21. package/dist/cli-improve-command.js.map +1 -1
  22. package/dist/cli-redesign-command.d.ts.map +1 -1
  23. package/dist/cli-redesign-command.js +177 -138
  24. package/dist/cli-redesign-command.js.map +1 -1
  25. package/dist/conversion-client.d.ts +48 -10
  26. package/dist/conversion-client.d.ts.map +1 -1
  27. package/dist/conversion-client.js +92 -20
  28. package/dist/conversion-client.js.map +1 -1
  29. package/dist/corpus-client.d.ts +5 -0
  30. package/dist/corpus-client.d.ts.map +1 -1
  31. package/dist/corpus-client.js +14 -1
  32. package/dist/corpus-client.js.map +1 -1
  33. package/dist/draft-identity.d.ts +7 -0
  34. package/dist/draft-identity.d.ts.map +1 -1
  35. package/dist/draft-identity.js +4 -0
  36. package/dist/draft-identity.js.map +1 -1
  37. package/dist/draft-run.d.ts +7 -0
  38. package/dist/draft-run.d.ts.map +1 -1
  39. package/dist/draft-run.js +8 -0
  40. package/dist/draft-run.js.map +1 -1
  41. package/dist/draft-workspace.d.ts +4 -0
  42. package/dist/draft-workspace.d.ts.map +1 -1
  43. package/dist/draft-workspace.js.map +1 -1
  44. package/dist/hosted-draft-identity.d.ts +10 -0
  45. package/dist/hosted-draft-identity.d.ts.map +1 -1
  46. package/dist/hosted-draft-identity.js +7 -0
  47. package/dist/hosted-draft-identity.js.map +1 -1
  48. package/dist/hosted-draft-run.d.ts +15 -0
  49. package/dist/hosted-draft-run.d.ts.map +1 -1
  50. package/dist/hosted-draft-run.js +27 -0
  51. package/dist/hosted-draft-run.js.map +1 -1
  52. package/dist/improve-conversion-stage.d.ts.map +1 -1
  53. package/dist/improve-conversion-stage.js +8 -4
  54. package/dist/improve-conversion-stage.js.map +1 -1
  55. package/dist/improve-convert-resilience.d.ts +1 -0
  56. package/dist/improve-convert-resilience.d.ts.map +1 -1
  57. package/dist/improve-convert-resilience.js +22 -4
  58. package/dist/improve-convert-resilience.js.map +1 -1
  59. package/dist/improve-core/improve-concept.d.ts +5 -1
  60. package/dist/improve-core/improve-concept.d.ts.map +1 -1
  61. package/dist/improve-core/improve-concept.js +11 -6
  62. package/dist/improve-core/improve-concept.js.map +1 -1
  63. package/dist/redesign-branch-adoption.d.ts +29 -0
  64. package/dist/redesign-branch-adoption.d.ts.map +1 -0
  65. package/dist/redesign-branch-adoption.js +183 -0
  66. package/dist/redesign-branch-adoption.js.map +1 -0
  67. package/dist/redesign-branch-identity.d.ts +23 -0
  68. package/dist/redesign-branch-identity.d.ts.map +1 -0
  69. package/dist/redesign-branch-identity.js +27 -0
  70. package/dist/redesign-branch-identity.js.map +1 -0
  71. package/dist/redesign-branch-record-verification.d.ts +51 -0
  72. package/dist/redesign-branch-record-verification.d.ts.map +1 -0
  73. package/dist/redesign-branch-record-verification.js +127 -0
  74. package/dist/redesign-branch-record-verification.js.map +1 -0
  75. package/dist/redesign-branch-stage.d.ts +17 -0
  76. package/dist/redesign-branch-stage.d.ts.map +1 -0
  77. package/dist/redesign-branch-stage.js +218 -0
  78. package/dist/redesign-branch-stage.js.map +1 -0
  79. package/dist/redesign-page-candidates.d.ts +40 -0
  80. package/dist/redesign-page-candidates.d.ts.map +1 -0
  81. package/dist/redesign-page-candidates.js +131 -0
  82. package/dist/redesign-page-candidates.js.map +1 -0
  83. package/dist/redesign-page-ownership.d.ts +36 -0
  84. package/dist/redesign-page-ownership.d.ts.map +1 -0
  85. package/dist/redesign-page-ownership.js +174 -0
  86. package/dist/redesign-page-ownership.js.map +1 -0
  87. package/dist/redesign-plan-identity.d.ts +3 -1
  88. package/dist/redesign-plan-identity.d.ts.map +1 -1
  89. package/dist/redesign-plan-identity.js +4 -1
  90. package/dist/redesign-plan-identity.js.map +1 -1
  91. package/dist/redesign-plan.d.ts.map +1 -1
  92. package/dist/redesign-plan.js +12 -6
  93. package/dist/redesign-plan.js.map +1 -1
  94. package/dist/redesign-record-validation.d.ts +4 -0
  95. package/dist/redesign-record-validation.d.ts.map +1 -0
  96. package/dist/redesign-record-validation.js +210 -0
  97. package/dist/redesign-record-validation.js.map +1 -0
  98. package/dist/redesign-workspace.d.ts +30 -5
  99. package/dist/redesign-workspace.d.ts.map +1 -1
  100. package/dist/redesign-workspace.js +52 -7
  101. package/dist/redesign-workspace.js.map +1 -1
  102. package/dist/run-journal.d.ts +3 -1
  103. package/dist/run-journal.d.ts.map +1 -1
  104. package/dist/run-journal.js +7 -1
  105. package/dist/run-journal.js.map +1 -1
  106. package/dist/spend-run-filter.d.ts.map +1 -1
  107. package/dist/spend-run-filter.js +3 -1
  108. package/dist/spend-run-filter.js.map +1 -1
  109. package/open-design.json +2 -2
  110. package/package.json +1 -1
@@ -1,13 +1,10 @@
1
- import { createHash } from 'node:crypto';
2
1
  import { mkdir, readFile } from 'node:fs/promises';
3
2
  import path from 'node:path';
4
- import { TwelveUiBranchClient } from './branch-client.js';
5
- import { executeBranchRun } from './branch-execution.js';
6
- import { branchAttemptPath, readBranchAttempt } from './branch-run-record.js';
7
- import { imageWinner } from './branch-winner.js';
3
+ import { createConcurrencyLimiter } from './bounded-concurrency.js';
8
4
  import { booleanFlag, stringFlag, stringFlags } from './cli-arguments.js';
9
5
  import { CliRefusal } from './cli-refusal.js';
10
6
  import { prepareOutputDirectory } from './cli-output-paths.js';
7
+ import { BRANCH_PAGE_CONCURRENCY_DEFAULT } from './cli-progress.js';
11
8
  import { usageRefusal } from './cli-usage.js';
12
9
  import { readConceptValue } from './concept-input.js';
13
10
  import { readConversionConfig } from './config.js';
@@ -15,14 +12,19 @@ import { isConversionModel } from './conversion-models.js';
15
12
  import { runDraftCommand } from './cli-draft-command.js';
16
13
  import { DRAFT_CANDIDATE_COUNT, DRAFT_CANDIDATE_COUNT_MAXIMUM, DRAFT_CANDIDATE_COUNT_MINIMUM, } from './draft-run.js';
17
14
  import { draftPaths, readDraftRecord } from './draft-workspace.js';
18
- import { TwelveUiConversionPackageClient } from './package-client.js';
19
15
  import { TwelveUiPrototypeLabelClient } from './prototype-label-client.js';
20
16
  import { isPrototypeSkippedResult, runPrototypePoststep } from './prototype-poststep.js';
17
+ import { runRedesignBranchStage } from './redesign-branch-stage.js';
18
+ import { redesignBranchPageDirectory } from './redesign-branch-identity.js';
19
+ import { InvalidRedesignBranchRecordError, verifyRedesignBranchPages, } from './redesign-branch-record-verification.js';
21
20
  import { captureRedesignSite, captureRedesignPages, discoverRedesignPageUrls, parseImproveBootstrap, REDESIGN_DEFAULT_MAX_PAGES, } from './redesign-capture.js';
22
21
  import { buildRedesignPlan } from './redesign-plan.js';
23
22
  import { TwelveUiRedesignPlanClient, } from './redesign-plan-client.js';
24
23
  import { redesignPlanIdempotencyKey } from './redesign-plan-identity.js';
25
- import { createRedesignWorkspace, isRedesignStage, loadOrStartRedesignRecord, readRedesignRecord, redesignPaths, REDESIGN_STAGES, writeRedesignRecord, } from './redesign-workspace.js';
24
+ import { createRedesignWorkspace, InvalidRedesignRecordError, isRedesignStage, loadOrStartRedesignRecord, readRedesignRecord, redesignPaths, REDESIGN_STAGES, writeRedesignRecord, } from './redesign-workspace.js';
25
+ import { draftForPage, pagesNeedingDraft, pagesNeedingPick, recordedDraftPages, recordedPickPages, redesignPageDraftConcept, redesignPageDraftRoute, redesignPrimaryPage, withDraftPages, withPickPages, } from './redesign-page-candidates.js';
26
+ import { InvalidRedesignBranchArtifactError } from './redesign-branch-adoption.js';
27
+ import { InvalidRedesignPageOwnershipError } from './redesign-page-ownership.js';
26
28
  /**
27
29
  * `12ui redesign <url> --direction <text>`: capture -> plan -> draft -> pick -> branch
28
30
  * -> polish, chained through the same library entry points and client
@@ -139,47 +141,70 @@ const runCaptureStage = async (args) => {
139
141
  return record;
140
142
  };
141
143
  const runDraftStage = async (args) => {
142
- if (args.record.draft)
143
- return args.record;
144
144
  if (!args.record.capture)
145
145
  throw new Error('Cannot draft before capture has run');
146
146
  if (!args.record.plan)
147
147
  throw new Error('Cannot draft before hosted planning has run');
148
- const homepage = args.record.capture.pages[0];
149
- if (!homepage)
150
- throw new Error('Capture recorded no pages to draft from');
151
- const draftFlags = {
152
- concept: args.record.plan.concept,
153
- reference: homepage.path,
154
- candidates: String(args.candidateCount),
155
- wait: true,
156
- };
148
+ const remaining = pagesNeedingDraft(args.record);
149
+ if (remaining.length === 0)
150
+ return args.record;
151
+ const plan = args.record.plan;
152
+ const primary = redesignPrimaryPage(args.record.capture.pages);
157
153
  const origin = stringFlag(args.flags, 'origin');
158
- if (origin)
159
- draftFlags.origin = origin;
160
154
  const apiKey = stringFlag(args.flags, 'api-key');
161
- if (apiKey)
162
- draftFlags['api-key'] = apiKey;
163
- await mkdir(args.paths.draftDir, { recursive: true });
164
- const result = await runDraftCommand(draftFlags, {
165
- ...(args.dependencies.readConfig ? { readConfig: args.dependencies.readConfig } : {}),
166
- ...(args.dependencies.createCorpusClient
167
- ? { createCorpusClient: args.dependencies.createCorpusClient } : {}),
168
- ...(args.dependencies.createHostedClient
169
- ? { createHostedClient: args.dependencies.createHostedClient } : {}),
170
- plannedDraft: {
171
- corpusQuery: args.record.plan.corpusQuery,
172
- retain: args.record.plan.retain,
173
- },
174
- workspaceRoot: args.paths.draftDir,
175
- write: () => { },
176
- ...(args.dependencies.warn ? { warn: args.dependencies.warn } : {}),
177
- });
178
- const record = {
179
- ...args.record,
180
- draft: { runDir: result.prepared.runDir, runId: result.prepared.runId },
181
- };
182
- await writeRedesignRecord(args.paths.record, record);
155
+ const limiter = createConcurrencyLimiter(BRANCH_PAGE_CONCURRENCY_DEFAULT);
156
+ const completed = await Promise.all(remaining.map((page) => limiter(async () => {
157
+ const pageRoute = redesignPageDraftRoute({ page, primary });
158
+ const draftFlags = {
159
+ concept: redesignPageDraftConcept({
160
+ planConcept: plan.concept,
161
+ page,
162
+ primary,
163
+ }),
164
+ reference: page.path,
165
+ candidates: String(args.candidateCount),
166
+ wait: true,
167
+ quiet: true,
168
+ };
169
+ if (origin)
170
+ draftFlags.origin = origin;
171
+ if (apiKey)
172
+ draftFlags['api-key'] = apiKey;
173
+ const workspaceRoot = path.join(args.paths.draftDir, page.id);
174
+ await mkdir(workspaceRoot, { recursive: true });
175
+ const result = await runDraftCommand(draftFlags, {
176
+ ...(args.dependencies.readConfig ? { readConfig: args.dependencies.readConfig } : {}),
177
+ ...(args.dependencies.createCorpusClient
178
+ ? { createCorpusClient: args.dependencies.createCorpusClient } : {}),
179
+ ...(args.dependencies.createHostedClient
180
+ ? { createHostedClient: args.dependencies.createHostedClient } : {}),
181
+ plannedDraft: {
182
+ corpusQuery: plan.corpusQuery,
183
+ retain: plan.retain,
184
+ },
185
+ workspaceRoot,
186
+ write: () => { },
187
+ referenceFromCapture: true,
188
+ ...(pageRoute ? { pageRoute } : {}),
189
+ ...(args.record.redrawGeneration ? { redrawGeneration: args.record.redrawGeneration } : {}),
190
+ ...(args.dependencies.warn ? { warn: args.dependencies.warn } : {}),
191
+ });
192
+ return { pageId: page.id, runDir: result.prepared.runDir, runId: result.prepared.runId };
193
+ })));
194
+ // Each Draft has already persisted its own paid handle. Fold the completed
195
+ // pages into redesign.json in capture order so resume and spend attribution
196
+ // stay deterministic even though independent page draws ran concurrently.
197
+ let record = args.record;
198
+ for (const page of completed) {
199
+ record = {
200
+ ...record,
201
+ draft: withDraftPages([
202
+ ...recordedDraftPages(record),
203
+ page,
204
+ ], primary.id),
205
+ };
206
+ await writeRedesignRecord(args.paths.record, record);
207
+ }
183
208
  return record;
184
209
  };
185
210
  const runPlanStage = async (args) => {
@@ -195,7 +220,9 @@ const runPlanStage = async (args) => {
195
220
  };
196
221
  const client = (args.dependencies.createRedesignPlanClient
197
222
  ?? ((config) => new TwelveUiRedesignPlanClient(config)))(args.config);
198
- const plan = await client.plan(request, redesignPlanIdempotencyKey(request));
223
+ const plan = await client.plan(request, redesignPlanIdempotencyKey(request, {
224
+ ...(args.record.redrawGeneration ? { redrawGeneration: args.record.redrawGeneration } : {}),
225
+ }));
199
226
  const record = {
200
227
  ...args.record,
201
228
  plan: {
@@ -211,108 +238,109 @@ const runPlanStage = async (args) => {
211
238
  return record;
212
239
  };
213
240
  const runPickStage = async (args) => {
214
- if (args.record.pick)
215
- return args.record;
241
+ if (!args.record.capture)
242
+ throw new Error('Cannot pick before capture has run');
216
243
  if (!args.record.draft)
217
244
  throw new Error('Cannot pick before draft has run');
245
+ const remaining = pagesNeedingPick(args.record);
246
+ if (remaining.length === 0)
247
+ return args.record;
218
248
  const requestedSlot = stringFlag(args.flags, 'slot')?.trim();
219
- const slotLetter = requestedSlot || DEFAULT_CANDIDATE_SLOT;
220
- if (!requestedSlot) {
221
- args.warn(`--slot was not given; defaulting to candidate ${DEFAULT_CANDIDATE_SLOT}.`);
249
+ const recordedSlots = new Set(recordedPickPages(args.record).map((page) => page.slot));
250
+ if (recordedSlots.size > 1) {
251
+ throw new CliRefusal(`Recorded page picks disagree on candidate slot in ${args.paths.runDir}; refusing to add another pick.`, 'redesign_pick_record_invalid');
222
252
  }
223
- const draftRunPaths = draftPaths(args.record.draft.runDir);
224
- const draftRecord = await readDraftRecord(draftRunPaths.draftRecord);
225
- if (!draftRecord)
226
- throw new Error(`No draft record in ${args.record.draft.runDir}`);
227
- const candidate = draftRecord.hosted.candidates.find((entry) => entry.id === slotLetter);
228
- if (!candidate) {
229
- throw new CliRefusal(`--slot must be one of ${draftRecord.hosted.candidates.map((entry) => entry.id).join(', ')}`, 'redesign_slot_invalid');
253
+ const recordedSlot = recordedSlots.values().next().value;
254
+ if (requestedSlot && recordedSlot && requestedSlot !== recordedSlot) {
255
+ throw new CliRefusal(`--slot ${requestedSlot} does not match the durable candidate ${recordedSlot}`
256
+ + ` already picked in ${args.paths.runDir}. Reuse ${recordedSlot} or start a new redesign.`, 'redesign_slot_mismatch');
230
257
  }
231
- const completion = await readFile(draftRunPaths.completion, 'utf8')
232
- .then((raw) => JSON.parse(raw))
233
- .catch(() => undefined);
234
- const materialized = completion?.candidates.find((entry) => entry.slot === candidate.slot);
235
- if (!materialized) {
236
- throw new CliRefusal(`Draft candidate ${slotLetter} is not materialized in ${args.record.draft.runDir};`
237
- + ' run the draft stage again with --from draft --to draft.', 'redesign_pick_not_materialized');
258
+ const slotLetter = recordedSlot ?? requestedSlot ?? DEFAULT_CANDIDATE_SLOT;
259
+ if (!requestedSlot && !recordedSlot) {
260
+ args.warn(`--slot was not given; defaulting to candidate ${DEFAULT_CANDIDATE_SLOT}.`);
238
261
  }
239
- const record = {
240
- ...args.record,
241
- pick: { slot: candidate.id, imagePath: materialized.path, sha256: materialized.sha256 },
242
- };
243
- await writeRedesignRecord(args.paths.record, record);
244
- return record;
245
- };
246
- const runBranchStage = async (args) => {
247
- if (!args.record.capture)
248
- throw new Error('Cannot branch before capture has run');
249
- if (!args.record.pick)
250
- throw new Error('Cannot branch before pick has run');
251
- const capture = args.record.capture;
252
- const pick = args.record.pick;
253
- const alreadyDone = new Map((args.record.branch?.pages ?? []).map((page) => [page.pageId, page]));
254
- const remaining = capture.pages.filter((page) => !alreadyDone.has(page.id));
255
- if (remaining.length === 0)
256
- return args.record;
257
- const branchClient = (args.dependencies.createBranchClient
258
- ?? args.dependencies.createHostedClient
259
- ?? ((value) => new TwelveUiBranchClient(value)))(args.config);
260
- const packageClient = (args.dependencies.createPackageClient
261
- ?? ((value) => new TwelveUiConversionPackageClient(value)))(args.config);
262
- const winner = await imageWinner(pick.imagePath, 'The picked candidate');
263
- const pages = [...alreadyDone.values()];
262
+ const primary = redesignPrimaryPage(args.record.capture.pages);
264
263
  let record = args.record;
265
264
  for (const page of remaining) {
266
- const branchDir = path.join(args.paths.branchDir, page.id);
267
- await prepareOutputDirectory(branchDir);
268
- const concept = readConceptValue({
269
- value: `${args.direction} Rebuild the page at ${page.url}.`,
270
- flag: '--direction',
271
- trimHint: 'Shorten the direction; each page URL is appended automatically.',
272
- });
273
- const idempotencyKey = `redesign-branch:v2:${createHash('sha256')
274
- .update(`${args.record.createdAt}\u0000${page.id}`)
275
- .digest('hex')}`;
276
- const resume = Boolean(await readBranchAttempt(branchAttemptPath(branchDir)));
277
- const result = await (args.dependencies.executeBranch ?? executeBranchRun)({
278
- branchClient,
279
- packageClient,
280
- inputs: {
281
- outDir: branchDir,
282
- scope: 'page',
283
- concept,
284
- idempotencyKey,
285
- winner,
286
- maxScreens: args.maxScreens,
287
- convert: {
288
- output: 'html',
289
- model: args.conversionModel,
265
+ let draft;
266
+ try {
267
+ draft = draftForPage(record, page.id);
268
+ }
269
+ catch {
270
+ throw new CliRefusal(`Captured page ${page.id} has no page-specific draft in ${args.paths.runDir}.`
271
+ + ' Re-run with --from draft so each remaining page can buy its own candidates.', 'redesign_page_draft_missing');
272
+ }
273
+ const draftRunPaths = draftPaths(draft.runDir);
274
+ const draftRecord = await readDraftRecord(draftRunPaths.draftRecord);
275
+ if (!draftRecord)
276
+ throw new Error(`No draft record in ${draft.runDir}`);
277
+ const candidate = draftRecord.hosted.candidates.find((entry) => entry.id === slotLetter);
278
+ if (!candidate) {
279
+ throw new CliRefusal(`--slot must be one of ${draftRecord.hosted.candidates.map((entry) => entry.id).join(', ')}`, 'redesign_slot_invalid');
280
+ }
281
+ const completion = await readFile(draftRunPaths.completion, 'utf8')
282
+ .then((raw) => JSON.parse(raw))
283
+ .catch(() => undefined);
284
+ const materialized = completion?.candidates.find((entry) => entry.slot === candidate.slot);
285
+ if (!materialized) {
286
+ throw new CliRefusal(`Draft candidate ${slotLetter} is not materialized in ${draft.runDir};`
287
+ + ' run the draft stage again with --from draft --to draft.', 'redesign_pick_not_materialized');
288
+ }
289
+ record = {
290
+ ...record,
291
+ pick: withPickPages([
292
+ ...recordedPickPages(record),
293
+ {
294
+ pageId: page.id,
295
+ slot: candidate.id,
296
+ imagePath: materialized.path,
297
+ sha256: materialized.sha256,
290
298
  },
291
- },
292
- origin: args.config.origin,
293
- resume,
294
- pageConcurrency: 1,
295
- });
296
- const labelClient = (args.dependencies.createPrototypeLabelClient
297
- ?? ((value) => new TwelveUiPrototypeLabelClient(value)))(args.config);
298
- await (args.dependencies.runPrototype ?? runPrototypePoststep)({ branchDir, labelClient });
299
- pages.push({
300
- pageId: page.id,
301
- branchDir,
302
- runId: result.completion.runId,
303
- status: result.completion.status,
304
- completionPath: result.completionPath,
305
- });
306
- record = { ...record, branch: { pages: [...pages] } };
299
+ ], primary.id),
300
+ };
307
301
  await writeRedesignRecord(args.paths.record, record);
308
- if (result.failure)
309
- throw result.failure;
310
302
  }
311
303
  return record;
312
304
  };
313
305
  const runPolishStage = async (args) => {
314
306
  if (!args.record.branch)
315
307
  throw new Error('Cannot polish before branch has run');
308
+ if (!args.record.capture)
309
+ throw new Error('Cannot polish before capture has run');
310
+ let verified;
311
+ try {
312
+ verified = await verifyRedesignBranchPages({
313
+ record: args.record,
314
+ pages: args.record.capture.pages,
315
+ branchDirectory: (page) => redesignBranchPageDirectory({
316
+ paths: args.paths,
317
+ record: args.record,
318
+ pageId: page.id,
319
+ }),
320
+ branchConcept: (page) => readConceptValue({
321
+ value: `${args.record.direction} Rebuild the page at ${page.url}.`,
322
+ flag: '--direction',
323
+ trimHint: 'Shorten the direction; each page URL is appended automatically.',
324
+ }),
325
+ });
326
+ }
327
+ catch (error) {
328
+ if (error instanceof InvalidRedesignPageOwnershipError) {
329
+ throw new CliRefusal(`${error.message} Refusing polish.`, 'redesign_page_ownership_invalid', { cause: error });
330
+ }
331
+ if (error instanceof InvalidRedesignBranchArtifactError
332
+ || error instanceof InvalidRedesignBranchRecordError) {
333
+ throw new CliRefusal(`${error.message} Refusing polish.`, 'redesign_branch_artifact_invalid', { cause: error });
334
+ }
335
+ throw error;
336
+ }
337
+ const missing = verified.find((entry) => !entry.recorded);
338
+ if (missing) {
339
+ throw new CliRefusal(`Captured page ${missing.input.page.id} has no validated parent branch record; refusing polish.`, 'redesign_branch_missing');
340
+ }
341
+ const failure = verified.find((entry) => entry.adopted?.failure)?.adopted?.failure;
342
+ if (failure)
343
+ throw failure;
316
344
  const alreadyDone = new Map((args.record.polish?.pages ?? []).map((page) => [page.pageId, page]));
317
345
  const remaining = args.record.branch.pages.filter((page) => !alreadyDone.has(page.pageId));
318
346
  if (remaining.length === 0)
@@ -419,7 +447,12 @@ export const runRedesignCommand = async (command, flags, dependencies = {}) => {
419
447
  write(paths.runDir);
420
448
  dependencies.onRunDirectory?.(paths.runDir);
421
449
  dependencies.journal?.note({ workspace: paths.runDir });
422
- const existing = await readRedesignRecord(paths.record);
450
+ const existing = await readRedesignRecord(paths.record).catch((error) => {
451
+ if (error instanceof InvalidRedesignRecordError) {
452
+ throw new CliRefusal(`${error.message} Refusing to resume or start paid work in this directory.`, 'redesign_record_invalid', { cause: error });
453
+ }
454
+ throw error;
455
+ });
423
456
  if (!existing && !requestedDirection) {
424
457
  throw usageRefusal({
425
458
  reason: 'A redesign needs a visual direction in words, and --direction was not given.',
@@ -457,18 +490,20 @@ export const runRedesignCommand = async (command, flags, dependencies = {}) => {
457
490
  requestedMaxScreens: maxScreens,
458
491
  requestedConversionModel: conversionModel,
459
492
  });
460
- if (existing && requestedDirection && requestedDirection !== existing.direction) {
493
+ if (existing && redraw) {
461
494
  const { plan: _plan, draft: _draft, pick: _pick, branch: _branch, polish: _polish, ...retained } = existing;
462
495
  record = {
463
496
  ...retained,
464
497
  direction,
498
+ redrawGeneration: (existing.redrawGeneration ?? 0) + 1,
465
499
  requestedPages: pageCount,
466
500
  requestedCandidateCount: candidateCount,
467
501
  requestedMaxScreens: maxScreens,
468
502
  requestedConversionModel: conversionModel,
469
503
  };
470
- // A changed direction invalidates everything derived from it. Capture is
471
- // still the same frozen source; redraw begins with a new direction plan.
504
+ // A redraw invalidates every dependent paid identity even when its words
505
+ // are unchanged. Capture remains frozen; generation names the fresh plan,
506
+ // draft, child directory, and branch idempotency namespace.
472
507
  from = record.capture ? 'plan' : 'capture';
473
508
  await writeRedesignRecord(paths.record, record);
474
509
  }
@@ -500,21 +535,25 @@ export const runRedesignCommand = async (command, flags, dependencies = {}) => {
500
535
  if (withinRange('draft')) {
501
536
  record = await runDraftStage({ record, paths, candidateCount, flags, dependencies });
502
537
  }
503
- if (!record.draft) {
504
- throw new CliRefusal(`Stage draft has not run in ${paths.runDir}.`, 'redesign_draft_missing');
538
+ if (!record.draft || pagesNeedingDraft(record).length > 0) {
539
+ throw new CliRefusal(pagesNeedingDraft(record).length > 0
540
+ ? `Stage draft has not produced a page-specific candidate for ${pagesNeedingDraft(record).map((page) => page.id).join(', ')} in ${paths.runDir}. Re-run with --from draft.`
541
+ : `Stage draft has not run in ${paths.runDir}.`, 'redesign_draft_missing');
505
542
  }
506
543
  }
507
544
  if (needed('pick')) {
508
545
  if (withinRange('pick')) {
509
546
  record = await runPickStage({ record, paths, flags, warn });
510
547
  }
511
- if (!record.pick) {
512
- throw new CliRefusal(`Stage pick has not run in ${paths.runDir}.`, 'redesign_pick_missing');
548
+ if (!record.pick || pagesNeedingPick(record).length > 0) {
549
+ throw new CliRefusal(pagesNeedingPick(record).length > 0
550
+ ? `Stage pick has not materialized a page-specific candidate for ${pagesNeedingPick(record).map((page) => page.id).join(', ')} in ${paths.runDir}. Re-run with --from draft.`
551
+ : `Stage pick has not run in ${paths.runDir}.`, 'redesign_pick_missing');
513
552
  }
514
553
  }
515
554
  if (needed('branch')) {
516
555
  if (withinRange('branch')) {
517
- record = await runBranchStage({
556
+ record = await runRedesignBranchStage({
518
557
  record,
519
558
  paths,
520
559
  direction,
@@ -1 +1 @@
1
- {"version":3,"file":"cli-redesign-command.js","sourceRoot":"","sources":["../src/cli-redesign-command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli-redesign-command.js","sourceRoot":"","sources":["../src/cli-redesign-command.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,32 @@ export type { ConversionOutput } from './conversion-outputs.js';
7
7
  export type ConversionStatus = 'queued' | 'running' | 'succeeded' | 'failed' | 'expired';
8
8
  export declare const LAYERDOC_V2_MEDIA_TYPE: "application/vnd.12ui.layerdoc+json;version=2";
9
9
  export declare const MAX_LAYERDOC_INPUT_BYTES: number;
10
- /** Matches the deployed conversion watchdog's running-heartbeat bound. */
10
+ /**
11
+ * How long a running operation's published heartbeat may lag before the client
12
+ * DESCRIBES the wait that just ended as stalled rather than merely unfinished.
13
+ *
14
+ * This is a sentence, never a deadline. It was a deadline until 2026-09-04, on
15
+ * the premise stated here — that it matched the deployed watchdog — and that
16
+ * premise is false in both directions:
17
+ *
18
+ * - The server's reclaim window for a stage holding an in-flight paid effect
19
+ * is `max(image timeout, text timeout) + STAGE_SILENCE_CEILING_MS`
20
+ * (`workers/api/src/conversion/stageLeaseRecovery.ts`), which is 515s in
21
+ * production. `CONVERSION_STAGE_STALE_MS = 180000` stopped deciding that
22
+ * window on 2026-08-06. Three minutes is inside the window, not at it.
23
+ * - A parent awaiting child conversions publishes no heartbeat at all:
24
+ * `deferStageForDependencies` parks its stage `queued`, so
25
+ * `heartbeatStageLease`'s `status = 'running'` guard stops matching the run
26
+ * row for the whole dependency wait. The measured median child conversion
27
+ * is 243s, so more than half of those waits look silent for longer than
28
+ * three minutes while the run is perfectly healthy.
29
+ *
30
+ * Both windows are also env-derived per deployment, so no constant compiled
31
+ * into a client can track them. `updated_at` age therefore cannot tell a dead
32
+ * run from a healthy quiet one, and this module no longer asks it to: the
33
+ * caller's own bound ends the wait, and this threshold only decides which true
34
+ * sentence the caller is handed when it does.
35
+ */
11
36
  export declare const CONVERSION_RUNNING_STALE_MS: number;
12
37
  export type ConversionRevisionBoundary = {
13
38
  kind: 'pipeline' | 'package';
@@ -216,18 +241,25 @@ export type ConversionWaitOptions = {
216
241
  * An overall client-side wall clock. This is deliberately distinct from the
217
242
  * liveness policy below: callers that know a conversion remains live can
218
243
  * keep collecting it without treating a healthy long wall as a failed
219
- * purchase.
244
+ * purchase. Absent, and with no `stallTimeoutMs` either, the wait runs the
245
+ * default wall below.
220
246
  */
221
247
  timeoutMs?: number;
222
248
  /**
223
249
  * The optional no-progress portion of this client's single wait policy:
224
- * terminal results settle immediately; a running operation whose
225
- * `updated_at` is at least the service watchdog age raises
226
- * `ConversionStalledError` regardless of this bound; otherwise each fresh
227
- * non-304 running stage or active-lane observation resets this bound.
228
- * Queued work has no liveness fact, so it expires at this bound.
250
+ * terminal results settle immediately; each fresh non-304 running stage or
251
+ * active-lane observation resets this bound. Queued work has no liveness
252
+ * fact, so it expires at this bound. A caller that sets it is saying it will
253
+ * wait for as long as the service keeps showing progress, so it takes no
254
+ * default wall — only `expiresAt` caps it.
229
255
  */
230
256
  stallTimeoutMs?: number;
257
+ /**
258
+ * When the operation's result stops being collectable. It CAPS the wall; it
259
+ * never supplies one. It is a seven-day artifact retention horizon, not a
260
+ * measure of anyone's patience, and reading it as a wall left every caller
261
+ * that passes it — which is all of them — with no effective wall at all.
262
+ */
231
263
  expiresAt?: string;
232
264
  signal?: AbortSignal;
233
265
  /**
@@ -345,9 +377,15 @@ export declare class ConversionClientError extends Error {
345
377
  constructor(message: string, status: number, problem: ConversionProblem, retryAfterMs: number | null);
346
378
  }
347
379
  /**
348
- * The service has left a running operation without a heartbeat beyond its
349
- * watchdog bound. This is recoverable from the operation's original durable
350
- * record; callers must not create another paid conversion to escape it.
380
+ * The caller's wait ended while the operation was still running and quiet.
381
+ *
382
+ * This is a description of the wait, not a verdict on the run. The run is
383
+ * recoverable from its own durable record, and callers must not create another
384
+ * paid conversion to escape it. The previous wording promised the reader that
385
+ * "the server watchdog" would "record recovery"; on the 2026-09-03 population
386
+ * there was nothing to recover — the runs were mid-dependency-wait and settled
387
+ * on their own — and the client exiting was the only thing that stopped anyone
388
+ * collecting them.
351
389
  */
352
390
  export declare class ConversionStalledError extends Error {
353
391
  readonly operation: ConversionOperation;