@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,63 @@
1
+ # Figma Production Workflow
2
+
3
+ Use Figma as a structured implementation contract. A visually complete canvas with detached layers, raw values, and undocumented states is not a design system.
4
+
5
+ ## Step 1: Establish File Architecture
6
+
7
+ Give each page one role and stated purpose. A maintained library requires at least foundations and components. Add patterns, templates, sandbox, archive, or cover pages only when they have an owner and lifecycle.
8
+
9
+ Keep exploration separate from published assets. Move obsolete work to archive rather than leaving near-duplicate components in active pages.
10
+
11
+ ## Step 2: Map Tokens To Variables
12
+
13
+ Create primitive values first, semantic aliases second, and component aliases only where local state or variation warrants them. Group variables by responsibility rather than by arbitrary color name.
14
+
15
+ Use modes for genuine contexts such as light and dark themes, density, device class, language, or brand. Avoid duplicating frames merely to express a mode. Verify every mode independently, including contrast and missing aliases.
16
+
17
+ Figma supports variables, aliases, collections, modes, and design-token import using the Design Tokens Community Group format. Keep one canonical token source and define the direction of synchronization between code and Figma. Do not allow independent edits on both sides without conflict policy.
18
+
19
+ ## Step 3: Engineer Components
20
+
21
+ For every component:
22
+
23
+ 1. State its purpose and ownership.
24
+ 2. Use auto layout for content-driven dimensions and stable spacing.
25
+ 3. Expose only useful text, boolean, instance-swap, variant, or slot properties.
26
+ 4. Use variants for meaningful states or configurations, not every stylistic permutation.
27
+ 5. Declare default and focus states for interactive components. Add hover, active, disabled, loading, selected, error, success, or empty states where behavior requires them.
28
+ 6. Define resizing, truncation, wrapping, minimum size, and maximum-content behavior.
29
+ 7. Add usage, content, accessibility, and prohibited-use documentation.
30
+
31
+ Prefer composition and slots over deeply nested overrides. Name properties by user-visible meaning, not internal layer names.
32
+
33
+ ## Step 4: Build Patterns And Templates
34
+
35
+ Patterns combine components around a task, state model, and responsive behavior. Templates provide a starting structure without hiding required product decisions.
36
+
37
+ For every pattern or template, include:
38
+
39
+ - Primary task and success condition.
40
+ - Data and state assumptions.
41
+ - Empty, loading, partial, error, and permission states.
42
+ - Mobile and long-content examples.
43
+ - Keyboard and focus expectations.
44
+ - Implementation notes that identify semantic tokens and component contracts.
45
+
46
+ ## Step 5: Handoff With Evidence
47
+
48
+ Before publishing:
49
+
50
+ - Inspect detached instances and raw values.
51
+ - Verify component property names and defaults.
52
+ - Exercise all modes and representative variants.
53
+ - Check long strings, localization, and text resizing.
54
+ - Compare Figma token names with the canonical token source.
55
+ - Export a small implementation sample and confirm assets, dimensions, and states survive handoff.
56
+ - Record library version, owner, breaking changes, and migration notes.
57
+
58
+ The manifest validator checks declared structure and references. It does not connect to Figma or verify the actual file. Inspect the source file or use an approved Figma integration for final evidence.
59
+
60
+ ## Official Platform References
61
+
62
+ - [Figma variables, collections, aliases, and modes](https://help.figma.com/hc/en-us/articles/14506821864087-Overview-of-variables-collections-and-modes)
63
+ - [Figma component properties](https://help.figma.com/hc/en-us/articles/5579474826519-Explore-component-properties)
@@ -0,0 +1,72 @@
1
+ # React And TypeScript Generation Adapter
2
+
3
+ Current adapter version: `1.2.1`.
4
+
5
+ Use this adapter only after a product design brief compiles to a design plan with `status: ready`
6
+ and `implementationReady: true`. It creates a new independent React, TypeScript, and Vite fixture.
7
+ It does not merge into an existing application, repair an original product, prove visual quality,
8
+ or authorize release. A separate bounded workflow in `closed-loop-repair.md` can repair an exact
9
+ finding in a manifest-owned generated fixture only.
10
+
11
+ ## Input Gate
12
+
13
+ 1. Validate the source brief and all four downstream contract declarations.
14
+ 2. Compile the brief and preserve the complete design-plan artifact.
15
+ 3. Stop when the plan is blocked or provisional. Never edit compiled readiness fields manually.
16
+ 4. Provide an existing real generation root, one absent child output path, and a passing portfolio
17
+ registry. The adapter refuses existing output, symlinked parents, traversal, and any target that
18
+ overlaps a portfolio root.
19
+ 5. Keep the portfolio registry local. Its absolute paths authorize denial checks and must not enter
20
+ generated files or reports.
21
+
22
+ ## Generated Architecture
23
+
24
+ The initial `react-typescript-vite` adapter generates:
25
+
26
+ - A complete local demonstration task and a disconnected-source recovery path.
27
+ - Reducer-owned task state separate from rendering and source-boundary declarations.
28
+ - Separate demo, imported, cached, and live modes with origin, freshness, connection, and
29
+ limitation text. Missing live, import, or cache evidence remains unavailable rather than
30
+ borrowing demonstration values.
31
+ - Primitive and semantic CSS tokens, responsive composition, visible focus, minimum target
32
+ geometry, non-color status labels, and reduced-motion behavior.
33
+ - Opt-in composition markers for context, primary outcome, next action, density limits, status
34
+ purpose, state cues, and evidence-backed visual claims. The primary action precedes supporting
35
+ telemetry in semantic order.
36
+ - Unit tests, build and typecheck scripts, a traceable plan summary, and a checksummed deterministic
37
+ generation manifest.
38
+ - A development and preview response header that identifies the generation plan to bounded repair.
39
+
40
+ The adapter interpolates only validated plan data into a generated constant. It never treats plan
41
+ text as executable source and never imports implementation from an external design product.
42
+
43
+ ## Command
44
+
45
+ ```bash
46
+ zz-design generate-react \
47
+ --plan path/to/ready-design-plan.json \
48
+ --generation-root .ztothez-design-generated \
49
+ --output .ztothez-design-generated/example-app \
50
+ --portfolio-registry .ztothez-design-local/portfolio-registry.yaml \
51
+ --json
52
+ ```
53
+
54
+ Create the generation root before running the command. The output directory must not exist. Use
55
+ `generation-adapter.schema.yaml` to validate the generated `ztothez-design-generation.json` file.
56
+
57
+ ## Evidence Boundary
58
+
59
+ - Deterministic files and checksums prove repeatable transformation for the same plan and adapter
60
+ version. They do not prove the chosen design is desirable.
61
+ - Static audit and generated unit tests prove only the implemented source rules and reducer paths.
62
+ - Live connectivity remains unimplemented until a real target adapter receives authenticated
63
+ runtime evidence. Imported and cached modes remain unavailable until valid records exist.
64
+ - The adapter emits composition semantics but does not claim they passed. Run browser verification
65
+ at 375, 768, 1024, and 1440 CSS pixels in every implemented color scheme. Security, integration,
66
+ usability, and attributable human review remain later gates.
67
+ - Existing-repository adaptation is outside version 1.0. Use the independent fixture path until a
68
+ separate convention-aware merge adapter has its own containment and regression evidence.
69
+ - Finding-bound remediation of this generated output must use `zz-design repair-react`. Never use
70
+ that command as an existing-repository merge or product migration mechanism.
71
+ - Bounded repair must reject runtime evidence when `X-ZtotheZ-Design-Plan` is missing or does not
72
+ equal the plan ID in the generated manifest.
@@ -0,0 +1,47 @@
1
+ $schema: https://json-schema.org/draft/2020-12/schema
2
+ $id: https://ztothez.dev/schemas/generation-adapter-1.0.schema.json
3
+ title: ZtotheZ React And TypeScript Generation Manifest
4
+ type: object
5
+ additionalProperties: false
6
+ required: [version, adapter, adapterVersion, plan, outputMode, files, guarantees, limitations]
7
+ properties:
8
+ version:
9
+ const: "1.0"
10
+ adapter:
11
+ const: react-typescript-vite
12
+ adapterVersion:
13
+ type: string
14
+ pattern: "^[0-9]+\\.[0-9]+\\.[0-9]+$"
15
+ plan:
16
+ type: object
17
+ additionalProperties: false
18
+ required: [id, sourceDigest, compilerVersion]
19
+ properties:
20
+ id: { type: string, minLength: 1, maxLength: 256 }
21
+ sourceDigest: { type: string, pattern: "^[a-f0-9]{64}$" }
22
+ compilerVersion: { type: string, pattern: "^[0-9]+\\.[0-9]+\\.[0-9]+$" }
23
+ outputMode:
24
+ const: new-independent-fixture
25
+ files:
26
+ type: array
27
+ minItems: 1
28
+ items:
29
+ type: object
30
+ additionalProperties: false
31
+ required: [path, digest, bytes]
32
+ properties:
33
+ path:
34
+ type: string
35
+ minLength: 1
36
+ maxLength: 1024
37
+ pattern: "^(?!/)(?!.*(?:^|/)[.][.](?:/|$)).+$"
38
+ digest: { type: string, pattern: "^[a-f0-9]{64}$" }
39
+ bytes: { type: integer, minimum: 0 }
40
+ guarantees:
41
+ type: array
42
+ minItems: 1
43
+ items: { type: string, minLength: 1, maxLength: 1024 }
44
+ limitations:
45
+ type: array
46
+ minItems: 1
47
+ items: { type: string, minLength: 1, maxLength: 1024 }
@@ -0,0 +1,46 @@
1
+ # Iconography
2
+
3
+ An icon system is a semantic vocabulary with controlled geometry. It is not a folder of unrelated glyphs.
4
+
5
+ ## Step 1: Inventory Meanings
6
+
7
+ List the actions, objects, statuses, navigation destinations, and domain concepts that need icons. Remove duplicate meanings and distinguish actions from states. Prefer familiar platform or product conventions when they are clear in context.
8
+
9
+ Use text instead of inventing a glyph for an abstract concept users will not recognize. Pair unfamiliar icons with visible labels. Do not use Unicode symbols as inconsistent icon fallbacks.
10
+
11
+ ## Step 2: Choose The Source Strategy
12
+
13
+ Reuse the product's approved icon library when one exists. Add custom icons only for domain meanings the library cannot express. Keep all source assets and licenses in the manifest.
14
+
15
+ Do not combine outline, filled, duotone, and hand-drawn systems without an explicit semantic reason. If filled icons indicate selected state, document and test that rule consistently.
16
+
17
+ ## Step 3: Define Geometry
18
+
19
+ Declare:
20
+
21
+ - Base grid and key sizes.
22
+ - Stroke style, weight, caps, and joins.
23
+ - Corner behavior and optical overshoot.
24
+ - Bounding box, padding, baseline, and alignment.
25
+ - Filled-area and detail limits at the smallest size.
26
+ - Mirroring and localization rules.
27
+
28
+ Review icons at native size. Mathematically aligned shapes can still need optical correction.
29
+
30
+ ## Step 4: Define Semantics And Accessibility
31
+
32
+ Every icon needs one documented meaning. A semantic icon requires an accessible name unless equivalent visible text labels the same control. Decorative icons must be hidden from assistive technology and must not receive redundant names.
33
+
34
+ Never rely on icon color alone for status. Combine it with text, shape, placement, value, or another cue. Ensure active, disabled, destructive, and focus treatments use semantic tokens and pass non-text contrast where required.
35
+
36
+ ## Step 5: Package And Verify
37
+
38
+ - Use stable lowercase identifiers.
39
+ - Optimize SVG paths without flattening meaningful structure needed by the implementation.
40
+ - Remove editor metadata and unexpected embedded raster content.
41
+ - Preserve `viewBox` and test scaling.
42
+ - Expose icons through the existing icon component or library adapter.
43
+ - Add automated snapshots or rendering checks for the supported sizes.
44
+ - Test bidirectional layouts and high-contrast modes where applicable.
45
+
46
+ The design manifest checks identifier uniqueness, asset references, and semantic naming. It does not inspect SVG geometry or the accessible implementation.
@@ -0,0 +1,104 @@
1
+ # Operational Information Design
2
+
3
+ Use this module for dashboards, workspaces, reports, monitoring surfaces, findings queues, and any interface that presents metrics or charts to support a decision. Create an `information-design.yaml` from `information-design.template.yaml` before treating an operational surface as implementation-ready.
4
+
5
+ This contract defines decision structure. It does not award visual quality, prove runtime calculations, or substitute task declarations for attributable human evidence.
6
+
7
+ ## Required Answer Flow
8
+
9
+ Make the surface answer these questions in order:
10
+
11
+ 1. What environment, scope, data, source, and freshness am I viewing?
12
+ 2. What changed or requires attention now?
13
+ 3. What is the operational, financial, security, user, compliance, or reliability impact?
14
+ 4. What evidence supports the conclusion?
15
+ 5. What action should happen next, and who or what receives it?
16
+ 6. How will success be verified?
17
+
18
+ Do not begin with a wall of equal-weight cards. Establish context and the primary outcome first, then exceptions, impact, findings, telemetry, evidence, and records.
19
+
20
+ ## Step 1: Establish Context And Provenance
21
+
22
+ Declare the environment, scope, data description, source references, freshness, and limitations. Use explicit current, stale, unknown, or not-applicable freshness states. Current and stale data require an offset timestamp and IANA timezone.
23
+
24
+ Treat source, freshness, and comparison baseline as separate facts. A current API response does not prove that a derived metric uses the same scope. A comparison is unavailable until its baseline source and period are declared.
25
+
26
+ ## Step 2: Define Decision Metrics
27
+
28
+ For every metric, declare:
29
+
30
+ - Label and plain-language definition.
31
+ - Formula, including exclusions and aggregation behavior.
32
+ - Source references, context, scope, and time period.
33
+ - Freshness and comparison baseline, or a reason the baseline is unknown or not applicable.
34
+ - Drill-down destination and limitations.
35
+ - The question it answers and the action it supports.
36
+ - Label and value-state policies.
37
+
38
+ Reject decorative metrics. A large number, trend arrow, status ring, or chart without a supported decision and drill-down consumes attention without helping the task.
39
+
40
+ Use explicit value behavior for `loading`, `available`, `missing`, `partial`, `stale`, and `error`. Never render missing as zero, partial as complete, or stale as current.
41
+
42
+ ## Step 3: Structure Findings
43
+
44
+ Every finding must include severity, affected entity, observation, evidence, impact, confidence and basis, remediation, destination, and validation method. Preserve the path from finding to evidence to action to verification.
45
+
46
+ Do not use color as the only severity or state cue. Pair color with readable text, an icon, value, shape, pattern, or stable position. Do not infer confidence from severity; record them independently.
47
+
48
+ ## Step 4: Justify Charts
49
+
50
+ Each chart must declare its source metrics, supported decision, drill-down, value-state policy, and accessible table or text alternative. Show a title and readable values. Show a legend or explain the direct-labeling strategy.
51
+
52
+ Remove a chart when a sentence, value, or table answers the task more directly. Never use charts as decorative proof that a dashboard is sophisticated.
53
+
54
+ ## Step 5: Handle Labels And Collections
55
+
56
+ Wrap long labels by default. If truncation is necessary, provide keyboard and assistive-technology-accessible full text. Do not depend on pointer hover.
57
+
58
+ For collections over 100 items, use pagination or virtualization, provide search, and provide filtering or sorting. Declare empty, partial, and stale states. Test realistic long entity names, absent values, partial responses, stale records, and maximum expected collection size.
59
+
60
+ ## Step 6: Apply The Eight-Level Hierarchy
61
+
62
+ Use this exact order for operational surfaces:
63
+
64
+ 1. `context-provenance`
65
+ 2. `primary-outcome-action`
66
+ 3. `critical-exceptions`
67
+ 4. `health-impact-metrics`
68
+ 5. `prioritized-findings`
69
+ 6. `operational-telemetry`
70
+ 7. `evidence-audit-trail`
71
+ 8. `history-exports`
72
+
73
+ Levels may share records, but each level needs declared content. Responsive layouts may change geometry, not the semantic order.
74
+
75
+ ## Step 7: Declare Review Tasks
76
+
77
+ Add one or more structured tasks for all six answer questions: context, priority, impact, evidence, next action, and success verification. Reference the exact contract records needed for the expected answer and require non-color cues.
78
+
79
+ These task declarations prepare expert and representative-user review. They are not evidence that a person understood or completed the task. Record attributable review evidence separately under the V2 evidence workflow.
80
+
81
+ ## Step 8: Validate And Verify
82
+
83
+ Validate the declaration:
84
+
85
+ ```bash
86
+ npm run validate-information -- --contract PATH
87
+ ```
88
+
89
+ Or use the MCP tool `validate_information_design`.
90
+
91
+ Resolve every error before implementation is information-design complete. Then verify rendered hierarchy, responsive reflow, value states, keyboard access, chart alternatives, and task comprehension separately.
92
+
93
+ ## Rejection Patterns
94
+
95
+ - KPI cards with no definition, formula, source, period, or decision.
96
+ - Green and red states with no text or icon semantics.
97
+ - Charts that repeat a headline number without adding a comparison or diagnostic path.
98
+ - Findings without affected entities, evidence, remediation, ownership, or validation.
99
+ - Missing values displayed as zero or hidden.
100
+ - Stale values without timestamps, timezone, scope, and limitation.
101
+ - Ellipsized labels that cannot be revealed without a pointer.
102
+ - Unbounded tables that render thousands of rows without retrieval controls.
103
+ - Equal visual priority for context, exceptions, telemetry, history, and exports.
104
+ - Agent-authored task declarations presented as representative-user validation.