@12ui/design 0.2.92 → 0.2.93

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 (153) hide show
  1. package/SKILL.md +1 -1
  2. package/dist/branch-client.d.ts +8 -0
  3. package/dist/branch-client.d.ts.map +1 -1
  4. package/dist/branch-client.js +1 -0
  5. package/dist/branch-client.js.map +1 -1
  6. package/dist/branch-completion.d.ts +2 -0
  7. package/dist/branch-completion.d.ts.map +1 -1
  8. package/dist/branch-completion.js +1 -1
  9. package/dist/branch-completion.js.map +1 -1
  10. package/dist/branch-core/branch-planner.d.ts +25 -11
  11. package/dist/branch-core/branch-planner.d.ts.map +1 -1
  12. package/dist/branch-core/branch-planner.js +67 -25
  13. package/dist/branch-core/branch-planner.js.map +1 -1
  14. package/dist/branch-core/branch-scope.d.ts +73 -0
  15. package/dist/branch-core/branch-scope.d.ts.map +1 -0
  16. package/dist/branch-core/branch-scope.js +88 -0
  17. package/dist/branch-core/branch-scope.js.map +1 -0
  18. package/dist/branch-core/index.d.ts +2 -1
  19. package/dist/branch-core/index.d.ts.map +1 -1
  20. package/dist/branch-core/index.js +1 -0
  21. package/dist/branch-core/index.js.map +1 -1
  22. package/dist/branch-execution.d.ts +14 -1
  23. package/dist/branch-execution.d.ts.map +1 -1
  24. package/dist/branch-execution.js +56 -13
  25. package/dist/branch-execution.js.map +1 -1
  26. package/dist/branch-identity.d.ts +22 -1
  27. package/dist/branch-identity.d.ts.map +1 -1
  28. package/dist/branch-identity.js +23 -4
  29. package/dist/branch-identity.js.map +1 -1
  30. package/dist/branch-local-client.d.ts.map +1 -1
  31. package/dist/branch-local-client.js +2 -1
  32. package/dist/branch-local-client.js.map +1 -1
  33. package/dist/branch-local-plan.d.ts +3 -0
  34. package/dist/branch-local-plan.d.ts.map +1 -1
  35. package/dist/branch-local-plan.js +1 -0
  36. package/dist/branch-local-plan.js.map +1 -1
  37. package/dist/branch-page-conversion.js +1 -1
  38. package/dist/branch-page-conversion.js.map +1 -1
  39. package/dist/branch-page-rollover.js +2 -2
  40. package/dist/branch-page-rollover.js.map +1 -1
  41. package/dist/branch-plan.d.ts +9 -0
  42. package/dist/branch-plan.d.ts.map +1 -1
  43. package/dist/branch-plan.js +3 -0
  44. package/dist/branch-plan.js.map +1 -1
  45. package/dist/branch-run-outcome.d.ts +24 -0
  46. package/dist/branch-run-outcome.d.ts.map +1 -0
  47. package/dist/branch-run-outcome.js +31 -0
  48. package/dist/branch-run-outcome.js.map +1 -0
  49. package/dist/branch-run-record.d.ts +13 -0
  50. package/dist/branch-run-record.d.ts.map +1 -1
  51. package/dist/branch-run-record.js.map +1 -1
  52. package/dist/branch-run-supersede.d.ts +41 -0
  53. package/dist/branch-run-supersede.d.ts.map +1 -0
  54. package/dist/branch-run-supersede.js +64 -0
  55. package/dist/branch-run-supersede.js.map +1 -0
  56. package/dist/cli-arguments.d.ts.map +1 -1
  57. package/dist/cli-arguments.js +1 -0
  58. package/dist/cli-arguments.js.map +1 -1
  59. package/dist/cli-branch-command.d.ts.map +1 -1
  60. package/dist/cli-branch-command.js +13 -1
  61. package/dist/cli-branch-command.js.map +1 -1
  62. package/dist/cli-help/design.d.ts +2 -2
  63. package/dist/cli-help/design.d.ts.map +1 -1
  64. package/dist/cli-help/design.js +2 -1
  65. package/dist/cli-help/design.js.map +1 -1
  66. package/dist/cli-help/index.d.ts +2 -2
  67. package/dist/mcp-slate-ui-copy.d.ts +16 -6
  68. package/dist/mcp-slate-ui-copy.d.ts.map +1 -1
  69. package/dist/mcp-slate-ui-copy.js +11 -4
  70. package/dist/mcp-slate-ui-copy.js.map +1 -1
  71. package/dist/mcp-slate-ui-locales/de-DE.d.ts.map +1 -1
  72. package/dist/mcp-slate-ui-locales/de-DE.js +8 -3
  73. package/dist/mcp-slate-ui-locales/de-DE.js.map +1 -1
  74. package/dist/mcp-slate-ui-locales/es-419.d.ts.map +1 -1
  75. package/dist/mcp-slate-ui-locales/es-419.js +8 -3
  76. package/dist/mcp-slate-ui-locales/es-419.js.map +1 -1
  77. package/dist/mcp-slate-ui-locales/es-ES.d.ts.map +1 -1
  78. package/dist/mcp-slate-ui-locales/es-ES.js +8 -3
  79. package/dist/mcp-slate-ui-locales/es-ES.js.map +1 -1
  80. package/dist/mcp-slate-ui-locales/fr-FR.d.ts.map +1 -1
  81. package/dist/mcp-slate-ui-locales/fr-FR.js +8 -3
  82. package/dist/mcp-slate-ui-locales/fr-FR.js.map +1 -1
  83. package/dist/mcp-slate-ui-locales/hi-IN.d.ts.map +1 -1
  84. package/dist/mcp-slate-ui-locales/hi-IN.js +8 -3
  85. package/dist/mcp-slate-ui-locales/hi-IN.js.map +1 -1
  86. package/dist/mcp-slate-ui-locales/it-IT.d.ts.map +1 -1
  87. package/dist/mcp-slate-ui-locales/it-IT.js +7 -2
  88. package/dist/mcp-slate-ui-locales/it-IT.js.map +1 -1
  89. package/dist/mcp-slate-ui-locales/ja-JP.d.ts.map +1 -1
  90. package/dist/mcp-slate-ui-locales/ja-JP.js +7 -2
  91. package/dist/mcp-slate-ui-locales/ja-JP.js.map +1 -1
  92. package/dist/mcp-slate-ui-locales/ko-KR.d.ts.map +1 -1
  93. package/dist/mcp-slate-ui-locales/ko-KR.js +8 -3
  94. package/dist/mcp-slate-ui-locales/ko-KR.js.map +1 -1
  95. package/dist/mcp-slate-ui-locales/pt-BR.d.ts.map +1 -1
  96. package/dist/mcp-slate-ui-locales/pt-BR.js +8 -3
  97. package/dist/mcp-slate-ui-locales/pt-BR.js.map +1 -1
  98. package/dist/mcp-slate-ui-locales/zh-CN.d.ts.map +1 -1
  99. package/dist/mcp-slate-ui-locales/zh-CN.js +8 -3
  100. package/dist/mcp-slate-ui-locales/zh-CN.js.map +1 -1
  101. package/dist/mcp-slate-ui-locales/zh-TW.d.ts.map +1 -1
  102. package/dist/mcp-slate-ui-locales/zh-TW.js +8 -3
  103. package/dist/mcp-slate-ui-locales/zh-TW.js.map +1 -1
  104. package/dist/mcp-slate-ui-script-designs.d.ts.map +1 -1
  105. package/dist/mcp-slate-ui-script-designs.js +25 -4
  106. package/dist/mcp-slate-ui-script-designs.js.map +1 -1
  107. package/dist/mcp-slate-ui-script-remote.js +2 -2
  108. package/dist/mcp-slate-ui-script-viewer.d.ts +4 -3
  109. package/dist/mcp-slate-ui-script-viewer.d.ts.map +1 -1
  110. package/dist/mcp-slate-ui-script-viewer.js +13 -4
  111. package/dist/mcp-slate-ui-script-viewer.js.map +1 -1
  112. package/dist/mcp-slate-ui-styles-designs.d.ts.map +1 -1
  113. package/dist/mcp-slate-ui-styles-designs.js +7 -0
  114. package/dist/mcp-slate-ui-styles-designs.js.map +1 -1
  115. package/dist/slate-branch-runner.d.ts.map +1 -1
  116. package/dist/slate-branch-runner.js +19 -2
  117. package/dist/slate-branch-runner.js.map +1 -1
  118. package/dist/slate-retry.d.ts +2 -1
  119. package/dist/slate-retry.d.ts.map +1 -1
  120. package/dist/slate-retry.js +32 -0
  121. package/dist/slate-retry.js.map +1 -1
  122. package/dist/slate-run-action.js +9 -4
  123. package/dist/slate-run-action.js.map +1 -1
  124. package/dist/slate-view-contract.d.ts +9 -1
  125. package/dist/slate-view-contract.d.ts.map +1 -1
  126. package/dist/slate-view-contract.js +3 -1
  127. package/dist/slate-view-contract.js.map +1 -1
  128. package/dist/slate-view.d.ts.map +1 -1
  129. package/dist/slate-view.js +1 -0
  130. package/dist/slate-view.js.map +1 -1
  131. package/dist/slate-workspace-parse.d.ts.map +1 -1
  132. package/dist/slate-workspace-parse.js +4 -0
  133. package/dist/slate-workspace-parse.js.map +1 -1
  134. package/dist/slate-workspace-types.d.ts +8 -0
  135. package/dist/slate-workspace-types.d.ts.map +1 -1
  136. package/dist/workspace-draw-branch.d.ts +2 -1
  137. package/dist/workspace-draw-branch.d.ts.map +1 -1
  138. package/dist/workspace-draw-branch.js +14 -5
  139. package/dist/workspace-draw-branch.js.map +1 -1
  140. package/dist/workspace-draw-client.d.ts +1 -0
  141. package/dist/workspace-draw-client.d.ts.map +1 -1
  142. package/dist/workspace-draw-client.js +6 -3
  143. package/dist/workspace-draw-client.js.map +1 -1
  144. package/dist/workspace-draw-messages.d.ts +13 -0
  145. package/dist/workspace-draw-messages.d.ts.map +1 -1
  146. package/dist/workspace-draw-messages.js +17 -0
  147. package/dist/workspace-draw-messages.js.map +1 -1
  148. package/dist/workspace-draw-types.d.ts +1 -0
  149. package/dist/workspace-draw-types.d.ts.map +1 -1
  150. package/dist/workspace-draw-types.js +2 -0
  151. package/dist/workspace-draw-types.js.map +1 -1
  152. package/open-design.json +2 -2
  153. package/package.json +1 -1
@@ -0,0 +1,73 @@
1
+ /**
2
+ * THE scope policy of a branch: what the person chose to grow from the
3
+ * approved screen, said to the planner and applied to its answer. One module
4
+ * owns both halves so the words the planner reads and the rule its answer is
5
+ * held to can never drift apart (CLAUDE.md item 9).
6
+ *
7
+ * - `site` (the default, and every caller that predates scope): the web
8
+ * /branch plan — the source page continued where it needs it, plus the
9
+ * further pages or routes the planner chooses.
10
+ * - `page`: the person chose to continue this same page below the approved
11
+ * screen. The planner is told so, told to plan no other pages, and told that
12
+ * a visible footer is the only reason to plan no continuation. Its answer is
13
+ * then read as that choice: the source page's own continuations answer it,
14
+ * screens filed under additional pages continue the source page when it has
15
+ * none of its own (the provider schema stays permissive, CLAUDE.md item 2),
16
+ * and zero continuations is a valid plan only when the planner itself
17
+ * declared that the approved screen already ends.
18
+ *
19
+ * Also here, for both scopes: the brief the planner quotes was written for the
20
+ * approved screen (the first-screen round), so a first-viewport limit in it
21
+ * describes that screen and never limits the branch.
22
+ */
23
+ export declare const BRANCH_PLAN_SCOPES: readonly ["page", "site"];
24
+ export type BranchPlanScope = (typeof BRANCH_PLAN_SCOPES)[number];
25
+ export declare const isBranchPlanScope: (value: unknown) => value is BranchPlanScope;
26
+ /** Both scopes: the brief describes the approved screen, so its first-screen limits do not bound the branch. */
27
+ export declare const BRANCH_BRIEF_SCOPE_NOTE = "The original brief was written for the approved screen, the first screen of this design. Any limit it sets to the first viewport, one screen or a single view described that screen only and does not limit this branch.";
28
+ /** Page scope: the person's choice, said as the planner's task. */
29
+ export declare const PAGE_SCOPE_TASK = "The person chose to continue this same page below the approved screen. Plan its source continuations: the sections a visitor reaches next by scrolling down this page, each adding something the approved screen does not already say.";
30
+ export declare const PAGE_SCOPE_NO_OTHER_PAGES = "Keep additionalPages empty: this branch designs no other pages or routes.";
31
+ export declare const PAGE_SCOPE_FOOTER_RULE = "A visible footer is the only reason to return no continuations. Set sourceEndsHere to true and leave the source viewports empty only when the approved screen visibly closes with its webpage footer; otherwise set sourceEndsHere to false and plan at least one continuation below it.";
32
+ export declare const PAGE_SCOPE_STATUS_UPDATE = "Set statusUpdate to one or two concise first-person sentences explaining what you chose to add below the approved screen and how it completes this page. Speak directly to the user. Do not mention internal planning, models, generation mechanics, implementation details, or visual decisions.";
33
+ export declare const PAGE_SCOPE_ONE_SCREEN = "Exactly one generated screen can fit: plan one source continuation.";
34
+ export declare const PAGE_SCOPE_FOLLOW_BRIEF = "Follow the original brief for what this page still needs to say below the approved screen.";
35
+ export declare const pageScopeScreenBudget: (cap: number) => string;
36
+ type ScopedViewport = {
37
+ content: string;
38
+ slotType?: unknown;
39
+ targetWords?: unknown;
40
+ };
41
+ type ScopedPage<V extends ScopedViewport> = {
42
+ kind: 'source' | 'additional';
43
+ pageType: string;
44
+ sourceEndsHere?: boolean;
45
+ viewports: V[];
46
+ };
47
+ /**
48
+ * ARBITRATION (page scope): the planner's answer read as the person's choice.
49
+ * Fires only under page scope; site scope never reaches it.
50
+ *
51
+ * - The source page's own continuations are the answer to the page: any
52
+ * further pages the planner added anyway are dropped (the person chose this
53
+ * page, and the prompt asked for no others).
54
+ * - When the source page has none of its own but the planner filed screens
55
+ * under additional pages, those screens are the only plan it made of what
56
+ * comes next, so they continue the source page, in plan order, up to its
57
+ * continuation cap (a misfiled representation, CLAUDE.md item 2, resolved
58
+ * without another paid call). A source page that is not editorial cannot
59
+ * carry the editorial slot contract, so a borrowed screen sheds it.
60
+ * - A plan with continuations does not end here, whatever sourceEndsHere said:
61
+ * the person asked for the page to go on and the planner wrote how.
62
+ * - A plan with none is valid only when the planner declared the end
63
+ * (sourceEndsHere true: the approved screen visibly closes with its footer).
64
+ * Without that declaration it is a structural defect, so the bounded retry
65
+ * runs; "no continuations" is never taken to mean "already complete".
66
+ */
67
+ export declare const resolvePageScopePages: <V extends ScopedViewport, P extends ScopedPage<V>>(args: {
68
+ pages: P[];
69
+ sourceCap: (source: P) => number;
70
+ anomalies: string[];
71
+ }) => P[];
72
+ export {};
73
+ //# sourceMappingURL=branch-scope.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"branch-scope.d.ts","sourceRoot":"","sources":["../../src/branch-core/branch-scope.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,eAAO,MAAM,kBAAkB,2BAA4B,CAAC;AAC5D,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAElE,eAAO,MAAM,iBAAiB,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,eAE3D,CAAC;AAEF,gHAAgH;AAChH,eAAO,MAAM,uBAAuB,6NAA6N,CAAC;AAElQ,mEAAmE;AACnE,eAAO,MAAM,eAAe,2OAA2O,CAAC;AACxQ,eAAO,MAAM,yBAAyB,8EAA8E,CAAC;AACrH,eAAO,MAAM,sBAAsB,6RAA6R,CAAC;AACjU,eAAO,MAAM,wBAAwB,sSAAsS,CAAC;AAC5U,eAAO,MAAM,qBAAqB,wEAAwE,CAAC;AAC3G,eAAO,MAAM,uBAAuB,+FAA+F,CAAC;AAEpI,eAAO,MAAM,qBAAqB,GAAI,KAAK,MAAM,KAAG,MAEnD,CAAC;AAEF,KAAK,cAAc,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AACrF,KAAK,UAAU,CAAC,CAAC,SAAS,cAAc,IAAI;IAC1C,IAAI,EAAE,QAAQ,GAAG,YAAY,CAAC;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,SAAS,EAAE,CAAC,EAAE,CAAC;CAChB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,qBAAqB,GAAI,CAAC,SAAS,cAAc,EAAE,CAAC,SAAS,UAAU,CAAC,CAAC,CAAC,EAAE,MAAM;IAC7F,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,SAAS,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,MAAM,CAAC;IACjC,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB,KAAG,CAAC,EA2BJ,CAAC"}
@@ -0,0 +1,88 @@
1
+ // GENERATED — do not edit. Copied verbatim from
2
+ // packages/layerdoc/src/branch-core by scripts/sync-improve-core.mjs.
3
+ /**
4
+ * THE scope policy of a branch: what the person chose to grow from the
5
+ * approved screen, said to the planner and applied to its answer. One module
6
+ * owns both halves so the words the planner reads and the rule its answer is
7
+ * held to can never drift apart (CLAUDE.md item 9).
8
+ *
9
+ * - `site` (the default, and every caller that predates scope): the web
10
+ * /branch plan — the source page continued where it needs it, plus the
11
+ * further pages or routes the planner chooses.
12
+ * - `page`: the person chose to continue this same page below the approved
13
+ * screen. The planner is told so, told to plan no other pages, and told that
14
+ * a visible footer is the only reason to plan no continuation. Its answer is
15
+ * then read as that choice: the source page's own continuations answer it,
16
+ * screens filed under additional pages continue the source page when it has
17
+ * none of its own (the provider schema stays permissive, CLAUDE.md item 2),
18
+ * and zero continuations is a valid plan only when the planner itself
19
+ * declared that the approved screen already ends.
20
+ *
21
+ * Also here, for both scopes: the brief the planner quotes was written for the
22
+ * approved screen (the first-screen round), so a first-viewport limit in it
23
+ * describes that screen and never limits the branch.
24
+ */
25
+ export const BRANCH_PLAN_SCOPES = ['page', 'site'];
26
+ export const isBranchPlanScope = (value) => (typeof value === 'string' && BRANCH_PLAN_SCOPES.includes(value));
27
+ /** Both scopes: the brief describes the approved screen, so its first-screen limits do not bound the branch. */
28
+ export const BRANCH_BRIEF_SCOPE_NOTE = 'The original brief was written for the approved screen, the first screen of this design. Any limit it sets to the first viewport, one screen or a single view described that screen only and does not limit this branch.';
29
+ /** Page scope: the person's choice, said as the planner's task. */
30
+ export const PAGE_SCOPE_TASK = 'The person chose to continue this same page below the approved screen. Plan its source continuations: the sections a visitor reaches next by scrolling down this page, each adding something the approved screen does not already say.';
31
+ export const PAGE_SCOPE_NO_OTHER_PAGES = 'Keep additionalPages empty: this branch designs no other pages or routes.';
32
+ export const PAGE_SCOPE_FOOTER_RULE = 'A visible footer is the only reason to return no continuations. Set sourceEndsHere to true and leave the source viewports empty only when the approved screen visibly closes with its webpage footer; otherwise set sourceEndsHere to false and plan at least one continuation below it.';
33
+ export const PAGE_SCOPE_STATUS_UPDATE = 'Set statusUpdate to one or two concise first-person sentences explaining what you chose to add below the approved screen and how it completes this page. Speak directly to the user. Do not mention internal planning, models, generation mechanics, implementation details, or visual decisions.';
34
+ export const PAGE_SCOPE_ONE_SCREEN = 'Exactly one generated screen can fit: plan one source continuation.';
35
+ export const PAGE_SCOPE_FOLLOW_BRIEF = 'Follow the original brief for what this page still needs to say below the approved screen.';
36
+ export const pageScopeScreenBudget = (cap) => (`Plan at most ${cap} screens in total. Prefer fewer, stronger screens over filling the budget.`);
37
+ /**
38
+ * ARBITRATION (page scope): the planner's answer read as the person's choice.
39
+ * Fires only under page scope; site scope never reaches it.
40
+ *
41
+ * - The source page's own continuations are the answer to the page: any
42
+ * further pages the planner added anyway are dropped (the person chose this
43
+ * page, and the prompt asked for no others).
44
+ * - When the source page has none of its own but the planner filed screens
45
+ * under additional pages, those screens are the only plan it made of what
46
+ * comes next, so they continue the source page, in plan order, up to its
47
+ * continuation cap (a misfiled representation, CLAUDE.md item 2, resolved
48
+ * without another paid call). A source page that is not editorial cannot
49
+ * carry the editorial slot contract, so a borrowed screen sheds it.
50
+ * - A plan with continuations does not end here, whatever sourceEndsHere said:
51
+ * the person asked for the page to go on and the planner wrote how.
52
+ * - A plan with none is valid only when the planner declared the end
53
+ * (sourceEndsHere true: the approved screen visibly closes with its footer).
54
+ * Without that declaration it is a structural defect, so the bounded retry
55
+ * runs; "no continuations" is never taken to mean "already complete".
56
+ */
57
+ export const resolvePageScopePages = (args) => {
58
+ const source = args.pages.find((page) => page.kind === 'source');
59
+ if (!source)
60
+ throw new Error('sourcePage is missing.');
61
+ const others = args.pages.filter((page) => page.kind !== 'source' && page.viewports.length > 0);
62
+ let viewports = source.viewports;
63
+ if (others.length > 0 && viewports.length > 0) {
64
+ args.anomalies.push(`Page scope: dropped ${others.length} additional page(s); the source page's own continuations answer the page.`);
65
+ }
66
+ else if (others.length > 0) {
67
+ viewports = others.flatMap((page) => page.viewports.map((viewport) => {
68
+ if (source.pageType === 'editorial')
69
+ return viewport;
70
+ const { slotType: _slotType, targetWords: _targetWords, ...rest } = viewport;
71
+ return rest;
72
+ }));
73
+ args.anomalies.push(`Page scope: read ${viewports.length} screen(s) planned under additionalPages as continuations of the source page.`);
74
+ }
75
+ const cap = args.sourceCap(source);
76
+ if (viewports.length > cap) {
77
+ args.anomalies.push(`Page scope: kept the first ${cap} of ${viewports.length} continuations.`);
78
+ viewports = viewports.slice(0, cap);
79
+ }
80
+ if (viewports.length === 0 && source.sourceEndsHere !== true) {
81
+ throw new Error('sourcePage planned no continuation of this page and declared no footer ending.');
82
+ }
83
+ if (viewports.length > 0 && source.sourceEndsHere === true) {
84
+ args.anomalies.push('Page scope: sourcePage.sourceEndsHere was true with continuations planned; kept the continuations.');
85
+ }
86
+ return [{ ...source, viewports, sourceEndsHere: viewports.length === 0 }];
87
+ };
88
+ //# sourceMappingURL=branch-scope.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"branch-scope.js","sourceRoot":"","sources":["../../src/branch-core/branch-scope.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,8 @@
11
11
  */
12
12
  export { BRANCH_PAGE_TYPES, BRANCH_PLAN_SCHEMA_VERSION, BRANCH_SURFACE_TYPES, BRANCH_VIEWPORT_SLOT_TYPES, BUILD_SLOTS, branchContentSlotId, branchPlanCells, type BranchCell, type BranchCellPlacement, type BranchPageType, type BranchPlan, type BranchPlanPage, type BranchPlanViewport, type BranchSurfaceType, type BranchViewportSlotType, type BuildSlot, } from './branch-plan-model.js';
13
13
  export { CREATE_ASPECT_SIZES, branchAspectForCanvas, branchCanvasDecision, branchProviderCanvas, parseBranchCanvasDecision, resolveBranchPlanCanvases, type BranchAspect, type BranchCanvas, type BranchCanvasDecision, } from './branch-canvas.js';
14
- export { BRANCH_PLANNER_SYSTEM_PROMPT, BUILD_PLAN_MODEL, MAX_BRANCH_ADDITIONAL_PAGES, MAX_BRANCH_CELLS, MAX_BRANCH_SOURCE_CONTINUATIONS, MAX_BRANCH_VIEWPORTS, MAX_EDITORIAL_BRANCH_SOURCE_CONTINUATIONS, MIN_BRANCH_ADDITIONAL_PAGES, MIN_BRANCH_VIEWPORTS, branchBriefRequestsLongFormSamePage, branchConceptText, branchPlanParseOptions, branchPlanResponseSchema, branchScreenCap, buildBranchPlannerPrompt, parseBranchPlan, } from './branch-planner.js';
14
+ export { BRANCH_PLANNER_SYSTEM_PROMPT, BUILD_PLAN_MODEL, MAX_BRANCH_ADDITIONAL_PAGES, MAX_BRANCH_CELLS, MAX_BRANCH_SOURCE_CONTINUATIONS, MAX_BRANCH_VIEWPORTS, MAX_EDITORIAL_BRANCH_SOURCE_CONTINUATIONS, MIN_BRANCH_ADDITIONAL_PAGES, MIN_BRANCH_VIEWPORTS, branchBriefRequestsLongFormSamePage, branchConceptText, branchPlanParseOptions, branchPlanResponseSchema, branchScreenCap, buildBranchPlannerPrompt, parseBranchPlan, type BranchPlanParseOptions, } from './branch-planner.js';
15
+ export { BRANCH_PLAN_SCOPES, isBranchPlanScope, type BranchPlanScope, } from './branch-scope.js';
15
16
  export { branchPromptFor, buildBranchGenerationPrompt, type BranchGenerationPromptInput, } from './branch-prompt.js';
16
17
  export { branchFooterSeedSlot, branchGenerationSourceKeys, evaluateBranchDispatchGate, type BranchCandidateState, type BranchDispatchGate, type BranchReferenceRole, type BranchReferenceSlotInputs, } from './branch-gates.js';
17
18
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/branch-core/index.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;GAUG;AACH,OAAO,EACL,iBAAiB,EACjB,0BAA0B,EAC1B,oBAAoB,EACpB,0BAA0B,EAC1B,WAAW,EACX,mBAAmB,EACnB,eAAe,EACf,KAAK,UAAU,EACf,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,SAAS,GACf,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,yBAAyB,EACzB,yBAAyB,EACzB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,oBAAoB,GAC1B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,4BAA4B,EAC5B,gBAAgB,EAChB,2BAA2B,EAC3B,gBAAgB,EAChB,+BAA+B,EAC/B,oBAAoB,EACpB,yCAAyC,EACzC,2BAA2B,EAC3B,oBAAoB,EACpB,mCAAmC,EACnC,iBAAiB,EACjB,sBAAsB,EACtB,wBAAwB,EACxB,eAAe,EACf,wBAAwB,EACxB,eAAe,GAChB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,eAAe,EACf,2BAA2B,EAC3B,KAAK,2BAA2B,GACjC,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,oBAAoB,EACpB,0BAA0B,EAC1B,0BAA0B,EAC1B,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,yBAAyB,GAC/B,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/branch-core/index.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;GAUG;AACH,OAAO,EACL,iBAAiB,EACjB,0BAA0B,EAC1B,oBAAoB,EACpB,0BAA0B,EAC1B,WAAW,EACX,mBAAmB,EACnB,eAAe,EACf,KAAK,UAAU,EACf,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,SAAS,GACf,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,yBAAyB,EACzB,yBAAyB,EACzB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,oBAAoB,GAC1B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,4BAA4B,EAC5B,gBAAgB,EAChB,2BAA2B,EAC3B,gBAAgB,EAChB,+BAA+B,EAC/B,oBAAoB,EACpB,yCAAyC,EACzC,2BAA2B,EAC3B,oBAAoB,EACpB,mCAAmC,EACnC,iBAAiB,EACjB,sBAAsB,EACtB,wBAAwB,EACxB,eAAe,EACf,wBAAwB,EACxB,eAAe,EACf,KAAK,sBAAsB,GAC5B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,KAAK,eAAe,GACrB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,eAAe,EACf,2BAA2B,EAC3B,KAAK,2BAA2B,GACjC,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,oBAAoB,EACpB,0BAA0B,EAC1B,0BAA0B,EAC1B,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,yBAAyB,GAC/B,MAAM,mBAAmB,CAAC"}
@@ -14,6 +14,7 @@
14
14
  export { BRANCH_PAGE_TYPES, BRANCH_PLAN_SCHEMA_VERSION, BRANCH_SURFACE_TYPES, BRANCH_VIEWPORT_SLOT_TYPES, BUILD_SLOTS, branchContentSlotId, branchPlanCells, } from './branch-plan-model.js';
15
15
  export { CREATE_ASPECT_SIZES, branchAspectForCanvas, branchCanvasDecision, branchProviderCanvas, parseBranchCanvasDecision, resolveBranchPlanCanvases, } from './branch-canvas.js';
16
16
  export { BRANCH_PLANNER_SYSTEM_PROMPT, BUILD_PLAN_MODEL, MAX_BRANCH_ADDITIONAL_PAGES, MAX_BRANCH_CELLS, MAX_BRANCH_SOURCE_CONTINUATIONS, MAX_BRANCH_VIEWPORTS, MAX_EDITORIAL_BRANCH_SOURCE_CONTINUATIONS, MIN_BRANCH_ADDITIONAL_PAGES, MIN_BRANCH_VIEWPORTS, branchBriefRequestsLongFormSamePage, branchConceptText, branchPlanParseOptions, branchPlanResponseSchema, branchScreenCap, buildBranchPlannerPrompt, parseBranchPlan, } from './branch-planner.js';
17
+ export { BRANCH_PLAN_SCOPES, isBranchPlanScope, } from './branch-scope.js';
17
18
  export { branchPromptFor, buildBranchGenerationPrompt, } from './branch-prompt.js';
18
19
  export { branchFooterSeedSlot, branchGenerationSourceKeys, evaluateBranchDispatchGate, } from './branch-gates.js';
19
20
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/branch-core/index.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAChD,sEAAsE;AAEtE;;;;;;;;;;GAUG;AACH,OAAO,EACL,iBAAiB,EACjB,0BAA0B,EAC1B,oBAAoB,EACpB,0BAA0B,EAC1B,WAAW,EACX,mBAAmB,EACnB,eAAe,GAUhB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,yBAAyB,EACzB,yBAAyB,GAI1B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,4BAA4B,EAC5B,gBAAgB,EAChB,2BAA2B,EAC3B,gBAAgB,EAChB,+BAA+B,EAC/B,oBAAoB,EACpB,yCAAyC,EACzC,2BAA2B,EAC3B,oBAAoB,EACpB,mCAAmC,EACnC,iBAAiB,EACjB,sBAAsB,EACtB,wBAAwB,EACxB,eAAe,EACf,wBAAwB,EACxB,eAAe,GAChB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,eAAe,EACf,2BAA2B,GAE5B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,oBAAoB,EACpB,0BAA0B,EAC1B,0BAA0B,GAK3B,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/branch-core/index.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAChD,sEAAsE;AAEtE;;;;;;;;;;GAUG;AACH,OAAO,EACL,iBAAiB,EACjB,0BAA0B,EAC1B,oBAAoB,EACpB,0BAA0B,EAC1B,WAAW,EACX,mBAAmB,EACnB,eAAe,GAUhB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,yBAAyB,EACzB,yBAAyB,GAI1B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,4BAA4B,EAC5B,gBAAgB,EAChB,2BAA2B,EAC3B,gBAAgB,EAChB,+BAA+B,EAC/B,oBAAoB,EACpB,yCAAyC,EACzC,2BAA2B,EAC3B,oBAAoB,EACpB,mCAAmC,EACnC,iBAAiB,EACjB,sBAAsB,EACtB,wBAAwB,EACxB,eAAe,EACf,wBAAwB,EACxB,eAAe,GAEhB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,kBAAkB,EAClB,iBAAiB,GAElB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,eAAe,EACf,2BAA2B,GAE5B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,oBAAoB,EACpB,0BAA0B,EAC1B,0BAA0B,GAK3B,MAAM,mBAAmB,CAAC"}
@@ -23,13 +23,26 @@ export type { BranchExecutionEvent, BranchExecutionInputs, BranchExecutionResult
23
23
  * rather than only in the record nobody reads until afterwards.
24
24
  */
25
25
  export declare const describeBranchPlan: (plan: BranchNormalizedPlan) => string;
26
- export declare const deriveBranchRunKey: (inputs: BranchExecutionInputs) => string;
26
+ /**
27
+ * The run key these inputs derive: under this contract, or under `revision`
28
+ * (the contract a recorded run started under), for the person's `retry`th
29
+ * Retry of a settled run that drew nothing (branch-run-supersede.ts).
30
+ */
31
+ export declare const deriveBranchRunKey: (inputs: BranchExecutionInputs, options?: {
32
+ revision?: string;
33
+ retry?: number;
34
+ }) => string;
27
35
  export declare const executeBranchRun: (args: {
28
36
  branchClient: BranchRunClient;
29
37
  packageClient?: TwelveUiConversionPackageClient;
30
38
  inputs: BranchExecutionInputs;
31
39
  origin: string;
32
40
  resume?: boolean;
41
+ /**
42
+ * With `resume`: the person's Retry. A recorded run that settled without drawing a screen is kept aside and planned
43
+ * afresh (branch-run-supersede.ts); any other run resumes exactly as a plain resume would.
44
+ */
45
+ retrySettled?: boolean;
33
46
  onEvent?: (event: BranchExecutionEvent) => void;
34
47
  dispatch?: BranchDispatchTuning;
35
48
  packageTimeoutMs?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"branch-execution.d.ts","sourceRoot":"","sources":["../src/branch-execution.ts"],"names":[],"mappings":"AAGA,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,oBAAoB,CAAC;AAwB5B,OAAO,EAGL,KAAK,oBAAoB,EAC1B,MAAM,kBAAkB,CAAC;AAU1B,OAAO,EAGL,KAAK,oBAAoB,EAC1B,MAAM,2BAA2B,CAAC;AAgBnC,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,KAAK,EACV,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACtB,MAAM,6BAA6B,CAAC;AAErC,YAAY,EACV,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,6BAA6B,CAAC;AAErC;;;;;;;;;;;GAWG;AAEH;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,GAAI,MAAM,oBAAoB,KAAG,MAsB/D,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,QAAQ,qBAAqB,KAAG,MAQlE,CAAC;AA0BF,eAAO,MAAM,gBAAgB,GAAU,MAAM;IAC3C,YAAY,EAAE,eAAe,CAAC;IAC9B,aAAa,CAAC,EAAE,+BAA+B,CAAC;IAChD,MAAM,EAAE,qBAAqB,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,IAAI,CAAC;IAChD,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,+EAA+E;IAC/E,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB,KAAG,OAAO,CAAC,qBAAqB,CAugBhC,CAAC"}
1
+ {"version":3,"file":"branch-execution.d.ts","sourceRoot":"","sources":["../src/branch-execution.ts"],"names":[],"mappings":"AAGA,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,oBAAoB,CAAC;AA0B5B,OAAO,EAGL,KAAK,oBAAoB,EAC1B,MAAM,kBAAkB,CAAC;AAU1B,OAAO,EAGL,KAAK,oBAAoB,EAC1B,MAAM,2BAA2B,CAAC;AAgBnC,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,KAAK,EACV,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACtB,MAAM,6BAA6B,CAAC;AAErC,YAAY,EACV,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,6BAA6B,CAAC;AAErC;;;;;;;;;;;GAWG;AAEH;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,GAAI,MAAM,oBAAoB,KAAG,MAsB/D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,GAC7B,QAAQ,qBAAqB,EAC7B,UAAS;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAO,KAClD,MAYF,CAAC;AAsCF,eAAO,MAAM,gBAAgB,GAAU,MAAM;IAC3C,YAAY,EAAE,eAAe,CAAC;IAC9B,aAAa,CAAC,EAAE,+BAA+B,CAAC;IAChD,MAAM,EAAE,qBAAqB,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,IAAI,CAAC;IAChD,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,+EAA+E;IAC/E,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB,KAAG,OAAO,CAAC,qBAAqB,CAkiBhC,CAAC"}
@@ -1,7 +1,8 @@
1
1
  import { finalizeBranchConversion } from './branch-conversion-engine.js';
2
2
  import path from 'node:path';
3
3
  import { BranchApiError, } from './branch-client.js';
4
- import { BRANCH_WORKFLOW_REVISION, branchConceptDigest, branchRunKey, } from './branch-identity.js';
4
+ import { BRANCH_WORKFLOW_REVISION, branchConceptDigest, branchRunKey, withBranchRetry, } from './branch-identity.js';
5
+ import { settledEmptyRun, supersedeSettledRun } from './branch-run-supersede.js';
5
6
  import { buildCompletion, terminalFailure } from './branch-completion.js';
6
7
  import { createRunMaterializer } from './branch-materialize.js';
7
8
  import { branchScreenPath } from './branch-downloads.js';
@@ -55,16 +56,32 @@ export const describeBranchPlan = (plan) => {
55
56
  + ' conversion page(s), with complete app states separate';
56
57
  return `${packaging}${composition}${plan.screens.length} screen(s) to generate${left}`;
57
58
  };
58
- export const deriveBranchRunKey = (inputs) => (inputs.idempotencyKey ?? branchRunKey({
59
- winner: inputs.winner.kind === 'run'
60
- ? { runId: inputs.winner.runId, slot: inputs.winner.slot }
61
- : { imageSha256: inputs.winner.sha256 },
62
- concept: inputs.concept,
63
- scope: inputs.scope,
64
- }));
59
+ /**
60
+ * The run key these inputs derive: under this contract, or under `revision`
61
+ * (the contract a recorded run started under), for the person's `retry`th
62
+ * Retry of a settled run that drew nothing (branch-run-supersede.ts).
63
+ */
64
+ export const deriveBranchRunKey = (inputs, options = {}) => (inputs.idempotencyKey
65
+ ? withBranchRetry(inputs.idempotencyKey, options.retry)
66
+ : branchRunKey({
67
+ winner: inputs.winner.kind === 'run'
68
+ ? { runId: inputs.winner.runId, slot: inputs.winner.slot }
69
+ : { imageSha256: inputs.winner.sha256 },
70
+ concept: inputs.concept,
71
+ scope: inputs.scope,
72
+ ...(options.revision ? { revision: options.revision } : {}),
73
+ ...(options.retry ? { retry: options.retry } : {}),
74
+ }));
75
+ /**
76
+ * Whether a recorded attempt is the run these inputs describe, under the contract and Retry it was started with. An
77
+ * attempt recorded before attempts named their contract may carry any revision's key.
78
+ */
79
+ const sameRun = (attempt, inputs) => ((attempt.workflowRevision ? [attempt.workflowRevision] : ['branch-execute-v1', 'branch-execute-v2', BRANCH_WORKFLOW_REVISION])
80
+ .some((revision) => attempt.runKey === deriveBranchRunKey(inputs, { revision, ...(attempt.retry ? { retry: attempt.retry } : {}) })));
65
81
  const claimBuildRun = async (args) => {
66
82
  return await args.client.startBuildRun({
67
83
  concept: args.inputs.concept,
84
+ ...(args.scope ? { scope: args.scope } : {}),
68
85
  ...(args.inputs.aspect ? { aspect: args.inputs.aspect } : {}),
69
86
  // The planner shapes whole pages to the cap; the client trim that
70
87
  // follows is then a no-op on a plan that already fits.
@@ -88,7 +105,6 @@ export const executeBranchRun = async (args) => {
88
105
  const completionFile = branchCompletionPath(outDir);
89
106
  const screensDirectory = path.join(outDir, BRANCH_SCREENS_DIRECTORY);
90
107
  const pagesDirectory = path.join(outDir, BRANCH_PAGES_DIRECTORY);
91
- const runKey = deriveBranchRunKey(inputs);
92
108
  const startedAt = new Date().toISOString();
93
109
  const progressFile = branchProgressPath(outDir);
94
110
  // Progress writes are serialized AND coalesced: the file is the one thing
@@ -144,6 +160,20 @@ export const executeBranchRun = async (args) => {
144
160
  progressScreens = screens;
145
161
  publish();
146
162
  };
163
+ // The person's Retry of a settled run that drew nothing plans afresh; the
164
+ // replaced run is kept whole beside this one (branch-run-supersede.ts). A
165
+ // plain resume never does: it replays, and says how the run ended.
166
+ let supersedes;
167
+ let retry = 0;
168
+ if (args.resume && args.retrySettled) {
169
+ const settled = await settledEmptyRun(outDir);
170
+ if (settled) {
171
+ const moved = await supersedeSettledRun(outDir, settled, new Date());
172
+ retry = moved.retry;
173
+ supersedes = { path: moved.path, runKey: settled.attempt.runKey, workflowRevision: settled.workflowRevision, reason: settled.reason };
174
+ emit({ kind: 'phase', phase: 'claim', detail: `planning afresh: the earlier run ${settled.reason}; its record is kept in ${moved.path}` });
175
+ }
176
+ }
147
177
  const finished = await readBranchCompletion(completionFile);
148
178
  if (finished) {
149
179
  throw new Error(`This branch run already completed: ${completionFile} names run ${finished.runId},`
@@ -157,7 +187,7 @@ export const executeBranchRun = async (args) => {
157
187
  + ' continue it: a resume replays every settled screen for free and re-dispatches only'
158
188
  + ' what is still pending. It can never buy a screen twice.');
159
189
  }
160
- if (!existing && args.resume) {
190
+ if (!existing && args.resume && !supersedes) {
161
191
  // Never started, so nothing failed. This answers in a different register
162
192
  // from a recovery report on purpose: a caller told "0 recovered" about work
163
193
  // it never asked for concludes the service is broken and gives up.
@@ -165,15 +195,21 @@ export const executeBranchRun = async (args) => {
165
195
  + ` failed. There is no ${BRANCH_ATTEMPT_FILENAME} in ${outDir}. Run the same command`
166
196
  + ' without --resume to start it; it blocks for the whole run and streams progress.');
167
197
  }
168
- if (existing && existing.runKey !== runKey) {
198
+ // A recorded run resumes under the contract it started with: an older run
199
+ // holding paid screens, or still in flight, keeps its own key and plan.
200
+ if (existing && !sameRun(existing, inputs)) {
169
201
  throw new Error(`Refusing to resume: ${outDir} holds run key ${existing.runKey} but these inputs derive`
170
- + ` ${runKey}. A resume must replay the same winner, concept, and scope.`);
202
+ + ` ${deriveBranchRunKey(inputs, { revision: existing.workflowRevision ?? 'branch-execute-v1' })}.`
203
+ + ' A resume must replay the same winner, concept, and scope.');
171
204
  }
205
+ const runKey = existing ? existing.runKey : deriveBranchRunKey(inputs, retry > 0 ? { retry } : {});
172
206
  const attempt = existing ?? {
173
207
  version: 1,
174
208
  workflowRevision: BRANCH_WORKFLOW_REVISION,
175
209
  status: 'claiming',
176
210
  runKey,
211
+ ...(retry > 0 ? { retry } : {}),
212
+ ...(supersedes ? { supersedes } : {}),
177
213
  origin: args.origin,
178
214
  scope: inputs.scope,
179
215
  concept: inputs.concept,
@@ -252,7 +288,13 @@ export const executeBranchRun = async (args) => {
252
288
  try {
253
289
  envelope = attempt.runId
254
290
  ? await args.branchClient.getRun(attempt.runId, args.signal)
255
- : await claimBuildRun({ client: args.branchClient, inputs, runKey, signal: args.signal });
291
+ : await claimBuildRun({
292
+ client: args.branchClient,
293
+ inputs,
294
+ runKey,
295
+ ...(attempt.workflowRevision === BRANCH_WORKFLOW_REVISION ? { scope: inputs.scope } : {}),
296
+ signal: args.signal,
297
+ });
256
298
  }
257
299
  catch (error) {
258
300
  const terminal = error instanceof BranchApiError
@@ -564,6 +606,7 @@ export const executeBranchRun = async (args) => {
564
606
  conversions,
565
607
  ...(rolloverLedger ? { rolloverLedger } : {}),
566
608
  stopped,
609
+ ...(attempt.workflowRevision ? { workflowRevision: attempt.workflowRevision } : {}),
567
610
  });
568
611
  publishProgress('terminal', envelope.id, branchProgressScreens(plan, {}));
569
612
  await progressWrites;
@@ -1 +1 @@
1
- {"version":3,"file":"branch-execution.js","sourceRoot":"","sources":["../src/branch-execution.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"branch-execution.js","sourceRoot":"","sources":["../src/branch-execution.ts"],"names":[],"mappings":"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"}
@@ -10,13 +10,30 @@
10
10
  * collision resistance over inputs that are already scoped by run id, which is
11
11
  * far more than the number of runs any account will ever hold.
12
12
  */
13
- export declare const BRANCH_WORKFLOW_REVISION = "branch-execute-v2";
13
+ /**
14
+ * The branch contract a run was started under, part of its run key. v3
15
+ * (2026-10-04): the planner is told the person's scope (`page` continues this
16
+ * same page below the approved screen) and the hosted claim carries it, so a
17
+ * page-scope run planned under v2's scope-blind prompt never replays as v3.
18
+ */
19
+ export declare const BRANCH_WORKFLOW_REVISION = "branch-execute-v3";
20
+ /**
21
+ * Every revision whose frozen plan the page-conversion rollover may re-admit
22
+ * (branch-page-rollover.ts). v3 changed only how the plan is asked for, not the
23
+ * conversion attempts a run records, so v2 runs keep their rollover.
24
+ */
25
+ export declare const BRANCH_ROLLOVER_WORKFLOW_REVISIONS: ReadonlySet<string>;
14
26
  export type BranchScope = 'page' | 'site';
15
27
  export declare const branchConceptDigest: (concept: string) => string;
16
28
  /**
17
29
  * Same inputs -> same run, so an interrupted claim replays instead of starting
18
30
  * a second one. A changed concept is a different design problem and therefore a
19
31
  * different run, so it derives a new key rather than wedging the old one.
32
+ *
33
+ * `revision` names the contract a recorded run started under (a resumed older
34
+ * run keeps its own key); `retry` is the person's Retry of a settled run that
35
+ * drew nothing (branch-run-supersede.ts): a fresh plan needs a key the settled
36
+ * claim never used, or the hosted claim would replay the settled one.
20
37
  */
21
38
  export declare const branchRunKey: (args: {
22
39
  winner: {
@@ -27,7 +44,11 @@ export declare const branchRunKey: (args: {
27
44
  };
28
45
  concept: string;
29
46
  scope: BranchScope;
47
+ revision?: string;
48
+ retry?: number;
30
49
  }) => string;
50
+ /** A run key for the person's nth Retry of a settled run that drew nothing; the key itself when there is none. */
51
+ export declare const withBranchRetry: (key: string, retry?: number) => string;
31
52
  /**
32
53
  * The ONLY keyed dispatch. Automatic dispatch is unkeyed so every replay is
33
54
  * free; a redraw is an explicit request for one further paid attempt and needs
@@ -1 +1 @@
1
- {"version":3,"file":"branch-identity.d.ts","sourceRoot":"","sources":["../src/branch-identity.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AAEH,eAAO,MAAM,wBAAwB,sBAAsB,CAAC;AAE5D,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,CAAC;AAM1C,eAAO,MAAM,mBAAmB,GAAI,SAAS,MAAM,KAAG,MAErD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,YAAY,GAAI,MAAM;IACjC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAClE,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,WAAW,CAAC;CACpB,KAAG,MAYH,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,eAAe,GAAI,MAAM;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB,KAAG,MAAoE,CAAC;AAEzE;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAAI,MAAM;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC;;;;OAIG;IACH,YAAY,CAAC,EAAE,SAAS,CAAC;QACvB,aAAa,EAAE,MAAM,CAAC;QACtB,QAAQ,EAAE,aAAa,GAAG,mBAAmB,GAAG,mBAAmB,GAAG,OAAO,CAAC;QAC9E,WAAW,EAAE,MAAM,CAAC;KACrB,GAAG,IAAI,CAAC,EAAE,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,KAAG,MAqBH,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,8BAA8B,GAAI,MAAM;IACnD,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,SAAS,CAAC;QACtB,aAAa,EAAE,MAAM,CAAC;QACtB,QAAQ,EAAE,aAAa,GAAG,mBAAmB,GAAG,mBAAmB,GAAG,OAAO,CAAC;QAC9E,WAAW,EAAE,MAAM,CAAC;KACrB,GAAG,IAAI,CAAC,EAAE,CAAC;CACb,KAAG,MAA8F,CAAC;AAEnG;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,GAAI,MAAM;IAC7C,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,4BAA4B,EAAE,MAAM,CAAC;IACrC,2BAA2B,EAAE,MAAM,CAAC;IACpC,2BAA2B,EAAE,MAAM,CAAC;CACrC,KAAG,MAaO,CAAC;AAEZ,kFAAkF;AAClF,eAAO,MAAM,oBAAoB,GAAI,MAAM;IACzC,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;CAChB,KAAG,MAAiF,CAAC;AAEtF;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB,GAAI,MAAM;IAC5C,kBAAkB,EAAE,MAAM,CAAC;CAC5B,KAAG,MAGH,CAAC"}
1
+ {"version":3,"file":"branch-identity.d.ts","sourceRoot":"","sources":["../src/branch-identity.ts"],"names":[],"mappings":"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"}
@@ -11,27 +11,46 @@ import { createHash } from 'node:crypto';
11
11
  * collision resistance over inputs that are already scoped by run id, which is
12
12
  * far more than the number of runs any account will ever hold.
13
13
  */
14
- export const BRANCH_WORKFLOW_REVISION = 'branch-execute-v2';
14
+ /**
15
+ * The branch contract a run was started under, part of its run key. v3
16
+ * (2026-10-04): the planner is told the person's scope (`page` continues this
17
+ * same page below the approved screen) and the hosted claim carries it, so a
18
+ * page-scope run planned under v2's scope-blind prompt never replays as v3.
19
+ */
20
+ export const BRANCH_WORKFLOW_REVISION = 'branch-execute-v3';
21
+ /**
22
+ * Every revision whose frozen plan the page-conversion rollover may re-admit
23
+ * (branch-page-rollover.ts). v3 changed only how the plan is asked for, not the
24
+ * conversion attempts a run records, so v2 runs keep their rollover.
25
+ */
26
+ export const BRANCH_ROLLOVER_WORKFLOW_REVISIONS = new Set(['branch-execute-v2', BRANCH_WORKFLOW_REVISION]);
15
27
  const shortDigest = (value, characters = 16) => (createHash('sha256').update(value).digest('hex').slice(0, characters));
16
28
  export const branchConceptDigest = (concept) => (createHash('sha256').update(concept).digest('hex'));
17
29
  /**
18
30
  * Same inputs -> same run, so an interrupted claim replays instead of starting
19
31
  * a second one. A changed concept is a different design problem and therefore a
20
32
  * different run, so it derives a new key rather than wedging the old one.
33
+ *
34
+ * `revision` names the contract a recorded run started under (a resumed older
35
+ * run keeps its own key); `retry` is the person's Retry of a settled run that
36
+ * drew nothing (branch-run-supersede.ts): a fresh plan needs a key the settled
37
+ * claim never used, or the hosted claim would replay the settled one.
21
38
  */
22
39
  export const branchRunKey = (args) => {
23
40
  const origin = 'runId' in args.winner
24
41
  ? `${args.winner.runId}:${args.winner.slot}`
25
42
  : `img-${args.winner.imageSha256.slice(0, 32)}:-`;
26
- return [
43
+ return withBranchRetry([
27
44
  'branch',
28
45
  'v1',
29
46
  origin,
30
47
  shortDigest(args.concept),
31
48
  args.scope,
32
- BRANCH_WORKFLOW_REVISION,
33
- ].join(':');
49
+ args.revision ?? BRANCH_WORKFLOW_REVISION,
50
+ ].join(':'), args.retry);
34
51
  };
52
+ /** A run key for the person's nth Retry of a settled run that drew nothing; the key itself when there is none. */
53
+ export const withBranchRetry = (key, retry) => (retry && retry > 0 ? `${key}:retry-${retry}` : key);
35
54
  /**
36
55
  * The ONLY keyed dispatch. Automatic dispatch is unkeyed so every replay is
37
56
  * free; a redraw is an explicit request for one further paid attempt and needs