@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,216 @@
1
+ version: "1.1"
2
+ id: azure-optimizer
3
+ name: Azure Optimizer Infrastructure Analysis Dashboard
4
+ status: benchmark
5
+ purpose: >-
6
+ Enable an infrastructure operator to identify Azure resource risk and optimization opportunities,
7
+ inspect evidence and impact, run an analysis with truthful processing disclosure, choose a next
8
+ action, and export a result whose provenance remains inspectable.
9
+ authority:
10
+ behavior: Current candidate behavior is evidence, while the normalized task model in SOURCE-EVIDENCE.md defines comparison intent.
11
+ visual: Candidate visuals are comparison inputs and never override task integrity, accessibility, responsive behavior, or evidence truth.
12
+ precedence:
13
+ - { path: SOURCE-EVIDENCE.md, role: Normalized owner-authorized product and comparison evidence, authority: primary }
14
+ - { path: acceptance-criteria.md, role: Task and evidence interpretation, authority: supporting }
15
+ - { path: anti-patterns.md, role: Azure-specific rejection patterns, authority: supporting }
16
+ actors:
17
+ - id: infrastructure-operator
18
+ name: Infrastructure operator
19
+ goals:
20
+ - Identify the highest-priority infrastructure problem and its impact.
21
+ - Inspect evidence before accepting a recommendation.
22
+ - Distinguish live analysis from demo, cached, imported, or fallback results.
23
+ responsibilities:
24
+ - Verify environment, data origin, scope, and freshness.
25
+ - Validate remediation against organizational policy before implementation.
26
+ - Preserve evidence and provenance during export or handoff.
27
+ outputs:
28
+ - id: estate-summary
29
+ name: Estate summary
30
+ sourceOfTruth: Current fixed comparison dataset or explicitly identified connected source.
31
+ requiredEvidence: [Environment, data origin, scope, freshness]
32
+ - id: prioritized-findings
33
+ name: Prioritized findings
34
+ sourceOfTruth: Structured resource observations and severity policy.
35
+ requiredEvidence: [Affected resource, observation, impact, evidence, severity, confidence]
36
+ - id: remediation-plan
37
+ name: Remediation plan
38
+ sourceOfTruth: Finding-specific recommendation and validation contract.
39
+ requiredEvidence: [Recommended action, expected effect, owner or destination, validation method]
40
+ - id: analysis-report
41
+ name: Analysis report
42
+ sourceOfTruth: Declared live, simulated, cached, or imported processing result.
43
+ requiredEvidence: [Processing origin, started and completed timestamps, limitations]
44
+ - id: provenance-export
45
+ name: Provenance-preserving export
46
+ sourceOfTruth: Current visible result and its evidence metadata.
47
+ requiredEvidence: [Environment, origin, freshness, findings, limitations]
48
+ modes:
49
+ - id: overview
50
+ name: Overview
51
+ purpose: Understand estate context, priority, impact, and next actions.
52
+ input: Fixed comparison dataset or declared connected estate scope.
53
+ outputs: [estate-summary, prioritized-findings, remediation-plan]
54
+ - id: analysis
55
+ name: Analysis
56
+ purpose: Run the candidate analysis workflow and inspect processing origin and results.
57
+ input: Current declared environment and data source.
58
+ outputs: [analysis-report, prioritized-findings, remediation-plan]
59
+ - id: export
60
+ name: Export
61
+ purpose: Preserve the current result and provenance for review or handoff.
62
+ input: Current completed or imported result.
63
+ outputs: [provenance-export]
64
+ stateMachines:
65
+ - id: analysis-run
66
+ initial: idle
67
+ states:
68
+ - { id: idle, category: idle, userVisible: true, requirement: "Data mode, scope, and available action are visible before execution." }
69
+ - { id: running, category: loading, userVisible: true, requirement: Processing path and progress are visible without implying completion. }
70
+ - { id: success, category: success, userVisible: true, requirement: "Result origin, freshness, evidence, findings, and actions are visible together." }
71
+ - { id: error, category: error, userVisible: true, requirement: "Failure cause, preserved context, and recovery action are visible." }
72
+ - { id: fallback, category: fallback, userVisible: true, requirement: Simulation or local fallback is persistently distinguished from live analysis. }
73
+ - { id: disconnected, category: terminal, userVisible: true, requirement: Disconnection is explicit and unsupported operational claims are absent. }
74
+ transitions:
75
+ - { from: idle, to: running, trigger: Start analysis }
76
+ - { from: running, to: success, trigger: Receive a complete declared result }
77
+ - { from: running, to: error, trigger: Backend or processing failure }
78
+ - { from: error, to: running, trigger: Retry preserved analysis }
79
+ - { from: error, to: fallback, trigger: Continue with explicitly labeled local or demo data }
80
+ - { from: running, to: disconnected, trigger: Connection becomes unavailable without fallback }
81
+ - { from: success, to: running, trigger: Run another analysis }
82
+ metrics:
83
+ - id: resource-count
84
+ name: Tracked resources
85
+ definition: Number of resources included in the current declared estate scope.
86
+ sourceOfTruth: Current dataset resource inventory.
87
+ format: count
88
+ evidenceRequired: true
89
+ range: { min: 0, max: 1000000000 }
90
+ - id: potential-savings
91
+ name: Potential monthly savings
92
+ definition: Estimated recurring monthly reduction associated with evidenced recommendations.
93
+ sourceOfTruth: Sum of finding-level estimates under one declared currency, period, and baseline.
94
+ format: text
95
+ evidenceRequired: true
96
+ - id: issue-count
97
+ name: Issues found
98
+ definition: Number of current findings in the declared scope, grouped by labeled severity.
99
+ sourceOfTruth: Structured current findings collection.
100
+ format: count
101
+ evidenceRequired: true
102
+ range: { min: 0, max: 1000000000 }
103
+ - id: health-score
104
+ name: Infrastructure health
105
+ definition: Declared scoring function over current evidenced findings and telemetry.
106
+ sourceOfTruth: Versioned score formula with current inputs and limitations.
107
+ format: percentage
108
+ evidenceRequired: true
109
+ range: { min: 0, max: 100 }
110
+ constraints:
111
+ outOfScope:
112
+ - Automatic production remediation without operator authorization.
113
+ - Claims about real Azure connectivity when only bundled or simulated data is available.
114
+ - General cloud optimization conclusions outside the declared evidence scope.
115
+ prohibitedClaims:
116
+ - Online, operational, connected, production, continuous-monitoring, or verified claims without current runtime evidence.
117
+ - Savings, health, issue, performance, or trend values without a declared source, scope, period, and freshness.
118
+ - Human approval or representative-user validation generated by an agent.
119
+ mockData:
120
+ allowedEnvironments: [development, test, demo]
121
+ mustBeLabeled: true
122
+ prohibitedInProduction: true
123
+ fallbackDisclosure: Simulation or local fallback must be disclosed before execution, during processing, in results, history, and exports.
124
+ acceptanceCriteria:
125
+ - id: truthful-context
126
+ title: Environment and data provenance are explicit
127
+ severity: blocker
128
+ requirement: Users can identify environment, origin, connection state, scope, and freshness without consulting documentation.
129
+ evidence: [contract, runtime, screenshot, manual-review]
130
+ appliesToModes: [overview, analysis, export]
131
+ - id: priority-path
132
+ title: Priority, impact, evidence, and action form one path
133
+ severity: blocker
134
+ requirement: The highest-priority finding exposes affected scope, impact, supporting evidence, remediation, and validation method.
135
+ evidence: [contract, runtime, manual-review]
136
+ appliesToModes: [overview, analysis]
137
+ - id: honest-processing
138
+ title: Processing origin remains truthful
139
+ severity: blocker
140
+ requirement: Live, simulated, cached, imported, fallback, stale, and disconnected results cannot be mistaken for one another.
141
+ evidence: [contract, runtime, network, screenshot]
142
+ appliesToModes: [analysis, export]
143
+ - id: metric-integrity
144
+ title: Metrics support inspectable decisions
145
+ severity: blocker
146
+ requirement: Every visible metric has a definition, source, scope, period or timestamp, comparison baseline where relevant, and a supported decision.
147
+ evidence: [contract, runtime, manual-review]
148
+ appliesToModes: [overview, analysis]
149
+ - id: export-provenance
150
+ title: Export preserves visible provenance
151
+ severity: blocker
152
+ requirement: Exports retain environment, origin, freshness, findings, evidence references, and limitations from the current result.
153
+ evidence: [runtime, export]
154
+ appliesToModes: [export]
155
+ - id: responsive-integrity
156
+ title: Comparison task remains operable at required widths
157
+ severity: blocker
158
+ requirement: Context, metrics, findings, evidence, and actions remain readable without clipping, overlap, or incoherent competing scroll regions.
159
+ evidence: [runtime, screenshot, accessibility]
160
+ appliesToModes: [overview, analysis, export]
161
+ verification:
162
+ journeyFile: journeys.json
163
+ viewports:
164
+ - { name: mobile-375, width: 375, height: 812 }
165
+ - { name: tablet-768, width: 768, height: 1024 }
166
+ - { name: desktop-1024, width: 1024, height: 768 }
167
+ - { name: wide-1440, width: 1440, height: 1000 }
168
+ bindings:
169
+ - { profile: overview-baseline, journey: overview-integrity, actor: infrastructure-operator, mode: overview, acceptanceCriteria: [truthful-context, priority-path, metric-integrity, responsive-integrity] }
170
+ - { profile: original-analysis, journey: run-original-analysis, actor: infrastructure-operator, mode: analysis, acceptanceCriteria: [honest-processing, priority-path] }
171
+ - { profile: lovable-analysis, journey: run-lovable-analysis, actor: infrastructure-operator, mode: analysis, acceptanceCriteria: [honest-processing, priority-path] }
172
+ - { profile: uiux-analysis, journey: run-uiux-analysis, actor: infrastructure-operator, mode: analysis, acceptanceCriteria: [honest-processing, priority-path] }
173
+ - { profile: ztothez-analysis, journey: run-ztothez-analysis, actor: infrastructure-operator, mode: analysis, acceptanceCriteria: [honest-processing, priority-path] }
174
+
175
+ benchmark:
176
+ archetype: operational-dashboard
177
+ interface: browser
178
+ qualityDimensions:
179
+ - { id: truthful-disclosure, status: required, reason: "Data origin, environment, freshness, and processing mode drive trust." }
180
+ - { id: information-design, status: required, reason: "Operators must identify priority, impact, evidence, action, and validation." }
181
+ - { id: visual-system, status: required, reason: "Metrics and findings require a consistent operational hierarchy." }
182
+ - { id: accessibility, status: required, reason: "Analysis and findings must remain readable and operable without color alone." }
183
+ - { id: responsive-structure, status: required, reason: "The same decision path is verified across four viewport sizes." }
184
+ - { id: state-integrity, status: required, reason: "Live, fallback, stale, disconnected, and failed analysis states must not collapse." }
185
+ - { id: maintainability, status: required, reason: "Data processing, domain findings, state, and rendering require clear boundaries." }
186
+ tasks:
187
+ - id: prioritize-cloud-savings
188
+ primary: true
189
+ actor: infrastructure-operator
190
+ mode: analysis
191
+ intent: Run analysis, identify the highest-priority supported saving opportunity, inspect its evidence, and determine the next validation action.
192
+ start:
193
+ stateMachine: analysis-run
194
+ state: idle
195
+ observable: The operator can identify the current dataset and initiate analysis.
196
+ success:
197
+ stateMachine: analysis-run
198
+ state: success
199
+ observable: A prioritized finding exposes impact, source evidence, remediation, ownership, and validation guidance.
200
+ evidence: [contract, runtime, network]
201
+ recovery:
202
+ required: true
203
+ failure:
204
+ stateMachine: analysis-run
205
+ state: disconnected
206
+ observable: The interface identifies unavailable processing and does not present disconnected results as live.
207
+ observable: The operator can reconnect, retry, or explicitly choose labeled local fallback without losing context.
208
+ journey: { profile: ztothez-analysis, journey: run-ztothez-analysis }
209
+ browser: { route: /, narrowViewport: mobile-375 }
210
+ evidencePolicy:
211
+ missingEvidence: unverified
212
+ failedBehavior: failed
213
+ unsupportedCapability: limitation
214
+ comparison:
215
+ taskContractId: azure-optimizer-priority-analysis
216
+ crossContractRanking: false
@@ -0,0 +1,171 @@
1
+ version: "1.1"
2
+ id: azure-v2-anonymous-human-review
3
+ title: Anonymous Azure interface quality and interaction comparison
4
+ preparedAt: 2026-08-26T21:30:00+03:00
5
+ preparedBy:
6
+ type: agent
7
+ name: ZtotheZ Design Engineering
8
+ candidates:
9
+ - { id: anonymous-a, label: Candidate A }
10
+ - { id: anonymous-b, label: Candidate B }
11
+ - { id: anonymous-c, label: Candidate C }
12
+ - { id: anonymous-d, label: Candidate D }
13
+ - { id: anonymous-e, label: Candidate E }
14
+ viewports:
15
+ - { id: mobile, width: 375, height: 812 }
16
+ - { id: tablet, width: 768, height: 1024 }
17
+ - { id: desktop, width: 1024, height: 768 }
18
+ - { id: wide, width: 1440, height: 1000 }
19
+ states:
20
+ - { id: initial, label: Initial product state, required: true }
21
+ - { id: loading, label: Analysis in progress, required: true }
22
+ - { id: result, label: Completed result, required: true }
23
+ - { id: fallback, label: Backend failure with disclosed fallback, required: true }
24
+ - { id: disconnected, label: Disconnected state, required: true }
25
+ - { id: export, label: Exported result with provenance, required: true }
26
+ stages:
27
+ - id: build
28
+ label: Production build
29
+ required: true
30
+ scope: candidate
31
+ evidenceKinds: [build-report]
32
+ - id: typecheck
33
+ label: Static type verification
34
+ required: true
35
+ scope: candidate
36
+ evidenceKinds: [typecheck-report]
37
+ - id: architecture-audit
38
+ label: Architecture and anti-slop audit
39
+ required: true
40
+ scope: candidate
41
+ evidenceKinds: [static-audit]
42
+ - id: browser-verification
43
+ label: Browser and responsive verification
44
+ required: true
45
+ scope: candidate
46
+ evidenceKinds: [runtime-report, screenshot]
47
+ - id: product-journeys
48
+ label: Product-specific journey verification
49
+ required: true
50
+ scope: candidate
51
+ evidenceKinds: [journey-report, export]
52
+ - id: human-review
53
+ label: Attributable human and representative-user review
54
+ required: true
55
+ scope: comparison
56
+ evidenceKinds: [human-review, user-session]
57
+ tasks:
58
+ - id: identify-data-origin
59
+ prompt: Identify whether the displayed data is live, simulated, cached, imported, or unavailable, then locate environment and freshness.
60
+ successCriteria:
61
+ - Correctly identifies data origin and connection state.
62
+ - Locates freshness and environment without documentation.
63
+ measurements: [task-completion, time-on-task, navigation-errors, comprehension-accuracy, confidence]
64
+ - id: identify-priority
65
+ prompt: Find the highest-priority problem and explain its impact and supporting evidence.
66
+ successCriteria:
67
+ - Selects the intended highest-priority finding.
68
+ - Identifies impact and supporting evidence.
69
+ measurements: [task-completion, time-on-task, navigation-errors, comprehension-accuracy, confidence]
70
+ - id: identify-next-action
71
+ prompt: Identify the recommended next action, responsible owner, and validation method.
72
+ successCriteria:
73
+ - Locates the remediation action and owner.
74
+ - Identifies the stated validation method.
75
+ measurements: [task-completion, time-on-task, navigation-errors, recovery-attempts, confidence]
76
+ - id: recognize-fallback
77
+ prompt: Start analysis and determine whether live processing or a fallback produced the result.
78
+ successCriteria:
79
+ - Correctly identifies the processing path.
80
+ - Finds the result-level limitation or provenance statement.
81
+ measurements: [task-completion, time-on-task, navigation-errors, comprehension-accuracy, recovery-attempts, confidence]
82
+ - id: verify-export-provenance
83
+ prompt: Export the result and verify that data origin, freshness, environment, and limitations are retained.
84
+ successCriteria:
85
+ - Completes the export or correctly records that export is unavailable.
86
+ - Correctly identifies every retained or missing provenance field.
87
+ measurements: [task-completion, time-on-task, navigation-errors, comprehension-accuracy, recovery-attempts, confidence]
88
+ rubric:
89
+ scale:
90
+ minimum: 0
91
+ maximum: 4
92
+ anchors:
93
+ "0": Absent, misleading, or unusable
94
+ "1": Present but materially deficient
95
+ "2": Functional and understandable
96
+ "3": Polished and consistently implemented
97
+ "4": Exceptional and supported by evidence
98
+ categories:
99
+ - id: truthful-disclosure
100
+ label: Truthful interface disclosure
101
+ weight: 30
102
+ criteria:
103
+ - id: disclosure-speed
104
+ prompt: Data origin, connection, environment, and freshness are identifiable without documentation.
105
+ measurement: comprehension
106
+ evidenceLevel: representative-user
107
+ scoreMinimum: 0
108
+ scoreMaximum: 4
109
+ - id: disclosure-consistency
110
+ prompt: Disclosure persists through action, result, history, fallback, error, and export states.
111
+ measurement: task-observation
112
+ evidenceLevel: human-expert
113
+ scoreMinimum: 0
114
+ scoreMaximum: 4
115
+ - id: information-design
116
+ label: Operational information design
117
+ weight: 35
118
+ criteria:
119
+ - id: priority-comprehension
120
+ prompt: Priority, impact, evidence, next action, and validation method form one understandable path.
121
+ measurement: comprehension
122
+ evidenceLevel: representative-user
123
+ scoreMinimum: 0
124
+ scoreMaximum: 4
125
+ - id: decision-density
126
+ prompt: Visible metrics and charts support identifiable decisions without decorative duplication.
127
+ measurement: rating
128
+ evidenceLevel: human-expert
129
+ scoreMinimum: 0
130
+ scoreMaximum: 4
131
+ - id: visual-polish
132
+ label: Visual hierarchy and polish
133
+ weight: 35
134
+ criteria:
135
+ - id: visual-rhythm
136
+ prompt: Spacing, alignment, typography, density, and emphasis appear intentional and coherent.
137
+ measurement: rating
138
+ evidenceLevel: human-expert
139
+ scoreMinimum: 0
140
+ scoreMaximum: 4
141
+ - id: responsive-composition
142
+ prompt: Composition remains balanced, legible, and task-focused at every required viewport.
143
+ measurement: task-observation
144
+ evidenceLevel: human-expert
145
+ scoreMinimum: 0
146
+ scoreMaximum: 4
147
+ evidencePolicy:
148
+ anonymizeCandidates: true
149
+ counterbalanceOrder: true
150
+ retainArtifacts: true
151
+ separateEvidenceLevels: true
152
+ requireHumanAttribution: true
153
+ prohibitAgentHumanAttestation: true
154
+ decision:
155
+ minimumCategoryScore: 3
156
+ requireAllStagesPass: true
157
+ prohibitContradictedClaims: true
158
+ requiredEvidenceLevels: [automated, ai-assisted-expert, human-expert, representative-user]
159
+ requiredStageCandidates: [anonymous-e]
160
+ reviewRequirements:
161
+ minimumHumanExpertSessions: 3
162
+ minimumRepresentativeUserSessions: 5
163
+ requireCompleteTaskMatrix: true
164
+ requireCompleteRatingMatrix: true
165
+ requireIdentityBlinding: true
166
+ minimumCounterbalancedOrders: 5
167
+ benchmark:
168
+ targetCandidate: anonymous-e
169
+ comparatorCandidates: [anonymous-b]
170
+ requiredCategoryIds: [truthful-disclosure, information-design, visual-polish]
171
+ requireTaskMetricNonRegression: true
@@ -0,0 +1,139 @@
1
+ {
2
+ "version": "1.0",
3
+ "contract": "azure-optimizer",
4
+ "profiles": [
5
+ {
6
+ "id": "azure-v2-state-matrix",
7
+ "name": "Azure Optimizer V2 contract and state matrix",
8
+ "environment": [
9
+ "Azure Optimizer V2 production build is running",
10
+ "The fixed imported comparison fixture is unchanged",
11
+ "No Azure tenant connection is configured"
12
+ ],
13
+ "expectedNetwork": [
14
+ {
15
+ "id": "disclosed-fallback-failure",
16
+ "method": "POST",
17
+ "urlIncludes": "/api/analyze?scenario=fallback",
18
+ "status": 503,
19
+ "minOccurrences": 1,
20
+ "maxOccurrences": 1
21
+ }
22
+ ],
23
+ "journeys": [
24
+ {
25
+ "id": "demo-success",
26
+ "name": "demo-success",
27
+ "steps": [
28
+ { "action": "navigate", "value": "/?state=demo" },
29
+ { "action": "expectAttribute", "selector": "#azure-v2-app", "name": "data-ztothez-design-state", "value": "normal" },
30
+ { "action": "expectAttribute", "selector": "[data-ztothez-design-data-mode]", "name": "data-ztothez-design-data-mode", "value": "demo" },
31
+ { "action": "click", "selector": "[data-view=analysis]" },
32
+ { "action": "expectResponse", "selector": "#run-analysis", "urlIncludes": "/api/analyze?scenario=demo", "status": 200, "method": "POST" },
33
+ { "action": "waitFor", "selector": ".run-complete" },
34
+ { "action": "expectAttribute", "selector": "#azure-v2-app", "name": "data-ztothez-design-stage", "value": "result" },
35
+ { "action": "expectText", "selector": "body", "value": "Analysis complete" }
36
+ ]
37
+ },
38
+ {
39
+ "id": "live-connected",
40
+ "name": "live-connected",
41
+ "steps": [
42
+ { "action": "navigate", "value": "/?state=live" },
43
+ { "action": "expectAttribute", "selector": "[data-ztothez-design-data-mode]", "name": "data-ztothez-design-data-mode", "value": "live" },
44
+ { "action": "expectAttribute", "selector": "[data-ztothez-design-connection]", "name": "data-ztothez-design-connection", "value": "connected" },
45
+ { "action": "click", "selector": "[data-view=analysis]" },
46
+ { "action": "expectResponse", "selector": "#run-analysis", "urlIncludes": "/api/analyze?scenario=live", "status": 200, "method": "POST" },
47
+ { "action": "waitFor", "selector": ".run-complete" },
48
+ { "action": "expectAttribute", "selector": "[data-ztothez-design-result-origin]", "name": "data-ztothez-design-result-origin", "value": "live" }
49
+ ]
50
+ },
51
+ {
52
+ "id": "slow-analysis",
53
+ "name": "slow-analysis",
54
+ "steps": [
55
+ { "action": "navigate", "value": "/?state=slow" },
56
+ { "action": "click", "selector": "[data-view=analysis]" },
57
+ { "action": "click", "selector": "#run-analysis" },
58
+ { "action": "expectAttribute", "selector": "#azure-v2-app", "name": "data-ztothez-design-stage", "value": "loading" },
59
+ { "action": "expectAttribute", "selector": "#azure-v2-app", "name": "data-ztothez-design-state", "value": "slow" },
60
+ { "action": "waitFor", "selector": ".run-complete" },
61
+ { "action": "expectText", "selector": "body", "value": "Analysis complete" }
62
+ ]
63
+ },
64
+ {
65
+ "id": "backend-failure-fallback",
66
+ "name": "backend-failure-fallback",
67
+ "steps": [
68
+ { "action": "navigate", "value": "/?state=fallback" },
69
+ { "action": "expectAttribute", "selector": "[data-ztothez-design-data-mode]", "name": "data-ztothez-design-data-mode", "value": "hybrid" },
70
+ { "action": "expectText", "selector": "[data-ztothez-design-result-origin]", "value": "fallback simulation" },
71
+ { "action": "click", "selector": "[data-view=analysis]" },
72
+ { "action": "expectResponse", "selector": "#run-analysis", "urlIncludes": "/api/analyze?scenario=fallback", "status": 503, "method": "POST" },
73
+ { "action": "waitFor", "selector": ".run-error" },
74
+ { "action": "expectAttribute", "selector": "#azure-v2-app", "name": "data-ztothez-design-stage", "value": "error" },
75
+ { "action": "click", "selector": "#use-local-fallback" },
76
+ { "action": "waitFor", "selector": ".run-complete" },
77
+ { "action": "expectAttribute", "selector": "[data-ztothez-design-result-origin]", "name": "data-ztothez-design-result-origin", "value": "simulated" },
78
+ { "action": "expectAttribute", "selector": "#azure-v2-app", "name": "data-ztothez-design-state", "value": "fallback" }
79
+ ]
80
+ },
81
+ {
82
+ "id": "disconnected-recovery",
83
+ "name": "disconnected-recovery",
84
+ "steps": [
85
+ { "action": "navigate", "value": "/?state=disconnected" },
86
+ { "action": "expectAttribute", "selector": "[data-ztothez-design-connection]", "name": "data-ztothez-design-connection", "value": "disconnected" },
87
+ { "action": "expectVisible", "selector": "[data-ztothez-design-recovery-action]" },
88
+ { "action": "click", "selector": ".trust-recovery" },
89
+ { "action": "expectAttribute", "selector": "[data-ztothez-design-connection]", "name": "data-ztothez-design-connection", "value": "connected" },
90
+ { "action": "expectAttribute", "selector": "#azure-v2-app", "name": "data-ztothez-design-state", "value": "normal" }
91
+ ]
92
+ },
93
+ {
94
+ "id": "partial-result",
95
+ "name": "partial-result",
96
+ "steps": [
97
+ { "action": "navigate", "value": "/?state=partial" },
98
+ { "action": "expectAttribute", "selector": "#azure-v2-app", "name": "data-ztothez-design-state", "value": "partial" },
99
+ { "action": "expectText", "selector": "body", "value": "Partial result" },
100
+ { "action": "expectText", "selector": ".count-label", "value": "2 evidenced" }
101
+ ]
102
+ },
103
+ {
104
+ "id": "stale-result",
105
+ "name": "stale-result",
106
+ "steps": [
107
+ { "action": "navigate", "value": "/?state=stale" },
108
+ { "action": "expectAttribute", "selector": "[data-ztothez-design-freshness]", "name": "data-ztothez-design-freshness", "value": "stale" },
109
+ { "action": "expectText", "selector": "body", "value": "Stale result" }
110
+ ]
111
+ },
112
+ {
113
+ "id": "finding-detail-history",
114
+ "name": "finding-detail-history",
115
+ "steps": [
116
+ { "action": "navigate", "value": "/?state=demo" },
117
+ { "action": "click", "selector": "[data-finding-id=AZ-CONFIG-001]" },
118
+ { "action": "expectText", "selector": "#finding-detail-heading", "value": "backup policy" },
119
+ { "action": "click", "selector": "[data-view=history]" },
120
+ { "action": "expectAttribute", "selector": "#azure-v2-app", "name": "data-ztothez-design-stage", "value": "history" },
121
+ { "action": "expectText", "selector": "body", "value": "No scheduled monitoring is implied" }
122
+ ]
123
+ },
124
+ {
125
+ "id": "export-provenance",
126
+ "name": "export-provenance",
127
+ "steps": [
128
+ { "action": "navigate", "value": "/?state=demo" },
129
+ { "action": "click", "selector": "[data-view=export]" },
130
+ { "action": "expectAttribute", "selector": "#azure-v2-app", "name": "data-ztothez-design-stage", "value": "export" },
131
+ { "action": "expectText", "selector": "body", "value": "processing origin" },
132
+ { "action": "expectDownload", "selector": "#download-provenance", "filenameIncludes": "provenance.json" },
133
+ { "action": "expectText", "selector": "body", "value": "Export created with provenance" }
134
+ ]
135
+ }
136
+ ]
137
+ }
138
+ ]
139
+ }
@@ -0,0 +1,21 @@
1
+ # Corpus Provenance
2
+
3
+ ## Project-Owned Sources
4
+
5
+ The AegisOPS and SceneStart benchmark contracts are derived from repositories and product evidence owned by ZtotheZ. Their source snapshots, authority boundaries, and transformation notes are recorded in their respective `SOURCE-EVIDENCE.md` and `MANIFEST.md` files.
6
+
7
+ The compact architecture and anti-slop repositories under `cases/` were authored specifically for this project. They are synthetic behavioral fixtures, not extracted third-party application code. They are distributed under the repository license.
8
+
9
+ ## Licensed Standard Reference
10
+
11
+ The visual-accessibility retrieval case refers to WCAG 2.2 concepts through independently authored query text and the independently authored ZtotheZ visual-accessibility module. It does not redistribute the WCAG specification.
12
+
13
+ - Authoritative source: https://www.w3.org/TR/WCAG22/
14
+ - License information: https://www.w3.org/copyright/document-license-2015/
15
+ - Owner: World Wide Web Consortium
16
+ - License record: W3C Document License 2015
17
+ - Transformation: concepts are expressed as an original search query and expected local source path; no normative passage is copied into the case.
18
+
19
+ ## Inclusion Rules
20
+
21
+ Every corpus case must reference one source declared in `corpus.yaml`. User-owned sources require local evidence. Licensed standards require an authoritative URL, license record, attribution, and a derivation statement. Reference archives and third-party design products are prohibited as corpus authorities.
@@ -0,0 +1,30 @@
1
+ # Corpus Benchmark
2
+
3
+ This directory is the maintained evaluation corpus for ZtotheZ Design Engineering. It measures whether retrieval, architecture auditing, product-contract validation, and anti-slop rules produce the expected decisions on controlled positive and negative cases.
4
+
5
+ ## Files
6
+
7
+ - `corpus.yaml` is the executable case manifest and score policy.
8
+ - `corpus.schema.yaml` is the portable schema for corpus authors and external tooling.
9
+ - `PROVENANCE.md` records ownership, licensed references, derivation, and redistribution boundaries.
10
+ - `cases/` contains small project-owned repositories and one deliberately incomplete product contract.
11
+
12
+ ## Evaluation
13
+
14
+ Run:
15
+
16
+ ```bash
17
+ npm run evaluate-corpus
18
+ ```
19
+
20
+ The command exits unsuccessfully when the overall threshold, a dimension threshold, or recommendation mean reciprocal rank is missed. A case passes only when the observed result matches its declared expectation. Negative cases pass when the system rejects the known defect or explicitly abstains.
21
+
22
+ ## Interpretation
23
+
24
+ - Recommendation relevance measures whether the expected approved source appears within the declared maximum rank.
25
+ - Abstention measures whether out-of-scope queries return `no-match` without archive fallback.
26
+ - Architectural integrity measures clean acceptance and known architecture-rule detection.
27
+ - Task completeness measures valid product contracts and rejection of broken cross-references.
28
+ - Anti-slop rejection measures clean acceptance and deterministic rejection of mock production paths or nonfunctional controls.
29
+
30
+ Passing this corpus proves behavior only for the included cases. It does not prove universal recommendation quality, product usability, legal clearance, or visual quality.
@@ -0,0 +1,9 @@
1
+ {
2
+ "name": "anti-slop-negative",
3
+ "private": true,
4
+ "scripts": {
5
+ "build": "echo build",
6
+ "test": "echo test",
7
+ "typecheck": "echo typecheck"
8
+ }
9
+ }
@@ -0,0 +1,10 @@
1
+ export function FakeDashboard() {
2
+ const result = "fake progress result";
3
+ return (
4
+ <main>
5
+ <h1>Executive dashboard</h1>
6
+ <p>{result}</p>
7
+ <a href="#">Open full report</a>
8
+ </main>
9
+ );
10
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "name": "anti-slop-positive",
3
+ "private": true,
4
+ "scripts": {
5
+ "build": "echo build",
6
+ "test": "echo test",
7
+ "typecheck": "echo typecheck"
8
+ }
9
+ }
@@ -0,0 +1,15 @@
1
+ type ProgressProps = {
2
+ completedIds: string[];
3
+ requiredIds: string[];
4
+ };
5
+
6
+ export function Progress({ completedIds, requiredIds }: ProgressProps) {
7
+ const completed = requiredIds.filter((id) => completedIds.includes(id)).length;
8
+ return (
9
+ <section aria-labelledby="progress-title">
10
+ <h2 id="progress-title">Release progress</h2>
11
+ <p>{completed} of {requiredIds.length} requirements complete</p>
12
+ <a href="/release/evidence">Inspect evidence</a>
13
+ </section>
14
+ );
15
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "name": "architecture-negative",
3
+ "private": true,
4
+ "scripts": {
5
+ "build": "echo build",
6
+ "test": "echo test",
7
+ "typecheck": "echo typecheck"
8
+ }
9
+ }