@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,72 @@
1
+ # Interaction And Recovery Verification
2
+
3
+ Use this protocol when a browser product contract needs executable evidence for task progress,
4
+ failure recovery, keyboard operation, exports, or offline behavior. It extends rendered runtime
5
+ verification; it does not establish usability, comprehension, backend availability, or a human
6
+ review outcome.
7
+
8
+ ## Compatibility Boundary
9
+
10
+ Existing journey suites remain version `1.0`. A version `1.1` suite requires an `interaction`
11
+ declaration for every journey. Product contracts that rely on those declarations use version `1.2`.
12
+ Do not upgrade an older benchmark merely to make it appear interaction-qualified. Add a new versioned
13
+ contract only when the product owner supplies the applicable task, state, and recovery evidence.
14
+
15
+ ## Journey Declaration
16
+
17
+ Each version `1.1` journey declares an `interaction` object:
18
+
19
+ ```json
20
+ {
21
+ "task": "record-decision",
22
+ "phases": ["primary", "recovery"],
23
+ "applicableStates": ["disconnected", "error"],
24
+ "keyboard": true,
25
+ "export": true,
26
+ "offline": true
27
+ }
28
+ ```
29
+
30
+ `phases: ["primary"]` requires `start` and `success` checkpoints. `phases: ["recovery"]`
31
+ requires `failure` and `preserved-state` checkpoints. Each declared applicable state requires a
32
+ checkpoint of the same name. Keyboard, export, and offline declarations additionally require
33
+ their matching checkpoint.
34
+
35
+ A checkpoint immediately follows the assertion that establishes it:
36
+
37
+ ```json
38
+ { "action": "expectValue", "selector": "#draft", "value": "priority-record-01" },
39
+ { "action": "checkpoint", "checkpoint": "preserved-state" }
40
+ ```
41
+
42
+ The verifier retains the checkpoint number, the preceding assertion number, and the observation in
43
+ the runtime report. Checkpoints are not free-form prose and cannot be used to declare evidence that
44
+ the preceding browser assertion did not observe.
45
+
46
+ ## Executable Actions
47
+
48
+ Use `press` before a `keyboard` checkpoint. Use `expectDownload` before an `export` checkpoint.
49
+ Use `setNetwork` with `state: "offline"` before an `offline` checkpoint, then assert the visible
50
+ disconnected recovery state. A disconnected state that is only declared by a product scenario does
51
+ not prove the browser was offline; keep those facts separate.
52
+
53
+ Verify only states that the current product contract and data model make applicable: `loading`,
54
+ `empty`, `partial`, `stale`, `disconnected`, `unauthorized`, and `error`. Do not add synthetic
55
+ states to satisfy coverage. If the browser cannot automate a declared behavior, retain it as a
56
+ verifier limitation and keep the product result `unverified`; it is neither a pass nor a product
57
+ failure.
58
+
59
+ ## Contract Binding
60
+
61
+ A version `1.2` product contract requires a version `1.1` journey suite. Every browser task
62
+ journey must declare the same task identifier. Primary tasks require a primary phase; tasks whose
63
+ recovery is required also require a recovery phase. The contract validator rejects missing or
64
+ mismatched coverage before a quality gate can treat browser output as task evidence.
65
+
66
+ ## Evidence Boundary
67
+
68
+ Runtime evidence proves that a declared browser sequence completed in the configured environment.
69
+ It does not prove representative users can recover, that all real network conditions behave the
70
+ same way, that an export is semantically correct beyond the retained artifact, or that an identity
71
+ or authorization system is secure. Never generate a human or representative-user attestation from
72
+ these results.
@@ -0,0 +1,103 @@
1
+ # Interface Trust And Data Provenance
2
+
3
+ Use this module for interfaces that display operational state, external data, generated analysis, cached or imported results, health claims, environment labels, or exports. Create an `interface-trust.yaml` from `interface-trust.template.yaml` before implementing consequential actions or operational status UI.
4
+
5
+ ## Trust Boundary
6
+
7
+ Treat four facts as separate state dimensions:
8
+
9
+ ```text
10
+ dataMode: demo | live | hybrid | imported | cached
11
+ connection: unknown | checking | connected | degraded | disconnected
12
+ resultOrigin: live | simulated | imported | cached
13
+ freshness: status plus offset timestamp plus IANA timezone
14
+ ```
15
+
16
+ A working interface does not prove a working backend. A successful local simulation does not prove external connectivity. A connected health endpoint does not prove that the displayed result came from that endpoint. Bind each claim to the source that establishes that exact fact.
17
+
18
+ ## Step 1: Inventory Sources
19
+
20
+ Give every source a stable identifier, kind, authority, description, and evidence location when available.
21
+
22
+ - Use `runtime-probe`, `authenticated-api`, or `runtime-processing` only for facts observed at runtime. Record `checkedAt` with an offset.
23
+ - Use `demo-fixture` or `local-simulation` for demonstration content. Never relabel it as live output.
24
+ - Use `import-record` for imported data and `cache-record` for cached data. Preserve their original timestamps and scope.
25
+ - Use `configuration` for deployment or environment declarations. Configuration may identify an intended environment but cannot prove service availability.
26
+ - Use `user-input` only for values explicitly supplied by the user. Do not convert user intent into a verified external fact.
27
+
28
+ Do not place credentials, realistic secret placeholders, tokens, passwords, or API keys in the contract, UI, examples, source, or screenshots. Declare only an approved credential source such as environment configuration, a secret manager, OAuth, or runtime user entry.
29
+
30
+ ## Step 2: Define Product States
31
+
32
+ Model at least one concrete state for each required scenario:
33
+
34
+ 1. `demo`: demo data with simulated result origin.
35
+ 2. `live`: runtime-derived live mode, connected state, and live result origin.
36
+ 3. `fallback`: a failed or degraded primary path producing an explicitly non-live result with limitations.
37
+ 4. `stale`: cached or imported content whose age is explicit.
38
+ 5. `disconnected`: runtime-derived disconnection with preserved context and a recovery action.
39
+
40
+ For each state, declare data mode, connection, result availability and origin, freshness, environment, scope, limitations, sources, and recovery action where applicable. Use `unknown` rather than guessing. Use `checking` while evidence is pending. Keep partial and stale content usable, but never visually merge it with current live output.
41
+
42
+ ## Step 3: Bind Every Claim
43
+
44
+ Record each visible operational claim with its state, kind, text, classification, sources, locations, and visibility.
45
+
46
+ - `verified` means the cited source establishes the claim.
47
+ - `demonstration` means the cited fixture or local simulation establishes only demonstration behavior.
48
+ - `unknown` means the interface explicitly declines to assert a value. Unknown claims do not require a source.
49
+
50
+ Labels such as `operational`, `online`, `connected`, `production`, and `live` require verified evidence. A green dot, shield, pulse, or success color does not establish status. Pair state color with explicit text and evidence-derived semantics.
51
+
52
+ Keep data mode in the application shell. Before a consequential action, show data mode and processing boundary next to the action. Do not hide trust information in help text, a settings page, an obstructive watermark, or an export-only disclaimer.
53
+
54
+ ## Step 4: Preserve Disclosure Through Processing
55
+
56
+ For live work, distinguish connection checking, request acceptance, processing, result delivery, and result provenance. Do not collapse them into one `online` state.
57
+
58
+ For fallback work, preserve data mode, result origin, and limitations in all of these locations:
59
+
60
+ ```text
61
+ shell -> loading -> result -> history -> export
62
+ ```
63
+
64
+ For stale content, preserve the observed timestamp, timezone, scope, and stale label in the result, history, and export. For disconnection, preserve the last usable context, prohibit unsupported current-state claims, and provide a concrete retry, reconnect, import, or offline action.
65
+
66
+ ## Step 5: Preserve History And Export Provenance
67
+
68
+ History and exports must retain the same provenance visible in the interface:
69
+
70
+ - Data mode.
71
+ - Connection state at capture time.
72
+ - Result origin.
73
+ - Freshness timestamp and timezone.
74
+ - Environment.
75
+ - Scope.
76
+ - Limitations, including an explicitly empty limitation set when none are known.
77
+
78
+ An export is incomplete when it strips demo, fallback, cached, imported, stale, or disconnected context. A history row is misleading when it shows success without the processing path and result origin.
79
+
80
+ ## Step 6: Validate And Verify
81
+
82
+ Validate the declaration:
83
+
84
+ ```bash
85
+ npm run validate-trust -- --contract PATH
86
+ ```
87
+
88
+ Or use the MCP tool `validate_interface_trust`.
89
+
90
+ Resolve every error before implementation is treated as trust-complete. Then verify the rendered interface and runtime behavior separately. The contract validator cannot prove that the UI displays a claim, that a source is reachable, that timestamps update, or that users understand the disclosure. Item 6 browser checks and Item 8 attributable review close those evidence gaps.
91
+
92
+ ## Rejection Patterns
93
+
94
+ Reject or remediate these patterns:
95
+
96
+ - `System operational` derived from the frontend mounting successfully.
97
+ - `Connected` derived from a configured URL without a runtime request.
98
+ - `Production` shown because an environment variable has a production-like name.
99
+ - A simulated result displayed after a network failure without persistent fallback disclosure.
100
+ - A cached metric shown without its observed time, timezone, and scope.
101
+ - A history row or export that removes demo, fallback, imported, cached, stale, or disconnected provenance.
102
+ - A realistic credential string or placeholder committed for visual completeness.
103
+ - A watermark that obstructs the task while the shell and result omit readable trust labels.
@@ -0,0 +1,263 @@
1
+ $schema: https://json-schema.org/draft/2020-12/schema
2
+ $id: https://local.ztothez-design-engineering/schemas/interface-trust-1.0.schema.json
3
+ title: ZtotheZ Interface Trust Contract
4
+ description: Version 1.0 contract for interface state truth, operational claims, source traceability, and provenance-preserving records.
5
+ type: object
6
+ additionalProperties: false
7
+ required: [version, id, product, preparedAt, preparedBy, sources, states, claims, actions, records, security]
8
+ properties:
9
+ version:
10
+ const: "1.0"
11
+ id:
12
+ $ref: "#/$defs/id"
13
+ product:
14
+ $ref: "#/$defs/shortText"
15
+ preparedAt:
16
+ type: string
17
+ format: date-time
18
+ preparedBy:
19
+ type: object
20
+ additionalProperties: false
21
+ required: [type, name]
22
+ properties:
23
+ type:
24
+ enum: [agent, human, mixed]
25
+ name:
26
+ $ref: "#/$defs/shortText"
27
+ sources:
28
+ type: array
29
+ minItems: 1
30
+ maxItems: 500
31
+ items:
32
+ $ref: "#/$defs/source"
33
+ states:
34
+ type: array
35
+ minItems: 5
36
+ maxItems: 500
37
+ items:
38
+ $ref: "#/$defs/state"
39
+ claims:
40
+ type: array
41
+ minItems: 1
42
+ maxItems: 5000
43
+ items:
44
+ $ref: "#/$defs/claim"
45
+ actions:
46
+ type: array
47
+ maxItems: 500
48
+ items:
49
+ $ref: "#/$defs/action"
50
+ records:
51
+ type: object
52
+ additionalProperties: false
53
+ required: [history, export]
54
+ properties:
55
+ history:
56
+ $ref: "#/$defs/record"
57
+ export:
58
+ $ref: "#/$defs/record"
59
+ security:
60
+ type: object
61
+ additionalProperties: false
62
+ required: [allowsEmbeddedCredentials, credentialSources]
63
+ properties:
64
+ allowsEmbeddedCredentials:
65
+ const: false
66
+ credentialSources:
67
+ type: array
68
+ minItems: 1
69
+ maxItems: 5
70
+ uniqueItems: true
71
+ items:
72
+ enum: [environment, secret-manager, oauth, user-runtime, none]
73
+ $defs:
74
+ id:
75
+ type: string
76
+ pattern: "^[a-z0-9][a-z0-9-]{0,63}$"
77
+ shortText:
78
+ type: string
79
+ minLength: 1
80
+ maxLength: 256
81
+ text:
82
+ type: string
83
+ minLength: 1
84
+ maxLength: 1024
85
+ idList:
86
+ type: array
87
+ maxItems: 500
88
+ items:
89
+ $ref: "#/$defs/id"
90
+ source:
91
+ type: object
92
+ additionalProperties: false
93
+ required: [id, kind, authority, description]
94
+ properties:
95
+ id:
96
+ $ref: "#/$defs/id"
97
+ kind:
98
+ enum: [runtime-probe, authenticated-api, runtime-processing, user-input, import-record, cache-record, demo-fixture, local-simulation, configuration]
99
+ authority:
100
+ enum: [runtime, user, fixture, cache, configuration]
101
+ description:
102
+ type: string
103
+ minLength: 1
104
+ maxLength: 512
105
+ evidence:
106
+ type: string
107
+ minLength: 1
108
+ maxLength: 1024
109
+ checkedAt:
110
+ type: string
111
+ format: date-time
112
+ freshness:
113
+ type: object
114
+ additionalProperties: false
115
+ required: [status]
116
+ properties:
117
+ status:
118
+ enum: [current, stale, unknown, not-applicable]
119
+ observedAt:
120
+ type: string
121
+ format: date-time
122
+ timezone:
123
+ type: string
124
+ minLength: 1
125
+ maxLength: 128
126
+ allOf:
127
+ - if:
128
+ properties:
129
+ status:
130
+ enum: [current, stale]
131
+ then:
132
+ required: [observedAt, timezone]
133
+ state:
134
+ type: object
135
+ additionalProperties: false
136
+ required: [id, scenario, dataMode, connection, result, freshness, environment, scope, limitations, sourceRefs]
137
+ properties:
138
+ id:
139
+ $ref: "#/$defs/id"
140
+ scenario:
141
+ enum: [demo, live, fallback, stale, disconnected]
142
+ dataMode:
143
+ enum: [demo, live, hybrid, imported, cached]
144
+ connection:
145
+ enum: [unknown, checking, connected, degraded, disconnected]
146
+ result:
147
+ type: object
148
+ additionalProperties: false
149
+ required: [availability]
150
+ properties:
151
+ availability:
152
+ enum: [none, pending, available, partial, failed]
153
+ origin:
154
+ enum: [live, simulated, imported, cached]
155
+ allOf:
156
+ - if:
157
+ properties:
158
+ availability:
159
+ enum: [available, partial]
160
+ then:
161
+ required: [origin]
162
+ else:
163
+ not:
164
+ required: [origin]
165
+ freshness:
166
+ $ref: "#/$defs/freshness"
167
+ environment:
168
+ $ref: "#/$defs/shortText"
169
+ scope:
170
+ type: string
171
+ minLength: 1
172
+ maxLength: 512
173
+ limitations:
174
+ type: array
175
+ maxItems: 30
176
+ items:
177
+ type: string
178
+ minLength: 1
179
+ maxLength: 512
180
+ sourceRefs:
181
+ type: array
182
+ minItems: 1
183
+ maxItems: 50
184
+ items:
185
+ $ref: "#/$defs/id"
186
+ recoveryAction:
187
+ type: string
188
+ minLength: 1
189
+ maxLength: 512
190
+ claim:
191
+ type: object
192
+ additionalProperties: false
193
+ required: [id, state, kind, text, classification, sourceRefs, locations, visibility]
194
+ properties:
195
+ id:
196
+ $ref: "#/$defs/id"
197
+ state:
198
+ $ref: "#/$defs/id"
199
+ kind:
200
+ enum: [data-mode, connection-status, result-origin, freshness, environment, scope, processing-boundary, limitation, interface-availability, backend-availability]
201
+ text:
202
+ $ref: "#/$defs/text"
203
+ classification:
204
+ enum: [verified, demonstration, unknown]
205
+ sourceRefs:
206
+ type: array
207
+ maxItems: 50
208
+ items:
209
+ $ref: "#/$defs/id"
210
+ locations:
211
+ type: array
212
+ minItems: 1
213
+ maxItems: 7
214
+ uniqueItems: true
215
+ items:
216
+ enum: [shell, before-action, loading, result, error, history, export]
217
+ visibility:
218
+ enum: [persistent, contextual]
219
+ action:
220
+ type: object
221
+ additionalProperties: false
222
+ required: [id, label, outcome, consequential, stateRefs, disclosureClaimRefs]
223
+ properties:
224
+ id:
225
+ $ref: "#/$defs/id"
226
+ label:
227
+ type: string
228
+ minLength: 1
229
+ maxLength: 160
230
+ outcome:
231
+ type: string
232
+ minLength: 1
233
+ maxLength: 512
234
+ consequential:
235
+ type: boolean
236
+ stateRefs:
237
+ type: array
238
+ minItems: 1
239
+ maxItems: 50
240
+ items:
241
+ $ref: "#/$defs/id"
242
+ disclosureClaimRefs:
243
+ type: array
244
+ maxItems: 200
245
+ items:
246
+ $ref: "#/$defs/id"
247
+ record:
248
+ type: object
249
+ additionalProperties: false
250
+ required: [enabled, fields, stateRefs, disclosureClaimRefs]
251
+ properties:
252
+ enabled:
253
+ type: boolean
254
+ fields:
255
+ type: array
256
+ maxItems: 7
257
+ uniqueItems: true
258
+ items:
259
+ enum: [data-mode, connection, result-origin, freshness, environment, scope, limitations]
260
+ stateRefs:
261
+ $ref: "#/$defs/idList"
262
+ disclosureClaimRefs:
263
+ $ref: "#/$defs/idList"
@@ -0,0 +1,173 @@
1
+ version: "1.0"
2
+ id: operational-interface-trust-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: demo-dataset
11
+ kind: demo-fixture
12
+ authority: fixture
13
+ description: Versioned demonstration dataset bundled for local evaluation.
14
+ evidence: fixtures/demo-dataset.json
15
+ - id: service-api
16
+ kind: authenticated-api
17
+ authority: runtime
18
+ description: Authenticated application API providing the current scoped dataset.
19
+ evidence: evidence/service-api-contract.json
20
+ checkedAt: 2026-08-26T12:00:00Z
21
+ - id: health-probe
22
+ kind: runtime-probe
23
+ authority: runtime
24
+ description: Runtime connection probe for the application service.
25
+ evidence: evidence/health-probe.json
26
+ checkedAt: 2026-08-26T12:00:00Z
27
+ - id: analysis-engine
28
+ kind: runtime-processing
29
+ authority: runtime
30
+ description: Runtime analysis execution and result metadata.
31
+ evidence: evidence/analysis-run.json
32
+ checkedAt: 2026-08-26T12:00:00Z
33
+ - id: fallback-engine
34
+ kind: local-simulation
35
+ authority: fixture
36
+ description: Explicit local fallback used only after the primary path fails.
37
+ evidence: fixtures/fallback-result.json
38
+ - id: last-known-cache
39
+ kind: cache-record
40
+ authority: cache
41
+ description: Last successful result retained with original scope and observation time.
42
+ evidence: evidence/cache-record.json
43
+ checkedAt: 2026-08-25T09:30:00Z
44
+ - id: deployment-context
45
+ kind: configuration
46
+ authority: configuration
47
+ description: Declared tenant and deployment context; does not establish service availability.
48
+ evidence: evidence/deployment-context.json
49
+
50
+ states:
51
+ - id: demo-ready
52
+ scenario: demo
53
+ dataMode: demo
54
+ connection: unknown
55
+ result: { availability: available, origin: simulated }
56
+ freshness: { status: current, observedAt: 2026-08-26T12:00:00Z, timezone: UTC }
57
+ environment: Demonstration workspace
58
+ scope: Bundled example estate with 142 synthetic resources
59
+ limitations: [Values do not represent an external account or current service state.]
60
+ sourceRefs: [demo-dataset, deployment-context]
61
+ - id: service-ready
62
+ scenario: live
63
+ dataMode: live
64
+ connection: connected
65
+ result: { availability: available, origin: live }
66
+ freshness: { status: current, observedAt: 2026-08-26T12:00:00Z, timezone: UTC }
67
+ environment: Primary tenant prod-eu-west-1
68
+ scope: Authenticated tenant resources returned by the current request
69
+ limitations: [Results cover only resources authorized for the current tenant and request.]
70
+ sourceRefs: [service-api, health-probe, analysis-engine, deployment-context]
71
+ - id: local-fallback
72
+ scenario: fallback
73
+ dataMode: hybrid
74
+ connection: degraded
75
+ result: { availability: available, origin: simulated }
76
+ freshness: { status: current, observedAt: 2026-08-26T12:00:00Z, timezone: UTC }
77
+ environment: Primary tenant with local fallback
78
+ scope: Current request inputs evaluated by the local fallback fixture
79
+ limitations: [Primary processing failed; the displayed result is simulated and cannot establish external state.]
80
+ sourceRefs: [service-api, health-probe, fallback-engine, deployment-context]
81
+ recoveryAction: Retry primary analysis or continue with the labeled local result.
82
+ - id: cached-stale
83
+ scenario: stale
84
+ dataMode: cached
85
+ connection: unknown
86
+ result: { availability: available, origin: cached }
87
+ freshness: { status: stale, observedAt: 2026-08-25T09:30:00Z, timezone: UTC }
88
+ environment: Primary tenant last-known snapshot
89
+ scope: Resources included in the last successful scoped request
90
+ limitations: [Changes after the recorded observation time are not included.]
91
+ sourceRefs: [last-known-cache, deployment-context]
92
+ recoveryAction: Refresh the snapshot when a service connection is available.
93
+ - id: service-disconnected
94
+ scenario: disconnected
95
+ dataMode: cached
96
+ connection: disconnected
97
+ result: { availability: partial, origin: cached }
98
+ freshness: { status: stale, observedAt: 2026-08-25T09:30:00Z, timezone: UTC }
99
+ environment: Primary tenant offline view
100
+ scope: Last-known resources from the previous successful request
101
+ limitations: [Current external state is unavailable; only the last-known cached result is shown.]
102
+ sourceRefs: [last-known-cache, health-probe, deployment-context]
103
+ recoveryAction: Retry the connection while preserving the current cached context.
104
+
105
+ claims:
106
+ - { id: demo-mode, state: demo-ready, kind: data-mode, text: "Demo dataset", classification: demonstration, sourceRefs: [demo-dataset], locations: [shell, before-action, result, history, export], visibility: persistent }
107
+ - { id: demo-connection, state: demo-ready, kind: connection-status, text: "Connection has not been checked", classification: unknown, sourceRefs: [], locations: [shell, before-action, result, history, export], visibility: persistent }
108
+ - { id: demo-origin, state: demo-ready, kind: result-origin, text: "Simulated result from the bundled fixture", classification: demonstration, sourceRefs: [demo-dataset], locations: [result, history, export], visibility: contextual }
109
+ - { id: demo-freshness, state: demo-ready, kind: freshness, text: "Fixture observed 2026-08-26 12:00 UTC", classification: demonstration, sourceRefs: [demo-dataset], locations: [result, history, export], visibility: contextual }
110
+ - { id: demo-environment, state: demo-ready, kind: environment, text: "Demonstration workspace", classification: verified, sourceRefs: [deployment-context], locations: [shell, result, history, export], visibility: persistent }
111
+ - { id: demo-scope, state: demo-ready, kind: scope, text: "142 synthetic resources", classification: demonstration, sourceRefs: [demo-dataset], locations: [before-action, result, history, export], visibility: contextual }
112
+ - { id: demo-limitation, state: demo-ready, kind: limitation, text: "Values do not represent an external account", classification: demonstration, sourceRefs: [demo-dataset], locations: [result, history, export], visibility: contextual }
113
+ - { id: demo-processing, state: demo-ready, kind: processing-boundary, text: "Analysis uses the bundled fixture on this device", classification: demonstration, sourceRefs: [demo-dataset], locations: [before-action, loading, result], visibility: contextual }
114
+
115
+ - { id: live-mode, state: service-ready, kind: data-mode, text: "Live tenant data", classification: verified, sourceRefs: [service-api], locations: [shell, before-action, result, history, export], visibility: persistent }
116
+ - { id: live-connection, state: service-ready, kind: connection-status, text: "Connected to the application service", classification: verified, sourceRefs: [health-probe], locations: [shell, before-action, loading, result, history, export], visibility: persistent }
117
+ - { id: live-origin, state: service-ready, kind: result-origin, text: "Live result from the runtime analysis", classification: verified, sourceRefs: [analysis-engine], locations: [result, history, export], visibility: contextual }
118
+ - { id: live-freshness, state: service-ready, kind: freshness, text: "Observed 2026-08-26 12:00 UTC", classification: verified, sourceRefs: [service-api], locations: [result, history, export], visibility: contextual }
119
+ - { id: live-environment, state: service-ready, kind: environment, text: "Primary tenant prod-eu-west-1", classification: verified, sourceRefs: [deployment-context], locations: [shell, result, history, export], visibility: persistent }
120
+ - { id: live-scope, state: service-ready, kind: scope, text: "Resources authorized for the current tenant request", classification: verified, sourceRefs: [service-api], locations: [before-action, result, history, export], visibility: contextual }
121
+ - { id: live-limitation, state: service-ready, kind: limitation, text: "Results exclude resources outside current tenant authorization", classification: verified, sourceRefs: [deployment-context], locations: [result, history, export], visibility: contextual }
122
+ - { id: live-processing, state: service-ready, kind: processing-boundary, text: "The application service processes this request", classification: verified, sourceRefs: [analysis-engine], locations: [before-action, loading, result], visibility: contextual }
123
+
124
+ - { id: fallback-mode, state: local-fallback, kind: data-mode, text: "Hybrid mode using local fallback", classification: verified, sourceRefs: [service-api, fallback-engine], locations: [shell, before-action, loading, result, history, export], visibility: persistent }
125
+ - { id: fallback-connection, state: local-fallback, kind: connection-status, text: "Service degraded", classification: verified, sourceRefs: [health-probe], locations: [shell, before-action, loading, result, history, export], visibility: persistent }
126
+ - { id: fallback-origin, state: local-fallback, kind: result-origin, text: "Simulated result from the local fallback", classification: demonstration, sourceRefs: [fallback-engine], locations: [loading, result, history, export], visibility: persistent }
127
+ - { id: fallback-freshness, state: local-fallback, kind: freshness, text: "Fallback generated 2026-08-26 12:00 UTC", classification: demonstration, sourceRefs: [fallback-engine], locations: [result, history, export], visibility: contextual }
128
+ - { id: fallback-environment, state: local-fallback, kind: environment, text: "Primary tenant with local fallback", classification: verified, sourceRefs: [deployment-context], locations: [shell, result, history, export], visibility: persistent }
129
+ - { id: fallback-scope, state: local-fallback, kind: scope, text: "Current inputs evaluated by the local fixture", classification: demonstration, sourceRefs: [fallback-engine], locations: [before-action, result, history, export], visibility: contextual }
130
+ - { id: fallback-limitation, state: local-fallback, kind: limitation, text: "Primary processing failed; this result cannot establish external state", classification: demonstration, sourceRefs: [fallback-engine], locations: [loading, result, history, export], visibility: persistent }
131
+ - { id: fallback-processing, state: local-fallback, kind: processing-boundary, text: "The local fallback processes this request", classification: demonstration, sourceRefs: [fallback-engine], locations: [before-action, loading, result], visibility: contextual }
132
+
133
+ - { id: stale-mode, state: cached-stale, kind: data-mode, text: "Cached snapshot", classification: verified, sourceRefs: [last-known-cache], locations: [shell, before-action, result, history, export], visibility: persistent }
134
+ - { id: stale-connection, state: cached-stale, kind: connection-status, text: "Current connection state is unknown", classification: unknown, sourceRefs: [], locations: [shell, before-action, result, history, export], visibility: persistent }
135
+ - { id: stale-origin, state: cached-stale, kind: result-origin, text: "Cached result from the last successful request", classification: verified, sourceRefs: [last-known-cache], locations: [result, history, export], visibility: contextual }
136
+ - { id: stale-freshness, state: cached-stale, kind: freshness, text: "Stale since 2026-08-25 09:30 UTC", classification: verified, sourceRefs: [last-known-cache], locations: [shell, result, history, export], visibility: persistent }
137
+ - { id: stale-environment, state: cached-stale, kind: environment, text: "Primary tenant last-known snapshot", classification: verified, sourceRefs: [deployment-context], locations: [shell, result, history, export], visibility: persistent }
138
+ - { id: stale-scope, state: cached-stale, kind: scope, text: "Resources in the last successful request", classification: verified, sourceRefs: [last-known-cache], locations: [before-action, result, history, export], visibility: contextual }
139
+ - { id: stale-limitation, state: cached-stale, kind: limitation, text: "Changes after the observation time are not included", classification: verified, sourceRefs: [last-known-cache], locations: [result, history, export], visibility: persistent }
140
+ - { id: stale-processing, state: cached-stale, kind: processing-boundary, text: "No new external processing occurs while viewing this snapshot", classification: verified, sourceRefs: [last-known-cache], locations: [before-action, loading, result], visibility: contextual }
141
+
142
+ - { id: disconnected-mode, state: service-disconnected, kind: data-mode, text: "Cached offline view", classification: verified, sourceRefs: [last-known-cache], locations: [shell, before-action, result, history, export], visibility: persistent }
143
+ - { id: disconnected-connection, state: service-disconnected, kind: connection-status, text: "Disconnected from the application service", classification: verified, sourceRefs: [health-probe], locations: [shell, before-action, error, result, history, export], visibility: persistent }
144
+ - { id: disconnected-origin, state: service-disconnected, kind: result-origin, text: "Cached result from the previous request", classification: verified, sourceRefs: [last-known-cache], locations: [result, history, export], visibility: contextual }
145
+ - { id: disconnected-freshness, state: service-disconnected, kind: freshness, text: "Stale since 2026-08-25 09:30 UTC", classification: verified, sourceRefs: [last-known-cache], locations: [shell, result, history, export], visibility: persistent }
146
+ - { id: disconnected-environment, state: service-disconnected, kind: environment, text: "Primary tenant offline view", classification: verified, sourceRefs: [deployment-context], locations: [shell, result, history, export], visibility: persistent }
147
+ - { id: disconnected-scope, state: service-disconnected, kind: scope, text: "Last-known resources from the previous request", classification: verified, sourceRefs: [last-known-cache], locations: [before-action, result, history, export], visibility: contextual }
148
+ - { id: disconnected-limitation, state: service-disconnected, kind: limitation, text: "Current external state is unavailable", classification: verified, sourceRefs: [health-probe], locations: [error, result, history, export], visibility: persistent }
149
+ - { id: disconnected-processing, state: service-disconnected, kind: processing-boundary, text: "Retry requires restoring the service connection", classification: verified, sourceRefs: [health-probe], locations: [before-action, error, result], visibility: contextual }
150
+
151
+ actions:
152
+ - id: run-analysis
153
+ label: Run analysis
154
+ outcome: Produce a scoped result whose processing path and provenance remain visible.
155
+ consequential: true
156
+ stateRefs: [demo-ready, service-ready, local-fallback, cached-stale, service-disconnected]
157
+ disclosureClaimRefs: [demo-mode, demo-processing, live-mode, live-processing, fallback-mode, fallback-processing, stale-mode, stale-processing, disconnected-mode, disconnected-processing]
158
+
159
+ records:
160
+ history:
161
+ enabled: true
162
+ fields: [data-mode, connection, result-origin, freshness, environment, scope, limitations]
163
+ stateRefs: [demo-ready, service-ready, local-fallback, cached-stale, service-disconnected]
164
+ disclosureClaimRefs: [demo-mode, demo-connection, demo-origin, demo-freshness, demo-environment, demo-scope, demo-limitation, live-mode, live-connection, live-origin, live-freshness, live-environment, live-scope, live-limitation, fallback-mode, fallback-connection, fallback-origin, fallback-freshness, fallback-environment, fallback-scope, fallback-limitation, stale-mode, stale-connection, stale-origin, stale-freshness, stale-environment, stale-scope, stale-limitation, disconnected-mode, disconnected-connection, disconnected-origin, disconnected-freshness, disconnected-environment, disconnected-scope, disconnected-limitation]
165
+ export:
166
+ enabled: true
167
+ fields: [data-mode, connection, result-origin, freshness, environment, scope, limitations]
168
+ stateRefs: [demo-ready, service-ready, local-fallback, cached-stale, service-disconnected]
169
+ disclosureClaimRefs: [demo-mode, demo-connection, demo-origin, demo-freshness, demo-environment, demo-scope, demo-limitation, live-mode, live-connection, live-origin, live-freshness, live-environment, live-scope, live-limitation, fallback-mode, fallback-connection, fallback-origin, fallback-freshness, fallback-environment, fallback-scope, fallback-limitation, stale-mode, stale-connection, stale-origin, stale-freshness, stale-environment, stale-scope, stale-limitation, disconnected-mode, disconnected-connection, disconnected-origin, disconnected-freshness, disconnected-environment, disconnected-scope, disconnected-limitation]
170
+
171
+ security:
172
+ allowsEmbeddedCredentials: false
173
+ credentialSources: [environment, secret-manager, oauth]