@ztothez/design-engineering 2.0.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 (513) hide show
  1. package/LICENSE +15 -0
  2. package/README.md +448 -0
  3. package/ROADMAP.md +127 -0
  4. package/SKILL.md +698 -0
  5. package/V2-ROADMAP.md +431 -0
  6. package/V3-ROADMAP.md +605 -0
  7. package/V4-ROADMAP.md +283 -0
  8. package/clean-room-ux-design-spec.md +1431 -0
  9. package/dist/cli/aggregate-gates.d.ts +2 -0
  10. package/dist/cli/aggregate-gates.js +86 -0
  11. package/dist/cli/aggregate-gates.js.map +1 -0
  12. package/dist/cli/assess-maintainer-review.d.ts +2 -0
  13. package/dist/cli/assess-maintainer-review.js +72 -0
  14. package/dist/cli/assess-maintainer-review.js.map +1 -0
  15. package/dist/cli/audit.d.ts +2 -0
  16. package/dist/cli/audit.js +71 -0
  17. package/dist/cli/audit.js.map +1 -0
  18. package/dist/cli/compile-comparison-review.d.ts +2 -0
  19. package/dist/cli/compile-comparison-review.js +154 -0
  20. package/dist/cli/compile-comparison-review.js.map +1 -0
  21. package/dist/cli/compile-plan.d.ts +2 -0
  22. package/dist/cli/compile-plan.js +66 -0
  23. package/dist/cli/compile-plan.js.map +1 -0
  24. package/dist/cli/evaluate-corpus.d.ts +2 -0
  25. package/dist/cli/evaluate-corpus.js +65 -0
  26. package/dist/cli/evaluate-corpus.js.map +1 -0
  27. package/dist/cli/generate-react.d.ts +2 -0
  28. package/dist/cli/generate-react.js +83 -0
  29. package/dist/cli/generate-react.js.map +1 -0
  30. package/dist/cli/index.d.ts +2 -0
  31. package/dist/cli/index.js +58 -0
  32. package/dist/cli/index.js.map +1 -0
  33. package/dist/cli/portfolio.d.ts +2 -0
  34. package/dist/cli/portfolio.js +316 -0
  35. package/dist/cli/portfolio.js.map +1 -0
  36. package/dist/cli/quality-gate.d.ts +2 -0
  37. package/dist/cli/quality-gate.js +131 -0
  38. package/dist/cli/quality-gate.js.map +1 -0
  39. package/dist/cli/repair-react.d.ts +2 -0
  40. package/dist/cli/repair-react.js +163 -0
  41. package/dist/cli/repair-react.js.map +1 -0
  42. package/dist/cli/review-heuristics.d.ts +2 -0
  43. package/dist/cli/review-heuristics.js +68 -0
  44. package/dist/cli/review-heuristics.js.map +1 -0
  45. package/dist/cli/validate-brief.d.ts +2 -0
  46. package/dist/cli/validate-brief.js +58 -0
  47. package/dist/cli/validate-brief.js.map +1 -0
  48. package/dist/cli/validate-comparison.d.ts +2 -0
  49. package/dist/cli/validate-comparison.js +68 -0
  50. package/dist/cli/validate-comparison.js.map +1 -0
  51. package/dist/cli/validate-contract.d.ts +2 -0
  52. package/dist/cli/validate-contract.js +54 -0
  53. package/dist/cli/validate-contract.js.map +1 -0
  54. package/dist/cli/validate-design.d.ts +2 -0
  55. package/dist/cli/validate-design.js +53 -0
  56. package/dist/cli/validate-design.js.map +1 -0
  57. package/dist/cli/validate-information.d.ts +2 -0
  58. package/dist/cli/validate-information.js +53 -0
  59. package/dist/cli/validate-information.js.map +1 -0
  60. package/dist/cli/validate-trust.d.ts +2 -0
  61. package/dist/cli/validate-trust.js +53 -0
  62. package/dist/cli/validate-trust.js.map +1 -0
  63. package/dist/cli/verify-ui.d.ts +2 -0
  64. package/dist/cli/verify-ui.js +181 -0
  65. package/dist/cli/verify-ui.js.map +1 -0
  66. package/dist/src/acceptance/evaluator.d.ts +13 -0
  67. package/dist/src/acceptance/evaluator.js +201 -0
  68. package/dist/src/acceptance/evaluator.js.map +1 -0
  69. package/dist/src/acceptance/loader.d.ts +2 -0
  70. package/dist/src/acceptance/loader.js +18 -0
  71. package/dist/src/acceptance/loader.js.map +1 -0
  72. package/dist/src/acceptance/report.d.ts +2 -0
  73. package/dist/src/acceptance/report.js +18 -0
  74. package/dist/src/acceptance/report.js.map +1 -0
  75. package/dist/src/acceptance/schema.d.ts +64 -0
  76. package/dist/src/acceptance/schema.js +57 -0
  77. package/dist/src/acceptance/schema.js.map +1 -0
  78. package/dist/src/acceptance/types.d.ts +47 -0
  79. package/dist/src/acceptance/types.js +2 -0
  80. package/dist/src/acceptance/types.js.map +1 -0
  81. package/dist/src/aggregate/report.d.ts +2 -0
  82. package/dist/src/aggregate/report.js +33 -0
  83. package/dist/src/aggregate/report.js.map +1 -0
  84. package/dist/src/aggregate/runner.d.ts +2 -0
  85. package/dist/src/aggregate/runner.js +165 -0
  86. package/dist/src/aggregate/runner.js.map +1 -0
  87. package/dist/src/aggregate/schema.d.ts +182 -0
  88. package/dist/src/aggregate/schema.js +54 -0
  89. package/dist/src/aggregate/schema.js.map +1 -0
  90. package/dist/src/aggregate/types.d.ts +57 -0
  91. package/dist/src/aggregate/types.js +2 -0
  92. package/dist/src/aggregate/types.js.map +1 -0
  93. package/dist/src/audit/policy.d.ts +3 -0
  94. package/dist/src/audit/policy.js +45 -0
  95. package/dist/src/audit/policy.js.map +1 -0
  96. package/dist/src/audit/report.d.ts +2 -0
  97. package/dist/src/audit/report.js +32 -0
  98. package/dist/src/audit/report.js.map +1 -0
  99. package/dist/src/audit/rules/accessibility-name.d.ts +2 -0
  100. package/dist/src/audit/rules/accessibility-name.js +64 -0
  101. package/dist/src/audit/rules/accessibility-name.js.map +1 -0
  102. package/dist/src/audit/rules/component-size.d.ts +2 -0
  103. package/dist/src/audit/rules/component-size.js +27 -0
  104. package/dist/src/audit/rules/component-size.js.map +1 -0
  105. package/dist/src/audit/rules/credential-placeholder.d.ts +2 -0
  106. package/dist/src/audit/rules/credential-placeholder.js +83 -0
  107. package/dist/src/audit/rules/credential-placeholder.js.map +1 -0
  108. package/dist/src/audit/rules/helpers.d.ts +16 -0
  109. package/dist/src/audit/rules/helpers.js +64 -0
  110. package/dist/src/audit/rules/helpers.js.map +1 -0
  111. package/dist/src/audit/rules/index.d.ts +2 -0
  112. package/dist/src/audit/rules/index.js +23 -0
  113. package/dist/src/audit/rules/index.js.map +1 -0
  114. package/dist/src/audit/rules/interactive-integrity.d.ts +2 -0
  115. package/dist/src/audit/rules/interactive-integrity.js +111 -0
  116. package/dist/src/audit/rules/interactive-integrity.js.map +1 -0
  117. package/dist/src/audit/rules/mixed-responsibilities.d.ts +2 -0
  118. package/dist/src/audit/rules/mixed-responsibilities.js +39 -0
  119. package/dist/src/audit/rules/mixed-responsibilities.js.map +1 -0
  120. package/dist/src/audit/rules/mock-production-path.d.ts +2 -0
  121. package/dist/src/audit/rules/mock-production-path.js +39 -0
  122. package/dist/src/audit/rules/mock-production-path.js.map +1 -0
  123. package/dist/src/audit/rules/network-state.d.ts +2 -0
  124. package/dist/src/audit/rules/network-state.js +39 -0
  125. package/dist/src/audit/rules/network-state.js.map +1 -0
  126. package/dist/src/audit/rules/operational-claim.d.ts +2 -0
  127. package/dist/src/audit/rules/operational-claim.js +94 -0
  128. package/dist/src/audit/rules/operational-claim.js.map +1 -0
  129. package/dist/src/audit/rules/placeholder-interaction.d.ts +2 -0
  130. package/dist/src/audit/rules/placeholder-interaction.js +46 -0
  131. package/dist/src/audit/rules/placeholder-interaction.js.map +1 -0
  132. package/dist/src/audit/rules/raw-design-values.d.ts +2 -0
  133. package/dist/src/audit/rules/raw-design-values.js +97 -0
  134. package/dist/src/audit/rules/raw-design-values.js.map +1 -0
  135. package/dist/src/audit/scanner.d.ts +2 -0
  136. package/dist/src/audit/scanner.js +215 -0
  137. package/dist/src/audit/scanner.js.map +1 -0
  138. package/dist/src/audit/types.d.ts +62 -0
  139. package/dist/src/audit/types.js +2 -0
  140. package/dist/src/audit/types.js.map +1 -0
  141. package/dist/src/comparison/evaluator.d.ts +2 -0
  142. package/dist/src/comparison/evaluator.js +478 -0
  143. package/dist/src/comparison/evaluator.js.map +1 -0
  144. package/dist/src/comparison/loader.d.ts +3 -0
  145. package/dist/src/comparison/loader.js +26 -0
  146. package/dist/src/comparison/loader.js.map +1 -0
  147. package/dist/src/comparison/maintainer.d.ts +47 -0
  148. package/dist/src/comparison/maintainer.js +218 -0
  149. package/dist/src/comparison/maintainer.js.map +1 -0
  150. package/dist/src/comparison/report.d.ts +2 -0
  151. package/dist/src/comparison/report.js +48 -0
  152. package/dist/src/comparison/report.js.map +1 -0
  153. package/dist/src/comparison/schema.d.ts +464 -0
  154. package/dist/src/comparison/schema.js +502 -0
  155. package/dist/src/comparison/schema.js.map +1 -0
  156. package/dist/src/contracts/archetypes.d.ts +21 -0
  157. package/dist/src/contracts/archetypes.js +102 -0
  158. package/dist/src/contracts/archetypes.js.map +1 -0
  159. package/dist/src/contracts/journeys.d.ts +7 -0
  160. package/dist/src/contracts/journeys.js +32 -0
  161. package/dist/src/contracts/journeys.js.map +1 -0
  162. package/dist/src/contracts/report.d.ts +2 -0
  163. package/dist/src/contracts/report.js +33 -0
  164. package/dist/src/contracts/report.js.map +1 -0
  165. package/dist/src/contracts/schema.d.ts +1038 -0
  166. package/dist/src/contracts/schema.js +385 -0
  167. package/dist/src/contracts/schema.js.map +1 -0
  168. package/dist/src/contracts/validator.d.ts +12 -0
  169. package/dist/src/contracts/validator.js +303 -0
  170. package/dist/src/contracts/validator.js.map +1 -0
  171. package/dist/src/corpus/evaluator.d.ts +2 -0
  172. package/dist/src/corpus/evaluator.js +203 -0
  173. package/dist/src/corpus/evaluator.js.map +1 -0
  174. package/dist/src/corpus/loader.d.ts +2 -0
  175. package/dist/src/corpus/loader.js +20 -0
  176. package/dist/src/corpus/loader.js.map +1 -0
  177. package/dist/src/corpus/report.d.ts +2 -0
  178. package/dist/src/corpus/report.js +33 -0
  179. package/dist/src/corpus/report.js.map +1 -0
  180. package/dist/src/corpus/schema.d.ts +316 -0
  181. package/dist/src/corpus/schema.js +269 -0
  182. package/dist/src/corpus/schema.js.map +1 -0
  183. package/dist/src/design-intelligence/loader.d.ts +2 -0
  184. package/dist/src/design-intelligence/loader.js +21 -0
  185. package/dist/src/design-intelligence/loader.js.map +1 -0
  186. package/dist/src/design-intelligence/report.d.ts +2 -0
  187. package/dist/src/design-intelligence/report.js +36 -0
  188. package/dist/src/design-intelligence/report.js.map +1 -0
  189. package/dist/src/design-intelligence/schema.d.ts +838 -0
  190. package/dist/src/design-intelligence/schema.js +854 -0
  191. package/dist/src/design-intelligence/schema.js.map +1 -0
  192. package/dist/src/design-intelligence/validator.d.ts +2 -0
  193. package/dist/src/design-intelligence/validator.js +1371 -0
  194. package/dist/src/design-intelligence/validator.js.map +1 -0
  195. package/dist/src/design-plan/compiler.d.ts +8 -0
  196. package/dist/src/design-plan/compiler.js +288 -0
  197. package/dist/src/design-plan/compiler.js.map +1 -0
  198. package/dist/src/design-plan/report.d.ts +2 -0
  199. package/dist/src/design-plan/report.js +28 -0
  200. package/dist/src/design-plan/report.js.map +1 -0
  201. package/dist/src/design-plan/schema.d.ts +202 -0
  202. package/dist/src/design-plan/schema.js +76 -0
  203. package/dist/src/design-plan/schema.js.map +1 -0
  204. package/dist/src/generation/loader.d.ts +2 -0
  205. package/dist/src/generation/loader.js +21 -0
  206. package/dist/src/generation/loader.js.map +1 -0
  207. package/dist/src/generation/policy.d.ts +12 -0
  208. package/dist/src/generation/policy.js +62 -0
  209. package/dist/src/generation/policy.js.map +1 -0
  210. package/dist/src/generation/react-typescript.d.ts +6 -0
  211. package/dist/src/generation/react-typescript.js +538 -0
  212. package/dist/src/generation/react-typescript.js.map +1 -0
  213. package/dist/src/generation/report.d.ts +2 -0
  214. package/dist/src/generation/report.js +21 -0
  215. package/dist/src/generation/report.js.map +1 -0
  216. package/dist/src/generation/schema.d.ts +44 -0
  217. package/dist/src/generation/schema.js +50 -0
  218. package/dist/src/generation/schema.js.map +1 -0
  219. package/dist/src/generation/templates/tokens.d.ts +1 -0
  220. package/dist/src/generation/templates/tokens.js +59 -0
  221. package/dist/src/generation/templates/tokens.js.map +1 -0
  222. package/dist/src/heuristics/evaluator.d.ts +2 -0
  223. package/dist/src/heuristics/evaluator.js +65 -0
  224. package/dist/src/heuristics/evaluator.js.map +1 -0
  225. package/dist/src/heuristics/loader.d.ts +2 -0
  226. package/dist/src/heuristics/loader.js +21 -0
  227. package/dist/src/heuristics/loader.js.map +1 -0
  228. package/dist/src/heuristics/report.d.ts +3 -0
  229. package/dist/src/heuristics/report.js +31 -0
  230. package/dist/src/heuristics/report.js.map +1 -0
  231. package/dist/src/heuristics/schema.d.ts +198 -0
  232. package/dist/src/heuristics/schema.js +197 -0
  233. package/dist/src/heuristics/schema.js.map +1 -0
  234. package/dist/src/information-design/loader.d.ts +2 -0
  235. package/dist/src/information-design/loader.js +21 -0
  236. package/dist/src/information-design/loader.js.map +1 -0
  237. package/dist/src/information-design/report.d.ts +2 -0
  238. package/dist/src/information-design/report.js +27 -0
  239. package/dist/src/information-design/report.js.map +1 -0
  240. package/dist/src/information-design/schema.d.ts +370 -0
  241. package/dist/src/information-design/schema.js +329 -0
  242. package/dist/src/information-design/schema.js.map +1 -0
  243. package/dist/src/information-design/validator.d.ts +2 -0
  244. package/dist/src/information-design/validator.js +242 -0
  245. package/dist/src/information-design/validator.js.map +1 -0
  246. package/dist/src/interface-trust/loader.d.ts +2 -0
  247. package/dist/src/interface-trust/loader.js +21 -0
  248. package/dist/src/interface-trust/loader.js.map +1 -0
  249. package/dist/src/interface-trust/report.d.ts +2 -0
  250. package/dist/src/interface-trust/report.js +26 -0
  251. package/dist/src/interface-trust/report.js.map +1 -0
  252. package/dist/src/interface-trust/schema.d.ts +299 -0
  253. package/dist/src/interface-trust/schema.js +238 -0
  254. package/dist/src/interface-trust/schema.js.map +1 -0
  255. package/dist/src/interface-trust/validator.d.ts +2 -0
  256. package/dist/src/interface-trust/validator.js +283 -0
  257. package/dist/src/interface-trust/validator.js.map +1 -0
  258. package/dist/src/portfolio/adapter-report.d.ts +3 -0
  259. package/dist/src/portfolio/adapter-report.js +38 -0
  260. package/dist/src/portfolio/adapter-report.js.map +1 -0
  261. package/dist/src/portfolio/adapters.d.ts +37 -0
  262. package/dist/src/portfolio/adapters.js +325 -0
  263. package/dist/src/portfolio/adapters.js.map +1 -0
  264. package/dist/src/portfolio/evidence.d.ts +9 -0
  265. package/dist/src/portfolio/evidence.js +233 -0
  266. package/dist/src/portfolio/evidence.js.map +1 -0
  267. package/dist/src/portfolio/files.d.ts +8 -0
  268. package/dist/src/portfolio/files.js +77 -0
  269. package/dist/src/portfolio/files.js.map +1 -0
  270. package/dist/src/portfolio/fixture-server.d.ts +11 -0
  271. package/dist/src/portfolio/fixture-server.js +131 -0
  272. package/dist/src/portfolio/fixture-server.js.map +1 -0
  273. package/dist/src/portfolio/loader.d.ts +2 -0
  274. package/dist/src/portfolio/loader.js +21 -0
  275. package/dist/src/portfolio/loader.js.map +1 -0
  276. package/dist/src/portfolio/mcp.d.ts +186 -0
  277. package/dist/src/portfolio/mcp.js +117 -0
  278. package/dist/src/portfolio/mcp.js.map +1 -0
  279. package/dist/src/portfolio/promotion-schema.d.ts +220 -0
  280. package/dist/src/portfolio/promotion-schema.js +148 -0
  281. package/dist/src/portfolio/promotion-schema.js.map +1 -0
  282. package/dist/src/portfolio/promotion.d.ts +4 -0
  283. package/dist/src/portfolio/promotion.js +160 -0
  284. package/dist/src/portfolio/promotion.js.map +1 -0
  285. package/dist/src/portfolio/qualification-schema.d.ts +268 -0
  286. package/dist/src/portfolio/qualification-schema.js +112 -0
  287. package/dist/src/portfolio/qualification-schema.js.map +1 -0
  288. package/dist/src/portfolio/qualification.d.ts +4 -0
  289. package/dist/src/portfolio/qualification.js +157 -0
  290. package/dist/src/portfolio/qualification.js.map +1 -0
  291. package/dist/src/portfolio/registry.d.ts +34 -0
  292. package/dist/src/portfolio/registry.js +240 -0
  293. package/dist/src/portfolio/registry.js.map +1 -0
  294. package/dist/src/portfolio/report.d.ts +4 -0
  295. package/dist/src/portfolio/report.js +47 -0
  296. package/dist/src/portfolio/report.js.map +1 -0
  297. package/dist/src/portfolio/run-schema.d.ts +135 -0
  298. package/dist/src/portfolio/run-schema.js +81 -0
  299. package/dist/src/portfolio/run-schema.js.map +1 -0
  300. package/dist/src/portfolio/runner.d.ts +118 -0
  301. package/dist/src/portfolio/runner.js +423 -0
  302. package/dist/src/portfolio/runner.js.map +1 -0
  303. package/dist/src/portfolio/schema.d.ts +251 -0
  304. package/dist/src/portfolio/schema.js +317 -0
  305. package/dist/src/portfolio/schema.js.map +1 -0
  306. package/dist/src/portfolio/snapshot.d.ts +89 -0
  307. package/dist/src/portfolio/snapshot.js +548 -0
  308. package/dist/src/portfolio/snapshot.js.map +1 -0
  309. package/dist/src/portfolio/taxonomy-schema.d.ts +215 -0
  310. package/dist/src/portfolio/taxonomy-schema.js +74 -0
  311. package/dist/src/portfolio/taxonomy-schema.js.map +1 -0
  312. package/dist/src/portfolio/taxonomy.d.ts +5 -0
  313. package/dist/src/portfolio/taxonomy.js +236 -0
  314. package/dist/src/portfolio/taxonomy.js.map +1 -0
  315. package/dist/src/portfolio/vault.d.ts +53 -0
  316. package/dist/src/portfolio/vault.js +176 -0
  317. package/dist/src/portfolio/vault.js.map +1 -0
  318. package/dist/src/product-brief/loader.d.ts +2 -0
  319. package/dist/src/product-brief/loader.js +21 -0
  320. package/dist/src/product-brief/loader.js.map +1 -0
  321. package/dist/src/product-brief/report.d.ts +2 -0
  322. package/dist/src/product-brief/report.js +22 -0
  323. package/dist/src/product-brief/report.js.map +1 -0
  324. package/dist/src/product-brief/schema.d.ts +367 -0
  325. package/dist/src/product-brief/schema.js +272 -0
  326. package/dist/src/product-brief/schema.js.map +1 -0
  327. package/dist/src/product-brief/validator.d.ts +2 -0
  328. package/dist/src/product-brief/validator.js +251 -0
  329. package/dist/src/product-brief/validator.js.map +1 -0
  330. package/dist/src/product.d.ts +7 -0
  331. package/dist/src/product.js +28 -0
  332. package/dist/src/product.js.map +1 -0
  333. package/dist/src/quality-gate/report.d.ts +2 -0
  334. package/dist/src/quality-gate/report.js +46 -0
  335. package/dist/src/quality-gate/report.js.map +1 -0
  336. package/dist/src/quality-gate/runner.d.ts +2 -0
  337. package/dist/src/quality-gate/runner.js +175 -0
  338. package/dist/src/quality-gate/runner.js.map +1 -0
  339. package/dist/src/quality-gate/schema.d.ts +75 -0
  340. package/dist/src/quality-gate/schema.js +37 -0
  341. package/dist/src/quality-gate/schema.js.map +1 -0
  342. package/dist/src/quality-gate/types.d.ts +49 -0
  343. package/dist/src/quality-gate/types.js +2 -0
  344. package/dist/src/quality-gate/types.js.map +1 -0
  345. package/dist/src/repair/loader.d.ts +2 -0
  346. package/dist/src/repair/loader.js +11 -0
  347. package/dist/src/repair/loader.js.map +1 -0
  348. package/dist/src/repair/policy.d.ts +16 -0
  349. package/dist/src/repair/policy.js +65 -0
  350. package/dist/src/repair/policy.js.map +1 -0
  351. package/dist/src/repair/report.d.ts +2 -0
  352. package/dist/src/repair/report.js +32 -0
  353. package/dist/src/repair/report.js.map +1 -0
  354. package/dist/src/repair/runner.d.ts +17 -0
  355. package/dist/src/repair/runner.js +511 -0
  356. package/dist/src/repair/runner.js.map +1 -0
  357. package/dist/src/repair/schema.d.ts +264 -0
  358. package/dist/src/repair/schema.js +202 -0
  359. package/dist/src/repair/schema.js.map +1 -0
  360. package/dist/src/retrieval/report.d.ts +2 -0
  361. package/dist/src/retrieval/report.js +21 -0
  362. package/dist/src/retrieval/report.js.map +1 -0
  363. package/dist/src/retrieval/schema.d.ts +123 -0
  364. package/dist/src/retrieval/schema.js +77 -0
  365. package/dist/src/retrieval/schema.js.map +1 -0
  366. package/dist/src/retrieval/search.d.ts +26 -0
  367. package/dist/src/retrieval/search.js +415 -0
  368. package/dist/src/retrieval/search.js.map +1 -0
  369. package/dist/src/runtime/advanced-checks.d.ts +6 -0
  370. package/dist/src/runtime/advanced-checks.js +487 -0
  371. package/dist/src/runtime/advanced-checks.js.map +1 -0
  372. package/dist/src/runtime/composition-checks.d.ts +5 -0
  373. package/dist/src/runtime/composition-checks.js +307 -0
  374. package/dist/src/runtime/composition-checks.js.map +1 -0
  375. package/dist/src/runtime/interface-checks.d.ts +12 -0
  376. package/dist/src/runtime/interface-checks.js +224 -0
  377. package/dist/src/runtime/interface-checks.js.map +1 -0
  378. package/dist/src/runtime/policy.d.ts +13 -0
  379. package/dist/src/runtime/policy.js +97 -0
  380. package/dist/src/runtime/policy.js.map +1 -0
  381. package/dist/src/runtime/report.d.ts +2 -0
  382. package/dist/src/runtime/report.js +48 -0
  383. package/dist/src/runtime/report.js.map +1 -0
  384. package/dist/src/runtime/schema.d.ts +406 -0
  385. package/dist/src/runtime/schema.js +308 -0
  386. package/dist/src/runtime/schema.js.map +1 -0
  387. package/dist/src/runtime/types.d.ts +177 -0
  388. package/dist/src/runtime/types.js +2 -0
  389. package/dist/src/runtime/types.js.map +1 -0
  390. package/dist/src/runtime/verifier.d.ts +2 -0
  391. package/dist/src/runtime/verifier.js +1201 -0
  392. package/dist/src/runtime/verifier.js.map +1 -0
  393. package/dist/src/server.d.ts +2 -0
  394. package/dist/src/server.js +1352 -0
  395. package/dist/src/server.js.map +1 -0
  396. package/docs/installation.md +337 -0
  397. package/knowledge-base/INDEX.md +285 -0
  398. package/knowledge-base/benchmarks/aegisops/CALIBRATION.md +52 -0
  399. package/knowledge-base/benchmarks/aegisops/MANIFEST.md +56 -0
  400. package/knowledge-base/benchmarks/aegisops/SOURCE-EVIDENCE.md +45 -0
  401. package/knowledge-base/benchmarks/aegisops/acceptance-criteria.md +42 -0
  402. package/knowledge-base/benchmarks/aegisops/anti-patterns.md +19 -0
  403. package/knowledge-base/benchmarks/aegisops/attestations.template.yaml +3 -0
  404. package/knowledge-base/benchmarks/aegisops/attestations.yaml +115 -0
  405. package/knowledge-base/benchmarks/aegisops/journeys.json +91 -0
  406. package/knowledge-base/benchmarks/aegisops/product-contract.yaml +328 -0
  407. package/knowledge-base/benchmarks/azure-optimizer/SOURCE-EVIDENCE.md +26 -0
  408. package/knowledge-base/benchmarks/azure-optimizer/V2-IMPLEMENTATION.md +39 -0
  409. package/knowledge-base/benchmarks/azure-optimizer/acceptance-criteria.md +23 -0
  410. package/knowledge-base/benchmarks/azure-optimizer/anti-patterns.md +13 -0
  411. package/knowledge-base/benchmarks/azure-optimizer/journeys.json +88 -0
  412. package/knowledge-base/benchmarks/azure-optimizer/product-contract.yaml +216 -0
  413. package/knowledge-base/benchmarks/azure-optimizer/v2-human-review-methodology.yaml +171 -0
  414. package/knowledge-base/benchmarks/azure-optimizer/v2-journeys.json +139 -0
  415. package/knowledge-base/benchmarks/corpus/PROVENANCE.md +21 -0
  416. package/knowledge-base/benchmarks/corpus/README.md +30 -0
  417. package/knowledge-base/benchmarks/corpus/cases/anti-slop-negative/package.json +9 -0
  418. package/knowledge-base/benchmarks/corpus/cases/anti-slop-negative/src/FakeDashboard.tsx +10 -0
  419. package/knowledge-base/benchmarks/corpus/cases/anti-slop-positive/package.json +9 -0
  420. package/knowledge-base/benchmarks/corpus/cases/anti-slop-positive/src/Progress.tsx +15 -0
  421. package/knowledge-base/benchmarks/corpus/cases/architecture-negative/package.json +9 -0
  422. package/knowledge-base/benchmarks/corpus/cases/architecture-negative/src/OperationsPanel.tsx +40 -0
  423. package/knowledge-base/benchmarks/corpus/cases/architecture-positive/package.json +9 -0
  424. package/knowledge-base/benchmarks/corpus/cases/architecture-positive/src/Dashboard.tsx +17 -0
  425. package/knowledge-base/benchmarks/corpus/cases/architecture-positive/src/theme.css +15 -0
  426. package/knowledge-base/benchmarks/corpus/cases/task-incomplete/SOURCE-EVIDENCE.md +3 -0
  427. package/knowledge-base/benchmarks/corpus/cases/task-incomplete/journeys.json +20 -0
  428. package/knowledge-base/benchmarks/corpus/cases/task-incomplete/product-contract.yaml +78 -0
  429. package/knowledge-base/benchmarks/corpus/corpus.schema.yaml +159 -0
  430. package/knowledge-base/benchmarks/corpus/corpus.yaml +209 -0
  431. package/knowledge-base/benchmarks/interface-quality/README.md +26 -0
  432. package/knowledge-base/benchmarks/interface-quality/SOLO-MAINTAINER-TRACK.md +35 -0
  433. package/knowledge-base/benchmarks/interface-quality/comparison-methodology-v1.1.schema.yaml +288 -0
  434. package/knowledge-base/benchmarks/interface-quality/comparison-methodology.schema.yaml +235 -0
  435. package/knowledge-base/benchmarks/interface-quality/comparison-methodology.template.yaml +181 -0
  436. package/knowledge-base/benchmarks/interface-quality/evidence/example-runtime-report.json +11 -0
  437. package/knowledge-base/benchmarks/interface-quality/review-session.schema.yaml +14 -0
  438. package/knowledge-base/benchmarks/interface-quality/review.schema.yaml +296 -0
  439. package/knowledge-base/benchmarks/interface-quality/review.template.yaml +43 -0
  440. package/knowledge-base/benchmarks/portfolio-corpus/ADAPTERS.md +68 -0
  441. package/knowledge-base/benchmarks/portfolio-corpus/PORTFOLIO-RUNNER.md +131 -0
  442. package/knowledge-base/benchmarks/portfolio-corpus/PRODUCT-TASK-CONTRACTS.md +29 -0
  443. package/knowledge-base/benchmarks/portfolio-corpus/PROMOTED-RULES.md +31 -0
  444. package/knowledge-base/benchmarks/portfolio-corpus/archetype-profiles.yaml +26 -0
  445. package/knowledge-base/benchmarks/portfolio-corpus/product-task-profile.schema.yaml +105 -0
  446. package/knowledge-base/benchmarks/portfolio-corpus/registry.schema.yaml +188 -0
  447. package/knowledge-base/benchmarks/portfolio-corpus/registry.template.yaml +63 -0
  448. package/knowledge-base/benchmarks/portfolio-corpus/rule-fixtures/component-size-abstention.json +10 -0
  449. package/knowledge-base/benchmarks/portfolio-corpus/rule-fixtures/component-size-negative.json +10 -0
  450. package/knowledge-base/benchmarks/portfolio-corpus/rule-fixtures/component-size-positive.json +10 -0
  451. package/knowledge-base/benchmarks/portfolio-corpus/rule-fixtures/interactive-integrity-abstention.json +10 -0
  452. package/knowledge-base/benchmarks/portfolio-corpus/rule-fixtures/interactive-integrity-negative.json +10 -0
  453. package/knowledge-base/benchmarks/portfolio-corpus/rule-fixtures/interactive-integrity-positive.json +10 -0
  454. package/knowledge-base/benchmarks/portfolio-corpus/rule-fixtures/raw-design-values-abstention.json +10 -0
  455. package/knowledge-base/benchmarks/portfolio-corpus/rule-fixtures/raw-design-values-negative.json +10 -0
  456. package/knowledge-base/benchmarks/portfolio-corpus/rule-fixtures/raw-design-values-positive.json +10 -0
  457. package/knowledge-base/benchmarks/portfolio-corpus/rule-holdout-evaluation.template.json +14 -0
  458. package/knowledge-base/benchmarks/portfolio-corpus/rule-promotion-evidence.template.json +24 -0
  459. package/knowledge-base/benchmarks/portfolio-corpus/v3-command-evidence.template.json +17 -0
  460. package/knowledge-base/benchmarks/portfolio-corpus/v3-qualification-evidence.template.json +29 -0
  461. package/knowledge-base/benchmarks/scenestart/CALIBRATION.md +95 -0
  462. package/knowledge-base/benchmarks/scenestart/MANIFEST.md +53 -0
  463. package/knowledge-base/benchmarks/scenestart/SOURCE-EVIDENCE.md +43 -0
  464. package/knowledge-base/benchmarks/scenestart/acceptance-criteria.md +59 -0
  465. package/knowledge-base/benchmarks/scenestart/anti-patterns.md +26 -0
  466. package/knowledge-base/benchmarks/scenestart/attestations.template.yaml +3 -0
  467. package/knowledge-base/benchmarks/scenestart/attestations.yaml +21 -0
  468. package/knowledge-base/benchmarks/scenestart/human-review.md +99 -0
  469. package/knowledge-base/benchmarks/scenestart/human-review.template.md +105 -0
  470. package/knowledge-base/benchmarks/scenestart/journeys.json +141 -0
  471. package/knowledge-base/benchmarks/scenestart/product-contract.yaml +427 -0
  472. package/knowledge-base/dependencies.yaml +69 -0
  473. package/knowledge-base/design-intelligence/MASTER.md +87 -0
  474. package/knowledge-base/design-intelligence/asset-generation.md +66 -0
  475. package/knowledge-base/design-intelligence/brand-systems.md +69 -0
  476. package/knowledge-base/design-intelligence/closed-loop-repair.md +95 -0
  477. package/knowledge-base/design-intelligence/design-deliverable.schema.yaml +1194 -0
  478. package/knowledge-base/design-intelligence/design-deliverable.template.yaml +591 -0
  479. package/knowledge-base/design-intelligence/design-plan.md +78 -0
  480. package/knowledge-base/design-intelligence/design-plan.schema.yaml +621 -0
  481. package/knowledge-base/design-intelligence/figma-production.md +63 -0
  482. package/knowledge-base/design-intelligence/generation-adapter.md +72 -0
  483. package/knowledge-base/design-intelligence/generation-adapter.schema.yaml +47 -0
  484. package/knowledge-base/design-intelligence/iconography.md +46 -0
  485. package/knowledge-base/design-intelligence/information-design.md +104 -0
  486. package/knowledge-base/design-intelligence/information-design.schema.yaml +390 -0
  487. package/knowledge-base/design-intelligence/information-design.template.yaml +281 -0
  488. package/knowledge-base/design-intelligence/interaction-recovery-verification.md +72 -0
  489. package/knowledge-base/design-intelligence/interface-trust.md +103 -0
  490. package/knowledge-base/design-intelligence/interface-trust.schema.yaml +263 -0
  491. package/knowledge-base/design-intelligence/interface-trust.template.yaml +173 -0
  492. package/knowledge-base/design-intelligence/licensing-and-provenance.md +59 -0
  493. package/knowledge-base/design-intelligence/presentation-design.md +56 -0
  494. package/knowledge-base/design-intelligence/product-design-brief.md +67 -0
  495. package/knowledge-base/design-intelligence/product-design-brief.schema.yaml +279 -0
  496. package/knowledge-base/design-intelligence/product-design-brief.template.yaml +225 -0
  497. package/knowledge-base/design-intelligence/repair-request.schema.yaml +95 -0
  498. package/knowledge-base/design-intelligence/repair-request.template.yaml +39 -0
  499. package/knowledge-base/design-intelligence/visual-accessibility.md +56 -0
  500. package/knowledge-base/design-intelligence/visual-polish.md +172 -0
  501. package/knowledge-base/maintained/architecture/MASTER.md +22 -0
  502. package/knowledge-base/maintained/architecture/component-boundaries.md +30 -0
  503. package/knowledge-base/maintained/architecture/product-platforms.md +25 -0
  504. package/knowledge-base/maintained/architecture/quality-attributes-and-evaluation.md +35 -0
  505. package/knowledge-base/maintained/product-patterns/MASTER.md +10 -0
  506. package/knowledge-base/maintained/product-patterns/ai-workspaces.md +26 -0
  507. package/knowledge-base/maintained/product-patterns/operational-dashboards.md +22 -0
  508. package/knowledge-base/provenance.yaml +196 -0
  509. package/knowledge-base/retrieval-scope.yaml +43 -0
  510. package/knowledge-base/usability-evaluation/HEURISTIC_EVALUATION.md +115 -0
  511. package/knowledge-base/usability-evaluation/heuristic-review.schema.yaml +210 -0
  512. package/knowledge-base/usability-evaluation/heuristic-review.template.yaml +37 -0
  513. package/package.json +133 -0
@@ -0,0 +1,225 @@
1
+ version: "1.0"
2
+ id: example-operations-brief
3
+ product: Example Operations Workspace
4
+ status: validated
5
+ preparedAt: 2026-08-28T20:00:00+03:00
6
+ preparedBy:
7
+ type: mixed
8
+ name: ZtotheZ and design agent
9
+ evidenceSources:
10
+ - id: operator-request
11
+ kind: user-provided
12
+ description: Operators need to identify the highest-impact issue and start a bounded remediation without losing scope context.
13
+ owner: Product owner
14
+ - id: service-contract
15
+ kind: technical-source
16
+ description: The service contract exposes scoped findings and can fall back to disclosed demonstration data when disconnected.
17
+ location: docs/service-contract.yaml
18
+ owner: Engineering
19
+ problem:
20
+ statement: Operators cannot reliably distinguish the highest-impact issue from supporting telemetry before taking action.
21
+ currentOutcome: Reviewers scan several disconnected panels and may act without confirming scope or result origin.
22
+ desiredOutcome: An operator identifies scope, priority, evidence, and the next safe action from one coherent task path.
23
+ evidenceRefs: [operator-request, service-contract]
24
+ scope:
25
+ included:
26
+ - Scoped findings overview
27
+ - Finding evidence drill-down
28
+ - Bounded remediation start and recovery
29
+ excluded:
30
+ - Automatic remediation without confirmation
31
+ - Production credential management
32
+ audiences:
33
+ - id: operations-engineer
34
+ role: Operations engineer
35
+ priority: primary
36
+ goals:
37
+ - Identify the most consequential finding.
38
+ - Verify evidence before starting remediation.
39
+ contexts:
40
+ - Desktop operations review during normal and degraded service states.
41
+ - Narrow viewport incident triage away from the primary workstation.
42
+ constraints:
43
+ - Must preserve environment and scope during failures.
44
+ - Must not confuse demonstration results with live results.
45
+ accessibilityNeeds:
46
+ - Keyboard-complete operation and visible focus.
47
+ - High-contrast text and non-color severity cues.
48
+ expertise: mixed
49
+ evidenceRefs: [operator-request]
50
+ outcomes:
51
+ - id: identify-next-action
52
+ kind: user
53
+ statement: The operator can identify the highest-impact finding and its next action without inspecting unrelated telemetry.
54
+ measure:
55
+ signal: Primary journey reaches the evidence-backed action from the overview.
56
+ baseline:
57
+ status: unknown
58
+ reason: No retained interaction baseline exists for the example product.
59
+ target: Browser journey exposes scope, priority, evidence, and action at every maintained viewport.
60
+ evidenceRefs: [operator-request]
61
+ - id: preserve-result-trust
62
+ kind: risk-reduction
63
+ statement: The interface preserves live or demonstration origin throughout findings and actions.
64
+ measure:
65
+ signal: Result-origin assertions remain visible before action and in resulting records.
66
+ baseline:
67
+ status: not-applicable
68
+ reason: This is a new example workflow.
69
+ target: All live, fallback, stale, and disconnected fixtures pass the trust contract.
70
+ evidenceRefs: [service-contract]
71
+ dataSources:
72
+ - id: findings-service
73
+ name: Findings service
74
+ mode: hybrid
75
+ latency: async
76
+ classification: internal
77
+ sourceEvidenceRef: service-contract
78
+ freshness: Runtime response timestamp with timezone; unknown until a response arrives.
79
+ limitations:
80
+ - Demonstration fallback cannot establish production service availability.
81
+ fallback:
82
+ kind: demo
83
+ disclosure: Show Demonstration data next to scope, findings, actions, history, and exports.
84
+ preservesOrigin: true
85
+ tasks:
86
+ - id: review-and-start-remediation
87
+ title: Review the highest-impact finding and start remediation
88
+ audienceRefs: [operations-engineer]
89
+ outcomeRefs: [identify-next-action, preserve-result-trust]
90
+ dataRefs: [findings-service]
91
+ trigger: A scheduled or manual analysis has findings available for the selected environment.
92
+ goal: Confirm scope and evidence, then start the bounded remediation for the highest-impact finding.
93
+ frequency: daily
94
+ criticality: high
95
+ consequential: true
96
+ inputs:
97
+ - Selected environment
98
+ - Finding identifier
99
+ successSignal: The selected finding enters a started state with scope, origin, evidence, and verification instructions preserved.
100
+ failureImpact: The operator may act on the wrong environment or mistake demonstration evidence for live service output.
101
+ recovery: Preserve the selected scope and finding, explain the failure, and offer a bounded retry or return to review.
102
+ evidenceRefs: [operator-request, service-contract]
103
+ states:
104
+ - state: loading
105
+ taskRefs: [review-and-start-remediation]
106
+ behavior: Preserve layout and selected scope while announcing bounded progress.
107
+ recovery: Allow cancellation and retain the current finding selection.
108
+ disclosure: Connection and result origin remain checking until runtime evidence resolves them.
109
+ - state: empty
110
+ taskRefs: [review-and-start-remediation]
111
+ behavior: State that no findings exist for the selected scope and period.
112
+ recovery: Let the operator change scope or rerun analysis.
113
+ disclosure: Preserve data mode, scope, freshness, and limitations.
114
+ - state: success
115
+ taskRefs: [review-and-start-remediation]
116
+ behavior: Show the started remediation, affected scope, evidence, and verification step.
117
+ recovery: Provide a return path to the finding and history.
118
+ disclosure: Preserve result origin and service state in the resulting record.
119
+ - state: error
120
+ taskRefs: [review-and-start-remediation]
121
+ behavior: Explain the failed operation without discarding the selected finding.
122
+ recovery: Offer a bounded retry and a safe return to review.
123
+ disclosure: Distinguish interface availability from service failure.
124
+ - state: partial
125
+ taskRefs: [review-and-start-remediation]
126
+ behavior: Label unavailable evidence and prevent unsupported certainty.
127
+ recovery: Allow review of available evidence or retry missing portions.
128
+ disclosure: State which findings or evidence are incomplete.
129
+ - state: stale
130
+ taskRefs: [review-and-start-remediation]
131
+ behavior: Keep stale findings visible with timestamp and block unsafe assumptions of currency.
132
+ recovery: Refresh while preserving scope and selection.
133
+ disclosure: Show stale status, observed time, timezone, and source.
134
+ - state: disconnected
135
+ taskRefs: [review-and-start-remediation]
136
+ behavior: Keep the interface usable and disable actions that require a verified connection.
137
+ recovery: Retry connection or enter explicitly disclosed demonstration mode.
138
+ disclosure: Show disconnected state separately from demonstration result origin.
139
+ platforms:
140
+ - id: responsive-browser
141
+ kind: responsive-web
142
+ priority: primary
143
+ viewports: [375, 768, 1024, 1440]
144
+ inputModes: [keyboard, pointer, touch, assistive-technology]
145
+ constraints:
146
+ - Avoid competing scroll regions on narrow viewports.
147
+ - Keep the next action visible before telemetry detail.
148
+ constraints:
149
+ - TypeScript and semantic token architecture.
150
+ - Local fixture states must not contact production services.
151
+ - Evidence output must not contain credentials or absolute private paths.
152
+ requirements:
153
+ - id: requirement-decision-path
154
+ category: functional
155
+ priority: must
156
+ statement: The overview exposes scope, highest-impact finding, evidence, and the bounded next action in decision order.
157
+ rationale: The primary task depends on identifying and verifying the right action.
158
+ taskRefs: [review-and-start-remediation]
159
+ evidenceRefs: [operator-request]
160
+ - id: requirement-truth
161
+ category: reliability
162
+ priority: must
163
+ statement: Live, demonstration, stale, partial, and disconnected results remain visibly distinguishable before action and in resulting records.
164
+ rationale: Unsupported operational certainty can cause incorrect remediation.
165
+ taskRefs: [review-and-start-remediation]
166
+ evidenceRefs: [service-contract]
167
+ - id: requirement-accessibility
168
+ category: accessibility
169
+ priority: must
170
+ statement: The primary task supports keyboard, visible focus, non-color status cues, text resize, reflow, and maintained contrast.
171
+ rationale: The task must remain operable across declared access needs and viewports.
172
+ taskRefs: [review-and-start-remediation]
173
+ evidenceRefs: [operator-request]
174
+ - id: requirement-boundaries
175
+ category: maintainability
176
+ priority: should
177
+ statement: Domain state, service access, and rendering remain independently testable.
178
+ rationale: Trust and recovery behavior must not depend on one monolithic component.
179
+ taskRefs: [review-and-start-remediation]
180
+ evidenceRefs: [service-contract]
181
+ assumptions:
182
+ - id: assumption-service-shape
183
+ statement: The declared service contract represents the initial fixture response shape.
184
+ risk: low
185
+ status: validated
186
+ evidenceRefs: [service-contract]
187
+ validationMethod: Validate fixtures against the service contract before browser verification.
188
+ acceptanceCriteria:
189
+ - id: acceptance-decision-path
190
+ statement: At 375, 768, 1024, and 1440 CSS pixels, the operator can inspect scope, priority, evidence, and next action without telemetry preceding the action.
191
+ requirementRefs: [requirement-decision-path]
192
+ taskRefs: [review-and-start-remediation]
193
+ method: browser-test
194
+ expectedEvidence: Checksummed captures and journey assertions for all four viewports.
195
+ blocking: true
196
+ - id: acceptance-trust-states
197
+ statement: Live, demonstration fallback, partial, stale, and disconnected fixtures preserve origin and limitations before and after the action.
198
+ requirementRefs: [requirement-truth]
199
+ taskRefs: [review-and-start-remediation]
200
+ method: integration-test
201
+ expectedEvidence: State-specific contract and runtime assertions with no unsupported live claim.
202
+ blocking: true
203
+ - id: acceptance-accessibility
204
+ statement: The primary journey passes keyboard, focus, contrast, target, text-resize, reflow, and reduced-motion checks.
205
+ requirementRefs: [requirement-accessibility]
206
+ taskRefs: [review-and-start-remediation]
207
+ method: browser-test
208
+ expectedEvidence: Browser report with applicable accessibility checks passing.
209
+ blocking: true
210
+ - id: acceptance-boundaries
211
+ statement: Static audit reports no domain-state ownership leak or shared component threshold violation in the primary task path.
212
+ requirementRefs: [requirement-boundaries]
213
+ taskRefs: [review-and-start-remediation]
214
+ method: static-analysis
215
+ expectedEvidence: Architecture audit report bound to the source revision.
216
+ blocking: false
217
+ downstreamContracts:
218
+ - kind: product-task
219
+ status: planned
220
+ - kind: interface-trust
221
+ status: planned
222
+ - kind: information-design
223
+ status: planned
224
+ - kind: design-deliverable
225
+ status: planned
@@ -0,0 +1,95 @@
1
+ $schema: https://json-schema.org/draft/2020-12/schema
2
+ $id: https://ztothez.dev/schemas/repair-request-1.0.schema.json
3
+ title: ZtotheZ Bounded Repair Request
4
+ type: object
5
+ additionalProperties: false
6
+ required: [version, id, target, findings, attempts, stopping]
7
+ properties:
8
+ version: { const: "1.0" }
9
+ id: { $ref: "#/$defs/id" }
10
+ target:
11
+ type: object
12
+ additionalProperties: false
13
+ required: [adapter, manifest]
14
+ properties:
15
+ adapter: { const: react-typescript-vite }
16
+ manifest: { $ref: "#/$defs/relativePath" }
17
+ findings:
18
+ type: array
19
+ minItems: 1
20
+ maxItems: 20
21
+ items:
22
+ type: object
23
+ additionalProperties: false
24
+ required: [id, source, checkId, acceptanceCriterion, expectedEvidence]
25
+ properties:
26
+ id: { $ref: "#/$defs/id" }
27
+ source: { enum: [architecture, runtime] }
28
+ checkId: { type: string, minLength: 1, maxLength: 128 }
29
+ file: { $ref: "#/$defs/relativePath" }
30
+ messageIncludes: { type: string, minLength: 1, maxLength: 512 }
31
+ viewport: { type: string, minLength: 1, maxLength: 128 }
32
+ journey: { type: string, minLength: 1, maxLength: 128 }
33
+ selector: { type: string, minLength: 1, maxLength: 1024 }
34
+ acceptanceCriterion: { $ref: "#/$defs/id" }
35
+ expectedEvidence:
36
+ type: array
37
+ minItems: 1
38
+ maxItems: 4
39
+ uniqueItems: true
40
+ items:
41
+ enum: [contract-validation, static-audit, browser-runtime, responsive-screenshots]
42
+ allOf:
43
+ - if:
44
+ properties: { source: { const: architecture } }
45
+ then:
46
+ required: [file]
47
+ attempts:
48
+ type: array
49
+ minItems: 1
50
+ maxItems: 3
51
+ items:
52
+ type: object
53
+ additionalProperties: false
54
+ required: [id, operations]
55
+ properties:
56
+ id: { $ref: "#/$defs/id" }
57
+ operations:
58
+ type: array
59
+ minItems: 1
60
+ maxItems: 20
61
+ items:
62
+ type: object
63
+ additionalProperties: false
64
+ required: [id, findingRef, kind, file, expectedFileDigest, before, after, expectedOccurrences]
65
+ properties:
66
+ id: { $ref: "#/$defs/id" }
67
+ findingRef: { $ref: "#/$defs/id" }
68
+ kind: { const: replace-exact }
69
+ file: { $ref: "#/$defs/relativePath" }
70
+ expectedFileDigest: { $ref: "#/$defs/digest" }
71
+ before: { type: string, minLength: 1, maxLength: 100000 }
72
+ after: { type: string, maxLength: 100000 }
73
+ expectedOccurrences: { type: integer, minimum: 1, maximum: 20 }
74
+ stopping:
75
+ type: object
76
+ additionalProperties: false
77
+ required: [maxAttempts, resolved, repeatedFinding, preconditionFailure, verificationFailure]
78
+ properties:
79
+ maxAttempts: { type: integer, minimum: 1, maximum: 3 }
80
+ resolved: { const: all-referenced-findings-absent-and-quality-gate-passed }
81
+ repeatedFinding: { const: stop-unresolved-and-restore }
82
+ preconditionFailure: { const: stop-without-write }
83
+ verificationFailure: { const: stop-unresolved-and-restore }
84
+ $defs:
85
+ id:
86
+ type: string
87
+ pattern: "^[a-z0-9][a-z0-9-]{0,63}$"
88
+ digest:
89
+ type: string
90
+ pattern: "^[a-f0-9]{64}$"
91
+ relativePath:
92
+ type: string
93
+ minLength: 1
94
+ maxLength: 1024
95
+ pattern: "^(?!/)(?!.*(?:^|/)[.][.](?:/|$)).+$"
@@ -0,0 +1,39 @@
1
+ version: "1.0"
2
+ id: responsive-token-repair
3
+ target:
4
+ adapter: react-typescript-vite
5
+ manifest: ztothez-design-generation.json
6
+ findings:
7
+ - id: raw-responsive-values
8
+ source: architecture
9
+ checkId: ZTDE-DESIGN-001
10
+ file: src/styles/app.css
11
+ messageIncludes: raw visual values
12
+ acceptanceCriterion: responsive-integrity
13
+ expectedEvidence:
14
+ - contract-validation
15
+ - static-audit
16
+ - browser-runtime
17
+ - responsive-screenshots
18
+ attempts:
19
+ - id: replace-with-semantic-tokens
20
+ operations:
21
+ - id: remove-raw-responsive-values
22
+ findingRef: raw-responsive-values
23
+ kind: replace-exact
24
+ file: src/styles/app.css
25
+ expectedFileDigest: "0000000000000000000000000000000000000000000000000000000000000000"
26
+ before: |-
27
+ .example-unsafe-rule {
28
+ color: #111111;
29
+ background: #eeeeee;
30
+ border-color: #777777;
31
+ }
32
+ after: ""
33
+ expectedOccurrences: 1
34
+ stopping:
35
+ maxAttempts: 1
36
+ resolved: all-referenced-findings-absent-and-quality-gate-passed
37
+ repeatedFinding: stop-unresolved-and-restore
38
+ preconditionFailure: stop-without-write
39
+ verificationFailure: stop-unresolved-and-restore
@@ -0,0 +1,56 @@
1
+ # Visual Accessibility Verification
2
+
3
+ Use this module for normal-text contrast ratios, non-color status cues, semantic token pairs, focus
4
+ contrast, visual alternatives, and rendered accessibility verification. Validate visual
5
+ accessibility at token, design-source, exported-artifact, and rendered-implementation levels. A
6
+ passing token pair does not prove the pixels users receive.
7
+
8
+ ## Step 1: Declare Semantic Pairs
9
+
10
+ Record foreground and background token pairs for normal text, qualifying large text, controls, focus indicators, graphical objects, status treatments, and data visualization. Test every supported mode and state.
11
+
12
+ The deterministic manifest validator applies these WCAG 2.2 thresholds:
13
+
14
+ - Normal text: at least 4.5:1.
15
+ - Large text: at least 3:1, with large text declared as at least 24 CSS pixels regular or 18.66 CSS pixels at weight 700 or greater.
16
+ - User-interface components and meaningful graphical objects: at least 3:1 where non-text contrast applies.
17
+
18
+ The validator supports opaque `#RRGGBB` primitives. Use a rendered check for alpha, images, video, gradients, blending, filters, and changing backgrounds.
19
+
20
+ ## Step 2: Prevent Color-Only Meaning
21
+
22
+ For every status, validation result, selection, chart series, required field, and changed value, combine color with at least one independent cue such as text, icon, shape, pattern, position, value, or underline. Assistive-technology text alone does not replace the visual cue needed by sighted users who do not distinguish the colors.
23
+
24
+ ## Step 3: Provide Visual Alternatives
25
+
26
+ Classify every asset:
27
+
28
+ - Decorative: empty alternative and hidden semantics.
29
+ - Short informative image: concise alternative text describing purpose in context.
30
+ - Complex image or diagram: short alternative plus adjacent long description.
31
+ - Chart: summary plus accessible data table when users need exact values.
32
+ - Audio or video: captions, transcript, and audio description as applicable.
33
+ - Screenshot: describe the relevant state or annotation, not every visible pixel.
34
+
35
+ Do not repeat nearby visible text. Do not embed essential copy only in images.
36
+
37
+ ## Step 4: Check Scale And Perception
38
+
39
+ - Inspect at 200 percent text resizing and zoom.
40
+ - Verify focus remains visible and unobscured.
41
+ - Test high-contrast and forced-color behavior when the platform supports them.
42
+ - Respect reduced-motion preference and remove nonessential movement.
43
+ - Check target size and spacing for touch input.
44
+ - Verify charts, maps, and diagrams under color-vision simulations without treating simulation as user testing.
45
+ - Inspect light, dark, print, projected, and disabled states independently.
46
+
47
+ ## Step 5: Verify Final Output
48
+
49
+ Run the manifest validator for declarations and token math. Run browser verification for implemented UI. Inspect image exports at native size. Inspect document and presentation reading order after export. Use human review for hierarchy, legibility, comprehension, and cultural interpretation.
50
+
51
+ Record limitations when a check cannot model the actual background or output format. Never suppress a failure merely because the intended aesthetic uses low contrast.
52
+
53
+ ## Standards References
54
+
55
+ - [WCAG 2.2 use of color](https://www.w3.org/WAI/WCAG22/Understanding/use-of-color)
56
+ - [WCAG 2.2 distinguishable guidance](https://www.w3.org/WAI/WCAG22/Understanding/distinguishable.html)
@@ -0,0 +1,172 @@
1
+ # Visual Polish System
2
+
3
+ Use this module when an implemented interface must feel intentional, balanced, legible, domain-appropriate, and ready for rendered review. Declare `interface-system` in a version `2.1` design-deliverable manifest and complete the visual-polish sections before implementation is called visually complete. Existing version `2.0` manifests remain valid but do not enforce the review-derived decision-order and theme-coverage additions below.
4
+
5
+ Visual polish is not decoration. It is the consistent control of hierarchy, typography, density, alignment, state language, chart communication, motion, and responsive composition around the product task.
6
+
7
+ ## Evidence Boundary
8
+
9
+ Keep these outcomes separate:
10
+
11
+ 1. `passed`: the manifest is structurally valid and its declared references are consistent.
12
+ 2. `renderedEvidenceReady`: verified screenshots and runtime reports exist at every required viewport.
13
+ 3. `humanReviewReady`: attributable reviewer-supplied evidence covers hierarchy, balance, scanability, density, and domain fit.
14
+ 4. `releaseReady`: all three conditions are satisfied.
15
+
16
+ `planned` and `captured` evidence is not verified evidence. An agent must not mark a human review complete or create reviewer identities, observations, or approval records.
17
+
18
+ ## Step 1: Choose A Domain Direction
19
+
20
+ Define the domain, visual intent, three to eight principles, prohibited treatments, and semantic token references. The direction must make the primary task easier to scan and trust.
21
+
22
+ For operational products, favor calm surfaces, explicit state labels, compact evidence, stable geometry, and high information contrast. For creative products, expression may be stronger, but interaction state and content hierarchy must remain readable.
23
+
24
+ Reject these default generator patterns unless a real product requirement establishes meaning:
25
+
26
+ - Decorative agent or node diagrams.
27
+ - Excessive glow around controls, cards, or status indicators.
28
+ - Gradients that do not encode a value, brand transition, or spatial function.
29
+ - Pulsing dots, shields, rings, or ornaments presented as operational proof.
30
+ - Repeated floating cards used as page sections.
31
+ - Oversized headings inside compact tools or dashboards.
32
+ - A one-hue palette that erases hierarchy between surfaces, actions, evidence, and states.
33
+
34
+ ## Step 2: Bind Visual Usage To Semantic Tokens
35
+
36
+ Keep three token responsibilities:
37
+
38
+ - `primitive`: raw values such as colors, dimensions, font families, weights, durations, numbers, and shadows.
39
+ - `semantic`: product meaning such as primary text, raised surface, selected border, compact row height, or feedback duration.
40
+ - `component`: a stable component decision that references a semantic or primitive token where the design-system architecture requires it.
41
+
42
+ Visual-direction, typography, composition, density, states, motion, and chart contracts must reference semantic or component tokens. Never bind component usage directly to primitives. Repository audits must also reject repeated raw colors and visual values outside identifiable token-definition files.
43
+
44
+ ## Step 3: Define Typography Roles
45
+
46
+ Declare all eight roles with family, size, weight, line-height, color, and usage:
47
+
48
+ 1. `body`
49
+ 2. `label`
50
+ 3. `heading`
51
+ 4. `metadata`
52
+ 5. `metric`
53
+ 6. `evidence`
54
+ 7. `log`
55
+ 8. `code`
56
+
57
+ Use at least 16 CSS pixels for body text unless a tested platform convention requires otherwise. Keep ordinary reading lines between 45 and 90 characters. Use tabular numerals for changing operational metrics and aligned comparisons.
58
+
59
+ Do not create hierarchy by font size alone. Combine role, weight, surface, spacing, and position. Keep metadata quieter than evidence and evidence quieter than the primary task outcome without reducing essential text below readable contrast or size.
60
+
61
+ ## Step 4: Build Composition And Rhythm
62
+
63
+ Declare grids at 375, 768, 1024, and 1440 CSS pixels. For each viewport, specify columns, gutter, margin, and composition behavior. Responsive changes may alter geometry but must preserve semantic order and task continuity.
64
+
65
+ Define:
66
+
67
+ - Fluid, bounded, or hybrid content width with a maximum.
68
+ - A base spacing token and four or more allowed spacing steps.
69
+ - Alignment rules for headings, labels, values, controls, tables, and evidence.
70
+ - Stable dimensions for boards, rows, toolbars, media, charts, and controls whose content or state changes could shift layout.
71
+ - Canvas, subtle, raised, overlay, and inverse surfaces as needed.
72
+ - Default, strong, focus, and selected borders.
73
+ - Base, raised, and overlay elevation roles.
74
+ - Primary, secondary, tertiary, and muted emphasis.
75
+ - A selected state with background, border, visible indicator, and a non-color cue.
76
+
77
+ Use elevation to explain stacking or interaction, not to make every region float. Use borders to establish grouping and selected state, not to outline every element equally.
78
+
79
+ ## Step 5: Choose Density Deliberately
80
+
81
+ Select `comfortable`, `compact`, `dense`, or `adaptive` from task frequency, data volume, pointer precision, and reading burden. Declare control height, row heights, spacing tokens, and no more than three simultaneous primary actions.
82
+
83
+ For each required viewport, state the density mode and visible priorities, then map each priority to
84
+ a canonical `priorityRole`. Keep `context`, `primary-outcome`, and `next-action` visible at every
85
+ viewport. Place telemetry, detailed evidence, and history after the next action. At 375 CSS pixels,
86
+ use comfortable density and expose at most four decision-critical priorities before expandable
87
+ detail. At 768 CSS pixels, do not use dense mode. Do not solve crowding only by shrinking text.
88
+
89
+ Use progressive disclosure for supporting metrics, telemetry, history, logs, and detailed evidence,
90
+ but never hide the primary outcome, critical exception, or next action behind unrelated navigation.
91
+ Expansion must preserve task context, focus order, and state continuity.
92
+
93
+ ## Step 6: Unify Interaction States
94
+
95
+ Define one visual language for:
96
+
97
+ ```text
98
+ loading empty success warning error partial disabled selected focus
99
+ ```
100
+
101
+ Each state needs behavior and semantic token bindings. Warning, error, partial, and selected states require text or a semantic icon in addition to color. Loading must preserve stable geometry. Empty states must explain scope and recovery. Partial and stale content must remain distinguishable from success. Disabled controls must remain legible and explain unavailable actions where necessary. Focus must remain visible against adjacent surfaces.
102
+
103
+ ## Step 7: Constrain Motion
104
+
105
+ Use motion only to explain state change, continuity, feedback, progress, or spatial relationship. Define semantic duration categories:
106
+
107
+ - `instant`: 0 to 100 milliseconds.
108
+ - `feedback`: 100 to 220 milliseconds.
109
+ - `transition`: 150 to 350 milliseconds.
110
+ - `emphasis`: 200 to 500 milliseconds.
111
+
112
+ Declare the trigger, animated property, duration category, purpose, and whether each motion is interruptible. Every motion requires a reduced-motion equivalent that removes, replaces, or shortens movement while preserving state meaning. Avoid continuous ornamental movement and motion that delays task completion.
113
+
114
+ ## Step 8: Design Charts As Decision Surfaces
115
+
116
+ For every chart, declare purpose, source metric identifiers, title and value visibility, label strategy, legend behavior, comparison context, accessible table or text alternative, loading, empty, partial, and error states, semantic tokens, and non-color cues.
117
+
118
+ Remove decorative charts. Prefer direct labels when they reduce lookup cost. Use tables when exact comparison is the task. Do not rely on hover for values, on color alone for series, or on a trend without baseline and period context.
119
+
120
+ ## Step 9: Capture Required Viewports
121
+
122
+ Create one stable fixture or product journey and capture 375, 768, 1024, and 1440 CSS pixel evidence. A verified capture records:
123
+
124
+ - Screenshot path.
125
+ - Runtime report path.
126
+ - SHA-256 checksum of the screenshot.
127
+ - Exact viewport.
128
+
129
+ Use `planned` before capture, `captured` when files exist but have not been reviewed against the report, and `verified` only after evidence integrity and expected composition are checked. Browser verification must still inspect clipping, overlap, text and non-text contrast, focus, target size, keyboard behavior, reflow, text resize, reduced motion, decision order, visual claims, and rendered asset metadata.
130
+
131
+ For version `2.1`, declare normal-text contrast pairs for every typography foreground against the
132
+ canvas in the default mode and every declared token mode. Declare focus non-text contrast in the
133
+ same modes. Declare every state foreground against its adjacent surface and every chart series
134
+ against its chart background in those modes. A passing light mode does not establish dark-mode readability, and a passing dark mode
135
+ does not establish that a bright light canvas is comfortable in the intended viewing context.
136
+
137
+ Instrument interfaces that claim automated composition verification with
138
+ `data-ztothez-design-composition="1.0"`. Mark exactly one visible `context`, `primary-outcome`, and
139
+ `next-action` priority in semantic DOM order. Declare primary-action and visible-region limits,
140
+ status purpose, visual-claim basis and evidence, state non-color cues, chart series visuals, and
141
+ asset purpose, source, approved rights, alternative class, and failure strategy. These markers make
142
+ declared decisions measurable; they do not prescribe a visual style or establish human preference.
143
+
144
+ Run both maintained color schemes when both are implemented:
145
+
146
+ ```bash
147
+ npm run verify-ui -- --url URL --color-schemes light,dark
148
+ ```
149
+
150
+ ## Step 10: Require Attributable Human Review
151
+
152
+ Rendered human review must evaluate:
153
+
154
+ - Hierarchy.
155
+ - Balance.
156
+ - Scanability.
157
+ - Density.
158
+ - Domain fit.
159
+
160
+ Record reviewer-supplied name, role, offset timestamp, and an evidence reference whose kind is `review`. Preserve dissent and unresolved findings. Automated checks and AI-assisted critique may prepare the packet but cannot satisfy this gate.
161
+
162
+ ## Validation
163
+
164
+ Validate the manifest:
165
+
166
+ ```bash
167
+ npm run validate-design -- --manifest PATH
168
+ ```
169
+
170
+ Or use MCP tool `validate_design_deliverable`.
171
+
172
+ Read `visualPolish.releaseReady` separately from `passed`. A structurally passing manifest with planned screenshots or required human review remains not ready for visual release.
@@ -0,0 +1,22 @@
1
+ # Maintained Design Architecture
2
+
3
+ Use this module set when a design task changes system boundaries, shared components, runtime ownership, product-family reuse, or consequential quality attributes. These files are independently authored for ZtotheZ Design Engineering and are the only architecture references in the distributable knowledge index.
4
+
5
+ ## Routing
6
+
7
+ | Need | Module |
8
+ |---|---|
9
+ | Quality attributes, scenarios, trade-offs, or architecture review | `quality-attributes-and-evaluation.md` |
10
+ | Components, state ownership, coupling, cohesion, or package boundaries | `component-boundaries.md` |
11
+ | Shared product families, variation points, plugins, or platform evolution | `product-platforms.md` |
12
+
13
+ ## Operating Contract
14
+
15
+ 1. Start with actors, critical tasks, sources of truth, failure states, and measurable quality scenarios.
16
+ 2. Draw dependency and runtime boundaries before choosing patterns or packages.
17
+ 3. Keep domain policy independent from rendering and infrastructure details.
18
+ 4. Use explicit contracts for state, events, errors, cancellation, retries, and ownership.
19
+ 5. Record consequential decisions with alternatives, trade-offs, and reversal cost.
20
+ 6. Validate important scenarios through source inspection, tests, runtime evidence, and attributable review as appropriate.
21
+
22
+ Architecture vocabulary is not evidence. A named pattern is acceptable only when the implemented dependency direction and runtime behavior support the required tasks and quality attributes.
@@ -0,0 +1,30 @@
1
+ # Component And Package Boundaries
2
+
3
+ ## Ownership Rules
4
+
5
+ - One feature owns each mutable source of truth.
6
+ - Rendering consumes state and emits user intent; domain policy decides outcomes.
7
+ - Infrastructure adapters own transport, storage, and vendor details.
8
+ - Shared components own interaction behavior and accessibility contracts, not product-specific workflow policy.
9
+ - Cross-feature communication uses explicit events, commands, or query contracts.
10
+
11
+ ## Coupling Review
12
+
13
+ Reject or refactor boundaries that create:
14
+
15
+ - Cyclic package dependencies.
16
+ - Feature code importing another feature's internal modules.
17
+ - Presentation components directly coordinating network, persistence, export, and domain validation.
18
+ - Shared utilities that encode unrelated business policy.
19
+ - Prop contracts that mirror an entire store instead of the component's actual needs.
20
+ - Global state used only to avoid defining ownership.
21
+
22
+ Depend on stable abstractions only where multiple implementations, test isolation, or a consequential change requires them. A wrapper that merely renames one dependency adds indirection without reducing coupling.
23
+
24
+ ## Cohesion Review
25
+
26
+ Group code by shared reason to change. Split a module when separate owners, policies, lifecycles, or verification methods are entangled. Keep code together when splitting would scatter one invariant across files or force coordination through a vague utility layer.
27
+
28
+ ## Contract Checklist
29
+
30
+ Define inputs, outputs, state transitions, loading and error behavior, cancellation, retries, idempotency, accessibility semantics, telemetry, and test seams. Verify package dependency direction with tooling and verify runtime ownership through journeys and failure cases.
@@ -0,0 +1,25 @@
1
+ # Product Platforms And Variation
2
+
3
+ ## Step 1: Establish Shared Scope
4
+
5
+ Identify products, users, workflows, entities, quality requirements, and deployment constraints that are genuinely shared. Do not create a platform from visual similarity alone.
6
+
7
+ ## Step 2: Classify Variation
8
+
9
+ For each difference, record whether it is required, optional, mutually exclusive, environment-specific, customer-specific, or experimental. Assign one owner and one binding time: build, deployment, startup, workspace configuration, or runtime user choice.
10
+
11
+ ## Step 3: Select A Mechanism
12
+
13
+ - Configuration for bounded values with stable behavior.
14
+ - Composition for replaceable behavior assembled from explicit contracts.
15
+ - Plugins for independently delivered capabilities with lifecycle and compatibility boundaries.
16
+ - Feature flags for controlled rollout, not permanent product modeling.
17
+ - Separate products when shared abstractions would weaken ownership or create conditional logic everywhere.
18
+
19
+ ## Step 4: Protect The Platform
20
+
21
+ Version extension contracts, validate configuration, isolate tenant data, define failure behavior for optional capabilities, and keep product-specific policy outside the shared core. Track compatibility, migration, deprecation, and removal.
22
+
23
+ ## Step 5: Evaluate Economics
24
+
25
+ Measure whether reuse reduces total change cost after accounting for coordination, testing combinations, release coupling, and migration. Reopen the platform decision when variation grows faster than shared value.