stylegallery 0.1.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 (346) hide show
  1. package/AGENTS.md +156 -0
  2. package/CATALOG.md +69 -0
  3. package/DOMAINS.md +65 -0
  4. package/GOVERNANCE.md +222 -0
  5. package/GUIDE.md +59 -0
  6. package/README.md +313 -0
  7. package/consumer-reference/adapters/style-dictionary.config.mjs +36 -0
  8. package/consumer-reference/agent-native/README.md +157 -0
  9. package/consumer-reference/agent-native/registry.json +640 -0
  10. package/consumer-reference/agent-native/schema/agent-native.schema.json +848 -0
  11. package/consumer-reference/agent-native/schema/epistemic.schema.json +14 -0
  12. package/consumer-reference/agent-native/schema/execution.schema.json +12 -0
  13. package/consumer-reference/agent-native/schema/identity.schema.json +10 -0
  14. package/consumer-reference/agent-native/schema/learning.schema.json +12 -0
  15. package/consumer-reference/agent-native/schema/manifest.schema.json +6 -0
  16. package/consumer-reference/agent-native/schema/operation.schema.json +12 -0
  17. package/consumer-reference/agent-native/schema/protocol-binding.schema.json +9 -0
  18. package/consumer-reference/agent-native/schema/retrieval.schema.json +10 -0
  19. package/consumer-reference/baselines/calibration.json +260 -0
  20. package/consumer-reference/baselines/manifest.json +21 -0
  21. package/consumer-reference/contract.md +83 -0
  22. package/consumer-reference/fixtures/consumer-conformance/e2e-fixture.mjs +282 -0
  23. package/consumer-reference/fixtures/consumer-conformance/manifest.json +102 -0
  24. package/consumer-reference/fixtures/consumer-conformance/runtime-proof.mjs +32 -0
  25. package/consumer-reference/fixtures/consumer-conformance/valid-migration-result.json +18 -0
  26. package/consumer-reference/fixtures/consumer-conformance/valid-migration.json +142 -0
  27. package/consumer-reference/fixtures/invalid-stable-ended-support.json +19 -0
  28. package/consumer-reference/fixtures/promotion/invalid-blocking-evidence.json +26 -0
  29. package/consumer-reference/fixtures/promotion/invalid-count-only.json +29 -0
  30. package/consumer-reference/fixtures/promotion/invalid-missing-owner-migration.json +25 -0
  31. package/consumer-reference/fixtures/promotion/invalid-normative-bypass-no-regression.json +25 -0
  32. package/consumer-reference/fixtures/promotion/invalid-related-counted-independent.json +45 -0
  33. package/consumer-reference/fixtures/promotion/invalid-stable-ended-support.json +26 -0
  34. package/consumer-reference/fixtures/promotion/manifest.json +15 -0
  35. package/consumer-reference/fixtures/promotion/valid-deferred-example.json +67 -0
  36. package/consumer-reference/fixtures/promotion/valid-normative-bypass.json +67 -0
  37. package/consumer-reference/fixtures/token-portability/invalid-cycle.json +7 -0
  38. package/consumer-reference/fixtures/token-portability/invalid-dangling-alias.json +6 -0
  39. package/consumer-reference/fixtures/token-portability/invalid-extends.json +4 -0
  40. package/consumer-reference/fixtures/token-portability/invalid-json-pointer.json +7 -0
  41. package/consumer-reference/fixtures/token-portability/invalid-resolver.json +9 -0
  42. package/consumer-reference/fixtures/token-portability/invalid-type-mismatch.json +10 -0
  43. package/consumer-reference/fixtures/token-portability/invalid-unknown-reserved.json +6 -0
  44. package/consumer-reference/fixtures/token-portability/invalid-untested-type.json +6 -0
  45. package/consumer-reference/fixtures/token-portability/valid-border.json +14 -0
  46. package/consumer-reference/fixtures/token-portability/valid-reference.json +32 -0
  47. package/consumer-reference/fixtures/token-portability/valid-whole-alias.json +7 -0
  48. package/consumer-reference/fixtures/valid-deprecated.json +21 -0
  49. package/consumer-reference/fixtures/valid-experimental.json +19 -0
  50. package/consumer-reference/generated/manifest.json +40 -0
  51. package/consumer-reference/generated/tokens.css +12 -0
  52. package/consumer-reference/index.md +32 -0
  53. package/consumer-reference/policies/shared-experimental.json +37 -0
  54. package/consumer-reference/schema/ax-evidence.schema.json +30 -0
  55. package/consumer-reference/schema/baseline-manifest.schema.json +55 -0
  56. package/consumer-reference/schema/calibration-record.schema.json +190 -0
  57. package/consumer-reference/schema/capture-session.schema.json +161 -0
  58. package/consumer-reference/schema/component-state.schema.json +150 -0
  59. package/consumer-reference/schema/consumer-conformance-record.schema.json +365 -0
  60. package/consumer-reference/schema/dom-evidence.schema.json +38 -0
  61. package/consumer-reference/schema/evidence-record.schema.json +81 -0
  62. package/consumer-reference/schema/fixture-manifest.schema.json +32 -0
  63. package/consumer-reference/schema/item.schema.json +188 -0
  64. package/consumer-reference/schema/page-evidence-manifest.schema.json +216 -0
  65. package/consumer-reference/schema/page-evidence-session.schema.json +119 -0
  66. package/consumer-reference/schema/portable-tokens.schema.json +104 -0
  67. package/consumer-reference/schema/promotion-rfc.schema.json +219 -0
  68. package/consumer-reference/schema/runtime-evidence-manifest.schema.json +33 -0
  69. package/consumer-reference/schema/visual-evidence.schema.json +31 -0
  70. package/design-engineering/consumer-migration-readiness.md +124 -0
  71. package/design-engineering/index.md +28 -0
  72. package/design-engineering/interface-craft.md +107 -0
  73. package/design-engineering/reference-profiles/external-adaptation/index.md +12 -0
  74. package/design-engineering/reference-profiles/governed-local/editorial/components/button.component.json +125 -0
  75. package/design-engineering/reference-profiles/governed-local/editorial/evidence/button.evidence.json +3504 -0
  76. package/design-engineering/reference-profiles/governed-local/editorial/fixtures/button.fixture.json +65 -0
  77. package/design-engineering/reference-profiles/governed-local/editorial/generated/evidence-coverage.md +23 -0
  78. package/design-engineering/reference-profiles/governed-local/editorial/generated/keyboard-matrix.md +19 -0
  79. package/design-engineering/reference-profiles/governed-local/editorial/generated/state-matrix.md +21 -0
  80. package/design-engineering/reference-profiles/governed-local/editorial/local-foundations.json +12 -0
  81. package/design-engineering/reference-profiles/governed-local/editorial/profile.json +43 -0
  82. package/design-engineering/reference-profiles/governed-local/editorial/states/button.states.json +195 -0
  83. package/design-engineering/reference-profiles/governed-local/editorial/tokens.dtcg.json +17 -0
  84. package/design-engineering/reference-profiles/governed-local/index.md +26 -0
  85. package/design-engineering/reference-profiles/governed-local/terminal/components/button.component.json +125 -0
  86. package/design-engineering/reference-profiles/governed-local/terminal/evidence/button.evidence.json +3504 -0
  87. package/design-engineering/reference-profiles/governed-local/terminal/fixtures/button.fixture.json +65 -0
  88. package/design-engineering/reference-profiles/governed-local/terminal/generated/evidence-coverage.md +23 -0
  89. package/design-engineering/reference-profiles/governed-local/terminal/generated/keyboard-matrix.md +19 -0
  90. package/design-engineering/reference-profiles/governed-local/terminal/generated/state-matrix.md +21 -0
  91. package/design-engineering/reference-profiles/governed-local/terminal/local-foundations.json +12 -0
  92. package/design-engineering/reference-profiles/governed-local/terminal/profile.json +43 -0
  93. package/design-engineering/reference-profiles/governed-local/terminal/states/button.states.json +195 -0
  94. package/design-engineering/reference-profiles/governed-local/terminal/tokens.dtcg.json +17 -0
  95. package/design-engineering/reference-profiles/index.md +19 -0
  96. package/game-ui/classification.md +82 -0
  97. package/game-ui/index.md +35 -0
  98. package/game-ui/reference-record.md +62 -0
  99. package/game-ui/screen-hierarchy.md +107 -0
  100. package/game-ui/unity/architecture.md +166 -0
  101. package/game-ui/unity/cli-loop.md +84 -0
  102. package/game-ui/unity/data/unity-technologies-public-repositories.json +26654 -0
  103. package/game-ui/unity/org-wiki.md +146 -0
  104. package/game-ui/unity/repository-map.md +102 -0
  105. package/game-ui/unity/ui-systems.md +85 -0
  106. package/guides/decision-tree.md +149 -0
  107. package/guides/documentation-mode-taxonomy.md +157 -0
  108. package/guides/layout-brief.md +220 -0
  109. package/guides/vocabulary.md +148 -0
  110. package/guides/webpage-generation-workflow.md +185 -0
  111. package/index.md +36 -0
  112. package/layout/index.md +26 -0
  113. package/motion/index.md +24 -0
  114. package/motion/practice-reference.md +145 -0
  115. package/motion/review-workflow.md +86 -0
  116. package/motion/vocabulary.md +82 -0
  117. package/package.json +78 -0
  118. package/patterns/centering/center.md +87 -0
  119. package/patterns/centering/index.md +6 -0
  120. package/patterns/centering/super-center.md +89 -0
  121. package/patterns/containment/box.md +87 -0
  122. package/patterns/containment/clamped-card.md +86 -0
  123. package/patterns/containment/content-limiter.md +87 -0
  124. package/patterns/containment/fluid-styles.md +86 -0
  125. package/patterns/containment/index.md +8 -0
  126. package/patterns/grid-repetition/card-grid.md +88 -0
  127. package/patterns/grid-repetition/columns.md +87 -0
  128. package/patterns/grid-repetition/dense-grid.md +88 -0
  129. package/patterns/grid-repetition/grid-wrapper.md +89 -0
  130. package/patterns/grid-repetition/index.md +12 -0
  131. package/patterns/grid-repetition/masonry-approx.md +87 -0
  132. package/patterns/grid-repetition/page-grid.md +90 -0
  133. package/patterns/grid-repetition/ram-grid.md +88 -0
  134. package/patterns/grid-repetition/twelve-span-grid.md +92 -0
  135. package/patterns/in-line-grouping/badge-list.md +94 -0
  136. package/patterns/in-line-grouping/breadcrumb.md +89 -0
  137. package/patterns/in-line-grouping/cluster.md +89 -0
  138. package/patterns/in-line-grouping/deconstructed-pancake.md +92 -0
  139. package/patterns/in-line-grouping/index.md +13 -0
  140. package/patterns/in-line-grouping/pagination.md +89 -0
  141. package/patterns/in-line-grouping/reel.md +90 -0
  142. package/patterns/in-line-grouping/split-nav.md +97 -0
  143. package/patterns/in-line-grouping/tab-strip.md +88 -0
  144. package/patterns/in-line-grouping/wrap-row.md +89 -0
  145. package/patterns/index.md +13 -0
  146. package/patterns/media-fit/frame.md +95 -0
  147. package/patterns/media-fit/icon-frame.md +87 -0
  148. package/patterns/media-fit/index.md +6 -0
  149. package/patterns/overlay-exception/imposter.md +95 -0
  150. package/patterns/overlay-exception/index.md +6 -0
  151. package/patterns/overlay-exception/overlay-stack.md +89 -0
  152. package/patterns/split-sidebar/index.md +12 -0
  153. package/patterns/split-sidebar/list-detail.md +95 -0
  154. package/patterns/split-sidebar/main-with-rail.md +95 -0
  155. package/patterns/split-sidebar/media-object.md +102 -0
  156. package/patterns/split-sidebar/sidebar.md +101 -0
  157. package/patterns/split-sidebar/split-screen.md +92 -0
  158. package/patterns/split-sidebar/sticky-aside.md +97 -0
  159. package/patterns/split-sidebar/supporting-pane.md +95 -0
  160. package/patterns/split-sidebar/switcher.md +93 -0
  161. package/patterns/stacking/feed.md +88 -0
  162. package/patterns/stacking/index.md +8 -0
  163. package/patterns/stacking/line-up.md +95 -0
  164. package/patterns/stacking/stack.md +87 -0
  165. package/patterns/stacking/step-nav.md +88 -0
  166. package/patterns/viewport-shell/cover.md +90 -0
  167. package/patterns/viewport-shell/fixed-sidenav-shell.md +97 -0
  168. package/patterns/viewport-shell/holy-grail.md +112 -0
  169. package/patterns/viewport-shell/index.md +11 -0
  170. package/patterns/viewport-shell/panel-layout.md +95 -0
  171. package/patterns/viewport-shell/scroll-body-shell.md +93 -0
  172. package/patterns/viewport-shell/sticky-footer.md +92 -0
  173. package/patterns/viewport-shell/sticky-header.md +86 -0
  174. package/platform-guides/apple-interaction.md +89 -0
  175. package/platform-guides/index.md +26 -0
  176. package/quality/claim-records/index.md +3 -0
  177. package/quality/claim-records/samples.md +92 -0
  178. package/quality/claim-records/stylegallery-multidomain-scope.md +42 -0
  179. package/quality/claims.md +77 -0
  180. package/quality/evidence/accessibility.md +58 -0
  181. package/quality/evidence/consumer-migration.md +42 -0
  182. package/quality/evidence/design-rationale.md +34 -0
  183. package/quality/evidence/executable-evidence.md +79 -0
  184. package/quality/evidence/families.md +56 -0
  185. package/quality/evidence/hci-evaluation.md +36 -0
  186. package/quality/evidence/index.md +16 -0
  187. package/quality/evidence/pattern-contract-audit.md +96 -0
  188. package/quality/evidence/search-metadata-polyhierarchy.md +86 -0
  189. package/quality/evidence/sources.md +43 -0
  190. package/quality/evidence/tokens.md +33 -0
  191. package/quality/evidence/visual-qa.md +41 -0
  192. package/quality/gates/accessibility-evidence.md +60 -0
  193. package/quality/gates/consumer-migration-evidence.md +53 -0
  194. package/quality/gates/design-claim.md +56 -0
  195. package/quality/gates/harmony-evaluation.md +78 -0
  196. package/quality/gates/index.md +13 -0
  197. package/quality/gates/layout.md +52 -0
  198. package/quality/gates/rationale.md +53 -0
  199. package/quality/gates/visual-evidence.md +47 -0
  200. package/quality/index.md +55 -0
  201. package/quality/principles.md +58 -0
  202. package/recipes/article-page.md +52 -0
  203. package/recipes/command-surface.md +55 -0
  204. package/recipes/dashboard.md +56 -0
  205. package/recipes/form-flow.md +55 -0
  206. package/recipes/homepage.md +89 -0
  207. package/recipes/index.md +13 -0
  208. package/recipes/list-detail.md +55 -0
  209. package/recipes/primitive-to-recipe-matrix.md +83 -0
  210. package/recipes/saas-settings.md +52 -0
  211. package/scripts/agent-native/a2a-projection.mjs +248 -0
  212. package/scripts/agent-native/agui-projection.mjs +178 -0
  213. package/scripts/agent-native/canonical-json.mjs +109 -0
  214. package/scripts/agent-native/cli-adapter.mjs +68 -0
  215. package/scripts/agent-native/events.mjs +113 -0
  216. package/scripts/agent-native/execution.mjs +227 -0
  217. package/scripts/agent-native/fixture.mjs +159 -0
  218. package/scripts/agent-native/identity.mjs +184 -0
  219. package/scripts/agent-native/immutable-store.mjs +102 -0
  220. package/scripts/agent-native/knowledge.mjs +168 -0
  221. package/scripts/agent-native/learning-records.mjs +244 -0
  222. package/scripts/agent-native/learning.mjs +247 -0
  223. package/scripts/agent-native/mcp-adapter.mjs +173 -0
  224. package/scripts/agent-native/queries.mjs +173 -0
  225. package/scripts/agent-native/registry.mjs +154 -0
  226. package/scripts/agent-native/retrieval.mjs +171 -0
  227. package/scripts/agent-native/self-description.mjs +160 -0
  228. package/scripts/artifact-metadata.mjs +20 -0
  229. package/scripts/audit-evidence-freshness.mjs +308 -0
  230. package/scripts/baseline-contract.mjs +189 -0
  231. package/scripts/baseline-schema-parity.mjs +40 -0
  232. package/scripts/build-reference-artifacts.mjs +127 -0
  233. package/scripts/calibration-raw-contract.mjs +172 -0
  234. package/scripts/capture-session-contract.mjs +187 -0
  235. package/scripts/component-state-artifact-fixture.mjs +44 -0
  236. package/scripts/component-state-contract.mjs +99 -0
  237. package/scripts/component-state-semantics.mjs +128 -0
  238. package/scripts/component-state-workflow-contract.mjs +67 -0
  239. package/scripts/component-state-workflow-negative-cases.mjs +64 -0
  240. package/scripts/consumer-conformance-contract.mjs +198 -0
  241. package/scripts/consumer-evidence-governance-contract.mjs +210 -0
  242. package/scripts/consumer-reference-case-runner.mjs +93 -0
  243. package/scripts/consumer-reference-schema.mjs +155 -0
  244. package/scripts/create-component-state-session.mjs +100 -0
  245. package/scripts/create-page-evidence-session.mjs +139 -0
  246. package/scripts/domain-document-boundaries.mjs +40 -0
  247. package/scripts/domain-validation-checks.mjs +141 -0
  248. package/scripts/evidence-artifact-contract.mjs +191 -0
  249. package/scripts/finalize-component-state-evidence.mjs +165 -0
  250. package/scripts/finalize-page-evidence.mjs +197 -0
  251. package/scripts/generate-consumer-reference-evidence.mjs +154 -0
  252. package/scripts/generate-patterns.mjs +218 -0
  253. package/scripts/governance-matrix-contract.mjs +73 -0
  254. package/scripts/governance-matrix-negative-cases.mjs +114 -0
  255. package/scripts/governance-policy-contract.mjs +49 -0
  256. package/scripts/governance-test-fixture.mjs +321 -0
  257. package/scripts/governance-workflow-negative-cases.mjs +241 -0
  258. package/scripts/governed-profile-registry.mjs +125 -0
  259. package/scripts/json-schema-formats.mjs +31 -0
  260. package/scripts/markdown-structure.mjs +45 -0
  261. package/scripts/page-artifact-metadata.mjs +124 -0
  262. package/scripts/page-evidence-contract.mjs +297 -0
  263. package/scripts/page-evidence-fixture.mjs +271 -0
  264. package/scripts/pattern-data.mjs +325 -0
  265. package/scripts/profile-record-contract.mjs +140 -0
  266. package/scripts/promotion-attestation-contract.mjs +91 -0
  267. package/scripts/promotion-boundary-test-contract.mjs +92 -0
  268. package/scripts/promotion-fixture-inventory.mjs +109 -0
  269. package/scripts/promotion-governance-contract.mjs +28 -0
  270. package/scripts/reference-artifact-path-contract.mjs +28 -0
  271. package/scripts/reference-profile-contract.mjs +114 -0
  272. package/scripts/reference-token-contract.mjs +156 -0
  273. package/scripts/run-consumer-page-evidence-ci.mjs +170 -0
  274. package/scripts/sg-mcp.mjs +16 -0
  275. package/scripts/sg.mjs +27 -0
  276. package/scripts/strict-json.mjs +72 -0
  277. package/scripts/summarize-sentinel-calibration.mjs +98 -0
  278. package/scripts/test-agent-adapter-conformance.mjs +250 -0
  279. package/scripts/test-agent-conformance-receipt.mjs +106 -0
  280. package/scripts/test-agent-events.mjs +81 -0
  281. package/scripts/test-agent-execution-effects.mjs +114 -0
  282. package/scripts/test-agent-execution-fixtures.mjs +140 -0
  283. package/scripts/test-agent-execution-kernel.mjs +39 -0
  284. package/scripts/test-agent-execution-learning.mjs +130 -0
  285. package/scripts/test-agent-execution-lifecycle.mjs +143 -0
  286. package/scripts/test-agent-execution-safety.mjs +158 -0
  287. package/scripts/test-agent-execution-views.mjs +117 -0
  288. package/scripts/test-agent-identity-integrity-cases.mjs +160 -0
  289. package/scripts/test-agent-knowledge-kernel.mjs +183 -0
  290. package/scripts/test-agent-learning.mjs +246 -0
  291. package/scripts/test-agent-mcp.mjs +246 -0
  292. package/scripts/test-agent-native-schemas.mjs +215 -0
  293. package/scripts/test-agent-projections.mjs +249 -0
  294. package/scripts/test-agent-registry-mcp-integrity.mjs +215 -0
  295. package/scripts/test-agent-registry-mutations.mjs +110 -0
  296. package/scripts/test-audit-evidence-freshness.mjs +177 -0
  297. package/scripts/test-component-state-sentinel.mjs +35 -0
  298. package/scripts/test-component-state-source-contract.mjs +83 -0
  299. package/scripts/test-consumer-conformance-sentinel.mjs +165 -0
  300. package/scripts/test-consumer-reference-sentinel.mjs +31 -0
  301. package/scripts/test-generate-consumer-reference-evidence.mjs +124 -0
  302. package/scripts/test-json-cli-output.mjs +151 -0
  303. package/scripts/test-json-schema-formats.mjs +40 -0
  304. package/scripts/test-reference-adapters.mjs +199 -0
  305. package/scripts/test-renderer-purity.mjs +34 -0
  306. package/scripts/test-sg-cli.mjs +129 -0
  307. package/scripts/test-summarize-sentinel-calibration.mjs +226 -0
  308. package/scripts/test-validate-baseline-manifest.mjs +234 -0
  309. package/scripts/test-validate-component-state-artifacts.mjs +243 -0
  310. package/scripts/test-validate-component-state.mjs +106 -0
  311. package/scripts/test-validate-consumer-conformance.mjs +427 -0
  312. package/scripts/test-validate-consumer-reference-cli.mjs +69 -0
  313. package/scripts/test-validate-consumer-reference.mjs +263 -0
  314. package/scripts/test-validate-domains.mjs +357 -0
  315. package/scripts/test-validate-governance.mjs +292 -0
  316. package/scripts/test-validate-ia.mjs +262 -0
  317. package/scripts/test-validate-okf.mjs +73 -0
  318. package/scripts/test-validate-page-evidence.mjs +302 -0
  319. package/scripts/test-validate-patterns.mjs +157 -0
  320. package/scripts/test-validate-promotion-rfc.mjs +250 -0
  321. package/scripts/test-validate-reference-profiles.mjs +170 -0
  322. package/scripts/test-validate-unity-org-wiki.mjs +57 -0
  323. package/scripts/test-validate-unity-source-contracts.mjs +67 -0
  324. package/scripts/test-validate-vocabulary.mjs +174 -0
  325. package/scripts/test-validate-webpage-workflow.mjs +293 -0
  326. package/scripts/validate-baseline-manifest.mjs +44 -0
  327. package/scripts/validate-catalog.mjs +65 -0
  328. package/scripts/validate-component-state.mjs +141 -0
  329. package/scripts/validate-consumer-conformance.mjs +477 -0
  330. package/scripts/validate-consumer-reference.mjs +288 -0
  331. package/scripts/validate-domains.mjs +237 -0
  332. package/scripts/validate-governance.mjs +248 -0
  333. package/scripts/validate-ia.mjs +136 -0
  334. package/scripts/validate-links.mjs +66 -0
  335. package/scripts/validate-okf.mjs +104 -0
  336. package/scripts/validate-page-evidence.mjs +191 -0
  337. package/scripts/validate-patterns.mjs +246 -0
  338. package/scripts/validate-promotion-rfc.mjs +224 -0
  339. package/scripts/validate-reference-artifacts.mjs +125 -0
  340. package/scripts/validate-renderer-purity.mjs +56 -0
  341. package/scripts/validate-unity-org-wiki.mjs +146 -0
  342. package/scripts/validate-unity-source-contracts.mjs +107 -0
  343. package/scripts/validate-vocabulary.mjs +115 -0
  344. package/scripts/validate-webpage-workflow.mjs +254 -0
  345. package/scripts/visual-expectation-contract.mjs +20 -0
  346. package/scripts/workflow-action-contract.mjs +163 -0
@@ -0,0 +1,96 @@
1
+ ---
2
+ type: Quality Evidence
3
+ title: Pattern Contract Audit
4
+ description: Maps pattern document metadata, validator checks, and human review responsibilities.
5
+ ---
6
+
7
+ # Pattern Contract Audit
8
+
9
+ This audit connects the generated pattern anatomy to the decisions a reviewer or implementer must make. The source of truth remains `scripts/pattern-data.mjs`; `scripts/generate-patterns.mjs` emits the pattern pages; `scripts/validate-patterns.mjs` enforces the mechanical contract.
10
+
11
+ ## Required Field Rationale
12
+
13
+ | Field | Responsibility | Why It Exists |
14
+ | --- | --- | --- |
15
+ | `name` | selection, validation | Gives each pattern a stable identity for indexes, generated headings, and class-parity checks. |
16
+ | `category` | selection, governance | Groups patterns by spatial family so the catalog can expose comparable options and reviewers can sample by family. |
17
+ | `primary_spatial_problem` | selection, implementation | States the one layout problem the pattern optimizes, preventing a reusable pattern from absorbing product styling or unrelated behavior. |
18
+ | `secondary_spatial_problems` | selection, governance | Records intentional composition pressure without letting secondary behavior become the primary contract. |
19
+ | `layout_axis` | implementation, validation | Identifies whether the pattern acts on block, inline, or both axes, which shapes CSS review and failure analysis. |
20
+ | `content_shape` | implementation, validation | Describes the content assumptions behind the snippet so adopters can test empty, short, long, and mixed content deliberately. |
21
+ | `responsiveness` | implementation, validation | Names the adaptation model; the validator gives `reflow` patterns an extra mechanic check for wrap, query, or intrinsic guards. |
22
+ | `constraints` | implementation, validation | Makes widths, heights, gaps, scroll containers, anchors, and other change points explicit instead of implicit in the code block. |
23
+ | `scroll_ownership` | implementation, governance | Separates ordinary document flow from patterns that own a named scroll container, a key accessibility and QA responsibility. |
24
+ | `source_lineage` | governance | Points reviewers to the pattern's conceptual lineage so borrowed ideas can be checked for faithful translation, not just attribution. |
25
+
26
+ ## Validator-Enforced Responsibilities
27
+
28
+ Validator-enforced checks in `scripts/validate-patterns.mjs` cover the contract pieces that can be read mechanically:
29
+
30
+ - Frontmatter must include every required field in the table above.
31
+ - Every pattern must include the required anatomy sections: use case, HTML, CSS, core properties, breakage properties, constraints, scroll ownership, accessibility/source order, browser fallback, composition, and anti-patterns.
32
+ - HTML and CSS fenced blocks must exist, and CSS class hooks must match HTML class hooks in both directions.
33
+ - CSS declarations must be alphabetical inside each rule.
34
+ - ID selectors and forbidden decorative properties are rejected in reusable pattern CSS.
35
+ - `reflow` responsiveness requires an inspectable reflow mechanic such as a container query, media query, intrinsic repeat, wrap, or narrow guard.
36
+ - Pattern count must satisfy the minimum threshold passed to the validator.
37
+
38
+ ## Human-Review-Only Risks
39
+
40
+ Human-review-only risks remain outside the validator because they require judgment, domain fit, or source interpretation:
41
+
42
+ - Whether the `primary_spatial_problem` is narrow enough to keep the pattern reusable.
43
+ - Whether `secondary_spatial_problems` are genuine composition constraints or disguised feature creep.
44
+ - Whether semantic HTML, DOM order, reading order, and focus order remain logical for the sampled use case.
45
+ - Whether `constraints` describe the actual change points a downstream implementer must preserve.
46
+ - Whether `scroll_ownership` is clear enough for keyboard, screen-reader, and nested-scroll QA.
47
+ - Whether source lineage is meaningful: a URL should explain the pattern's origin or adjacent precedent, not act as a decorative citation.
48
+ - Whether browser fallback notes are realistic for the properties the snippet actually uses.
49
+
50
+ The split is intentional: validator-enforced rules prevent structural drift; Human-review-only rules protect interpretation quality.
51
+
52
+ ## Structural CSS Boundary
53
+
54
+ Allowed structural CSS is the CSS that explains layout mechanics and can be tied to a spatial responsibility. Source-backed examples include `patterns/stacking/stack.md` using `display` and `gap`, `patterns/grid-repetition/ram-grid.md` using `grid-template-columns`, `patterns/viewport-shell/scroll-body-shell.md` using `overflow`, and `patterns/overlay-exception/imposter.md` using `position`, `inset`, `place-items`, and `z-index`.
55
+
56
+ Forbidden decorative CSS remains out of reusable pattern snippets unless a layout-specific reason is documented. The forbidden side includes `color`, `background`, `border`, `border-radius`, `box-shadow`, `filter`, `font-*`, `opacity`, `text-*`, `animation`, `transition`, and `transform`. These properties can belong in a product theme or demonstration wrapper; they should not be smuggled into the reusable layout contract.
57
+
58
+ The practical boundary is: keep CSS that changes geometry, flow, intrinsic sizing, scroll containment, or anchoring; reject CSS whose main effect is visual treatment.
59
+
60
+ ## Representative Pattern Audit
61
+
62
+ | Category | Representative Source | Section Quality | Review-Only Risk |
63
+ | --- | --- | --- | --- |
64
+ | Stacking | `patterns/stacking/stack.md` | Anatomy is compact and the breakage note correctly names `display` and `gap`. | Check that future variants do not turn vertical rhythm into spacing tokens or typography guidance. |
65
+ | Containment | `patterns/containment/content-limiter.md` | Constraints are visible through `max-inline-size`, `margin-inline`, and `padding-inline`. | Review whether prose width examples stay about readable measure, not editorial page styling. |
66
+ | Media / Fit | `patterns/media-fit/frame.md` | Core properties identify both the frame and child media responsibilities. | Confirm media semantics remain real content and not placeholder-only examples. |
67
+ | Viewport / Shell | `patterns/viewport-shell/scroll-body-shell.md` | Scroll ownership is explicit in both metadata and child class naming. | Test nested scroll behavior manually when a downstream shell adds focusable regions. |
68
+ | Grid / Repetition | `patterns/grid-repetition/ram-grid.md` | The intrinsic repeat mechanic is clear and minimal. | Verify long labels and narrow containers remain readable, since count alone does not prove usable cards. |
69
+ | Overlay / Exception | `patterns/overlay-exception/imposter.md` | The anchor/overlay relationship is legible and source order remains stable. | Review modal semantics and focus behavior in product use; placement alone does not make a complete dialog. |
70
+
71
+ ## External Lineage Review
72
+
73
+ The current lineage set is meaningful at the concept level:
74
+
75
+ - Every Layout lineage is appropriate for stack, overlay, and media-like primitives because those references explain spatial constraints and composition.
76
+ - MDN lineage is appropriate for property-led shell behavior such as overflow mechanics.
77
+ - GOV.UK layout lineage is appropriate for containment and readable-width decisions because it is a production design-system precedent.
78
+ - web.dev one-line layout lineage is appropriate for intrinsic grid repetition.
79
+
80
+ Lineage review should reject links that only resemble a pattern name. A useful lineage link must explain the layout mechanic, the governance principle, or the implementation risk carried by the generated snippet.
81
+
82
+ ## Contract Summary
83
+
84
+ The contract is strong when each field and section has a job:
85
+
86
+ - selection: choose the right spatial primitive before writing product CSS.
87
+ - implementation: preserve the smallest robust HTML/CSS anatomy.
88
+ - validation: catch drift that can be detected mechanically.
89
+ - governance: surface risks that require reviewer judgment.
90
+
91
+ The validator should stay mechanical. Reviewers should own semantic fit, lineage quality, fallback realism, and whether examples still teach structure instead of style.
92
+
93
+ ## IA Navigation
94
+
95
+ Parent: [Evidence References](index.md).
96
+ Next: [Quality Gates](../index.md) to decide whether the evidence supports a claim.
@@ -0,0 +1,86 @@
1
+ ---
2
+ type: Evidence Reference
3
+ title: Search, Metadata, And Polyhierarchy
4
+ description: Evidence for pattern retrieval, metadata vocabulary, and search adoption decisions.
5
+ ---
6
+
7
+ # Search, Metadata, And Polyhierarchy
8
+
9
+ This record measures whether the generated index graph and pattern frontmatter solve discovery tasks before adding a search engine or faceted UI.
10
+
11
+ Source of truth:
12
+
13
+ - `scripts/pattern-data.mjs` stores the pattern table.
14
+ - `scripts/generate-patterns.mjs` renders pattern frontmatter, `CATALOG.md`, and category indexes.
15
+ - `scripts/validate-catalog.mjs --json` guards generated index consistency.
16
+
17
+ Generated catalog remains canonical. Search, if added later, is a derived access path and must not replace `CATALOG.md`, `patterns/index.md`, or `patterns/*/index.md` as the canonical catalog.
18
+
19
+ ## Metadata Dictionary
20
+
21
+ | Field | Definition | Allowed values in current corpus | Retrieval use | Drift rule |
22
+ | --- | --- | --- | --- | --- |
23
+ | `type` | OKF document kind for each generated pattern page. | `Layout Pattern` | Exclude non-pattern pages from pattern retrieval. | Single fixed value for generated patterns. |
24
+ | `name` | Stable slug and file identity. | 46 unique slugs. | Exact lookup and duplicate detection. | Must match generated file slug. |
25
+ | `title` | Display title for the pattern page. | Same 46 slugs as `name`. | Human scan label. | Must match `name` unless a deliberate display-title policy is introduced. |
26
+ | `category` | Canonical navigation group rendered into `patterns/index.md` and category indexes. | `Centering`, `Containment`, `Grid / Repetition`, `In-line grouping`, `Media / Fit`, `Overlay / Exception`, `Split / Sidebar`, `Stacking`, `Viewport / Shell` | Primary browse path and catalog grouping. | Do not introduce near-synonyms such as `Inline grouping` or `Grid repetition`. |
27
+ | `description` | Short problem statement mirrored from `primary_spatial_problem`. | One sentence per pattern. | Text scan inside `CATALOG.md`. | Keep aligned with `primary_spatial_problem`. |
28
+ | `primary_spatial_problem` | The one spatial problem the pattern optimizes. | One sentence per pattern. | Task-to-pattern matching. | Split the pattern if this becomes multiple primary problems. |
29
+ | `secondary_spatial_problems` | Incidental spatial behavior that helps composition. | `none` | Future polyhierarchy hook. | `none` means no secondary facet is claimed. |
30
+ | `layout_axis` | Dominant spatial axis. Allowed values: layout_axis: `block`, `inline`, `both`. | `block` (11), `inline` (24), `both` (11) | Filters layout direction before choosing a category. | Use these axis terms only; avoid `horizontal`, `vertical`, and `2D` aliases. |
31
+ | `content_shape` | Dominant content structure expected by the pattern. | `mixed` (46) | Future distinction between prose, media, controls, and repeated items. | Current vocabulary is underdeveloped; do not facet on it yet. |
32
+ | `responsiveness` | How the pattern adapts. Allowed values: responsiveness: `breakpointed`, `fixed`, `fluid`, `reflow`, `scroll`, `wrap`. | `fluid` (26), `wrap` (9), `reflow` (6), `fixed` (3), `breakpointed` (1), `scroll` (1) | Distinguishes intrinsic, wrapping, breakpoint, and scrolling behavior. | Keep `reflow` and `wrap` distinct: `wrap` changes row/line packing; `reflow` changes layout structure. |
33
+ | `constraints` | Human-readable statement of constraints and change points. | `Uses only local class hooks and explicit layout constraints.` | Confirms whether constraints are documented. | Improve wording only when generated from the source table. |
34
+ | `scroll_ownership` | Declares whether the pattern owns an internal scroll container. | `No internal scroll container.` (43), `Pattern owns the named scroll container.` (3) | Finds shells and rows where scroll responsibility is explicit. | Do not introduce synonyms such as `page scroll`, `local scroll`, or `internal scrolling` as facet values. |
35
+ | `source_lineage` | Source family or canonical reference URL. | MDN, Every Layout, web.dev, Carbon, GOV.UK, Material, and related source URLs. | Supports source-backed evaluation and lineage audits. | Keep URL strings exact; group families in derived reports only. |
36
+
37
+ ## Polyhierarchy Classification
38
+
39
+ The corpus already has a lightweight polyhierarchy:
40
+
41
+ | Relationship | Status | Reason |
42
+ | --- | --- | --- |
43
+ | Pattern -> `category` | Canonical browse hierarchy | Category drives generated indexes and should stay single-valued. |
44
+ | Pattern -> `layout_axis` | Intended retrieval facet | Axis cuts across categories without changing canonical placement. |
45
+ | Pattern -> `responsiveness` | Intended retrieval facet | Adaptation behavior is orthogonal to category. |
46
+ | Pattern -> `scroll_ownership` | Intended retrieval facet | Scroll responsibility cuts across shell, inline, and sidebar patterns. |
47
+ | Pattern -> `source_lineage` | Intended evidence facet | Source family supports traceability, not navigation ownership. |
48
+ | Pattern -> `content_shape` | Drift risk | Current value is `mixed` for all patterns, so it should not be exposed as a facet yet. |
49
+ | Pattern -> `secondary_spatial_problems` | Drift risk | Current value is `none` for all patterns, so it is a placeholder rather than a usable hierarchy. |
50
+
51
+ Facet value drift is a failure when two names represent one concept. Current high-risk examples to reject are `inline` vs `horizontal`, `block` vs `vertical`, `wrap` vs `wrapping`, and `Pattern owns the named scroll container.` vs `internal scroll`.
52
+
53
+ ## Retrieval Benchmark
54
+
55
+ | Task | Current index-only result | Metadata-assisted result | Measurement | Decision |
56
+ | --- | --- | --- | --- | --- |
57
+ | find a reflow-aware pattern with scroll ownership guidance | `CATALOG.md` cannot express the conjunction; category indexes require manual opening of candidate files. | No exact pattern has both `responsiveness: reflow` and `Pattern owns the named scroll container.`. Closest scroll-ownership matches are `scroll-body-shell`, `fixed-sidenav-shell`, and `reel`; reflow candidates are `list-detail`, `main-with-rail`, `media-object`, `split-screen`, `supporting-pane`, and `panel-layout`. | PASS as a measured answer: the metadata exposes that this is a no-exact-match query instead of hiding it behind search. | Add retrieval evidence; do not add search yet. |
58
+ | Find a shell pattern where the body owns scrolling. | `CATALOG.md` contains `scroll-body-shell`, but the scroll ownership claim is only visible after opening the page. | `category: Viewport / Shell` plus `scroll_ownership: Pattern owns the named scroll container.` returns `scroll-body-shell` and `fixed-sidenav-shell`. | PASS. | Metadata dictionary is enough. |
59
+ | Find a pattern that wraps inline controls. | `patterns/in-line-grouping/index.md` lists likely candidates, but responsiveness is not visible in the index. | `category: In-line grouping` plus `responsiveness: wrap` returns `breadcrumb`, `cluster`, `deconstructed-pancake`, `pagination`, `split-nav`, `tab-strip`, and `wrap-row`. | PASS. | A generated facet report may help later; search is not required. |
60
+ | Find source-backed grid repetition patterns. | `CATALOG.md` groups grid patterns but does not expose lineage. | `category: Grid / Repetition` plus `source_lineage` groups Carbon, MDN, GOV.UK, Material, and web.dev-backed patterns. | PASS. | Keep source lineage as metadata, not primary navigation. |
61
+
62
+ Benchmark conclusion: current indexes answer name/category browsing; metadata answers cross-cutting retrieval. The observed weakness is lack of a published dictionary and benchmark, not lack of full-text search.
63
+
64
+ ## Search Decision Record
65
+
66
+ Decision: do not add Pagefind or DocSearch yet.
67
+
68
+ Rationale:
69
+
70
+ - The measured failures are metadata-publication gaps, not search-engine gaps.
71
+ - A search box could hide category, axis, responsiveness, and scroll-ownership vocabulary drift instead of fixing it.
72
+ - The generated catalog and category indexes already provide the canonical graph; search should remain derived if introduced.
73
+
74
+ Revisit search only when a benchmark task fails after metadata is public and the failure cannot be solved by a generated facet report or clearer index text.
75
+
76
+ Search adoption guardrails:
77
+
78
+ - Keep `CATALOG.md` as the canonical pattern list.
79
+ - Generate search data from pattern frontmatter rather than hand-maintaining a second index.
80
+ - Validate facet vocabulary before indexing so drift cannot become search UI state.
81
+ - Treat Pagefind or DocSearch results as navigation aids, not source-of-truth records.
82
+
83
+ ## IA Navigation
84
+
85
+ Parent: [Evidence References](index.md).
86
+ Next: [Quality Gates](../index.md) to decide whether the evidence supports a claim.
@@ -0,0 +1,43 @@
1
+ ---
2
+ type: Evidence Reference
3
+ title: Source Admissibility
4
+ description: Source families and boundaries for quality gate evidence.
5
+ ---
6
+
7
+ # Source Admissibility
8
+
9
+ Sources are admissible only inside a claim boundary.
10
+
11
+ ## Source Families
12
+
13
+ - Academic and standards sources can support conceptual claims.
14
+ - Official standards and methodology documents can support accessibility, evaluation, and process claims.
15
+ - Official tool docs can support operational procedures.
16
+ - Vendor or practice docs can support implementation examples, not prove human design quality.
17
+ - Public design-system docs can support vocabulary and comparison, not brand imitation or affiliation.
18
+ - Practitioner skill repositories can suggest terminology, procedures, and review questions; they cannot establish normative local policy without independent evidence and governance adoption.
19
+
20
+ ## Required Source Boundary
21
+
22
+ For every cited source, record:
23
+
24
+ - what the source can support;
25
+ - what the source cannot prove;
26
+ - whether it is academic, standards, official tooling, or practice reference;
27
+ - whether the claim needs local rendered evidence or user evidence.
28
+
29
+ ## Rejection Rules
30
+
31
+ Reject source use when:
32
+
33
+ - a blog post is used as proof of human design quality;
34
+ - a public design system is treated as permission to imitate a brand;
35
+ - a tool doc is used to prove accessibility or usability outcomes;
36
+ - a source is cited without a claim, warrant, or boundary.
37
+ - mutable branch names or abbreviated revisions are used as the only provenance for adapted external guidance;
38
+ - third-party or platform-derived expression is assumed to be covered by a practitioner's repository license.
39
+
40
+ ## IA Navigation
41
+
42
+ Parent: [Evidence References](index.md).
43
+ Next: [Quality Gates](../index.md) to decide whether the evidence supports a claim.
@@ -0,0 +1,33 @@
1
+ ---
2
+ type: Evidence Reference
3
+ title: Token Evidence
4
+ description: Design token contract surfaces and boundaries.
5
+ ---
6
+
7
+ # Token Evidence
8
+
9
+ Tokens are contract surfaces for reusable design decisions.
10
+
11
+ ## Can Support
12
+
13
+ - a value has a stable name and source lineage;
14
+ - related surfaces share a consistent value;
15
+ - a design decision can travel across tools or codebases;
16
+ - token categories and aliases are inspectable.
17
+
18
+ ## Cannot Prove
19
+
20
+ - visual quality;
21
+ - accessibility;
22
+ - brand fit;
23
+ - motion comfort;
24
+ - task success.
25
+
26
+ ## Boundary
27
+
28
+ Use tokens for shared design intent. Keep browser and layout mechanics such as `auto`, percentages, intrinsic sizing, and container-query units in CSS when they are layout behavior rather than design intent.
29
+
30
+ ## IA Navigation
31
+
32
+ Parent: [Evidence References](index.md).
33
+ Next: [Quality Gates](../index.md) to decide whether the evidence supports a claim.
@@ -0,0 +1,41 @@
1
+ ---
2
+ type: Evidence Reference
3
+ title: Visual QA Evidence
4
+ description: Rendered evidence sources and limits.
5
+ ---
6
+
7
+ # Visual QA Evidence
8
+
9
+ Visual QA evidence helps inspect rendered output.
10
+
11
+ ## Evidence Types
12
+
13
+ - screenshot baselines;
14
+ - visual diffs;
15
+ - responsive viewport captures;
16
+ - state captures for hover, focus, active, disabled, error, expanded, and loading states;
17
+ - reduced-motion captures when motion behavior is claimed.
18
+
19
+ ## Can Support
20
+
21
+ - a rendered state changed;
22
+ - a rendered state stayed stable against a baseline;
23
+ - a viewport or state has evidence available for review;
24
+ - visual review can proceed from concrete artifacts.
25
+
26
+ ## Cannot Prove
27
+
28
+ - usability;
29
+ - accessibility;
30
+ - brand fit;
31
+ - aesthetic quality;
32
+ - task completion.
33
+
34
+ ## Required Phrase
35
+
36
+ Screenshot diffs show rendered change, not usability.
37
+
38
+ ## IA Navigation
39
+
40
+ Parent: [Evidence References](index.md).
41
+ Next: [Quality Gates](../index.md) to decide whether the evidence supports a claim.
@@ -0,0 +1,60 @@
1
+ ---
2
+ type: Quality Gate
3
+ title: Accessibility Evidence Gate
4
+ description: Accessibility evidence requirements and overclaim boundaries.
5
+ ---
6
+
7
+ # Accessibility Evidence Gate
8
+
9
+ Accessibility precedes taste.
10
+
11
+ ## Scope
12
+
13
+ Use this gate when a claim affects access, comprehension, keyboard use, screen-reader flow, contrast, motion comfort, error recovery, or cognitive load.
14
+
15
+ ## Accepted Evidence
16
+
17
+ - WCAG-oriented checks where applicable;
18
+ - ACT-rule, axe, Storybook, or equivalent automated findings;
19
+ - keyboard and focus-path checks;
20
+ - contrast and non-color-only meaning checks;
21
+ - screen-reader or accessibility-tree review when the claim depends on semantics;
22
+ - cognitive accessibility review for language, memory burden, predictability, and help.
23
+
24
+ ## Verification Method Register
25
+
26
+ Classify every accessibility claim before approval:
27
+
28
+ - `automated`: rule-scoped machine checks such as axe, ACT, contrast math, lint output, or validator output.
29
+ - `manual`: expert review of DOM order, focus order, keyboard behavior, screen-reader flow, language clarity, motion comfort, or cognitive load.
30
+ - `user`: participant evidence for task completion, comprehension, assistive-technology fit, or perceived effort.
31
+ - `debt`: a known accessibility gap with affected users, owner, review trigger, and expiry condition.
32
+
33
+ The claim record must include the verification method, the evidence artifact, the boundary, and any accepted debt. A rendered screenshot, visual diff, generated image, or GPT Image reference can be supporting context only; it is not an accessibility verification method.
34
+
35
+ ## Required Boundary Language
36
+
37
+ - Automated accessibility scans assist evaluation, not determine accessibility.
38
+ - Passing an automated scan means no issue was found by that tested rule set.
39
+ - Manual judgment is required for claims involving task completion, cognitive load, clarity, assistive technology behavior, or user comprehension.
40
+ - Visual evidence cannot prove accessibility unless it is paired with the relevant automated, manual, user, or debt record.
41
+
42
+ ## Blocking Conditions
43
+
44
+ Block an accessibility claim when:
45
+
46
+ - focus is invisible or illogical;
47
+ - essential meaning depends on color alone;
48
+ - required alternatives for media are missing;
49
+ - motion lacks a reduced-motion path when motion safety is declared;
50
+ - a known accessibility failure is treated as a taste tradeoff;
51
+ - accessibility debt lacks affected users and a review trigger.
52
+
53
+ ## Boundary
54
+
55
+ Accessibility evidence may require expert or user review. Do not turn a scan result into a complete accessibility certification.
56
+
57
+ ## IA Navigation
58
+
59
+ Parent: [Gate Contracts](index.md).
60
+ Next: [Evidence References](../evidence/index.md) when a gate needs admissible support.
@@ -0,0 +1,53 @@
1
+ ---
2
+ type: Quality Gate
3
+ title: Consumer Migration Evidence Gate
4
+ description: Blocking contract for consumer-owned migration conformance and page evidence.
5
+ ---
6
+
7
+ # Consumer Migration Evidence Gate
8
+
9
+ Use this gate only for a declared consumer migration. Ordinary implementation handoffs keep the existing consumer-reference applicability contract and do not need a migration record.
10
+
11
+ ## Required Contract
12
+
13
+ Record:
14
+
15
+ ```txt
16
+ Consumer migration conformance: declared
17
+ Consumer migration conformance record: path/to/consumer-conformance.json
18
+ Consumer revision:
19
+ Relevant source inventory:
20
+ Thirteen migration-dimension classifications:
21
+ Runtime scenario results:
22
+ Adoption mappings:
23
+ Page evidence: applicable | not_applicable
24
+ Deviations:
25
+ Debt and review dates:
26
+ Claim boundary:
27
+ Decision: pass | block
28
+ ```
29
+
30
+ The record path is normalized, repository-relative JSON inside the consuming repository. The record follows the [consumer conformance schema](../../consumer-reference/schema/consumer-conformance-record.schema.json) and the [receiver contract](../../consumer-reference/contract.md).
31
+
32
+ ## Blocking Conditions
33
+
34
+ Block when any of the following is true:
35
+
36
+ - any of the thirteen migration dimensions is absent rather than explicitly `applicable` or `not_applicable`;
37
+ - an applicable dimension has no declared runtime scenario, or a scenario has a nonzero exit, missing result artifact, mismatched run/session identity, or stale source digest;
38
+ - an adoption mapping lacks a pinned StyleGallery revision and anchor, concrete local target, local decision, scenario link, or declared deviations and debt;
39
+ - page evidence is applicable but its source inventory, revision, browser scenario catalog, repository, run, session, artifact hashes, or finalized manifest does not match the conformance record;
40
+ - a source changes between session creation and finalization, an artifact escapes the evidence root, a symlink or unmanifested artifact is accepted, or evidence is reused across sessions;
41
+ - expired blocking evidence or malformed freshness metadata is presented as current;
42
+ - the handoff implies that passing validator or browser checks proves complete accessibility, product correctness, usability, or approval.
43
+
44
+ ## Evidence Decision
45
+
46
+ Pass means only that the declared migration contract and its named evidence agree at the pinned consumer and StyleGallery revisions. It does not mean the migration is universally correct or that omitted behavior is safe. Reviewers still decide whether the inventory and `not_applicable` reasons are credible.
47
+
48
+ Use [Consumer Migration Evidence](../evidence/consumer-migration.md) to interpret runtime, browser, freshness, and review channels. Use [Executable Evidence](../evidence/executable-evidence.md) for the repository-wide distinction between structural enforcement and human judgment.
49
+
50
+ ## IA Navigation
51
+
52
+ Parent: [Gate Contracts](index.md).
53
+ Next: [Consumer Migration Evidence](../evidence/consumer-migration.md).
@@ -0,0 +1,56 @@
1
+ ---
2
+ type: Quality Gate
3
+ title: Design Claim Gate
4
+ description: Contract for admitting non-layout design claims.
5
+ ---
6
+
7
+ # Design Claim Gate
8
+
9
+ The design claim gate prevents evidence from becoming unsupported authority.
10
+
11
+ ## Required Contract
12
+
13
+ Every non-layout design claim should state:
14
+
15
+ ```txt
16
+ Principle:
17
+ Claim:
18
+ Context:
19
+ Warrant:
20
+ Evidence family:
21
+ Verification protocol:
22
+ Boundary or limitation:
23
+ Debt or escalation:
24
+ Decision:
25
+ ```
26
+
27
+ ## Evidence Families
28
+
29
+ Use the normalized [evidence family glossary](../evidence/families.md):
30
+
31
+ - `validator`: file shape, headings, frontmatter, source lineage, token structure, fixture output, and CI checks.
32
+ - `screenshot`: screenshots, visual diffs, state captures, viewport captures, and rendered DOM artifacts.
33
+ - `accessibility`: WCAG/ACT checks, keyboard checks, contrast checks, assistive-technology/manual review, and cognitive accessibility review.
34
+ - `user`: heuristic evaluation, cognitive walkthrough, persona or task review, user testing, validated visual-aesthetics instruments, and participant evidence.
35
+ - `source`: academic, standards, official tooling, methodology, vendor, practice, and public design-system references inside a stated boundary.
36
+ - `rationale`: Toulmin/ADR-style records, options considered, criteria, counterclaims, limitations, debt, owner, and review trigger.
37
+
38
+ ## Blocking Conditions
39
+
40
+ Block a design claim when:
41
+
42
+ - it has evidence but no warrant;
43
+ - it treats a screenshot diff as proof of usability;
44
+ - it treats an automated accessibility scan as proof of accessibility;
45
+ - it cites public design systems as proof of universal quality;
46
+ - it conflicts with accessibility or task completion;
47
+ - it requires changes inside generated layout pattern surfaces.
48
+
49
+ ## Boundary
50
+
51
+ This gate admits claims. It does not prescribe a product brand, palette, illustration style, typeface, animation system, or component library.
52
+
53
+ ## IA Navigation
54
+
55
+ Parent: [Gate Contracts](index.md).
56
+ Next: [Evidence References](../evidence/index.md) when a gate needs admissible support.
@@ -0,0 +1,78 @@
1
+ ---
2
+ type: Quality Gate
3
+ title: Harmony Evaluation Gate
4
+ description: Contract for judging webpage content-to-layout fit, visual-reference use, and implementation handoff.
5
+ ---
6
+
7
+ # Harmony Evaluation Gate
8
+
9
+ Use this gate before a generated image or visual reference becomes implementation guidance for a homepage or ordinary webpage.
10
+
11
+ ## Required Contract
12
+
13
+ Record:
14
+
15
+ ```txt
16
+ Use case:
17
+ Primary task:
18
+ Audience:
19
+ Content-to-layout match:
20
+ Overall harmony:
21
+ Claim record route:
22
+ GPT Image reference:
23
+ Implementation handoff:
24
+ Consumer reference: not_applicable
25
+ Consumer reference reason: This blank harmony-gate template declares no consumer-specific reference record.
26
+ Rejected alternatives:
27
+ Final implementation proof:
28
+ Evidence family:
29
+ Verification protocol:
30
+ Boundary or limitation:
31
+ Decision:
32
+ ```
33
+
34
+ Do not generate a GPT Image reference before harmony evaluation approves the semantic order, section jobs, pattern stack, scroll owner, and constraints.
35
+ Source order, accessibility, brand correctness, and usability cannot be inferred from the image.
36
+ Final implementation proof: screenshot or visual-diff evidence, accessibility evidence, and viewport/content stress evidence from the built page.
37
+
38
+ ## Evidence Families
39
+
40
+ Use the normalized [evidence family glossary](../evidence/families.md):
41
+
42
+ - `validator`: layout brief fields, recipe choice, pattern stack, semantic skeleton, linkable workflow docs, and validator output.
43
+ - `screenshot`: generated GPT Image reference, screenshots, state captures, viewport captures, and visual diffs.
44
+ - `accessibility`: keyboard order, focus visibility, contrast, reduced-motion, semantic landmarks, assistive-technology review, and cognitive accessibility review.
45
+ - `user`: content hierarchy review, cognitive walkthrough, visitor decision-path review, design critique, participant testing, or validated measurement.
46
+ - `source`: external methodology or standards used to frame the harmony claim.
47
+ - `rationale`: claim record, rejected alternatives, limitations, accepted debt, owner, and review trigger.
48
+
49
+ ## Blocking Conditions
50
+
51
+ Block the harmony claim when:
52
+
53
+ - the use case is unnamed;
54
+ - the page uses a fashionable layout that does not match the content jobs;
55
+ - the GPT Image reference is generated before semantic order, section jobs, and pattern stack are approved;
56
+ - the GPT Image reference is generated before scroll owner and constraints are approved;
57
+ - rejected alternatives are missing when a fashionable or image-led pattern was considered;
58
+ - a generated image is treated as proof of usability, accessibility, or brand fit;
59
+ - visual novelty weakens source order, focus order, task completion, or content stress behavior;
60
+ - decorative styling is moved into reusable pattern CSS;
61
+ - the implementation handoff omits constraints, scroll ownership, accepted debt, or verification.
62
+
63
+ ## Accessibility Boundary
64
+
65
+ Generated images, screenshots, visual diffs, and GPT Image references cannot prove accessibility. They can show rendered state, hierarchy, or visual intent, but accessibility claims must link to the accessibility evidence register and name an `automated`, `manual`, `user`, or `debt` verification method.
66
+
67
+ ## Boundary
68
+
69
+ This gate decides whether a webpage composition is coherent enough to guide implementation. It does not define the consuming product's brand, typography, color, illustration style, animation system, or component library.
70
+
71
+ Use a [structured claim record](../claims.md) when the harmony decision approves, blocks, or redirects implementation. Harmony records must include the use case and implementation handoff because they decide what the implementer may safely carry from a visual reference into product-level styling.
72
+
73
+ If the work is an existing-consumer migration that declares conformance, route the separate migration evidence decision through the [Consumer Migration Evidence Gate](consumer-migration-evidence.md). Harmony cannot substitute for runtime parity or source-bound page evidence.
74
+
75
+ ## IA Navigation
76
+
77
+ Parent: [Gate Contracts](index.md).
78
+ Next: [Evidence References](../evidence/index.md) when a gate needs admissible support.
@@ -0,0 +1,13 @@
1
+ # Gate Contracts
2
+
3
+ Gate contracts define what kind of evidence can support a claim.
4
+
5
+ ## Gates
6
+
7
+ - [Layout gate](layout.md) - Mechanical layout contract and stress evidence.
8
+ - [Design claim gate](design-claim.md) - Required shape for non-layout design claims.
9
+ - [Visual evidence gate](visual-evidence.md) - Rendered evidence and visual QA boundaries.
10
+ - [Accessibility evidence gate](accessibility-evidence.md) - Accessibility evidence and review boundaries.
11
+ - [Rationale gate](rationale.md) - Decision rationale, alternatives, warrants, and debt.
12
+ - [Harmony evaluation gate](harmony-evaluation.md) - Contract for judging content-to-layout fit, overall harmony, GPT Image references, and implementation handoff.
13
+ - [Consumer migration evidence gate](consumer-migration-evidence.md) - Blocking contract for consumer-owned migration conformance, runtime proof, and source-bound page evidence.
@@ -0,0 +1,52 @@
1
+ ---
2
+ type: Quality Gate
3
+ title: Layout Gate
4
+ description: Mechanical quality gate for StyleGallery Layout spatial pattern claims.
5
+ ---
6
+
7
+ # Layout Gate
8
+
9
+ The layout gate is the existing pattern contract made explicit as a quality gate.
10
+
11
+ ## Scope
12
+
13
+ Layout owns:
14
+
15
+ - semantic structure where it affects layout;
16
+ - source order and focus order;
17
+ - flow, sizing, alignment, spacing mechanics, scrolling, ratio, and containment;
18
+ - explicit constraints and change points;
19
+ - viewport, container, content, direction, writing-mode, and interaction stress.
20
+
21
+ Layout does not own brand, typography voice, color expression, shadow, animation, decoration, or product visual identity.
22
+
23
+ ## Evidence
24
+
25
+ Accepted layout evidence includes:
26
+
27
+ - pattern frontmatter and required sections;
28
+ - HTML and CSS snippets;
29
+ - required core properties and break-if-removed notes;
30
+ - constraints and scroll ownership;
31
+ - accessibility and source-order notes;
32
+ - validator output from `scripts/validate-patterns.mjs`;
33
+ - manual stress checks from the repository verification matrix.
34
+
35
+ ## Blocking Conditions
36
+
37
+ Block a layout claim when:
38
+
39
+ - the pattern solves more than one primary spatial problem without being marked as a composite;
40
+ - required contract sections are missing;
41
+ - reusable CSS includes decorative properties without a layout-specific reason;
42
+ - source order, focus order, or scroll ownership is unclear;
43
+ - reflow claims are unsupported by the CSS mechanism.
44
+
45
+ ## Boundary
46
+
47
+ Visual polish is not a layout pass/fail condition. If a concern is about color, typography voice, surface treatment, motion, or brand fit, route it to the design claim gate.
48
+
49
+ ## IA Navigation
50
+
51
+ Parent: [Gate Contracts](index.md).
52
+ Next: [Evidence References](../evidence/index.md) when a gate needs admissible support.