@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,105 @@
1
+ $schema: https://json-schema.org/draft/2020-12/schema
2
+ $id: https://ztothez.dev/schemas/product-task-profile-1.1.schema.json
3
+ title: ZtotheZ Design Engineering Product Task Profile
4
+ type: object
5
+ additionalProperties: false
6
+ required: [archetype, interface, qualityDimensions, tasks, evidencePolicy, comparison]
7
+ properties:
8
+ archetype:
9
+ enum: [operational-dashboard, ai-workspace, content-site, utility, full-stack-workflow]
10
+ interface: { enum: [browser, desktop, source-only] }
11
+ qualityDimensions:
12
+ type: array
13
+ minItems: 7
14
+ maxItems: 7
15
+ items: { $ref: "#/$defs/qualityDimension" }
16
+ tasks:
17
+ type: array
18
+ minItems: 1
19
+ maxItems: 50
20
+ items: { $ref: "#/$defs/task" }
21
+ evidencePolicy:
22
+ type: object
23
+ additionalProperties: false
24
+ required: [missingEvidence, failedBehavior, unsupportedCapability]
25
+ properties:
26
+ missingEvidence: { const: unverified }
27
+ failedBehavior: { const: failed }
28
+ unsupportedCapability: { const: limitation }
29
+ comparison:
30
+ type: object
31
+ additionalProperties: false
32
+ required: [taskContractId, crossContractRanking]
33
+ properties:
34
+ taskContractId: { $ref: "#/$defs/id" }
35
+ crossContractRanking: { const: false }
36
+ $defs:
37
+ id:
38
+ type: string
39
+ pattern: "^[a-z0-9][a-z0-9-]{0,63}$"
40
+ text:
41
+ type: string
42
+ minLength: 1
43
+ maxLength: 1024
44
+ state:
45
+ type: object
46
+ additionalProperties: false
47
+ required: [stateMachine, state, observable]
48
+ properties:
49
+ stateMachine: { $ref: "#/$defs/id" }
50
+ state: { $ref: "#/$defs/id" }
51
+ observable: { $ref: "#/$defs/text" }
52
+ qualityDimension:
53
+ type: object
54
+ additionalProperties: false
55
+ required: [id, status, reason]
56
+ properties:
57
+ id:
58
+ enum: [truthful-disclosure, information-design, visual-system, accessibility, responsive-structure, state-integrity, maintainability]
59
+ status: { enum: [required, not-applicable] }
60
+ reason: { type: string, minLength: 1, maxLength: 512 }
61
+ task:
62
+ type: object
63
+ additionalProperties: false
64
+ required: [id, primary, actor, mode, intent, start, success, recovery]
65
+ properties:
66
+ id: { $ref: "#/$defs/id" }
67
+ primary: { type: boolean }
68
+ actor: { $ref: "#/$defs/id" }
69
+ mode: { $ref: "#/$defs/id" }
70
+ intent: { $ref: "#/$defs/text" }
71
+ start: { $ref: "#/$defs/state" }
72
+ success:
73
+ type: object
74
+ additionalProperties: false
75
+ required: [stateMachine, state, observable, evidence]
76
+ properties:
77
+ stateMachine: { $ref: "#/$defs/id" }
78
+ state: { $ref: "#/$defs/id" }
79
+ observable: { $ref: "#/$defs/text" }
80
+ evidence:
81
+ type: array
82
+ minItems: 1
83
+ items: { enum: [contract, runtime, network, export, manual-review] }
84
+ recovery:
85
+ type: object
86
+ additionalProperties: false
87
+ required: [required, failure, observable]
88
+ properties:
89
+ required: { type: boolean }
90
+ failure: { $ref: "#/$defs/state" }
91
+ observable: { $ref: "#/$defs/text" }
92
+ journey:
93
+ type: object
94
+ additionalProperties: false
95
+ required: [profile, journey]
96
+ properties:
97
+ profile: { $ref: "#/$defs/id" }
98
+ journey: { $ref: "#/$defs/id" }
99
+ browser:
100
+ type: object
101
+ additionalProperties: false
102
+ required: [route, narrowViewport]
103
+ properties:
104
+ route: { type: string, pattern: "^/(?!/)", maxLength: 1024 }
105
+ narrowViewport: { type: string, minLength: 1, maxLength: 128 }
@@ -0,0 +1,188 @@
1
+ $schema: https://json-schema.org/draft/2020-12/schema
2
+ $id: https://ztothez.dev/schemas/portfolio-registry-1.0.schema.json
3
+ title: ZtotheZ Design Engineering Local Portfolio Registry
4
+ type: object
5
+ additionalProperties: false
6
+ required: [version, id, description, roots, projects]
7
+ properties:
8
+ version: { const: "1.0" }
9
+ id: { $ref: "#/$defs/id" }
10
+ description: { type: string, minLength: 1, maxLength: 1024 }
11
+ roots:
12
+ type: array
13
+ minItems: 1
14
+ maxItems: 20
15
+ items: { $ref: "#/$defs/root" }
16
+ projects:
17
+ type: array
18
+ maxItems: 500
19
+ items: { $ref: "#/$defs/project" }
20
+ $defs:
21
+ id:
22
+ type: string
23
+ pattern: "^[a-z0-9][a-z0-9-]{0,63}$"
24
+ text:
25
+ type: string
26
+ minLength: 1
27
+ maxLength: 1024
28
+ relativePattern:
29
+ type: string
30
+ minLength: 1
31
+ maxLength: 1024
32
+ pattern: "^(?!/)(?![A-Za-z]:[\\\\/])(?!.*(?:^|[\\\\/])\\.\\.(?:[\\\\/]|$))[^\\u0000]+$"
33
+ publication:
34
+ type: object
35
+ additionalProperties: false
36
+ required: [sourceExcerpts, screenshots, machineReports, aggregateMetrics]
37
+ properties:
38
+ sourceExcerpts: { type: boolean }
39
+ screenshots: { type: boolean }
40
+ machineReports: { type: boolean }
41
+ aggregateMetrics: { type: boolean }
42
+ root:
43
+ type: object
44
+ additionalProperties: false
45
+ required: [id, class, path]
46
+ properties:
47
+ id: { $ref: "#/$defs/id" }
48
+ class:
49
+ enum: [studio-clients, studio-fullstack, studio-personal, studio-portfolio, ai, apps]
50
+ path: { type: string, minLength: 1, maxLength: 4096 }
51
+ discoveryDepth: { type: integer, minimum: 1, maximum: 12, default: 4 }
52
+ excludes:
53
+ type: array
54
+ maxItems: 100
55
+ default: []
56
+ items: { $ref: "#/$defs/relativePattern" }
57
+ capability:
58
+ type: object
59
+ additionalProperties: false
60
+ required: [stage, status, reason]
61
+ properties:
62
+ stage:
63
+ enum: [source-audit, typecheck, lint, unit-test, production-build, local-fixture-server, browser-journeys, export-verification]
64
+ status: { enum: [supported, unsupported, not-applicable] }
65
+ reason: { type: string, minLength: 1, maxLength: 512 }
66
+ adapterCommand:
67
+ type: object
68
+ additionalProperties: false
69
+ required: [stage, command]
70
+ properties:
71
+ stage:
72
+ enum: [source-audit, typecheck, lint, unit-test, production-build, local-fixture-server, browser-journeys, export-verification]
73
+ command:
74
+ type: string
75
+ pattern: "^[A-Za-z0-9][A-Za-z0-9._+-]{0,127}$"
76
+ arguments:
77
+ type: array
78
+ maxItems: 50
79
+ default: []
80
+ items: { type: string, minLength: 1, maxLength: 512 }
81
+ cwd: { allOf: [{ $ref: "#/$defs/relativePattern" }], default: "." }
82
+ timeoutMs: { type: integer, minimum: 100, maximum: 1800000, default: 120000 }
83
+ maxOutputBytes: { type: integer, minimum: 1024, maximum: 33554432, default: 2097152 }
84
+ allowDependencyNetwork: { type: boolean, default: false }
85
+ project:
86
+ type: object
87
+ additionalProperties: false
88
+ required: [id, root, path, enabled, ownership, confidentiality, cohort, publication, product, technology, capabilities, execution, paths, source]
89
+ properties:
90
+ id: { $ref: "#/$defs/id" }
91
+ root: { $ref: "#/$defs/id" }
92
+ path: { $ref: "#/$defs/relativePattern" }
93
+ enabled: { type: boolean }
94
+ ownership: { enum: [first-party, client-authorized, third-party-reference, unknown] }
95
+ authorizationEvidence: { type: string, minLength: 1, maxLength: 1024 }
96
+ confidentiality: { enum: [public, private-local, restricted] }
97
+ cohort: { enum: [development, holdout, excluded] }
98
+ publication: { $ref: "#/$defs/publication" }
99
+ product:
100
+ type: object
101
+ additionalProperties: false
102
+ required: [domain, archetype, intendedUsers, primaryTasks]
103
+ properties:
104
+ domain: { type: string, minLength: 1, maxLength: 128 }
105
+ archetype: { enum: [operational-dashboard, ai-workspace, content-site, utility, full-stack-workflow, other] }
106
+ intendedUsers:
107
+ type: array
108
+ minItems: 1
109
+ maxItems: 20
110
+ items: { type: string, minLength: 1, maxLength: 256 }
111
+ primaryTasks:
112
+ type: array
113
+ minItems: 1
114
+ maxItems: 20
115
+ items: { type: string, minLength: 1, maxLength: 512 }
116
+ technology:
117
+ type: object
118
+ additionalProperties: false
119
+ required: [framework, packageManager, entrypoint]
120
+ properties:
121
+ framework: { type: string, minLength: 1, maxLength: 128 }
122
+ packageManager: { enum: [npm, pnpm, yarn, bun, pip, poetry, none, other] }
123
+ entrypoint: { $ref: "#/$defs/relativePattern" }
124
+ adapter: { enum: [react-vite, nextjs, angular, static-web, node-python-fullstack, python-source] }
125
+ capabilities:
126
+ type: array
127
+ minItems: 1
128
+ maxItems: 8
129
+ items: { $ref: "#/$defs/capability" }
130
+ execution:
131
+ type: object
132
+ additionalProperties: false
133
+ required: [fixtureMode, networkPolicy, lifecycleScripts]
134
+ properties:
135
+ fixtureMode: { enum: [local-fixture, disconnected, not-applicable] }
136
+ networkPolicy: { enum: [denied, dependency-install-only] }
137
+ lifecycleScripts: { type: boolean }
138
+ allowedEnvironmentVariables:
139
+ type: array
140
+ maxItems: 50
141
+ default: []
142
+ items: { type: string, pattern: "^[A-Z][A-Z0-9_]{0,127}$" }
143
+ localPorts:
144
+ type: array
145
+ maxItems: 20
146
+ default: []
147
+ items: { type: integer, minimum: 1, maximum: 65535 }
148
+ commands:
149
+ type: array
150
+ maxItems: 8
151
+ default: []
152
+ items: { $ref: "#/$defs/adapterCommand" }
153
+ verification:
154
+ type: object
155
+ additionalProperties: false
156
+ required: [serveDirectory, port, contractPath, profile]
157
+ properties:
158
+ serveDirectory: { $ref: "#/$defs/relativePattern" }
159
+ port: { type: integer, minimum: 1, maximum: 65535 }
160
+ route: { type: string, pattern: "^/[^/].*|^/$", maxLength: 2048, default: "/" }
161
+ readinessPath: { type: string, pattern: "^/[^/].*|^/$", maxLength: 2048, default: "/" }
162
+ contractPath: { $ref: "#/$defs/relativePattern" }
163
+ profile: { $ref: "#/$defs/id" }
164
+ attestationsPath: { $ref: "#/$defs/relativePattern" }
165
+ heuristicReviewPath: { $ref: "#/$defs/relativePattern" }
166
+ settleMs: { type: integer, minimum: 0, maximum: 30000, default: 500 }
167
+ paths:
168
+ type: object
169
+ additionalProperties: false
170
+ required: [include]
171
+ properties:
172
+ include:
173
+ type: array
174
+ minItems: 1
175
+ maxItems: 100
176
+ items: { $ref: "#/$defs/relativePattern" }
177
+ exclude:
178
+ type: array
179
+ maxItems: 200
180
+ default: []
181
+ items: { $ref: "#/$defs/relativePattern" }
182
+ source:
183
+ type: object
184
+ additionalProperties: false
185
+ required: [revisionPolicy, canonicalizationKey]
186
+ properties:
187
+ revisionPolicy: { enum: [capture-current, require-clean] }
188
+ canonicalizationKey: { $ref: "#/$defs/id" }
@@ -0,0 +1,63 @@
1
+ version: "1.0"
2
+ id: local-product-portfolio
3
+ description: Local-only project registry for non-destructive design-engineering benchmarks.
4
+
5
+ roots:
6
+ - id: studio-portfolio
7
+ class: studio-portfolio
8
+ path: /absolute/path/to/Studio/portfolio
9
+ discoveryDepth: 4
10
+ excludes: [captures, captures/**, backups, backups/**]
11
+
12
+ projects:
13
+ - id: example-product
14
+ root: studio-portfolio
15
+ path: example-product
16
+ enabled: false
17
+ ownership: first-party
18
+ confidentiality: private-local
19
+ cohort: excluded
20
+ publication:
21
+ sourceExcerpts: false
22
+ screenshots: false
23
+ machineReports: false
24
+ aggregateMetrics: true
25
+ product:
26
+ domain: Example product domain
27
+ archetype: operational-dashboard
28
+ intendedUsers: [Primary operator]
29
+ primaryTasks: [Complete the primary product workflow]
30
+ technology:
31
+ framework: React
32
+ packageManager: npm
33
+ entrypoint: package.json
34
+ adapter: react-vite
35
+ capabilities:
36
+ - stage: source-audit
37
+ status: supported
38
+ reason: Source files are available for read-only inspection.
39
+ - stage: browser-journeys
40
+ status: unsupported
41
+ reason: No local fixture route has been declared yet.
42
+ execution:
43
+ fixtureMode: disconnected
44
+ networkPolicy: denied
45
+ lifecycleScripts: false
46
+ allowedEnvironmentVariables: []
47
+ localPorts: []
48
+ commands: []
49
+ # Enable only when the snapshot contains a safe static fixture and product contract.
50
+ # verification:
51
+ # serveDirectory: dist
52
+ # port: 4173
53
+ # route: /
54
+ # readinessPath: /
55
+ # contractPath: benchmark/product-contract.yaml
56
+ # profile: responsive-overview
57
+ # settleMs: 500
58
+ paths:
59
+ include: ["**"]
60
+ exclude: []
61
+ source:
62
+ revisionPolicy: capture-current
63
+ canonicalizationKey: example-product
@@ -0,0 +1,10 @@
1
+ {
2
+ "version": "1.0.0",
3
+ "ruleId": "ZTDE-ARCH-001",
4
+ "expected": "abstained",
5
+ "applicable": false,
6
+ "fileName": "calculation.ts",
7
+ "prefix": ["export function calculate() {"],
8
+ "repeat": { "line": " // Non-rendering calculation step.", "count": 410 },
9
+ "suffix": [" return 1;", "}"]
10
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "version": "1.0.0",
3
+ "ruleId": "ZTDE-ARCH-001",
4
+ "expected": "detected",
5
+ "applicable": true,
6
+ "fileName": "LargePanel.tsx",
7
+ "prefix": ["export function LargePanel() {", " return (", " <section>"],
8
+ "repeat": { "line": " <span>Repeated responsibility</span>", "count": 401 },
9
+ "suffix": [" </section>", " );", "}"]
10
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "version": "1.0.0",
3
+ "ruleId": "ZTDE-ARCH-001",
4
+ "expected": "accepted",
5
+ "applicable": true,
6
+ "fileName": "Panel.tsx",
7
+ "prefix": ["export function Panel() {", " return <section>Focused panel</section>;"],
8
+ "repeat": { "line": "", "count": 0 },
9
+ "suffix": ["}"]
10
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "version": "1.0.0",
3
+ "ruleId": "ZTDE-SLOP-003",
4
+ "expected": "abstained",
5
+ "applicable": false,
6
+ "fileName": "Action.test.tsx",
7
+ "prefix": ["export function TestFixture() {", " return <button type=\"button\">Test-only control</button>;"],
8
+ "repeat": { "line": "", "count": 0 },
9
+ "suffix": ["}"]
10
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "version": "1.0.0",
3
+ "ruleId": "ZTDE-SLOP-003",
4
+ "expected": "detected",
5
+ "applicable": true,
6
+ "fileName": "Action.tsx",
7
+ "prefix": ["export function Action() {", " return <button type=\"button\">Run</button>;"],
8
+ "repeat": { "line": "", "count": 0 },
9
+ "suffix": ["}"]
10
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "version": "1.0.0",
3
+ "ruleId": "ZTDE-SLOP-003",
4
+ "expected": "accepted",
5
+ "applicable": true,
6
+ "fileName": "Action.tsx",
7
+ "prefix": ["export function Action() {", " return <button type=\"button\" onClick={() => undefined}>Run</button>;"],
8
+ "repeat": { "line": "", "count": 0 },
9
+ "suffix": ["}"]
10
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "version": "1.0.0",
3
+ "ruleId": "ZTDE-DESIGN-001",
4
+ "expected": "abstained",
5
+ "applicable": false,
6
+ "fileName": "generated-chart.ts",
7
+ "prefix": ["export function draw(ctx: CanvasRenderingContext2D) {", " ctx.fillStyle = '#ff0000';", " ctx.strokeStyle = '#00ff00';", " ctx.fillRect(0, 0, 24, 24);"],
8
+ "repeat": { "line": "", "count": 0 },
9
+ "suffix": ["}"]
10
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "version": "1.0.0",
3
+ "ruleId": "ZTDE-DESIGN-001",
4
+ "expected": "detected",
5
+ "applicable": true,
6
+ "fileName": "panel.css",
7
+ "prefix": [".panel {", " color: #121212;", " padding: 24px;", " border-radius: 8px;"],
8
+ "repeat": { "line": "", "count": 0 },
9
+ "suffix": ["}"]
10
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "version": "1.0.0",
3
+ "ruleId": "ZTDE-DESIGN-001",
4
+ "expected": "accepted",
5
+ "applicable": true,
6
+ "fileName": "tokens.css",
7
+ "prefix": [":root {", " --surface: #ffffff;", " --space-panel: 24px;", " --radius-panel: 8px;"],
8
+ "repeat": { "line": "", "count": 0 },
9
+ "suffix": ["}"]
10
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "version": "1.0.0",
3
+ "candidateId": "replace-candidate",
4
+ "projectId": "replace-holdout-project",
5
+ "reportCode": "REPLACE_REPORT_CODE",
6
+ "holdoutRunId": "replace-holdout-run",
7
+ "sourceDigest": "0000000000000000000000000000000000000000000000000000000000000000",
8
+ "ruleExecuted": false,
9
+ "applicable": false,
10
+ "status": "abstained",
11
+ "findingIds": [],
12
+ "regressionGatesPassed": false,
13
+ "reason": "Replace with the candidate-specific holdout result and retained evidence boundary."
14
+ }
@@ -0,0 +1,24 @@
1
+ {
2
+ "version": "1.0.0",
3
+ "fixtures": {
4
+ "positive": { "path": "replace/positive-fixture", "sha256": "0000000000000000000000000000000000000000000000000000000000000000", "outcome": "accepted" },
5
+ "negative": { "path": "replace/negative-fixture", "sha256": "0000000000000000000000000000000000000000000000000000000000000000", "outcome": "detected" },
6
+ "abstention": { "path": "replace/abstention-fixture", "sha256": "0000000000000000000000000000000000000000000000000000000000000000", "outcome": "abstained" }
7
+ },
8
+ "existingGates": [
9
+ { "id": "v1-v2", "passed": false, "evidence": { "path": "replace/v1-v2-report", "sha256": "0000000000000000000000000000000000000000000000000000000000000000" } },
10
+ { "id": "retrieval", "passed": false, "evidence": { "path": "replace/retrieval-report", "sha256": "0000000000000000000000000000000000000000000000000000000000000000" } },
11
+ { "id": "corpus", "passed": false, "evidence": { "path": "replace/corpus-report", "sha256": "0000000000000000000000000000000000000000000000000000000000000000" } },
12
+ { "id": "mcp", "passed": false, "evidence": { "path": "replace/mcp-report", "sha256": "0000000000000000000000000000000000000000000000000000000000000000" } },
13
+ { "id": "package", "passed": false, "evidence": { "path": "replace/package-report", "sha256": "0000000000000000000000000000000000000000000000000000000000000000" } },
14
+ { "id": "independence", "passed": false, "evidence": { "path": "replace/independence-report", "sha256": "0000000000000000000000000000000000000000000000000000000000000000" } }
15
+ ],
16
+ "holdoutEvaluations": [
17
+ { "projectId": "replace-holdout-project", "status": "abstained", "evidence": { "path": "replace/holdout-evaluation-report", "sha256": "0000000000000000000000000000000000000000000000000000000000000000" } }
18
+ ],
19
+ "promotedArtifacts": {
20
+ "documentation": { "path": "replace/rule-documentation", "sha256": "0000000000000000000000000000000000000000000000000000000000000000" },
21
+ "test": { "path": "replace/rule-test", "sha256": "0000000000000000000000000000000000000000000000000000000000000000" },
22
+ "migrationGuidance": "Replace with independently authored migration guidance."
23
+ }
24
+ }
@@ -0,0 +1,17 @@
1
+ {
2
+ "version": "1.0.0",
3
+ "id": "replace-command-evidence-id",
4
+ "command": ["replace-command", "replace-argument"],
5
+ "startedAt": "1970-01-01T00:00:00.000Z",
6
+ "completedAt": "1970-01-01T00:00:00.000Z",
7
+ "exitCode": 1,
8
+ "passed": false,
9
+ "stdout": {
10
+ "path": "replace/stdout.log",
11
+ "sha256": "0000000000000000000000000000000000000000000000000000000000000000"
12
+ },
13
+ "stderr": {
14
+ "path": "replace/stderr.log",
15
+ "sha256": "0000000000000000000000000000000000000000000000000000000000000000"
16
+ }
17
+ }
@@ -0,0 +1,29 @@
1
+ {
2
+ "version": "1.0.0",
3
+ "ciFixtures": {
4
+ "registryViolations": { "passed": false, "evidence": { "path": "replace/registry-fixture-report", "sha256": "0000000000000000000000000000000000000000000000000000000000000000" } },
5
+ "snapshotViolations": { "passed": false, "evidence": { "path": "replace/snapshot-fixture-report", "sha256": "0000000000000000000000000000000000000000000000000000000000000000" } },
6
+ "adapterCases": { "passed": false, "evidence": { "path": "replace/adapter-fixture-report", "sha256": "0000000000000000000000000000000000000000000000000000000000000000" } },
7
+ "comparisonSafety": { "passed": false, "evidence": { "path": "replace/comparison-fixture-report", "sha256": "0000000000000000000000000000000000000000000000000000000000000000" } },
8
+ "privacyBoundaries": { "passed": false, "evidence": { "path": "replace/privacy-fixture-report", "sha256": "0000000000000000000000000000000000000000000000000000000000000000" } },
9
+ "rulePromotionPaths": { "passed": false, "evidence": { "path": "replace/promotion-fixture-report", "sha256": "0000000000000000000000000000000000000000000000000000000000000000" } }
10
+ },
11
+ "releaseGates": {
12
+ "build": { "passed": false, "evidence": { "path": "replace/build-report", "sha256": "0000000000000000000000000000000000000000000000000000000000000000" } },
13
+ "typecheck": { "passed": false, "evidence": { "path": "replace/typecheck-report", "sha256": "0000000000000000000000000000000000000000000000000000000000000000" } },
14
+ "tests": { "passed": false, "evidence": { "path": "replace/tests-report", "sha256": "0000000000000000000000000000000000000000000000000000000000000000" } },
15
+ "packageCheck": { "passed": false, "evidence": { "path": "replace/package-check-report", "sha256": "0000000000000000000000000000000000000000000000000000000000000000" } },
16
+ "packageSmoke": { "passed": false, "evidence": { "path": "replace/package-smoke-report", "sha256": "0000000000000000000000000000000000000000000000000000000000000000" } },
17
+ "independence": { "passed": false, "evidence": { "path": "replace/independence-report", "sha256": "0000000000000000000000000000000000000000000000000000000000000000" } },
18
+ "corpus": { "passed": false, "evidence": { "path": "replace/corpus-report", "sha256": "0000000000000000000000000000000000000000000000000000000000000000" } },
19
+ "offlineRelease": { "passed": false, "evidence": { "path": "replace/offline-release-report", "sha256": "0000000000000000000000000000000000000000000000000000000000000000" } },
20
+ "archiveRemoval": { "passed": false, "evidence": { "path": "replace/archive-removal-report", "sha256": "0000000000000000000000000000000000000000000000000000000000000000" } }
21
+ },
22
+ "benchmarkPaths": {
23
+ "browserOnly": { "passed": false, "evidence": { "path": "replace/browser-only-report", "sha256": "0000000000000000000000000000000000000000000000000000000000000000" } },
24
+ "fullStack": { "passed": false, "evidence": { "path": "replace/full-stack-report", "sha256": "0000000000000000000000000000000000000000000000000000000000000000" } }
25
+ },
26
+ "promotionReports": [],
27
+ "privateLeakageScan": { "passed": false, "evidence": { "path": "replace/private-leakage-report", "sha256": "0000000000000000000000000000000000000000000000000000000000000000" } },
28
+ "claims": []
29
+ }
@@ -0,0 +1,95 @@
1
+ # SceneStart Benchmark Calibration
2
+
3
+ ## Calibration Context
4
+
5
+ - Date: 2026-08-27
6
+ - Application: `/home/ztothez/Studio/portfolio/scenestart`
7
+ - Runtime: local TanStack Start development server at `http://127.0.0.1:4173`
8
+ - Browser: Chromium 151 connected through a loopback CDP endpoint
9
+ - Contract viewports: 320, 390, 768, 1024, and 1440 CSS pixels
10
+ - Human attestations: `local-first-boundary` passed by ZtotheZ, product owner and maintainer
11
+
12
+ ## Final Profile Results
13
+
14
+ | Profile | Journey | Runtime | Acceptance | Gate |
15
+ |---|---:|---:|---:|---:|
16
+ | `studio-export` | 1 of 1 passed | 0 errors, 1 warning | 6 passed | Pass |
17
+ | `guided-workshop` | 1 of 1 passed | 0 errors, 0 warnings | 6 passed | Pass |
18
+ | `learning-persistence` | 1 of 1 passed | 0 errors, 0 warnings | 4 passed | Pass |
19
+ | `release-provenance` | 1 of 1 passed | 0 errors, 0 warnings | 5 passed | Pass |
20
+
21
+ Every profile captured five base-route and five completed-journey screenshots. All four
22
+ journeys completed, including their state assertions and retained download evidence where
23
+ required.
24
+
25
+ The remaining Studio warning is a single early canvas sample without pixel variation. The
26
+ completed journey screenshots contain the rendered production, so this is retained as a timing
27
+ warning rather than suppressed or promoted to a product failure.
28
+
29
+ The aggregate release gate passes all four required profiles and all 10 acceptance criteria with
30
+ zero failed or unverified criteria. The `local-first-boundary` result uses the attributable
31
+ ZtotheZ review in `human-review.md` and `attestations.yaml`; the remaining criteria use contract,
32
+ runtime, accessibility, screenshot, network, and export evidence.
33
+
34
+ ## Remediated Product Findings
35
+
36
+ - Demo Studio now initializes from local storage before the first client render. The completed
37
+ Workshop project therefore arrives in Studio with the same handle and project state.
38
+ - A storage round-trip regression test covers the Workshop-to-Studio transfer.
39
+ - Home actions, footer links, shared support navigation, Studio controls, release actions, and
40
+ release checklist labels now expose stable touch targets.
41
+ - Studio and remix sliders use a 44 CSS pixel interaction area.
42
+ - The visually hidden Studio file input has an explicit accessible name.
43
+ - Release-provenance checkboxes use a 24 CSS pixel control inside a 44 CSS pixel label target.
44
+ - Fixed-height release controls were replaced with growable minimum heights so labels remain
45
+ readable at 200 percent text size.
46
+ - The Studio metadata section is named `Project details`, avoiding an unsupported operational
47
+ status interpretation of the previous `Production` heading.
48
+ - The three interactive Core Demo Craft lessons now expose `CHECK GOAL AND COMPLETE`. An unmet
49
+ goal reveals actionable guidance; a satisfied goal completes only after learner confirmation.
50
+ - The learning journey completes all nine lessons, verifies `PATH COMPLETE`, navigates away, and
51
+ confirms that `9/9 DONE` persists when the route is reopened.
52
+
53
+ ## Verifier Correction
54
+
55
+ The 200 percent text-resize rule previously reported a normal single-line input value as clipped
56
+ when the native control exposed horizontal value scrolling. The rule now evaluates text nodes
57
+ and genuinely constrained buttons while leaving native editable-value scrolling intact. The
58
+ runtime regression fixture contains a long editable value and proves that it is not reported as
59
+ lost content; the existing clipped-text fixture remains detected.
60
+
61
+ Managed environments may start Chromium separately and set
62
+ `ZTOTHEZ_DESIGN_CHROMIUM_CDP_URL` to a loopback HTTP origin such as
63
+ `http://127.0.0.1:9222`. The runtime policy rejects non-loopback hosts, WebSocket URLs,
64
+ credentials, paths, queries, and fragments. Direct Playwright launch remains the default.
65
+
66
+ ## Retained Evidence
67
+
68
+ - `evidence/interface-quality/scenestart/studio-export/`
69
+ - `evidence/interface-quality/scenestart/guided-workshop/`
70
+ - `evidence/interface-quality/scenestart/learning-persistence/`
71
+ - `evidence/interface-quality/scenestart/release-provenance/`
72
+ - `evidence/interface-quality/scenestart/release/`
73
+
74
+ The Studio profile retained the versioned project JSON and standalone HTML production. The
75
+ Workshop profile retained its standalone HTML production. The release profile retained its
76
+ generated `readme.txt`. Blob-based downloads are captured through the verifier's CSP-compatible
77
+ evidence path without weakening SceneStart's CSP.
78
+
79
+ ## Verification Results
80
+
81
+ - SceneStart tests: 21 files and 229 tests passed.
82
+ - SceneStart production build: passed.
83
+ - ZtotheZ regression suite: 65 tests passed, including the runtime verifier through the loopback
84
+ CDP path and the SceneStart contract, profiles, and clean-room authority checks.
85
+ - ZtotheZ TypeScript typecheck, production build, package check, installed-package smoke,
86
+ independence check, archive-removal smoke, release pack, and offline release verification:
87
+ passed.
88
+ - SceneStart lint remains affected by the existing workspace formatting baseline and was not
89
+ treated as evidence produced by this remediation.
90
+
91
+ ## Review Boundary
92
+
93
+ The SceneStart benchmark is complete under its declared maintainer-review evidence model. This
94
+ does not create representative-user evidence or independent comparative validation. Those claims
95
+ remain governed by V2 Item 8 and require their own supplied sessions.