cbrowser 18.78.0 → 18.80.0

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 (235) hide show
  1. package/dist/analysis/accessibility-empathy.d.ts.map +1 -1
  2. package/dist/analysis/accessibility-empathy.js +395 -66
  3. package/dist/analysis/accessibility-empathy.js.map +1 -1
  4. package/dist/analysis/agent-ready-audit.d.ts.map +1 -1
  5. package/dist/analysis/agent-ready-audit.js +78 -0
  6. package/dist/analysis/agent-ready-audit.js.map +1 -1
  7. package/dist/analysis/page-understanding.d.ts +139 -1
  8. package/dist/analysis/page-understanding.d.ts.map +1 -1
  9. package/dist/analysis/page-understanding.js +179 -12
  10. package/dist/analysis/page-understanding.js.map +1 -1
  11. package/dist/artifact-store.d.ts +19 -5
  12. package/dist/artifact-store.d.ts.map +1 -1
  13. package/dist/artifact-store.js +41 -11
  14. package/dist/artifact-store.js.map +1 -1
  15. package/dist/browser.d.ts +9 -0
  16. package/dist/browser.d.ts.map +1 -1
  17. package/dist/browser.js +81 -5
  18. package/dist/browser.js.map +1 -1
  19. package/dist/cli.js +55 -10
  20. package/dist/cli.js.map +1 -1
  21. package/dist/cognitive/index.d.ts.map +1 -1
  22. package/dist/cognitive/index.js +3 -2
  23. package/dist/cognitive/index.js.map +1 -1
  24. package/dist/config.d.ts +57 -0
  25. package/dist/config.d.ts.map +1 -1
  26. package/dist/config.js +234 -7
  27. package/dist/config.js.map +1 -1
  28. package/dist/index.js +1 -1
  29. package/dist/index.js.map +1 -1
  30. package/dist/mcp-server-remote.d.ts.map +1 -1
  31. package/dist/mcp-server-remote.js +108 -4
  32. package/dist/mcp-server-remote.js.map +1 -1
  33. package/dist/mcp-server.d.ts.map +1 -1
  34. package/dist/mcp-server.js +62 -938
  35. package/dist/mcp-server.js.map +1 -1
  36. package/dist/mcp-tools/account-personas.d.ts +41 -0
  37. package/dist/mcp-tools/account-personas.d.ts.map +1 -0
  38. package/dist/mcp-tools/account-personas.js +98 -0
  39. package/dist/mcp-tools/account-personas.js.map +1 -0
  40. package/dist/mcp-tools/base/analysis-tools.d.ts.map +1 -1
  41. package/dist/mcp-tools/base/analysis-tools.js +12 -2
  42. package/dist/mcp-tools/base/analysis-tools.js.map +1 -1
  43. package/dist/mcp-tools/base/artifact-tools.d.ts +3 -0
  44. package/dist/mcp-tools/base/artifact-tools.d.ts.map +1 -0
  45. package/dist/mcp-tools/base/artifact-tools.js +78 -0
  46. package/dist/mcp-tools/base/artifact-tools.js.map +1 -0
  47. package/dist/mcp-tools/base/audit-tools.d.ts +11 -0
  48. package/dist/mcp-tools/base/audit-tools.d.ts.map +1 -1
  49. package/dist/mcp-tools/base/audit-tools.js +595 -340
  50. package/dist/mcp-tools/base/audit-tools.js.map +1 -1
  51. package/dist/mcp-tools/base/browser-management-tools.d.ts.map +1 -1
  52. package/dist/mcp-tools/base/browser-management-tools.js +18 -0
  53. package/dist/mcp-tools/base/browser-management-tools.js.map +1 -1
  54. package/dist/mcp-tools/base/bug-analysis-tools.d.ts.map +1 -1
  55. package/dist/mcp-tools/base/bug-analysis-tools.js +59 -3
  56. package/dist/mcp-tools/base/bug-analysis-tools.js.map +1 -1
  57. package/dist/mcp-tools/base/capture-tools.d.ts +37 -0
  58. package/dist/mcp-tools/base/capture-tools.d.ts.map +1 -1
  59. package/dist/mcp-tools/base/capture-tools.js +267 -6
  60. package/dist/mcp-tools/base/capture-tools.js.map +1 -1
  61. package/dist/mcp-tools/base/cognitive-tools.d.ts +12 -0
  62. package/dist/mcp-tools/base/cognitive-tools.d.ts.map +1 -1
  63. package/dist/mcp-tools/base/cognitive-tools.js +63 -15
  64. package/dist/mcp-tools/base/cognitive-tools.js.map +1 -1
  65. package/dist/mcp-tools/base/extraction-tools.d.ts.map +1 -1
  66. package/dist/mcp-tools/base/extraction-tools.js +33 -2
  67. package/dist/mcp-tools/base/extraction-tools.js.map +1 -1
  68. package/dist/mcp-tools/base/index.d.ts +2 -0
  69. package/dist/mcp-tools/base/index.d.ts.map +1 -1
  70. package/dist/mcp-tools/base/index.js +9 -0
  71. package/dist/mcp-tools/base/index.js.map +1 -1
  72. package/dist/mcp-tools/base/marketing-tools.js +3 -3
  73. package/dist/mcp-tools/base/marketing-tools.js.map +1 -1
  74. package/dist/mcp-tools/base/persona-comparison-tools.d.ts.map +1 -1
  75. package/dist/mcp-tools/base/persona-comparison-tools.js +529 -40
  76. package/dist/mcp-tools/base/persona-comparison-tools.js.map +1 -1
  77. package/dist/mcp-tools/base/site-knowledge-tools.d.ts.map +1 -1
  78. package/dist/mcp-tools/base/site-knowledge-tools.js +36 -3
  79. package/dist/mcp-tools/base/site-knowledge-tools.js.map +1 -1
  80. package/dist/mcp-tools/base/values-tools.d.ts +113 -0
  81. package/dist/mcp-tools/base/values-tools.d.ts.map +1 -1
  82. package/dist/mcp-tools/base/values-tools.js +868 -78
  83. package/dist/mcp-tools/base/values-tools.js.map +1 -1
  84. package/dist/mcp-tools/base/visual-testing-tools.d.ts.map +1 -1
  85. package/dist/mcp-tools/base/visual-testing-tools.js +130 -10
  86. package/dist/mcp-tools/base/visual-testing-tools.js.map +1 -1
  87. package/dist/mcp-tools/index.d.ts +3 -1
  88. package/dist/mcp-tools/index.d.ts.map +1 -1
  89. package/dist/mcp-tools/index.js +3 -28
  90. package/dist/mcp-tools/index.js.map +1 -1
  91. package/dist/mcp-tools/persona-creation-tools.d.ts.map +1 -1
  92. package/dist/mcp-tools/persona-creation-tools.js +363 -20
  93. package/dist/mcp-tools/persona-creation-tools.js.map +1 -1
  94. package/dist/mcp-tools/persona-lifecycle-tools.d.ts +3 -0
  95. package/dist/mcp-tools/persona-lifecycle-tools.d.ts.map +1 -0
  96. package/dist/mcp-tools/persona-lifecycle-tools.js +406 -0
  97. package/dist/mcp-tools/persona-lifecycle-tools.js.map +1 -0
  98. package/dist/mcp-tools/screenshot-utils.d.ts.map +1 -1
  99. package/dist/mcp-tools/screenshot-utils.js +56 -10
  100. package/dist/mcp-tools/screenshot-utils.js.map +1 -1
  101. package/dist/mcp-tools/tier-gate.js +2 -2
  102. package/dist/mcp-tools/tier-gate.js.map +1 -1
  103. package/dist/mcp-tools/tool-categories.d.ts.map +1 -1
  104. package/dist/mcp-tools/tool-categories.js +4 -1
  105. package/dist/mcp-tools/tool-categories.js.map +1 -1
  106. package/dist/mcp-tools/ui-resources.d.ts +167 -0
  107. package/dist/mcp-tools/ui-resources.d.ts.map +1 -0
  108. package/dist/mcp-tools/ui-resources.js +707 -0
  109. package/dist/mcp-tools/ui-resources.js.map +1 -0
  110. package/dist/mcp-tools/widget-kit.d.ts +299 -0
  111. package/dist/mcp-tools/widget-kit.d.ts.map +1 -0
  112. package/dist/mcp-tools/widget-kit.js +2034 -0
  113. package/dist/mcp-tools/widget-kit.js.map +1 -0
  114. package/dist/mcp-ui-resources.d.ts.map +1 -1
  115. package/dist/mcp-ui-resources.js +14 -4
  116. package/dist/mcp-ui-resources.js.map +1 -1
  117. package/dist/persona-questionnaire.d.ts +69 -1
  118. package/dist/persona-questionnaire.d.ts.map +1 -1
  119. package/dist/persona-questionnaire.js +177 -76
  120. package/dist/persona-questionnaire.js.map +1 -1
  121. package/dist/persona-scope.d.ts +20 -0
  122. package/dist/persona-scope.d.ts.map +1 -0
  123. package/dist/persona-scope.js +59 -0
  124. package/dist/persona-scope.js.map +1 -0
  125. package/dist/personas.d.ts +51 -17
  126. package/dist/personas.d.ts.map +1 -1
  127. package/dist/personas.js +947 -286
  128. package/dist/personas.js.map +1 -1
  129. package/dist/recording/capture-player.d.ts +68 -0
  130. package/dist/recording/capture-player.d.ts.map +1 -0
  131. package/dist/recording/capture-player.js +298 -0
  132. package/dist/recording/capture-player.js.map +1 -0
  133. package/dist/recording/engine.d.ts +52 -0
  134. package/dist/recording/engine.d.ts.map +1 -1
  135. package/dist/recording/engine.js +241 -3
  136. package/dist/recording/engine.js.map +1 -1
  137. package/dist/recording/inline-player.d.ts +39 -0
  138. package/dist/recording/inline-player.d.ts.map +1 -0
  139. package/dist/recording/inline-player.js +272 -0
  140. package/dist/recording/inline-player.js.map +1 -0
  141. package/dist/recording/saliency-overlay.d.ts +133 -0
  142. package/dist/recording/saliency-overlay.d.ts.map +1 -0
  143. package/dist/recording/saliency-overlay.js +360 -0
  144. package/dist/recording/saliency-overlay.js.map +1 -0
  145. package/dist/recording/types.d.ts +32 -0
  146. package/dist/recording/types.d.ts.map +1 -1
  147. package/dist/recording/types.js +46 -0
  148. package/dist/recording/types.js.map +1 -1
  149. package/dist/site-model/manager.d.ts +20 -0
  150. package/dist/site-model/manager.d.ts.map +1 -1
  151. package/dist/site-model/manager.js +52 -0
  152. package/dist/site-model/manager.js.map +1 -1
  153. package/dist/trait-reference.d.ts +26 -2
  154. package/dist/trait-reference.d.ts.map +1 -1
  155. package/dist/trait-reference.js +129 -19
  156. package/dist/trait-reference.js.map +1 -1
  157. package/dist/types.d.ts +105 -18
  158. package/dist/types.d.ts.map +1 -1
  159. package/dist/types.js.map +1 -1
  160. package/dist/url-resolution.d.ts +58 -0
  161. package/dist/url-resolution.d.ts.map +1 -0
  162. package/dist/url-resolution.js +143 -0
  163. package/dist/url-resolution.js.map +1 -0
  164. package/dist/values/big-five-inference.d.ts +121 -0
  165. package/dist/values/big-five-inference.d.ts.map +1 -0
  166. package/dist/values/big-five-inference.js +241 -0
  167. package/dist/values/big-five-inference.js.map +1 -0
  168. package/dist/values/big-five-values.d.ts +76 -0
  169. package/dist/values/big-five-values.d.ts.map +1 -0
  170. package/dist/values/big-five-values.js +152 -0
  171. package/dist/values/big-five-values.js.map +1 -0
  172. package/dist/values/index.d.ts +1 -1
  173. package/dist/values/index.d.ts.map +1 -1
  174. package/dist/values/index.js +1 -1
  175. package/dist/values/index.js.map +1 -1
  176. package/dist/values/persona-completeness.d.ts +91 -0
  177. package/dist/values/persona-completeness.d.ts.map +1 -0
  178. package/dist/values/persona-completeness.js +114 -0
  179. package/dist/values/persona-completeness.js.map +1 -0
  180. package/dist/values/persona-diff.d.ts +50 -0
  181. package/dist/values/persona-diff.d.ts.map +1 -0
  182. package/dist/values/persona-diff.js +126 -0
  183. package/dist/values/persona-diff.js.map +1 -0
  184. package/dist/values/persona-values.d.ts +16 -0
  185. package/dist/values/persona-values.d.ts.map +1 -1
  186. package/dist/values/persona-values.js +33 -0
  187. package/dist/values/persona-values.js.map +1 -1
  188. package/dist/values/schwartz-values.d.ts +9 -1
  189. package/dist/values/schwartz-values.d.ts.map +1 -1
  190. package/dist/values/schwartz-values.js +10 -2
  191. package/dist/values/schwartz-values.js.map +1 -1
  192. package/dist/values/value-mappings.d.ts +41 -2
  193. package/dist/values/value-mappings.d.ts.map +1 -1
  194. package/dist/values/value-mappings.js +65 -8
  195. package/dist/values/value-mappings.js.map +1 -1
  196. package/dist/visual/attention-quality.d.ts +27 -0
  197. package/dist/visual/attention-quality.d.ts.map +1 -1
  198. package/dist/visual/attention-quality.js +164 -2
  199. package/dist/visual/attention-quality.js.map +1 -1
  200. package/dist/visual/attention-transport.d.ts +41 -2
  201. package/dist/visual/attention-transport.d.ts.map +1 -1
  202. package/dist/visual/attention-transport.js +98 -26
  203. package/dist/visual/attention-transport.js.map +1 -1
  204. package/dist/visual/barrier-overlay-html.d.ts +10 -0
  205. package/dist/visual/barrier-overlay-html.d.ts.map +1 -1
  206. package/dist/visual/barrier-overlay-html.js.map +1 -1
  207. package/dist/visual/cognitive-models.d.ts +109 -13
  208. package/dist/visual/cognitive-models.d.ts.map +1 -1
  209. package/dist/visual/cognitive-models.js +166 -3
  210. package/dist/visual/cognitive-models.js.map +1 -1
  211. package/dist/visual/cognitive-transport-chain.d.ts +149 -5
  212. package/dist/visual/cognitive-transport-chain.d.ts.map +1 -1
  213. package/dist/visual/cognitive-transport-chain.js +558 -30
  214. package/dist/visual/cognitive-transport-chain.js.map +1 -1
  215. package/dist/visual/cognitive-transport.d.ts +45 -3
  216. package/dist/visual/cognitive-transport.d.ts.map +1 -1
  217. package/dist/visual/cognitive-transport.js +126 -12
  218. package/dist/visual/cognitive-transport.js.map +1 -1
  219. package/dist/visual/fixation-corpus.d.ts +52 -0
  220. package/dist/visual/fixation-corpus.d.ts.map +1 -1
  221. package/dist/visual/fixation-corpus.js +95 -0
  222. package/dist/visual/fixation-corpus.js.map +1 -1
  223. package/dist/visual/llm-relevance.d.ts +193 -0
  224. package/dist/visual/llm-relevance.d.ts.map +1 -0
  225. package/dist/visual/llm-relevance.js +480 -0
  226. package/dist/visual/llm-relevance.js.map +1 -0
  227. package/dist/visual/perceptual-transport.d.ts +60 -0
  228. package/dist/visual/perceptual-transport.d.ts.map +1 -1
  229. package/dist/visual/perceptual-transport.js +228 -19
  230. package/dist/visual/perceptual-transport.js.map +1 -1
  231. package/dist/visual/persona-context.d.ts +23 -0
  232. package/dist/visual/persona-context.d.ts.map +1 -0
  233. package/dist/visual/persona-context.js +44 -0
  234. package/dist/visual/persona-context.js.map +1 -0
  235. package/package.json +2 -1
@@ -35,6 +35,85 @@ function normalCDF(x) {
35
35
  function normalPDF(x) {
36
36
  return Math.exp(-0.5 * x * x) / Math.sqrt(2 * Math.PI);
37
37
  }
38
+ // ── Layer 4: Probabilistic Pointing Model ──
39
+ /**
40
+ * Collapse a reading profile into one 0-1 capacity for the transport chain.
41
+ *
42
+ * The chain models cost as transport between a persona's CAPACITY on a
43
+ * dimension and the page's DEMAND for it. Until now its readability layer read
44
+ * `readingTendency` -- a DISPOSITION ("how much text does this person read")
45
+ * -- which is not decoding ability, so a dyslexic persona with a higher
46
+ * tendency scored LOWER readability cost than an ADHD persona on a text-dense
47
+ * page, while this module's own decomposition reported the dyslexic reader at
48
+ * 157 WPM against 204, a 4-character visual span against 6, and a +65ms
49
+ * phonological penalty against +25ms.
50
+ *
51
+ * Two models of reading, disagreeing under one name, with the layer using the
52
+ * one that knows nothing about decoding. This is the bridge. (2026-08-02)
53
+ *
54
+ * Weighted toward decoding, because that is what the layer's own reported
55
+ * decomposition measures: orthographic and phonological carry the fluency of
56
+ * word recognition, visualSpan is normalised against the neurotypical 7
57
+ * characters, vocabulary bounds comprehension, and crowding subtracts.
58
+ */
59
+ export function readingCapacityOf(profile) {
60
+ const span = Math.min(1, profile.visualSpan / 7);
61
+ const raw = profile.orthographic * 0.3 +
62
+ profile.phonological * 0.3 +
63
+ span * 0.2 +
64
+ profile.vocabulary * 0.2 -
65
+ profile.crowding * 0.15;
66
+ return Math.max(0, Math.min(1, raw));
67
+ }
68
+ /**
69
+ * Collapse a pointing profile into one 0-1 capacity for the transport chain.
70
+ *
71
+ * Same defect as reading: the motor layer read `patience` and
72
+ * `proceduralFluency`, so two personas with no motor traits at all differed 5.6x
73
+ * in motor cost while this module was computing real Fitts movement times and
74
+ * hit probabilities that the layer never saw.
75
+ *
76
+ * Throughput is the standard Fitts capacity measure (bits/s); a neurotypical
77
+ * pointer sits near 5-6, tremor far below. Endpoint dispersion subtracts,
78
+ * because a wide landing distribution misses small targets regardless of speed.
79
+ */
80
+ export function motorCapacityOf(profile) {
81
+ const tp = Math.min(1, profile.throughput / 6);
82
+ const spread = Math.min(1, (profile.sigmaX + profile.sigmaY) / 2 / 40);
83
+ return Math.max(0, Math.min(1, tp * 0.75 + (1 - spread) * 0.25));
84
+ }
85
+ /**
86
+ * Resolve the persona's capacity to HOLD attention on text, 0-1.
87
+ *
88
+ * The third capacity bridge, and the one that closes the gap the readability
89
+ * rewrite opened. Reading has two halves -- decoding the words, and staying on
90
+ * the line while you do it -- and after `readingTendency` left the layer the
91
+ * chain modelled only the first. A persona whose reading difficulty is entirely
92
+ * attentional was scored as an unimpaired reader.
93
+ *
94
+ * Resolution order, most-stated first:
95
+ *
96
+ * 1. `accessibilityTraits.attentionSpan`. Already authored on all 12 personas
97
+ * that carry accessibility traits, already documented as "focus duration
98
+ * before fatigue", and until now it reached no layer of the transport chain
99
+ * at all -- only perceptual noiseTolerance and some prose warnings.
100
+ * 2. `interruptRecovery`. The closest thing in the cognitive vector: task
101
+ * resumption after interruption is the standard HCI measure of attentional
102
+ * control. It matters that this exists -- 24 of 36 personas state no
103
+ * accessibility traits, including `distracted-user`, whose entire identity
104
+ * is this dimension (interruptRecovery 0.10) and who would otherwise have
105
+ * been handed the same attention as `power-user` (0.85).
106
+ * 3. 0.7. Unremarkable rather than perfect, for a persona that states neither.
107
+ */
108
+ export function sustainedAttentionOf(persona) {
109
+ const stated = persona.accessibilityTraits?.attentionSpan;
110
+ if (typeof stated === "number")
111
+ return Math.max(0, Math.min(1, stated));
112
+ const recovery = persona.traits?.interruptRecovery;
113
+ if (typeof recovery === "number")
114
+ return Math.max(0, Math.min(1, recovery));
115
+ return 0.7;
116
+ }
38
117
  /**
39
118
  * Known pointing profiles from the empirical literature.
40
119
  *
@@ -111,6 +190,15 @@ export function getPointingProfile(persona) {
111
190
  * @param profile - User's pointing profile
112
191
  * @returns Hit probability in [0, 1]
113
192
  */
193
+ /**
194
+ * How far the correlated correction may move the independent estimate before it
195
+ * is treated as out of range. 1.25 = a 25% perturbation in either direction.
196
+ *
197
+ * At realistic target sizes the correction never approaches this: measured 1.00x
198
+ * at 24px and 48px, 1.04x at 12px, 1.19x at 6px. It is only reached on targets
199
+ * small enough that the approximation is no longer one.
200
+ */
201
+ const MAX_CORRELATION_CORRECTION = 1.25;
114
202
  export function computeHitProbability(target, profile) {
115
203
  const { width, height } = target;
116
204
  const { sigmaX, sigmaY, rho } = profile;
@@ -140,8 +228,38 @@ export function computeHitProbability(target, profile) {
140
228
  return pIndependent;
141
229
  }
142
230
  const correction = 1 + rho * phiX * phiY / (pX * pY);
143
- // Clamp to valid probability range
144
- return Math.max(0, Math.min(1, pIndependent * correction));
231
+ // THE CORRECTION IS A PERTURBATION, AND IT DIVERGES.
232
+ //
233
+ // `pX * pY` is the denominator, so as the target shrinks the term grows
234
+ // without bound. Measured at sigma 7.7 / rho 0.13:
235
+ //
236
+ // 48x48px factor 1.00 12x12px factor 1.04 3x3px factor 1.83
237
+ // 24x24px factor 1.00 6x6px factor 1.19 1x1px factor 8.69
238
+ //
239
+ // That INVERTS the model against its own inputs, because rho co-varies with
240
+ // sigma across personas -- the more impaired a pointer is, the larger both
241
+ // are. On a 1x1 target, motor-impairment-tremor (sigma 12, rho 0.30) scored
242
+ // 4.88% against cognitive-adhd's 0.52%: nine times better BECAUSE it is
243
+ // worse. That is the ordering the bug report saw, and it read as an inversion
244
+ // against movement time only because it was measured on one degenerate
245
+ // element. Movement time and hit probability share no parameter but W --
246
+ // MT is (D, W, throughput), P(hit) is (W, H, sigma, rho) -- so they were
247
+ // never expected to track each other.
248
+ //
249
+ // Grossman & Balakrishnan derive this as a small correction and it is
250
+ // trustworthy while it stays one. Past that the approximation has left its
251
+ // validity domain, and the exact independent-axis form is the honest answer
252
+ // -- it is a real bound, not a fallback of convenience. (2026-08-03, BUG-02)
253
+ if (correction > MAX_CORRELATION_CORRECTION || correction < 1 / MAX_CORRELATION_CORRECTION) {
254
+ return pIndependent;
255
+ }
256
+ // Frechet bound: a joint probability can never exceed its smaller marginal,
257
+ // whatever the correlation. Exact and true for every rho -- and, measured, it
258
+ // never binds once the perturbation bound above is in place: removing this
259
+ // line turns no test red. Kept as a stated invariant rather than as working
260
+ // code, so a future change to that bound cannot quietly produce a joint
261
+ // probability above its own marginal.
262
+ return Math.max(0, Math.min(1, pX, pY, pIndependent * correction));
145
263
  }
146
264
  /**
147
265
  * Compute Fitts' Law movement time for reaching a target.
@@ -227,6 +345,23 @@ const KNOWN_READING_PROFILES = {
227
345
  export function getReadingProfile(persona) {
228
346
  const traits = persona.traits ?? {};
229
347
  const name = (persona.name ?? '').toLowerCase();
348
+ const stated = persona.accessibilityTraits;
349
+ // Stated capacity wins over every other route.
350
+ //
351
+ // Applied as an OVERLAY on whatever the rest of this function would have
352
+ // returned, so a persona can state one field without silently resetting the
353
+ // other four to defaults. Computed by recursing with the stated values
354
+ // stripped, which keeps the name and trait paths as the base.
355
+ if (stated && Object.values(stated).some((v) => typeof v === "number")) {
356
+ const base = getReadingProfile({ traits: persona.traits, name: persona.name });
357
+ return {
358
+ orthographic: stated.orthographicFluency ?? base.orthographic,
359
+ phonological: stated.phonologicalDecoding ?? base.phonological,
360
+ visualSpan: stated.visualSpan ?? base.visualSpan,
361
+ vocabulary: stated.vocabularyBreadth ?? base.vocabulary,
362
+ crowding: stated.crowdingSensitivity ?? base.crowding,
363
+ };
364
+ }
230
365
  // Direct name matching for known profiles
231
366
  if (name.includes('dyslexic') || name.includes('dyslexia')) {
232
367
  return { ...KNOWN_READING_PROFILES.dyslexic };
@@ -386,6 +521,33 @@ export function computeReadingDifficulty(text, profile, textBlock) {
386
521
  fixationDuration: Math.round(totalFixation),
387
522
  wordsPerMinute: wpm,
388
523
  penalties,
524
+ /**
525
+ * Every component, including the ones that came to zero.
526
+ *
527
+ * `penalties` above is a PROSE list and each entry is gated behind its own
528
+ * threshold, so a component that evaluated to 0 is simply absent from it --
529
+ * and absent is indistinguishable from not modelled at all. That is exactly
530
+ * how `crowdingSensitivity` came to be reported as a trait that does
531
+ * nothing: it is weighted at 0.15 in readingCapacityOf AND priced here, but
532
+ * Pelli's critical-spacing effect only begins below 16px, and every page
533
+ * tested set its body text at 16px or larger. Measured on 13px text it
534
+ * discriminates cleanly -- adhd +6ms, dyslexic +17ms, low-vision +21ms,
535
+ * tracking their crowding sensitivities of 0.20 / 0.55 / 0.70.
536
+ *
537
+ * So the breakdown ships whole. A zero here means evaluated and not
538
+ * applicable to this text; a missing key would mean something else.
539
+ * (2026-08-03, BUG-12)
540
+ */
541
+ penaltyBreakdown: {
542
+ baseFixationMs: Math.round(baseFixation),
543
+ orthographicMs: Math.round(orthoPenalty),
544
+ phonologicalMs: Math.round(phonoPenalty),
545
+ visualSpanMs: Math.round(spanPenalty),
546
+ vocabularyMs: Math.round(vocabPenalty),
547
+ crowdingMs: Math.round(crowdingPenalty),
548
+ serifFontMs: Math.round(fontPenalty),
549
+ lowContrastMs: Math.round(contrastPenalty),
550
+ },
389
551
  };
390
552
  }
391
553
  /**
@@ -404,13 +566,14 @@ export function readability(blocks, persona) {
404
566
  }
405
567
  const profile = getReadingProfile(persona);
406
568
  const results = blocks.map(block => {
407
- const { difficulty, fixationDuration, wordsPerMinute, penalties } = computeReadingDifficulty(block.text, profile, block);
569
+ const { difficulty, fixationDuration, wordsPerMinute, penalties, penaltyBreakdown } = computeReadingDifficulty(block.text, profile, block);
408
570
  return {
409
571
  text: block.text.length > 100 ? block.text.slice(0, 100) + '...' : block.text,
410
572
  difficulty,
411
573
  fixationDuration,
412
574
  wordsPerMinute,
413
575
  penalties,
576
+ penaltyBreakdown,
414
577
  };
415
578
  });
416
579
  // Weighted average by text length (longer blocks count more)
@@ -1 +1 @@
1
- {"version":3,"file":"cognitive-models.js","sourceRoot":"","sources":["../../src/visual/cognitive-models.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cognitive-models.js","sourceRoot":"","sources":["../../src/visual/cognitive-models.ts"],"names":[],"mappings":"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"}
@@ -42,6 +42,12 @@ export interface LayerResult {
42
42
  transportCost: number;
43
43
  capacityConsumed: number;
44
44
  residualCapacity: Record<string, number>;
45
+ /**
46
+ * Mean spare capacity across this layer's dimensions, 0 when the layer is in
47
+ * deficit. Read it when `transportCost` is 0: the cost floor cannot tell a
48
+ * comfortable reader from an extremely comfortable one, and this can.
49
+ */
50
+ headroom: number;
45
51
  }
46
52
  export interface SequentialTransportResult {
47
53
  /** Total Cognitive Transport Cost */
@@ -52,6 +58,8 @@ export interface SequentialTransportResult {
52
58
  interactions: Record<string, number>;
53
59
  /** Additive-only CTC for comparison */
54
60
  additiveCTC: number;
61
+ /** Un-normalized total. `totalCTC` is a sigmoid of this. */
62
+ rawCTC: number;
55
63
  /** Asymmetric deficit-surplus breakdown */
56
64
  deficitCost: number;
57
65
  surplusCost: number;
@@ -61,6 +69,13 @@ export interface SequentialTransportResult {
61
69
  bottleneckLayer: string;
62
70
  /** Predicted abandonment probability (0-1) */
63
71
  abandonmentRisk: number;
72
+ /**
73
+ * Capacity remaining when the chain finished, per dimension.
74
+ *
75
+ * Feed it back in as `carriedCapacity` to score the next screen against the
76
+ * budget this one left behind.
77
+ */
78
+ remainingCapacity: Record<string, number>;
64
79
  }
65
80
  /**
66
81
  * The 26 demand dimensions used by the sequential transport chain.
@@ -68,7 +83,47 @@ export interface SequentialTransportResult {
68
83
  * from CognitiveTraits that capture decision biases, learning transfer,
69
84
  * and emotional regulation.
70
85
  */
71
- export declare const DEMAND_DIMENSIONS: readonly ["patience", "riskTolerance", "comprehension", "persistence", "workingMemory", "readingTendency", "resilience", "selfEfficacy", "emotionalContagion", "satisficing", "anchoringBias", "fearOfMissingOut", "socialProofSensitivity", "changeBlindness", "attentionPattern", "motorPrecision", "proceduralFluency", "informationForaging", "metacognitivePlanning", "transferLearning", "interruptRecovery", "trustCalibration", "mentalModelRigidity", "curiosity", "processingSpeed", "textProcessing"];
86
+ export declare const DEMAND_DIMENSIONS: readonly ["patience", "riskTolerance", "comprehension", "persistence", "workingMemory", "readingTendency", "resilience", "selfEfficacy", "emotionalContagion", "satisficing", "anchoringBias", "fearOfMissingOut", "socialProofSensitivity", "changeBlindness", "attentionPattern", "motorPrecision", "proceduralFluency", "informationForaging", "metacognitivePlanning", "transferLearning", "interruptRecovery", "trustCalibration", "mentalModelFlexibility", "curiosity", "processingSpeed", "textProcessing", "siteFamiliarity", "readingCapacity", "motorCapacity", "sustainedAttention"];
87
+ /**
88
+ * Hill exponent on the abandonment curve. UNCALIBRATED.
89
+ *
90
+ * Same status as MOTOR_LAYER_WEIGHTS and flagged for the same reason: it is
91
+ * doing a great deal of work and nothing empirical set it. At 2 the curve is
92
+ * superlinear, which means the same total cost delivered in small increments
93
+ * barely registers -- splitting a fixed deficit of 0.607 across 14 steps takes
94
+ * cumulative abandonment from 22% to 2%.
95
+ *
96
+ * That matters beyond the scalar. Any future per-screen hazard model inherits
97
+ * this exponent, and at 2 it would make a long page SAFER than a short one with
98
+ * identical total demand purely from chunking. The exponent is not the fix for
99
+ * that -- per-screen demand measured on its own content is -- but a sequential
100
+ * model must not be built without knowing this constant is load-bearing.
101
+ *
102
+ * What would settle it: observed abandonment against measured task difficulty,
103
+ * or a dose-response fit on real session data. Until then it is a shape someone
104
+ * chose, not a shape anyone measured. (2026-08-03)
105
+ */
106
+ export declare const ABANDONMENT_HILL_EXPONENT = 2;
107
+ /**
108
+ * Relative weighting between the two motor layers. BOTH DEFAULT TO 1.0 AND ARE
109
+ * UNCALIBRATED.
110
+ *
111
+ * They exist as named constants so that if a weighting is ever introduced it is
112
+ * visible, greppable and dated, rather than baked into the cost function as a
113
+ * bare multiplier. Nothing reads them today; the layers contribute additively
114
+ * like every other layer.
115
+ *
116
+ * What would settle them: motor-control literature on tremor adaptation in
117
+ * target acquisition, or validation of chain output against measured
118
+ * task-completion times. Until one of those exists, a number here would be an
119
+ * invention wearing the authority of a research instrument. (2026-08-03)
120
+ */
121
+ export declare const MOTOR_LAYER_WEIGHTS: {
122
+ /** UNCALIBRATED. Target acquisition. */
123
+ readonly motor: 1;
124
+ /** UNCALIBRATED. Sequence execution. */
125
+ readonly motorProcedure: 1;
126
+ };
72
127
  /**
73
128
  * Compute the 26-dimensional demand distribution from page metrics.
74
129
  *
@@ -107,6 +162,15 @@ export declare function computeSequentialCTC(persona: OTCognitiveProfile, demand
107
162
  asymmetric?: boolean;
108
163
  interactions?: boolean;
109
164
  schwartzValues?: Record<string, number>;
165
+ /**
166
+ * Capacity carried in from a previous screen. Omit to start from the
167
+ * persona's full trait vector, which is what a single-page run does.
168
+ *
169
+ * This is the whole mechanism behind sequential scoring: a screen is not a
170
+ * fresh persona, it is the same account after everything above it has been
171
+ * spent. (2026-08-03)
172
+ */
173
+ carriedCapacity?: Record<string, number>;
110
174
  }): SequentialTransportResult;
111
175
  /**
112
176
  * End-to-end Cognitive Optimal Transport computation.
@@ -130,11 +194,26 @@ export declare function computeDemandFromRawMetrics(informationDensity: number,
130
194
  /**
131
195
  * Compare sequential vs. additive CTC to quantify the sequential effect.
132
196
  *
133
- * Returns the ratio (sequential / additive). Values > 1.0 indicate that
134
- * capacity depletion and interactions amplify the total cost beyond what
135
- * independent layers would predict.
197
+ * Returns rawCTC / additiveCTC -- both in layer-cost units.
198
+ *
199
+ * NAMED FOR WHAT IT DOES, NOT WHAT IT WAS EXPECTED TO DO. The old name,
200
+ * `sequentialAmplification`, promised a value above 1.0 — depletion and
201
+ * interactions pushing total cost past what independent layers would predict.
202
+ * Measured across five real runs it was 0.30, 0.31 and 0.39: the chain
203
+ * ATTENUATES the additive sum by 61-70%, and has never been observed above 1.
204
+ *
205
+ * The transform is saturating rather than corrupting: the coefficient rises
206
+ * monotonically with the additive sum (0.30 -> 0.31 -> 0.39), so rank ordering
207
+ * across personas and pages is preserved and comparative claims built on CTC
208
+ * hold. What does not hold is any reading of an ABSOLUTE cost, which carries an
209
+ * undocumented compression of roughly 3x.
210
+ *
211
+ * "Amplification" for a term that only ever shrinks actively misleads anyone
212
+ * reading the JSON without the source, which is most readers. (2026-08-02)
136
213
  */
137
- export declare function sequentialAmplification(result: SequentialTransportResult): number;
214
+ export declare function chainCoefficient(result: SequentialTransportResult): number;
215
+ /** @deprecated Misleading name — it has never exceeded 1. Use `chainCoefficient`. */
216
+ export declare const sequentialAmplification: typeof chainCoefficient;
138
217
  /**
139
218
  * Identify the top N most costly traits across all layers.
140
219
  * Useful for targeted remediation — fix the traits that hurt most.
@@ -148,4 +227,69 @@ export declare function topCostlyTraits(result: SequentialTransportResult, n?: n
148
227
  * Useful for normalizing CTC scores against the best-case scenario.
149
228
  */
150
229
  export declare function baselineCTC(persona: OTCognitiveProfile): SequentialTransportResult;
230
+ export interface ScreenResult {
231
+ /** 1-based screen index from the top of the document. */
232
+ screen: number;
233
+ /** Layer costs for this screen alone. */
234
+ layers: LayerResult[];
235
+ /** This screen's own transport cost. */
236
+ screenCTC: number;
237
+ /** P(this persona stops HERE, given they reached this screen). */
238
+ stopHazard: number;
239
+ /** P(they have stopped at or before this screen). */
240
+ cumulativeAbandonment: number;
241
+ /** P(they are still reading when this screen begins). */
242
+ reachProbability: number;
243
+ /** The costliest layer on this screen. */
244
+ bottleneckLayer: string;
245
+ /** Capacity left when this screen finished. */
246
+ remainingCapacity: Record<string, number>;
247
+ }
248
+ export interface SequentialScrollResult {
249
+ screens: ScreenResult[];
250
+ /** P(abandoned by the end of the document). */
251
+ totalAbandonment: number;
252
+ /** Expected number of screens reached, weighted by reach probability. */
253
+ expectedDepthScreens: number;
254
+ /** The screen where the most sessions end, and the layer that ends them. */
255
+ dropOff: {
256
+ screen: number;
257
+ layer: string;
258
+ share: number;
259
+ } | null;
260
+ /** Demand each screen contributed, weighted by the chance of reaching it. */
261
+ reachWeightedCTC: number;
262
+ }
263
+ /**
264
+ * Score a page as a SEQUENCE of screens rather than one aggregate.
265
+ *
266
+ * The aggregate model answers "what would this cost if the whole document were
267
+ * processed at once", which is a counterfactual almost nobody performs. This
268
+ * answers the question customers actually have: where do people stop.
269
+ *
270
+ * Three things make it different from dividing the aggregate by k, which was
271
+ * the obvious wrong implementation:
272
+ *
273
+ * 1. EACH SCREEN'S DEMAND IS MEASURED ON ITS OWN CONTENT. Splitting a fixed
274
+ * total across k screens makes long pages safer than short ones -- measured,
275
+ * a deficit of 0.607 split fourteen ways drops cumulative abandonment from
276
+ * 22% to 2%, because the hazard is superlinear. A genuinely sparse long page
277
+ * SHOULD be safer; a dense one must not become safe by being tall.
278
+ * 2. CAPACITY CARRIES FORWARD. Screen 7 is scored against the budget screens
279
+ * 1-6 left, not against a fresh persona. This is why depletion had to stop
280
+ * saturating first: with the old clamp, every screen after the third saw an
281
+ * identical capacity vector.
282
+ * 3. DEMAND IS WEIGHTED BY THE CHANCE OF EVER GETTING THERE. A cost on screen
283
+ * twelve that 4% of sessions reach is not a cost of the same size as one on
284
+ * screen one.
285
+ *
286
+ * The hazard is the same Hill function the aggregate uses, applied per screen
287
+ * against the capacity remaining at that point -- so ABANDONMENT_HILL_EXPONENT
288
+ * is load-bearing here too and remains uncalibrated.
289
+ */
290
+ export declare function computeSequentialScrollCTC(persona: OTCognitiveProfile, screenDemands: DemandDistribution[], options?: {
291
+ asymmetric?: boolean;
292
+ interactions?: boolean;
293
+ schwartzValues?: Record<string, number>;
294
+ }): SequentialScrollResult;
151
295
  //# sourceMappingURL=cognitive-transport-chain.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cognitive-transport-chain.d.ts","sourceRoot":"","sources":["../../src/visual/cognitive-transport-chain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cognitive-transport-chain.d.ts","sourceRoot":"","sources":["../../src/visual/cognitive-transport-chain.ts"],"names":[],"mappings":"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"}