@warpgogol/werkstatt-shared 0.14.0 → 0.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (437) hide show
  1. package/README.md +31 -13
  2. package/README.uk.md +25 -15
  3. package/package.json +519 -762
  4. package/src/{share/agent → agent}/ard-catalog.ts +6 -1
  5. package/src/{share/agent → agent}/dns-aid.test.ts +2 -2
  6. package/src/{share/agent → agent}/manifest.ts +15 -1
  7. package/src/{share/agent → agent}/search.ts +6 -1
  8. package/src/{share → agent}/tests/api-catalog.test.ts +2 -2
  9. package/src/{share → agent}/tests/ard-catalog.test.ts +2 -2
  10. package/src/{share → agent}/tests/capability.test.ts +1 -1
  11. package/src/{share → agent}/tests/fleet-catalog.test.ts +1 -1
  12. package/src/{share → agent}/tests/knowledge.test.ts +2 -2
  13. package/src/{share → agent}/tests/manifest.test.ts +1 -1
  14. package/src/{share → agent}/tests/mcp-card.test.ts +2 -2
  15. package/src/agent/tests/omit-empty.test.ts +33 -0
  16. package/src/{share → agent}/tests/openapi.test.ts +2 -2
  17. package/src/{share → agent}/tests/proof.test.ts +1 -1
  18. package/src/{share → attribution}/material-credits.ts +4 -4
  19. package/src/{share → checks}/check-hints.ts +6 -1
  20. package/src/checks/index.ts +4 -1
  21. package/src/checks/lib/astro-site-url.ts +6 -1
  22. package/src/checks/lib/i18n.ts +14 -0
  23. package/src/checks/result-helpers.ts +22 -5
  24. package/src/checks/tests/remediation-auto-populate.test.ts +83 -0
  25. package/src/{share → client-scripts}/counter-utils.ts +6 -2
  26. package/src/{share/scripts → client-scripts}/external-link-qr.ts +11 -16
  27. package/src/{share/scripts → client-scripts}/external-links.ts +12 -1
  28. package/src/{share/scripts → client-scripts}/gsap-counter.ts +8 -3
  29. package/src/client-scripts/index.ts +35 -0
  30. package/src/{share/scripts → client-scripts}/inline-number-animation.ts +1 -1
  31. package/src/{share/scripts → client-scripts}/lenis.ts +6 -1
  32. package/src/{share/scripts → client-scripts}/lordicon.ts +6 -1
  33. package/src/{share/scripts → client-scripts}/orchestrator.ts +10 -1
  34. package/src/{share/scripts → client-scripts}/scheduler.ts +6 -1
  35. package/src/client-scripts/scroll-spy.ts +106 -0
  36. package/src/client-scripts/tests/external-link-qr.test.ts +8 -0
  37. package/src/client-scripts/tests/external-links.test.ts +25 -0
  38. package/src/client-scripts/tests/gsap-counter.test.ts +8 -0
  39. package/src/client-scripts/tests/gsap-mountain-journey.test.ts +8 -0
  40. package/src/client-scripts/tests/gsap-parallax.test.ts +8 -0
  41. package/src/client-scripts/tests/gsap-reveal.test.ts +8 -0
  42. package/src/client-scripts/tests/gsap-stagger.test.ts +8 -0
  43. package/src/client-scripts/tests/inline-number-animation.test.ts +8 -0
  44. package/src/client-scripts/tests/lenis.test.ts +8 -0
  45. package/src/client-scripts/tests/live-photos.test.ts +8 -0
  46. package/src/client-scripts/tests/lordicon.test.ts +8 -0
  47. package/src/client-scripts/tests/orchestrator.test.ts +47 -0
  48. package/src/client-scripts/tests/scheduler.test.ts +23 -0
  49. package/src/client-scripts/tests/scroll-spy.test.ts +204 -0
  50. package/src/{share/scripts → client-scripts/tests}/video-player.test.ts +51 -31
  51. package/src/component/contracts.ts +206 -0
  52. package/src/component/index.ts +11 -0
  53. package/src/{share → content}/content-reference.ts +3 -3
  54. package/src/{share/content → content}/entity-id.ts +6 -3
  55. package/src/content/index.ts +3 -0
  56. package/src/{share/content → content}/merge.ts +6 -1
  57. package/src/content/system-manifest.test.ts +107 -0
  58. package/src/content/system-manifest.ts +12 -94
  59. package/src/{share → content}/tests/resolve-field-path.test.ts +1 -1
  60. package/src/{share → content}/tests/substitute-deep.test.ts +1 -1
  61. package/src/content-discipline/index.ts +19 -0
  62. package/src/{share/content-discipline → content-discipline}/parsers.ts +2 -2
  63. package/src/{share/env.d.ts → env.d.ts} +6 -3
  64. package/src/fingerprint/canonical-json.ts +731 -0
  65. package/src/fingerprint/index.ts +12 -0
  66. package/src/fingerprint/primitives.ts +72 -0
  67. package/src/{share/i18n → i18n}/localization.ts +6 -2
  68. package/src/integration/adapters.ts +10 -71
  69. package/src/integration/dispatch.ts +1 -1
  70. package/src/integration/funnel.ts +6 -1
  71. package/src/integration/index.ts +101 -4
  72. package/src/integration/lagebild-destination-adapter.ts +108 -0
  73. package/src/integration/lagebild-ingress.ts +7 -12
  74. package/src/integration/orchestration.ts +11 -10
  75. package/src/integration/tests/deliver-event.test.ts +1 -1
  76. package/src/integration/tests/dispatch.test.ts +4 -4
  77. package/src/integration/tests/hub-runtime.test.ts +22 -14
  78. package/src/integration/vitest.config.ts +8 -0
  79. package/src/kernel/desired-state.ts +227 -0
  80. package/src/kernel/diagnostic.ts +289 -0
  81. package/src/kernel/fs-atomic.ts +131 -0
  82. package/src/kernel/index.ts +15 -0
  83. package/src/kernel/tests/fs-atomic.test.ts +150 -0
  84. package/src/kernel/tests/workspace-io.test.ts +187 -0
  85. package/src/kernel/types.ts +459 -0
  86. package/src/kernel/workspace-io.ts +248 -0
  87. package/src/{share → knowledge}/tests/claim.test.ts +1 -1
  88. package/src/{share → knowledge}/tests/derivation.test.ts +1 -1
  89. package/src/{share → knowledge}/tests/freshness.test.ts +1 -1
  90. package/src/{share → knowledge}/tests/ledger.test.ts +1 -1
  91. package/src/{share → knowledge}/tests/plan.test.ts +1 -1
  92. package/src/{share → knowledge}/tests/source.test.ts +1 -1
  93. package/src/legal/index.ts +15 -0
  94. package/src/{share/middleware → middleware}/access-protection.ts +8 -8
  95. package/src/{share → node}/dev-props-validator.ts +6 -1
  96. package/src/{share → node}/import-scan.ts +23 -3
  97. package/src/{share → node}/semantic/derived-prices-loader.ts +4 -2
  98. package/src/{share → node}/semantic/markdown-twin-provenance.ts +1 -1
  99. package/src/node/tests/derived-prices-loader.test.ts +59 -0
  100. package/src/node/tests/markdown-twin-provenance.test.ts +152 -0
  101. package/src/observability/env-resolver.ts +6 -1
  102. package/src/observability/index.ts +6 -1
  103. package/src/observability/otlp-converter.ts +6 -1
  104. package/src/observability/otlp-transport.ts +6 -1
  105. package/src/observability/pusher.ts +6 -1
  106. package/src/observability/redact.ts +6 -1
  107. package/src/observability/typed-refs.ts +6 -2
  108. package/src/observability/vitest.config.ts +1 -0
  109. package/src/{share → offers}/formula-eval.ts +3 -3
  110. package/src/{share → offers}/tests/formula-eval.test.ts +2 -2
  111. package/src/onboarding/index.ts +1 -0
  112. package/src/{share → onboarding}/tests/onboarding-yaml.test.ts +1 -1
  113. package/src/ontology/archetype-registry.ts +6 -1
  114. package/src/ontology/archetypes/index.json +33 -1
  115. package/src/ontology/archetypes/index.yaml +27 -1
  116. package/src/ontology/archetypes/sections/entity-grid.yaml +46 -0
  117. package/src/ontology/archetypes/sections/exit-diagram.yaml +43 -0
  118. package/src/ontology/biome-token-projection.ts +6 -1
  119. package/src/ontology/cosmic/index.ts +6 -1
  120. package/src/ontology/cosmic/moon-catalog.ts +6 -1
  121. package/src/ontology/cosmic/planet-catalog.ts +6 -1
  122. package/src/ontology/cosmic/star-catalog.ts +6 -1
  123. package/src/ontology/enums.ts +6 -1
  124. package/src/ontology/external-surfaces/index.ts +1 -1
  125. package/src/ontology/index.ts +6 -2
  126. package/src/ontology/manifest.ts +26 -4
  127. package/src/ontology/operations/artifact-store.ts +45 -0
  128. package/src/ontology/operations/dht.ts +98 -0
  129. package/src/ontology/operations/handoff.ts +92 -0
  130. package/src/ontology/operations/index.ts +187 -1
  131. package/src/ontology/operations/leitstand.ts +99 -0
  132. package/src/ontology/operations/materialization.ts +90 -0
  133. package/src/ontology/operations/mission.ts +111 -0
  134. package/src/ontology/operations/naming-policy.ts +132 -0
  135. package/src/ontology/operations/notausgang.ts +64 -0
  136. package/src/ontology/operations/release.ts +121 -0
  137. package/src/ontology/operations/sternsystem.ts +192 -0
  138. package/src/ontology/operations/werkstatt.ts +48 -0
  139. package/src/ontology/schemas/biome.ts +7 -2
  140. package/src/ontology/schemas/capability.ts +1 -1
  141. package/src/ontology/schemas/constellation.ts +6 -1
  142. package/src/ontology/schemas/index.ts +6 -2
  143. package/src/ontology/schemas/manifest-resolver.ts +6 -1
  144. package/src/ontology/schemas/page-entry.ts +9 -5
  145. package/src/ontology/schemas/system/growth.ts +6 -1
  146. package/src/ontology/schemas/system/manifest.ts +40 -1
  147. package/src/ontology/schemas/system/page-output.ts +7 -6
  148. package/src/ontology/schemas/system/tests/growth.test.ts +22 -0
  149. package/src/ontology/schemas/system/tests/integrations.test.ts +12 -0
  150. package/src/ontology/schemas/system/tests/manifest.test.ts +22 -0
  151. package/src/ontology/schemas/system/tests/page-output.test.ts +13 -0
  152. package/src/ontology/schemas/system/tests/release.test.ts +22 -0
  153. package/src/ontology/schemas/system/tests/text.test.ts +18 -0
  154. package/src/ontology/schemas/system/tests/verification.test.ts +12 -0
  155. package/src/ontology/schemas/system/text.ts +15 -0
  156. package/src/ontology/schemas/system.ts +6 -2
  157. package/src/ontology/schemas/tests/biome.test.ts +19 -0
  158. package/src/ontology/schemas/tests/capability.test.ts +22 -0
  159. package/src/ontology/schemas/tests/constellation.test.ts +22 -0
  160. package/src/ontology/schemas/tests/dns-records.test.ts +13 -0
  161. package/src/ontology/schemas/tests/manifest-resolver.test.ts +13 -0
  162. package/src/ontology/schemas/tests/page-entry.test.ts +22 -0
  163. package/src/ontology/schemas/tests/section-archetype.test.ts +12 -0
  164. package/src/ontology/schemas/tests/site-family.test.ts +18 -0
  165. package/src/ontology/schemas/tests/system.test.ts +20 -0
  166. package/src/ontology/shared-section-props/body-fragments.ts +2 -0
  167. package/src/ontology/tests/sternsystem-owner.test.ts +1 -1
  168. package/src/ontology/vitest.config.ts +1 -0
  169. package/src/{share → page}/page.ts +13 -9
  170. package/src/{share → page}/tests/dev-props-validator.test.ts +1 -1
  171. package/src/{share → page}/tests/hero-section-numbering-parity.test.ts +1 -1
  172. package/src/passport/index.ts +6 -1
  173. package/src/passport/key-rotate.ts +10 -2
  174. package/src/passport/schema.ts +6 -1
  175. package/src/passport/sign.ts +8 -3
  176. package/src/passport/vitest.config.ts +1 -0
  177. package/src/pbt/index.test.ts +95 -0
  178. package/src/pbt/index.ts +251 -0
  179. package/src/plugin/plugin-contract.ts +1 -1
  180. package/src/{share → policy}/entitlement.ts +24 -4
  181. package/src/{share → policy}/feature-policy.ts +8 -3
  182. package/src/{share → policy}/visibility.ts +7 -2
  183. package/src/redirects/redirects.ts +117 -0
  184. package/src/{share → redirects/tests}/redirects.test.ts +1 -1
  185. package/src/remediation/remediation-catalog.ts +316 -0
  186. package/src/{share/routes → routes}/template-filter.ts +1 -1
  187. package/src/{share → runtime}/runtime-context.ts +7 -2
  188. package/src/{share → runtime}/shared-context.ts +1 -1
  189. package/src/{share/schemas → schemas}/claims.ts +2 -2
  190. package/src/{share/schemas → schemas}/effects.ts +6 -1
  191. package/src/{share/schemas → schemas}/features.ts +1 -1
  192. package/src/{share/schemas → schemas}/index.ts +3 -3
  193. package/src/{share/schemas → schemas}/navigation.ts +6 -1
  194. package/src/{share/schemas → schemas}/page-base.ts +6 -2
  195. package/src/{share/schemas → schemas}/person.ts +1 -1
  196. package/src/{share/schemas → schemas}/standard-list-item.ts +1 -1
  197. package/src/schemas/tests/claim-records.test.ts +52 -0
  198. package/src/schemas/tests/claims.test.ts +23 -0
  199. package/src/schemas/tests/effects.test.ts +116 -0
  200. package/src/schemas/tests/features.test.ts +61 -0
  201. package/src/schemas/tests/horizontal-align.test.ts +16 -0
  202. package/src/schemas/tests/icon-color.test.ts +16 -0
  203. package/src/schemas/tests/live-photo.test.ts +40 -0
  204. package/src/schemas/tests/material-credit.test.ts +51 -0
  205. package/src/schemas/tests/media.test.ts +26 -0
  206. package/src/schemas/tests/navigation.test.ts +58 -0
  207. package/src/schemas/tests/page-base.test.ts +19 -0
  208. package/src/schemas/tests/participant.test.ts +26 -0
  209. package/src/schemas/tests/person.test.ts +12 -0
  210. package/src/schemas/tests/print.test.ts +30 -0
  211. package/src/schemas/tests/section-background.test.ts +31 -0
  212. package/src/schemas/tests/section-body.test.ts +16 -0
  213. package/src/schemas/tests/section-cards.test.ts +17 -0
  214. package/src/schemas/tests/section-cta.test.ts +41 -0
  215. package/src/schemas/tests/section-header.test.ts +31 -0
  216. package/src/schemas/tests/section-image.test.ts +24 -0
  217. package/src/schemas/tests/section-motion.test.ts +29 -0
  218. package/src/schemas/tests/section-shell.test.ts +42 -0
  219. package/src/schemas/tests/section-stats.test.ts +17 -0
  220. package/src/schemas/tests/site-background.test.ts +33 -0
  221. package/src/schemas/tests/standard-list-item.test.ts +16 -0
  222. package/src/{share → sections}/rfc0042-utils.ts +1 -1
  223. package/src/{share/semantic → semantic}/block-extractors/index.ts +20 -1
  224. package/src/{share/semantic → semantic}/business-projection.ts +95 -1
  225. package/src/semantic/canonical-uri.ts +54 -0
  226. package/src/{share/semantic → semantic}/extract.ts +100 -1
  227. package/src/semantic/fact-extraction.test.ts +47 -0
  228. package/src/semantic/fact-extraction.ts +46 -0
  229. package/src/semantic/freshness.ts +67 -0
  230. package/src/{share/semantic → semantic}/ids.ts +6 -1
  231. package/src/{share/semantic → semantic}/index.ts +9 -2
  232. package/src/{share/semantic → semantic}/jsonld/breadcrumb.ts +6 -2
  233. package/src/{share/semantic → semantic}/jsonld/context.ts +6 -2
  234. package/src/{share/semantic → semantic}/jsonld/faq.ts +6 -2
  235. package/src/{share/semantic → semantic}/jsonld/initiative.ts +6 -1
  236. package/src/{share/semantic → semantic}/jsonld/organization.ts +6 -1
  237. package/src/{share/semantic → semantic}/jsonld/person.ts +6 -2
  238. package/src/{share/semantic → semantic}/jsonld/service.ts +6 -2
  239. package/src/semantic/jsonld/shared.ts +36 -0
  240. package/src/semantic/jsonld/tests/article.test.ts +89 -0
  241. package/src/semantic/jsonld/tests/breadcrumb.test.ts +62 -0
  242. package/src/semantic/jsonld/tests/collection-list.test.ts +39 -0
  243. package/src/semantic/jsonld/tests/faq.test.ts +60 -0
  244. package/src/semantic/jsonld/tests/initiative.test.ts +56 -0
  245. package/src/semantic/jsonld/tests/organization.test.ts +123 -0
  246. package/src/semantic/jsonld/tests/person.test.ts +89 -0
  247. package/src/semantic/jsonld/tests/service.test.ts +65 -0
  248. package/src/semantic/jsonld/tests/shared.test.ts +41 -0
  249. package/src/semantic/jsonld/tests/video.test.ts +84 -0
  250. package/src/semantic/jsonld/tests/webpage.test.ts +93 -0
  251. package/src/semantic/jsonld/tests/website.test.ts +27 -0
  252. package/src/semantic/jsonld/types.ts +24 -0
  253. package/src/{share/semantic → semantic}/jsonld/webpage.ts +6 -1
  254. package/src/semantic/jsonld/website.ts +32 -0
  255. package/src/{share/semantic → semantic}/jsonld.ts +6 -1
  256. package/src/{share/semantic → semantic}/llms.ts +41 -3
  257. package/src/{share/semantic → semantic}/models.ts +27 -38
  258. package/src/{share/semantic → semantic}/organization-profile.ts +3 -0
  259. package/src/{share/semantic → semantic}/page-builders/markdown-page.ts +6 -3
  260. package/src/{share/semantic → semantic}/page-utils.ts +6 -3
  261. package/src/semantic/tests/ai.test.ts +55 -0
  262. package/src/semantic/tests/block-extraction.test.ts +34 -0
  263. package/src/{share/tests/breadcrumbs.test.ts → semantic/tests/breadcrumbs-0229.test.ts} +1 -1
  264. package/src/semantic/tests/breadcrumbs.test.ts +127 -0
  265. package/src/{share → semantic}/tests/build-page-price-markers.test.ts +2 -2
  266. package/src/semantic/tests/build-page.test.ts +122 -0
  267. package/src/semantic/tests/business-projection.test.ts +367 -0
  268. package/src/semantic/tests/canonical-uri.test.ts +56 -0
  269. package/src/semantic/tests/extract.test.ts +209 -0
  270. package/src/semantic/tests/feed.test.ts +113 -0
  271. package/src/semantic/tests/freshness.pbt.test.ts +108 -0
  272. package/src/semantic/tests/helpers.ts +32 -0
  273. package/src/semantic/tests/ids.test.ts +118 -0
  274. package/src/{share/tests/image-sitemap.test.ts → semantic/tests/image-sitemap-0150.test.ts} +1 -1
  275. package/src/semantic/tests/image-sitemap.test.ts +109 -0
  276. package/src/{share → semantic}/tests/jsonld-service.test.ts +2 -2
  277. package/src/{share → semantic}/tests/jsonld-video.test.ts +3 -3
  278. package/src/{share → semantic}/tests/jsonld-webpage.test.ts +3 -3
  279. package/src/semantic/tests/jsonld.test.ts +61 -0
  280. package/src/{share → semantic}/tests/llms-0789.test.ts +2 -2
  281. package/src/semantic/tests/llms-policy.test.ts +60 -0
  282. package/src/semantic/tests/llms.test.ts +164 -0
  283. package/src/semantic/tests/markdown-hygiene.test.ts +72 -0
  284. package/src/semantic/tests/markdown-page.test.ts +97 -0
  285. package/src/{share → semantic}/tests/organization-jsonld.test.ts +3 -3
  286. package/src/semantic/tests/organization-profile.test.ts +107 -0
  287. package/src/{share/tests/output-projection.test.ts → semantic/tests/output-projection-0143.test.ts} +1 -1
  288. package/src/semantic/tests/output-projection.test.ts +77 -0
  289. package/src/semantic/tests/page-markdown.test.ts +98 -0
  290. package/src/semantic/tests/page-utils.test.ts +88 -0
  291. package/src/{share/tests/price-marker-resolver.test.ts → semantic/tests/price-marker-resolver-0767.test.ts} +2 -2
  292. package/src/semantic/tests/price-marker-resolver.test.ts +90 -0
  293. package/src/semantic/tests/project-claims.pbt.test.ts +60 -0
  294. package/src/semantic/tests/robots.test.ts +70 -0
  295. package/src/{share/semantic → semantic}/tests/split-sentences.test.ts +1 -1
  296. package/src/{share → semantic}/tests/twin-path.test.ts +1 -1
  297. package/src/semantic/tests/update-stamp.test.ts +102 -0
  298. package/src/signing/index.ts +13 -0
  299. package/src/signing/key.ts +139 -0
  300. package/src/signing/sign.ts +66 -0
  301. package/src/signing/types.ts +29 -0
  302. package/src/{share/slug → slug}/slug-url.ts +4 -1
  303. package/src/stack/run-tool.ts +108 -0
  304. package/src/stack/stack-checks.ts +124 -0
  305. package/src/stack/tests/run-tool.test.ts +138 -0
  306. package/src/stack/tests/stack-checks.test.ts +141 -0
  307. package/src/stack/tests/walk-files.test.ts +131 -0
  308. package/src/stack/walk-files.ts +114 -0
  309. package/src/surface/blueprint.ts +342 -66
  310. package/src/surface/decision-composer.ts +6 -1
  311. package/src/surface/geo.ts +6 -1
  312. package/src/surface/index.ts +11 -7
  313. package/src/surface/types.ts +2 -2
  314. package/src/surface/vitest.config.ts +1 -0
  315. package/src/tests/signing-core.test.ts +129 -0
  316. package/src/{share → text}/css-value-normalize.ts +6 -1
  317. package/src/text/string-utils.ts +24 -0
  318. package/src/{share → text}/tests/text-normalize.test.ts +5 -0
  319. package/src/{share → text}/text-normalize.ts +4 -3
  320. package/src/{share → text}/wrap-inline-numbers.ts +1 -1
  321. package/src/types/axiom-study.d.ts +36 -0
  322. package/src/types/hls-js-light.d.ts +21 -0
  323. package/src/types/qrcode-browser.d.ts +23 -0
  324. package/src/typography/fix.pbt.test.ts +208 -0
  325. package/src/typography/fix.ts +148 -0
  326. package/src/typography/index.ts +54 -0
  327. package/src/typography/locale-defaults.ts +97 -0
  328. package/src/typography/rules-tier1.test.ts +459 -0
  329. package/src/typography/rules-tier1.ts +925 -0
  330. package/src/typography/rules-tier2-locale.pbt.test.ts +190 -0
  331. package/src/typography/rules-tier2-locale.test.ts +286 -0
  332. package/src/typography/rules-tier2-locale.ts +399 -0
  333. package/src/typography/rules-tier2-structure.test.ts +330 -0
  334. package/src/typography/rules-tier2-structure.ts +378 -0
  335. package/src/typography/rules-tier3-advisory.test.ts +290 -0
  336. package/src/typography/rules-tier3-advisory.ts +239 -0
  337. package/src/typography/text-surface.test.ts +244 -0
  338. package/src/typography/text-surface.ts +448 -0
  339. package/src/index.ts +0 -14
  340. package/src/integration/port-barrel.ts +0 -105
  341. package/src/share/content/index.ts +0 -16
  342. package/src/share/content-discipline/index.ts +0 -14
  343. package/src/share/index.ts +0 -86
  344. package/src/share/legal/index.ts +0 -1
  345. package/src/share/redirects.ts +0 -54
  346. package/src/share/scripts/index.ts +0 -26
  347. package/src/share/semantic/jsonld/shared.ts +0 -31
  348. package/src/share/semantic/jsonld/types.ts +0 -18
  349. package/src/share/semantic/jsonld/website.ts +0 -27
  350. package/src/share/string-utils.ts +0 -19
  351. package/src/share/types/axiom-study.d.ts +0 -22
  352. package/src/share/types/hls-js-light.d.ts +0 -16
  353. package/src/share/types/qrcode-browser.d.ts +0 -18
  354. package/src/share/utility-registry.yaml +0 -36
  355. package/src/share/vitest.config.ts +0 -8
  356. package/src/surface/blueprint-schema.ts +0 -314
  357. package/src/surface/blueprint-types.ts +0 -256
  358. /package/src/{share/agent → agent}/api-catalog.ts +0 -0
  359. /package/src/{share/agent → agent}/capability.ts +0 -0
  360. /package/src/{share/agent → agent}/dns-aid.ts +0 -0
  361. /package/src/{share/agent → agent}/fleet-catalog.ts +0 -0
  362. /package/src/{share/agent → agent}/index.ts +0 -0
  363. /package/src/{share/agent → agent}/knowledge.ts +0 -0
  364. /package/src/{share/agent → agent}/mcp-card.ts +0 -0
  365. /package/src/{share/agent → agent}/omit-empty.ts +0 -0
  366. /package/src/{share/agent → agent}/openapi.ts +0 -0
  367. /package/src/{share/agent → agent}/proof.ts +0 -0
  368. /package/src/{share/agent → agent}/search.test.ts +0 -0
  369. /package/src/{share → attribution}/attribution-display.ts +0 -0
  370. /package/src/{share/scripts → client-scripts}/gsap-mountain-journey.ts +0 -0
  371. /package/src/{share/scripts → client-scripts}/gsap-parallax.ts +0 -0
  372. /package/src/{share/scripts → client-scripts}/gsap-reveal.ts +0 -0
  373. /package/src/{share/scripts → client-scripts}/gsap-stagger.ts +0 -0
  374. /package/src/{share/scripts → client-scripts}/live-photos.ts +0 -0
  375. /package/src/{share/scripts → client-scripts}/video-player.ts +0 -0
  376. /package/src/{share/content → content}/resolve-field-path.ts +0 -0
  377. /package/src/{share/content → content}/substitute-deep.ts +0 -0
  378. /package/src/{share → content}/tests/content-ref-index.test.ts +0 -0
  379. /package/src/{share/content-discipline → content-discipline}/types.ts +0 -0
  380. /package/src/{share → image-provider}/image-provider.ts +0 -0
  381. /package/src/{share/knowledge → knowledge}/claim.ts +0 -0
  382. /package/src/{share/knowledge → knowledge}/derivation.ts +0 -0
  383. /package/src/{share/knowledge → knowledge}/freshness.ts +0 -0
  384. /package/src/{share/knowledge → knowledge}/index.ts +0 -0
  385. /package/src/{share/knowledge → knowledge}/ledger.ts +0 -0
  386. /package/src/{share/knowledge → knowledge}/plan.ts +0 -0
  387. /package/src/{share/knowledge → knowledge}/source.ts +0 -0
  388. /package/src/{share/legal → legal}/translation-policy.ts +0 -0
  389. /package/src/{share/middleware → middleware}/language-redirect.ts +0 -0
  390. /package/src/{share/middleware → middleware}/tests/access-protection.test.ts +0 -0
  391. /package/src/{share → node}/fs/index.ts +0 -0
  392. /package/src/{share/tests/markdown-twin-provenance.test.ts → node/tests/markdown-twin-provenance-0613.test.ts} +0 -0
  393. /package/src/{share → offers}/offer-capacity.ts +0 -0
  394. /package/src/{share/onboarding-yaml/index.ts → onboarding/yaml.ts} +0 -0
  395. /package/src/{share → ontology}/tests/ontology-role-by-cosmic-name.test.ts +0 -0
  396. /package/src/{share/routes → routes}/tests/template-filter.test.ts +0 -0
  397. /package/src/{share/schemas → schemas}/claim-records.ts +0 -0
  398. /package/src/{share/schemas → schemas}/horizontal-align.ts +0 -0
  399. /package/src/{share/schemas → schemas}/icon-color.ts +0 -0
  400. /package/src/{share/schemas → schemas}/live-photo.ts +0 -0
  401. /package/src/{share/schemas → schemas}/material-credit.ts +0 -0
  402. /package/src/{share/schemas → schemas}/media.ts +0 -0
  403. /package/src/{share/schemas → schemas}/participant.ts +0 -0
  404. /package/src/{share/schemas → schemas}/print.ts +0 -0
  405. /package/src/{share/schemas → schemas}/section-background.ts +0 -0
  406. /package/src/{share/schemas → schemas}/section-body.ts +0 -0
  407. /package/src/{share/schemas → schemas}/section-cards.ts +0 -0
  408. /package/src/{share/schemas → schemas}/section-cta.ts +0 -0
  409. /package/src/{share/schemas → schemas}/section-header.ts +0 -0
  410. /package/src/{share/schemas → schemas}/section-image.ts +0 -0
  411. /package/src/{share/schemas → schemas}/section-motion.ts +0 -0
  412. /package/src/{share/schemas → schemas}/section-shell.ts +0 -0
  413. /package/src/{share/schemas → schemas}/section-stats.ts +0 -0
  414. /package/src/{share/schemas → schemas}/site-background.ts +0 -0
  415. /package/src/{share/semantic → semantic}/ai.ts +0 -0
  416. /package/src/{share/semantic → semantic}/block-extraction.ts +0 -0
  417. /package/src/{share/semantic → semantic}/breadcrumbs.ts +0 -0
  418. /package/src/{share/semantic → semantic}/build-page.ts +0 -0
  419. /package/src/{share/semantic → semantic}/feed.ts +0 -0
  420. /package/src/{share/semantic → semantic}/image-sitemap.ts +0 -0
  421. /package/src/{share/semantic → semantic}/jsonld/article.ts +0 -0
  422. /package/src/{share/semantic → semantic}/jsonld/collection-list.ts +0 -0
  423. /package/src/{share/semantic → semantic}/jsonld/video.ts +0 -0
  424. /package/src/{share/semantic → semantic}/llms-policy.ts +0 -0
  425. /package/src/{share/semantic → semantic}/markdown-hygiene.ts +0 -0
  426. /package/src/{share/semantic → semantic}/output-projection.ts +0 -0
  427. /package/src/{share/semantic → semantic}/page-markdown.ts +0 -0
  428. /package/src/{share/semantic → semantic}/price-marker-resolver.ts +0 -0
  429. /package/src/{share/semantic → semantic}/robots.ts +0 -0
  430. /package/src/{share/semantic → semantic}/update-stamp.ts +0 -0
  431. /package/src/{share/slug → slug}/heading-slugger.ts +0 -0
  432. /package/src/{share/slug → slug}/index.ts +0 -0
  433. /package/src/{share/slug → slug}/slug-id.ts +0 -0
  434. /package/src/{share/slug → slug}/strategies.ts +0 -0
  435. /package/src/{share/slug → slug}/tests/slug.test.ts +0 -0
  436. /package/src/{share → text}/tests/text-normalize.pbt.test.ts +0 -0
  437. /package/src/{share → text}/text-position.ts +0 -0
@@ -10,7 +10,12 @@
10
10
  </non-goals>
11
11
  </MODULE_CONTRACT>
12
12
  <CHANGE_SUMMARY>
13
- <item>Architecture review 2026-07-14: extract env resolution from pusher.ts.</item>
13
+ <item>RFC-1097: step 6 — compass.migrate codemod run
14
+
15
+ Mechanical v1 to v2 header migration across the workspace: 942 files rewritten — CHANGE_SUMMARY windows collapsed into history, forbidden v1 blocks stripped, KEY_DECISIONS seeded from @ai-invariant comments (5 files) or TODO placeholders (103 files), blocks reordered to canonical order.</item>
16
+ <item>RFC-1097: sweep — werkstatt-engine clean
17
+
18
+ Sweep batch 4: 73 Compass headers on headerless engine files (certification, component-runtime, isolation, evolution, testing), real KEY_DECISIONS on 75 files (kernel, cache, dht, swim, gitmesh, runtime), ~80 purpose expansions (CONTRACT-02/PURPOSE-02), non-goals on 13 CONTRACT-03 files, CS-07 history literal fix repo-wide (253 files). Policy: .template.ts/.template.astro excludedPaths. werkstatt-engine now 0 diagnostics.</item>
14
19
  </CHANGE_SUMMARY>
15
20
  */
16
21
 
@@ -7,7 +7,12 @@
7
7
  </MODULE_CONTRACT>
8
8
  <CHANGE_SUMMARY>
9
9
  <item>RFC-0337: initial implementation.</item>
10
- <item>Deepening: extract convertAccumulatedToOtlp pure function, add METRIC_REFS typed references, remove speculative exports.</item>
10
+ <item>RFC-1097: step 6 — compass.migrate codemod run
11
+
12
+ Mechanical v1 to v2 header migration across the workspace: 942 files rewritten — CHANGE_SUMMARY windows collapsed into history, forbidden v1 blocks stripped, KEY_DECISIONS seeded from @ai-invariant comments (5 files) or TODO placeholders (103 files), blocks reordered to canonical order.</item>
13
+ <item>RFC-1097: sweep — werkstatt-engine clean
14
+
15
+ Sweep batch 4: 73 Compass headers on headerless engine files (certification, component-runtime, isolation, evolution, testing), real KEY_DECISIONS on 75 files (kernel, cache, dht, swim, gitmesh, runtime), ~80 purpose expansions (CONTRACT-02/PURPOSE-02), non-goals on 13 CONTRACT-03 files, CS-07 history literal fix repo-wide (253 files). Policy: .template.ts/.template.astro excludedPaths. werkstatt-engine now 0 diagnostics.</item>
11
16
  </CHANGE_SUMMARY>
12
17
  */
13
18
 
@@ -9,7 +9,12 @@
9
9
  @ai-invariant: Histogram bucket boundaries are inclusive — a value exactly on a bound goes into the lower bucket (value <= bounds[i]).
10
10
  </MODULE_CONTRACT>
11
11
  <CHANGE_SUMMARY>
12
- <item>Extract pure OTLP conversion pipeline from pusher.ts flush() for interface-level testability.</item>
12
+ <item>RFC-1097: step 6 — compass.migrate codemod run
13
+
14
+ Mechanical v1 to v2 header migration across the workspace: 942 files rewritten — CHANGE_SUMMARY windows collapsed into history, forbidden v1 blocks stripped, KEY_DECISIONS seeded from @ai-invariant comments (5 files) or TODO placeholders (103 files), blocks reordered to canonical order.</item>
15
+ <item>RFC-1097: sweep — werkstatt-engine clean
16
+
17
+ Sweep batch 4: 73 Compass headers on headerless engine files (certification, component-runtime, isolation, evolution, testing), real KEY_DECISIONS on 75 files (kernel, cache, dht, swim, gitmesh, runtime), ~80 purpose expansions (CONTRACT-02/PURPOSE-02), non-goals on 13 CONTRACT-03 files, CS-07 history literal fix repo-wide (253 files). Policy: .template.ts/.template.astro excludedPaths. werkstatt-engine now 0 diagnostics.</item>
13
18
  </CHANGE_SUMMARY>
14
19
  */
15
20
 
@@ -10,7 +10,12 @@
10
10
  </non-goals>
11
11
  </MODULE_CONTRACT>
12
12
  <CHANGE_SUMMARY>
13
- <item>Architecture review 2026-07-14: extract OtlpTransport port from pusher.ts.</item>
13
+ <item>RFC-1097: step 6 — compass.migrate codemod run
14
+
15
+ Mechanical v1 to v2 header migration across the workspace: 942 files rewritten — CHANGE_SUMMARY windows collapsed into history, forbidden v1 blocks stripped, KEY_DECISIONS seeded from @ai-invariant comments (5 files) or TODO placeholders (103 files), blocks reordered to canonical order.</item>
16
+ <item>RFC-1097: sweep — werkstatt-engine clean
17
+
18
+ Sweep batch 4: 73 Compass headers on headerless engine files (certification, component-runtime, isolation, evolution, testing), real KEY_DECISIONS on 75 files (kernel, cache, dht, swim, gitmesh, runtime), ~80 purpose expansions (CONTRACT-02/PURPOSE-02), non-goals on 13 CONTRACT-03 files, CS-07 history literal fix repo-wide (253 files). Policy: .template.ts/.template.astro excludedPaths. werkstatt-engine now 0 diagnostics.</item>
14
19
  </CHANGE_SUMMARY>
15
20
  */
16
21
 
@@ -9,7 +9,12 @@
9
9
  </MODULE_CONTRACT>
10
10
  <CHANGE_SUMMARY>
11
11
  <item>RFC-0337: initial implementation.</item>
12
- <item>Deepening: extract OTLP conversion to otlp-converter.ts pure function.</item>
12
+ <item>RFC-1097: step 6 — compass.migrate codemod run
13
+
14
+ Mechanical v1 to v2 header migration across the workspace: 942 files rewritten — CHANGE_SUMMARY windows collapsed into history, forbidden v1 blocks stripped, KEY_DECISIONS seeded from @ai-invariant comments (5 files) or TODO placeholders (103 files), blocks reordered to canonical order.</item>
15
+ <item>RFC-1097: sweep — werkstatt-engine clean
16
+
17
+ Sweep batch 4: 73 Compass headers on headerless engine files (certification, component-runtime, isolation, evolution, testing), real KEY_DECISIONS on 75 files (kernel, cache, dht, swim, gitmesh, runtime), ~80 purpose expansions (CONTRACT-02/PURPOSE-02), non-goals on 13 CONTRACT-03 files, CS-07 history literal fix repo-wide (253 files). Policy: .template.ts/.template.astro excludedPaths. werkstatt-engine now 0 diagnostics.</item>
13
18
  </CHANGE_SUMMARY>
14
19
  */
15
20
 
@@ -8,7 +8,12 @@
8
8
  </MODULE_CONTRACT>
9
9
  <CHANGE_SUMMARY>
10
10
  <item>RFC-0337: initial implementation.</item>
11
- <item>Fix 2026-07-11: only trim the URL root slash so redaction is idempotent for multi-slash paths.</item>
11
+ <item>RFC-1097: step 6 — compass.migrate codemod run
12
+
13
+ Mechanical v1 to v2 header migration across the workspace: 942 files rewritten — CHANGE_SUMMARY windows collapsed into history, forbidden v1 blocks stripped, KEY_DECISIONS seeded from @ai-invariant comments (5 files) or TODO placeholders (103 files), blocks reordered to canonical order.</item>
14
+ <item>RFC-1097: sweep — werkstatt-engine clean
15
+
16
+ Sweep batch 4: 73 Compass headers on headerless engine files (certification, component-runtime, isolation, evolution, testing), real KEY_DECISIONS on 75 files (kernel, cache, dht, swim, gitmesh, runtime), ~80 purpose expansions (CONTRACT-02/PURPOSE-02), non-goals on 13 CONTRACT-03 files, CS-07 history literal fix repo-wide (253 files). Policy: .template.ts/.template.astro excludedPaths. werkstatt-engine now 0 diagnostics.</item>
12
17
  </CHANGE_SUMMARY>
13
18
  */
14
19
 
@@ -8,9 +8,13 @@
8
8
  @ai-invariant: METRIC_REFS keys must match WARPGOGOL_METRIC_REGISTRY names exactly — enforced by compile-time type assertion below.
9
9
  </MODULE_CONTRACT>
10
10
  <CHANGE_SUMMARY>
11
- <item>Add typed metric references for compile-time label-key enforcement across all consumers.</item>
12
- <item>wg-review: correct non-goals, add compile-time registry-coverage assertion.</item>
13
11
  <item>RFC-0807: add back prefix metric refs for service health monitoring.</item>
12
+ <item>RFC-1097: step 6 — compass.migrate codemod run
13
+
14
+ Mechanical v1 to v2 header migration across the workspace: 942 files rewritten — CHANGE_SUMMARY windows collapsed into history, forbidden v1 blocks stripped, KEY_DECISIONS seeded from @ai-invariant comments (5 files) or TODO placeholders (103 files), blocks reordered to canonical order.</item>
15
+ <item>RFC-1097: sweep — werkstatt-engine clean
16
+
17
+ Sweep batch 4: 73 Compass headers on headerless engine files (certification, component-runtime, isolation, evolution, testing), real KEY_DECISIONS on 75 files (kernel, cache, dht, swim, gitmesh, runtime), ~80 purpose expansions (CONTRACT-02/PURPOSE-02), non-goals on 13 CONTRACT-03 files, CS-07 history literal fix repo-wide (253 files). Policy: .template.ts/.template.astro excludedPaths. werkstatt-engine now 0 diagnostics.</item>
14
18
  </CHANGE_SUMMARY>
15
19
  */
16
20
 
@@ -3,6 +3,7 @@ import { defineConfig } from "vitest/config";
3
3
  export default defineConfig({
4
4
  test: {
5
5
  environment: "node",
6
+ testTimeout: 30_000,
6
7
  include: ["src/**/*.test.ts"],
7
8
  },
8
9
  });
@@ -5,7 +5,7 @@ scans text for =(...) formula expressions, and evaluates arithmetic over content
5
5
  using a sandboxed math parser (expr-eval). RFC-0729: pipe syntax for post-evaluation formatting,
6
6
  plugin-registration formatter registry, and money formatter built on Intl.NumberFormat.</purpose>
7
7
  <non-goals>
8
- <item>Do not resolve content references directly — use resolveReference from @warpgogol/werkstatt-shared/share/content-reference.</item>
8
+ <item>Do not resolve content references directly — use resolveReference from @warpgogol/werkstatt-shared/content/content-reference.</item>
9
9
  <item>Do not support non-arithmetic expressions (string concatenation, conditionals, date math).</item>
10
10
  <item>Do not add formatters other than money — date, percent, unit formatters are follow-up RFCs.</item>
11
11
  </non-goals>
@@ -19,8 +19,8 @@ plugin-registration formatter registry, and money formatter built on Intl.Number
19
19
  */
20
20
 
21
21
  import { Parser } from "expr-eval";
22
- import type { ContentRefIndex, SourceRef } from "./content-reference.ts";
23
- import { resolveReference } from "./content-reference.ts";
22
+ import type { ContentRefIndex, SourceRef } from "../content/content-reference.ts";
23
+ import { resolveReference } from "../content/content-reference.ts";
24
24
 
25
25
  export interface FormulaResolution {
26
26
  value: string;
@@ -13,8 +13,8 @@ import {
13
13
  registerPipeFormatter,
14
14
  getPipeFormatter,
15
15
  } from "../formula-eval.ts";
16
- import type { ContentRefIndex, SourceRef } from "../content-reference.ts";
17
- import { EMPTY_CONTENT_REF_INDEX } from "../content-reference.ts";
16
+ import type { ContentRefIndex, SourceRef } from "../../content/content-reference.ts";
17
+ import { EMPTY_CONTENT_REF_INDEX } from "../../content/content-reference.ts";
18
18
 
19
19
  describe("extractNumeric", () => {
20
20
  it("extracts number from string with currency suffix", () => {
@@ -18,3 +18,4 @@ export {
18
18
  parseMarkdownAsYaml,
19
19
  } from "./brief.ts";
20
20
  export type { Brief } from "./brief.ts";
21
+ export * from "./yaml.ts";
@@ -23,7 +23,7 @@ import {
23
23
  parseOnboardingArtifactHeader,
24
24
  parseOnboardingArtifactPayload,
25
25
  RFC_METADATA_KEYS,
26
- } from "../onboarding-yaml/index.ts";
26
+ } from "../yaml.ts";
27
27
 
28
28
  const HEADER_FIXTURE = `phase: 04-author
29
29
  derivedFromInputHash: sha256:deadbeef
@@ -14,7 +14,12 @@ fast instead of producing silently empty maps.
14
14
  <CHANGE_SUMMARY>
15
15
  <item>RFC-0091: Initial creation — typed re-export of derived archetype registry maps.</item>
16
16
  <item>RFC-0263: also re-export roleByCosmicName (manifest-authored role, derived) — replaces name-keyed dispatch literals in packages/share.</item>
17
- <item>Architecture review 2026-07-10: validate index.json with Zod instead of unchecked cast — fail-fast on registry shape drift.</item>
17
+ <item>RFC-1097: step 6 — compass.migrate codemod run
18
+
19
+ Mechanical v1 to v2 header migration across the workspace: 942 files rewritten — CHANGE_SUMMARY windows collapsed into history, forbidden v1 blocks stripped, KEY_DECISIONS seeded from @ai-invariant comments (5 files) or TODO placeholders (103 files), blocks reordered to canonical order.</item>
20
+ <item>RFC-1097: sweep — werkstatt-engine clean
21
+
22
+ Sweep batch 4: 73 Compass headers on headerless engine files (certification, component-runtime, isolation, evolution, testing), real KEY_DECISIONS on 75 files (kernel, cache, dht, swim, gitmesh, runtime), ~80 purpose expansions (CONTRACT-02/PURPOSE-02), non-goals on 13 CONTRACT-03 files, CS-07 history literal fix repo-wide (253 files). Policy: .template.ts/.template.astro excludedPaths. werkstatt-engine now 0 diagnostics.</item>
18
23
  </CHANGE_SUMMARY>
19
24
  */
20
25
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "schemaVersion": "1.0.0",
3
- "totalCount": 59,
3
+ "totalCount": 61,
4
4
  "entries": [
5
5
  {
6
6
  "id": "approach",
@@ -182,6 +182,30 @@
182
182
  "sourceFile": "packages/werkstatt-site/src/domain/ontology/archetypes/sections/dynamic-status-block.yaml",
183
183
  "layer": "section"
184
184
  },
185
+ {
186
+ "id": "entity-grid",
187
+ "displayName": "Engineering entity grid",
188
+ "semanticRole": "entity-composition-grid",
189
+ "version": "1.0.0",
190
+ "layoutHint": "card-grid",
191
+ "acceptedCosmicNames": [
192
+ "Ixion"
193
+ ],
194
+ "sourceFile": "packages/werkstatt-site/src/domain/ontology/archetypes/sections/entity-grid.yaml",
195
+ "layer": "section"
196
+ },
197
+ {
198
+ "id": "exit-diagram",
199
+ "displayName": "Exit-process diagram",
200
+ "semanticRole": "exit-flow-visualization",
201
+ "version": "1.0.0",
202
+ "layoutHint": "single-column",
203
+ "acceptedCosmicNames": [
204
+ "Haumea"
205
+ ],
206
+ "sourceFile": "packages/werkstatt-site/src/domain/ontology/archetypes/sections/exit-diagram.yaml",
207
+ "layer": "section"
208
+ },
185
209
  {
186
210
  "id": "faq-list",
187
211
  "displayName": "Faq List",
@@ -723,7 +747,9 @@
723
747
  "data-driven-status-indicator",
724
748
  "donation-card",
725
749
  "donation-use",
750
+ "entity-composition-grid",
726
751
  "exit-clause-disclosure",
752
+ "exit-flow-visualization",
727
753
  "faq-list",
728
754
  "final-cta",
729
755
  "hero",
@@ -788,6 +814,8 @@
788
814
  "Pandora": "@warpgogol/werkstatt-site/ui/sections/donation-card",
789
815
  "Rhea": "@warpgogol/werkstatt-site/ui/sections/donation-use",
790
816
  "Elara": "@warpgogol/werkstatt-site/ui/sections/dynamic-status-block",
817
+ "Ixion": "@warpgogol/werkstatt-site/ui/sections/entity-grid",
818
+ "Haumea": "@warpgogol/werkstatt-site/ui/sections/exit-diagram",
791
819
  "Atlas": "@warpgogol/werkstatt-site/ui/sections/faq-list",
792
820
  "Dione": "@warpgogol/werkstatt-site/ui/sections/final-cta",
793
821
  "Gonggong": "@warpgogol/werkstatt-site/ui/sections/gratitude",
@@ -867,6 +895,8 @@
867
895
  "donation-card": "Pandora",
868
896
  "donation-use": "Rhea",
869
897
  "dynamic-status-block": "Elara",
898
+ "entity-grid": "Ixion",
899
+ "exit-diagram": "Haumea",
870
900
  "faq-list": "Atlas",
871
901
  "final-cta": "Dione",
872
902
  "gratitude": "Gonggong",
@@ -950,6 +980,8 @@
950
980
  "Pandora": "donation-use",
951
981
  "Rhea": "donation-use",
952
982
  "Elara": "data-driven-status-indicator",
983
+ "Ixion": "entity-composition-grid",
984
+ "Haumea": "exit-flow-visualization",
953
985
  "Atlas": "approach",
954
986
  "Dione": "final-cta",
955
987
  "Gonggong": "client-gratitude",
@@ -1,5 +1,5 @@
1
1
  schemaVersion: 1.0.0
2
- totalCount: 59
2
+ totalCount: 61
3
3
  entries:
4
4
  - id: approach
5
5
  displayName: Approach
@@ -136,6 +136,24 @@ entries:
136
136
  - Elara
137
137
  sourceFile: packages/werkstatt-site/src/domain/ontology/archetypes/sections/dynamic-status-block.yaml
138
138
  layer: section
139
+ - id: entity-grid
140
+ displayName: Engineering entity grid
141
+ semanticRole: entity-composition-grid
142
+ version: 1.0.0
143
+ layoutHint: card-grid
144
+ acceptedCosmicNames:
145
+ - Ixion
146
+ sourceFile: packages/werkstatt-site/src/domain/ontology/archetypes/sections/entity-grid.yaml
147
+ layer: section
148
+ - id: exit-diagram
149
+ displayName: Exit-process diagram
150
+ semanticRole: exit-flow-visualization
151
+ version: 1.0.0
152
+ layoutHint: single-column
153
+ acceptedCosmicNames:
154
+ - Haumea
155
+ sourceFile: packages/werkstatt-site/src/domain/ontology/archetypes/sections/exit-diagram.yaml
156
+ layer: section
139
157
  - id: faq-list
140
158
  displayName: Faq List
141
159
  semanticRole: faq-list
@@ -544,7 +562,9 @@ sectionRoles:
544
562
  - data-driven-status-indicator
545
563
  - donation-card
546
564
  - donation-use
565
+ - entity-composition-grid
547
566
  - exit-clause-disclosure
567
+ - exit-flow-visualization
548
568
  - faq-list
549
569
  - final-cta
550
570
  - hero
@@ -607,6 +627,8 @@ planetImportPaths:
607
627
  Pandora: "@warpgogol/werkstatt-site/ui/sections/donation-card"
608
628
  Rhea: "@warpgogol/werkstatt-site/ui/sections/donation-use"
609
629
  Elara: "@warpgogol/werkstatt-site/ui/sections/dynamic-status-block"
630
+ Ixion: "@warpgogol/werkstatt-site/ui/sections/entity-grid"
631
+ Haumea: "@warpgogol/werkstatt-site/ui/sections/exit-diagram"
610
632
  Atlas: "@warpgogol/werkstatt-site/ui/sections/faq-list"
611
633
  Dione: "@warpgogol/werkstatt-site/ui/sections/final-cta"
612
634
  Gonggong: "@warpgogol/werkstatt-site/ui/sections/gratitude"
@@ -685,6 +707,8 @@ blockTypeToCosmicName:
685
707
  donation-card: Pandora
686
708
  donation-use: Rhea
687
709
  dynamic-status-block: Elara
710
+ entity-grid: Ixion
711
+ exit-diagram: Haumea
688
712
  faq-list: Atlas
689
713
  final-cta: Dione
690
714
  gratitude: Gonggong
@@ -766,6 +790,8 @@ roleByCosmicName:
766
790
  Pandora: donation-use
767
791
  Rhea: donation-use
768
792
  Elara: data-driven-status-indicator
793
+ Ixion: entity-composition-grid
794
+ Haumea: exit-flow-visualization
769
795
  Atlas: approach
770
796
  Dione: final-cta
771
797
  Gonggong: client-gratitude
@@ -0,0 +1,46 @@
1
+ id: entity-grid
2
+ displayName: Engineering entity grid
3
+ version: 1.0.0
4
+ semanticRole: entity-composition-grid
5
+ description: |
6
+ Engineering-style entity composition grid with numbered markers and
7
+ boundaries. No glass effects. RFC-1062.
8
+ expectedIntents:
9
+ - trust
10
+ - legal-clarity
11
+ - de-risk
12
+ expectedIndustryFit:
13
+ - trades-and-construction
14
+ - consulting-and-coaching
15
+ - legal-services
16
+ layoutHint: card-grid
17
+ bodyKind: composite
18
+ recommendedItemCount:
19
+ min: 2
20
+ max: 8
21
+ propsSchema:
22
+ $shape: zod
23
+ compose:
24
+ - section-header
25
+ shape: |
26
+ z.object({
27
+ background: z.object({
28
+ kind: z.enum(["transparent", "solid"]),
29
+ }).optional(),
30
+ density: z.enum(["compact", "normal"]).optional(),
31
+ body: z.object({
32
+ kind: z.literal("grid"),
33
+ columns: z.union([z.literal(2), z.literal(3), z.literal(4)]),
34
+ items: z.array(z.object({
35
+ number: z.string().min(1),
36
+ title: z.string().min(1),
37
+ description: z.string().min(1),
38
+ })).min(2).max(8),
39
+ }),
40
+ }).strict()
41
+ acceptedCosmicNames:
42
+ - Ixion
43
+ constraints:
44
+ forbidPhrases:
45
+ - alle Branchen
46
+ - jeder Kunde
@@ -0,0 +1,43 @@
1
+ id: exit-diagram
2
+ displayName: Exit-process diagram
3
+ version: 1.0.0
4
+ semanticRole: exit-flow-visualization
5
+ description: |
6
+ Static SVG exit-process flow diagram. Renders stages as a visual flow
7
+ (linear or loop) with numbered markers. RFC-1062.
8
+ expectedIntents:
9
+ - trust
10
+ - legal-clarity
11
+ - de-risk
12
+ expectedIndustryFit:
13
+ - trades-and-construction
14
+ - consulting-and-coaching
15
+ - legal-services
16
+ layoutHint: single-column
17
+ bodyKind: composite
18
+ recommendedItemCount:
19
+ min: 2
20
+ max: 6
21
+ propsSchema:
22
+ $shape: zod
23
+ compose:
24
+ - section-visual
25
+ - section-header
26
+ shape: |
27
+ z.object({
28
+ ariaLabel: z.string().min(1).optional(),
29
+ stages: z.array(z.object({
30
+ number: z.string().min(1),
31
+ title: z.string().min(1),
32
+ description: z.string().min(1),
33
+ })).min(2).max(6),
34
+ variant: z.enum(["linear", "loop"]),
35
+ }).strict()
36
+ acceptedCosmicNames:
37
+ - Haumea
38
+ constraints:
39
+ forbidPhrases:
40
+ - Evakuierung
41
+ - Notfall
42
+ mandatoryConcepts:
43
+ - Notausgang
@@ -12,7 +12,12 @@ divergent copies of the same mapping.
12
12
  </non-goals>
13
13
  </MODULE_CONTRACT>
14
14
  <CHANGE_SUMMARY>
15
- <item>Initial: consolidated BIOME_TO_TOKEN_MAP, BIOME_TO_CSS_VAR, and buildExpectedBiomeCss into one projection.</item>
15
+ <item>RFC-1097: step 6 — compass.migrate codemod run
16
+
17
+ Mechanical v1 to v2 header migration across the workspace: 942 files rewritten — CHANGE_SUMMARY windows collapsed into history, forbidden v1 blocks stripped, KEY_DECISIONS seeded from @ai-invariant comments (5 files) or TODO placeholders (103 files), blocks reordered to canonical order.</item>
18
+ <item>RFC-1097: sweep — werkstatt-engine clean
19
+
20
+ Sweep batch 4: 73 Compass headers on headerless engine files (certification, component-runtime, isolation, evolution, testing), real KEY_DECISIONS on 75 files (kernel, cache, dht, swim, gitmesh, runtime), ~80 purpose expansions (CONTRACT-02/PURPOSE-02), non-goals on 13 CONTRACT-03 files, CS-07 history literal fix repo-wide (253 files). Policy: .template.ts/.template.astro excludedPaths. werkstatt-engine now 0 diagnostics.</item>
16
21
  </CHANGE_SUMMARY>
17
22
  */
18
23
 
@@ -11,7 +11,12 @@ so consumers can import from a single entry point (DNA-23, RFC-0025).
11
11
  </non-goals>
12
12
  </MODULE_CONTRACT>
13
13
  <CHANGE_SUMMARY>
14
- <item>Wave 1 (RFC-0025): Initial creation — cosmic barrel with cross-catalog union.</item>
14
+ <item>RFC-1097: step 6 — compass.migrate codemod run
15
+
16
+ Mechanical v1 to v2 header migration across the workspace: 942 files rewritten — CHANGE_SUMMARY windows collapsed into history, forbidden v1 blocks stripped, KEY_DECISIONS seeded from @ai-invariant comments (5 files) or TODO placeholders (103 files), blocks reordered to canonical order.</item>
17
+ <item>RFC-1097: sweep — werkstatt-engine clean
18
+
19
+ Sweep batch 4: 73 Compass headers on headerless engine files (certification, component-runtime, isolation, evolution, testing), real KEY_DECISIONS on 75 files (kernel, cache, dht, swim, gitmesh, runtime), ~80 purpose expansions (CONTRACT-02/PURPOSE-02), non-goals on 13 CONTRACT-03 files, CS-07 history literal fix repo-wide (253 files). Policy: .template.ts/.template.astro excludedPaths. werkstatt-engine now 0 diagnostics.</item>
15
20
  </CHANGE_SUMMARY>
16
21
  */
17
22
 
@@ -17,7 +17,12 @@ The inner/classical Jupiter and Saturn moons are in PlanetCatalog (section arche
17
17
  </non-goals>
18
18
  </MODULE_CONTRACT>
19
19
  <CHANGE_SUMMARY>
20
- <item>Wave 1 (RFC-0025): Initial creation — Uranus/Neptune/Pluto + irregular moon catalog for component-layer cosmicName.</item>
20
+ <item>RFC-1097: step 6 — compass.migrate codemod run
21
+
22
+ Mechanical v1 to v2 header migration across the workspace: 942 files rewritten — CHANGE_SUMMARY windows collapsed into history, forbidden v1 blocks stripped, KEY_DECISIONS seeded from @ai-invariant comments (5 files) or TODO placeholders (103 files), blocks reordered to canonical order.</item>
23
+ <item>RFC-1097: sweep — werkstatt-engine clean
24
+
25
+ Sweep batch 4: 73 Compass headers on headerless engine files (certification, component-runtime, isolation, evolution, testing), real KEY_DECISIONS on 75 files (kernel, cache, dht, swim, gitmesh, runtime), ~80 purpose expansions (CONTRACT-02/PURPOSE-02), non-goals on 13 CONTRACT-03 files, CS-07 history literal fix repo-wide (253 files). Policy: .template.ts/.template.astro excludedPaths. werkstatt-engine now 0 diagnostics.</item>
21
26
  </CHANGE_SUMMARY>
22
27
  */
23
28
 
@@ -17,7 +17,12 @@ are in MoonCatalog (component archetypes).
17
17
  </non-goals>
18
18
  </MODULE_CONTRACT>
19
19
  <CHANGE_SUMMARY>
20
- <item>Wave 1 (RFC-0025): Initial creation — Jupiter/Saturn/Mars/dwarf-planet catalog for section-layer cosmicName.</item>
20
+ <item>RFC-1097: step 6 — compass.migrate codemod run
21
+
22
+ Mechanical v1 to v2 header migration across the workspace: 942 files rewritten — CHANGE_SUMMARY windows collapsed into history, forbidden v1 blocks stripped, KEY_DECISIONS seeded from @ai-invariant comments (5 files) or TODO placeholders (103 files), blocks reordered to canonical order.</item>
23
+ <item>RFC-1097: sweep — werkstatt-engine clean
24
+
25
+ Sweep batch 4: 73 Compass headers on headerless engine files (certification, component-runtime, isolation, evolution, testing), real KEY_DECISIONS on 75 files (kernel, cache, dht, swim, gitmesh, runtime), ~80 purpose expansions (CONTRACT-02/PURPOSE-02), non-goals on 13 CONTRACT-03 files, CS-07 history literal fix repo-wide (253 files). Policy: .template.ts/.template.astro excludedPaths. werkstatt-engine now 0 diagnostics.</item>
21
26
  </CHANGE_SUMMARY>
22
27
  */
23
28
 
@@ -11,7 +11,12 @@ Each entry is a valid cosmicName for manifests with layer="page" (DNA-23, RFC-00
11
11
  </non-goals>
12
12
  </MODULE_CONTRACT>
13
13
  <CHANGE_SUMMARY>
14
- <item>Wave 1 (RFC-0025): Initial creation — IAU named-star catalog for page-layer cosmicName.</item>
14
+ <item>RFC-1097: step 6 — compass.migrate codemod run
15
+
16
+ Mechanical v1 to v2 header migration across the workspace: 942 files rewritten — CHANGE_SUMMARY windows collapsed into history, forbidden v1 blocks stripped, KEY_DECISIONS seeded from @ai-invariant comments (5 files) or TODO placeholders (103 files), blocks reordered to canonical order.</item>
17
+ <item>RFC-1097: sweep — werkstatt-engine clean
18
+
19
+ Sweep batch 4: 73 Compass headers on headerless engine files (certification, component-runtime, isolation, evolution, testing), real KEY_DECISIONS on 75 files (kernel, cache, dht, swim, gitmesh, runtime), ~80 purpose expansions (CONTRACT-02/PURPOSE-02), non-goals on 13 CONTRACT-03 files, CS-07 history literal fix repo-wide (253 files). Policy: .template.ts/.template.astro excludedPaths. werkstatt-engine now 0 diagnostics.</item>
15
20
  </CHANGE_SUMMARY>
16
21
  */
17
22
 
@@ -14,7 +14,12 @@ enums (for runtime validation) and TypeScript types (for static typing).
14
14
  </non-goals>
15
15
  </MODULE_CONTRACT>
16
16
  <CHANGE_SUMMARY>
17
- <item>Initial creation as part of Wave 1 (RFC-0023 rollout).</item>
17
+ <item>RFC-1097: step 6 — compass.migrate codemod run
18
+
19
+ Mechanical v1 to v2 header migration across the workspace: 942 files rewritten — CHANGE_SUMMARY windows collapsed into history, forbidden v1 blocks stripped, KEY_DECISIONS seeded from @ai-invariant comments (5 files) or TODO placeholders (103 files), blocks reordered to canonical order.</item>
20
+ <item>RFC-1097: sweep — werkstatt-engine clean
21
+
22
+ Sweep batch 4: 73 Compass headers on headerless engine files (certification, component-runtime, isolation, evolution, testing), real KEY_DECISIONS on 75 files (kernel, cache, dht, swim, gitmesh, runtime), ~80 purpose expansions (CONTRACT-02/PURPOSE-02), non-goals on 13 CONTRACT-03 files, CS-07 history literal fix repo-wide (253 files). Policy: .template.ts/.template.astro excludedPaths. werkstatt-engine now 0 diagnostics.</item>
18
23
  </CHANGE_SUMMARY>
19
24
  */
20
25
 
@@ -3,7 +3,7 @@
3
3
  <purpose>
4
4
  RFC-0480: Declarative Layer C external-surface contracts — URL schema,
5
5
  JSON-LD types, and sitemap shape. Consumed by `surface.contract.validate`
6
- in @warpgogol/site-kernel-handoff and by contract tests in @warpgogol/werkstatt-shared/share.
6
+ in @warpgogol/site-kernel-handoff and by contract tests in @warpgogol/werkstatt-shared.
7
7
  </purpose>
8
8
  <non-goals>
9
9
  <item>Do not generate C-surfaces here — this module only declares the contract.</item>
@@ -11,8 +11,12 @@ package root or sub-paths.
11
11
  </non-goals>
12
12
  </MODULE_CONTRACT>
13
13
  <CHANGE_SUMMARY>
14
- <item>Initial barrel created as part of Wave 1 (RFC-0023 rollout).</item>
15
- <item>Wave 1 (RFC-0025): Added cosmic catalog re-exports (DNA-23).</item>
14
+ <item>RFC-1097: step 6 — compass.migrate codemod run
15
+
16
+ Mechanical v1 to v2 header migration across the workspace: 942 files rewritten — CHANGE_SUMMARY windows collapsed into history, forbidden v1 blocks stripped, KEY_DECISIONS seeded from @ai-invariant comments (5 files) or TODO placeholders (103 files), blocks reordered to canonical order.</item>
17
+ <item>RFC-1097: sweep — werkstatt-engine clean
18
+
19
+ Sweep batch 4: 73 Compass headers on headerless engine files (certification, component-runtime, isolation, evolution, testing), real KEY_DECISIONS on 75 files (kernel, cache, dht, swim, gitmesh, runtime), ~80 purpose expansions (CONTRACT-02/PURPOSE-02), non-goals on 13 CONTRACT-03 files, CS-07 history literal fix repo-wide (253 files). Policy: .template.ts/.template.astro excludedPaths. werkstatt-engine now 0 diagnostics.</item>
16
20
  </CHANGE_SUMMARY>
17
21
  */
18
22
 
@@ -16,9 +16,12 @@ Exports a discriminated union on `layer` so TypeScript narrows the `role` and
16
16
  </non-goals>
17
17
  </MODULE_CONTRACT>
18
18
  <CHANGE_SUMMARY>
19
- <item>Initial creation as part of Wave 1 (RFC-0023 rollout).</item>
20
- <item>Wave 1 (RFC-0025): Added required cosmicName per layer — StarName for pages,
21
- PlanetName for sections, MoonName for components (DNA-23).</item>
19
+ <item>RFC-1097: step 6 — compass.migrate codemod run
20
+
21
+ Mechanical v1 to v2 header migration across the workspace: 942 files rewritten — CHANGE_SUMMARY windows collapsed into history, forbidden v1 blocks stripped, KEY_DECISIONS seeded from @ai-invariant comments (5 files) or TODO placeholders (103 files), blocks reordered to canonical order.</item>
22
+ <item>RFC-1097: sweep — werkstatt-engine clean
23
+
24
+ Sweep batch 4: 73 Compass headers on headerless engine files (certification, component-runtime, isolation, evolution, testing), real KEY_DECISIONS on 75 files (kernel, cache, dht, swim, gitmesh, runtime), ~80 purpose expansions (CONTRACT-02/PURPOSE-02), non-goals on 13 CONTRACT-03 files, CS-07 history literal fix repo-wide (253 files). Policy: .template.ts/.template.astro excludedPaths. werkstatt-engine now 0 diagnostics.</item>
22
25
  </CHANGE_SUMMARY>
23
26
  */
24
27
 
@@ -157,7 +160,7 @@ const manifestBaseSchema = z.object({
157
160
 
158
161
  /**
159
162
  * Key of the Zod content schema this component consumes.
160
- * Must match an export of @warpgogol/werkstatt-shared/share or the app-local content/schemas/.
163
+ * Must match an export of @warpgogol/werkstatt-shared or the app-local content/schemas/.
161
164
  * Set to null for structural components that consume no content schema
162
165
  * (e.g. breadcrumbs, lang-switcher).
163
166
  */
@@ -305,6 +308,25 @@ export const componentManifestSchema = manifestBaseSchema.extend({
305
308
  * Do not use these five names for any other component manifest.
306
309
  */
307
310
  cosmicName: moonNameSchema,
311
+ /**
312
+ * RFC-1023: JSON Schema (draft-07 compatible) describing the shape of
313
+ * resolved content returned by getResolvedComponentContent. This is the
314
+ * flat, merged content (after pageOverride merge), NOT the prose .md
315
+ * frontmatter schema. Used by props.types.generate to emit
316
+ * XxxComponentContent interfaces. Required for content-driven components
317
+ * (those that call getResolvedComponentContent). Optional for structural
318
+ * components that consume no content.
319
+ */
320
+ contentSchema: z.record(z.string(), z.unknown()).optional(),
321
+ /**
322
+ * RFC-1023: JSON Schema (draft-07 compatible) describing the shape of
323
+ * Astro.props accepted by the component — caller-supplied props such as
324
+ * lang, defaultLang, pageOverride, etc. Used by props.types.generate to
325
+ * emit XxxComponentProps interfaces. Distinct from contentSchema: propsSchema
326
+ * describes what the caller passes, contentSchema describes what the
327
+ * component resolves from content files.
328
+ */
329
+ propsSchema: z.record(z.string(), z.unknown()).optional(),
308
330
  });
309
331
 
310
332
  /**
@@ -0,0 +1,45 @@
1
+ /*
2
+ <MODULE_CONTRACT>
3
+ <purpose>Maintains packages/ontology/src/operations/artifact-store.ts as an authored ontology authored module so agents can evolve it without rediscovering local boundaries.</purpose>
4
+ <non-goals>
5
+ <item>Do not introduce app-specific runtime composition or deployment behavior into this reusable package source file.</item>
6
+ </non-goals>
7
+ </MODULE_CONTRACT>
8
+ <CHANGE_SUMMARY>
9
+ <item>RFC-0363: initial artifact manifest schema.</item>
10
+ </CHANGE_SUMMARY>
11
+ */
12
+
13
+ import { z } from "zod";
14
+
15
+ export const releaseArtifactManifestSchema = z.object({
16
+ schemaVersion: z.literal("1.0.0"),
17
+ artifactKind: z.literal("release-dist"),
18
+ systemId: z.string().min(1),
19
+ releaseId: z.string().min(1),
20
+ missionId: z.string().min(1),
21
+ platformVersion: z.string(),
22
+ sternsystemCommitSha: z.string().nullable(),
23
+ createdAt: z.string().datetime(),
24
+ siteContentHash: z.string(),
25
+ distTreeHash: z.string(),
26
+ distArtifactHash: z.string(),
27
+ behaviorSnapshotHash: z.string().nullable(),
28
+ readableSnapshotHash: z.string().nullable(),
29
+ snapshotDiffHash: z.string().nullable(),
30
+ byteSize: z.number().nonnegative(),
31
+ fileCount: z.number().nonnegative(),
32
+ });
33
+
34
+ export const releaseArtifactRefSchema = z.object({
35
+ uri: z.string().min(1),
36
+ provider: z.enum(["local", "r2", "s3"]),
37
+ distArtifactHash: z.string(),
38
+ distTreeHash: z.string(),
39
+ siteContentHash: z.string(),
40
+ byteSize: z.number().nonnegative(),
41
+ fileCount: z.number().nonnegative(),
42
+ });
43
+
44
+ export type ReleaseArtifactManifest = z.infer<typeof releaseArtifactManifestSchema>;
45
+ export type ReleaseArtifactRef = z.infer<typeof releaseArtifactRefSchema>;