@12ui/design 0.2.61 → 0.2.62

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/cli-corpus-command.d.ts.map +1 -1
  3. package/dist/cli-corpus-command.js +105 -68
  4. package/dist/cli-corpus-command.js.map +1 -1
  5. package/dist/cli-draft-command.d.ts +6 -0
  6. package/dist/cli-draft-command.d.ts.map +1 -1
  7. package/dist/cli-draft-command.js +33 -2
  8. package/dist/cli-draft-command.js.map +1 -1
  9. package/dist/cli-help/design.d.ts +4 -4
  10. package/dist/cli-help/design.d.ts.map +1 -1
  11. package/dist/cli-help/design.js +5 -3
  12. package/dist/cli-help/design.js.map +1 -1
  13. package/dist/cli-help/index.d.ts +4 -4
  14. package/dist/cli-improve-command.d.ts.map +1 -1
  15. package/dist/cli-improve-command.js +17 -1
  16. package/dist/cli-improve-command.js.map +1 -1
  17. package/dist/cli-usage.js +2 -2
  18. package/dist/corpus-client.d.ts +21 -15
  19. package/dist/corpus-client.d.ts.map +1 -1
  20. package/dist/corpus-client.js +15 -14
  21. package/dist/corpus-client.js.map +1 -1
  22. package/dist/corpus-reference-download-retry.d.ts +2 -2
  23. package/dist/corpus-reference-download-retry.js +2 -2
  24. package/dist/draft-identity.d.ts +9 -0
  25. package/dist/draft-identity.d.ts.map +1 -1
  26. package/dist/draft-identity.js +1 -0
  27. package/dist/draft-identity.js.map +1 -1
  28. package/dist/draft-run.d.ts +58 -8
  29. package/dist/draft-run.d.ts.map +1 -1
  30. package/dist/draft-run.js +80 -19
  31. package/dist/draft-run.js.map +1 -1
  32. package/dist/draft-workspace.d.ts +10 -0
  33. package/dist/draft-workspace.d.ts.map +1 -1
  34. package/dist/draft-workspace.js.map +1 -1
  35. package/dist/improve-core/improve-dom-gate.d.ts +24 -0
  36. package/dist/improve-core/improve-dom-gate.d.ts.map +1 -1
  37. package/dist/improve-core/improve-dom-gate.js +15 -0
  38. package/dist/improve-core/improve-dom-gate.js.map +1 -1
  39. package/dist/improve-core/improve-site-plan.d.ts +12 -1
  40. package/dist/improve-core/improve-site-plan.d.ts.map +1 -1
  41. package/dist/improve-core/improve-site-plan.js +12 -1
  42. package/dist/improve-core/improve-site-plan.js.map +1 -1
  43. package/dist/improve-delivery-stages.d.ts.map +1 -1
  44. package/dist/improve-delivery-stages.js +13 -2
  45. package/dist/improve-delivery-stages.js.map +1 -1
  46. package/dist/improve-dom-gate.d.ts +1 -1
  47. package/dist/improve-dom-gate.d.ts.map +1 -1
  48. package/dist/improve-dom-gate.js +1 -1
  49. package/dist/improve-dom-gate.js.map +1 -1
  50. package/dist/improve-generation-stages.d.ts.map +1 -1
  51. package/dist/improve-generation-stages.js +4 -0
  52. package/dist/improve-generation-stages.js.map +1 -1
  53. package/dist/improve-kit-status.d.ts.map +1 -1
  54. package/dist/improve-kit-status.js +14 -0
  55. package/dist/improve-kit-status.js.map +1 -1
  56. package/dist/improve-options.d.ts +13 -0
  57. package/dist/improve-options.d.ts.map +1 -1
  58. package/dist/improve-options.js +31 -1
  59. package/dist/improve-options.js.map +1 -1
  60. package/dist/improve-recheck-report.d.ts +26 -0
  61. package/dist/improve-recheck-report.d.ts.map +1 -0
  62. package/dist/improve-recheck-report.js +56 -0
  63. package/dist/improve-recheck-report.js.map +1 -0
  64. package/dist/improve-recheck.d.ts.map +1 -1
  65. package/dist/improve-recheck.js +4 -37
  66. package/dist/improve-recheck.js.map +1 -1
  67. package/dist/improve-run-summary.d.ts.map +1 -1
  68. package/dist/improve-run-summary.js +3 -3
  69. package/dist/improve-run-summary.js.map +1 -1
  70. package/dist/improve-site-plan.d.ts +2 -0
  71. package/dist/improve-site-plan.d.ts.map +1 -1
  72. package/dist/improve-site-plan.js.map +1 -1
  73. package/dist/improve-site-stage.d.ts.map +1 -1
  74. package/dist/improve-site-stage.js +2 -0
  75. package/dist/improve-site-stage.js.map +1 -1
  76. package/dist/improve-spend-ledger.d.ts +30 -9
  77. package/dist/improve-spend-ledger.d.ts.map +1 -1
  78. package/dist/improve-spend-ledger.js +135 -33
  79. package/dist/improve-spend-ledger.js.map +1 -1
  80. package/dist/improve-workspace.d.ts +35 -8
  81. package/dist/improve-workspace.d.ts.map +1 -1
  82. package/dist/improve-workspace.js +2 -0
  83. package/dist/improve-workspace.js.map +1 -1
  84. package/dist/legacy-skill-catalog.d.ts.map +1 -1
  85. package/dist/legacy-skill-catalog.js +14 -0
  86. package/dist/legacy-skill-catalog.js.map +1 -1
  87. package/dist/mcp-tool-definitions.d.ts.map +1 -1
  88. package/dist/mcp-tool-definitions.js +2 -1
  89. package/dist/mcp-tool-definitions.js.map +1 -1
  90. package/dist/mcp-tool-handler.d.ts.map +1 -1
  91. package/dist/mcp-tool-handler.js +13 -5
  92. package/dist/mcp-tool-handler.js.map +1 -1
  93. package/dist/reference-search-mode.d.ts +84 -0
  94. package/dist/reference-search-mode.d.ts.map +1 -0
  95. package/dist/reference-search-mode.js +88 -0
  96. package/dist/reference-search-mode.js.map +1 -0
  97. package/dist/run-journal-in-flight.d.ts.map +1 -1
  98. package/dist/run-journal-in-flight.js +0 -0
  99. package/dist/run-journal-in-flight.js.map +1 -1
  100. package/dist/run-journal-unfinished.d.ts +1 -1
  101. package/dist/run-journal-unfinished.d.ts.map +1 -1
  102. package/dist/run-journal-unfinished.js +2 -3
  103. package/dist/run-journal-unfinished.js.map +1 -1
  104. package/dist/run-journal.d.ts +15 -0
  105. package/dist/run-journal.d.ts.map +1 -1
  106. package/dist/run-journal.js +32 -3
  107. package/dist/run-journal.js.map +1 -1
  108. package/open-design.json +2 -2
  109. package/package.json +1 -1
  110. package/skills/12ui-design/inspire.md +3 -1
@@ -2,24 +2,72 @@ import type { CreateRetainPolicy, TwelveUiBranchClient } from './branch-client.j
2
2
  import { type InspirationClient } from './cli-corpus-types.js';
3
3
  import type { CorpusReferenceImageEvidence } from './cli-corpus-reference-image.js';
4
4
  import type { CorpusReferenceImageInput } from './corpus-client.js';
5
- import type { CorpusStatus } from './corpus-client.js';
5
+ import { type InspirationMode } from './corpus-client.js';
6
6
  import { type DraftMode, type DraftPaths, type DraftRecord } from './draft-workspace.js';
7
7
  /** Hosted draft preparation: one corpus search, one service run claim, no local provider. */
8
8
  export declare const DRAFT_CANDIDATE_COUNT = 4;
9
9
  export declare const DRAFT_CANDIDATE_COUNT_MINIMUM = 2;
10
10
  export declare const DRAFT_CANDIDATE_COUNT_MAXIMUM: 16;
11
- export declare const DRAFT_BALANCED_REFERENCE_COUNT = 12;
11
+ /**
12
+ * The slate every mode but hedge asks for: the historical Draft width, widened
13
+ * to the slot count when a Draft asks for more slots than that, because a
14
+ * Draft that cannot pair one reference per slot refuses outright.
15
+ */
16
+ export declare const DRAFT_WIDE_REFERENCE_COUNT = 12;
12
17
  export type DraftReferenceRetrieval = {
13
- mode: 'balanced' | 'hedge';
18
+ mode: InspirationMode;
14
19
  k: number;
15
20
  };
16
- /** Older Workers do not advertise the flag, so their Drafts retain the historical slate. */
17
- export declare const draftReferenceRetrieval: (status: Pick<CorpusStatus, "draftReferenceMode">, candidateCount: number) => DraftReferenceRetrieval;
21
+ /** What a caller writes to choose a mode other than the default, at both surfaces. */
22
+ export declare const DRAFT_CORPUS_MODE_FLAG = "--corpus-mode";
23
+ export declare const DRAFT_CORPUS_MODE_FLAG_REFUSAL: string;
24
+ /** `--corpus-mode` as the caller wrote it; absent means the default, not balanced. */
25
+ export declare const parseDraftCorpusMode: (value: string | undefined) => InspirationMode | undefined;
26
+ /** An explicit hedge against an image query would 400 after the run was claimed. */
27
+ export declare const DRAFT_HEDGE_REFERENCE_IMAGE_REFUSAL: string;
28
+ /**
29
+ * The retrieval a Draft runs, and the only place that decides it.
30
+ *
31
+ * Hedge is the default and needs no flag (COO with owner authority,
32
+ * 2026-09-07): it spreads the first references across distinct directions
33
+ * while holding the query, which is exactly what pairing one reference per
34
+ * Draft slot is for. The default is `DEFAULT_INSPIRATION_MODE`, the same
35
+ * constant `12ui corpus inspire` and the MCP surface read, so the command line
36
+ * has one reference-search default rather than two that can drift.
37
+ *
38
+ * Only the caller overrides it, with `--corpus-mode`; the caller wins. The
39
+ * Worker's advertised `draftReferenceMode` deliberately does not override it,
40
+ * and is no longer read here: the Worker resolves anything that is not the
41
+ * exact string `hedge` to `balanced` (`workers/api/src/corpus/route.ts`), so an
42
+ * advertised `balanced` cannot be told apart from an unset variable and carries
43
+ * no operator intent for a client default to yield to. Nothing is bypassed by
44
+ * ignoring it — the inspire route accepts any mode per request from an
45
+ * account-tier caller (`workers/api/src/corpus/validation.ts`), so the old gate
46
+ * was the CLI policing itself.
47
+ *
48
+ * The one thing that outranks the default is not a preference but a fact the
49
+ * caller already handed in: whether this search carries their own image. A
50
+ * redesign Draft (`--reference`, `--redesign-source`) and every `12ui improve`
51
+ * draft stage condition retrieval on the captured page, and the corpus refuses
52
+ * hedge for those outright, so they run `REFERENCE_IMAGE_SEARCH_MODE` — the
53
+ * second hardcoded mode in the CLI, and deliberately so; see
54
+ * `reference-search-mode.ts`, which owns both the mode and the refusal. This
55
+ * function only adds the slate width; it does not decide the mode.
56
+ */
57
+ export declare const draftReferenceRetrieval: (args: {
58
+ /** `--corpus-mode`; absent takes the CLI-wide reference-search default. */
59
+ override?: InspirationMode;
60
+ candidateCount: number;
61
+ /** This search carries the caller's own image, so the corpus bars hedge. */
62
+ referenceImage: boolean;
63
+ }) => DraftReferenceRetrieval;
18
64
  /**
19
65
  * Paid retrieval identity. The resolved retrieval is required, not defaulted:
20
- * a Draft's mode is decided by `draftReferenceRetrieval` against what the
21
- * Worker advertises, and a default here would let a caller that forgot to pass
22
- * it mint a second identity for the same search.
66
+ * a Draft's mode is decided by `draftReferenceRetrieval`, and a default here
67
+ * would let a caller that forgot to pass it mint a second identity for the
68
+ * same search. Mode and k are both hashed, so a Draft of the same concept run
69
+ * under a different mode is a different paid search, not a replay of the old
70
+ * one — which is what a different reference set deserves.
23
71
  */
24
72
  export declare const draftRunCorpusKey: (args: {
25
73
  query: string;
@@ -39,6 +87,8 @@ export type PrepareDraftRunInput = {
39
87
  mode: DraftMode;
40
88
  aspect: DraftAspect;
41
89
  candidateCount: number;
90
+ /** `--corpus-mode`; absent runs the CLI's default reference search. */
91
+ corpusMode?: InspirationMode;
42
92
  retain: CreateRetainPolicy | null;
43
93
  /**
44
94
  * The attached page's own visible text, verbatim. Only improve supplies it,
@@ -1 +1 @@
1
- {"version":3,"file":"draft-run.d.ts","sourceRoot":"","sources":["../src/draft-run.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,kBAAkB,EAElB,oBAAoB,EACrB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,iCAAiC,CAAC;AACpF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAOvD,OAAO,EAGL,KAAK,SAAS,EAEd,KAAK,UAAU,EACf,KAAK,WAAW,EACjB,MAAM,sBAAsB,CAAC;AAE9B,6FAA6F;AAE7F,eAAO,MAAM,qBAAqB,IAAI,CAAC;AACvC,eAAO,MAAM,6BAA6B,IAAI,CAAC;AAC/C,eAAO,MAAM,6BAA6B,IAA6B,CAAC;AAExE,eAAO,MAAM,8BAA8B,KAAK,CAAC;AAEjD,MAAM,MAAM,uBAAuB,GAAG;IAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEhF,4FAA4F;AAC5F,eAAO,MAAM,uBAAuB,GAClC,QAAQ,IAAI,CAAC,YAAY,EAAE,oBAAoB,CAAC,EAChD,gBAAgB,MAAM,KACrB,uBAoBF,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,GAAI,MAAM;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,uBAAuB,CAAC;IACnC,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACtC,KAAG,MAKF,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,UAAU,GAAG,QAAQ,CAAC;AAE9D,KAAK,sBAAsB,GAAG,IAAI,CAAC,oBAAoB,EAAE,gBAAgB,CAAC,CAAC;AAE3E,MAAM,MAAM,oBAAoB,GAAG;IACjC,KAAK,EAAE,UAAU,CAAC;IAClB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,YAAY,EAAE,sBAAsB,CAAC;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,iFAAiF;IACjF,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,SAAS,CAAC;IAChB,MAAM,EAAE,WAAW,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAClC;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iFAAiF;IACjF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE;QACf,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,4BAA4B,CAAC;QACvC,KAAK,EAAE,yBAAyB,CAAC;KAClC,CAAC;IACF,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;CAClB,CAAC;AAkBF,eAAO,MAAM,eAAe,GAAU,OAAO,oBAAoB,KAAG,OAAO,CAAC,WAAW,CAkItF,CAAC"}
1
+ {"version":3,"file":"draft-run.d.ts","sourceRoot":"","sources":["../src/draft-run.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,kBAAkB,EAElB,oBAAoB,EACrB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,iCAAiC,CAAC;AACpF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,oBAAoB,CAAC;AAW5B,OAAO,EAGL,KAAK,SAAS,EAEd,KAAK,UAAU,EACf,KAAK,WAAW,EACjB,MAAM,sBAAsB,CAAC;AAE9B,6FAA6F;AAE7F,eAAO,MAAM,qBAAqB,IAAI,CAAC;AACvC,eAAO,MAAM,6BAA6B,IAAI,CAAC;AAC/C,eAAO,MAAM,6BAA6B,IAA6B,CAAC;AAExE;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAE7C,MAAM,MAAM,uBAAuB,GAAG;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3E,sFAAsF;AACtF,eAAO,MAAM,sBAAsB,kBAAkB,CAAC;AAEtD,eAAO,MAAM,8BAA8B,QAC+C,CAAC;AAE3F,sFAAsF;AACtF,eAAO,MAAM,oBAAoB,GAAI,OAAO,MAAM,GAAG,SAAS,KAAG,eAAe,GAAG,SAOlF,CAAC;AAEF,oFAAoF;AACpF,eAAO,MAAM,mCAAmC,QAE/C,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,uBAAuB,GAAI,MAAM;IAC5C,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,4EAA4E;IAC5E,cAAc,EAAE,OAAO,CAAC;CACzB,KAAG,uBAwBH,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,GAAI,MAAM;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,uBAAuB,CAAC;IACnC,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACtC,KAAG,MAKF,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,UAAU,GAAG,QAAQ,CAAC;AAE9D,KAAK,sBAAsB,GAAG,IAAI,CAAC,oBAAoB,EAAE,gBAAgB,CAAC,CAAC;AAE3E,MAAM,MAAM,oBAAoB,GAAG;IACjC,KAAK,EAAE,UAAU,CAAC;IAClB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,YAAY,EAAE,sBAAsB,CAAC;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,iFAAiF;IACjF,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,SAAS,CAAC;IAChB,MAAM,EAAE,WAAW,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,uEAAuE;IACvE,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,MAAM,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAClC;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iFAAiF;IACjF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE;QACf,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,4BAA4B,CAAC;QACvC,KAAK,EAAE,yBAAyB,CAAC;KAClC,CAAC;IACF,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;CAClB,CAAC;AAkBF,eAAO,MAAM,eAAe,GAAU,OAAO,oBAAoB,KAAG,OAAO,CAAC,WAAW,CAuItF,CAAC"}
package/dist/draft-run.js CHANGED
@@ -2,7 +2,9 @@ import { mkdir } from 'node:fs/promises';
2
2
  import path from 'node:path';
3
3
  import { downloadCorpusInspiration } from './cli-corpus-run.js';
4
4
  import { INSPIRATION_MANIFEST_FILE, } from './cli-corpus-types.js';
5
+ import { DEFAULT_INSPIRATION_MODE, INSPIRATION_MODES, } from './corpus-client.js';
5
6
  import { draftCorpusKey } from './draft-identity.js';
7
+ import { hedgeReferenceImageRefusal, referenceSearchMode, } from './reference-search-mode.js';
6
8
  import { draftRetainIdentity, draftRetainsLayout } from './draft-retain.js';
7
9
  import { hostedDraftRunKey, } from './hosted-draft-identity.js';
8
10
  import { DRAFT_CANDIDATE_IDS, writeDraftRecord, } from './draft-workspace.js';
@@ -10,30 +12,84 @@ import { DRAFT_CANDIDATE_IDS, writeDraftRecord, } from './draft-workspace.js';
10
12
  export const DRAFT_CANDIDATE_COUNT = 4;
11
13
  export const DRAFT_CANDIDATE_COUNT_MINIMUM = 2;
12
14
  export const DRAFT_CANDIDATE_COUNT_MAXIMUM = DRAFT_CANDIDATE_IDS.length;
13
- export const DRAFT_BALANCED_REFERENCE_COUNT = 12;
14
- /** Older Workers do not advertise the flag, so their Drafts retain the historical slate. */
15
- export const draftReferenceRetrieval = (status, candidateCount) => {
16
- if (status.draftReferenceMode !== 'hedge') {
17
- return { mode: 'balanced', k: DRAFT_BALANCED_REFERENCE_COUNT };
15
+ /**
16
+ * The slate every mode but hedge asks for: the historical Draft width, widened
17
+ * to the slot count when a Draft asks for more slots than that, because a
18
+ * Draft that cannot pair one reference per slot refuses outright.
19
+ */
20
+ export const DRAFT_WIDE_REFERENCE_COUNT = 12;
21
+ /** What a caller writes to choose a mode other than the default, at both surfaces. */
22
+ export const DRAFT_CORPUS_MODE_FLAG = '--corpus-mode';
23
+ export const DRAFT_CORPUS_MODE_FLAG_REFUSAL = `${DRAFT_CORPUS_MODE_FLAG} must be one of ${INSPIRATION_MODES.join(', ')}; without it a Draft searches ${DEFAULT_INSPIRATION_MODE}.`;
24
+ /** `--corpus-mode` as the caller wrote it; absent means the default, not balanced. */
25
+ export const parseDraftCorpusMode = (value) => {
26
+ const trimmed = value?.trim();
27
+ if (!trimmed)
28
+ return undefined;
29
+ if (!INSPIRATION_MODES.includes(trimmed)) {
30
+ throw new Error(DRAFT_CORPUS_MODE_FLAG_REFUSAL);
18
31
  }
19
- // Hedge asks for one reference per Draft slot, so the only meaningful bound
20
- // is the Draft slot window the CLI already advertises (--candidates 2-16).
21
- // It is deliberately expressed with those constants and not with a retrieval
22
- // cap: an earlier 4..12 here mirrored the corpus serving cap of the day and
23
- // hard-refused the 2- and 3-slot Drafts the CLI accepts everywhere else.
24
- if (!Number.isInteger(candidateCount)
25
- || candidateCount < DRAFT_CANDIDATE_COUNT_MINIMUM
26
- || candidateCount > DRAFT_CANDIDATE_COUNT_MAXIMUM) {
32
+ return trimmed;
33
+ };
34
+ /** An explicit hedge against an image query would 400 after the run was claimed. */
35
+ export const DRAFT_HEDGE_REFERENCE_IMAGE_REFUSAL = hedgeReferenceImageRefusal(DRAFT_CORPUS_MODE_FLAG);
36
+ /**
37
+ * The retrieval a Draft runs, and the only place that decides it.
38
+ *
39
+ * Hedge is the default and needs no flag (COO with owner authority,
40
+ * 2026-09-07): it spreads the first references across distinct directions
41
+ * while holding the query, which is exactly what pairing one reference per
42
+ * Draft slot is for. The default is `DEFAULT_INSPIRATION_MODE`, the same
43
+ * constant `12ui corpus inspire` and the MCP surface read, so the command line
44
+ * has one reference-search default rather than two that can drift.
45
+ *
46
+ * Only the caller overrides it, with `--corpus-mode`; the caller wins. The
47
+ * Worker's advertised `draftReferenceMode` deliberately does not override it,
48
+ * and is no longer read here: the Worker resolves anything that is not the
49
+ * exact string `hedge` to `balanced` (`workers/api/src/corpus/route.ts`), so an
50
+ * advertised `balanced` cannot be told apart from an unset variable and carries
51
+ * no operator intent for a client default to yield to. Nothing is bypassed by
52
+ * ignoring it — the inspire route accepts any mode per request from an
53
+ * account-tier caller (`workers/api/src/corpus/validation.ts`), so the old gate
54
+ * was the CLI policing itself.
55
+ *
56
+ * The one thing that outranks the default is not a preference but a fact the
57
+ * caller already handed in: whether this search carries their own image. A
58
+ * redesign Draft (`--reference`, `--redesign-source`) and every `12ui improve`
59
+ * draft stage condition retrieval on the captured page, and the corpus refuses
60
+ * hedge for those outright, so they run `REFERENCE_IMAGE_SEARCH_MODE` — the
61
+ * second hardcoded mode in the CLI, and deliberately so; see
62
+ * `reference-search-mode.ts`, which owns both the mode and the refusal. This
63
+ * function only adds the slate width; it does not decide the mode.
64
+ */
65
+ export const draftReferenceRetrieval = (args) => {
66
+ // The only meaningful bound is the Draft slot window the CLI already
67
+ // advertises (--candidates 2-16). It is deliberately expressed with those
68
+ // constants and not with a retrieval cap: an earlier 4..12 here mirrored the
69
+ // corpus serving cap of the day and hard-refused the 2- and 3-slot Drafts the
70
+ // CLI accepts everywhere else.
71
+ if (!Number.isInteger(args.candidateCount)
72
+ || args.candidateCount < DRAFT_CANDIDATE_COUNT_MINIMUM
73
+ || args.candidateCount > DRAFT_CANDIDATE_COUNT_MAXIMUM) {
27
74
  throw new Error(`A Draft needs between ${DRAFT_CANDIDATE_COUNT_MINIMUM} and ${DRAFT_CANDIDATE_COUNT_MAXIMUM}`
28
- + ` slots; received ${candidateCount}.`);
75
+ + ` slots; received ${args.candidateCount}.`);
29
76
  }
30
- return { mode: 'hedge', k: candidateCount };
77
+ const mode = referenceSearchMode({
78
+ ...(args.override ? { override: args.override } : {}),
79
+ referenceImage: args.referenceImage,
80
+ flag: DRAFT_CORPUS_MODE_FLAG,
81
+ });
82
+ return mode === 'hedge'
83
+ ? { mode, k: args.candidateCount }
84
+ : { mode, k: Math.max(DRAFT_WIDE_REFERENCE_COUNT, args.candidateCount) };
31
85
  };
32
86
  /**
33
87
  * Paid retrieval identity. The resolved retrieval is required, not defaulted:
34
- * a Draft's mode is decided by `draftReferenceRetrieval` against what the
35
- * Worker advertises, and a default here would let a caller that forgot to pass
36
- * it mint a second identity for the same search.
88
+ * a Draft's mode is decided by `draftReferenceRetrieval`, and a default here
89
+ * would let a caller that forgot to pass it mint a second identity for the
90
+ * same search. Mode and k are both hashed, so a Draft of the same concept run
91
+ * under a different mode is a different paid search, not a replay of the old
92
+ * one — which is what a different reference set deserves.
37
93
  */
38
94
  export const draftRunCorpusKey = (args) => draftCorpusKey({
39
95
  query: args.query,
@@ -53,7 +109,11 @@ const assertClaimedSlots = (expected, actual) => {
53
109
  export const prepareDraftRun = async (input) => {
54
110
  const now = input.now ?? (() => new Date());
55
111
  const corpusQuery = input.corpusQuery ?? input.query;
56
- const retrieval = draftReferenceRetrieval(await input.client.status(), input.candidateCount);
112
+ const retrieval = draftReferenceRetrieval({
113
+ ...(input.corpusMode ? { override: input.corpusMode } : {}),
114
+ candidateCount: input.candidateCount,
115
+ referenceImage: Boolean(input.redesignSource),
116
+ });
57
117
  const manifest = await downloadCorpusInspiration({
58
118
  client: input.client,
59
119
  request: { q: corpusQuery, mode: retrieval.mode, k: retrieval.k },
@@ -154,6 +214,7 @@ export const prepareDraftRun = async (input) => {
154
214
  corpus: {
155
215
  query: corpusQuery,
156
216
  mode: manifest.response.mode,
217
+ ...(input.corpusMode ? { explicitMode: input.corpusMode } : {}),
157
218
  setId: manifest.response.setId,
158
219
  idempotencyKey: manifest.idempotencyKey,
159
220
  manifestPath: path.join(input.paths.referencesDir, INSPIRATION_MANIFEST_FILE),
@@ -1 +1 @@
1
- {"version":3,"file":"draft-run.js","sourceRoot":"","sources":["../src/draft-run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"draft-run.js","sourceRoot":"","sources":["../src/draft-run.ts"],"names":[],"mappings":"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"}
@@ -68,7 +68,17 @@ export type DraftRecord = {
68
68
  pageRoute?: string;
69
69
  corpus: {
70
70
  query: string;
71
+ /** What the search actually ran, whoever decided it. */
71
72
  mode: 'direct' | 'balanced' | 'adventurer' | 'hedge';
73
+ /**
74
+ * The mode the caller named with `--corpus-mode`, and only that: absent
75
+ * when the run took the CLI default or the reference-image mode. It is
76
+ * part of the local run key, so a resumed run has to be able to rebuild
77
+ * the same key rather than infer an explicit choice from the resolved
78
+ * mode, which cannot tell "the caller asked for balanced" apart from
79
+ * "an image query resolved to balanced".
80
+ */
81
+ explicitMode?: 'direct' | 'balanced' | 'adventurer' | 'hedge';
72
82
  setId: string;
73
83
  idempotencyKey: string;
74
84
  manifestPath: string;
@@ -1 +1 @@
1
- {"version":3,"file":"draft-workspace.d.ts","sourceRoot":"","sources":["../src/draft-workspace.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAE7D;;;;;;;;;;GAUG;AAEH,eAAO,MAAM,qBAAqB,eAAe,CAAC;AAClD,eAAO,MAAM,0BAA0B,eAAe,CAAC;AACvD,eAAO,MAAM,0BAA0B,eAAe,CAAC;AACvD,eAAO,MAAM,+BAA+B,wBAAwB,CAAC;AACrE,eAAO,MAAM,yBAAyB,wBAAwB,CAAC;AAC/D,eAAO,MAAM,sBAAsB,WAAW,CAAC;AAE/C,eAAO,MAAM,mBAAmB,2FAGtB,CAAC;AACX,MAAM,MAAM,gBAAgB,GAAG,OAAO,mBAAmB,CAAC,MAAM,CAAC,CAAC;AAElE,MAAM,MAAM,SAAS,GAAG,eAAe,GAAG,sBAAsB,GAAG,6BAA6B,CAAC;AAEjG,8EAA8E;AAC9E,eAAO,MAAM,SAAS,GAAI,OAAO,MAAM,KAAG,MAYzC,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,QAAQ,MAAM,KAAG,UAW3C,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAU,MAAM;IAC/C,KAAK,EAAE,MAAM,CAAC;IACd,6EAA6E;IAC7E,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,KAAG,OAAO,CAAC,UAAU,CAIrB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,EAAE,EAAE,gBAAgB,CAAC;IACrB,4DAA4D;IAC5D,IAAI,EAAE,MAAM,CAAC;IACb,mDAAmD;IACnD,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,OAAO,EAAE,CAAC,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,sFAAsF;IACtF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,SAAS,CAAC;IAChB,MAAM,EAAE,WAAW,GAAG,UAAU,GAAG,QAAQ,CAAC;IAC5C,aAAa,EAAE,aAAa,GAAG,oBAAoB,CAAC;IACpD,2EAA2E;IAC3E,MAAM,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACxD,4EAA4E;IAC5E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE;QACN,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,QAAQ,GAAG,UAAU,GAAG,YAAY,GAAG,OAAO,CAAC;QACrD,KAAK,EAAE,MAAM,CAAC;QACd,cAAc,EAAE,MAAM,CAAC;QACvB,YAAY,EAAE,MAAM,CAAC;QACrB,UAAU,EAAE;YACV,OAAO,EAAE,MAAM,CAAC;YAChB,EAAE,EAAE,MAAM,CAAC;YACX,IAAI,EAAE,MAAM,CAAC;YACb,MAAM,EAAE,MAAM,CAAC;YACf,MAAM,EAAE,MAAM,CAAC;YACf,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;SAC9C,EAAE,CAAC;KACL,CAAC;IACF,MAAM,EAAE;QACN,KAAK,EAAE,MAAM,CAAC;QACd,cAAc,EAAE,MAAM,CAAC;QACvB,UAAU,EAAE,oBAAoB,EAAE,CAAC;KACpC,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,OAAO,EAAE,CAAC,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE;QACV,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;KACf,EAAE,CAAC;CACL,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAU,MAAM,MAAM,EAAE,QAAQ,WAAW,KAAG,OAAO,CAAC,IAAI,CAEtF,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC/B,MAAM,MAAM,EACZ,QAAQ,qBAAqB,KAC5B,OAAO,CAAC,IAAI,CAKd,CAAC;AAEF,eAAO,MAAM,eAAe,GAAU,MAAM,MAAM,KAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAMnF,CAAC"}
1
+ {"version":3,"file":"draft-workspace.d.ts","sourceRoot":"","sources":["../src/draft-workspace.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"draft-workspace.js","sourceRoot":"","sources":["../src/draft-workspace.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"draft-workspace.js","sourceRoot":"","sources":["../src/draft-workspace.ts"],"names":[],"mappings":"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"}
@@ -28,6 +28,30 @@ export declare const IMPROVE_DEFAULT_GATE_PCT = 60;
28
28
  * missing — `--allow-redirect`, an unrecorded capture URL, or an image input.
29
29
  */
30
30
  export declare const evaluateImproveGate: (coverage: number, thresholdPct?: number, captureIdentity?: ImproveCaptureIdentity) => ImproveGate;
31
+ /**
32
+ * The verdict a kit writes down, which is NOT the same fact as `passed`.
33
+ *
34
+ * `ImproveGate.passed` answers one question — was the anchored plan emitted —
35
+ * and it is true in two different situations: the plan met its threshold, or
36
+ * the plan came in under the threshold and was emitted anyway because the
37
+ * capture is provably the requested page. Recording both as `"passed"` is what
38
+ * put `"gate": "passed"` beside `55.2%` of a `60%` threshold in the d3 kit of
39
+ * the 0.2.61 fresh-design sanity run, with the CLI printing "emitted with low
40
+ * anchor overlap" over the top of it. Three outcomes, three words.
41
+ */
42
+ export type ImproveGateVerdict = 'passed' | 'emitted-low-overlap' | 'blocked';
43
+ export declare const improveGateVerdict: (gate: ImproveGate) => ImproveGateVerdict;
44
+ /**
45
+ * The measurement a low-overlap emission is reported by, and the reason it was
46
+ * emitted anyway. Every surface that mentions it — the run summary, the kit
47
+ * status line, the note inside the plan — reads them from here, so the kit
48
+ * cannot describe one situation with two different numbers.
49
+ */
50
+ export declare const improveLowOverlapReading: (low: {
51
+ domCoveragePct: number;
52
+ thresholdPct: number;
53
+ }) => string;
54
+ export declare const IMPROVE_LOW_OVERLAP_CAUSE: string;
31
55
  /**
32
56
  * The low-overlap sentence carried by an emitted plan (`lowOverlap`), so the
33
57
  * plan and `changes.md` cannot describe the same situation two ways.
@@ -1 +1 @@
1
- {"version":3,"file":"improve-dom-gate.d.ts","sourceRoot":"","sources":["../../src/improve-core/improve-dom-gate.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAEvE,OAAO,KAAK,EAAE,sBAAsB,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAExG,yFAAyF;AACzF,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAE3C;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,mBAAmB,GAC9B,UAAU,MAAM,EAChB,qBAAuC,EACvC,kBAAiB,sBAAqC,KACrD,WAeF,CAAC;AAUF;;;GAGG;AACH,eAAO,MAAM,qBAAqB,GAAI,MAAM,WAAW,KAAG,MAAM,GAAG,SAQlE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,GAAI,MAAM;IACtC,IAAI,EAAE,WAAW,CAAC;IAClB,MAAM,EAAE,eAAe,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,SAAS,kBAAkB,EAAE,CAAC;CAC9C,KAAG,MA4BQ,CAAC"}
1
+ {"version":3,"file":"improve-dom-gate.d.ts","sourceRoot":"","sources":["../../src/improve-core/improve-dom-gate.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAEvE,OAAO,KAAK,EAAE,sBAAsB,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAExG,yFAAyF;AACzF,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAE3C;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,mBAAmB,GAC9B,UAAU,MAAM,EAChB,qBAAuC,EACvC,kBAAiB,sBAAqC,KACrD,WAeF,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,qBAAqB,GAAG,SAAS,CAAC;AAE9E,eAAO,MAAM,kBAAkB,GAAI,MAAM,WAAW,KAAG,kBAGtD,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,GACnC,KAAK;IAAE,cAAc,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,KACpD,MACuC,CAAC;AAE3C,eAAO,MAAM,yBAAyB,QACf,CAAC;AAUxB;;;GAGG;AACH,eAAO,MAAM,qBAAqB,GAAI,MAAM,WAAW,KAAG,MAAM,GAAG,SAQlE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,GAAI,MAAM;IACtC,IAAI,EAAE,WAAW,CAAC;IAClB,MAAM,EAAE,eAAe,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,SAAS,kBAAkB,EAAE,CAAC;CAC9C,KAAG,MA4BQ,CAAC"}
@@ -44,6 +44,21 @@ export const evaluateImproveGate = (coverage, thresholdPct = IMPROVE_DEFAULT_GAT
44
44
  thresholdPct,
45
45
  };
46
46
  };
47
+ export const improveGateVerdict = (gate) => {
48
+ if (!gate.passed)
49
+ return 'blocked';
50
+ return gate.lowOverlap ? 'emitted-low-overlap' : 'passed';
51
+ };
52
+ /**
53
+ * The measurement a low-overlap emission is reported by, and the reason it was
54
+ * emitted anyway. Every surface that mentions it — the run summary, the kit
55
+ * status line, the note inside the plan — reads them from here, so the kit
56
+ * cannot describe one situation with two different numbers.
57
+ */
58
+ export const improveLowOverlapReading = (low) => `low anchor overlap (${low.domCoveragePct.toFixed(1)}%`
59
+ + ` of ${low.thresholdPct.toFixed(1)}%)`;
60
+ export const IMPROVE_LOW_OVERLAP_CAUSE = 'the capture is the requested page, so the target is'
61
+ + ' largely new work';
47
62
  /** Why this run could not prove the capture is the requested page. */
48
63
  const UNPROVEN_CAUSE = {
49
64
  redirected: 'the capture landed on a different URL than the one requested and'
@@ -1 +1 @@
1
- {"version":3,"file":"improve-dom-gate.js","sourceRoot":"","sources":["../../src/improve-core/improve-dom-gate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"improve-dom-gate.js","sourceRoot":"","sources":["../../src/improve-core/improve-dom-gate.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,9 @@
1
1
  import { type ImproveSiteShellChange, type ImproveSiteSharedShellRollup } from './improve-site-shell.js';
2
2
  import { type ImproveSiteTokenPatch, type ImproveSiteTokenRollup } from './improve-site-tokens.js';
3
3
  import type { ImproveArtifactMap } from './improve-artifacts.js';
4
- export type ImproveSitePageGate = 'passed' | 'blocked' | 'not-applicable' | 'failed';
4
+ import { type ImproveGateVerdict } from './improve-dom-gate.js';
5
+ import type { ImproveCaptureIdentity } from './improve-layerdoc-types.js';
6
+ export type ImproveSitePageGate = ImproveGateVerdict | 'not-applicable' | 'failed';
5
7
  /**
6
8
  * The site roll-up needs stable page facts and the paths a reader should be
7
9
  * linked to; capture, branch, and conversion orchestration stay outside. Paths
@@ -12,6 +14,15 @@ export type ImproveSitePagePlan = {
12
14
  id: string;
13
15
  url: string;
14
16
  gate: ImproveSitePageGate;
17
+ /**
18
+ * The reading behind an `emitted-low-overlap` gate, so the site brief states
19
+ * the caveat with the same numbers the page kit does.
20
+ */
21
+ lowOverlap?: {
22
+ domCoveragePct: number;
23
+ thresholdPct: number;
24
+ captureIdentity: ImproveCaptureIdentity;
25
+ };
15
26
  /** A branch failure has no polished target or implementation plan. */
16
27
  failure?: {
17
28
  code: string;
@@ -1 +1 @@
1
- {"version":3,"file":"improve-site-plan.d.ts","sourceRoot":"","sources":["../../src/improve-core/improve-site-plan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"improve-site-plan.d.ts","sourceRoot":"","sources":["../../src/improve-core/improve-site-plan.ts"],"names":[],"mappings":"AAGA,OAAO,EAIL,KAAK,sBAAsB,EAC3B,KAAK,4BAA4B,EAClC,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAGL,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC5B,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAGL,KAAK,kBAAkB,EACxB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAE1E,MAAM,MAAM,mBAAmB,GAAG,kBAAkB,GAAG,gBAAgB,GAAG,QAAQ,CAAC;AAEnF;;;;;GAKG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,mBAAmB,CAAC;IAC1B;;;OAGG;IACH,UAAU,CAAC,EAAE;QACX,cAAc,EAAE,MAAM,CAAC;QACvB,YAAY,EAAE,MAAM,CAAC;QACrB,eAAe,EAAE,sBAAsB,CAAC;KACzC,CAAC;IACF,sEAAsE;IACtE,OAAO,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5C,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,UAAU,GAAG,YAAY,GAAG,OAAO,CAAC;IACnD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,SAAS,EAAE,kBAAkB,CAAC;IAC9B,KAAK,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACtC,MAAM,EAAE,sBAAsB,CAAC;IAC/B,WAAW,EAAE,4BAA4B,CAAC;CAC3C,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAQF,uEAAuE;AACvE,MAAM,MAAM,uBAAuB,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;AAQ/D,8EAA8E;AAC9E,eAAO,MAAM,yBAAyB,GAAI,MAAM,MAAM,GAAG,SAAS,KAAG,oBAWpE,CAAC;AAmBF,eAAO,MAAM,uBAAuB,aAAa,CAAC;AAClD,eAAO,MAAM,uBAAuB,aAAa,CAAC;AAElD,eAAO,MAAM,sBAAsB,GAAI,MAAM;IAC3C,KAAK,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACtC,YAAY,EAAE,uBAAuB,CAAC;CACvC,KAAG,MAuBH,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAAI,MAAM;IAC3C,KAAK,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACtC,YAAY,EAAE,uBAAuB,CAAC;IACtC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,KAAG,MA4DH,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,GAAI,MAAM;IAC7C,KAAK,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACtC,YAAY,EAAE,SAAS,qBAAqB,EAAE,CAAC;IAC/C,YAAY,EAAE,SAAS,sBAAsB,EAAE,CAAC;IAChD,YAAY,EAAE,uBAAuB,CAAC;IACtC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,KAAG,wBA6BH,CAAC"}
@@ -2,6 +2,7 @@
2
2
  // packages/layerdoc/src/improve-core by scripts/sync-improve-core.mjs.
3
3
  import { detectImproveSiteSharedShell, renderImproveSiteSharedShell, IMPROVE_SITE_SHARED_SHELL_FILE, } from './improve-site-shell.js';
4
4
  import { mergeImproveSiteTokens, IMPROVE_SITE_TOKENS_FILE, } from './improve-site-tokens.js';
5
+ import { improveLowOverlapReading, IMPROVE_LOW_OVERLAP_CAUSE, } from './improve-dom-gate.js';
5
6
  const isRecord = (value) => (Boolean(value) && typeof value === 'object' && !Array.isArray(value));
6
7
  const markdownCell = (value) => value.replaceAll('|', '\\|').replaceAll('\n', ' ');
7
8
  const markdownLink = (relativePath, file, label) => (file ? `[${label}](${relativePath(file)})` : '—');
@@ -79,11 +80,21 @@ export const renderImproveSiteApply = (args) => {
79
80
  continue;
80
81
  }
81
82
  const plan = markdownLink(args.relativePath, page.planPath, 'plan-annotated.md');
83
+ // Three gate verdicts, three instructions. An `emitted-low-overlap` page
84
+ // HAS an anchored plan, so it is not blocked — but most of its target is
85
+ // new work rather than edits, and a brief that gave it the same sentence
86
+ // as a page which met the threshold hid the one caveat the page kit's own
87
+ // README states.
82
88
  const state = page.gate === 'blocked'
83
89
  ? 'Blocked: resolve the gate before applying page-specific changes.'
84
90
  : page.gate === 'not-applicable'
85
91
  ? 'Target-only: implement only the explicitly specified target changes.'
86
- : 'Apply only the page-specific residue after tokens and shared shell work.';
92
+ : page.gate === 'emitted-low-overlap'
93
+ ? `Emitted with ${page.lowOverlap
94
+ ? improveLowOverlapReading(page.lowOverlap)
95
+ : 'low anchor overlap'}: ${IMPROVE_LOW_OVERLAP_CAUSE}. Apply the anchored residue after`
96
+ + ' tokens and shared shell work, and implement the rest as new work rather than as edits.'
97
+ : 'Apply only the page-specific residue after tokens and shared shell work.';
87
98
  lines.push(`- **${page.id}** (${page.url}) — ${plan}. ${state}`);
88
99
  if (args.repo && page.sourceHints.length > 0) {
89
100
  lines.push(` - Repository hints: ${page.sourceHints.map((hint) => `\`${hint}\``).join(', ')}.`);
@@ -1 +1 @@
1
- {"version":3,"file":"improve-site-plan.js","sourceRoot":"","sources":["../../src/improve-core/improve-site-plan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"improve-site-plan.js","sourceRoot":"","sources":["../../src/improve-core/improve-site-plan.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAChD,uEAAuE;AAEvE,OAAO,EACL,4BAA4B,EAC5B,4BAA4B,EAC5B,8BAA8B,GAG/B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,sBAAsB,EACtB,wBAAwB,GAGzB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,wBAAwB,EACxB,yBAAyB,GAE1B,MAAM,uBAAuB,CAAC;AAuD/B,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAoC,EAAE,CAAC,CACrE,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CACrE,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,KAAa,EAAU,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AAKnG,MAAM,YAAY,GAAG,CACnB,YAAqC,EACrC,IAAwB,EACxB,KAAa,EACL,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAEhE,8EAA8E;AAC9E,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,IAAwB,EAAwB,EAAE;IAC1F,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IACrB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAY,CAAC;IAC7C,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,EAAE,CAAC;IACnC,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1D,OAAO;QACL,GAAG,CAAC,OAAO,QAAQ,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvF,GAAG,CAAC,OAAO,IAAI,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrF,GAAG,CAAC,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/E,GAAG,CAAC,OAAO,IAAI,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACtF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,QAA4B,EAAU,EAAE,CAAC,QAAQ,KAAK,SAAS;IACrF,CAAC,CAAC,GAAG;IACL,CAAC,CAAC,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;AAEtC,MAAM,aAAa,GAAG,CAAC,OAAuC,EAAU,EAAE,CAAC,CACzE,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CACpE,CAAC;AAEF,MAAM,YAAY,GAAG,CACnB,YAAqC,EACrC,IAAyB,EACjB,EAAE;IACV,MAAM,IAAI,GAAG,YAAY,CAAC,YAAY,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,YAAY,KAAK,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;IAC3H,IAAI,CAAC,IAAI,CAAC,iBAAiB;QAAE,OAAO,IAAI,CAAC;IACzC,OAAO,YAAY,CAAC,GAAG,IAAI,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;AAC7D,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,UAAU,CAAC;AAClD,MAAM,CAAC,MAAM,uBAAuB,GAAG,UAAU,CAAC;AAElD,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,IAGtC,EAAU,EAAE;IACX,MAAM,KAAK,GAAG;QACZ,SAAS,EAAE,EAAE;QACb,8GAA8G;QAC9G,yEAAyE;KAC1E,CAAC;IACF,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC;YACT,IAAI,CAAC,EAAE;YACP,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC;YACtB,IAAI,CAAC,IAAI;YACT,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC;YAC3B,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC;YAC7B,IAAI,CAAC,YAAY,IAAI,GAAG;YACxB,IAAI,CAAC,UAAU,IAAI,GAAG;YACtB,IAAI,CAAC,YAAY,IAAI,GAAG;YACxB,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,iBAAiB,EAAE,cAAc,CAAC;YACvE,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC;YACrC,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAChG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IACzD,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,IAKtC,EAAU,EAAE;IACX,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,YAAY,CAAC;IACpE,MAAM,KAAK,GAAG;QACZ,+BAA+B,EAAE,EAAE;QACnC,iHAAiH,EAAE,EAAE;QACrH,kDAAkD,EAAE,EAAE;QACtD,6BAA6B,wBAAwB,gGAAgG;QACrJ,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,4CAA4C,IAAI,CAAC,IAAI,2EAA2E,CAAC,CAAC,CAAC,CAAC,CAAC,2FAA2F,CAAC,CAAC;QACnP,EAAE;QACF,uCAAuC,EAAE,EAAE;QAC3C,8BAA8B,8BAA8B,0HAA0H;QACtL,kFAAkF,EAAE,EAAE;QACtF,4CAA4C,EAAE,EAAE;KACjD,CAAC;IACF,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAC9B,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO;gBAC1B,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;gBACjD,CAAC,CAAC,oDAAoD,CAAC;YACzD,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,EAAE,OAAO,IAAI,CAAC,GAAG,mCAAmC,OAAO,4GAA4G,CAAC,CAAC;YAChM,SAAS;QACX,CAAC;QACD,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC;QACjF,yEAAyE;QACzE,yEAAyE;QACzE,yEAAyE;QACzE,0EAA0E;QAC1E,iBAAiB;QACjB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,KAAK,SAAS;YACnC,CAAC,CAAC,kEAAkE;YACpE,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,gBAAgB;gBAC9B,CAAC,CAAC,sEAAsE;gBACxE,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,qBAAqB;oBACnC,CAAC,CAAC,gBAAgB,IAAI,CAAC,UAAU;wBAC/B,CAAC,CAAC,wBAAwB,CAAC,IAAI,CAAC,UAAU,CAAC;wBAC3C,CAAC,CAAC,oBAAoB,KAAK,yBAAyB,oCAAoC;0BACtF,yFAAyF;oBAC7F,CAAC,CAAC,0EAA0E,CAAC;QACnF,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,EAAE,OAAO,IAAI,CAAC,GAAG,OAAO,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC;QACjE,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7C,KAAK,CAAC,IAAI,CAAC,yBAAyB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnG,CAAC;IACH,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,uDAAuD,EAAE,EAAE,CAAC,CAAC;IAC5E,KAAK,CAAC,IAAI,CAAC,gNAAgN,CAAC,CAAC;IAC7N,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,kBAAkB,EAAE,EAAE,CAAC,CAAC;IACvC,KAAK,CAAC,IAAI,CACR,iGAAiG,EACjG,wGAAwG,EACxG,uHAAuH,EACvH,qHAAqH,CACtH,CAAC;IACF,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,0BAA0B,EAAE,EAAE,CAAC,CAAC;IAC/C,KAAK,CAAC,IAAI,CACR,sEAAsE,EACtE,sDAAsD,MAAM,wIAAwI,EACpM,qGAAqG,EACrG,EAAE,CACH,CAAC;IACF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,IAOxC,EAA4B,EAAE;IAC7B,MAAM,MAAM,GAAG,sBAAsB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACzD,MAAM,kBAAkB,GAAG,4BAA4B,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC3E,MAAM,WAAW,GAAiC;QAChD,OAAO,EAAE,kBAAkB;QAC3B,QAAQ,EAAE,4BAA4B,CAAC,kBAAkB,EAAE,IAAI,CAAC,YAAY,CAAC;KAC9E,CAAC;IACF,OAAO;QACL,SAAS,EAAE;YACT,KAAK,EAAE;gBACL,CAAC,wBAAwB,CAAC,EAAE,MAAM,CAAC,GAAG;gBACtC,CAAC,8BAA8B,CAAC,EAAE,WAAW,CAAC,QAAQ;gBACtD,CAAC,uBAAuB,CAAC,EAAE,sBAAsB,CAAC;oBAChD,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,YAAY,EAAE,IAAI,CAAC,YAAY;iBAChC,CAAC;gBACF,CAAC,uBAAuB,CAAC,EAAE,sBAAsB,CAAC;oBAChD,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,YAAY,EAAE,IAAI,CAAC,YAAY;oBAC/B,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACzC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACzD,CAAC;aACH;YACD,MAAM,EAAE,EAAE;SACX;QACD,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,MAAM;QACN,WAAW;KACZ,CAAC;AACJ,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"improve-delivery-stages.d.ts","sourceRoot":"","sources":["../src/improve-delivery-stages.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,OAAO,EAEL,KAAK,0BAA0B,EAChC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAGL,KAAK,aAAa,EACnB,MAAM,wBAAwB,CAAC;AA0GhC,eAAO,MAAM,mBAAmB,GAAU,MAAM;IAC9C,MAAM,EAAE,aAAa,CAAC;IACtB,OAAO,EAAE,cAAc,CAAC;IACxB,YAAY,EAAE,0BAA0B,CAAC;IACzC,KAAK,EAAE,MAAM,CAAC;CACf,KAAG,OAAO,CAAC,aAAa,CAgFxB,CAAC;AAEF,eAAO,MAAM,4BAA4B,GAAU,MAAM;IACvD,MAAM,EAAE,aAAa,CAAC;IACtB,OAAO,EAAE,cAAc,CAAC;IACxB,YAAY,EAAE,0BAA0B,CAAC;IACzC,KAAK,EAAE,MAAM,CAAC;CACf,KAAG,OAAO,CAAC,aAAa,CAqDxB,CAAC"}
1
+ {"version":3,"file":"improve-delivery-stages.d.ts","sourceRoot":"","sources":["../src/improve-delivery-stages.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,OAAO,EAEL,KAAK,0BAA0B,EAChC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAGL,KAAK,aAAa,EACnB,MAAM,wBAAwB,CAAC;AA0GhC,eAAO,MAAM,mBAAmB,GAAU,MAAM;IAC9C,MAAM,EAAE,aAAa,CAAC;IACtB,OAAO,EAAE,cAAc,CAAC;IACxB,YAAY,EAAE,0BAA0B,CAAC;IACzC,KAAK,EAAE,MAAM,CAAC;CACf,KAAG,OAAO,CAAC,aAAa,CAgFxB,CAAC;AAEF,eAAO,MAAM,4BAA4B,GAAU,MAAM;IACvD,MAAM,EAAE,aAAa,CAAC;IACtB,OAAO,EAAE,cAAc,CAAC;IACxB,YAAY,EAAE,0BAA0B,CAAC;IACzC,KAAK,EAAE,MAAM,CAAC;CACf,KAAG,OAAO,CAAC,aAAa,CA+DxB,CAAC"}
@@ -6,6 +6,7 @@ import { prepareOutputDirectory } from './cli-output-paths.js';
6
6
  import { improveCaptureIdentity } from './improve-capture-redirect.js';
7
7
  import { runImproveConversion } from './improve-conversion-stage.js';
8
8
  import { writeImproveDomDiff } from './improve-dom-diff.js';
9
+ import { improveGateVerdict } from './improve-dom-gate.js';
9
10
  import { canvasOfDoc, diffLayerDocs, evaluateImproveGate, flattenLayerDoc, normalizeLayerDoc, renderLayerChanges, } from './improve-core/index.js';
10
11
  import { writeImproveAnnotatedPlan } from './improve-plan-annotator.js';
11
12
  import { noteImproveStage, } from './improve-stage-shared.js';
@@ -126,7 +127,7 @@ export const runImprovePlanStage = async (args) => {
126
127
  captureIdentity: improveCaptureIdentity(record),
127
128
  });
128
129
  mode = 'dom-anchored';
129
- gate = diff.gate.passed ? 'passed' : 'blocked';
130
+ gate = improveGateVerdict(diff.gate);
130
131
  facts = planFacts(diff);
131
132
  if (diff.gate.lowOverlap) {
132
133
  lowOverlap = {
@@ -227,7 +228,17 @@ export const runImproveSitePlanPagesStage = async (args) => {
227
228
  ...page,
228
229
  plan: {
229
230
  mode: 'dom-anchored',
230
- gate: diff.gate.passed ? 'passed' : 'blocked',
231
+ gate: improveGateVerdict(diff.gate),
232
+ // The verdict alone cannot be reported honestly: `emitted-low-overlap`
233
+ // is only meaningful beside the reading that produced it, and the site
234
+ // roll-up states that caveat per page.
235
+ ...(diff.gate.lowOverlap ? {
236
+ lowOverlap: {
237
+ domCoveragePct: diff.gate.coveragePct,
238
+ thresholdPct: diff.gate.thresholdPct,
239
+ captureIdentity: diff.gate.captureIdentity,
240
+ },
241
+ } : {}),
231
242
  coverage: { dom: diff.domCoverage, design: diff.designCoverage },
232
243
  counts: {
233
244
  matched: diff.result.meta.matchedCount,