@rudra-js/core 0.7.4 → 0.7.5

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 (54) hide show
  1. package/dist/claim-screening.d.ts +3 -3
  2. package/dist/claim-screening.d.ts.map +1 -1
  3. package/dist/claim-screening.js +30 -93
  4. package/dist/claim-screening.js.map +1 -1
  5. package/dist/component-generator.d.ts.map +1 -1
  6. package/dist/component-generator.js +161 -176
  7. package/dist/component-generator.js.map +1 -1
  8. package/dist/component-spec.d.ts +1 -0
  9. package/dist/component-spec.d.ts.map +1 -1
  10. package/dist/component-spec.js +3 -0
  11. package/dist/component-spec.js.map +1 -1
  12. package/dist/fallback-component.d.ts +1 -1
  13. package/dist/fallback-component.d.ts.map +1 -1
  14. package/dist/fallback-component.js +9 -17
  15. package/dist/fallback-component.js.map +1 -1
  16. package/dist/fit-to-shopper.d.ts.map +1 -1
  17. package/dist/fit-to-shopper.js +19 -19
  18. package/dist/fit-to-shopper.js.map +1 -1
  19. package/dist/model-prompt.d.ts.map +1 -1
  20. package/dist/model-prompt.js +56 -39
  21. package/dist/model-prompt.js.map +1 -1
  22. package/dist/product-selection.d.ts.map +1 -1
  23. package/dist/product-selection.js +15 -31
  24. package/dist/product-selection.js.map +1 -1
  25. package/dist/provider.d.ts.map +1 -1
  26. package/dist/provider.js.map +1 -1
  27. package/dist/reconciliation.d.ts +3 -3
  28. package/dist/reconciliation.d.ts.map +1 -1
  29. package/dist/reconciliation.js +133 -171
  30. package/dist/reconciliation.js.map +1 -1
  31. package/dist/signal-digest.d.ts +1 -1
  32. package/dist/signal-digest.d.ts.map +1 -1
  33. package/dist/signal-digest.js +51 -52
  34. package/dist/signal-digest.js.map +1 -1
  35. package/dist/spec-cache.d.ts +0 -4
  36. package/dist/spec-cache.d.ts.map +1 -1
  37. package/dist/spec-cache.js +15 -35
  38. package/dist/spec-cache.js.map +1 -1
  39. package/dist/tracking-input.d.ts.map +1 -1
  40. package/dist/tracking-input.js +16 -19
  41. package/dist/tracking-input.js.map +1 -1
  42. package/package.json +3 -3
  43. package/src/claim-screening.ts +34 -114
  44. package/src/component-generator.ts +223 -220
  45. package/src/component-spec.ts +4 -15
  46. package/src/fallback-component.ts +11 -20
  47. package/src/fit-to-shopper.ts +19 -21
  48. package/src/model-prompt.ts +55 -54
  49. package/src/product-selection.ts +21 -50
  50. package/src/provider.ts +0 -4
  51. package/src/reconciliation.ts +159 -268
  52. package/src/signal-digest.ts +50 -79
  53. package/src/spec-cache.ts +15 -48
  54. package/src/tracking-input.ts +21 -36
@@ -1,11 +1,12 @@
1
- import { verify } from '@rudra-js/attested';
2
- import { ALLOWED_PHRASES, claimIn, hostFacts } from './claim-screening.js';
3
- import { engagedCategories } from './signal-digest.js';
1
+ import { hostFacts, NO_FACTS, unbackedClaim } from './claim-screening.js';
2
+ import { columnsFor, } from './component-spec.js';
3
+ import { categoriesTouchedBySignals } from './signal-digest.js';
4
+ import { FIELD_LIMITS } from './tracking-input.js';
4
5
  const CLAMP = {
5
6
  headline: 90,
6
7
  subheadline: 140,
7
8
  blockTitle: 80,
8
- reason: 120,
9
+ reason: FIELD_LIMITS.reason,
9
10
  badge: 24,
10
11
  ctaLabel: 32,
11
12
  bannerText: 160,
@@ -26,35 +27,48 @@ function clamp(value, limit) {
26
27
  const base = lastSpace > limit * 0.6 ? cut.slice(0, lastSpace) : cut;
27
28
  return `${base.replace(/[.,;:!?-]+$/, '')}…`;
28
29
  }
29
- function refusedEverywhere(input) {
30
- const refused = new Set();
30
+ function blockedForBundles(input) {
31
+ const blocked = new Set();
31
32
  for (const signal of input.signals.dislikes)
32
- refused.add(signal.sku);
33
+ blocked.add(signal.sku);
33
34
  if (input.context.currentSku)
34
- refused.add(input.context.currentSku);
35
- return refused;
35
+ blocked.add(input.context.currentSku);
36
+ return blocked;
36
37
  }
37
- export function neverRecommend(input) {
38
- const { signals } = input;
39
- const blocked = refusedEverywhere(input);
40
- for (const signal of [...signals.lastPurchased, ...signals.cart]) {
38
+ export function blockedForPicks(input) {
39
+ const blocked = blockedForBundles(input);
40
+ for (const signal of input.signals.lastPurchased)
41
+ blocked.add(signal.sku);
42
+ for (const signal of input.signals.cart)
41
43
  blocked.add(signal.sku);
42
- }
43
44
  return blocked;
44
45
  }
45
- function buildAllowlist(input) {
46
- const allowed = new Set();
46
+ function inStockSkus(input) {
47
+ const skus = new Set();
47
48
  for (const product of input.candidates) {
48
49
  if (product.isInStock)
49
- allowed.add(product.sku);
50
+ skus.add(product.sku);
50
51
  }
52
+ return skus;
53
+ }
54
+ function startRun(input, digest, ourReasons) {
51
55
  return {
52
- allowed,
53
- blocked: neverRecommend(input),
54
- blockedInBundle: refusedEverywhere(input),
56
+ allowed: inStockSkus(input),
57
+ blockedForPicks: blockedForPicks(input),
58
+ blockedForBundles: blockedForBundles(input),
59
+ products: new Map(input.candidates.map((product) => [product.sku, product])),
60
+ digest,
61
+ engaged: categoriesTouchedBySignals(input),
62
+ bundles: input.bundles,
63
+ ourReasons,
64
+ facts: hostFacts(input),
65
+ placed: new Set(),
66
+ remaining: digest.maxItems,
67
+ violations: [],
55
68
  };
56
69
  }
57
- function verifyBasis(basis, product, digest, engaged) {
70
+ function verifyBasis(basis, product, run) {
71
+ const { digest } = run;
58
72
  switch (basis) {
59
73
  case 'most_viewed':
60
74
  return digest.topViewed.some((viewed) => viewed.sku === product.sku);
@@ -63,7 +77,7 @@ function verifyBasis(basis, product, digest, engaged) {
63
77
  case 'complements_purchase':
64
78
  return digest.purchasedSkus.length > 0;
65
79
  case 'liked_category':
66
- return (engaged.has(product.category) &&
80
+ return (run.engaged.has(product.category) &&
67
81
  digest.categoryAffinity.some((affinity) => affinity.category === product.category));
68
82
  case 'similar_to_current':
69
83
  return digest.currentCategory === product.category;
@@ -71,110 +85,82 @@ function verifyBasis(basis, product, digest, engaged) {
71
85
  return true;
72
86
  }
73
87
  }
74
- const NUMERAL = /[\p{Nd}\p{No}\p{Nl}]/u;
75
- const NO_FACTS = [];
76
- function createPlacementTracker(maxItems, facts) {
77
- const placedSkus = new Set();
78
- const violations = [];
79
- let remaining = maxItems;
80
- return {
81
- violations,
82
- facts: facts.pooled,
83
- factsFor: (sku) => facts.bySku.get(sku) ?? NO_FACTS,
84
- get remaining() {
85
- return remaining;
86
- },
87
- hasPlaced: (sku) => placedSkus.has(sku),
88
- record(violation) {
89
- violations.push(violation);
90
- },
91
- place(sku) {
92
- placedSkus.add(sku);
93
- remaining -= 1;
94
- },
95
- };
88
+ function place(run, sku) {
89
+ run.placed.add(sku);
90
+ run.remaining -= 1;
96
91
  }
97
- function screenClaim(value, limit, field, tracker, facts = tracker.facts) {
92
+ function screenClaim(value, limit, field, run, facts = run.facts.pooled) {
98
93
  if (value === null)
99
94
  return null;
100
95
  const clamped = clamp(value, limit);
101
96
  if (clamped.length === 0)
102
97
  return null;
103
- const kind = claimIn(value) ?? claimIn(clamped);
104
- if (kind !== null) {
105
- tracker.record(`unverifiable-claim:${kind}:${field}`);
106
- return null;
107
- }
108
- const weighed = NUMERAL.test(clamped) ? facts : NO_FACTS;
109
- const result = verify(clamped, { values: weighed, allowedPhrases: ALLOWED_PHRASES });
110
- if (!result.quantity.supported) {
111
- tracker.record(`unverifiable-claim:quantity:${field}`);
112
- return null;
113
- }
114
- if (!result.wording.supported) {
115
- tracker.record(`unverifiable-claim:wording:${field}`);
116
- return null;
117
- }
118
- return clamped;
98
+ const kind = unbackedClaim(value, clamped, facts);
99
+ if (kind === null)
100
+ return clamped;
101
+ run.violations.push(`unverifiable-claim:${kind}:${field}`);
102
+ return null;
119
103
  }
120
- function screenRequired(value, limit, field, tracker) {
121
- return screenClaim(value, limit, field, tracker) ?? '';
104
+ function screenRequired(value, limit, field, run) {
105
+ return screenClaim(value, limit, field, run) ?? '';
122
106
  }
123
- function rejectionFor(sku, allowlist, tracker) {
107
+ function rejectionFor(sku, run) {
124
108
  const named = clamp(sku, CLAMP.violationSku);
125
- if (!allowlist.allowed.has(sku))
109
+ if (!run.allowed.has(sku))
126
110
  return `unknown-sku:${named}`;
127
- if (allowlist.blocked.has(sku))
111
+ if (run.blockedForPicks.has(sku))
128
112
  return `blocked-sku:${named}`;
129
- if (tracker.hasPlaced(sku))
113
+ if (run.placed.has(sku))
130
114
  return `duplicate-sku:${named}`;
131
- if (tracker.remaining <= 0)
115
+ if (run.remaining <= 0)
132
116
  return `budget:dropped:${named}`;
133
117
  return null;
134
118
  }
135
- function reconcileItems(items, allowlist, candidatesBySku, digest, engaged, tracker, ourReasons) {
119
+ function takeSlot(sku, run) {
120
+ const rejection = rejectionFor(sku, run);
121
+ if (rejection !== null) {
122
+ run.violations.push(rejection);
123
+ return null;
124
+ }
125
+ place(run, sku);
126
+ return sku;
127
+ }
128
+ function reconcileItems(items, run) {
136
129
  const kept = [];
137
130
  for (const item of items) {
138
- const rejection = rejectionFor(item.sku, allowlist, tracker);
139
- if (rejection) {
140
- tracker.record(rejection);
131
+ if (takeSlot(item.sku, run) === null)
141
132
  continue;
142
- }
143
- const product = candidatesBySku.get(item.sku);
133
+ const product = run.products.get(item.sku);
144
134
  if (!product)
145
135
  continue;
146
- tracker.place(item.sku);
147
- const hasSupportedBasis = verifyBasis(item.basis, product, digest, engaged);
148
- if (!hasSupportedBasis)
149
- tracker.record(`unsupported-basis:${item.basis}:${item.sku}`);
150
- const isOurs = item.reason !== null && ourReasons.get(item.sku) === item.reason;
151
- const own = tracker.factsFor(item.sku);
152
- let reason = null;
153
- let badge = null;
154
- if (hasSupportedBasis) {
155
- reason = isOurs
156
- ? clamp(item.reason ?? '', CLAMP.reason) || null
157
- : screenClaim(item.reason, CLAMP.reason, `reason:${item.sku}`, tracker, own);
158
- badge = screenClaim(item.badge, CLAMP.badge, `badge:${item.sku}`, tracker, own);
136
+ if (!verifyBasis(item.basis, product, run)) {
137
+ run.violations.push(`unsupported-basis:${item.basis}:${item.sku}`);
138
+ kept.push({
139
+ sku: item.sku,
140
+ basis: 'popular',
141
+ reason: null,
142
+ badge: null,
143
+ emphasis: item.emphasis,
144
+ });
145
+ continue;
159
146
  }
160
- kept.push({
161
- sku: item.sku,
162
- basis: hasSupportedBasis ? item.basis : 'popular',
163
- reason,
164
- badge,
165
- emphasis: item.emphasis,
166
- });
147
+ const own = run.facts.bySku.get(item.sku) ?? NO_FACTS;
148
+ const reason = item.reason !== null && run.ourReasons.get(item.sku) === item.reason
149
+ ? clamp(item.reason, CLAMP.reason) || null
150
+ : screenClaim(item.reason, CLAMP.reason, `reason:${item.sku}`, run, own);
151
+ const badge = screenClaim(item.badge, CLAMP.badge, `badge:${item.sku}`, run, own);
152
+ kept.push({ sku: item.sku, basis: item.basis, reason, badge, emphasis: item.emphasis });
167
153
  }
168
154
  return kept;
169
155
  }
170
- function fitOf(bundle, digest, candidatesBySku) {
156
+ function fitOf(bundle, digest, products) {
171
157
  const fit = { cartHits: 0, viewedHits: 0, categoryHits: 0 };
172
158
  for (const sku of bundle.skus) {
173
159
  if (digest.cartSkus.includes(sku))
174
160
  fit.cartHits += 1;
175
161
  else if (digest.topViewed.some((viewed) => viewed.sku === sku))
176
162
  fit.viewedHits += 1;
177
- else if (candidatesBySku.get(sku)?.category === digest.currentCategory)
163
+ else if (products.get(sku)?.category === digest.currentCategory)
178
164
  fit.categoryHits += 1;
179
165
  }
180
166
  return fit;
@@ -188,24 +174,16 @@ function isBetterFit(fit, best) {
188
174
  return fit.viewedHits > best.viewedHits;
189
175
  return fit.categoryHits > best.categoryHits;
190
176
  }
191
- function chooseBundle(bundles, allowlist, digest, candidatesBySku, tracker) {
177
+ function chooseBundle(run) {
192
178
  let best;
193
179
  let bestFit;
194
- for (const bundle of bundles) {
195
- if (bundle.skus.length > tracker.remaining)
180
+ for (const bundle of run.bundles) {
181
+ if (bundle.skus.length > run.remaining)
196
182
  continue;
197
- let isPlaceable = true;
198
- for (const sku of bundle.skus) {
199
- if (!allowlist.allowed.has(sku))
200
- isPlaceable = false;
201
- if (allowlist.blockedInBundle.has(sku))
202
- isPlaceable = false;
203
- if (tracker.hasPlaced(sku))
204
- isPlaceable = false;
205
- }
183
+ const isPlaceable = bundle.skus.every((sku) => run.allowed.has(sku) && !run.blockedForBundles.has(sku) && !run.placed.has(sku));
206
184
  if (!isPlaceable)
207
185
  continue;
208
- const fit = fitOf(bundle, digest, candidatesBySku);
186
+ const fit = fitOf(bundle, run.digest, run.products);
209
187
  if (isBetterFit(fit, bestFit)) {
210
188
  best = bundle;
211
189
  bestFit = fit;
@@ -214,119 +192,105 @@ function chooseBundle(bundles, allowlist, digest, candidatesBySku, tracker) {
214
192
  return best;
215
193
  }
216
194
  export function bundleForShopper(input, digest, spokenFor) {
217
- const allowlist = buildAllowlist(input);
218
- const candidatesBySku = new Map(input.candidates.map((product) => [product.sku, product]));
219
- const tracker = createPlacementTracker(digest.maxItems, hostFacts(input));
195
+ const run = startRun(input, digest, new Map());
220
196
  for (const sku of spokenFor)
221
- tracker.place(sku);
222
- return chooseBundle(input.bundles, allowlist, digest, candidatesBySku, tracker);
197
+ place(run, sku);
198
+ return chooseBundle(run);
223
199
  }
224
200
  export function placeableHeroSkus(blocks, input) {
225
- const allowlist = buildAllowlist(input);
201
+ const allowed = inStockSkus(input);
202
+ const blocked = blockedForPicks(input);
226
203
  const skus = [];
227
204
  for (const block of blocks) {
228
- if (block.kind !== 'hero')
205
+ if (block.kind !== 'hero' || block.sku === null)
229
206
  continue;
230
- if (block.sku === null)
207
+ if (!allowed.has(block.sku) || blocked.has(block.sku))
231
208
  continue;
232
- if (!allowlist.allowed.has(block.sku) || allowlist.blocked.has(block.sku))
233
- continue;
234
- if (skus.includes(block.sku))
235
- continue;
236
- skus.push(block.sku);
209
+ if (!skus.includes(block.sku))
210
+ skus.push(block.sku);
237
211
  }
238
212
  return skus;
239
213
  }
240
- function reconcileBlock(block, allowlist, candidatesBySku, digest, engaged, bundles, tracker, ourReasons) {
214
+ function reconcileBlock(block, run) {
241
215
  switch (block.kind) {
242
216
  case 'hero': {
243
- let sku = block.sku;
244
- if (sku !== null) {
245
- const rejection = rejectionFor(sku, allowlist, tracker);
246
- if (rejection) {
247
- tracker.record(rejection);
248
- sku = null;
249
- }
250
- else {
251
- tracker.place(sku);
252
- }
253
- }
254
- const headline = screenRequired(block.headline, CLAMP.headline, 'hero-headline', tracker);
217
+ const sku = block.sku === null ? null : takeSlot(block.sku, run);
218
+ const headline = screenRequired(block.headline, CLAMP.headline, 'hero-headline', run);
255
219
  if (headline.length === 0 && sku === null) {
256
- tracker.record('empty-block:hero');
220
+ run.violations.push('empty-block:hero');
257
221
  return null;
258
222
  }
259
223
  return {
260
224
  kind: 'hero',
261
225
  headline,
262
- body: screenClaim(block.body, CLAMP.subheadline, 'hero-body', tracker),
226
+ body: screenClaim(block.body, CLAMP.subheadline, 'hero-body', run),
263
227
  sku,
264
- ctaLabel: screenClaim(block.ctaLabel, CLAMP.ctaLabel, 'hero-cta', tracker),
228
+ ctaLabel: screenClaim(block.ctaLabel, CLAMP.ctaLabel, 'hero-cta', run),
265
229
  };
266
230
  }
267
231
  case 'grid': {
268
- const items = reconcileItems(block.items, allowlist, candidatesBySku, digest, engaged, tracker, ourReasons);
232
+ const items = reconcileItems(block.items, run);
269
233
  if (items.length === 0) {
270
- tracker.record('empty-block:grid');
234
+ run.violations.push('empty-block:grid');
271
235
  return null;
272
236
  }
273
237
  return {
274
238
  kind: 'grid',
275
- title: screenClaim(block.title, CLAMP.blockTitle, 'grid-title', tracker),
276
- columns: Math.min(block.columns, Math.max(2, items.length)),
239
+ title: screenClaim(block.title, CLAMP.blockTitle, 'grid-title', run),
240
+ columns: columnsFor(items.length, block.columns),
277
241
  items,
278
242
  };
279
243
  }
280
244
  case 'carousel': {
281
- const items = reconcileItems(block.items, allowlist, candidatesBySku, digest, engaged, tracker, ourReasons);
245
+ const items = reconcileItems(block.items, run);
282
246
  if (items.length === 0) {
283
- tracker.record('empty-block:carousel');
247
+ run.violations.push('empty-block:carousel');
284
248
  return null;
285
249
  }
286
250
  return {
287
251
  kind: 'carousel',
288
- title: screenClaim(block.title, CLAMP.blockTitle, 'carousel-title', tracker),
252
+ title: screenClaim(block.title, CLAMP.blockTitle, 'carousel-title', run),
289
253
  items,
290
254
  };
291
255
  }
292
256
  case 'banner': {
293
- const text = screenRequired(block.text, CLAMP.bannerText, 'banner-text', tracker);
257
+ const text = screenRequired(block.text, CLAMP.bannerText, 'banner-text', run);
294
258
  if (text.length === 0) {
295
- tracker.record('empty-block:banner');
259
+ run.violations.push('empty-block:banner');
296
260
  return null;
297
261
  }
298
262
  return {
299
263
  kind: 'banner',
300
264
  tone: block.tone,
301
265
  text,
302
- ctaLabel: screenClaim(block.ctaLabel, CLAMP.ctaLabel, 'banner-cta', tracker),
266
+ ctaLabel: screenClaim(block.ctaLabel, CLAMP.ctaLabel, 'banner-cta', run),
303
267
  };
304
268
  }
305
269
  case 'copy': {
306
- const body = screenRequired(block.body, CLAMP.copyBody, 'copy-body', tracker);
270
+ const body = screenRequired(block.body, CLAMP.copyBody, 'copy-body', run);
307
271
  if (body.length === 0) {
308
- tracker.record('empty-block:copy');
272
+ run.violations.push('empty-block:copy');
309
273
  return null;
310
274
  }
311
275
  return {
312
276
  kind: 'copy',
313
- title: screenClaim(block.title, CLAMP.blockTitle, 'copy-title', tracker),
277
+ title: screenClaim(block.title, CLAMP.blockTitle, 'copy-title', run),
314
278
  body,
315
279
  };
316
280
  }
317
281
  case 'bundle': {
318
- const chosen = chooseBundle(bundles, allowlist, digest, candidatesBySku, tracker);
282
+ const chosen = chooseBundle(run);
319
283
  if (!chosen) {
320
- tracker.record('no-bundle');
284
+ run.violations.push('no-bundle');
321
285
  return null;
322
286
  }
323
287
  for (const sku of chosen.skus)
324
- tracker.place(sku);
288
+ place(run, sku);
325
289
  return {
326
290
  kind: 'bundle',
327
- title: screenClaim(block.title, CLAMP.blockTitle, 'bundle-title', tracker),
328
- body: screenClaim(block.body, CLAMP.subheadline, 'bundle-body', tracker),
329
- ctaLabel: screenClaim(block.ctaLabel, CLAMP.ctaLabel, 'bundle-cta', tracker),
291
+ title: screenClaim(block.title, CLAMP.blockTitle, 'bundle-title', run),
292
+ body: screenClaim(block.body, CLAMP.subheadline, 'bundle-body', run),
293
+ ctaLabel: screenClaim(block.ctaLabel, CLAMP.ctaLabel, 'bundle-cta', run),
330
294
  bundleId: chosen.id,
331
295
  };
332
296
  }
@@ -339,31 +303,29 @@ function showsAnyProduct(blocks) {
339
303
  (block.kind === 'bundle' && block.bundleId !== null));
340
304
  }
341
305
  export function reconcileSpec(generated, input, digest, ourReasons = new Map()) {
342
- const allowlist = buildAllowlist(input);
343
- const candidatesBySku = new Map(input.candidates.map((product) => [product.sku, product]));
344
- const engaged = engagedCategories(input);
345
- const tracker = createPlacementTracker(digest.maxItems, hostFacts(input));
306
+ const run = startRun(input, digest, ourReasons);
346
307
  if (generated.blocks.length > MAX_BLOCKS) {
347
- tracker.record(`too-many-blocks:${generated.blocks.length}`);
308
+ run.violations.push(`too-many-blocks:${generated.blocks.length}`);
348
309
  }
349
310
  const blocks = [];
350
311
  for (const block of capBlocks(generated.blocks)) {
351
- const reconciled = reconcileBlock(block, allowlist, candidatesBySku, digest, engaged, input.bundles, tracker, ourReasons);
312
+ const reconciled = reconcileBlock(block, run);
352
313
  if (reconciled !== null)
353
314
  blocks.push(reconciled);
354
315
  }
355
316
  const spec = {
356
317
  tone: generated.tone,
357
- headline: screenRequired(generated.headline, CLAMP.headline, 'headline', tracker),
358
- subheadline: screenClaim(generated.subheadline, CLAMP.subheadline, 'subheadline', tracker),
318
+ headline: screenRequired(generated.headline, CLAMP.headline, 'headline', run),
319
+ subheadline: screenClaim(generated.subheadline, CLAMP.subheadline, 'subheadline', run),
359
320
  blocks,
360
- rationale: screenRequired(generated.rationale, CLAMP.rationale, 'rationale', tracker),
321
+ rationale: screenRequired(generated.rationale, CLAMP.rationale, 'rationale', run),
361
322
  };
362
- if (!showsAnyProduct(blocks))
363
- tracker.record('unusable:no-products');
323
+ const hasProducts = showsAnyProduct(blocks);
324
+ if (!hasProducts)
325
+ run.violations.push('unusable:no-products');
364
326
  if (spec.headline.length === 0)
365
- tracker.record('unusable:no-headline');
366
- const isUsable = showsAnyProduct(blocks) && spec.headline.length > 0;
367
- return { spec, isUsable, violations: tracker.violations };
327
+ run.violations.push('unusable:no-headline');
328
+ const isUsable = hasProducts && spec.headline.length > 0;
329
+ return { spec, isUsable, violations: run.violations };
368
330
  }
369
331
  //# sourceMappingURL=reconciliation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"reconciliation.js","sourceRoot":"","sources":["../src/reconciliation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reconciliation.js","sourceRoot":"","sources":["../src/reconciliation.ts"],"names":[],"mappings":"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"}
@@ -43,7 +43,7 @@ export declare const DIGEST_LIMITS: {
43
43
  readonly affinity: 6;
44
44
  readonly interactionTypes: 8;
45
45
  };
46
- export declare function engagedCategories(input: TrackingInput): Set<string>;
46
+ export declare function categoriesTouchedBySignals(input: TrackingInput): Set<string>;
47
47
  export declare function buildDigest(input: TrackingInput): SignalDigest;
48
48
  export declare function toCohortDigest(digest: SignalDigest): SignalDigest;
49
49
  //# sourceMappingURL=signal-digest.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"signal-digest.d.ts","sourceRoot":"","sources":["../src/signal-digest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAIV,aAAa,EAEd,MAAM,qBAAqB,CAAC;AAE7B,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IAEjB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IAErB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,EAAE,aAAa,EAAE,CAAC;IAC3B,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,gBAAgB,EAAE,gBAAgB,EAAE,CAAC;IACrC,iBAAiB,EAAE,gBAAgB,EAAE,CAAC;IAEtC,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,eAAO,MAAM,aAAa;aACxB,KAAK,EAAE,EAAE;aACT,QAAQ,EAAE,EAAE;aACZ,SAAS,EAAE,CAAC;aACZ,IAAI,EAAE,CAAC;aACP,MAAM,EAAE,EAAE;aACV,QAAQ,EAAE,CAAC;aACX,QAAQ,EAAE,CAAC;aACX,gBAAgB,EAAE,CAAC;CACX,CAAC;AA0FX,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,aAAa,GAAG,GAAG,CAAC,MAAM,CAAC,CAgBnE;AAuDD,wBAAgB,WAAW,CAAC,KAAK,EAAE,aAAa,GAAG,YAAY,CAyC9D;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,YAAY,GAAG,YAAY,CAyBjE"}
1
+ {"version":3,"file":"signal-digest.d.ts","sourceRoot":"","sources":["../src/signal-digest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAIV,aAAa,EAEd,MAAM,qBAAqB,CAAC;AAE7B,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IAErB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,EAAE,aAAa,EAAE,CAAC;IAC3B,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,gBAAgB,EAAE,gBAAgB,EAAE,CAAC;IACrC,iBAAiB,EAAE,gBAAgB,EAAE,CAAC;IAEtC,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,eAAO,MAAM,aAAa;aACxB,KAAK,EAAE,EAAE;aACT,QAAQ,EAAE,EAAE;aACZ,SAAS,EAAE,CAAC;aACZ,IAAI,EAAE,CAAC;aACP,MAAM,EAAE,EAAE;aACV,QAAQ,EAAE,CAAC;aACX,QAAQ,EAAE,CAAC;aACX,gBAAgB,EAAE,CAAC;CACX,CAAC;AAwEX,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,aAAa,GAAG,GAAG,CAAC,MAAM,CAAC,CAgB5E;AA8CD,wBAAgB,WAAW,CAAC,KAAK,EAAE,aAAa,GAAG,YAAY,CAwC9D;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,YAAY,GAAG,YAAY,CAyBjE"}