@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,390 @@
1
+ $schema: https://json-schema.org/draft/2020-12/schema
2
+ $id: https://local.ztothez-design-engineering/schemas/information-design-1.0.schema.json
3
+ title: ZtotheZ Operational Information Design Contract
4
+ description: Version 1.0 contract for decision metrics, findings, charts, hierarchy, exceptional states, and review-task declarations.
5
+ type: object
6
+ additionalProperties: false
7
+ required: [version, id, product, preparedAt, preparedBy, sources, freshness, baselines, destinations, contexts, labelPolicies, valuePolicies, evidence, metrics, findings, charts, collections, hierarchy, tasks]
8
+ properties:
9
+ version: { const: "1.0" }
10
+ id: { $ref: "#/$defs/id" }
11
+ product: { $ref: "#/$defs/shortText" }
12
+ preparedAt: { type: string, format: date-time }
13
+ preparedBy:
14
+ type: object
15
+ additionalProperties: false
16
+ required: [type, name]
17
+ properties:
18
+ type: { enum: [agent, human, mixed] }
19
+ name: { $ref: "#/$defs/shortText" }
20
+ sources:
21
+ type: array
22
+ minItems: 1
23
+ maxItems: 500
24
+ items: { $ref: "#/$defs/source" }
25
+ freshness:
26
+ type: array
27
+ minItems: 1
28
+ maxItems: 500
29
+ items: { $ref: "#/$defs/freshness" }
30
+ baselines:
31
+ type: array
32
+ maxItems: 500
33
+ items: { $ref: "#/$defs/baseline" }
34
+ destinations:
35
+ type: array
36
+ minItems: 1
37
+ maxItems: 500
38
+ items: { $ref: "#/$defs/destination" }
39
+ contexts:
40
+ type: array
41
+ minItems: 1
42
+ maxItems: 500
43
+ items: { $ref: "#/$defs/context" }
44
+ labelPolicies:
45
+ type: array
46
+ minItems: 1
47
+ maxItems: 100
48
+ items: { $ref: "#/$defs/labelPolicy" }
49
+ valuePolicies:
50
+ type: array
51
+ minItems: 1
52
+ maxItems: 100
53
+ items: { $ref: "#/$defs/valuePolicy" }
54
+ evidence:
55
+ type: array
56
+ minItems: 1
57
+ maxItems: 5000
58
+ items: { $ref: "#/$defs/evidence" }
59
+ metrics:
60
+ type: array
61
+ minItems: 1
62
+ maxItems: 5000
63
+ items: { $ref: "#/$defs/metric" }
64
+ findings:
65
+ type: array
66
+ minItems: 1
67
+ maxItems: 5000
68
+ items: { $ref: "#/$defs/finding" }
69
+ charts:
70
+ type: array
71
+ maxItems: 1000
72
+ items: { $ref: "#/$defs/chart" }
73
+ collections:
74
+ type: array
75
+ maxItems: 1000
76
+ items: { $ref: "#/$defs/collection" }
77
+ hierarchy:
78
+ type: array
79
+ minItems: 8
80
+ maxItems: 8
81
+ items: { $ref: "#/$defs/hierarchy" }
82
+ tasks:
83
+ type: array
84
+ minItems: 6
85
+ maxItems: 500
86
+ items: { $ref: "#/$defs/task" }
87
+ $defs:
88
+ id:
89
+ type: string
90
+ pattern: "^[a-z0-9][a-z0-9-]{0,63}$"
91
+ shortText:
92
+ type: string
93
+ minLength: 1
94
+ maxLength: 256
95
+ text:
96
+ type: string
97
+ minLength: 1
98
+ maxLength: 1024
99
+ idList:
100
+ type: array
101
+ maxItems: 500
102
+ items: { $ref: "#/$defs/id" }
103
+ source:
104
+ type: object
105
+ additionalProperties: false
106
+ required: [id, kind, description]
107
+ properties:
108
+ id: { $ref: "#/$defs/id" }
109
+ kind: { enum: [runtime, calculation, user-input, configuration, import, cache, fixture] }
110
+ description: { type: string, minLength: 1, maxLength: 512 }
111
+ evidence: { type: string, minLength: 1, maxLength: 1024 }
112
+ freshness:
113
+ type: object
114
+ additionalProperties: false
115
+ required: [id, status, sourceRef]
116
+ properties:
117
+ id: { $ref: "#/$defs/id" }
118
+ status: { enum: [current, stale, unknown, not-applicable] }
119
+ observedAt: { type: string, format: date-time }
120
+ timezone: { type: string, minLength: 1, maxLength: 128 }
121
+ sourceRef: { $ref: "#/$defs/id" }
122
+ allOf:
123
+ - if:
124
+ properties:
125
+ status: { enum: [current, stale] }
126
+ then:
127
+ required: [observedAt, timezone]
128
+ baseline:
129
+ type: object
130
+ additionalProperties: false
131
+ required: [id, kind, label, sourceRefs]
132
+ properties:
133
+ id: { $ref: "#/$defs/id" }
134
+ kind: { enum: [previous-period, target, benchmark, control] }
135
+ label: { $ref: "#/$defs/shortText" }
136
+ sourceRefs:
137
+ allOf: [{ $ref: "#/$defs/idList" }]
138
+ minItems: 1
139
+ destination:
140
+ type: object
141
+ additionalProperties: false
142
+ required: [id, label, kind, target]
143
+ properties:
144
+ id: { $ref: "#/$defs/id" }
145
+ label: { $ref: "#/$defs/shortText" }
146
+ kind: { enum: [drill-down, action, owner, history, export, external] }
147
+ target: { $ref: "#/$defs/text" }
148
+ context:
149
+ type: object
150
+ additionalProperties: false
151
+ required: [id, environment, scope, dataDescription, sourceRefs, freshnessRef, limitations]
152
+ properties:
153
+ id: { $ref: "#/$defs/id" }
154
+ environment: { $ref: "#/$defs/shortText" }
155
+ scope: { type: string, minLength: 1, maxLength: 512 }
156
+ dataDescription: { $ref: "#/$defs/text" }
157
+ sourceRefs:
158
+ allOf: [{ $ref: "#/$defs/idList" }]
159
+ minItems: 1
160
+ freshnessRef: { $ref: "#/$defs/id" }
161
+ limitations:
162
+ type: array
163
+ maxItems: 30
164
+ items: { type: string, minLength: 1, maxLength: 512 }
165
+ labelPolicy:
166
+ type: object
167
+ additionalProperties: false
168
+ required: [id, maxVisibleCharacters, overflow, accessibleReveal]
169
+ properties:
170
+ id: { $ref: "#/$defs/id" }
171
+ maxVisibleCharacters: { type: integer, minimum: 20, maximum: 500 }
172
+ overflow: { enum: [wrap, truncate-with-reveal] }
173
+ accessibleReveal: { type: boolean }
174
+ valueState:
175
+ type: object
176
+ additionalProperties: false
177
+ required: [label, behavior]
178
+ properties:
179
+ label: { type: string, minLength: 1, maxLength: 160 }
180
+ behavior: { type: string, minLength: 1, maxLength: 512 }
181
+ valuePolicy:
182
+ type: object
183
+ additionalProperties: false
184
+ required: [id, states]
185
+ properties:
186
+ id: { $ref: "#/$defs/id" }
187
+ states:
188
+ type: object
189
+ additionalProperties: false
190
+ required: [loading, available, missing, partial, stale, error]
191
+ properties:
192
+ loading: { $ref: "#/$defs/valueState" }
193
+ available: { $ref: "#/$defs/valueState" }
194
+ missing: { $ref: "#/$defs/valueState" }
195
+ partial: { $ref: "#/$defs/valueState" }
196
+ stale: { $ref: "#/$defs/valueState" }
197
+ error: { $ref: "#/$defs/valueState" }
198
+ evidence:
199
+ type: object
200
+ additionalProperties: false
201
+ required: [id, sourceRef, kind, description, location]
202
+ properties:
203
+ id: { $ref: "#/$defs/id" }
204
+ sourceRef: { $ref: "#/$defs/id" }
205
+ kind: { enum: [observation, log, configuration, calculation, user-report, document] }
206
+ description: { $ref: "#/$defs/text" }
207
+ location: { $ref: "#/$defs/text" }
208
+ metricBaseline:
209
+ oneOf:
210
+ - type: object
211
+ additionalProperties: false
212
+ required: [status, reference]
213
+ properties:
214
+ status: { const: available }
215
+ reference: { $ref: "#/$defs/id" }
216
+ - type: object
217
+ additionalProperties: false
218
+ required: [status, reason]
219
+ properties:
220
+ status: { enum: [not-applicable, unknown] }
221
+ reason: { type: string, minLength: 1, maxLength: 512 }
222
+ metric:
223
+ type: object
224
+ additionalProperties: false
225
+ required: [id, label, definition, formula, sourceRefs, contextRef, scope, period, freshnessRef, baseline, drilldownRef, limitations, supportedDecision, labelPolicyRef, valuePolicyRef, decorative]
226
+ properties:
227
+ id: { $ref: "#/$defs/id" }
228
+ label: { $ref: "#/$defs/shortText" }
229
+ definition: { $ref: "#/$defs/text" }
230
+ formula: { $ref: "#/$defs/text" }
231
+ sourceRefs:
232
+ allOf: [{ $ref: "#/$defs/idList" }]
233
+ minItems: 1
234
+ contextRef: { $ref: "#/$defs/id" }
235
+ scope: { type: string, minLength: 1, maxLength: 512 }
236
+ period:
237
+ type: object
238
+ additionalProperties: false
239
+ required: [kind, label]
240
+ properties:
241
+ kind: { enum: [point-in-time, rolling, fixed, lifetime, not-applicable] }
242
+ label: { $ref: "#/$defs/shortText" }
243
+ freshnessRef: { $ref: "#/$defs/id" }
244
+ baseline: { $ref: "#/$defs/metricBaseline" }
245
+ drilldownRef: { $ref: "#/$defs/id" }
246
+ limitations:
247
+ type: array
248
+ maxItems: 30
249
+ items: { type: string, minLength: 1, maxLength: 512 }
250
+ supportedDecision:
251
+ type: object
252
+ additionalProperties: false
253
+ required: [question, action]
254
+ properties:
255
+ question: { type: string, minLength: 1, maxLength: 512 }
256
+ action: { type: string, minLength: 1, maxLength: 512 }
257
+ labelPolicyRef: { $ref: "#/$defs/id" }
258
+ valuePolicyRef: { $ref: "#/$defs/id" }
259
+ decorative: { type: boolean }
260
+ finding:
261
+ type: object
262
+ additionalProperties: false
263
+ required: [id, title, severity, affectedEntities, observation, evidenceRefs, impact, confidence, remediation, destinationRef, validation, nonColorCues]
264
+ properties:
265
+ id: { $ref: "#/$defs/id" }
266
+ title: { $ref: "#/$defs/shortText" }
267
+ severity: { enum: [critical, high, medium, low, info] }
268
+ affectedEntities:
269
+ type: array
270
+ minItems: 1
271
+ maxItems: 500
272
+ items:
273
+ type: object
274
+ additionalProperties: false
275
+ required: [id, type, label]
276
+ properties:
277
+ id: { $ref: "#/$defs/shortText" }
278
+ type: { type: string, minLength: 1, maxLength: 128 }
279
+ label: { $ref: "#/$defs/shortText" }
280
+ observation: { $ref: "#/$defs/text" }
281
+ evidenceRefs:
282
+ allOf: [{ $ref: "#/$defs/idList" }]
283
+ minItems: 1
284
+ impact:
285
+ type: object
286
+ additionalProperties: false
287
+ required: [category, statement]
288
+ properties:
289
+ category: { enum: [operational, financial, security, user, compliance, reliability] }
290
+ statement: { $ref: "#/$defs/text" }
291
+ confidence:
292
+ type: object
293
+ additionalProperties: false
294
+ required: [level, basis]
295
+ properties:
296
+ level: { enum: [high, medium, low] }
297
+ basis: { $ref: "#/$defs/text" }
298
+ remediation: { $ref: "#/$defs/text" }
299
+ destinationRef: { $ref: "#/$defs/id" }
300
+ validation:
301
+ type: object
302
+ additionalProperties: false
303
+ required: [method, expectedSignal, evidenceRefs]
304
+ properties:
305
+ method: { $ref: "#/$defs/text" }
306
+ expectedSignal: { $ref: "#/$defs/text" }
307
+ evidenceRefs:
308
+ allOf: [{ $ref: "#/$defs/idList" }]
309
+ minItems: 1
310
+ nonColorCues:
311
+ type: array
312
+ minItems: 2
313
+ maxItems: 7
314
+ uniqueItems: true
315
+ contains: { enum: [text, icon, value, shape, pattern, position] }
316
+ items: { enum: [color, text, icon, value, shape, pattern, position] }
317
+ chart:
318
+ type: object
319
+ additionalProperties: false
320
+ required: [id, title, purpose, metricRefs, supportedDecision, destinationRef, decorative, labeling, alternative, valuePolicyRef]
321
+ properties:
322
+ id: { $ref: "#/$defs/id" }
323
+ title: { $ref: "#/$defs/shortText" }
324
+ purpose: { $ref: "#/$defs/text" }
325
+ metricRefs:
326
+ allOf: [{ $ref: "#/$defs/idList" }]
327
+ minItems: 1
328
+ supportedDecision: { $ref: "#/$defs/text" }
329
+ destinationRef: { $ref: "#/$defs/id" }
330
+ decorative: { type: boolean }
331
+ labeling:
332
+ type: object
333
+ additionalProperties: false
334
+ required: [titleVisible, valuesVisible, legendVisible]
335
+ properties:
336
+ titleVisible: { type: boolean }
337
+ valuesVisible: { type: boolean }
338
+ legendVisible: { type: boolean }
339
+ legendReason: { type: string, minLength: 1, maxLength: 512 }
340
+ alternative:
341
+ type: object
342
+ additionalProperties: false
343
+ required: [kind, destinationRef]
344
+ properties:
345
+ kind: { enum: [table, text] }
346
+ destinationRef: { $ref: "#/$defs/id" }
347
+ valuePolicyRef: { $ref: "#/$defs/id" }
348
+ collection:
349
+ type: object
350
+ additionalProperties: false
351
+ required: [id, label, entity, estimatedMaximumItems, strategy, search, filter, sort, emptyState, partialState, staleState, labelPolicyRef]
352
+ properties:
353
+ id: { $ref: "#/$defs/id" }
354
+ label: { $ref: "#/$defs/shortText" }
355
+ entity: { $ref: "#/$defs/shortText" }
356
+ estimatedMaximumItems: { type: integer, minimum: 0, maximum: 10000000 }
357
+ strategy: { enum: [pagination, virtualization, grouping, bounded] }
358
+ search: { type: boolean }
359
+ filter: { type: boolean }
360
+ sort: { type: boolean }
361
+ emptyState: { type: string, minLength: 1, maxLength: 512 }
362
+ partialState: { type: string, minLength: 1, maxLength: 512 }
363
+ staleState: { type: string, minLength: 1, maxLength: 512 }
364
+ labelPolicyRef: { $ref: "#/$defs/id" }
365
+ hierarchy:
366
+ type: object
367
+ additionalProperties: false
368
+ required: [level, order, contextRefs, metricRefs, findingRefs, chartRefs, destinationRefs]
369
+ properties:
370
+ level: { enum: [context-provenance, primary-outcome-action, critical-exceptions, health-impact-metrics, prioritized-findings, operational-telemetry, evidence-audit-trail, history-exports] }
371
+ order: { type: integer, minimum: 1, maximum: 8 }
372
+ contextRefs: { $ref: "#/$defs/idList" }
373
+ metricRefs: { $ref: "#/$defs/idList" }
374
+ findingRefs: { $ref: "#/$defs/idList" }
375
+ chartRefs: { $ref: "#/$defs/idList" }
376
+ destinationRefs: { $ref: "#/$defs/idList" }
377
+ task:
378
+ type: object
379
+ additionalProperties: false
380
+ required: [id, question, prompt, contextRefs, metricRefs, findingRefs, destinationRefs, expectedAnswer, nonColorRequired]
381
+ properties:
382
+ id: { $ref: "#/$defs/id" }
383
+ question: { enum: [identify-context, identify-priority, explain-impact, inspect-evidence, identify-next-action, verify-success] }
384
+ prompt: { $ref: "#/$defs/text" }
385
+ contextRefs: { $ref: "#/$defs/idList" }
386
+ metricRefs: { $ref: "#/$defs/idList" }
387
+ findingRefs: { $ref: "#/$defs/idList" }
388
+ destinationRefs: { $ref: "#/$defs/idList" }
389
+ expectedAnswer: { $ref: "#/$defs/text" }
390
+ nonColorRequired: { const: true }
@@ -0,0 +1,281 @@
1
+ version: "1.0"
2
+ id: operational-information-design-v1
3
+ product: Example Operations Workspace
4
+ preparedAt: 2026-08-26T16:00:00+03:00
5
+ preparedBy:
6
+ type: agent
7
+ name: ZtotheZ Design Engineering
8
+
9
+ sources:
10
+ - id: estate-api
11
+ kind: runtime
12
+ description: Authenticated API response for the selected estate and period.
13
+ evidence: evidence/estate-api-response.json
14
+ - id: metric-calculation
15
+ kind: calculation
16
+ description: Versioned metric calculation over the scoped API response.
17
+ evidence: evidence/metric-calculation.json
18
+ - id: audit-log
19
+ kind: runtime
20
+ description: Runtime audit events supporting findings and remediation verification.
21
+ evidence: evidence/audit-events.json
22
+
23
+ freshness:
24
+ - id: estate-current
25
+ status: current
26
+ observedAt: 2026-08-26T12:00:00Z
27
+ timezone: UTC
28
+ sourceRef: estate-api
29
+
30
+ baselines:
31
+ - id: previous-seven-days
32
+ kind: previous-period
33
+ label: Previous seven-day period for the same estate scope
34
+ sourceRefs: [estate-api, metric-calculation]
35
+
36
+ destinations:
37
+ - { id: findings-view, label: Open prioritized findings, kind: drill-down, target: /findings }
38
+ - { id: metric-details, label: Inspect metric records, kind: drill-down, target: /metrics }
39
+ - { id: remediation-queue, label: Add to remediation queue, kind: action, target: /remediation/new }
40
+ - { id: validation-run, label: Run validation query, kind: action, target: /validation/run }
41
+ - { id: platform-team, label: Platform operations team, kind: owner, target: team:platform-operations }
42
+ - { id: run-history, label: Open run history, kind: history, target: /history }
43
+ - { id: export-report, label: Export scoped report, kind: export, target: /exports/new }
44
+
45
+ contexts:
46
+ - id: selected-estate
47
+ environment: Production tenant eu-west
48
+ scope: 142 resources authorized for the selected tenant and seven-day period
49
+ dataDescription: Runtime resource inventory, cost observations, and audit events.
50
+ sourceRefs: [estate-api, metric-calculation, audit-log]
51
+ freshnessRef: estate-current
52
+ limitations:
53
+ - Resources outside current tenant authorization are excluded.
54
+
55
+ labelPolicies:
56
+ - id: operational-labels
57
+ maxVisibleCharacters: 80
58
+ overflow: wrap
59
+ accessibleReveal: true
60
+
61
+ valuePolicies:
62
+ - id: operational-values
63
+ states:
64
+ loading: { label: "Loading current value", behavior: "Preserve label and layout while showing bounded progress." }
65
+ available: { label: "Current value available", behavior: "Show value with scope, period, source, and drill-down." }
66
+ missing: { label: "Value unavailable", behavior: "Show no-value text and the source or permission recovery path; never substitute zero." }
67
+ partial: { label: "Partial value", behavior: "Show the available portion, excluded scope, limitation, and retry path." }
68
+ stale: { label: "Stale value", behavior: "Show the last value with timestamp, timezone, stale label, and refresh action." }
69
+ error: { label: "Value failed", behavior: "Preserve context and expose a retry or diagnostic destination." }
70
+
71
+ evidence:
72
+ - id: idle-resource-observation
73
+ sourceRef: estate-api
74
+ kind: observation
75
+ description: Seven resources report no workload activity during the selected period.
76
+ location: evidence/estate-api-response.json#/idleResources
77
+ - id: savings-calculation
78
+ sourceRef: metric-calculation
79
+ kind: calculation
80
+ description: Recoverable monthly cost calculated from idle resource rates and exclusions.
81
+ location: evidence/metric-calculation.json#/recoverableMonthlyCost
82
+ - id: validation-query
83
+ sourceRef: audit-log
84
+ kind: log
85
+ description: Query that verifies removed idle resources no longer emit billable events.
86
+ location: evidence/audit-events.json#/validationQuery
87
+
88
+ metrics:
89
+ - id: recoverable-monthly-cost
90
+ label: Estimated recoverable monthly cost
91
+ definition: Monthly cost associated with resources that meet the declared idle-resource rule.
92
+ formula: Sum current monthly rates for resources with zero workload activity, excluding protected and reserved resources.
93
+ sourceRefs: [estate-api, metric-calculation]
94
+ contextRef: selected-estate
95
+ scope: Authorized resources in production tenant eu-west
96
+ period: { kind: rolling, label: Last seven complete days projected to one month }
97
+ freshnessRef: estate-current
98
+ baseline: { status: available, reference: previous-seven-days }
99
+ drilldownRef: findings-view
100
+ limitations: [Projection assumes current rates and workload behavior remain stable.]
101
+ supportedDecision:
102
+ question: How much current cost can the team investigate for recovery?
103
+ action: Open the affected resources and prioritize validated remediation.
104
+ labelPolicyRef: operational-labels
105
+ valuePolicyRef: operational-values
106
+ decorative: false
107
+ - id: critical-finding-count
108
+ label: Critical findings requiring action
109
+ definition: Count of unresolved findings classified critical under the current ruleset.
110
+ formula: Count unresolved findings where severity equals critical in the selected scope.
111
+ sourceRefs: [estate-api, audit-log]
112
+ contextRef: selected-estate
113
+ scope: Authorized resources in production tenant eu-west
114
+ period: { kind: point-in-time, label: Current observed estate }
115
+ freshnessRef: estate-current
116
+ baseline: { status: not-applicable, reason: "The count is a current action queue, not a performance comparison." }
117
+ drilldownRef: findings-view
118
+ limitations: [Severity reflects the current versioned ruleset.]
119
+ supportedDecision:
120
+ question: Which exceptions require immediate review?
121
+ action: Open the critical findings queue.
122
+ labelPolicyRef: operational-labels
123
+ valuePolicyRef: operational-values
124
+ decorative: false
125
+ - id: validation-pass-rate
126
+ label: Remediation validation pass rate
127
+ definition: Share of completed remediation validations that produced the expected signal.
128
+ formula: Successful validation runs divided by completed validation runs, excluding canceled runs.
129
+ sourceRefs: [audit-log, metric-calculation]
130
+ contextRef: selected-estate
131
+ scope: Completed validation runs for the selected estate
132
+ period: { kind: rolling, label: Last seven complete days }
133
+ freshnessRef: estate-current
134
+ baseline: { status: available, reference: previous-seven-days }
135
+ drilldownRef: metric-details
136
+ limitations: [Open and canceled validation runs are excluded.]
137
+ supportedDecision:
138
+ question: Are remediation actions producing the expected operational result?
139
+ action: Inspect failed validation runs and return them to the owning team.
140
+ labelPolicyRef: operational-labels
141
+ valuePolicyRef: operational-values
142
+ decorative: false
143
+
144
+ findings:
145
+ - id: idle-production-resources
146
+ title: Seven production resources show no workload activity
147
+ severity: critical
148
+ affectedEntities:
149
+ - { id: resource-group-idle, type: resource-group, label: Seven idle production resources }
150
+ observation: No workload activity was observed for seven resources during the selected seven-day period.
151
+ evidenceRefs: [idle-resource-observation, savings-calculation]
152
+ impact:
153
+ category: financial
154
+ statement: The current rate projection identifies recoverable monthly cost if ownership and protection checks pass.
155
+ confidence:
156
+ level: high
157
+ basis: Runtime activity observations and the versioned rate calculation agree for the selected scope.
158
+ remediation: Confirm ownership and protection status, then stop or remove validated idle resources through change control.
159
+ destinationRef: remediation-queue
160
+ validation:
161
+ method: Run the billable-event query after the approved change window.
162
+ expectedSignal: Removed resources emit no billable events and remaining resources retain expected workload activity.
163
+ evidenceRefs: [validation-query]
164
+ nonColorCues: [color, text, icon]
165
+ - id: failed-remediation-validations
166
+ title: Two remediation validations did not produce the expected signal
167
+ severity: high
168
+ affectedEntities:
169
+ - { id: validation-group-failed, type: validation-run-group, label: Two failed validation runs }
170
+ observation: Two completed validation runs still contain billable events after their change windows.
171
+ evidenceRefs: [validation-query]
172
+ impact:
173
+ category: operational
174
+ statement: The intended remediation outcome is unverified and the resources require investigation.
175
+ confidence:
176
+ level: medium
177
+ basis: Runtime events establish the failed signal, but ownership and change execution details require review.
178
+ remediation: Return the runs to platform operations with the event evidence and change identifiers.
179
+ destinationRef: platform-team
180
+ validation:
181
+ method: Re-run validation after corrected remediation and compare against the same scoped event query.
182
+ expectedSignal: The query returns no billable events for remediated entities during the verification period.
183
+ evidenceRefs: [validation-query]
184
+ nonColorCues: [text, icon, position]
185
+
186
+ charts:
187
+ - id: remediation-outcome-trend
188
+ title: Remediation validation outcomes over seven days
189
+ purpose: Show whether validation performance is improving and expose failed runs for investigation.
190
+ metricRefs: [validation-pass-rate]
191
+ supportedDecision: Decide whether failed validations need process correction or targeted remediation.
192
+ destinationRef: metric-details
193
+ decorative: false
194
+ labeling:
195
+ titleVisible: true
196
+ valuesVisible: true
197
+ legendVisible: true
198
+ alternative:
199
+ kind: table
200
+ destinationRef: metric-details
201
+ valuePolicyRef: operational-values
202
+
203
+ collections:
204
+ - id: prioritized-finding-list
205
+ label: Prioritized findings
206
+ entity: operational finding
207
+ estimatedMaximumItems: 10000
208
+ strategy: virtualization
209
+ search: true
210
+ filter: true
211
+ sort: true
212
+ emptyState: No findings match the selected scope and filters; retain context and offer filter reset.
213
+ partialState: Some findings are unavailable; show loaded records, excluded scope, and retry action.
214
+ staleState: Findings are from the displayed timestamp; preserve selection and offer refresh.
215
+ labelPolicyRef: operational-labels
216
+
217
+ hierarchy:
218
+ - { level: context-provenance, order: 1, contextRefs: [selected-estate], metricRefs: [], findingRefs: [], chartRefs: [], destinationRefs: [] }
219
+ - { level: primary-outcome-action, order: 2, contextRefs: [], metricRefs: [recoverable-monthly-cost], findingRefs: [], chartRefs: [], destinationRefs: [findings-view] }
220
+ - { level: critical-exceptions, order: 3, contextRefs: [], metricRefs: [], findingRefs: [idle-production-resources], chartRefs: [], destinationRefs: [remediation-queue] }
221
+ - { level: health-impact-metrics, order: 4, contextRefs: [], metricRefs: [critical-finding-count, validation-pass-rate], findingRefs: [], chartRefs: [], destinationRefs: [] }
222
+ - { level: prioritized-findings, order: 5, contextRefs: [], metricRefs: [], findingRefs: [idle-production-resources, failed-remediation-validations], chartRefs: [], destinationRefs: [findings-view] }
223
+ - { level: operational-telemetry, order: 6, contextRefs: [], metricRefs: [validation-pass-rate], findingRefs: [], chartRefs: [remediation-outcome-trend], destinationRefs: [metric-details] }
224
+ - { level: evidence-audit-trail, order: 7, contextRefs: [], metricRefs: [], findingRefs: [idle-production-resources, failed-remediation-validations], chartRefs: [], destinationRefs: [validation-run] }
225
+ - { level: history-exports, order: 8, contextRefs: [], metricRefs: [], findingRefs: [], chartRefs: [], destinationRefs: [run-history, export-report] }
226
+
227
+ tasks:
228
+ - id: review-context
229
+ question: identify-context
230
+ prompt: Identify the environment, scope, data source, freshness, and limitations.
231
+ contextRefs: [selected-estate]
232
+ metricRefs: []
233
+ findingRefs: []
234
+ destinationRefs: []
235
+ expectedAnswer: Production tenant eu-west, 142 authorized resources, runtime and calculated data observed at the displayed UTC timestamp, excluding unauthorized resources.
236
+ nonColorRequired: true
237
+ - id: review-priority
238
+ question: identify-priority
239
+ prompt: Identify the issue requiring immediate attention.
240
+ contextRefs: [selected-estate]
241
+ metricRefs: [critical-finding-count]
242
+ findingRefs: [idle-production-resources]
243
+ destinationRefs: [findings-view]
244
+ expectedAnswer: Seven idle production resources are the critical current finding.
245
+ nonColorRequired: true
246
+ - id: review-impact
247
+ question: explain-impact
248
+ prompt: Explain the impact and its limitation.
249
+ contextRefs: [selected-estate]
250
+ metricRefs: [recoverable-monthly-cost]
251
+ findingRefs: [idle-production-resources]
252
+ destinationRefs: []
253
+ expectedAnswer: The idle resources indicate recoverable monthly cost, subject to ownership, protection, rate, and stable-workload assumptions.
254
+ nonColorRequired: true
255
+ - id: review-evidence
256
+ question: inspect-evidence
257
+ prompt: Identify the evidence supporting the critical finding.
258
+ contextRefs: [selected-estate]
259
+ metricRefs: [recoverable-monthly-cost]
260
+ findingRefs: [idle-production-resources]
261
+ destinationRefs: [metric-details]
262
+ expectedAnswer: Runtime activity observations and the versioned savings calculation support the finding.
263
+ nonColorRequired: true
264
+ - id: review-next-action
265
+ question: identify-next-action
266
+ prompt: Identify the next action and its destination.
267
+ contextRefs: [selected-estate]
268
+ metricRefs: []
269
+ findingRefs: [idle-production-resources]
270
+ destinationRefs: [remediation-queue, platform-team]
271
+ expectedAnswer: Confirm ownership and protection, then route approved idle-resource changes through the remediation queue to platform operations.
272
+ nonColorRequired: true
273
+ - id: review-verification
274
+ question: verify-success
275
+ prompt: Explain how the remediation outcome will be verified.
276
+ contextRefs: [selected-estate]
277
+ metricRefs: [validation-pass-rate]
278
+ findingRefs: [idle-production-resources]
279
+ destinationRefs: [validation-run]
280
+ expectedAnswer: Run the scoped billable-event query after the change and verify removed resources have no events while retained resources remain active.
281
+ nonColorRequired: true