@tryvitris/website-harness 0.0.0-stage → 0.1.0-beta.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 (1303) hide show
  1. package/CONTRIBUTING.md +7 -0
  2. package/LICENSE +21 -0
  3. package/NOTICE +17 -0
  4. package/README.md +139 -2
  5. package/agent/EVALUATION.md +23 -0
  6. package/agent/PROMPT.md +13 -0
  7. package/agent/STATE.json +109 -0
  8. package/agent/WORKFLOW.md +108 -0
  9. package/agent/evals/preview.md +5 -0
  10. package/agent/graph.yaml +752 -0
  11. package/agent/guardrails.md +10 -0
  12. package/agent/refs/accessibility.md +9 -0
  13. package/agent/refs/art-direction.md +15 -0
  14. package/agent/refs/brand.md +3 -0
  15. package/agent/refs/browser.md +15 -0
  16. package/agent/refs/business.md +9 -0
  17. package/agent/refs/components.md +42 -0
  18. package/agent/refs/compose.md +10 -0
  19. package/agent/refs/contracts.md +32 -0
  20. package/agent/refs/copy.md +14 -0
  21. package/agent/refs/counterpoint.md +3 -0
  22. package/agent/refs/critic.md +29 -0
  23. package/agent/refs/design-calibration.md +31 -0
  24. package/agent/refs/design-feedback.md +13 -0
  25. package/agent/refs/design-quality.md +33 -0
  26. package/agent/refs/design-synthesis.md +9 -0
  27. package/agent/refs/direction.md +29 -0
  28. package/agent/refs/feedback-fulfillment.md +7 -0
  29. package/agent/refs/geo.md +7 -0
  30. package/agent/refs/harvest.md +7 -0
  31. package/agent/refs/icons.md +102 -0
  32. package/agent/refs/images.md +3 -0
  33. package/agent/refs/implement.md +24 -0
  34. package/agent/refs/industry-reference-shortlist.md +64 -0
  35. package/agent/refs/inspiration.md +17 -0
  36. package/agent/refs/interpret.md +3 -0
  37. package/agent/refs/jev.md +166 -0
  38. package/agent/refs/launch.md +11 -0
  39. package/agent/refs/layout.md +7 -0
  40. package/agent/refs/media.md +35 -0
  41. package/agent/refs/motif.md +3 -0
  42. package/agent/refs/motion-count.md +13 -0
  43. package/agent/refs/motion-image.md +12 -0
  44. package/agent/refs/motion-numeric.md +14 -0
  45. package/agent/refs/motion-page.md +23 -0
  46. package/agent/refs/motion-process.md +12 -0
  47. package/agent/refs/motion-sequence.md +7 -0
  48. package/agent/refs/motion-text.md +12 -0
  49. package/agent/refs/motion.md +11 -0
  50. package/agent/refs/narrative.md +9 -0
  51. package/agent/refs/performance.md +36 -0
  52. package/agent/refs/preview.md +3 -0
  53. package/agent/refs/production-quality.md +33 -0
  54. package/agent/refs/psychology.md +3 -0
  55. package/agent/refs/refine.md +14 -0
  56. package/agent/refs/research.md +7 -0
  57. package/agent/refs/sections.md +6 -0
  58. package/agent/refs/seo.md +9 -0
  59. package/agent/refs/storyboard.md +27 -0
  60. package/agent/refs/template-adaptation.md +42 -0
  61. package/agent/refs/template-from-url.md +91 -0
  62. package/agent/refs/template-library.md +32 -0
  63. package/agent/refs/template-motion.md +44 -0
  64. package/agent/refs/theme-selection.md +13 -0
  65. package/agent/refs/ui-ux.md +7 -0
  66. package/agent/refs/usability.md +5 -0
  67. package/agent/refs/variant-directions.md +20 -0
  68. package/agent/refs/write.md +6 -0
  69. package/agent/request.json +11 -0
  70. package/agent/workflow.json +4 -0
  71. package/bin/api/agent/artifacts.js +38 -0
  72. package/bin/api/agent/evaluate.js +55 -0
  73. package/bin/api/agent/grade.js +51 -0
  74. package/bin/api/agent/graph.js +16 -0
  75. package/bin/api/cli/api.js +104 -0
  76. package/bin/api/cli.js +48 -0
  77. package/bin/api/contracts.js +22 -0
  78. package/bin/api/engine.js +53 -0
  79. package/bin/api/hosting.js +40 -0
  80. package/bin/api/icons.js +57 -0
  81. package/bin/api/index.js +20 -0
  82. package/bin/api/references.js +45 -0
  83. package/bin/api/render.js +61 -0
  84. package/bin/api/schema.js +68 -0
  85. package/bin/api/theme.js +9 -0
  86. package/bin/api/types.js +8 -0
  87. package/bin/chunks/chunk-2NW7KSPA.js +17 -0
  88. package/bin/chunks/chunk-34H54KEY.js +45 -0
  89. package/bin/chunks/chunk-3CTBXY5K.js +22313 -0
  90. package/bin/chunks/chunk-42IXFXUD.js +1141 -0
  91. package/bin/chunks/chunk-4DM5TTLG.js +219 -0
  92. package/bin/chunks/chunk-4GZCAWWK.js +327 -0
  93. package/bin/chunks/chunk-54JC5L35.js +493 -0
  94. package/bin/chunks/chunk-5OOPJNGN.js +511 -0
  95. package/bin/chunks/chunk-6A3VWYMF.js +28 -0
  96. package/bin/chunks/chunk-6H3T46F5.js +25 -0
  97. package/bin/chunks/chunk-7FS67SRF.js +12 -0
  98. package/bin/chunks/chunk-7VLBEAFW.js +56 -0
  99. package/bin/chunks/chunk-ANMJRJQ5.js +31 -0
  100. package/bin/chunks/chunk-AUO5I56E.js +118774 -0
  101. package/bin/chunks/chunk-B5I45LFD.js +619 -0
  102. package/bin/chunks/chunk-BBV7PMFC.js +185 -0
  103. package/bin/chunks/chunk-BIEDSEL2.js +8 -0
  104. package/bin/chunks/chunk-CBEJZO4L.js +67 -0
  105. package/bin/chunks/chunk-DRJQ4OOU.js +514 -0
  106. package/bin/chunks/chunk-DSS2U2OM.js +115 -0
  107. package/bin/chunks/chunk-E5Y46VBX.js +678 -0
  108. package/bin/chunks/chunk-FOXUQXTV.js +278 -0
  109. package/bin/chunks/chunk-FYN4T4SV.js +4900 -0
  110. package/bin/chunks/chunk-G7MNMULR.js +192 -0
  111. package/bin/chunks/chunk-GVNIL34R.js +78 -0
  112. package/bin/chunks/chunk-GZDLXYZV.js +3425 -0
  113. package/bin/chunks/chunk-HNORQ74T.js +40 -0
  114. package/bin/chunks/chunk-IKNMBGGD.js +217 -0
  115. package/bin/chunks/chunk-JCRGE6AL.js +14 -0
  116. package/bin/chunks/chunk-LKN75JGA.js +63 -0
  117. package/bin/chunks/chunk-M2ETYSVJ.js +176 -0
  118. package/bin/chunks/chunk-M4LNHYYR.js +177 -0
  119. package/bin/chunks/chunk-PRLL7B63.js +113 -0
  120. package/bin/chunks/chunk-R7YELY3C.js +923 -0
  121. package/bin/chunks/chunk-T6PE4KN4.js +277 -0
  122. package/bin/chunks/chunk-T7DGRVTP.js +458 -0
  123. package/bin/chunks/chunk-TY33XMHW.js +239 -0
  124. package/bin/chunks/chunk-VH7PM7KJ.js +179 -0
  125. package/bin/chunks/chunk-WEFDVXFX.js +65 -0
  126. package/bin/chunks/chunk-XGTHGWPW.js +90 -0
  127. package/bin/chunks/chunk-XL2DRAYI.js +39 -0
  128. package/bin/chunks/chunk-YCVGD2CG.js +2751 -0
  129. package/bin/chunks/chunk-YQYHROLZ.js +1023 -0
  130. package/bin/chunks/chunk-YYPYYOEV.js +34 -0
  131. package/bin/chunks/chunk-Z2UNY47A.js +2418 -0
  132. package/bin/chunks/design-context-store-IAT2P2OC.js +39 -0
  133. package/bin/chunks/packets-VBMY4SQJ.js +53 -0
  134. package/bin/chunks/policy-2I37JUU3.js +18 -0
  135. package/bin/chunks/preparation-S4MG3RPL.js +93 -0
  136. package/bin/chunks/questions-HKELBDFL.js +120 -0
  137. package/bin/chunks/state-GDL6CCJI.js +20 -0
  138. package/bin/chunks/template-gallery-ET76ERZQ.js +140 -0
  139. package/bin/cloudflare/backend.js +24421 -0
  140. package/bin/cloudflare/blake3.wasm +0 -0
  141. package/bin/cloudflare/forms-test.js +429 -0
  142. package/bin/cloudflare/templates.js +100 -0
  143. package/bin/types/scripts/lib/r2.d.ts +7 -0
  144. package/bin/types/scripts/onboard/browser.d.ts +9 -0
  145. package/bin/types/scripts/onboard/crawl.d.ts +35 -0
  146. package/bin/types/scripts/onboard/images.d.ts +19 -0
  147. package/bin/types/scripts/onboard/prompt.d.ts +10 -0
  148. package/bin/types/scripts/onboard/run.d.ts +47 -0
  149. package/bin/types/src/agent/adaptation-checkpoint.d.ts +70 -0
  150. package/bin/types/src/agent/added-media.d.ts +31 -0
  151. package/bin/types/src/agent/api-contracts.d.ts +2 -0
  152. package/bin/types/src/agent/art-direction-policy.d.ts +9 -0
  153. package/bin/types/src/agent/art-direction.d.ts +253 -0
  154. package/bin/types/src/agent/artifacts.d.ts +602 -0
  155. package/bin/types/src/agent/browser-motion-journey.d.ts +59 -0
  156. package/bin/types/src/agent/browser-motion.d.ts +40 -0
  157. package/bin/types/src/agent/browser-timeout.d.ts +4 -0
  158. package/bin/types/src/agent/composition-authoring.d.ts +12 -0
  159. package/bin/types/src/agent/composition-context.d.ts +63 -0
  160. package/bin/types/src/agent/composition-contract.d.ts +4 -0
  161. package/bin/types/src/agent/composition-decisions.d.ts +43 -0
  162. package/bin/types/src/agent/composition-preflight.d.ts +16 -0
  163. package/bin/types/src/agent/creative-change-context.d.ts +21 -0
  164. package/bin/types/src/agent/creative-context.d.ts +56 -0
  165. package/bin/types/src/agent/creative-contract.d.ts +123 -0
  166. package/bin/types/src/agent/creative-efficiency.d.ts +18 -0
  167. package/bin/types/src/agent/creative-evidence.d.ts +57 -0
  168. package/bin/types/src/agent/creative-objective.d.ts +33 -0
  169. package/bin/types/src/agent/creative-profile.d.ts +81 -0
  170. package/bin/types/src/agent/creative-prompts.d.ts +7 -0
  171. package/bin/types/src/agent/creative-render-bindings.d.ts +13 -0
  172. package/bin/types/src/agent/creative-revision.d.ts +33 -0
  173. package/bin/types/src/agent/creative-skills.d.ts +25 -0
  174. package/bin/types/src/agent/cursor-hook.d.ts +182 -0
  175. package/bin/types/src/agent/design-bundle.d.ts +24 -0
  176. package/bin/types/src/agent/design-calibration.d.ts +43 -0
  177. package/bin/types/src/agent/design-cli.d.ts +5 -0
  178. package/bin/types/src/agent/design-comparison.d.ts +63 -0
  179. package/bin/types/src/agent/design-context-packet.d.ts +82 -0
  180. package/bin/types/src/agent/design-context-store.d.ts +14 -0
  181. package/bin/types/src/agent/design-context.d.ts +85 -0
  182. package/bin/types/src/agent/design-contracts.d.ts +35 -0
  183. package/bin/types/src/agent/design-copy.d.ts +29 -0
  184. package/bin/types/src/agent/design-feedback.d.ts +91 -0
  185. package/bin/types/src/agent/design-knowledge.d.ts +124 -0
  186. package/bin/types/src/agent/design-quality.d.ts +143 -0
  187. package/bin/types/src/agent/design-review-server.d.ts +13 -0
  188. package/bin/types/src/agent/design-run.d.ts +174 -0
  189. package/bin/types/src/agent/design-synthesis.d.ts +76 -0
  190. package/bin/types/src/agent/design-usage.d.ts +38 -0
  191. package/bin/types/src/agent/editorial.d.ts +11 -0
  192. package/bin/types/src/agent/evaluate.d.ts +28 -0
  193. package/bin/types/src/agent/grade.d.ts +16 -0
  194. package/bin/types/src/agent/graph.d.ts +82 -0
  195. package/bin/types/src/agent/industry/document.d.ts +10 -0
  196. package/bin/types/src/agent/industry/interactions.d.ts +2 -0
  197. package/bin/types/src/agent/industry/markup.d.ts +14 -0
  198. package/bin/types/src/agent/industry/registry.d.ts +2 -0
  199. package/bin/types/src/agent/industry/render-style.d.ts +3 -0
  200. package/bin/types/src/agent/industry/ridgeline/browse.d.ts +2 -0
  201. package/bin/types/src/agent/industry/ridgeline/diagrams.d.ts +9 -0
  202. package/bin/types/src/agent/industry/ridgeline/facts.d.ts +61 -0
  203. package/bin/types/src/agent/industry/ridgeline/pages/company.d.ts +5 -0
  204. package/bin/types/src/agent/industry/ridgeline/pages/home.d.ts +1 -0
  205. package/bin/types/src/agent/industry/ridgeline/pages/journal.d.ts +24 -0
  206. package/bin/types/src/agent/industry/ridgeline/pages/services.d.ts +6 -0
  207. package/bin/types/src/agent/industry/ridgeline/photo.d.ts +18 -0
  208. package/bin/types/src/agent/industry/ridgeline/script.d.ts +1 -0
  209. package/bin/types/src/agent/industry/ridgeline/site.d.ts +2 -0
  210. package/bin/types/src/agent/industry/ridgeline/style.d.ts +1 -0
  211. package/bin/types/src/agent/industry/ridgeline/theme.d.ts +4 -0
  212. package/bin/types/src/agent/industry/seven/barber-club.d.ts +2 -0
  213. package/bin/types/src/agent/industry/seven/barber-corner.d.ts +2 -0
  214. package/bin/types/src/agent/industry/seven/barber-form.d.ts +2 -0
  215. package/bin/types/src/agent/industry/seven/browse.d.ts +4 -0
  216. package/bin/types/src/agent/industry/seven/construction-built.d.ts +2 -0
  217. package/bin/types/src/agent/industry/seven/construction-craft.d.ts +2 -0
  218. package/bin/types/src/agent/industry/seven/construction-siteworks.d.ts +3 -0
  219. package/bin/types/src/agent/industry/seven/electrical-circuit.d.ts +2 -0
  220. package/bin/types/src/agent/industry/seven/electrical-light.d.ts +3 -0
  221. package/bin/types/src/agent/industry/seven/electrical-power.d.ts +3 -0
  222. package/bin/types/src/agent/industry/seven/hvac-climate.d.ts +3 -0
  223. package/bin/types/src/agent/industry/seven/hvac-dispatch.d.ts +2 -0
  224. package/bin/types/src/agent/industry/seven/hvac-seasonal.d.ts +2 -0
  225. package/bin/types/src/agent/industry/seven/interactions.d.ts +2 -0
  226. package/bin/types/src/agent/industry/seven/landscape-atlas.d.ts +4 -0
  227. package/bin/types/src/agent/industry/seven/landscape-courtyard.d.ts +3 -0
  228. package/bin/types/src/agent/industry/seven/landscape-seasons.d.ts +3 -0
  229. package/bin/types/src/agent/industry/seven/legal-casework.d.ts +2 -0
  230. package/bin/types/src/agent/industry/seven/legal-counsel.d.ts +2 -0
  231. package/bin/types/src/agent/industry/seven/legal-table.d.ts +2 -0
  232. package/bin/types/src/agent/industry/seven/medical-continuum.d.ts +2 -0
  233. package/bin/types/src/agent/industry/seven/medical-movement.d.ts +2 -0
  234. package/bin/types/src/agent/industry/seven/medical-neighborhood.d.ts +2 -0
  235. package/bin/types/src/agent/industry/seven/primitives.d.ts +31 -0
  236. package/bin/types/src/agent/industry/seven/registry.d.ts +4 -0
  237. package/bin/types/src/agent/industry/seven/theme.d.ts +3 -0
  238. package/bin/types/src/agent/industry/sites/common-ground.d.ts +2 -0
  239. package/bin/types/src/agent/industry/sites/coordination.d.ts +2 -0
  240. package/bin/types/src/agent/industry/sites/everyday.d.ts +2 -0
  241. package/bin/types/src/agent/industry/sites/independent.d.ts +2 -0
  242. package/bin/types/src/agent/industry/sites/mainstage.d.ts +2 -0
  243. package/bin/types/src/agent/industry/sites/neighborhood.d.ts +2 -0
  244. package/bin/types/src/agent/industry/sites/next-chapter.d.ts +2 -0
  245. package/bin/types/src/agent/industry/sites/practice-notes.d.ts +2 -0
  246. package/bin/types/src/agent/industry/sites/property-desk.d.ts +2 -0
  247. package/bin/types/src/agent/industry/sites/residence.d.ts +2 -0
  248. package/bin/types/src/agent/industry/sites/risk-office.d.ts +2 -0
  249. package/bin/types/src/agent/industry/sites/workshop.d.ts +2 -0
  250. package/bin/types/src/agent/industry/types.d.ts +48 -0
  251. package/bin/types/src/agent/invocation-budget.d.ts +32 -0
  252. package/bin/types/src/agent/jev/agent-usage.d.ts +165 -0
  253. package/bin/types/src/agent/jev/batching.d.ts +101 -0
  254. package/bin/types/src/agent/jev/block-catalog.d.ts +95 -0
  255. package/bin/types/src/agent/jev/bounds.d.ts +30 -0
  256. package/bin/types/src/agent/jev/budget.d.ts +76 -0
  257. package/bin/types/src/agent/jev/business-draft.d.ts +103 -0
  258. package/bin/types/src/agent/jev/calibration.d.ts +131 -0
  259. package/bin/types/src/agent/jev/client.d.ts +52 -0
  260. package/bin/types/src/agent/jev/component-select.d.ts +102 -0
  261. package/bin/types/src/agent/jev/config.d.ts +52 -0
  262. package/bin/types/src/agent/jev/consistency.d.ts +105 -0
  263. package/bin/types/src/agent/jev/content-checks.d.ts +121 -0
  264. package/bin/types/src/agent/jev/creative.d.ts +81 -0
  265. package/bin/types/src/agent/jev/critic-report.d.ts +132 -0
  266. package/bin/types/src/agent/jev/extraction.d.ts +84 -0
  267. package/bin/types/src/agent/jev/goals.d.ts +43 -0
  268. package/bin/types/src/agent/jev/html-tree.d.ts +28 -0
  269. package/bin/types/src/agent/jev/indexing.d.ts +51 -0
  270. package/bin/types/src/agent/jev/ledger.d.ts +154 -0
  271. package/bin/types/src/agent/jev/media.d.ts +62 -0
  272. package/bin/types/src/agent/jev/observations.d.ts +26 -0
  273. package/bin/types/src/agent/jev/ownership.d.ts +74 -0
  274. package/bin/types/src/agent/jev/packets.d.ts +124 -0
  275. package/bin/types/src/agent/jev/policy.d.ts +83 -0
  276. package/bin/types/src/agent/jev/questions.d.ts +244 -0
  277. package/bin/types/src/agent/jev/ranking.d.ts +129 -0
  278. package/bin/types/src/agent/jev/repair.d.ts +73 -0
  279. package/bin/types/src/agent/jev/review.d.ts +37 -0
  280. package/bin/types/src/agent/jev/security.d.ts +28 -0
  281. package/bin/types/src/agent/jev/semantic-lifecycle.d.ts +19 -0
  282. package/bin/types/src/agent/jev/semantic-tasks.d.ts +89 -0
  283. package/bin/types/src/agent/jev/service-registry.d.ts +98 -0
  284. package/bin/types/src/agent/jev/state.d.ts +104 -0
  285. package/bin/types/src/agent/jev/types.d.ts +190 -0
  286. package/bin/types/src/agent/jev/visible-assertions.d.ts +84 -0
  287. package/bin/types/src/agent/kernel-commands.d.ts +2 -0
  288. package/bin/types/src/agent/kit-runtime.d.ts +12 -0
  289. package/bin/types/src/agent/legacy-definitions/theme-art.d.ts +5 -0
  290. package/bin/types/src/agent/legacy-definitions/theme-commissions.d.ts +1 -0
  291. package/bin/types/src/agent/legacy-definitions/theme-compositions-extremes.d.ts +7 -0
  292. package/bin/types/src/agent/legacy-definitions/theme-compositions-graphic.d.ts +2 -0
  293. package/bin/types/src/agent/legacy-definitions/theme-compositions-reading.d.ts +2 -0
  294. package/bin/types/src/agent/legacy-definitions/theme-compositions-service-extremes.d.ts +2 -0
  295. package/bin/types/src/agent/legacy-definitions/theme-compositions-service-people.d.ts +2 -0
  296. package/bin/types/src/agent/legacy-definitions/theme-compositions-service-programme.d.ts +3 -0
  297. package/bin/types/src/agent/legacy-definitions/theme-compositions-service-project.d.ts +2 -0
  298. package/bin/types/src/agent/legacy-definitions/theme-compositions-service-season.d.ts +2 -0
  299. package/bin/types/src/agent/legacy-definitions/theme-compositions-tactile.d.ts +2 -0
  300. package/bin/types/src/agent/legacy-definitions/theme-compositions.d.ts +2 -0
  301. package/bin/types/src/agent/legacy-definitions/theme-legacy-specimens.d.ts +8 -0
  302. package/bin/types/src/agent/legacy-definitions/theme-library-legacy.d.ts +20 -0
  303. package/bin/types/src/agent/legacy-definitions/theme-library-release2.d.ts +3 -0
  304. package/bin/types/src/agent/legacy-definitions/theme-service-art.d.ts +7 -0
  305. package/bin/types/src/agent/legacy-definitions/theme-service-commissions.d.ts +1 -0
  306. package/bin/types/src/agent/legacy-definitions/theme-specimen-base.d.ts +1 -0
  307. package/bin/types/src/agent/legacy-definitions/theme-specimens.d.ts +2 -0
  308. package/bin/types/src/agent/legacy-definitions/theme-suite-data.d.ts +25 -0
  309. package/bin/types/src/agent/legacy-definitions/theme-suite-style.d.ts +1 -0
  310. package/bin/types/src/agent/legacy-definitions/theme-suites-checkpoint.d.ts +14 -0
  311. package/bin/types/src/agent/legacy-definitions/theme-suites-graphic.d.ts +2 -0
  312. package/bin/types/src/agent/legacy-definitions/theme-suites-information.d.ts +2 -0
  313. package/bin/types/src/agent/legacy-definitions/theme-suites-local.d.ts +2 -0
  314. package/bin/types/src/agent/legacy-definitions/theme-suites-material.d.ts +2 -0
  315. package/bin/types/src/agent/legacy-definitions/theme-suites-practice.d.ts +2 -0
  316. package/bin/types/src/agent/legacy-definitions/theme-suites-spatial.d.ts +2 -0
  317. package/bin/types/src/agent/legacy-definitions/theme-suites.d.ts +3 -0
  318. package/bin/types/src/agent/lifecycle.d.ts +136 -0
  319. package/bin/types/src/agent/lighthouse-browser.d.ts +5 -0
  320. package/bin/types/src/agent/media-format.d.ts +5 -0
  321. package/bin/types/src/agent/migration-links.d.ts +4 -0
  322. package/bin/types/src/agent/motion-composition.d.ts +22 -0
  323. package/bin/types/src/agent/motion-knowledge.d.ts +3 -0
  324. package/bin/types/src/agent/motion-plan.d.ts +6 -0
  325. package/bin/types/src/agent/performance.d.ts +52 -0
  326. package/bin/types/src/agent/playwright-runtime.d.ts +8 -0
  327. package/bin/types/src/agent/preparation.d.ts +193 -0
  328. package/bin/types/src/agent/preview.d.ts +1 -0
  329. package/bin/types/src/agent/production-quality.d.ts +72 -0
  330. package/bin/types/src/agent/reference-contract.d.ts +3 -0
  331. package/bin/types/src/agent/reference-fit.d.ts +50 -0
  332. package/bin/types/src/agent/reference-library.d.ts +313 -0
  333. package/bin/types/src/agent/reference-studies.d.ts +110 -0
  334. package/bin/types/src/agent/refine.d.ts +348 -0
  335. package/bin/types/src/agent/result-manifest.d.ts +38 -0
  336. package/bin/types/src/agent/runner.d.ts +10 -0
  337. package/bin/types/src/agent/site-inputs.d.ts +26 -0
  338. package/bin/types/src/agent/source-manifest.d.ts +9 -0
  339. package/bin/types/src/agent/state-transition.d.ts +16 -0
  340. package/bin/types/src/agent/storyboard-media.d.ts +11 -0
  341. package/bin/types/src/agent/study-render.d.ts +27 -0
  342. package/bin/types/src/agent/template-adaptation.d.ts +69 -0
  343. package/bin/types/src/agent/template-motion.d.ts +59 -0
  344. package/bin/types/src/agent/theme-art-direction.d.ts +2 -0
  345. package/bin/types/src/agent/theme-art.d.ts +1 -0
  346. package/bin/types/src/agent/theme-assets.d.ts +36 -0
  347. package/bin/types/src/agent/theme-browse.d.ts +67 -0
  348. package/bin/types/src/agent/theme-cloud-resources.d.ts +7 -0
  349. package/bin/types/src/agent/theme-cloud.d.ts +41 -0
  350. package/bin/types/src/agent/theme-commissions.d.ts +1 -0
  351. package/bin/types/src/agent/theme-compositions-extremes.d.ts +1 -0
  352. package/bin/types/src/agent/theme-compositions.d.ts +1 -0
  353. package/bin/types/src/agent/theme-identity.d.ts +23 -0
  354. package/bin/types/src/agent/theme-layout-roles.d.ts +7 -0
  355. package/bin/types/src/agent/theme-legacy-specimens.d.ts +1 -0
  356. package/bin/types/src/agent/theme-library-legacy.d.ts +1 -0
  357. package/bin/types/src/agent/theme-library-release2.d.ts +1 -0
  358. package/bin/types/src/agent/theme-library.d.ts +60 -0
  359. package/bin/types/src/agent/theme-page-manifest.d.ts +26 -0
  360. package/bin/types/src/agent/theme-picker-model.d.ts +51 -0
  361. package/bin/types/src/agent/theme-picker-runtime.d.ts +1 -0
  362. package/bin/types/src/agent/theme-picker-selection-runtime.d.ts +1 -0
  363. package/bin/types/src/agent/theme-picker-shell.d.ts +7 -0
  364. package/bin/types/src/agent/theme-picker-styles.d.ts +1 -0
  365. package/bin/types/src/agent/theme-picker.d.ts +20 -0
  366. package/bin/types/src/agent/theme-preview.d.ts +26 -0
  367. package/bin/types/src/agent/theme-release2/assets.d.ts +22 -0
  368. package/bin/types/src/agent/theme-release2/specimens.d.ts +2 -0
  369. package/bin/types/src/agent/theme-release2/theme-art.d.ts +5 -0
  370. package/bin/types/src/agent/theme-release2/theme-compositions-extremes.d.ts +7 -0
  371. package/bin/types/src/agent/theme-release2/theme-compositions-graphic.d.ts +2 -0
  372. package/bin/types/src/agent/theme-release2/theme-compositions-reading.d.ts +2 -0
  373. package/bin/types/src/agent/theme-release2/theme-compositions-tactile.d.ts +2 -0
  374. package/bin/types/src/agent/theme-release2/theme-compositions.d.ts +3 -0
  375. package/bin/types/src/agent/theme-release2/theme-specimen-base.d.ts +1 -0
  376. package/bin/types/src/agent/theme-release3/theme-art-direction.d.ts +2 -0
  377. package/bin/types/src/agent/theme-release3/theme-art.d.ts +5 -0
  378. package/bin/types/src/agent/theme-release3/theme-assets.d.ts +121 -0
  379. package/bin/types/src/agent/theme-release3/theme-compositions-extremes.d.ts +7 -0
  380. package/bin/types/src/agent/theme-release3/theme-compositions-graphic.d.ts +2 -0
  381. package/bin/types/src/agent/theme-release3/theme-compositions-reading.d.ts +2 -0
  382. package/bin/types/src/agent/theme-release3/theme-compositions-service-extremes.d.ts +2 -0
  383. package/bin/types/src/agent/theme-release3/theme-compositions-service-people.d.ts +2 -0
  384. package/bin/types/src/agent/theme-release3/theme-compositions-service-programme.d.ts +2 -0
  385. package/bin/types/src/agent/theme-release3/theme-compositions-service-project.d.ts +2 -0
  386. package/bin/types/src/agent/theme-release3/theme-compositions-service-season.d.ts +2 -0
  387. package/bin/types/src/agent/theme-release3/theme-compositions-tactile.d.ts +2 -0
  388. package/bin/types/src/agent/theme-release3/theme-compositions.d.ts +2 -0
  389. package/bin/types/src/agent/theme-release3/theme-identity.d.ts +23 -0
  390. package/bin/types/src/agent/theme-release3/theme-library.d.ts +4 -0
  391. package/bin/types/src/agent/theme-release3/theme-service-art.d.ts +7 -0
  392. package/bin/types/src/agent/theme-release3/theme-specimen-base.d.ts +1 -0
  393. package/bin/types/src/agent/theme-release3/theme-specimens.d.ts +2 -0
  394. package/bin/types/src/agent/theme-selection.d.ts +75 -0
  395. package/bin/types/src/agent/theme-service-art.d.ts +1 -0
  396. package/bin/types/src/agent/theme-specimen-base.d.ts +1 -0
  397. package/bin/types/src/agent/theme-specimens.d.ts +1 -0
  398. package/bin/types/src/agent/theme-suite-data.d.ts +1 -0
  399. package/bin/types/src/agent/theme-suite-identity.d.ts +42 -0
  400. package/bin/types/src/agent/theme-suite-primitives.d.ts +14 -0
  401. package/bin/types/src/agent/theme-suite-renderer.d.ts +8 -0
  402. package/bin/types/src/agent/theme-suite-style.d.ts +1 -0
  403. package/bin/types/src/agent/theme-suites.d.ts +1 -0
  404. package/bin/types/src/agent/theme-thumbnails.d.ts +8 -0
  405. package/bin/types/src/agent/trace.d.ts +337 -0
  406. package/bin/types/src/agent/workflow-config.d.ts +25 -0
  407. package/bin/types/src/agent/workflow.d.ts +104 -0
  408. package/bin/types/src/blocks/library-profile.d.ts +9 -0
  409. package/bin/types/src/blocks/metadata.d.ts +65 -0
  410. package/bin/types/src/build/index.d.ts +29 -0
  411. package/bin/types/src/build/responsive-media.d.ts +19 -0
  412. package/bin/types/src/build/serve.d.ts +4 -0
  413. package/bin/types/src/build/static-output.d.ts +2 -0
  414. package/bin/types/src/build/verified.d.ts +1 -0
  415. package/bin/types/src/cli/api.d.ts +17 -0
  416. package/bin/types/src/cli/deploy.d.ts +21 -0
  417. package/bin/types/src/cli/doctor.d.ts +16 -0
  418. package/bin/types/src/cli/events.d.ts +16 -0
  419. package/bin/types/src/cli/feedback.d.ts +21 -0
  420. package/bin/types/src/cli/forms.d.ts +16 -0
  421. package/bin/types/src/cli/index.d.ts +1 -0
  422. package/bin/types/src/cli/lifecycle.d.ts +18 -0
  423. package/bin/types/src/cli/preserve.d.ts +8 -0
  424. package/bin/types/src/cli/preview.d.ts +14 -0
  425. package/bin/types/src/cli/refine.d.ts +41 -0
  426. package/bin/types/src/cli/root.d.ts +3 -0
  427. package/bin/types/src/cli/run.d.ts +30 -0
  428. package/bin/types/src/cli/share.d.ts +17 -0
  429. package/bin/types/src/cli/site-create.d.ts +24 -0
  430. package/bin/types/src/cli/site-migrate.d.ts +11 -0
  431. package/bin/types/src/cli/status.d.ts +8 -0
  432. package/bin/types/src/cli/types.d.ts +34 -0
  433. package/bin/types/src/cli/upgrade.d.ts +11 -0
  434. package/bin/types/src/cli/verify.d.ts +17 -0
  435. package/bin/types/src/cli/workflow-argv.d.ts +2 -0
  436. package/bin/types/src/compile/flatten.d.ts +23 -0
  437. package/bin/types/src/compile/frontmatter.d.ts +10 -0
  438. package/bin/types/src/compile/icons.d.ts +2 -0
  439. package/bin/types/src/compile/paths.d.ts +4 -0
  440. package/bin/types/src/compile/primitives.d.ts +2 -0
  441. package/bin/types/src/compile/scroll-motion.d.ts +14 -0
  442. package/bin/types/src/compile/site.d.ts +40 -0
  443. package/bin/types/src/editing/identity.d.ts +7 -0
  444. package/bin/types/src/editing/manifest.d.ts +38 -0
  445. package/bin/types/src/engine/checks.d.ts +2 -0
  446. package/bin/types/src/engine/contracts.d.ts +104 -0
  447. package/bin/types/src/engine/impact.d.ts +3 -0
  448. package/bin/types/src/engine/index.d.ts +70 -0
  449. package/bin/types/src/engine/revision.d.ts +5 -0
  450. package/bin/types/src/forms/cloudflare.d.ts +24 -0
  451. package/bin/types/src/forms/config.d.ts +34 -0
  452. package/bin/types/src/forms/frontend.d.ts +9 -0
  453. package/bin/types/src/html.d.ts +3 -0
  454. package/bin/types/src/icons/catalog.d.ts +28 -0
  455. package/bin/types/src/icons/coverage.d.ts +12 -0
  456. package/bin/types/src/icons/drawing.d.ts +7 -0
  457. package/bin/types/src/icons/duotone.d.ts +4 -0
  458. package/bin/types/src/icons/index.d.ts +37 -0
  459. package/bin/types/src/icons/industry-refinements-v4.d.ts +4 -0
  460. package/bin/types/src/icons/industry-review.d.ts +11 -0
  461. package/bin/types/src/icons/industry.d.ts +2 -0
  462. package/bin/types/src/icons/refinements.d.ts +5 -0
  463. package/bin/types/src/icons/studio-industry-review.d.ts +9 -0
  464. package/bin/types/src/icons/studio-industry.d.ts +5 -0
  465. package/bin/types/src/icons/studio.d.ts +34 -0
  466. package/bin/types/src/integrations/cloudflare-pages.d.ts +10 -0
  467. package/bin/types/src/integrations/deployment-smoke.d.ts +11 -0
  468. package/bin/types/src/integrations/hosting.d.ts +33 -0
  469. package/bin/types/src/integrations/wrangler-command.d.ts +5 -0
  470. package/bin/types/src/knowledge/artifact-order.d.ts +1 -0
  471. package/bin/types/src/knowledge/artifact.d.ts +11 -0
  472. package/bin/types/src/knowledge/composition.d.ts +54 -0
  473. package/bin/types/src/knowledge/contracts.d.ts +111 -0
  474. package/bin/types/src/knowledge/explain.d.ts +6 -0
  475. package/bin/types/src/knowledge/pack.d.ts +32 -0
  476. package/bin/types/src/knowledge/selection.d.ts +18 -0
  477. package/bin/types/src/knowledge/site-widgets.d.ts +6 -0
  478. package/bin/types/src/onboard/brief.d.ts +182 -0
  479. package/bin/types/src/onboard/classify.d.ts +31 -0
  480. package/bin/types/src/onboard/crawl-order.d.ts +7 -0
  481. package/bin/types/src/onboard/extract.d.ts +102 -0
  482. package/bin/types/src/onboard/harvest-inventory.d.ts +84 -0
  483. package/bin/types/src/onboard/outline.d.ts +13 -0
  484. package/bin/types/src/onboard/quality.d.ts +6 -0
  485. package/bin/types/src/onboard/shortlist.d.ts +11 -0
  486. package/bin/types/src/onboard/social.d.ts +15 -0
  487. package/bin/types/src/onboard/visual-hints.d.ts +12 -0
  488. package/bin/types/src/preserve/build.d.ts +1 -0
  489. package/bin/types/src/preserve/capture.d.ts +21 -0
  490. package/bin/types/src/preserve/components.d.ts +10 -0
  491. package/bin/types/src/preserve/config.d.ts +53 -0
  492. package/bin/types/src/preserve/embeds.d.ts +15 -0
  493. package/bin/types/src/preserve/hovers.d.ts +10 -0
  494. package/bin/types/src/preserve/react-capabilities.d.ts +2 -0
  495. package/bin/types/src/preserve/runtime.d.ts +2 -0
  496. package/bin/types/src/preserve/source-defects.d.ts +4 -0
  497. package/bin/types/src/preserve/supplement.d.ts +3 -0
  498. package/bin/types/src/preserve/verify.d.ts +29 -0
  499. package/bin/types/src/render.d.ts +10 -0
  500. package/bin/types/src/runtime/beacon.d.ts +2 -0
  501. package/bin/types/src/runtime/before-after.d.ts +2 -0
  502. package/bin/types/src/runtime/carousel.d.ts +2 -0
  503. package/bin/types/src/runtime/cookie-compliance.d.ts +14 -0
  504. package/bin/types/src/runtime/experience.d.ts +4 -0
  505. package/bin/types/src/runtime/header.d.ts +2 -0
  506. package/bin/types/src/runtime/leads.d.ts +2 -0
  507. package/bin/types/src/runtime/lightbox.d.ts +2 -0
  508. package/bin/types/src/runtime/scroll-motion.generated.d.ts +4 -0
  509. package/bin/types/src/runtime/tabs.d.ts +2 -0
  510. package/bin/types/src/schema.d.ts +27 -0
  511. package/bin/types/src/stock/library.d.ts +14 -0
  512. package/bin/types/src/stock/search.d.ts +30 -0
  513. package/bin/types/src/stock/selection.d.ts +30 -0
  514. package/bin/types/src/stock/types.d.ts +54 -0
  515. package/bin/types/src/theme.d.ts +3 -0
  516. package/bin/types/src/types.d.ts +115 -0
  517. package/bin/types/src/upgrade/kit.d.ts +48 -0
  518. package/bin/vitris-art.js +192 -0
  519. package/bin/vitris-blocks.js +238 -0
  520. package/bin/vitris-build.js +24 -0
  521. package/bin/vitris-catalog.js +49 -0
  522. package/bin/vitris-content-coverage.js +21 -0
  523. package/bin/vitris-create-site.js +86 -0
  524. package/bin/vitris-cursor-hook.js +61 -0
  525. package/bin/vitris-eval.js +76 -0
  526. package/bin/vitris-go.js +99 -0
  527. package/bin/vitris-harvest.js +184 -0
  528. package/bin/vitris-icons.js +168 -0
  529. package/bin/vitris-knowledge.js +43 -0
  530. package/bin/vitris-launch-preflight.js +964 -0
  531. package/bin/vitris-media-serve.js +50 -0
  532. package/bin/vitris-migrate-site.js +20 -0
  533. package/bin/vitris-motion-view.js +80 -0
  534. package/bin/vitris-prepare-media.js +64 -0
  535. package/bin/vitris-preview.js +36 -0
  536. package/bin/vitris-references.js +173 -0
  537. package/bin/vitris-refresh.js +50 -0
  538. package/bin/vitris-sign-publish-bundle.js +64 -0
  539. package/bin/vitris-stock.js +161 -0
  540. package/bin/vitris-templates.js +261 -0
  541. package/bin/vitris-themes.js +321 -0
  542. package/bin/vitris-upgrade.js +50 -0
  543. package/bin/vitris-verify-browser.js +662 -0
  544. package/bin/vitris-verify-performance.js +44 -0
  545. package/bin/vitris.js +50 -0
  546. package/blocks/CONVENTIONS.md +121 -0
  547. package/blocks/INDEX.md +130 -0
  548. package/blocks/about/about-awards/README.md +36 -0
  549. package/blocks/about/about-awards/styles.css +13 -0
  550. package/blocks/about/about-awards/template.html +1 -0
  551. package/blocks/about/about-credentials/README.md +33 -0
  552. package/blocks/about/about-credentials/block.meta.json +85 -0
  553. package/blocks/about/about-credentials/styles.css +4 -0
  554. package/blocks/about/about-credentials/template.html +1 -0
  555. package/blocks/about/about-founder/README.md +35 -0
  556. package/blocks/about/about-founder/styles.css +9 -0
  557. package/blocks/about/about-founder/template.html +1 -0
  558. package/blocks/about/about-mission/README.md +31 -0
  559. package/blocks/about/about-mission/styles.css +5 -0
  560. package/blocks/about/about-mission/template.html +1 -0
  561. package/blocks/about/about-statement/README.md +28 -0
  562. package/blocks/about/about-statement/styles.css +7 -0
  563. package/blocks/about/about-statement/template.html +1 -0
  564. package/blocks/about/about-story/README.md +35 -0
  565. package/blocks/about/about-story/styles.css +5 -0
  566. package/blocks/about/about-story/template.html +1 -0
  567. package/blocks/about/about-timeline/README.md +33 -0
  568. package/blocks/about/about-timeline/styles.css +8 -0
  569. package/blocks/about/about-timeline/template.html +1 -0
  570. package/blocks/about/about-values/README.md +31 -0
  571. package/blocks/about/about-values/styles.css +3 -0
  572. package/blocks/about/about-values/template.html +1 -0
  573. package/blocks/blog/blog-featured/README.md +39 -0
  574. package/blocks/blog/blog-featured/styles.css +12 -0
  575. package/blocks/blog/blog-featured/template.html +1 -0
  576. package/blocks/blog/blog-index/README.md +34 -0
  577. package/blocks/blog/blog-index/styles.css +6 -0
  578. package/blocks/blog/blog-index/template.html +1 -0
  579. package/blocks/blog/blog-post-header/README.md +31 -0
  580. package/blocks/blog/blog-post-header/styles.css +8 -0
  581. package/blocks/blog/blog-post-header/template.html +1 -0
  582. package/blocks/contact/contact-cards/README.md +32 -0
  583. package/blocks/contact/contact-cards/styles.css +7 -0
  584. package/blocks/contact/contact-cards/template.html +1 -0
  585. package/blocks/contact/contact-chips/README.md +41 -0
  586. package/blocks/contact/contact-chips/styles.css +13 -0
  587. package/blocks/contact/contact-chips/template.html +1 -0
  588. package/blocks/contact/contact-hours/README.md +41 -0
  589. package/blocks/contact/contact-hours/block.meta.json +87 -0
  590. package/blocks/contact/contact-hours/styles.css +8 -0
  591. package/blocks/contact/contact-hours/template.html +1 -0
  592. package/blocks/contact/contact-map/README.md +39 -0
  593. package/blocks/contact/contact-map/styles.css +10 -0
  594. package/blocks/contact/contact-map/template.html +1 -0
  595. package/blocks/contact/contact-offices/README.md +32 -0
  596. package/blocks/contact/contact-offices/styles.css +8 -0
  597. package/blocks/contact/contact-offices/template.html +1 -0
  598. package/blocks/contact/contact-phone-first/README.md +33 -0
  599. package/blocks/contact/contact-phone-first/block.meta.json +86 -0
  600. package/blocks/contact/contact-phone-first/styles.css +11 -0
  601. package/blocks/contact/contact-phone-first/template.html +1 -0
  602. package/blocks/contact/contact-split/README.md +43 -0
  603. package/blocks/contact/contact-split/styles.css +12 -0
  604. package/blocks/contact/contact-split/template.html +1 -0
  605. package/blocks/contact/contact-visit/README.md +36 -0
  606. package/blocks/contact/contact-visit/block.meta.json +88 -0
  607. package/blocks/contact/contact-visit/styles.css +13 -0
  608. package/blocks/contact/contact-visit/template.html +1 -0
  609. package/blocks/contact/service-areas/README.md +32 -0
  610. package/blocks/contact/service-areas/styles.css +9 -0
  611. package/blocks/contact/service-areas/template.html +1 -0
  612. package/blocks/content/glossary/README.md +35 -0
  613. package/blocks/content/glossary/styles.css +6 -0
  614. package/blocks/content/glossary/template.html +1 -0
  615. package/blocks/content/list-split/README.md +33 -0
  616. package/blocks/content/list-split/styles.css +13 -0
  617. package/blocks/content/list-split/template.html +1 -0
  618. package/blocks/content/prose-split/README.md +32 -0
  619. package/blocks/content/prose-split/styles.css +12 -0
  620. package/blocks/content/prose-split/template.html +1 -0
  621. package/blocks/content/specification-ledger/README.md +32 -0
  622. package/blocks/content/specification-ledger/block.meta.json +85 -0
  623. package/blocks/content/specification-ledger/styles.css +10 -0
  624. package/blocks/content/specification-ledger/template.html +1 -0
  625. package/blocks/cta/cta-band/README.md +33 -0
  626. package/blocks/cta/cta-band/styles.css +11 -0
  627. package/blocks/cta/cta-band/template.html +1 -0
  628. package/blocks/cta/cta-card/README.md +35 -0
  629. package/blocks/cta/cta-card/styles.css +8 -0
  630. package/blocks/cta/cta-card/template.html +1 -0
  631. package/blocks/cta/cta-floating-bar/README.md +28 -0
  632. package/blocks/cta/cta-floating-bar/styles.css +8 -0
  633. package/blocks/cta/cta-floating-bar/template.html +1 -0
  634. package/blocks/cta/cta-inline/README.md +30 -0
  635. package/blocks/cta/cta-inline/styles.css +9 -0
  636. package/blocks/cta/cta-inline/template.html +1 -0
  637. package/blocks/cta/cta-newsletter/README.md +34 -0
  638. package/blocks/cta/cta-newsletter/styles.css +8 -0
  639. package/blocks/cta/cta-newsletter/template.html +1 -0
  640. package/blocks/cta/cta-photo-fan/README.md +36 -0
  641. package/blocks/cta/cta-photo-fan/styles.css +14 -0
  642. package/blocks/cta/cta-photo-fan/template.html +1 -0
  643. package/blocks/cta/cta-split/README.md +38 -0
  644. package/blocks/cta/cta-split/styles.css +10 -0
  645. package/blocks/cta/cta-split/template.html +1 -0
  646. package/blocks/faq/faq-accordion/README.md +36 -0
  647. package/blocks/faq/faq-accordion/styles.css +6 -0
  648. package/blocks/faq/faq-accordion/template.html +1 -0
  649. package/blocks/faq/faq-grouped/README.md +40 -0
  650. package/blocks/faq/faq-grouped/styles.css +20 -0
  651. package/blocks/faq/faq-grouped/template.html +1 -0
  652. package/blocks/faq/faq-split/README.md +37 -0
  653. package/blocks/faq/faq-split/styles.css +5 -0
  654. package/blocks/faq/faq-split/template.html +1 -0
  655. package/blocks/faq/faq-tabs/README.md +36 -0
  656. package/blocks/faq/faq-tabs/styles.css +3 -0
  657. package/blocks/faq/faq-tabs/template.html +1 -0
  658. package/blocks/feature/feature-bento/README.md +33 -0
  659. package/blocks/feature/feature-bento/styles.css +7 -0
  660. package/blocks/feature/feature-bento/template.html +1 -0
  661. package/blocks/feature/feature-compare-table/README.md +44 -0
  662. package/blocks/feature/feature-compare-table/styles.css +15 -0
  663. package/blocks/feature/feature-compare-table/template.html +1 -0
  664. package/blocks/feature/feature-comparison/README.md +34 -0
  665. package/blocks/feature/feature-comparison/styles.css +6 -0
  666. package/blocks/feature/feature-comparison/template.html +1 -0
  667. package/blocks/feature/feature-grid-3/README.md +34 -0
  668. package/blocks/feature/feature-grid-3/styles.css +8 -0
  669. package/blocks/feature/feature-grid-3/template.html +1 -0
  670. package/blocks/feature/feature-icon-list/README.md +39 -0
  671. package/blocks/feature/feature-icon-list/styles.css +9 -0
  672. package/blocks/feature/feature-icon-list/template.html +1 -0
  673. package/blocks/feature/feature-spotlight/README.md +39 -0
  674. package/blocks/feature/feature-spotlight/styles.css +5 -0
  675. package/blocks/feature/feature-spotlight/template.html +1 -0
  676. package/blocks/feature/feature-stats-band/README.md +33 -0
  677. package/blocks/feature/feature-stats-band/styles.css +8 -0
  678. package/blocks/feature/feature-stats-band/template.html +1 -0
  679. package/blocks/feature/feature-tabs/README.md +38 -0
  680. package/blocks/feature/feature-tabs/styles.css +7 -0
  681. package/blocks/feature/feature-tabs/template.html +1 -0
  682. package/blocks/feature/feature-thumb-list/README.md +38 -0
  683. package/blocks/feature/feature-thumb-list/styles.css +13 -0
  684. package/blocks/feature/feature-thumb-list/template.html +1 -0
  685. package/blocks/feature/feature-zigzag/README.md +31 -0
  686. package/blocks/feature/feature-zigzag/styles.css +6 -0
  687. package/blocks/feature/feature-zigzag/template.html +1 -0
  688. package/blocks/footer/footer-columns/README.md +39 -0
  689. package/blocks/footer/footer-columns/styles.css +16 -0
  690. package/blocks/footer/footer-columns/template.html +1 -0
  691. package/blocks/footer/footer-compact/README.md +33 -0
  692. package/blocks/footer/footer-compact/styles.css +12 -0
  693. package/blocks/footer/footer-compact/template.html +1 -0
  694. package/blocks/footer/footer-cta/README.md +37 -0
  695. package/blocks/footer/footer-cta/styles.css +18 -0
  696. package/blocks/footer/footer-cta/template.html +1 -0
  697. package/blocks/footer/footer-social/README.md +37 -0
  698. package/blocks/footer/footer-social/styles.css +17 -0
  699. package/blocks/footer/footer-social/template.html +1 -0
  700. package/blocks/footer/footer-wordmark/README.md +40 -0
  701. package/blocks/footer/footer-wordmark/styles.css +19 -0
  702. package/blocks/footer/footer-wordmark/template.html +1 -0
  703. package/blocks/gallery/gallery-before-after/README.md +31 -0
  704. package/blocks/gallery/gallery-before-after/styles.css +6 -0
  705. package/blocks/gallery/gallery-before-after/template.html +1 -0
  706. package/blocks/gallery/gallery-carousel/README.md +32 -0
  707. package/blocks/gallery/gallery-carousel/styles.css +7 -0
  708. package/blocks/gallery/gallery-carousel/template.html +1 -0
  709. package/blocks/gallery/gallery-grid/README.md +39 -0
  710. package/blocks/gallery/gallery-grid/styles.css +13 -0
  711. package/blocks/gallery/gallery-grid/template.html +1 -0
  712. package/blocks/gallery/gallery-masonry/README.md +33 -0
  713. package/blocks/gallery/gallery-masonry/styles.css +4 -0
  714. package/blocks/gallery/gallery-masonry/template.html +1 -0
  715. package/blocks/gallery/gallery-mosaic-split/README.md +40 -0
  716. package/blocks/gallery/gallery-mosaic-split/styles.css +15 -0
  717. package/blocks/gallery/gallery-mosaic-split/template.html +1 -0
  718. package/blocks/hero/hero-asymmetric/README.md +34 -0
  719. package/blocks/hero/hero-asymmetric/styles.css +13 -0
  720. package/blocks/hero/hero-asymmetric/template.html +10 -0
  721. package/blocks/hero/hero-before-after/README.md +38 -0
  722. package/blocks/hero/hero-before-after/styles.css +8 -0
  723. package/blocks/hero/hero-before-after/template.html +19 -0
  724. package/blocks/hero/hero-editorial/README.md +34 -0
  725. package/blocks/hero/hero-editorial/block.meta.json +85 -0
  726. package/blocks/hero/hero-editorial/styles.css +6 -0
  727. package/blocks/hero/hero-editorial/template.html +10 -0
  728. package/blocks/hero/hero-evidence/README.md +32 -0
  729. package/blocks/hero/hero-evidence/block.meta.json +85 -0
  730. package/blocks/hero/hero-evidence/styles.css +13 -0
  731. package/blocks/hero/hero-evidence/template.html +1 -0
  732. package/blocks/hero/hero-form/README.md +46 -0
  733. package/blocks/hero/hero-form/styles.css +11 -0
  734. package/blocks/hero/hero-form/template.html +15 -0
  735. package/blocks/hero/hero-menu/README.md +36 -0
  736. package/blocks/hero/hero-menu/styles.css +7 -0
  737. package/blocks/hero/hero-menu/template.html +10 -0
  738. package/blocks/hero/hero-overlay/README.md +35 -0
  739. package/blocks/hero/hero-overlay/styles.css +14 -0
  740. package/blocks/hero/hero-overlay/template.html +10 -0
  741. package/blocks/hero/hero-page/README.md +35 -0
  742. package/blocks/hero/hero-page/styles.css +19 -0
  743. package/blocks/hero/hero-page/template.html +1 -0
  744. package/blocks/hero/hero-product/README.md +41 -0
  745. package/blocks/hero/hero-product/styles.css +11 -0
  746. package/blocks/hero/hero-product/template.html +14 -0
  747. package/blocks/hero/hero-service/README.md +37 -0
  748. package/blocks/hero/hero-service/block.meta.json +85 -0
  749. package/blocks/hero/hero-service/styles.css +17 -0
  750. package/blocks/hero/hero-service/template.html +1 -0
  751. package/blocks/hero/hero-split/README.md +36 -0
  752. package/blocks/hero/hero-split/styles.css +7 -0
  753. package/blocks/hero/hero-split/template.html +11 -0
  754. package/blocks/hero/hero-statement/README.md +33 -0
  755. package/blocks/hero/hero-statement/styles.css +8 -0
  756. package/blocks/hero/hero-statement/template.html +1 -0
  757. package/blocks/hero/hero-stats/README.md +37 -0
  758. package/blocks/hero/hero-stats/styles.css +10 -0
  759. package/blocks/hero/hero-stats/template.html +10 -0
  760. package/blocks/hero/hero-video-still/README.md +36 -0
  761. package/blocks/hero/hero-video-still/styles.css +9 -0
  762. package/blocks/hero/hero-video-still/template.html +13 -0
  763. package/blocks/icons.md +44 -0
  764. package/blocks/incentives/incentive-banner/README.md +28 -0
  765. package/blocks/incentives/incentive-banner/styles.css +7 -0
  766. package/blocks/incentives/incentive-banner/template.html +1 -0
  767. package/blocks/incentives/incentive-cards/README.md +31 -0
  768. package/blocks/incentives/incentive-cards/styles.css +4 -0
  769. package/blocks/incentives/incentive-cards/template.html +1 -0
  770. package/blocks/navbar/nav-announcement/README.md +35 -0
  771. package/blocks/navbar/nav-announcement/styles.css +10 -0
  772. package/blocks/navbar/nav-announcement/template.html +14 -0
  773. package/blocks/navbar/nav-centered/README.md +35 -0
  774. package/blocks/navbar/nav-centered/styles.css +11 -0
  775. package/blocks/navbar/nav-centered/template.html +12 -0
  776. package/blocks/navbar/nav-minimal/README.md +29 -0
  777. package/blocks/navbar/nav-minimal/styles.css +5 -0
  778. package/blocks/navbar/nav-minimal/template.html +6 -0
  779. package/blocks/navbar/nav-split/README.md +34 -0
  780. package/blocks/navbar/nav-split/styles.css +11 -0
  781. package/blocks/navbar/nav-split/template.html +11 -0
  782. package/blocks/navbar/nav-utility/README.md +37 -0
  783. package/blocks/navbar/nav-utility/styles.css +17 -0
  784. package/blocks/navbar/nav-utility/template.html +12 -0
  785. package/blocks/pricing/menu-featured/README.md +34 -0
  786. package/blocks/pricing/menu-featured/styles.css +4 -0
  787. package/blocks/pricing/menu-featured/template.html +1 -0
  788. package/blocks/pricing/menu-sections/README.md +33 -0
  789. package/blocks/pricing/menu-sections/styles.css +9 -0
  790. package/blocks/pricing/menu-sections/template.html +1 -0
  791. package/blocks/pricing/pricing-table/README.md +40 -0
  792. package/blocks/pricing/pricing-table/styles.css +9 -0
  793. package/blocks/pricing/pricing-table/template.html +1 -0
  794. package/blocks/pricing/pricing-tiers/README.md +34 -0
  795. package/blocks/pricing/pricing-tiers/styles.css +7 -0
  796. package/blocks/pricing/pricing-tiers/template.html +1 -0
  797. package/blocks/pricing/pricing-toggle/README.md +34 -0
  798. package/blocks/pricing/pricing-toggle/styles.css +10 -0
  799. package/blocks/pricing/pricing-toggle/template.html +1 -0
  800. package/blocks/process/process-carousel/README.md +33 -0
  801. package/blocks/process/process-carousel/styles.css +5 -0
  802. package/blocks/process/process-carousel/template.html +1 -0
  803. package/blocks/process/process-split/README.md +35 -0
  804. package/blocks/process/process-split/styles.css +6 -0
  805. package/blocks/process/process-split/template.html +1 -0
  806. package/blocks/process/process-stepper/README.md +40 -0
  807. package/blocks/process/process-stepper/styles.css +11 -0
  808. package/blocks/process/process-stepper/template.html +1 -0
  809. package/blocks/process/process-steps/README.md +35 -0
  810. package/blocks/process/process-steps/styles.css +6 -0
  811. package/blocks/process/process-steps/template.html +1 -0
  812. package/blocks/process/process-sticky/README.md +38 -0
  813. package/blocks/process/process-sticky/styles.css +12 -0
  814. package/blocks/process/process-sticky/template.html +1 -0
  815. package/blocks/process/process-timeline/README.md +35 -0
  816. package/blocks/process/process-timeline/styles.css +10 -0
  817. package/blocks/process/process-timeline/template.html +1 -0
  818. package/blocks/services/services-cards/README.md +34 -0
  819. package/blocks/services/services-cards/styles.css +3 -0
  820. package/blocks/services/services-cards/template.html +1 -0
  821. package/blocks/services/services-carousel/README.md +34 -0
  822. package/blocks/services/services-carousel/styles.css +6 -0
  823. package/blocks/services/services-carousel/template.html +1 -0
  824. package/blocks/services/services-list/README.md +32 -0
  825. package/blocks/services/services-list/block.meta.json +85 -0
  826. package/blocks/services/services-list/styles.css +10 -0
  827. package/blocks/services/services-list/template.html +1 -0
  828. package/blocks/services/services-menu/README.md +39 -0
  829. package/blocks/services/services-menu/styles.css +6 -0
  830. package/blocks/services/services-menu/template.html +1 -0
  831. package/blocks/services/services-packages/README.md +34 -0
  832. package/blocks/services/services-packages/styles.css +6 -0
  833. package/blocks/services/services-packages/template.html +1 -0
  834. package/blocks/services/services-panels/README.md +36 -0
  835. package/blocks/services/services-panels/styles.css +15 -0
  836. package/blocks/services/services-panels/template.html +1 -0
  837. package/blocks/services/services-photo-grid/README.md +39 -0
  838. package/blocks/services/services-photo-grid/styles.css +10 -0
  839. package/blocks/services/services-photo-grid/template.html +1 -0
  840. package/blocks/services/services-priority/README.md +33 -0
  841. package/blocks/services/services-priority/block.meta.json +86 -0
  842. package/blocks/services/services-priority/styles.css +16 -0
  843. package/blocks/services/services-priority/template.html +1 -0
  844. package/blocks/stats/stats-cards/README.md +31 -0
  845. package/blocks/stats/stats-cards/styles.css +4 -0
  846. package/blocks/stats/stats-cards/template.html +1 -0
  847. package/blocks/stats/stats-mosaic/README.md +27 -0
  848. package/blocks/stats/stats-mosaic/styles.css +9 -0
  849. package/blocks/stats/stats-mosaic/template.html +1 -0
  850. package/blocks/stats/stats-row/README.md +29 -0
  851. package/blocks/stats/stats-row/styles.css +8 -0
  852. package/blocks/stats/stats-row/template.html +1 -0
  853. package/blocks/stats/stats-split/README.md +35 -0
  854. package/blocks/stats/stats-split/styles.css +3 -0
  855. package/blocks/stats/stats-split/template.html +1 -0
  856. package/blocks/team/team-featured/README.md +42 -0
  857. package/blocks/team/team-featured/styles.css +9 -0
  858. package/blocks/team/team-featured/template.html +1 -0
  859. package/blocks/team/team-grid/README.md +35 -0
  860. package/blocks/team/team-grid/styles.css +8 -0
  861. package/blocks/team/team-grid/template.html +1 -0
  862. package/blocks/team/team-list/README.md +32 -0
  863. package/blocks/team/team-list/styles.css +7 -0
  864. package/blocks/team/team-list/template.html +1 -0
  865. package/blocks/testimonial/testimonial-carousel/README.md +32 -0
  866. package/blocks/testimonial/testimonial-carousel/styles.css +7 -0
  867. package/blocks/testimonial/testimonial-carousel/template.html +1 -0
  868. package/blocks/testimonial/testimonial-grid/README.md +32 -0
  869. package/blocks/testimonial/testimonial-grid/styles.css +5 -0
  870. package/blocks/testimonial/testimonial-grid/template.html +1 -0
  871. package/blocks/testimonial/testimonial-mosaic/README.md +38 -0
  872. package/blocks/testimonial/testimonial-mosaic/styles.css +14 -0
  873. package/blocks/testimonial/testimonial-mosaic/template.html +1 -0
  874. package/blocks/testimonial/testimonial-platform/README.md +34 -0
  875. package/blocks/testimonial/testimonial-platform/styles.css +17 -0
  876. package/blocks/testimonial/testimonial-platform/template.html +1 -0
  877. package/blocks/testimonial/testimonial-rating/README.md +28 -0
  878. package/blocks/testimonial/testimonial-rating/styles.css +6 -0
  879. package/blocks/testimonial/testimonial-rating/template.html +1 -0
  880. package/blocks/testimonial/testimonial-spotlight/README.md +31 -0
  881. package/blocks/testimonial/testimonial-spotlight/styles.css +9 -0
  882. package/blocks/testimonial/testimonial-spotlight/template.html +1 -0
  883. package/blocks/testimonial/testimonial-switcher/README.md +39 -0
  884. package/blocks/testimonial/testimonial-switcher/styles.css +23 -0
  885. package/blocks/testimonial/testimonial-switcher/template.html +1 -0
  886. package/blocks/testimonial/testimonial-wall/README.md +34 -0
  887. package/blocks/testimonial/testimonial-wall/styles.css +7 -0
  888. package/blocks/testimonial/testimonial-wall/template.html +1 -0
  889. package/blocks/trust-strip/trust-badges/README.md +30 -0
  890. package/blocks/trust-strip/trust-badges/styles.css +5 -0
  891. package/blocks/trust-strip/trust-badges/template.html +1 -0
  892. package/blocks/trust-strip/trust-certs/README.md +31 -0
  893. package/blocks/trust-strip/trust-certs/styles.css +12 -0
  894. package/blocks/trust-strip/trust-certs/template.html +1 -0
  895. package/blocks/trust-strip/trust-logos/README.md +32 -0
  896. package/blocks/trust-strip/trust-logos/styles.css +5 -0
  897. package/blocks/trust-strip/trust-logos/template.html +1 -0
  898. package/blocks/trust-strip/trust-quote/README.md +29 -0
  899. package/blocks/trust-strip/trust-quote/styles.css +5 -0
  900. package/blocks/trust-strip/trust-quote/template.html +1 -0
  901. package/blocks/trust-strip/trust-reviews/README.md +35 -0
  902. package/blocks/trust-strip/trust-reviews/styles.css +9 -0
  903. package/blocks/trust-strip/trust-reviews/template.html +1 -0
  904. package/blocks/work/case-alternating/README.md +34 -0
  905. package/blocks/work/case-alternating/block.meta.json +86 -0
  906. package/blocks/work/case-alternating/styles.css +7 -0
  907. package/blocks/work/case-alternating/template.html +1 -0
  908. package/blocks/work/case-carousel/README.md +26 -0
  909. package/blocks/work/case-carousel/styles.css +7 -0
  910. package/blocks/work/case-carousel/template.html +1 -0
  911. package/blocks/work/case-header/README.md +38 -0
  912. package/blocks/work/case-header/styles.css +18 -0
  913. package/blocks/work/case-header/template.html +1 -0
  914. package/blocks/work/project-evidence/README.md +35 -0
  915. package/blocks/work/project-evidence/block.meta.json +87 -0
  916. package/blocks/work/project-evidence/styles.css +12 -0
  917. package/blocks/work/project-evidence/template.html +1 -0
  918. package/blocks/work/project-grid/README.md +38 -0
  919. package/blocks/work/project-grid/styles.css +9 -0
  920. package/blocks/work/project-grid/template.html +1 -0
  921. package/cloudflare/wrangler.forms-test.jsonc +19 -0
  922. package/cloudflare/wrangler.jsonc +14 -0
  923. package/cloudflare/wrangler.templates.jsonc +6 -0
  924. package/design-system/MASTER.md +76 -0
  925. package/design-system/calibration/v2/accuracy.html +1 -0
  926. package/design-system/calibration/v2/accuracy.png +0 -0
  927. package/design-system/calibration/v2/manifest.json +88 -0
  928. package/design-system/calibration/v2/probe.png +0 -0
  929. package/design-system/calibration/v2/vitris-northline-counsel-home-1280-viewport.png +0 -0
  930. package/design-system/calibration/v2/vitris-northline-counsel-home-375-viewport.png +0 -0
  931. package/design-system/calibration/v2/vitris-northline-counsel-planning-1280-viewport.png +0 -0
  932. package/design-system/calibration/v2/vitris-northline-counsel-planning-375-viewport.png +0 -0
  933. package/design-system/calibration/v2/vitris-tide-and-slate-home-1280-viewport.png +0 -0
  934. package/design-system/calibration/v2/vitris-tide-and-slate-home-375-viewport.png +0 -0
  935. package/design-system/calibration/v2/vitris-tide-and-slate-project-1280-viewport.png +0 -0
  936. package/design-system/calibration/v2/vitris-tide-and-slate-project-375-viewport.png +0 -0
  937. package/design-system/compositions/v1/README.md +13 -0
  938. package/design-system/compositions/v1/northline-counsel/components/contact-phone-first/styles.css +11 -0
  939. package/design-system/compositions/v1/northline-counsel/components/contact-phone-first/template.html +1 -0
  940. package/design-system/compositions/v1/northline-counsel/components/contact-visit/styles.css +13 -0
  941. package/design-system/compositions/v1/northline-counsel/components/contact-visit/template.html +1 -0
  942. package/design-system/compositions/v1/northline-counsel/components/footer-compact/styles.css +12 -0
  943. package/design-system/compositions/v1/northline-counsel/components/footer-compact/template.html +1 -0
  944. package/design-system/compositions/v1/northline-counsel/components/hero-evidence/styles.css +13 -0
  945. package/design-system/compositions/v1/northline-counsel/components/hero-evidence/template.html +1 -0
  946. package/design-system/compositions/v1/northline-counsel/components/hero-page/styles.css +19 -0
  947. package/design-system/compositions/v1/northline-counsel/components/hero-page/template.html +1 -0
  948. package/design-system/compositions/v1/northline-counsel/components/nav-split/styles.css +11 -0
  949. package/design-system/compositions/v1/northline-counsel/components/nav-split/template.html +11 -0
  950. package/design-system/compositions/v1/northline-counsel/components/services-priority/styles.css +16 -0
  951. package/design-system/compositions/v1/northline-counsel/components/services-priority/template.html +1 -0
  952. package/design-system/compositions/v1/northline-counsel/components/specification-ledger/styles.css +10 -0
  953. package/design-system/compositions/v1/northline-counsel/components/specification-ledger/template.html +1 -0
  954. package/design-system/compositions/v1/northline-counsel/direction.md +5 -0
  955. package/design-system/compositions/v1/northline-counsel/fixture-brief.json +10 -0
  956. package/design-system/compositions/v1/northline-counsel/media-inventory.json +1 -0
  957. package/design-system/compositions/v1/northline-counsel/pages/index.html +11 -0
  958. package/design-system/compositions/v1/northline-counsel/pages/planning.html +11 -0
  959. package/design-system/compositions/v1/northline-counsel/selection-receipt.json +36 -0
  960. package/design-system/compositions/v1/northline-counsel/site.json +1 -0
  961. package/design-system/compositions/v1/northline-counsel/storyboard.md +12 -0
  962. package/design-system/compositions/v1/northline-counsel/theme/defaults.json +1 -0
  963. package/design-system/compositions/v1/source-ledger.json +18 -0
  964. package/design-system/compositions/v1/tide-and-slate/components/contact-phone-first/styles.css +11 -0
  965. package/design-system/compositions/v1/tide-and-slate/components/contact-phone-first/template.html +1 -0
  966. package/design-system/compositions/v1/tide-and-slate/components/footer-compact/styles.css +12 -0
  967. package/design-system/compositions/v1/tide-and-slate/components/footer-compact/template.html +1 -0
  968. package/design-system/compositions/v1/tide-and-slate/components/hero-page/styles.css +19 -0
  969. package/design-system/compositions/v1/tide-and-slate/components/hero-page/template.html +1 -0
  970. package/design-system/compositions/v1/tide-and-slate/components/hero-split/styles.css +7 -0
  971. package/design-system/compositions/v1/tide-and-slate/components/hero-split/template.html +11 -0
  972. package/design-system/compositions/v1/tide-and-slate/components/nav-split/styles.css +11 -0
  973. package/design-system/compositions/v1/tide-and-slate/components/nav-split/template.html +11 -0
  974. package/design-system/compositions/v1/tide-and-slate/components/project-evidence/styles.css +12 -0
  975. package/design-system/compositions/v1/tide-and-slate/components/project-evidence/template.html +1 -0
  976. package/design-system/compositions/v1/tide-and-slate/components/services-priority/styles.css +16 -0
  977. package/design-system/compositions/v1/tide-and-slate/components/services-priority/template.html +1 -0
  978. package/design-system/compositions/v1/tide-and-slate/components/specification-ledger/styles.css +10 -0
  979. package/design-system/compositions/v1/tide-and-slate/components/specification-ledger/template.html +1 -0
  980. package/design-system/compositions/v1/tide-and-slate/direction.md +5 -0
  981. package/design-system/compositions/v1/tide-and-slate/fixture-brief.json +10 -0
  982. package/design-system/compositions/v1/tide-and-slate/media/teaching/slate-roof-finished.webp +0 -0
  983. package/design-system/compositions/v1/tide-and-slate/media/teaching/slate-roof-finished.webp.provenance.json +9 -0
  984. package/design-system/compositions/v1/tide-and-slate/media/teaching/slate-roof-work.webp +0 -0
  985. package/design-system/compositions/v1/tide-and-slate/media/teaching/slate-roof-work.webp.provenance.json +9 -0
  986. package/design-system/compositions/v1/tide-and-slate/media-inventory.json +7 -0
  987. package/design-system/compositions/v1/tide-and-slate/pages/index.html +10 -0
  988. package/design-system/compositions/v1/tide-and-slate/pages/project.html +10 -0
  989. package/design-system/compositions/v1/tide-and-slate/site.json +1 -0
  990. package/design-system/compositions/v1/tide-and-slate/storyboard.md +12 -0
  991. package/design-system/compositions/v1/tide-and-slate/theme/defaults.json +1 -0
  992. package/design-system/compositions/v2/catalog.json +4018 -0
  993. package/design-system/compositions/v2/clearwell-directory/components/study-clearwell-directory/styles.css +3 -0
  994. package/design-system/compositions/v2/clearwell-directory/components/study-clearwell-directory/template.html +1 -0
  995. package/design-system/compositions/v2/clearwell-directory/pages/detail/index.html +5 -0
  996. package/design-system/compositions/v2/clearwell-directory/pages/index.html +5 -0
  997. package/design-system/compositions/v2/clearwell-directory/site.json +7 -0
  998. package/design-system/compositions/v2/clearwell-directory/study.json +244 -0
  999. package/design-system/compositions/v2/clearwell-directory/theme/defaults.json +16 -0
  1000. package/design-system/compositions/v2/clearwell-letter/components/study-clearwell-letter/styles.css +2 -0
  1001. package/design-system/compositions/v2/clearwell-letter/components/study-clearwell-letter/template.html +1 -0
  1002. package/design-system/compositions/v2/clearwell-letter/pages/detail/index.html +5 -0
  1003. package/design-system/compositions/v2/clearwell-letter/pages/index.html +5 -0
  1004. package/design-system/compositions/v2/clearwell-letter/site.json +7 -0
  1005. package/design-system/compositions/v2/clearwell-letter/study.json +236 -0
  1006. package/design-system/compositions/v2/clearwell-letter/theme/defaults.json +16 -0
  1007. package/design-system/compositions/v2/dock-radio/components/study-dock-radio/styles.css +2 -0
  1008. package/design-system/compositions/v2/dock-radio/components/study-dock-radio/template.html +1 -0
  1009. package/design-system/compositions/v2/dock-radio/media/teaching/original-tone-study.wav +0 -0
  1010. package/design-system/compositions/v2/dock-radio/media/teaching/original-tone-study.wav.provenance.json +6 -0
  1011. package/design-system/compositions/v2/dock-radio/pages/detail/index.html +5 -0
  1012. package/design-system/compositions/v2/dock-radio/pages/index.html +5 -0
  1013. package/design-system/compositions/v2/dock-radio/site.json +7 -0
  1014. package/design-system/compositions/v2/dock-radio/study.json +288 -0
  1015. package/design-system/compositions/v2/dock-radio/theme/defaults.json +16 -0
  1016. package/design-system/compositions/v2/fen-repair/components/study-fen-repair/styles.css +2 -0
  1017. package/design-system/compositions/v2/fen-repair/components/study-fen-repair/template.html +1 -0
  1018. package/design-system/compositions/v2/fen-repair/media/teaching/slate-roof-finished.webp +0 -0
  1019. package/design-system/compositions/v2/fen-repair/media/teaching/slate-roof-finished.webp.provenance.json +9 -0
  1020. package/design-system/compositions/v2/fen-repair/media/teaching/slate-roof-work.webp +0 -0
  1021. package/design-system/compositions/v2/fen-repair/media/teaching/slate-roof-work.webp.provenance.json +9 -0
  1022. package/design-system/compositions/v2/fen-repair/pages/detail/index.html +5 -0
  1023. package/design-system/compositions/v2/fen-repair/pages/index.html +5 -0
  1024. package/design-system/compositions/v2/fen-repair/site.json +7 -0
  1025. package/design-system/compositions/v2/fen-repair/study.json +236 -0
  1026. package/design-system/compositions/v2/fen-repair/theme/defaults.json +16 -0
  1027. package/design-system/compositions/v2/hearth-plane/components/study-hearth-plane/styles.css +2 -0
  1028. package/design-system/compositions/v2/hearth-plane/components/study-hearth-plane/template.html +1 -0
  1029. package/design-system/compositions/v2/hearth-plane/pages/detail/index.html +5 -0
  1030. package/design-system/compositions/v2/hearth-plane/pages/index.html +5 -0
  1031. package/design-system/compositions/v2/hearth-plane/site.json +7 -0
  1032. package/design-system/compositions/v2/hearth-plane/study.json +238 -0
  1033. package/design-system/compositions/v2/hearth-plane/theme/defaults.json +16 -0
  1034. package/design-system/compositions/v2/lacuna-objects/components/study-lacuna-objects/styles.css +2 -0
  1035. package/design-system/compositions/v2/lacuna-objects/components/study-lacuna-objects/template.html +1 -0
  1036. package/design-system/compositions/v2/lacuna-objects/pages/detail/index.html +5 -0
  1037. package/design-system/compositions/v2/lacuna-objects/pages/index.html +5 -0
  1038. package/design-system/compositions/v2/lacuna-objects/site.json +7 -0
  1039. package/design-system/compositions/v2/lacuna-objects/study.json +242 -0
  1040. package/design-system/compositions/v2/lacuna-objects/theme/defaults.json +16 -0
  1041. package/design-system/compositions/v2/loop-room/components/study-loop-room/styles.css +2 -0
  1042. package/design-system/compositions/v2/loop-room/components/study-loop-room/template.html +1 -0
  1043. package/design-system/compositions/v2/loop-room/pages/detail/index.html +5 -0
  1044. package/design-system/compositions/v2/loop-room/pages/index.html +5 -0
  1045. package/design-system/compositions/v2/loop-room/site.json +7 -0
  1046. package/design-system/compositions/v2/loop-room/study.json +253 -0
  1047. package/design-system/compositions/v2/loop-room/theme/defaults.json +16 -0
  1048. package/design-system/compositions/v2/manifest.json +740 -0
  1049. package/design-system/compositions/v2/mara-reading-room/components/study-mara-reading-room/styles.css +2 -0
  1050. package/design-system/compositions/v2/mara-reading-room/components/study-mara-reading-room/template.html +1 -0
  1051. package/design-system/compositions/v2/mara-reading-room/pages/detail/index.html +5 -0
  1052. package/design-system/compositions/v2/mara-reading-room/pages/index.html +5 -0
  1053. package/design-system/compositions/v2/mara-reading-room/site.json +7 -0
  1054. package/design-system/compositions/v2/mara-reading-room/study.json +246 -0
  1055. package/design-system/compositions/v2/mara-reading-room/theme/defaults.json +16 -0
  1056. package/design-system/compositions/v2/mara-specimen/components/study-mara-specimen/styles.css +3 -0
  1057. package/design-system/compositions/v2/mara-specimen/components/study-mara-specimen/template.html +1 -0
  1058. package/design-system/compositions/v2/mara-specimen/pages/detail/index.html +5 -0
  1059. package/design-system/compositions/v2/mara-specimen/pages/index.html +5 -0
  1060. package/design-system/compositions/v2/mara-specimen/site.json +7 -0
  1061. package/design-system/compositions/v2/mara-specimen/study.json +244 -0
  1062. package/design-system/compositions/v2/mara-specimen/theme/defaults.json +16 -0
  1063. package/design-system/compositions/v2/margin-journal/components/study-margin-journal/styles.css +2 -0
  1064. package/design-system/compositions/v2/margin-journal/components/study-margin-journal/template.html +1 -0
  1065. package/design-system/compositions/v2/margin-journal/pages/detail/index.html +5 -0
  1066. package/design-system/compositions/v2/margin-journal/pages/index.html +5 -0
  1067. package/design-system/compositions/v2/margin-journal/site.json +7 -0
  1068. package/design-system/compositions/v2/margin-journal/study.json +242 -0
  1069. package/design-system/compositions/v2/margin-journal/theme/defaults.json +16 -0
  1070. package/design-system/compositions/v2/night-orchard/components/study-night-orchard/styles.css +2 -0
  1071. package/design-system/compositions/v2/night-orchard/components/study-night-orchard/template.html +1 -0
  1072. package/design-system/compositions/v2/night-orchard/pages/detail/index.html +5 -0
  1073. package/design-system/compositions/v2/night-orchard/pages/index.html +5 -0
  1074. package/design-system/compositions/v2/night-orchard/site.json +7 -0
  1075. package/design-system/compositions/v2/night-orchard/study.json +247 -0
  1076. package/design-system/compositions/v2/night-orchard/theme/defaults.json +16 -0
  1077. package/design-system/compositions/v2/previews/clearwell-directory-home-1440.png +0 -0
  1078. package/design-system/compositions/v2/previews/clearwell-directory-home-390.png +0 -0
  1079. package/design-system/compositions/v2/previews/clearwell-directory-interior-1440.png +0 -0
  1080. package/design-system/compositions/v2/previews/clearwell-directory-interior-390.png +0 -0
  1081. package/design-system/compositions/v2/previews/clearwell-letter-home-1440.png +0 -0
  1082. package/design-system/compositions/v2/previews/clearwell-letter-home-390.png +0 -0
  1083. package/design-system/compositions/v2/previews/clearwell-letter-interior-1440.png +0 -0
  1084. package/design-system/compositions/v2/previews/clearwell-letter-interior-390.png +0 -0
  1085. package/design-system/compositions/v2/previews/dock-radio-home-1440.png +0 -0
  1086. package/design-system/compositions/v2/previews/dock-radio-home-390.png +0 -0
  1087. package/design-system/compositions/v2/previews/dock-radio-interior-1440.png +0 -0
  1088. package/design-system/compositions/v2/previews/dock-radio-interior-390.png +0 -0
  1089. package/design-system/compositions/v2/previews/fen-repair-home-1440.png +0 -0
  1090. package/design-system/compositions/v2/previews/fen-repair-home-390.png +0 -0
  1091. package/design-system/compositions/v2/previews/fen-repair-interior-1440.png +0 -0
  1092. package/design-system/compositions/v2/previews/fen-repair-interior-390.png +0 -0
  1093. package/design-system/compositions/v2/previews/hearth-plane-home-1440.png +0 -0
  1094. package/design-system/compositions/v2/previews/hearth-plane-home-390.png +0 -0
  1095. package/design-system/compositions/v2/previews/hearth-plane-interior-1440.png +0 -0
  1096. package/design-system/compositions/v2/previews/hearth-plane-interior-390.png +0 -0
  1097. package/design-system/compositions/v2/previews/lacuna-objects-home-1440.png +0 -0
  1098. package/design-system/compositions/v2/previews/lacuna-objects-home-390.png +0 -0
  1099. package/design-system/compositions/v2/previews/lacuna-objects-interior-1440.png +0 -0
  1100. package/design-system/compositions/v2/previews/lacuna-objects-interior-390.png +0 -0
  1101. package/design-system/compositions/v2/previews/loop-room-home-1440.png +0 -0
  1102. package/design-system/compositions/v2/previews/loop-room-home-390.png +0 -0
  1103. package/design-system/compositions/v2/previews/loop-room-interior-1440.png +0 -0
  1104. package/design-system/compositions/v2/previews/loop-room-interior-390.png +0 -0
  1105. package/design-system/compositions/v2/previews/mara-reading-room-home-1440.png +0 -0
  1106. package/design-system/compositions/v2/previews/mara-reading-room-home-390.png +0 -0
  1107. package/design-system/compositions/v2/previews/mara-reading-room-interior-1440.png +0 -0
  1108. package/design-system/compositions/v2/previews/mara-reading-room-interior-390.png +0 -0
  1109. package/design-system/compositions/v2/previews/mara-specimen-home-1440.png +0 -0
  1110. package/design-system/compositions/v2/previews/mara-specimen-home-390.png +0 -0
  1111. package/design-system/compositions/v2/previews/mara-specimen-interior-1440.png +0 -0
  1112. package/design-system/compositions/v2/previews/mara-specimen-interior-390.png +0 -0
  1113. package/design-system/compositions/v2/previews/margin-journal-home-1440.png +0 -0
  1114. package/design-system/compositions/v2/previews/margin-journal-home-390.png +0 -0
  1115. package/design-system/compositions/v2/previews/margin-journal-interior-1440.png +0 -0
  1116. package/design-system/compositions/v2/previews/margin-journal-interior-390.png +0 -0
  1117. package/design-system/compositions/v2/previews/night-orchard-home-1440.png +0 -0
  1118. package/design-system/compositions/v2/previews/night-orchard-home-390.png +0 -0
  1119. package/design-system/compositions/v2/previews/night-orchard-interior-1440.png +0 -0
  1120. package/design-system/compositions/v2/previews/night-orchard-interior-390.png +0 -0
  1121. package/design-system/compositions/v2/previews/relay-workflow-home-1440.png +0 -0
  1122. package/design-system/compositions/v2/previews/relay-workflow-home-390.png +0 -0
  1123. package/design-system/compositions/v2/previews/relay-workflow-interior-1440.png +0 -0
  1124. package/design-system/compositions/v2/previews/relay-workflow-interior-390.png +0 -0
  1125. package/design-system/compositions/v2/previews/rivet-components-home-1440.png +0 -0
  1126. package/design-system/compositions/v2/previews/rivet-components-home-390.png +0 -0
  1127. package/design-system/compositions/v2/previews/rivet-components-interior-1440.png +0 -0
  1128. package/design-system/compositions/v2/previews/rivet-components-interior-390.png +0 -0
  1129. package/design-system/compositions/v2/previews/signal-fair-home-1440.png +0 -0
  1130. package/design-system/compositions/v2/previews/signal-fair-home-390.png +0 -0
  1131. package/design-system/compositions/v2/previews/signal-fair-interior-1440.png +0 -0
  1132. package/design-system/compositions/v2/previews/signal-fair-interior-390.png +0 -0
  1133. package/design-system/compositions/v2/previews/sundial-goods-home-1440.png +0 -0
  1134. package/design-system/compositions/v2/previews/sundial-goods-home-390.png +0 -0
  1135. package/design-system/compositions/v2/previews/sundial-goods-interior-1440.png +0 -0
  1136. package/design-system/compositions/v2/previews/sundial-goods-interior-390.png +0 -0
  1137. package/design-system/compositions/v2/previews/thread-mender-home-1440.png +0 -0
  1138. package/design-system/compositions/v2/previews/thread-mender-home-390.png +0 -0
  1139. package/design-system/compositions/v2/previews/thread-mender-interior-1440.png +0 -0
  1140. package/design-system/compositions/v2/previews/thread-mender-interior-390.png +0 -0
  1141. package/design-system/compositions/v2/relay-workflow/components/study-relay-workflow/styles.css +2 -0
  1142. package/design-system/compositions/v2/relay-workflow/components/study-relay-workflow/template.html +1 -0
  1143. package/design-system/compositions/v2/relay-workflow/pages/detail/index.html +5 -0
  1144. package/design-system/compositions/v2/relay-workflow/pages/index.html +5 -0
  1145. package/design-system/compositions/v2/relay-workflow/site.json +7 -0
  1146. package/design-system/compositions/v2/relay-workflow/study.json +283 -0
  1147. package/design-system/compositions/v2/relay-workflow/theme/defaults.json +16 -0
  1148. package/design-system/compositions/v2/rivet-components/components/study-rivet-components/styles.css +2 -0
  1149. package/design-system/compositions/v2/rivet-components/components/study-rivet-components/template.html +1 -0
  1150. package/design-system/compositions/v2/rivet-components/pages/detail/index.html +5 -0
  1151. package/design-system/compositions/v2/rivet-components/pages/index.html +5 -0
  1152. package/design-system/compositions/v2/rivet-components/site.json +7 -0
  1153. package/design-system/compositions/v2/rivet-components/study.json +241 -0
  1154. package/design-system/compositions/v2/rivet-components/theme/defaults.json +16 -0
  1155. package/design-system/compositions/v2/signal-fair/components/study-signal-fair/styles.css +2 -0
  1156. package/design-system/compositions/v2/signal-fair/components/study-signal-fair/template.html +1 -0
  1157. package/design-system/compositions/v2/signal-fair/pages/detail/index.html +5 -0
  1158. package/design-system/compositions/v2/signal-fair/pages/index.html +5 -0
  1159. package/design-system/compositions/v2/signal-fair/site.json +7 -0
  1160. package/design-system/compositions/v2/signal-fair/study.json +271 -0
  1161. package/design-system/compositions/v2/signal-fair/theme/defaults.json +16 -0
  1162. package/design-system/compositions/v2/sundial-goods/components/study-sundial-goods/styles.css +2 -0
  1163. package/design-system/compositions/v2/sundial-goods/components/study-sundial-goods/template.html +1 -0
  1164. package/design-system/compositions/v2/sundial-goods/pages/detail/index.html +5 -0
  1165. package/design-system/compositions/v2/sundial-goods/pages/index.html +5 -0
  1166. package/design-system/compositions/v2/sundial-goods/site.json +7 -0
  1167. package/design-system/compositions/v2/sundial-goods/study.json +247 -0
  1168. package/design-system/compositions/v2/sundial-goods/theme/defaults.json +16 -0
  1169. package/design-system/compositions/v2/thread-mender/components/study-thread-mender/styles.css +2 -0
  1170. package/design-system/compositions/v2/thread-mender/components/study-thread-mender/template.html +1 -0
  1171. package/design-system/compositions/v2/thread-mender/pages/detail/index.html +5 -0
  1172. package/design-system/compositions/v2/thread-mender/pages/index.html +5 -0
  1173. package/design-system/compositions/v2/thread-mender/site.json +7 -0
  1174. package/design-system/compositions/v2/thread-mender/study.json +253 -0
  1175. package/design-system/compositions/v2/thread-mender/theme/defaults.json +16 -0
  1176. package/design-system/knowledge/v1/README.md +8 -0
  1177. package/design-system/knowledge/v1/catalog.json +479 -0
  1178. package/design-system/knowledge/v1/demonstrations/assets/teaching-slate-slope.png +0 -0
  1179. package/design-system/knowledge/v1/demonstrations/assets/teaching-slate-slope.provenance.json +12 -0
  1180. package/design-system/knowledge/v1/demonstrations/mobile-strong.html +50 -0
  1181. package/design-system/knowledge/v1/demonstrations/mobile-weak.html +50 -0
  1182. package/design-system/knowledge/v1/demonstrations/project-strong.html +50 -0
  1183. package/design-system/knowledge/v1/demonstrations/project-weak.html +50 -0
  1184. package/design-system/knowledge/v1/demonstrations/repeat-strong.html +50 -0
  1185. package/design-system/knowledge/v1/demonstrations/repeat-weak.html +50 -0
  1186. package/design-system/knowledge/v1/demonstrations/services-strong.html +50 -0
  1187. package/design-system/knowledge/v1/demonstrations/services-weak.html +50 -0
  1188. package/design-system/knowledge/v1/demonstrations/sparse-strong.html +50 -0
  1189. package/design-system/knowledge/v1/demonstrations/sparse-weak.html +50 -0
  1190. package/design-system/knowledge/v1/demonstrations/type-strong.html +50 -0
  1191. package/design-system/knowledge/v1/demonstrations/type-weak.html +50 -0
  1192. package/design-system/knowledge/v1/manifest.json +88 -0
  1193. package/design-system/knowledge/v1/observations/mobile-strong-1080.png +0 -0
  1194. package/design-system/knowledge/v1/observations/mobile-strong-375.png +0 -0
  1195. package/design-system/knowledge/v1/observations/mobile-weak-1080.png +0 -0
  1196. package/design-system/knowledge/v1/observations/mobile-weak-375.png +0 -0
  1197. package/design-system/knowledge/v1/observations/project-strong-1080.png +0 -0
  1198. package/design-system/knowledge/v1/observations/project-strong-375.png +0 -0
  1199. package/design-system/knowledge/v1/observations/project-weak-1080.png +0 -0
  1200. package/design-system/knowledge/v1/observations/project-weak-375.png +0 -0
  1201. package/design-system/knowledge/v1/observations/type-strong-1080.png +0 -0
  1202. package/design-system/knowledge/v1/observations/type-strong-375.png +0 -0
  1203. package/design-system/knowledge/v1/observations/type-weak-1080.png +0 -0
  1204. package/design-system/knowledge/v1/observations/type-weak-375.png +0 -0
  1205. package/design-system/knowledge/v2/added-lessons.json +30 -0
  1206. package/design-system/knowledge/v2/assets.json +14 -0
  1207. package/design-system/knowledge/v2/fixtures/contact-alternate.html +17 -0
  1208. package/design-system/knowledge/v2/fixtures/contact-broken.html +15 -0
  1209. package/design-system/knowledge/v2/fixtures/contact-valid.html +20 -0
  1210. package/design-system/knowledge/v2/fixtures/contrast-cases.html +10 -0
  1211. package/design-system/knowledge/v2/island-audit.json +12 -0
  1212. package/design-system/knowledge/v2/lesson-extensions.json +158 -0
  1213. package/design-system/knowledge/v2/manifest.json +52 -0
  1214. package/design-system/knowledge/v2/replacements.json +14 -0
  1215. package/design-system/knowledge/v2/requirements.json +345 -0
  1216. package/design-system/knowledge/v2/sources.json +182 -0
  1217. package/design-system/knowledge/v3/catalog.json +1232 -0
  1218. package/design-system/knowledge/v3/examples/catalog.json +799 -0
  1219. package/design-system/knowledge/v3/lessons/cmp-collection-structure.md +17 -0
  1220. package/design-system/knowledge/v3/lessons/cmp-comparison.md +17 -0
  1221. package/design-system/knowledge/v3/lessons/cmp-contextual-action.md +17 -0
  1222. package/design-system/knowledge/v3/lessons/cmp-contrastive-critique.md +17 -0
  1223. package/design-system/knowledge/v3/lessons/cmp-disclosure.md +17 -0
  1224. package/design-system/knowledge/v3/lessons/cmp-evidence-form.md +17 -0
  1225. package/design-system/knowledge/v3/lessons/cmp-image-art-direction.md +17 -0
  1226. package/design-system/knowledge/v3/lessons/cmp-image-sequence.md +17 -0
  1227. package/design-system/knowledge/v3/lessons/cmp-interactive-explanation.md +17 -0
  1228. package/design-system/knowledge/v3/lessons/cmp-local-information.md +17 -0
  1229. package/design-system/knowledge/v3/lessons/cmp-motion-continuity.md +17 -0
  1230. package/design-system/knowledge/v3/lessons/cmp-narrative-continuity.md +17 -0
  1231. package/design-system/knowledge/v3/lessons/cmp-navigation.md +17 -0
  1232. package/design-system/knowledge/v3/lessons/cmp-page-rhythm.md +17 -0
  1233. package/design-system/knowledge/v3/lessons/cmp-process.md +17 -0
  1234. package/design-system/knowledge/v3/lessons/cmp-proof-adjacency.md +17 -0
  1235. package/design-system/knowledge/v3/lessons/cmp-responsive-recomposition.md +17 -0
  1236. package/design-system/knowledge/v3/lessons/cmp-semantic-grouping.md +17 -0
  1237. package/design-system/knowledge/v3/lessons/cmp-shared-alignment.md +17 -0
  1238. package/design-system/knowledge/v3/lessons/cmp-sparse-media.md +17 -0
  1239. package/design-system/knowledge/v3/lessons/cmp-surfaces-motifs.md +17 -0
  1240. package/design-system/knowledge/v3/lessons/cmp-text-shape.md +17 -0
  1241. package/design-system/knowledge/v3/lessons/cmp-type-roles.md +17 -0
  1242. package/design-system/knowledge/v3/lessons/cmp-unequal-emphasis.md +17 -0
  1243. package/design-system/knowledge/v3/manifest.json +117 -0
  1244. package/design-system/knowledge/v3/sources.json +425 -0
  1245. package/design-system/references/v1/README.md +27 -0
  1246. package/design-system/references/v1/catalog.json +20035 -0
  1247. package/design-system/references/v1/manifest.json +10 -0
  1248. package/design-system/references/v2/README.md +27 -0
  1249. package/design-system/references/v2/catalog.json +27382 -0
  1250. package/design-system/references/v2/manifest.json +11 -0
  1251. package/design-system/references/v3/README.md +27 -0
  1252. package/design-system/references/v3/catalog.json +27628 -0
  1253. package/design-system/references/v3/manifest.json +11 -0
  1254. package/docs/CLI.md +299 -0
  1255. package/docs/CLOUDFLARE.md +53 -0
  1256. package/docs/CONTACT-FORMS.md +161 -0
  1257. package/docs/DISTRIBUTION.md +70 -0
  1258. package/docs/ENGINE.md +28 -0
  1259. package/docs/PRESERVE.md +59 -0
  1260. package/docs/SECURITY.md +23 -0
  1261. package/docs/STOCK-MEDIA.md +66 -0
  1262. package/licenses/blake3-wasm-LICENSE +21 -0
  1263. package/licenses/entities-LICENSE +11 -0
  1264. package/licenses/parse5-LICENSE +19 -0
  1265. package/migrations/0001_init.sql +90 -0
  1266. package/migrations/0002_analytics.sql +50 -0
  1267. package/migrations/0003_site_updates.sql +29 -0
  1268. package/migrations/0004_contact_forms.sql +75 -0
  1269. package/migrations/0005_auth.sql +20 -0
  1270. package/package.json +229 -6
  1271. package/src/runtime/beacon.ts +329 -0
  1272. package/src/runtime/before-after.ts +48 -0
  1273. package/src/runtime/carousel.ts +20 -0
  1274. package/src/runtime/cookie-compliance.ts +50 -0
  1275. package/src/runtime/counter.ts +2 -0
  1276. package/src/runtime/editor.ts +72 -0
  1277. package/src/runtime/experience.ts +57 -0
  1278. package/src/runtime/header.ts +46 -0
  1279. package/src/runtime/leads.ts +102 -0
  1280. package/src/runtime/lightbox.ts +26 -0
  1281. package/src/runtime/reveal.ts +2 -0
  1282. package/src/runtime/scroll-motion.controller.js +100 -0
  1283. package/src/runtime/scroll-motion.count.js +21 -0
  1284. package/src/runtime/scroll-motion.generated.ts +5 -0
  1285. package/src/runtime/scroll-motion.vanilla.js +45 -0
  1286. package/src/runtime/tabs.ts +40 -0
  1287. package/src/stock/catalog.json +5445 -0
  1288. package/src/stock/coverage.json +18 -0
  1289. package/src/stock/picker.css +118 -0
  1290. package/src/stock/picker.js +191 -0
  1291. package/templates/site/.env.example +6 -0
  1292. package/templates/site/.github/workflows/deploy.yml +59 -0
  1293. package/templates/site/AGENTS.md +35 -0
  1294. package/templates/site/CLAUDE.md +5 -0
  1295. package/templates/site/GEMINI.md +5 -0
  1296. package/templates/site/README.md +55 -0
  1297. package/templates/site/components/README.md +18 -0
  1298. package/templates/site/gitignore +10 -0
  1299. package/templates/site/launch.json +14 -0
  1300. package/templates/site/package.json +36 -0
  1301. package/templates/site/pages/README.md +31 -0
  1302. package/templates/site/site.json +10 -0
  1303. package/templates/site/theme/defaults.json +17 -0
@@ -0,0 +1,64 @@
1
+ # Find five industry website references
2
+
3
+ Deliver a current, evidence-backed shortlist of five different businesses with strong website design for the requested industry. The purpose is to help the operator choose references for the template library. Default to worldwide discovery, English-language sites preferred, and diversity in design approach. Honor user-supplied region, niche, or style filters. A website's design does not establish the quality of its business's services.
4
+
5
+ ## Research and selection
6
+
7
+ - Search the live web using several complementary queries: industry and niche terms, geographic variants, and design/agency showcases. Broaden beyond the first search results. Consider roughly 10-15 plausible candidates when available, then select the strongest complementary five. This is an effort guide, not a quota that establishes quality.
8
+ - Use showcases and award directories to discover candidates, then visit the actual business sites. The final five link directly to working business websites, not search results, screenshots, directories, agency portfolios, or unbuilt template demos. Prefer industry specialists; explain why any mixed-industry business is relevant.
9
+ - Confirm that each selected URL resolves to the intended live business. Use the current canonical URL after redirects. Deduplicate by business and substantially identical design, including related franchise sites or domain aliases. Do not claim different colors on the same layout as five distinct approaches.
10
+ - Inspect the complete home page, at least one useful interior page, and the main conversion/navigation path for each selected site using an available browser capability. Check desktop and mobile, exercise menus and one defining interaction where present, and observe motion if it contributes to the selection. Follow applicable browser tool instructions. A static page or search snippet cannot verify an animation or mobile drawer.
11
+ - Judge visual hierarchy, typography, composition, photography/media, coherent identity, industry suitability, ease of navigation/conversion, responsive execution, and relevant interactions. Choose approaches that differ in composition and visitor journey, such as service-first utility, editorial craft, premium residential, project-led expertise, or friendly local identity. Use labels supported by the actual sites, not a fixed mandatory set.
12
+ - Record the inspected source URLs and observation dates. Separate observed features, inferences about implementation, and unverified behavior. Do not fabricate ratings, awards, traffic, performance measurements, or user preference labels.
13
+ - Replace inaccessible or clearly weak candidates where possible. If fewer than five can be verified after reasonable research, report the concrete limitation and remaining candidates rather than filling the artifact with invented or uninspected recommendations. The renderer intentionally requires five; a partial research report is a separate explicitly incomplete artifact.
14
+
15
+ Keep candidate URLs, selection/rejection notes, and selected-site observations in the run's `shortlist.json`. Do not clone these websites, collect their assets, alter the existing template gallery, or publish a catalog entry. This workflow creates local reference metadata and a research artifact, not a complete template demonstration. Browser screenshots are optional supporting evidence; do not generate fake previews or use screenshots as a substitute for opening the live site.
16
+
17
+ ## Artifact data
18
+
19
+ Create a fresh `artifacts/research/industry-references/<industry>-<timestamp>/` directory. Write `shortlist.json` with this shape, supplying real research values rather than leaving the sample text:
20
+
21
+ ```json
22
+ {
23
+ "industry": "Plumbing",
24
+ "region": "Worldwide; English-language sites preferred",
25
+ "researchedAt": "ISO_TIMESTAMP",
26
+ "criteria": "Visual quality, usability, interactions, and distinct design approaches.",
27
+ "summary": "Describe the selection and the most useful differences among the five.",
28
+ "candidatesReviewed": 12,
29
+ "candidates": [{"name": "Business", "url": "https://business.example/", "decision": "selected or rejection reason"}],
30
+ "sites": [
31
+ {
32
+ "name": "Verified business name",
33
+ "url": "https://business.example/",
34
+ "location": "Verified country or region, or unknown",
35
+ "approach": "Observed design approach",
36
+ "why": "Specific reason it is a strong reference and complements the other selections.",
37
+ "layout": "Observed structure, composition, and imagery.",
38
+ "typography": "Observed type hierarchy and identity; qualify unidentified font names.",
39
+ "interactions": "Actually exercised navigation, hover, or animation, with unverified behavior stated.",
40
+ "mobile": "Observed mobile layout and navigation at the checked viewport.",
41
+ "checkedAt": "ISO_TIMESTAMP",
42
+ "pages": [{"label": "Service page", "url": "https://business.example/service", "note": "What to inspect here."}],
43
+ "evidence": [{"label": "Homepage inspected", "url": "https://business.example/"}],
44
+ "limitations": "Relevant caveats or deliberate gaps; use None observed when appropriate."
45
+ }
46
+ ]
47
+ }
48
+ ```
49
+
50
+ Include exactly five site records, each belonging to a different business. `candidatesReviewed` counts distinct candidates actually investigated, not search result counts. `candidates` is an optional audit trail; keep its count consistent with the claimed research. Lists of source links alone do not substantiate invented observations.
51
+
52
+ Generate the artifact from the repository root:
53
+
54
+ ```text
55
+ node scripts/render-industry-shortlist.mjs --input ABSOLUTE_SHORTLIST_JSON --out ABSOLUTE_INDEX_HTML
56
+ ```
57
+
58
+ The renderer produces a responsive, self-contained HTML file with no remote libraries, embedded websites, or popup scripts. Its ordinary `target="_blank"` links let the user open each reference independently. Each card includes a selectable template-skill command; it does not execute the skill or publish a template.
59
+
60
+ ## Verify and deliver
61
+
62
+ Open the generated HTML in a browser and check five cards, readable desktop/mobile layout, complete observations, working canonical/interior links, and new-tab behavior. Confirm that source/evidence links support the actual claims. Resolve bad links or factual issues before delivery. Do not automatically open all five sites in user-visible tabs as a substitute for link verification.
63
+
64
+ Use `open_in_codex` with the artifact's absolute file path when available, then return a clickable file link and the invocation example. State research scope and any material inspection limitations. The artifact is the primary deliverable; do not make the user reconstruct it from chat messages. Leave template selection and subsequent building to the user.
@@ -0,0 +1,17 @@
1
+ # Read references as design systems
2
+
3
+ The operator's references illustrate thoughtful business-specific design:
4
+
5
+ - https://verdict-nextjs-template.vercel.app/ — restrained authority, editorial hierarchy, and evidence appropriate to professional services.
6
+ - https://apex-nextjs-template.vercel.app/ — tangible work, materials, process, and a clear service inquiry.
7
+ - https://munch-nextjs-template.vercel.app/ — a restaurant identity expressed through typography, color, photography, and menu presentation.
8
+
9
+ These are references to inspect when useful, not industry templates to reproduce. Describe the visible relationship you would borrow and why it serves this business. For example, a large project photograph followed by a compact process explanation can move a visitor from evidence to action. A dark band or rounded card by itself has no such rationale.
10
+
11
+ Look at the whole page and a representative interior. Ask what gets the largest emphasis, where density changes, how photographs are framed, how type creates identity, what repeats, and how a visitor reaches the primary action on mobile. Separate observed reference details from your own proposals.
12
+
13
+ Use those relationships to develop distinct candidate directions with the actual business facts and available media. Avoid assigning an industry a fixed hero, card style, section sequence, blurred header, or footer treatment. A restaurant with little food photography needs a different solution from an image-rich restaurant, even when both share a category.
14
+
15
+ Use the local block index only after the narrative and composition are established. Adapt or create site-owned components when needed. Preserve ordinary accessible control behavior and translate ideas into the harness's HTML/CSS system; reference framework APIs are not part of the design brief.
16
+
17
+ Never import a reference's claims, awards, testimonials, people, prices, or assets as evidence about the client. If a reference cannot be inspected, say so and use the captured business evidence to make the direction decision.
@@ -0,0 +1,3 @@
1
+ # interpret
2
+
3
+ Compatibility entrypoint. Workflow graph uses business.md to interpret the offer and media.md to account for source assets. Load the relevant reference only when needed. Preserve factual accuracy and evidence integrity; keep unsupported assumptions explicit.
@@ -0,0 +1,166 @@
1
+ # Skill: jev
2
+ # Jev Decision Service & Compact Context Operations
3
+
4
+ This reference documents the bounded decision service and compact packet mechanisms powered by TypeSafe's Jev model (`jev-1.13.0`) in `@tryvitris/website-harness`.
5
+
6
+ ## Core Philosophy
7
+
8
+ - **Code Validates & Controls**: Graph transitions, review contracts, browser testing, and exact quote matches remain code-enforced.
9
+ - **Jev Evaluates Bounded Semantics**: Evaluates atomic claim-to-excerpt relations, planned CTA consistency, and engineering change scopes. Jev does not author long-form prose, invent facts, or inspect screenshots.
10
+ - **Critics Retain Full Gate Ownership**: All critic checkpoints, review schemas, and editorial obligations remain 100% intact. Preflights provide supplemental evidence; machine judgments never autonomously pass or fail a review gate.
11
+
12
+ ## Operational Modes & Capability Toggles
13
+
14
+ The Jev system supports global operational modes and fine-grained capability toggles.
15
+
16
+ ### Global Modes
17
+
18
+ | Mode | Behavior | Use Case |
19
+ |---|---|---|
20
+ | `off` (default) | Standard full-packet workflow. No Jev API calls or preflight injection. Zero overhead. | Production default until calibrated rollout gates pass. |
21
+ | `shadow` | Runs bounded evaluations in background; writes immutable decision receipts to `agent/decisions/jev/`. Prompt and transitions remain identical to baseline with zero side-effects. | Comparative benchmarking, telemetry, and offline validation without affecting production output. |
22
+ | `assist` | Attaches machine grounding preflight summaries to critic context when `grounding` is assist. Compact packets are a separate toggle. | Additive critic evidence. No workload reduction unless `workOwnership=delegated` and a harness calibration artifact is eligible. |
23
+
24
+ Configure global mode via:
25
+ - CLI flag: `--jev-mode <off|shadow|assist>`
26
+ - Environment variable: `VITRIS_JEV_MODE=<off|shadow|assist>`
27
+ - Site configuration: `agent/jev.json` (`{ "mode": "off|shadow|assist" }`)
28
+
29
+ ### Granular Capability Toggles
30
+
31
+ Individual capabilities can be independently configured in `agent/jev.json` under `capabilities`:
32
+
33
+ ```json
34
+ {
35
+ "mode": "assist",
36
+ "capabilities": {
37
+ "grounding": "assist",
38
+ "sourceSelection": "assist",
39
+ "retrievalRanking": "assist",
40
+ "consistency": "assist",
41
+ "repairAssistance": "assist",
42
+ "preferenceScoring": "assist"
43
+ }
44
+ }
45
+ ```
46
+
47
+ - `grounding`: Atomic claim-to-excerpt verification and contradiction tracking (production Jev caller on business/narrative/copy review).
48
+ - `sourceSelection`: Local lexical citation **ordering** on critic preflight (does not drop sources). Business-author field selection batches independent questions: Choice + no-match for single-value fields, per-candidate Noul for offers/locations. Transcription drops only after complete coverage.
49
+ - `retrievalRanking`: Assist mode shortlists with cheap lexical retrieval, then Jev Score for optional excerpts. Cited and contradictory evidence are kept regardless of rank. Shadow computes receipts but does not change packets. Off remains lexical MMR.
50
+ - `consistency`: Cross-stage claim lineage helpers. Registry task is experimental; no production Jev caller.
51
+ - `repairAssistance`: Targeted repair packet construction and resolution helpers. Integrated critic replacement is not claimed.
52
+ - `preferenceScoring`: Local rubric matching. Neural direction/media scoring is experimental and unimplemented as a production caller.
53
+
54
+ *Note*: An individual capability's effective mode is always clamped to the global mode ceiling (e.g. if global mode is `shadow`, a capability set to `assist` runs in `shadow`).
55
+
56
+ ## Provenance Tracking & Canonical Question Semantics Hashing
57
+
58
+ To ensure reproducible judgments, auditability, and tamper-resistance:
59
+ - **Canonical Serialization**: Questions and states are canonically serialized and hashed with SHA-256 (`questionSemanticsHash`).
60
+ - **Decoupled Raw Judgments**: Raw model judgments (`choice`, `confidence`, `rationale`) are stored in the Evidence Ledger independently of application policy thresholds. If confidence thresholds change, raw judgments remain valid and are re-evaluated by policy without re-querying the model.
61
+ - **Cache Invalidation**: Inference cache keys in `agent/decisions/jev/cache/<hash>.json` depend on `(inferenceSchema, model, questionVersion, questionSemanticsHash, questions, state)`. Policy version is applied after the raw answer and does not force another TypeSafe call. Legacy unwrapped cache envelopes are ignored.
62
+
63
+ ## Bounded Packet Expansion & Diverse Retrieval
64
+
65
+ When compact packets (`--compact-packets`) are active, large source dossiers are partitioned into a coverage manifest (`agent/runs/<node>.manifest.json`).
66
+
67
+ 1. **Maximal Marginal Relevance (MMR)**: `selectDiverseEvidence()` balances relevance with source diversity across all captured files, preventing a single verbose harvest file from monopolizing the packet budget.
68
+ 2. **Atomic Obligation Partitioning**: `partitionByObligation()` groups evidence items by critic checklist obligations. Items belonging to the same obligation are never split mid-sentence or mid-obligation across packet boundaries.
69
+ 3. **Overflow Re-Hashing Verification**: When an agent expands an item from the coverage manifest using `expandPacketItem()`, the system computes a SHA-256 hash of the actual content on disk and compares it against the manifest hash. If content was tampered with, expansion is rejected.
70
+
71
+ To manually expand excluded context:
72
+ ```bash
73
+ node scripts/eval-site.ts --site . --expand-packet <expansion-id> --node <node-id>
74
+ ```
75
+ Every packet expansion is logged to `agent/runs/packet-expansions.log`.
76
+
77
+ ## Cross-Stage Lineage & Completeness Auditing
78
+
79
+ - **Claim Lineage Tracking**: `traceClaimLineage()` maps evidence through all pipeline stages: `Source File -> Harvested Fact -> Copy Plan -> Rendered Page Section -> Review Finding`.
80
+ - **Broken Lineage Detection**: `detectBrokenLineage()` flags copy claims whose cited sources have been modified, retired, or contradicted.
81
+ - **Completeness Auditing**: `auditExtractionCompleteness()` audits copy plans against the Evidence Ledger, reporting:
82
+ - `uncitedClaims`: facts asserted in copy without declared evidence citations.
83
+ - `unregisteredClaims`: cited IDs that do not exist in the Evidence Ledger.
84
+ - `contradictedClaims`: claims citing facts that have unresolved contradiction status.
85
+
86
+ ## Targeted Repair Resolution & Escalation
87
+
88
+ When a critic checkpoint fails:
89
+ 1. **Finding Signatures**: Findings are fingerprinted by target and issue type (`findingId`).
90
+ 2. **Targeted Repair Packets**: `buildRepairPacket()` extracts only the specific obligations and evidence slices needed to fix flagged defects, avoiding re-transmitting entire site briefs.
91
+ 3. **Repair Resolution Verification**: `verifyRepairResolution()` compares post-repair artifacts against pre-repair artifacts:
92
+ - Rejects no-op edits where the author claimed to resolve a finding without modifying the affected file.
93
+ - Detects persistent defect patterns when the same finding signature persists across iterations.
94
+ - Automatically escalates repeat findings: `polish -> warning -> blocking`.
95
+
96
+ ## Creative Direction & Preference Rubrics
97
+
98
+ - **Dimensioned Direction Scoring**: `makeDirectionScoreQuestion()` evaluates visual directions against four distinct criteria:
99
+ - `business_fit`: alignment with industry and business model.
100
+ - `typography`: font pairing hierarchy, readability, and scale.
101
+ - `composition`: whitespace balance, layout rhythm, and responsive density.
102
+ - `authenticity`: bespoke vernacular presentation vs generic stock templates.
103
+ - **Versioned Preference Rubrics**: `matchPreferences()` evaluates directions against client and brand preference rubrics (`agent/preferences.json`), providing positive signal boosts and applying penalties for banned anti-patterns.
104
+
105
+ ## Calibrated Rollout & Evaluation Harness
106
+
107
+ The evaluation harness in `scripts/eval-jev.ts` provides matched benchmarking across treatment arms:
108
+
109
+ ```bash
110
+ # Evaluate offline mechanics and live model endpoints
111
+ node --experimental-strip-types scripts/eval-jev.ts
112
+
113
+ # Configure a specific rollout treatment
114
+ node --experimental-strip-types scripts/eval-jev.ts --treatment <A|B|C>
115
+
116
+ # Measure the marginal impact of ablating a single capability
117
+ node --experimental-strip-types scripts/eval-jev.ts --treatment C --ablation <component>
118
+
119
+ # Empirically evaluate a completed trial directory with quality margin
120
+ node --experimental-strip-types scripts/eval-jev.ts --trial-dir <path> --quality-margin 0.05
121
+ ```
122
+
123
+ ### Rollout Treatments
124
+
125
+ - **Treatment A**: Jev `off`, `workOwnership=agent`.
126
+ - **Treatment B**: Jev `assist`, `workOwnership=agent` (additive preflight; no claimed reduction).
127
+ - **Treatment C**: Jev `assist`, `workOwnership=delegated` (packet reduction only for harness-calibrated, fully covered tasks). Lexical ranking and unimplemented registry tasks are not part of this treatment.
128
+
129
+ ### Evaluation Metrics
130
+
131
+ - `shortlistRecall`: Proportion of relevant evidence items captured in the ranked candidate shortlist.
132
+ - `defectRate`: Proportion of defective claims escaping verification gates.
133
+ - `qualityMargin`: Allowable regression margin (default 5%) for quality preservation assertions in `compareRuns()`.
134
+
135
+ ## Implementation & Integration Status
136
+
137
+ | Capability | Current Status | Architecture & Implementation Details |
138
+ |---|---|---|
139
+ | `grounding` | **Active / Production** | Atomic claim-to-excerpt verification using canonical serialized questions, SHA-256 semantic hashing, Evidence Ledger persistence, bounded batching, and configurable thresholding. |
140
+ | `sourceSelection` | **Split** | Critic citation **ordering** is still lexical and must not drop sources. Business-author field selection batches Choice (single-value) and Noul (multi-value) questions. Default calibration remains ineligible. |
141
+ | `retrievalRanking` | **Assist caller** | Lexical shortlist plus Jev Score for optional evidence when `retrievalRanking=assist` and a client is available. Mandatory/contradictory excerpts are retained. Off/shadow packets stay lexical. |
142
+ | `consistency` | **Pending End-to-End Integration** | Core lineage tracing and broken lineage helpers implemented; cross-stage automated enforcement remains pending. |
143
+ | `repairAssistance` | **Pending End-to-End Integration** | Repair packet building and edit resolution verification implemented; integrated critic repair loops remain pending. |
144
+ | `preferenceScoring` | **Local rubric** | Local brand/craft rubric matching. It is not the creative-dimension caller. |
145
+ | `creativeScoring` | **Advisory caller** | `scoreCreativeCandidates` runs from lifecycle on direction-review and representative-review when the capability is not `off`. Missing or invalid scores stay `unavailable` or `invalid`. They are not stored as zero. Assist text is advisory. Shadow does not change CURRENT.md. |
146
+ | `componentSelection` | **Advisory caller** | Representative and pages preparation can rank a shortlist from semantic section state. Custom remains available. `draftAuthoringSnippet` is non-production and is not an authoring packet. |
147
+ | `compositionCheck` | **Semantic caller plus deterministic preflight** | When the capability is not off, storyboard and representative preparation call `scoreCompositionRepetition` and write `agent/reviews/jev-composition.json`. Assist mode adds those judgments to the prompt. `off` makes no Jev call. Shadow records the receipt without changing the prompt. `agent/reviews/composition-preflight.json` stays a separate deterministic structure check. This task is uncalibrated and does not remove critic duties. Unavailable or invalid responses are not measured low scores. |
148
+
149
+ > [!NOTE]
150
+ > Evaluation of Treatment C token savings and workflow efficiency requires full empirical 3-arm active-agent runs to local preview with verified, observed quality. Synthetic constant multipliers and unobserved quality assumptions are disallowed.
151
+
152
+ ## Ownership, calibration, and rollout
153
+
154
+ Confirmed setting name: `workOwnership: "agent" | "delegated"` (default `agent`). Orthogonal to global `off | shadow | assist`.
155
+
156
+ - `off`: no Jev execution; prompt, ownership, and acceptance unchanged.
157
+ - `shadow`: Jev may run and record receipts; consumed CURRENT.md, ownership, state, and acceptance stay identical to `off`.
158
+ - `assist` + `agent`: grounding preflight and/or a source-bound business draft may be added; no workload reduction is claimed.
159
+ - `assist` + `delegated`: a harness-calibrated, applicable, complete task may remove only its covered pairs/fields from CURRENT.md. Remaining items keep their excerpts. Every failure, incomplete coverage, missing manifest, exhausted budget, or invalid pilot context restores the full obligation.
160
+
161
+ Delegation is not authorized by site `calibrationGates[].eligible`, registry `delegationEligible`, or a user-editable pilot boolean. Eligibility comes only from a harness-controlled calibration artifact bound to task version, question semantics, model family, dataset version, sample size, metrics, thresholds, and expiration. Pilot-only artifacts also require `issueTrustedPilotContext` passed into `prepareStage({ pilotContext })`.
162
+
163
+ Default harness artifacts are ineligible. Delegated mode stays off until a task's calibration gate passes. Creative dimension scores are advisory and do not remove the agent's visual judgment. A paid live pilot is not part of `npm test`.
164
+
165
+ `--design-assist` is the one-step advisory preset. It does not override `--jev-mode off`.
166
+
@@ -0,0 +1,11 @@
1
+ # Launch (optional)
2
+
3
+ Only when the operator asks after `preview_ready`.
4
+
5
+ 1. `gh repo create ORG/SLUG --source . --private --push` (or push to existing remote).
6
+ 2. Set the real `launch.json.publicOrigin` and Cloudflare Pages build command to `npm ci && npx playwright install chromium && npm run build && npm run preflight`, output `dist`, production `main`. Set `VITRIS_SITE_ENVIRONMENT=production` on the production branch. Preview branches use `preview` and remain diagnostic. A direct `wrangler pages deploy` must follow a successful current preflight on the exact `dist` bytes.
7
+ 3. Register tenant in harness `/ops`: owner email (`launch.json` → `ownerEmail`), `pages_project`, `github_owner`, `github_repo`.
8
+ 4. Fill `launch.json` → `github`, `publicOrigin` when known.
9
+ 5. Owner admin: `{backendOrigin}/app/login` with `ownerEmail`.
10
+
11
+ Do not merge secrets into git. Use `.env` for Cloudflare tokens.
@@ -0,0 +1,7 @@
1
+ # layout
2
+
3
+ The selected site direction governs identity choices. Typography gives distinct jobs to orientation labels, propositions, explanation, precise data, captions, and actions. Use actual edited copy at real length; do not shrink or drop qualifications to preserve a sketch's silhouette. Test long names, wrapping, zoom, and fallback fonts.
4
+
5
+ Compose responsive layouts from meaning and reading order. Keep captions with their subjects, qualification with the claim it limits, and action beside the decision it serves. At narrow widths, an honest stack can be the best arrangement. Verify focus order, reflow, and any sticky or overlaid content. Reuse tested primitives and use optional modern CSS only with appropriate fallback.
6
+
7
+ In `composition-v1`, the creative packet also supplies stage-selected advisory lessons from the pinned release, including expandable bodies. Apply or decline them based on current evidence and inspect the result. In `blocks-v0`, follow the compatible block guidance. Preserve factual accuracy, usable interactions, and accessible markup in both modes. No section, image, font, or motif quota applies.
@@ -0,0 +1,35 @@
1
+ # Understand and account for media
2
+
3
+ Run `npm.cmd run media:prepare` on Windows (or `npm run media:prepare` elsewhere). It creates an inventory and HTML contact sheet without discarding prior decisions.
4
+
5
+ Run `npm run media:serve` from the site and open its loopback contact-sheet URL in a browser. Inspect in batches and open candidates at full size. If the browser cannot reach the loopback URL, view local media files directly with an image viewer; a browser refusal of `file:` URLs does not waive visual inspection. Identify actual subjects, projects, people, illustrations, text baked into images, transparency, duplicate crops, and usable dimensions. Do not trust alt text as visual classification.
6
+
7
+ Account for each image as use, retain, duplicate, or exclude with a specific reason. Keep important project collections available for interior pages; the shortlist can expand. Selected assets need actual visual inspection and intended route placements. If a signature asset appears in the source but is absent locally, recover it before passing; record unresolved acquisition separately.
8
+
9
+ Keep onboarding/brief.json, onboarding/raw, and media/harvest immutable after acquisition. Save recovered originals under media/recovered and derived/cropped variants separately. Register each local recovered file with the installed harness tool, for example `npm.cmd run media:register -- media/recovered/mark.png --source onboarding/brief.json --disposition use --role logo --description "Customer wordmark"`. The command computes SHA-256 from actual bytes; repeat registration of identical bytes is safe, while changed bytes or conflicting IDs are rejected. Use `--disposition retain` for retained originals too. For videos supply `--poster media/recovered/poster.jpg`; the tool hashes both files. Registration leaves `inspected:false`: inspect the media, set disposition details and proposed placements, and add identityEvidence from captured source paths before completing media. Never hand-enter or silently replace an accepted hash. Inventory placements are proposed routes; the storyboard establishes final route/section placement.
10
+
11
+ Choose treatments that fit the material: contain device mockups and diagrams; crop photography around its subject; avoid turning full illustrations into tiny icons. Don't force an image-count quota or use all assets for its own sake.
12
+
13
+
14
+ ## Preserve identity and supplement deliberately
15
+
16
+ Record origin as customer, stock, or unknown. For a logo, founder, team, actual product, premises, project, or brand artwork, record identity and identityEvidence as a path array with captured source-page evidence, for example `"identityEvidence":["onboarding/brief.json"]`. A filename or face is not identity evidence. Existing-site images can themselves be stock or third-party logos. Keep uncertainty explicit. Every omitted identity asset needs identityDecision explaining recovery, replacement with another evidenced original, or omission; do not force unusable images into the page.
17
+
18
+ Stock can illustrate a service or establish atmosphere. It cannot replace an evidenced founder, logo, real team, or completed-project proof. Never add customer assets to the shared stock library automatically. Keep original files unchanged and derived crops separate.
19
+
20
+ During media, search the shared catalog using the harness script:
21
+
22
+ ```text
23
+ node HARNESS/bin/vitris-stock.js search --query "electrical service" --industry trades
24
+ node HARNESS/bin/vitris-stock.js import --site . --id ASSET_ID --reason "Illustrate the service; not our actual team" --route /
25
+ ```
26
+
27
+ Use the Harness directory from CURRENT.md in place of HARNESS. Search also accepts --role and --kind. Imports validate hashes, copy local originals/posters into media/stock, and merge into the inventory. The default cache is HARNESS/artifacts/stock-library; missing files use pinned provider URLs and must match hashes. Import during the media stage. Later additions require an explicit restart from media so downstream approvals cannot silently survive changed inputs.
28
+
29
+ Create onboarding/media-requests.json as {"slots":[{"id":"home-service","route":"/","purpose":"Illustrate electrical repairs","kind":"image","minWidth":1000}]} for section-specific shortlists. For slots showing the actual founder/team/logo/project, add the appropriate identity constraint. No suitable candidate is a valid result.
30
+
31
+ During storyboard, write onboarding/media-selection.json with version:1 and placements containing slot, assetId, reason, and optional crop; or noMatch:true with a reason and no assetId. For storyboard version 3, add slot.placement as section, header, or footer, and add slot.sectionId for section slots. Shared slots need a row for every declared route. Bind the chosen IDs to storyboard sections or globalMedia. Account for every usable identity asset, either in placements or with an explicit identityDecision recorded during media. Repeated stock is allowed when purposeful, not to fill a quota.
32
+
33
+ Jev mediaClassification, mediaSelection, mediaSetReview, and mediaProvenance are independently configurable off/shadow/assist capabilities. Read preparation-bound media-assist reports. Scores are based on supplied observations, not direct visual inspection. Missing/partial judgments never mean bad imagery. Keep all visual and identity obligations when inference is unavailable. Jev must not infer who a photographed person is.
34
+
35
+ Use contain for logos and artwork; inspect photo crops at phone and desktop sizes. Videos need a local poster, muted inline playback when decorative, a static fallback under prefers-reduced-motion, and no autoplay with sound. Avoid making a video the only carrier of essential content. Inspect sampled footage and actual playback/crop before accepting a placement. Final reviews check that selection-manifest assets actually appear on their planned routes.
@@ -0,0 +1,3 @@
1
+ # motif
2
+
3
+ Compatibility entrypoint. Workflow graph uses direction.md for this task; load it only when needed. The selected site direction governs aesthetic choices. Preserve factual accuracy, usable interactions, and accessible markup. Do not add section/image quotas or a fixed motif count.
@@ -0,0 +1,13 @@
1
+ # Verified magnitude, calm emphasis
2
+
3
+ Use a count once for an important supplied statistic. Quote its source in the plan; `data-motion-fact` binds that source reference. Example below is FICTIONAL teaching: the brief supplies exactly 1,250 repaired books, not customer evidence.
4
+
5
+ ```html
6
+ <p><strong id="books" data-motion="count" data-motion-kind="statistic"
7
+ data-motion-value="1250" data-motion-suffix=" repaired books" data-motion-fact="brief:books"
8
+ data-motion-duration="900">1,250 repaired books</strong></p>
9
+ ```
10
+
11
+ The final string must match metadata exactly or compilation fails. Preserve qualifiers. Canonical author text remains in the accessibility tree and flow; the temporary visual number is aria-hidden, unselectable and absolutely overlaid, reserving the full final width. No aria-live. One shared frame runs only while counts are active. Focus/cancel/reduced/no JS show the exact final string immediately. Mobile can use same or `data-motion-mobile="static"`.
12
+
13
+ Contraindications: phone/date/postal/model numbers, fees/prices, identifiers, uncertain claims, misleading intermediate percentages. A count is not evidence of business quality. Missing facts means omit it. Confirm accessible snapshot contains final text once during playback, stable geometry with delayed fonts, exact finish and no reversal replay. See motion-numeric.md for formatting and the count lesson for normal/static/reduced playback.
@@ -0,0 +1,12 @@
1
+ # Image followed by a quiet caption
2
+
3
+ Let authentic evidence earn attention: subtle 1.015 to 1 scale, then a caption. Preserve crop, dimensions, alt text, provenance and links. Keep primary hero/LCP media still. This is a short sequence, followed by quiet reading.
4
+
5
+ ```html
6
+ <figure id="detail" data-motion="sequence" data-motion-duration="650" data-motion-stagger="90" data-motion-distance="6" data-motion-mobile="static">
7
+ <img data-motion-child data-motion-role="image" src="/media/verified-detail.jpg" width="1000" height="600" alt="Accurately described supplied detail">
8
+ <figcaption data-motion-child data-motion-role="caption">Unchanged supplied caption.</figcaption>
9
+ </figure>
10
+ ```
11
+
12
+ Allow crop margin; avoid scale for edge-critical evidence. Mobile static is often clearer. No captions covering evidence, invented provenance, image swapping or animation on every gallery tile. Normal/static/reduced hold content/layout/media fixed. Watch actual crop and caption timing and keyboard focus; see image lesson.
@@ -0,0 +1,14 @@
1
+ # Precise and qualified formats
2
+
3
+ FICTIONAL teaching facts only: a research workshop conserved approximately $12.5m of materials; supplied change was -3.25 units; recorded capacity was +1,250 units. These are display examples, not financial/customer claims. Prefix/suffix are authored literal text; numeric display may use 0–3 decimals, grouping (default true), and sign auto/always. Values are bounded to ±1e12. Exact final text is validated, never synthesized as a replacement claim.
4
+
5
+ ```html
6
+ <strong id="materials" data-motion="count" data-motion-kind="statistic"
7
+ data-motion-value="12.5" data-motion-decimals="1" data-motion-prefix="~$"
8
+ data-motion-suffix="m conserved" data-motion-fact="brief:materials">~$12.5m conserved</strong>
9
+ <strong id="change" data-motion="count" data-motion-kind="statistic"
10
+ data-motion-value="-3.25" data-motion-decimals="2" data-motion-suffix=" units"
11
+ data-motion-fact="brief:change">-3.25 units</strong>
12
+ ```
13
+
14
+ An approved abbreviated numeric value is explicitly the displayed scale (12.5m), with the source fact documenting full magnitude. Use `data-motion-sign="always"` for + values, `data-motion-group="false"` where supplied formatting requires it. Percent suffix is permitted only when intermediate emphasis cannot imply a live result; usually keep rates/static financial data still. Do not localize canonical formatting silently: v1 uses en-US numeric grouping, literals supply units. Other locales remain static until authored/verified. Normal/static/reduced lessons preserve identical strings and width. No rounding beyond authored precision and no invented facts.
@@ -0,0 +1,23 @@
1
+ # Whole-page temporal composition
2
+
3
+ Compose every authored route as one journey. Begin with its visitor task and the site's motion character, then locate opening, development, connections and ending in the actual content. Stillness connects active moments; it does not excuse an untouched remainder. Representative success does not cover contact, service, project, about or expansion routes.
4
+
5
+ New scaffolds use `motionComposition:{version:2,routes:"all-authored"}` and the supported `scrollMotion:{version:1,policy:"enabled"}`. Historical sites omit the authoring marker. A deliberate reauthor of an existing route can select `motionComposition:{version:2,routes:["/route"]}`; other routes remain historical. Managed upgrade changes knowledge, never customer policy. Explicit operator off, OS reduced motion and no-JS/failure states remain authoritative. System-generated cookie/error/redirect pages stay static and are not omitted authored coverage. Do not call a customer contact/legal page a utility to bypass the responsibility.
6
+
7
+ Extend the existing `motionPlan` to version 2, retaining its scene contract. Add `routes:[{route,task,character,normal,mobile,reduced,ending,available:["primary-message","contact-action"],beats:[{sectionId,role,change,scenes:["accent-id"],transition}]}]`. Beat IDs follow storyboard sections and actual output in document order. Roles are opening/development/closing, or whole for a genuinely single-beat short page. Every scene belongs to its real beat. Quiet beats use `scenes:[]` and `connects:["earlier-active-target","later-active-target"]`; explain the continuity. `available` identifies essential messages/actions/forms that remain immediately readable and operable. Counts also carry supplied fact references and exact final text. Never fabricate a statistic or image to fill a beat.
8
+
9
+ Opening: keep identity, h1, LCP image and action visible. A secondary rule, graphic or supporting visual can introduce the character. Initially visible text/sequence entrances are deliberately static safeguards: choose an appropriate supporting draw/progress accent rather than claiming those skipped entrances run.
10
+
11
+ Development: express useful evidence. Use a verified count, selected phrase, authentic image/caption, process accent or another existing primitive only when content warrants it. Relate direction, cadence or a shared accent across sections. Keep ordinary paragraphs, specifications and service/legal detail readable. Do not force a sticky story onto short content.
12
+
13
+ Ending: resolve a supporting accent or brief visual sequence near the next action, with the action available throughout. Never animate form fields, move a submit button, delay labels or make a contact page artificially long. A short page can have one coherent accent across its brief opening/ending; it needs no animation quota.
14
+
15
+ Positive text-led example: a visible offer with a secondary ledger rule establishes precise continuity; a later scope comparison changes emphasis; a still detail interval connects to a closing margin accent beside an immediately usable inquiry. On the service interior, use the actual ordered work/process relationship instead of repeating the homepage phrase-plus-rule pair. On contact, a small supporting accent resolves the same identity beside static fields.
16
+
17
+ Positive image-led example: a quiet authentic project hero with a supporting accent; later project/caption movement clarifies a material or spatial relationship; the project list stays readable; a closing image detail or simple rule connects to the inquiry. The interior can follow project evidence at its own cadence, not duplicate the homepage arrangement.
18
+
19
+ Negative examples: two effects in one section with all remaining sections called quiet; fade-up every section; adding ornaments at fixed percentages; unsupported counts; introducing empty spacer sections to meet coverage; competing large image/text motion; hiding primary headings/actions; using a static mobile treatment for every active moment. None establishes good choreography.
20
+
21
+ Watch every route from first view to ending in normal desktop/mobile, then reduced/static readability. Full journey evidence must include the quiet middle at readable traversal speed, ordered section/scene positions, actual changing scene states and source/output/scenario hashes. Target checkpoints alone are insufficient. Recordings are review evidence, separate from performance runs. Concentration flags detect incompleteness, never establish aesthetic quality or a numeric motion score.
22
+
23
+ Critique every route with located checkpoints: opening-to-ending contribution; distribution/connections; business-specific rhythm; competition/inert stretches; differences among routes; immediate reading/navigation/action in mobile/reduced views. Return an actionable repair for a concentrated or inert plan even when runtime tests pass. Record findings as agent assessment, with human preference unset.
@@ -0,0 +1,12 @@
1
+ # Process accent without false completion
2
+
3
+ A precise decorative line introduces a documented sequence; all steps remain in flow. It describes reading order, never completed work or live analytics.
4
+
5
+ ```html
6
+ <svg id="process-line" data-motion="draw" data-motion-duration="800" aria-hidden="true" viewBox="0 0 600 40" width="600" height="40" style="max-width:100%;overflow:visible">
7
+ <path data-motion-path d="M10 20 H590" fill="none" stroke="currentColor" stroke-width="2"/>
8
+ </svg>
9
+ <ol><li>Understand the brief.</li><li>Compare the evidence.</li><li>Choose the next step.</li></ol>
10
+ ```
11
+
12
+ Stroke draw has measured paint cost: few simple paths only, SVG aria-hidden, no essential text in the SVG. Complete strokes remain without JS/reduced/off/failure. For scroll progress use existing progress with a separate stable trigger and reachable normalized range. Mobile can use static. Avoid busy diagrams, unsupported live state, looped arrows and scrubbed essential text. Watch before/during/after and reversal in the process lesson.
@@ -0,0 +1,7 @@
1
+ # Rhythm: two moments and a pause
2
+
3
+ Choose relationships, not quotas. A warm workshop pairs an authentic detail and caption, leaves a paragraph still, then emphasizes one supplied statistic. A precise practice may draw one process rule and leave service detail still. An energetic performer may emphasize one phrase while booking remains immediate.
4
+
5
+ Use motion-image.md sequence markup with direct data-motion-child elements; roles image/caption/text/accent express intent. Nested roots do not run twice. Total stagger delay <=300ms; complete within 1.5s. Mobile static or simpler phrase. Separate moments with ordinary quiet content instead of a giant timeline. Story uses CSS sticky beside flowing paragraphs and stacks on mobile.
6
+
7
+ The composed fictional lesson combines image/caption, a still interval, a secondary phrase and decorative process rule. Counts require supplied facts, never invented effect coverage. Review recordings for competition and sufficient stillness. Contraindications: identical entrances everywhere, parallel large effects, replay on reversal, hidden primary messaging, trapped sticky reading or forced horizontal progress. Normal/static/reduced share content/layout/media. Label agent assessment separately; human preference stays unlabeled.
@@ -0,0 +1,12 @@
1
+ # A selected phrase, with room to read
2
+
3
+ Warm phrasing can arrive in two beats; precise phrasing may use a brief masked accent. Keep full semantic text in initial HTML. Author one to eight spans with natural spaces and inline emphasis/links; no character splitter or forced desktop line breaks. Do not animate the primary h1, ordinary paragraphs, navigation, legal copy or essential actions.
4
+
5
+ ```html
6
+ <h2 id="care" data-motion="text" data-motion-treatment="phrase" data-motion-duration="500" data-motion-stagger="80">
7
+ <span data-motion-word style="display:inline-block">Care for the object.</span>
8
+ <span data-motion-word style="display:inline-block"><em>Keep its story.</em></span>
9
+ </h2>
10
+ ```
11
+
12
+ Second treatment: `data-motion-treatment="mask"` uses a temporary clip on each authored phrase; a static underline may emphasize the selected word. Each span wraps naturally inside its parent; never set a fixed line height/mask height. No duplicated text, synthetic spaces or changed heading names. Selection/copy preserves the original message. Font completion/viewport resize finishes copy rather than recalculating fragile line splits. Focus and anchors finish immediately; an already visible heading stays still. Mobile may use static when the phrase consumes most of the screen. After <=1.5s the whole message is available with a quiet interval. Watch wrapping at 375px and 200% zoom, delayed fonts, focus inside a phrase and reverse scroll. Profile optional clipping paint cost. See phrase lesson for both treatments and normal/static/reduced controls.
@@ -0,0 +1,11 @@
1
+ # Deliberate scroll motion (contract v1 runtime, v2 authoring)
2
+
3
+ Motion is a normal responsibility for the whole experience on every new/reauthored content route. Compose a usable opening, meaningful development, connected still intervals and a supporting closing moment. Adapt the site's motion character to each route's task. Two effects in one location do not establish a composed page. Neither do repeated fade-ups or a fixed effect count. Read [page choreography](motion-page.md) for the compact v2 plan, complete examples and review contract.
4
+
5
+ New scaffolds intentionally enable `scrollMotion:{version:1,policy:"enabled"}` and declare `motionComposition:{version:2,routes:"all-authored"}`. Explicit operator off disables all effects. Historical absent policy remains legacy-only and historical plans remain readable; upgrade never silently migrates them. Reauthor a historical route through the normal prepared workflow and record its v2 responsibility. Existing legacy `motion.strength:"off"` is a component default with instance precedence; explicit new policy off overrides both. Legacy zero-child staggers animate the wrapper; marked groups animate only marked children. New empty staggers are errors.
6
+
7
+ Native HTML, components and composition-v1 share stable `id` and `data-motion`: entrance, stagger, count, text, sequence, draw, drift, progress, story. Stagger/sequence use `[data-motion-child]`; semantic text uses authored `[data-motion-word]`; decorative SVG uses `[data-motion-path]`. Do not wrap pages or target nested content twice. Hero/page shells, fixed/sticky/very large targets stay static. Initially visible text/sequence entrances stay readable and static; a supporting draw accent can run in the opening. Planned active scenes must actually change during full-route traversal.
8
+
9
+ Load selected recipes: [counts](motion-count.md), [formats](motion-numeric.md), [phrases](motion-text.md), [images/captions](motion-image.md), [process](motion-process.md), [rhythm](motion-sequence.md). Runtime count defaults to 900ms; other effects 550ms; bounded duration 120-1200ms, delay 0-300ms, stagger 0-120ms with total delay capped 300ms, distance 0-32px. Counts start at 35% visibility, preserve canonical accessible final text and need supplied facts. No counting phones/dates/identifiers or inventing proof. Reduced/no-JS/failure states are immediately complete. Keep primary messages, LCP content, actions, paragraphs and form fields usable throughout. No scroll hijacking, perpetual loops or replay on reversal.
10
+
11
+ Watch normal desktop/mobile full journeys and reduced/static readability; keep target behavioral checks, focus/anchors/restoration/fonts/resize/teardown and factual/media/navigation/mock-form checks. Recordings stay separate from performance. Critique located whole-route rhythm and cross-route differences, not API counts. Agent assessment, measured performance and human preference are separate; human labels remain unset. Explicit off plus rebuild is the local rollback.
@@ -0,0 +1,9 @@
1
+ # Shared narrative brief
2
+
3
+ Write `onboarding/narrative-brief.json` schemaVersion 2 after reviewed business evidence and inspected media. This artifact is shared by every concept. It is not marketing copy and not a style direction. Include visitor questions, proof status (`strong`, `limited`, or `missing`), asset strengths and limitations, tone constraints, recorded user goals, and design opportunities. An opportunity is `evidence-backed` only with evidence ids. A `design-hypothesis` must include `uncertainty`. Do not treat a filled opportunity as proof of aesthetic merit.
4
+
5
+ Identify the actual customer, the customer problem, the distinct offer, service scope, the best available proof, the primary conversion, purchase objections, and claims the source does not support. Every factual claim and proof choice must cite harvested evidence IDs or fact IDs. If a relationship is unresolved, record it as an uncertainty rather than flattening it into a slogan.
6
+
7
+ Do not import the operator's future platform strategy, harness internals, or reference-site demo people, phone numbers, ratings, or awards as this customer's facts. Keep audit caveats in this operator artifact; public copy later may preserve only the qualifications that affect a purchase decision.
8
+
9
+ The homepage first screen must be explainable from this brief: who this is for, what is offered, and the next step. Interior pages get their own purpose from the same facts, not a restatement of the hero.
@@ -0,0 +1,36 @@
1
+ # Performance
2
+
3
+ Ship static HTML, the CSS of components that are used, and islands only when a page needs them. The Vitris starting budgets are project policy: 100 KiB gzip of first-party JavaScript, 100 KiB gzip of CSS, 200 KiB of fonts, and 1.5 MiB initial transfer. They are not Core Web Vitals.
4
+
5
+ [Core Web Vitals](https://web.dev/articles/vitals) field targets are LCP 2.5s, INP 200ms, and CLS 0.1 at the 75th percentile. A lab run is not field INP. Missing field data is unknown, not a pass. A broken or empty shipped file still blocks.
6
+
7
+
8
+ For scroll motion, use the stage-scoped `motion.md` contract. Choose business-specific scenes and quiet intervals; preserve operator policies. Carry motionPlan v2 for every new/reauthored route (historical v1 remains compatible) from direction/storyboard to unique native/component target IDs, then inspect before/during/after normal and reduced scrolling. Temporal claims require live observations or recordings; agent review is not human preference.
9
+
10
+ ## Responsive delivery and measured acceptance
11
+
12
+ The standard build generates content-addressed responsive WebP derivatives for local JPEG, PNG, WebP and AVIF img sources. Originals and inventory hashes stay unchanged. Animated files, vectors, authored picture/srcset markup and data-media-optimize="off" retain their delivery. Use data-media-format="avif" for an explicitly reviewed AVIF placement. Remote URLs are never downloaded by this step. Cache files under .vitris/cache/media are disposable and never part of source evidence.
13
+
14
+ Mark the route's actual above-fold image data-media-priority="critical"; the compiler emits loading="eager" and fetchpriority="high". Mark later images data-media-priority="deferred" for lazy/low priority. Native lazy loading can fetch nearby images, so all photographs still need small derivatives. Do not mark every slide critical or hide the heading until fonts/media finish. For inactive overlapping carousel slides, author source activation on selection; verify initial requests in a browser.
15
+
16
+ Author sizes for the real layout, for example sizes="(min-width: 1000px) 33vw, (min-width: 650px) 50vw, 100vw" for cards. The conservative fallback is 100vw. Derivatives retain the source aspect ratio and transparency; existing CSS object-fit/object-position and reviewed crops remain authoritative. Inspect crops and text contrast on phone and desktop.
17
+
18
+ New redesign sites enable launch.json performance.enabled with three runs. Final browser verification runs Lighthouse on home, the representative interior and the heaviest built interior; performance.routes adds coverage. Defaults: median mobile performance >=95, LCP <=2500ms, TBT <=200ms, CLS <=0.1 and transfer <=1.5 MiB. Reports bind source, output and launch/storyboard configuration plus hashes of raw Lighthouse JSON. Missing, failed or stale runs block completion. This is a lab gate, not field INP or a promise of a field CWV pass.
19
+
20
+ Run npm run verify:performance for a standalone local check. Run npm run verify:performance -- --origin https://DEPLOYMENT for a hosted check against the existing local dist. Hosted results have a separate report and never satisfy local-build evidence. vitris deploy performs the hosted check automatically when enabled. Direct wrangler deployments require the hosted command separately.
21
+
22
+ Existing sites retain their configuration: opt into performance.enabled after planning a managed kit upgrade, then fix measured failures rather than bypassing the gate. Preserve mode keeps its captured appearance and delivery; no image rewrite is silently applied there.
23
+
24
+ A cover-cropped image can need more source pixels than its CSS width. Author sizes for the effective crop (or a reviewed picture source/crop); final browser checks reject undersized cover images. Do not improve transfer by accepting blurred or changed crops.
25
+
26
+ Optional launch.json apiChecks entries are {"url":"/api/inquiries/config"} (or an explicit backend URL). Hosted verification performs GET-only JSON contracts and rejects HTTP-200 HTML fallbacks. This does not establish draft saving, submission or email delivery.
27
+
28
+ For real-user CWV, enable Cloudflare Web Analytics for the site and configure its public webAnalyticsToken in launch.json when manual injection is needed. It is omitted from preview builds. Avoid duplicate dashboard/manual beacon injection. Inspect route/device LCP, INP and CLS in Web Analytics; absent or insufficient visitor data stays unknown. This hook does not provision an account resource or invent field measurements.
29
+
30
+ The standard build also writes a genuine 404, a working fallback favicon when no icon is authored, absolute sitemap discovery when publicOrigin is configured, consistent trailing-slash links/canonicals, route CSS/islands, separated embedded WOFF fonts, and immutable content-addressed assets. TTF-to-WOFF2 conversion/subsetting and custom SVG simplification remain explicit media authoring tasks; preserve source licenses and map interactions. Configure a reviewed production origin before launch. Review deployments intentionally remain noindex.
31
+
32
+ For before/after comparisons, pin the same browser executable with CHROME_PATH, record the Lighthouse/browser versions from every raw report, and run serially after other browser work finishes. Preserve failures from other browser versions as diagnostics; never selectively replace valid low samples or relax budgets to finish.
33
+
34
+ Initialize noncritical footer clocks and expensive Intl formatters when they become visible, cache formatter instances, and stop timers while hidden. Verify real startup tasks and live measurements; fast image delivery does not compensate for blocking JavaScript. For a text LCP, inspect font discovery and preload the exact critical extracted font with matching type/crossorigin settings; preserve the component root and verify a single font request.
35
+
36
+ Lighthouse gates launch a fresh Chrome profile directly through chrome-launcher, using a single browser controller. Do not attach a Playwright controller to the same measured browser: target/debugger coordination can contaminate main-thread timings. Use Playwright separately for screenshots and interaction checks.
@@ -0,0 +1,3 @@
1
+ # preview
2
+
3
+ Compatibility entrypoint. Workflow graph uses browser.md for this task; load it only when needed. The selected site direction governs aesthetic choices. Preserve factual accuracy, usable interactions, and accessible markup. Do not add section/image quotas or a fixed motif count.
@@ -0,0 +1,33 @@
1
+ # Source and realization contract v1 (explicit launch opt-in)
2
+
3
+ Only active when `launch.json.productionQuality` is `source-and-realization-v1`. Keep all ordinary prepare/work/complete gates. No authoring-mode default changes.
4
+
5
+ ## Business and content
6
+
7
+ At business, enumerate important captured facts and individual services in `onboarding/content-requirements.json`: `{version:1,sourceHash,operatorHash,items:[{id,disposition:"required",factIds:["supported-business-fact-id"],equivalents:["faithful display wording"],equivalenceReason:"why equivalent"}]}`. Hashes use artifacts.fingerprint(root, CONTENT_SOURCE) and contentOperatorHash(root) from production-quality.ts. Every approved fact needs a disposition; multiple atomic services can share a group but each must have its own entry. Enumerate source requirements before compressing the offer. Compare the source with the ledger during business-review.
8
+
9
+ Keep independently important fields atomic, including a person's name, phone and street address. A compound business fact can support several required ledger entries with the same fact ID, so faithful grouped fields can change order or occupy separate lines without requiring the original sentence. Each field still needs its own coverage match. `equivalents` are alternatives for one item, not a list of different fields that may substitute for each other. Record the actual faithful wording; never replace a complete contact requirement with a name-only alias. If an accepted compound requirement needs this decomposition, reopen business through the supported factual revision rather than forcing pages to copy the harvested sentence.
10
+
11
+ Optional immutable operator input (also accepted in the pinned launch.json `contentRequirements` field) `agent/content-requirements.json`: `{version:1,requirements:[{id,claim,source:"onboarding/raw/...",excerpt:"captured source excerpt",equivalents:["approved faithful alternative"],allowExclusion:false}]}`. Include every supplied ID in the business ledger and its supported business fact; never delete one to pass a gate. Operator aliases take priority over agent aliases. For a legitimate outdated/excluded source item use `disposition:"excluded",factIds:[...],exclusion:{reason:"specific justification",evidence:"specific source/operator evidence"}`. Operator-required items cannot be excluded without permission recorded in the input. This ledger requires source review; it does not claim automatic semantic enumeration of every harvested sentence.
12
+
13
+ Copy expansion checks each required item's wording AND fact IDs in an individual copy section. Faithful paraphrases are accepted through recorded alternatives; generic category labels do not replace an individual service. The final browser tool saves visible text per route/width. At content-review compute `coverageAudit(root)` from production-quality.ts and save its exact result to `agent/reviews/content-coverage.json`. The evaluator recomputes it, rejects omissions and stale evidence. An unchanged route list cannot establish coverage. Fix copy/page omissions through the normal owner; justified changes to requirements reopen business.
14
+
15
+ ## Media ownership
16
+
17
+ Inspect all used customer assets during media. Each needs actual sha256, structured `inspection:{assetHash,description,evidence:[existing-paths],...}`, dimensions and supported identity. Use actual viewed pixels; never invent inspection metadata. Preserve these accepted rows at asset-production. If an older audit lacks inspection metadata, use the supported media revision operation with `kind:"inspection"` to reopen media and dependents BEFORE changing it. Never edit STATE or restore old receipts to recover.
18
+
19
+ ## Direction through rendering
20
+
21
+ Browser reports and their screenshots belong to the scheduled browser tool nodes. During representative/pages authoring, build into the absolute SITE/dist path and inspect the live preview. If manual diagnostic captures are needed, keep them in a clearly scoped temporary directory outside the protected site tree; they do not replace the runner's evidence. Complete the authoring preparation so the runner can execute its browser node, then inspect its current screenshots at the critic stage. Do not run verify-browser early or create agent/reviews/browser.json, agent/reviews/representative-browser.json or their screenshot directories during an authoring preparation.
22
+
23
+ At direction add `realizationContract:{version:1,axes:[{axis,intention,observable,decisionIds:[existing-decision-id]}]}` for all nine axes: opening, navigation, typography, imagery, density, proof, interior, mobile, actions. Describe concrete relationships and customer constraints. Specify what type does, how imagery relates to facts, proportions/pacing, how evidence/work can be explored, and important action behavior. An appropriate image-free solution is valid. Do not force a palette, page skeleton or novelty.
24
+
25
+ At storyboard add `realizationMap:[{axis,routes:["/",...],implementation:"specific sections/global relationships carrying this intent"}]` for all axes. Carry these accepted decisions into representative and expanded pages. Authors may record justified deviations at those stages in `onboarding/direction-deviations.json`: `{version:1,deviations:[{id,axis,reason,preservedConstraints}]}`. Explain actual tradeoffs rather than silently erasing the direction.
26
+
27
+ At representative-review and visual-review, inspect the CURRENT rendered screenshots. Add `directionFidelity:{subjectHash,observations:[{axis,width:375|1080,screenshot:"current browser PNG path",sha256:"raw image hash",observed:"concrete pixels/geometry/content",relationship:"how these implement the accepted intent",verdict:"survived"|"justified-deviation",deviationId:"when needed"}]}` to the ordinary review. Cover all axes at both widths, including a substantive interior. subjectHash uses fingerprint of direction.json, storyboard.json, direction-deviations.json and the relevant browser report. A screenshot path alone is insufficient; record what it shows. A failed relationship needs ordinary findings and repair, not a fabricated pass. Byte checks bind evidence; they do not prove design quality or human preference. At expansion and final review compare the actual relationships against the accepted direction again.
28
+
29
+ ## Active-agent quality completion
30
+
31
+ At representative-quality, when you are the active visual reviewer, actually open the current capability probe and every current representative PNG with an approved image tool. Record the real successful calls in a JSON array outside the protected site tree: `[{"tool":"view_image","path":"actual image path","success":true,"hash":"actual raw PNG SHA256"}]`. Each entry must describe an image call you actually performed; computing hashes or listing files is not inspection. Use the observed probe color, never read its answer from implementation metadata. Read current capture paths/hashes through the supported design-quality exports if needed; those lists do not substitute for opening pixels.
32
+
33
+ Pass the absolute event-file path to the ordinary completion command: `vitris-go --site ABSOLUTE_SITE --complete --preparation CURRENT_ID --visual-tool-events ABSOLUTE_EVENTS_JSON --no-preview-server`. The completion runner records the active-agent-visual receipt bound to the preparation, probe and captures. Do not hand-write the receipt or claim an external adapter invocation. The events are self-recorded observations, not an exported host transcript, independently verified tool-call log or human review. Never invent successful events, dataBlobIds, old session identifiers or usage. Missing events/current hashes/preparation bindings and unavailable pixels still fail; configured external adapters retain their supported provenance path. A quality failure consumes its preparation; resume for a new one through the ordinary owner and budget.
@@ -0,0 +1,3 @@
1
+ # psychology
2
+
3
+ Compatibility entrypoint. Workflow graph uses direction.md for this task; load it only when needed. The selected site direction governs aesthetic choices. Preserve factual accuracy, usable interactions, and accessible markup. Do not add section/image quotas or a fixed motif count.
@@ -0,0 +1,14 @@
1
+ # Later-life refinement
2
+
3
+ For an opted-in reference release, retain the accepted reference relationships and current direction identity unless the classified change request explicitly revises them. Inspect relevant integrity-bound working-set expansions only as needed. Evaluate repaired production pixels against customer facts, the accepted identity and existing functional gates; do not reopen all catalog discovery or transfer fictional teaching content.
4
+
5
+ Use this skill only when `agent/change-request.json` is present. Do not restart harvest. Load site memory and the classified slice, not the full onboarding kit.
6
+
7
+ Keep `originalRequest` verbatim. Expand `proposedChanges` into concrete, file-level edits before changing source. Write `implementationReason`, and record likes, dislikes, and preserve items at website, page, section, or element grain (`path`, `sectionId`, `hook` when known).
8
+
9
+ Honor current memory decisions. Treat `superseded` items as historical experiments. Do not invent business facts or drop original media IDs. If layout and navigation hashes are unchanged after a copy edit, do not rewrite pages for their own sake; content review still applies.
10
+
11
+ After the edit, the runner writes `agent/refine-report.json` and updates `agent/site-memory.json`. Do not mark STATE passed by hand.
12
+
13
+
14
+ Whole-page motion responsibility: for new/reauthored routes use motionPlan v2 and read `motion-page`. Cover every authored route, including expansion/contact; locate opening, development, connected quiet intervals and closing in actual IDs. Keep essential content/actions static and readable. Representative runtime success or two colocated effects is insufficient. Inspect normal desktop/mobile full journeys and reduced/static views; critique distribution, continuity, inert stretches, competition and meaningful differences among routes with located evidence. Return actionable repairs, preserving operator off and historical records. Human preference stays unset.