@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,53 @@
1
+ # SceneStart Benchmark Manifest
2
+
3
+ This benchmark defines SceneStart as a local-first demoscene learning and production system. It evaluates task completion, state ownership, export integrity, learning continuity, release provenance, and honest product boundaries. It is not a visual template and does not treat neon styling as evidence of product quality.
4
+
5
+ ## Authority Order
6
+
7
+ 1. The current SceneStart implementation and root README are authoritative for supported behavior, routes, storage, exports, and technology choices.
8
+ 2. `SOURCE-EVIDENCE.md` records the implementation snapshot used to create this benchmark without creating a runtime dependency on the separate SceneStart workspace.
9
+ 3. `product-contract.yaml` is the normalized contract used by ZtotheZ Design Engineering validation tools.
10
+ 4. Current design and responsive behavior may guide presentation, but task integrity and accessible operation override fixed visual composition.
11
+ 5. Historical Hello, Scene! research explains product intent only. It cannot restore obsolete features or override the current implementation.
12
+
13
+ ## Benchmark Boundaries
14
+
15
+ - SceneStart is user-owned source material, not a third-party design-skill dependency.
16
+ - No SceneStart source code is imported or packaged by this benchmark.
17
+ - The benchmark stores independently authored behavioral requirements and source hashes only.
18
+ - The product remains useful without accounts, application databases, analytics, or cloud project storage.
19
+ - External learning links are optional departures from the application, not runtime dependencies of exported productions.
20
+ - SceneStart assists preparation but does not certify originality, rights ownership, competition eligibility, or acceptance by an event organizer.
21
+
22
+ ## Required Profiles
23
+
24
+ | Profile | Product question |
25
+ |---|---|
26
+ | `studio-export` | Can a maker edit a coherent multi-scene project and download both editable and playable artifacts? |
27
+ | `guided-workshop` | Can a beginner complete the six-step guided route and continue with the same project? |
28
+ | `learning-persistence` | Does completed learning progress survive navigation and remain attributable to the same local device state? |
29
+ | `release-provenance` | Can a producer document asset provenance and generate a release readme without implying certification? |
30
+
31
+ The `release-provenance` profile includes a blocker manual-review criterion for the local-first boundary. It must remain `UNVERIFIED` until an attributable human reviews the build and evidence. An AI agent must not create that attestation.
32
+
33
+ ## Commands
34
+
35
+ Validate the benchmark:
36
+
37
+ ```bash
38
+ npm run validate-contract -- \
39
+ --contract knowledge-base/benchmarks/scenestart/product-contract.yaml
40
+ ```
41
+
42
+ Run one profile against an already-running SceneStart application:
43
+
44
+ ```bash
45
+ npm run quality-gate -- \
46
+ --contract knowledge-base/benchmarks/scenestart/product-contract.yaml \
47
+ --repo /home/ztothez/Studio/portfolio/scenestart \
48
+ --url http://127.0.0.1:3000 \
49
+ --profile studio-export \
50
+ --output .ztothez-design-quality-gate/scenestart-studio
51
+ ```
52
+
53
+ Use `attestations.template.yaml` only as an empty structure. Reviewer observations belong in `human-review.template.md` first and may be converted to an attestation only after the named reviewer approves the final wording and evidence.
@@ -0,0 +1,43 @@
1
+ # SceneStart Source Evidence
2
+
3
+ ## Snapshot
4
+
5
+ - Source workspace: `/home/ztothez/Studio/portfolio/scenestart`
6
+ - Observed: 2026-08-26
7
+ - Ownership context: user-owned portfolio project
8
+ - Runtime dependency: none; these paths are provenance references only
9
+ - Current stack: TanStack Start, React, TypeScript, Tailwind CSS, Canvas 2D, browser localStorage
10
+
11
+ ## Observed Product Contracts
12
+
13
+ - `/studio` composes one to eight timed scenes, persists a version 2 project locally, previews the complete timeline, saves an editable JSON recipe, and exports a self-contained HTML production once at least three scenes exist.
14
+ - Studio scene duration is clamped between 2 and 60 seconds. Total duration is derived from scene state rather than entered as an unrelated display metric.
15
+ - Studio imports accept version 2 JSON under 64 KB, coerce known fields, clamp parameter values, reject malformed input, and do not upload the file.
16
+ - Exported productions embed sanitized project data and deterministic effect renderers. They start through keyboard or pointer input, support Escape, contain inline CSS and JavaScript, and do not call remote resources.
17
+ - `/workshop` provides six persisted steps that produce a three-scene project. Completion can export the artifact or save the same project into Studio.
18
+ - `/learn` exposes hands-on labs, guided tool paths, and hardware or submission companions without pretending every discipline is a browser editor.
19
+ - Learning and workshop progress use versioned localStorage records. Restored values are coerced against current registries and impossible values are discarded or clamped.
20
+ - `/learn/release` stores a local provenance ledger, distinguishes unresolved rights, generates plain-text `readme.txt`, and states that SceneStart does not certify rights or competition eligibility.
21
+ - `/privacy` states that creative state is local, identifies the hosting boundary, distinguishes optional external links, and explains deletion through browser site data.
22
+
23
+ ## Integrity Boundaries
24
+
25
+ - Public application pages can link to independent learning tools and support services, but those links are not required for authoring or exported playback.
26
+ - The hosted application itself uses same-origin assets and hosting infrastructure. Only the downloaded production is required to run without network access.
27
+ - Canvas screenshots prove that pixels render, not that the artistic result is correct or pedagogically effective.
28
+ - Completion counters are derived from owned state; they are not community statistics, certification, or evidence of representative-user success.
29
+
30
+ ## Snapshot Hashes
31
+
32
+ | Source | SHA-256 |
33
+ |---|---|
34
+ | `README.md` | `f9b08941a1ae4993021060a261b4ce4a9ed9af07da784dfff9a2cacb5fd5f59c` |
35
+ | `package.json` | `987424a9ad604b9c8ef254f60656560b64f4da18ef8b9c72cc62418ed0bf10b4` |
36
+ | `src/lib/demo/studio-project.ts` | `ab92e84cf1c3243b374903b1c08d3e01b8a6048a99157dd2f2f32b99e7c61bf7` |
37
+ | `src/lib/demo/studio-export.ts` | `250467ac0fb602609d9d9acb41afe6ca92ed60cd31dc00ebf197b953956967c6` |
38
+ | `src/components/demo/GuidedWorkshop.tsx` | `b49aa880e8cf22cf729e450468b4b4e878fc84aa8284cdf4c932fbe2124383fc` |
39
+ | `src/lib/demo/foundation-progress.ts` | `961acfebfe90c9bb2fc1bfbacb83d6be3eaac8745c3d9466e08054b855a2ed0c` |
40
+ | `src/lib/demo/release.ts` | `6abd81738ad566ba6aaaf10b869e4fe306614b8903c06f5c1a16491cdd659195` |
41
+ | `src/routes/privacy.tsx` | `f9d3efe82efd9b175a6ccc0647fc8047b3719e99a6a3dea00e86ce1f470e868e` |
42
+
43
+ If a source hash changes, inspect the current implementation and update this evidence record before changing the contract. A hash mismatch is a review trigger, not proof of regression.
@@ -0,0 +1,59 @@
1
+ # SceneStart Acceptance Guide
2
+
3
+ The machine-readable criteria are in `product-contract.yaml`. This guide explains how to interpret their evidence without confusing interface appearance with product validity.
4
+
5
+ ## Studio And Export
6
+
7
+ - Project identity, scene order, timing, transitions, messages, cues, effect parameters, preview, and downloads must derive from one current sanitized project.
8
+ - A downloaded JSON recipe proves a file was emitted only after its version, filename, limits, and current values are checked.
9
+ - A downloaded HTML file proves export mechanics only after its current values, start behavior, Escape behavior, deterministic renderers, and lack of playback-time network dependencies are inspected.
10
+ - Canvas pixels must be nonblank at required viewports. Pixel presence does not prove artistic quality, scene coherence, or learning effectiveness.
11
+ - Invalid import must not erase or silently replace the current production.
12
+
13
+ ## Guided Workshop
14
+
15
+ - The six steps must communicate current and remaining work without a countdown or false urgency.
16
+ - A user may change parameters, preview the production, export it, and continue in Studio with the same handle and scenes.
17
+ - Completion means the workflow reached its defined terminal state. It does not mean the user learned the concepts unless representative-user evidence supports that conclusion.
18
+
19
+ ## Learning Progress
20
+
21
+ - Progress is computed from current versioned state and the current lesson or requirement registry.
22
+ - Navigation or reload must not reset valid progress while localStorage remains available.
23
+ - Corrupt, obsolete, or impossible stored values must not create impossible completion.
24
+ - Estimated minutes are planning guidance, not measured user performance.
25
+
26
+ ## Release Provenance
27
+
28
+ - Asset provenance remains unresolved until required fields and explicit rights confirmation exist.
29
+ - Rights confirmation records the producer's decision; it is not legal verification by SceneStart.
30
+ - The generated readme must include the current disclosure, credits, run instructions, and unresolved status.
31
+ - Checklist completion cannot be labeled competition-ready, accepted, certified, or original.
32
+
33
+ ## Local-First Evidence
34
+
35
+ The interface and source contract can state local-first behavior, but screenshots cannot prove absence of upload. A human reviewer must inspect current network behavior, storage ownership, server routes, third-party scripts, and exported HTML before attesting to `local-first-boundary`.
36
+
37
+ Public pages may contain optional external links. The relevant distinction is whether authoring state is transmitted and whether exported playback requires the network, not whether the product contains any hyperlink.
38
+
39
+ ## Responsive And Accessible Operation
40
+
41
+ At 320, 390, 768, 1024, and 1440 CSS pixels:
42
+
43
+ - Timeline entries, labels, values, and action groups remain readable.
44
+ - Preview regions maintain stable dimensions without covering authoring controls.
45
+ - Long concepts, cues, filenames, and disclosure text wrap without page-level horizontal overflow.
46
+ - Focus remains visible and unobscured through navigation, forms, range controls, downloads, and workshop progression.
47
+ - Status changes are textual and announced where consequential.
48
+ - Authoring motion respects reduced-motion preferences; exported artistic playback remains explicitly user-started.
49
+
50
+ ## Evidence Limits
51
+
52
+ - `contract` proves the expected source of truth and behavior are specified.
53
+ - `runtime` proves the configured rendered journey completed.
54
+ - `screenshot` proves required viewport evidence exists and automated geometry checks passed.
55
+ - `accessibility` proves the automated name, focus, contrast, target, reflow, and motion checks passed.
56
+ - `export` proves a configured download occurred with the expected filename and captured artifact.
57
+ - `manual-review` proves only the named reviewer made the recorded decision at the recorded time.
58
+
59
+ No evidence type may be silently substituted for another.
@@ -0,0 +1,26 @@
1
+ # SceneStart Anti-Patterns
2
+
3
+ Use these as rejection examples when generating or reviewing SceneStart behavior.
4
+
5
+ | Anti-pattern | Why it fails | Required correction |
6
+ |---|---|---|
7
+ | Neon shell without a production model | The page resembles demoscene art but scenes cannot be ordered, timed, previewed, saved, or exported coherently | Start from the versioned project, timeline, playback states, and artifact contracts; style afterward |
8
+ | Generic SaaS dashboard | Marketing metrics, subscriptions, team cards, or analytics replace direct creation and learning | Put the authoring canvas, current task, local progress, and outputs first |
9
+ | Cloud-first project wrapper | Accounts, uploads, or remote persistence are added to a local-first workflow without a required product decision | Preserve local storage and explicit downloads; propose cloud features only as a separately reviewed mode |
10
+ | Export theater | A button downloads placeholder HTML or values unrelated to the current project | Generate from the current sanitized project and verify filename, embedded state, controls, and offline playback |
11
+ | Network-dependent offline export | Exported HTML loads fonts, scripts, images, audio, analytics, or APIs from remote origins | Inline required runtime resources and reject playback-time remote references |
12
+ | Destructive project import | Invalid or unsupported JSON clears the current production | Validate size and version first, preserve current state, and show an actionable rejection |
13
+ | Preset ownership confusion | Default scenes or tutorial values are presented as original user work | Label starter content and require the maker to own authorship and rights decisions |
14
+ | Canvas-only workflow | Critical controls, state, progress, or explanations exist only inside pixels | Keep semantic HTML controls, labels, status, and text alternatives outside the canvas |
15
+ | Automatic artistic playback | Motion starts without user intent or ignores reduced-motion needs in the authoring interface | Require explicit playback and reduce nonessential authoring animation |
16
+ | Fake progress | Completion percentages or checkmarks are hard-coded, duplicated, or unrelated to current state | Derive progress from the versioned registry and stored completion evidence |
17
+ | Countdown workshop | The fifteen-minute estimate becomes a timer, expiry, or pressure mechanic | Present it as guidance only and preserve progress without punishment |
18
+ | Quiz-first teaching | Terminology questions replace changing parameters and observing cause and effect | Use make, change, observe, complete, explain, and keep as the learning sequence |
19
+ | One universal editor | Specialist music, graphics, hardware, and release disciplines are represented by shallow fake controls | Use honest interactive labs, guided external-tool paths, or hardware/submission companions |
20
+ | Certification theater | Checklist completion is labeled Assembly-ready, rights-cleared, original, or competition-compliant | Preserve the non-certification disclaimer and direct users to current independent review |
21
+ | Fabricated community proof | User counts, success rates, streaks, testimonials, or completion times appear without evidence | Remove the claim or attach consented, current, inspectable research evidence |
22
+ | Hidden unresolved rights | Incomplete asset records disappear from the readme or are visually minimized | Keep unresolved entries visible in UI and generated output until explicitly resolved |
23
+ | External-link ambiguity | Optional learning or support links appear to be required product services | Label departures and keep creation, progress, and export independent of them |
24
+ | Fixed desktop composition | Timeline, canvas, controls, or provenance forms clip at narrow widths | Recompose at product viewports and verify 200 percent reflow and text resizing |
25
+ | Decorative status color | Completion, unresolved rights, or export readiness is conveyed only through cyan, amber, or magenta | Add explicit status text and assistive-technology announcements |
26
+ | Pixel screenshot as correctness proof | A nonblank canvas is treated as proof of scene quality or renderer parity | Pair pixel checks with deterministic tests and human visual review appropriate to the claim |
@@ -0,0 +1,3 @@
1
+ version: "1.0"
2
+ contract: scenestart
3
+ attestations: []
@@ -0,0 +1,21 @@
1
+ version: "1.0"
2
+ contract: scenestart
3
+ attestations:
4
+ - criterion: local-first-boundary
5
+ status: pass
6
+ reviewer: ZtotheZ
7
+ reviewedAt: 2026-08-27T11:05:01+03:00
8
+ notes: >-
9
+ The SceneStart product owner and maintainer completed the Workshop-to-Studio workflow,
10
+ confirmed that handle and scene state remained intact, saved the editable project, exported
11
+ the offline HTML, documented and confirmed one release asset, downloaded readme.txt, and
12
+ reported that no creative-data upload was apparent and the exported HTML worked offline.
13
+ This observed review is supported by the retained automated journey, network, and download
14
+ evidence. A separate Core Demo Craft 6-of-9 usability defect was recorded and remediated
15
+ without altering this local-first decision.
16
+ evidence:
17
+ - knowledge-base/benchmarks/scenestart/human-review.md
18
+ - evidence/interface-quality/scenestart/guided-workshop/runtime/runtime-report.json
19
+ - evidence/interface-quality/scenestart/studio-export/runtime/runtime-report.json
20
+ - evidence/interface-quality/scenestart/release-provenance/runtime/runtime-report.json
21
+ - evidence/interface-quality/scenestart/release-provenance/runtime/journey-document-asset-and-readme-step-12-readme.txt
@@ -0,0 +1,99 @@
1
+ # SceneStart Human Review Record
2
+
3
+ ## Review Metadata
4
+
5
+ - Reviewer: ZtotheZ
6
+ - Reviewer role and relevant expertise: SceneStart product owner and maintainer
7
+ - Review date and timezone: 2026-08-27T11:05:01+03:00
8
+ - SceneStart build or revision: Current local working tree reviewed at `http://127.0.0.1:4173`
9
+ - Browser, operating system, and input method: Not supplied by reviewer
10
+ - Viewports reviewed: Reviewer-operated viewport; exact dimensions not supplied
11
+ - Related quality-gate report: `evidence/interface-quality/scenestart/release-provenance/quality-gate.json`
12
+
13
+ ## Expert Review
14
+
15
+ ### Local-First Boundary
16
+
17
+ - [x] Workshop project creation and the transition into Studio completed without losing the local project.
18
+ - [x] The handle and scene state remained intact in Studio.
19
+ - [x] The editable project and offline HTML production downloaded successfully.
20
+ - [x] Release provenance accepted an asset record and rights confirmation and downloaded `readme.txt`.
21
+ - [x] No creative-data upload was apparent during the reviewed workflow, and the exported HTML worked offline.
22
+
23
+ Observation:
24
+
25
+ The reviewer marked all five local-first workflow checks as PASS. This is an observed product
26
+ review, not independent network forensics. Automated runtime evidence separately records the
27
+ journeys, downloads, and observed network behavior.
28
+
29
+ Evidence paths or network records:
30
+
31
+ - `evidence/interface-quality/scenestart/guided-workshop/runtime/runtime-report.json`
32
+ - `evidence/interface-quality/scenestart/guided-workshop/runtime/journey-complete-guided-production-step-18-my-production.html`
33
+ - `evidence/interface-quality/scenestart/studio-export/runtime/runtime-report.json`
34
+ - `evidence/interface-quality/scenestart/studio-export/runtime/journey-compose-save-export-step-11-scenestart-production.json`
35
+ - `evidence/interface-quality/scenestart/studio-export/runtime/journey-compose-save-export-step-13-my-production.html`
36
+ - `evidence/interface-quality/scenestart/release-provenance/runtime/runtime-report.json`
37
+ - `evidence/interface-quality/scenestart/release-provenance/runtime/journey-document-asset-and-readme-step-12-readme.txt`
38
+
39
+ Decision for `local-first-boundary`: PASS
40
+
41
+ ### Semantic And Visual Integrity
42
+
43
+ Observation:
44
+
45
+ The Core Demo Craft route reported `6/9 LESSONS COMPLETE` after the reviewer completed every
46
+ visible confirmation action. The three interactive visual lessons exposed parameter controls but
47
+ no explicit completion action, so the reviewer could not intentionally mark those lessons
48
+ complete. This is tracked as a product usability defect and does not alter the separate
49
+ local-first decision.
50
+
51
+ Evidence path:
52
+
53
+ - `http://127.0.0.1:4173/learn/core-demo-craft`
54
+
55
+ ## Findings
56
+
57
+ - Task: Complete all nine Core Demo Craft lessons.
58
+ - Observation: The six concept lessons provide confirmation buttons, while the three interactive
59
+ visual lessons rely on hidden automatic completion conditions and provide no explicit check or
60
+ completion action. The visible result remains `6/9 LESSONS COMPLETE`.
61
+ - Evidence: Reviewer observation on `/learn/core-demo-craft`.
62
+ - Severity, 0 to 4: 3
63
+ - Confidence: High
64
+ - Remediation: Give each interactive lesson an explicit action that checks its stated goal,
65
+ explains an unmet condition, and completes the lesson after the condition is satisfied.
66
+ - Validation method: Component regression test plus the `learning-persistence` browser journey.
67
+ - Evidence class: human maintainer
68
+
69
+ ## Final Decision
70
+
71
+ - Approved criteria: `local-first-boundary`
72
+ - Failed criteria: None in the release-provenance profile
73
+ - Unresolved criteria at review time: Core Demo Craft explicit interactive-lesson completion
74
+ - Reviewer signature or approval reference: ZtotheZ review supplied in the active engineering session
75
+ - Approval timestamp: 2026-08-27T11:05:01+03:00
76
+
77
+ ## Engineering Resolution
78
+
79
+ - Resolution timestamp: 2026-08-27T11:14:37+03:00
80
+ - Status: Resolved
81
+ - Change: Every interactive visual lesson now provides an explicit `CHECK GOAL AND COMPLETE`
82
+ action. Failed checks expose the lesson hint; successful checks require learner confirmation.
83
+ - Component evidence: Two focused tests verify unmet-goal guidance and confirmation-only
84
+ completion.
85
+ - Browser evidence: The `learning-persistence` journey completes all nine lessons and preserves
86
+ `9/9 DONE` across navigation with zero runtime findings.
87
+ - Release evidence: The aggregate SceneStart gate passes 4 of 4 profiles and 10 of 10 acceptance
88
+ criteria.
89
+
90
+ ## Post-Fix Human Validation
91
+
92
+ - Reviewer: ZtotheZ
93
+ - Evidence level: Attributable human maintainer review
94
+ - Validation timestamp: 2026-08-27T11:29:47+03:00
95
+ - Result: Pass
96
+ - Observation: The reviewer repeated the Core Demo Craft path after the completion-control fix and
97
+ confirmed `9/9 LESSONS COMPLETE · PATH COMPLETE`.
98
+ - Scope: This closes the SceneStart maintainer acceptance finding. It does not claim independent
99
+ expert review or representative-user research.
@@ -0,0 +1,105 @@
1
+ # SceneStart Human Review Record
2
+
3
+ This file is a blank review instrument, not evidence. An AI agent may prepare the structure but must not fill reviewer identity, observations, decisions, participant outcomes, timestamps, or evidence claims.
4
+
5
+ ## Review Metadata
6
+
7
+ - Reviewer:
8
+ - Reviewer role and relevant expertise:
9
+ - Review date and timezone:
10
+ - SceneStart build or revision:
11
+ - Runtime URL or artifact:
12
+ - Browser, operating system, and input method:
13
+ - Viewports reviewed:
14
+ - Related quality-gate report:
15
+
16
+ ## Expert Review
17
+
18
+ ### Local-First Boundary
19
+
20
+ - [ ] No creative project fields or progress records were transmitted to an application backend during the reviewed journeys.
21
+ - [ ] Browser storage keys and deletion behavior matched the privacy explanation.
22
+ - [ ] Third-party scripts, pixels, analytics, and background service calls were inspected.
23
+ - [ ] Optional external links were distinguishable from required product services.
24
+ - [ ] Downloaded production HTML ran without network access and contained no remote runtime resources.
25
+
26
+ Observation:
27
+
28
+ Evidence paths or network records:
29
+
30
+ Decision for `local-first-boundary`: PASS / FAIL
31
+
32
+ ### Semantic And Visual Integrity
33
+
34
+ - [ ] The three-scene production read as an opening, build, and ending rather than unrelated presets.
35
+ - [ ] Canvas output was visible and meaningfully changed with configured parameters.
36
+ - [ ] Playback, pause, restart, completion, and Escape behavior were understandable.
37
+ - [ ] Starter content was not mistaken for authorship or rights evidence.
38
+ - [ ] Release documentation did not imply certification.
39
+
40
+ Observation:
41
+
42
+ Evidence paths:
43
+
44
+ ## Representative-User Session
45
+
46
+ Complete this section only for a consented participant session. Use a non-identifying participant code.
47
+
48
+ - Participant code:
49
+ - Recruitment context:
50
+ - Prior demoscene experience:
51
+ - Assistive technology or access needs voluntarily disclosed:
52
+ - Facilitator:
53
+ - Consent record location:
54
+
55
+ ### Task 1: Guided First Production
56
+
57
+ Start at `/workshop`. Create a handle, complete the six steps, preview the complete arc, and keep the result.
58
+
59
+ - Completed without verbal assistance: YES / NO
60
+ - Time to first meaningful preview:
61
+ - Time to completed export:
62
+ - Assistance provided:
63
+ - Main confusion point:
64
+ - Participant explanation of one parameter effect:
65
+ - Export opened successfully offline: YES / NO / NOT TESTED
66
+
67
+ ### Task 2: Resume And Edit
68
+
69
+ Continue into Studio, change one scene, save the editable project, and identify how to reopen it.
70
+
71
+ - Completed: YES / NO
72
+ - Existing handle and scenes preserved: YES / NO
73
+ - Participant could distinguish JSON project from HTML production: YES / NO
74
+ - Observation:
75
+
76
+ ### Task 3: Release Provenance
77
+
78
+ Document one external asset, resolve or leave its rights honestly, and generate `readme.txt`.
79
+
80
+ - Completed: YES / NO
81
+ - Participant understood rights confirmation was not certification: YES / NO
82
+ - Observation:
83
+
84
+ ## Findings
85
+
86
+ For every finding record:
87
+
88
+ - Task:
89
+ - Observation:
90
+ - Evidence:
91
+ - Severity, 0 to 4:
92
+ - Confidence:
93
+ - Remediation:
94
+ - Validation method:
95
+ - Evidence class: human-expert / representative-user
96
+
97
+ ## Final Decision
98
+
99
+ - Approved criteria:
100
+ - Failed criteria:
101
+ - Unresolved criteria:
102
+ - Reviewer signature or approval reference:
103
+ - Approval timestamp:
104
+
105
+ Only after the reviewer approves this record may its decisions be represented in an attestation file.
@@ -0,0 +1,141 @@
1
+ {
2
+ "version": "1.0",
3
+ "contract": "scenestart",
4
+ "profiles": [
5
+ {
6
+ "id": "studio-export",
7
+ "name": "Compose, save and export a production",
8
+ "environment": [
9
+ "SceneStart is running with a fresh browser context",
10
+ "Downloads are enabled",
11
+ "No cloud project service is configured"
12
+ ],
13
+ "journeys": [
14
+ {
15
+ "id": "compose-save-export",
16
+ "name": "compose-save-export",
17
+ "steps": [
18
+ { "action": "navigate", "value": "/studio" },
19
+ { "action": "expectText", "selector": "h1", "value": "Demo Studio" },
20
+ { "action": "fill", "selector": "label:has-text(\"HANDLE\") input", "value": "ZSCENE" },
21
+ { "action": "fill", "selector": "label:has-text(\"CONCEPT\") input", "value": "A local-first three-scene arc" },
22
+ { "action": "fill", "selector": "label:has-text(\"TITLE\") input", "value": "Signal opening" },
23
+ { "action": "expectValue", "selector": "label:has-text(\"HANDLE\") input", "value": "ZSCENE" },
24
+ { "action": "expectValue", "selector": "label:has-text(\"TITLE\") input", "value": "Signal opening" },
25
+ { "action": "click", "selector": "button:has-text(\"PLAY PRODUCTION\")" },
26
+ { "action": "expectText", "selector": "button", "value": "PAUSE" },
27
+ { "action": "click", "selector": "button:has-text(\"RESTART\")" },
28
+ { "action": "expectDownload", "selector": "button:has-text(\"SAVE PROJECT\")", "filenameIncludes": "scenestart-production.json" },
29
+ { "action": "expectText", "selector": "[role=\"status\"]", "value": "Project saved locally." },
30
+ { "action": "expectDownload", "selector": "button:has-text(\"EXPORT OFFLINE HTML\")", "filenameIncludes": "my-production.html" }
31
+ ]
32
+ }
33
+ ]
34
+ },
35
+ {
36
+ "id": "guided-workshop",
37
+ "name": "Complete the guided first production",
38
+ "environment": [
39
+ "SceneStart is running with a fresh browser context",
40
+ "Browser localStorage and downloads are available",
41
+ "The workshop uses its deterministic default three-scene project"
42
+ ],
43
+ "journeys": [
44
+ {
45
+ "id": "complete-guided-production",
46
+ "name": "complete-guided-production",
47
+ "steps": [
48
+ { "action": "navigate", "value": "/workshop" },
49
+ { "action": "expectText", "selector": "h1", "value": "Build your first production" },
50
+ { "action": "fill", "selector": "label:has-text(\"YOUR HANDLE\") input", "value": "NOVA" },
51
+ { "action": "expectValue", "selector": "label:has-text(\"YOUR HANDLE\") input", "value": "NOVA" },
52
+ { "action": "click", "selector": "button:has-text(\"NEXT STEP\")" },
53
+ { "action": "expectText", "selector": "h2", "value": "Create depth" },
54
+ { "action": "click", "selector": "button:has-text(\"NEXT STEP\")" },
55
+ { "action": "expectText", "selector": "h2", "value": "Build interference" },
56
+ { "action": "click", "selector": "button:has-text(\"NEXT STEP\")" },
57
+ { "action": "expectText", "selector": "h2", "value": "Aim for the ending" },
58
+ { "action": "click", "selector": "button:has-text(\"NEXT STEP\")" },
59
+ { "action": "expectText", "selector": "h2", "value": "Watch the whole arc" },
60
+ { "action": "click", "selector": "button:has-text(\"PLAY THE 20-SECOND PRODUCTION\")" },
61
+ { "action": "expectText", "selector": "button", "value": "PAUSE" },
62
+ { "action": "click", "selector": "button:has-text(\"PAUSE\")" },
63
+ { "action": "click", "selector": "button:has-text(\"FINISH WORKSHOP\")" },
64
+ { "action": "expectText", "selector": "body", "value": "You built a timed opening, escalation and ending." },
65
+ { "action": "expectDownload", "selector": "button:has-text(\"EXPORT OFFLINE HTML\")", "filenameIncludes": "my-production.html" },
66
+ { "action": "click", "selector": "a:has-text(\"CONTINUE IN DEMO STUDIO\")" },
67
+ { "action": "expectText", "selector": "h1", "value": "Demo Studio" },
68
+ { "action": "expectValue", "selector": "label:has-text(\"HANDLE\") input", "value": "NOVA" }
69
+ ]
70
+ }
71
+ ]
72
+ },
73
+ {
74
+ "id": "learning-persistence",
75
+ "name": "Complete and resume local learning progress",
76
+ "environment": [
77
+ "SceneStart is running with a fresh browser context",
78
+ "Browser localStorage is available",
79
+ "Core Demo Craft begins with no completed lessons"
80
+ ],
81
+ "journeys": [
82
+ {
83
+ "id": "complete-and-resume-lesson",
84
+ "name": "complete-and-resume-lesson",
85
+ "steps": [
86
+ { "action": "navigate", "value": "/learn/core-demo-craft" },
87
+ { "action": "expectText", "selector": "[role=\"status\"]", "value": "0/9 LESSONS COMPLETE" },
88
+ { "action": "click", "selector": "button:has-text(\"I understand what a demo is\")" },
89
+ { "action": "click", "selector": "button:has-text(\"I understand scene time\")" },
90
+ { "action": "press", "selector": "#remix-plasma-waveScale", "value": "Home" },
91
+ { "action": "press", "selector": "#remix-plasma-colorSpeed", "value": "Home" },
92
+ { "action": "click", "selector": "section:has(#lesson-waves) button:has-text(\"CHECK GOAL AND COMPLETE\")" },
93
+ { "action": "press", "selector": "#remix-starfield-fieldOfView", "value": "End" },
94
+ { "action": "click", "selector": "section:has(#lesson-one-effect) button:has-text(\"CHECK GOAL AND COMPLETE\")" },
95
+ { "action": "click", "selector": "button:has-text(\"I know how to save a variation\")" },
96
+ { "action": "press", "selector": "#remix-tunnel-ringSpacing", "value": "End" },
97
+ { "action": "press", "selector": "#remix-tunnel-travelSpeed", "value": "Home" },
98
+ { "action": "click", "selector": "section:has(#lesson-combining-effects) button:has-text(\"CHECK GOAL AND COMPLETE\")" },
99
+ { "action": "click", "selector": "button:has-text(\"I understand sync in principle\")" },
100
+ { "action": "click", "selector": "button:has-text(\"I understand pacing and flow\")" },
101
+ { "action": "click", "selector": "button:has-text(\"I understand what a release needs\")" },
102
+ { "action": "expectText", "selector": "[role=\"status\"]", "value": "9/9 LESSONS COMPLETE · PATH COMPLETE" },
103
+ { "action": "navigate", "value": "/learn" },
104
+ { "action": "expectText", "selector": "body", "value": "9/9 DONE" },
105
+ { "action": "navigate", "value": "/learn/core-demo-craft" },
106
+ { "action": "expectText", "selector": "[role=\"status\"]", "value": "9/9 LESSONS COMPLETE · PATH COMPLETE" }
107
+ ]
108
+ }
109
+ ]
110
+ },
111
+ {
112
+ "id": "release-provenance",
113
+ "name": "Document provenance and export release notes",
114
+ "environment": [
115
+ "SceneStart is running with a fresh browser context",
116
+ "Browser localStorage and downloads are available",
117
+ "No legal or competition certification service is present"
118
+ ],
119
+ "journeys": [
120
+ {
121
+ "id": "document-asset-and-readme",
122
+ "name": "document-asset-and-readme",
123
+ "steps": [
124
+ { "action": "navigate", "value": "/learn/release" },
125
+ { "action": "expectText", "selector": "body", "value": "does not certify originality, authorship, rights ownership, or official competition eligibility" },
126
+ { "action": "click", "selector": "button:has-text(\"ADD ASSET\")" },
127
+ { "action": "expectText", "selector": "[role=\"status\"]", "value": "1 entry has unresolved rights" },
128
+ { "action": "fill", "selector": "label:has-text(\"Asset name\") + input", "value": "Original soundtrack" },
129
+ { "action": "fill", "selector": "label:has-text(\"Creator\") + input", "value": "NOVA" },
130
+ { "action": "fill", "selector": "label:has-text(\"Licence\") + input", "value": "Creator-owned" },
131
+ { "action": "click", "selector": "label:has-text(\"RIGHTS CONFIRMED\") input" },
132
+ { "action": "expectText", "selector": "[role=\"status\"]", "value": "No unresolved asset rights." },
133
+ { "action": "fill", "selector": "#release-productionTitle", "value": "Signal Arc" },
134
+ { "action": "fill", "selector": "#release-aiDisclosure", "value": "Interface planning assistance disclosed by the creator." },
135
+ { "action": "expectDownload", "selector": "button:has-text(\"DOWNLOAD readme.txt\")", "filenameIncludes": "readme.txt" }
136
+ ]
137
+ }
138
+ ]
139
+ }
140
+ ]
141
+ }