@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.
- package/LICENSE +15 -0
- package/README.md +448 -0
- package/ROADMAP.md +127 -0
- package/SKILL.md +698 -0
- package/V2-ROADMAP.md +431 -0
- package/V3-ROADMAP.md +605 -0
- package/V4-ROADMAP.md +283 -0
- package/clean-room-ux-design-spec.md +1431 -0
- package/dist/cli/aggregate-gates.d.ts +2 -0
- package/dist/cli/aggregate-gates.js +86 -0
- package/dist/cli/aggregate-gates.js.map +1 -0
- package/dist/cli/assess-maintainer-review.d.ts +2 -0
- package/dist/cli/assess-maintainer-review.js +72 -0
- package/dist/cli/assess-maintainer-review.js.map +1 -0
- package/dist/cli/audit.d.ts +2 -0
- package/dist/cli/audit.js +71 -0
- package/dist/cli/audit.js.map +1 -0
- package/dist/cli/compile-comparison-review.d.ts +2 -0
- package/dist/cli/compile-comparison-review.js +154 -0
- package/dist/cli/compile-comparison-review.js.map +1 -0
- package/dist/cli/compile-plan.d.ts +2 -0
- package/dist/cli/compile-plan.js +66 -0
- package/dist/cli/compile-plan.js.map +1 -0
- package/dist/cli/evaluate-corpus.d.ts +2 -0
- package/dist/cli/evaluate-corpus.js +65 -0
- package/dist/cli/evaluate-corpus.js.map +1 -0
- package/dist/cli/generate-react.d.ts +2 -0
- package/dist/cli/generate-react.js +83 -0
- package/dist/cli/generate-react.js.map +1 -0
- package/dist/cli/index.d.ts +2 -0
- package/dist/cli/index.js +58 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/portfolio.d.ts +2 -0
- package/dist/cli/portfolio.js +316 -0
- package/dist/cli/portfolio.js.map +1 -0
- package/dist/cli/quality-gate.d.ts +2 -0
- package/dist/cli/quality-gate.js +131 -0
- package/dist/cli/quality-gate.js.map +1 -0
- package/dist/cli/repair-react.d.ts +2 -0
- package/dist/cli/repair-react.js +163 -0
- package/dist/cli/repair-react.js.map +1 -0
- package/dist/cli/review-heuristics.d.ts +2 -0
- package/dist/cli/review-heuristics.js +68 -0
- package/dist/cli/review-heuristics.js.map +1 -0
- package/dist/cli/validate-brief.d.ts +2 -0
- package/dist/cli/validate-brief.js +58 -0
- package/dist/cli/validate-brief.js.map +1 -0
- package/dist/cli/validate-comparison.d.ts +2 -0
- package/dist/cli/validate-comparison.js +68 -0
- package/dist/cli/validate-comparison.js.map +1 -0
- package/dist/cli/validate-contract.d.ts +2 -0
- package/dist/cli/validate-contract.js +54 -0
- package/dist/cli/validate-contract.js.map +1 -0
- package/dist/cli/validate-design.d.ts +2 -0
- package/dist/cli/validate-design.js +53 -0
- package/dist/cli/validate-design.js.map +1 -0
- package/dist/cli/validate-information.d.ts +2 -0
- package/dist/cli/validate-information.js +53 -0
- package/dist/cli/validate-information.js.map +1 -0
- package/dist/cli/validate-trust.d.ts +2 -0
- package/dist/cli/validate-trust.js +53 -0
- package/dist/cli/validate-trust.js.map +1 -0
- package/dist/cli/verify-ui.d.ts +2 -0
- package/dist/cli/verify-ui.js +181 -0
- package/dist/cli/verify-ui.js.map +1 -0
- package/dist/src/acceptance/evaluator.d.ts +13 -0
- package/dist/src/acceptance/evaluator.js +201 -0
- package/dist/src/acceptance/evaluator.js.map +1 -0
- package/dist/src/acceptance/loader.d.ts +2 -0
- package/dist/src/acceptance/loader.js +18 -0
- package/dist/src/acceptance/loader.js.map +1 -0
- package/dist/src/acceptance/report.d.ts +2 -0
- package/dist/src/acceptance/report.js +18 -0
- package/dist/src/acceptance/report.js.map +1 -0
- package/dist/src/acceptance/schema.d.ts +64 -0
- package/dist/src/acceptance/schema.js +57 -0
- package/dist/src/acceptance/schema.js.map +1 -0
- package/dist/src/acceptance/types.d.ts +47 -0
- package/dist/src/acceptance/types.js +2 -0
- package/dist/src/acceptance/types.js.map +1 -0
- package/dist/src/aggregate/report.d.ts +2 -0
- package/dist/src/aggregate/report.js +33 -0
- package/dist/src/aggregate/report.js.map +1 -0
- package/dist/src/aggregate/runner.d.ts +2 -0
- package/dist/src/aggregate/runner.js +165 -0
- package/dist/src/aggregate/runner.js.map +1 -0
- package/dist/src/aggregate/schema.d.ts +182 -0
- package/dist/src/aggregate/schema.js +54 -0
- package/dist/src/aggregate/schema.js.map +1 -0
- package/dist/src/aggregate/types.d.ts +57 -0
- package/dist/src/aggregate/types.js +2 -0
- package/dist/src/aggregate/types.js.map +1 -0
- package/dist/src/audit/policy.d.ts +3 -0
- package/dist/src/audit/policy.js +45 -0
- package/dist/src/audit/policy.js.map +1 -0
- package/dist/src/audit/report.d.ts +2 -0
- package/dist/src/audit/report.js +32 -0
- package/dist/src/audit/report.js.map +1 -0
- package/dist/src/audit/rules/accessibility-name.d.ts +2 -0
- package/dist/src/audit/rules/accessibility-name.js +64 -0
- package/dist/src/audit/rules/accessibility-name.js.map +1 -0
- package/dist/src/audit/rules/component-size.d.ts +2 -0
- package/dist/src/audit/rules/component-size.js +27 -0
- package/dist/src/audit/rules/component-size.js.map +1 -0
- package/dist/src/audit/rules/credential-placeholder.d.ts +2 -0
- package/dist/src/audit/rules/credential-placeholder.js +83 -0
- package/dist/src/audit/rules/credential-placeholder.js.map +1 -0
- package/dist/src/audit/rules/helpers.d.ts +16 -0
- package/dist/src/audit/rules/helpers.js +64 -0
- package/dist/src/audit/rules/helpers.js.map +1 -0
- package/dist/src/audit/rules/index.d.ts +2 -0
- package/dist/src/audit/rules/index.js +23 -0
- package/dist/src/audit/rules/index.js.map +1 -0
- package/dist/src/audit/rules/interactive-integrity.d.ts +2 -0
- package/dist/src/audit/rules/interactive-integrity.js +111 -0
- package/dist/src/audit/rules/interactive-integrity.js.map +1 -0
- package/dist/src/audit/rules/mixed-responsibilities.d.ts +2 -0
- package/dist/src/audit/rules/mixed-responsibilities.js +39 -0
- package/dist/src/audit/rules/mixed-responsibilities.js.map +1 -0
- package/dist/src/audit/rules/mock-production-path.d.ts +2 -0
- package/dist/src/audit/rules/mock-production-path.js +39 -0
- package/dist/src/audit/rules/mock-production-path.js.map +1 -0
- package/dist/src/audit/rules/network-state.d.ts +2 -0
- package/dist/src/audit/rules/network-state.js +39 -0
- package/dist/src/audit/rules/network-state.js.map +1 -0
- package/dist/src/audit/rules/operational-claim.d.ts +2 -0
- package/dist/src/audit/rules/operational-claim.js +94 -0
- package/dist/src/audit/rules/operational-claim.js.map +1 -0
- package/dist/src/audit/rules/placeholder-interaction.d.ts +2 -0
- package/dist/src/audit/rules/placeholder-interaction.js +46 -0
- package/dist/src/audit/rules/placeholder-interaction.js.map +1 -0
- package/dist/src/audit/rules/raw-design-values.d.ts +2 -0
- package/dist/src/audit/rules/raw-design-values.js +97 -0
- package/dist/src/audit/rules/raw-design-values.js.map +1 -0
- package/dist/src/audit/scanner.d.ts +2 -0
- package/dist/src/audit/scanner.js +215 -0
- package/dist/src/audit/scanner.js.map +1 -0
- package/dist/src/audit/types.d.ts +62 -0
- package/dist/src/audit/types.js +2 -0
- package/dist/src/audit/types.js.map +1 -0
- package/dist/src/comparison/evaluator.d.ts +2 -0
- package/dist/src/comparison/evaluator.js +478 -0
- package/dist/src/comparison/evaluator.js.map +1 -0
- package/dist/src/comparison/loader.d.ts +3 -0
- package/dist/src/comparison/loader.js +26 -0
- package/dist/src/comparison/loader.js.map +1 -0
- package/dist/src/comparison/maintainer.d.ts +47 -0
- package/dist/src/comparison/maintainer.js +218 -0
- package/dist/src/comparison/maintainer.js.map +1 -0
- package/dist/src/comparison/report.d.ts +2 -0
- package/dist/src/comparison/report.js +48 -0
- package/dist/src/comparison/report.js.map +1 -0
- package/dist/src/comparison/schema.d.ts +464 -0
- package/dist/src/comparison/schema.js +502 -0
- package/dist/src/comparison/schema.js.map +1 -0
- package/dist/src/contracts/archetypes.d.ts +21 -0
- package/dist/src/contracts/archetypes.js +102 -0
- package/dist/src/contracts/archetypes.js.map +1 -0
- package/dist/src/contracts/journeys.d.ts +7 -0
- package/dist/src/contracts/journeys.js +32 -0
- package/dist/src/contracts/journeys.js.map +1 -0
- package/dist/src/contracts/report.d.ts +2 -0
- package/dist/src/contracts/report.js +33 -0
- package/dist/src/contracts/report.js.map +1 -0
- package/dist/src/contracts/schema.d.ts +1038 -0
- package/dist/src/contracts/schema.js +385 -0
- package/dist/src/contracts/schema.js.map +1 -0
- package/dist/src/contracts/validator.d.ts +12 -0
- package/dist/src/contracts/validator.js +303 -0
- package/dist/src/contracts/validator.js.map +1 -0
- package/dist/src/corpus/evaluator.d.ts +2 -0
- package/dist/src/corpus/evaluator.js +203 -0
- package/dist/src/corpus/evaluator.js.map +1 -0
- package/dist/src/corpus/loader.d.ts +2 -0
- package/dist/src/corpus/loader.js +20 -0
- package/dist/src/corpus/loader.js.map +1 -0
- package/dist/src/corpus/report.d.ts +2 -0
- package/dist/src/corpus/report.js +33 -0
- package/dist/src/corpus/report.js.map +1 -0
- package/dist/src/corpus/schema.d.ts +316 -0
- package/dist/src/corpus/schema.js +269 -0
- package/dist/src/corpus/schema.js.map +1 -0
- package/dist/src/design-intelligence/loader.d.ts +2 -0
- package/dist/src/design-intelligence/loader.js +21 -0
- package/dist/src/design-intelligence/loader.js.map +1 -0
- package/dist/src/design-intelligence/report.d.ts +2 -0
- package/dist/src/design-intelligence/report.js +36 -0
- package/dist/src/design-intelligence/report.js.map +1 -0
- package/dist/src/design-intelligence/schema.d.ts +838 -0
- package/dist/src/design-intelligence/schema.js +854 -0
- package/dist/src/design-intelligence/schema.js.map +1 -0
- package/dist/src/design-intelligence/validator.d.ts +2 -0
- package/dist/src/design-intelligence/validator.js +1371 -0
- package/dist/src/design-intelligence/validator.js.map +1 -0
- package/dist/src/design-plan/compiler.d.ts +8 -0
- package/dist/src/design-plan/compiler.js +288 -0
- package/dist/src/design-plan/compiler.js.map +1 -0
- package/dist/src/design-plan/report.d.ts +2 -0
- package/dist/src/design-plan/report.js +28 -0
- package/dist/src/design-plan/report.js.map +1 -0
- package/dist/src/design-plan/schema.d.ts +202 -0
- package/dist/src/design-plan/schema.js +76 -0
- package/dist/src/design-plan/schema.js.map +1 -0
- package/dist/src/generation/loader.d.ts +2 -0
- package/dist/src/generation/loader.js +21 -0
- package/dist/src/generation/loader.js.map +1 -0
- package/dist/src/generation/policy.d.ts +12 -0
- package/dist/src/generation/policy.js +62 -0
- package/dist/src/generation/policy.js.map +1 -0
- package/dist/src/generation/react-typescript.d.ts +6 -0
- package/dist/src/generation/react-typescript.js +538 -0
- package/dist/src/generation/react-typescript.js.map +1 -0
- package/dist/src/generation/report.d.ts +2 -0
- package/dist/src/generation/report.js +21 -0
- package/dist/src/generation/report.js.map +1 -0
- package/dist/src/generation/schema.d.ts +44 -0
- package/dist/src/generation/schema.js +50 -0
- package/dist/src/generation/schema.js.map +1 -0
- package/dist/src/generation/templates/tokens.d.ts +1 -0
- package/dist/src/generation/templates/tokens.js +59 -0
- package/dist/src/generation/templates/tokens.js.map +1 -0
- package/dist/src/heuristics/evaluator.d.ts +2 -0
- package/dist/src/heuristics/evaluator.js +65 -0
- package/dist/src/heuristics/evaluator.js.map +1 -0
- package/dist/src/heuristics/loader.d.ts +2 -0
- package/dist/src/heuristics/loader.js +21 -0
- package/dist/src/heuristics/loader.js.map +1 -0
- package/dist/src/heuristics/report.d.ts +3 -0
- package/dist/src/heuristics/report.js +31 -0
- package/dist/src/heuristics/report.js.map +1 -0
- package/dist/src/heuristics/schema.d.ts +198 -0
- package/dist/src/heuristics/schema.js +197 -0
- package/dist/src/heuristics/schema.js.map +1 -0
- package/dist/src/information-design/loader.d.ts +2 -0
- package/dist/src/information-design/loader.js +21 -0
- package/dist/src/information-design/loader.js.map +1 -0
- package/dist/src/information-design/report.d.ts +2 -0
- package/dist/src/information-design/report.js +27 -0
- package/dist/src/information-design/report.js.map +1 -0
- package/dist/src/information-design/schema.d.ts +370 -0
- package/dist/src/information-design/schema.js +329 -0
- package/dist/src/information-design/schema.js.map +1 -0
- package/dist/src/information-design/validator.d.ts +2 -0
- package/dist/src/information-design/validator.js +242 -0
- package/dist/src/information-design/validator.js.map +1 -0
- package/dist/src/interface-trust/loader.d.ts +2 -0
- package/dist/src/interface-trust/loader.js +21 -0
- package/dist/src/interface-trust/loader.js.map +1 -0
- package/dist/src/interface-trust/report.d.ts +2 -0
- package/dist/src/interface-trust/report.js +26 -0
- package/dist/src/interface-trust/report.js.map +1 -0
- package/dist/src/interface-trust/schema.d.ts +299 -0
- package/dist/src/interface-trust/schema.js +238 -0
- package/dist/src/interface-trust/schema.js.map +1 -0
- package/dist/src/interface-trust/validator.d.ts +2 -0
- package/dist/src/interface-trust/validator.js +283 -0
- package/dist/src/interface-trust/validator.js.map +1 -0
- package/dist/src/portfolio/adapter-report.d.ts +3 -0
- package/dist/src/portfolio/adapter-report.js +38 -0
- package/dist/src/portfolio/adapter-report.js.map +1 -0
- package/dist/src/portfolio/adapters.d.ts +37 -0
- package/dist/src/portfolio/adapters.js +325 -0
- package/dist/src/portfolio/adapters.js.map +1 -0
- package/dist/src/portfolio/evidence.d.ts +9 -0
- package/dist/src/portfolio/evidence.js +233 -0
- package/dist/src/portfolio/evidence.js.map +1 -0
- package/dist/src/portfolio/files.d.ts +8 -0
- package/dist/src/portfolio/files.js +77 -0
- package/dist/src/portfolio/files.js.map +1 -0
- package/dist/src/portfolio/fixture-server.d.ts +11 -0
- package/dist/src/portfolio/fixture-server.js +131 -0
- package/dist/src/portfolio/fixture-server.js.map +1 -0
- package/dist/src/portfolio/loader.d.ts +2 -0
- package/dist/src/portfolio/loader.js +21 -0
- package/dist/src/portfolio/loader.js.map +1 -0
- package/dist/src/portfolio/mcp.d.ts +186 -0
- package/dist/src/portfolio/mcp.js +117 -0
- package/dist/src/portfolio/mcp.js.map +1 -0
- package/dist/src/portfolio/promotion-schema.d.ts +220 -0
- package/dist/src/portfolio/promotion-schema.js +148 -0
- package/dist/src/portfolio/promotion-schema.js.map +1 -0
- package/dist/src/portfolio/promotion.d.ts +4 -0
- package/dist/src/portfolio/promotion.js +160 -0
- package/dist/src/portfolio/promotion.js.map +1 -0
- package/dist/src/portfolio/qualification-schema.d.ts +268 -0
- package/dist/src/portfolio/qualification-schema.js +112 -0
- package/dist/src/portfolio/qualification-schema.js.map +1 -0
- package/dist/src/portfolio/qualification.d.ts +4 -0
- package/dist/src/portfolio/qualification.js +157 -0
- package/dist/src/portfolio/qualification.js.map +1 -0
- package/dist/src/portfolio/registry.d.ts +34 -0
- package/dist/src/portfolio/registry.js +240 -0
- package/dist/src/portfolio/registry.js.map +1 -0
- package/dist/src/portfolio/report.d.ts +4 -0
- package/dist/src/portfolio/report.js +47 -0
- package/dist/src/portfolio/report.js.map +1 -0
- package/dist/src/portfolio/run-schema.d.ts +135 -0
- package/dist/src/portfolio/run-schema.js +81 -0
- package/dist/src/portfolio/run-schema.js.map +1 -0
- package/dist/src/portfolio/runner.d.ts +118 -0
- package/dist/src/portfolio/runner.js +423 -0
- package/dist/src/portfolio/runner.js.map +1 -0
- package/dist/src/portfolio/schema.d.ts +251 -0
- package/dist/src/portfolio/schema.js +317 -0
- package/dist/src/portfolio/schema.js.map +1 -0
- package/dist/src/portfolio/snapshot.d.ts +89 -0
- package/dist/src/portfolio/snapshot.js +548 -0
- package/dist/src/portfolio/snapshot.js.map +1 -0
- package/dist/src/portfolio/taxonomy-schema.d.ts +215 -0
- package/dist/src/portfolio/taxonomy-schema.js +74 -0
- package/dist/src/portfolio/taxonomy-schema.js.map +1 -0
- package/dist/src/portfolio/taxonomy.d.ts +5 -0
- package/dist/src/portfolio/taxonomy.js +236 -0
- package/dist/src/portfolio/taxonomy.js.map +1 -0
- package/dist/src/portfolio/vault.d.ts +53 -0
- package/dist/src/portfolio/vault.js +176 -0
- package/dist/src/portfolio/vault.js.map +1 -0
- package/dist/src/product-brief/loader.d.ts +2 -0
- package/dist/src/product-brief/loader.js +21 -0
- package/dist/src/product-brief/loader.js.map +1 -0
- package/dist/src/product-brief/report.d.ts +2 -0
- package/dist/src/product-brief/report.js +22 -0
- package/dist/src/product-brief/report.js.map +1 -0
- package/dist/src/product-brief/schema.d.ts +367 -0
- package/dist/src/product-brief/schema.js +272 -0
- package/dist/src/product-brief/schema.js.map +1 -0
- package/dist/src/product-brief/validator.d.ts +2 -0
- package/dist/src/product-brief/validator.js +251 -0
- package/dist/src/product-brief/validator.js.map +1 -0
- package/dist/src/product.d.ts +7 -0
- package/dist/src/product.js +28 -0
- package/dist/src/product.js.map +1 -0
- package/dist/src/quality-gate/report.d.ts +2 -0
- package/dist/src/quality-gate/report.js +46 -0
- package/dist/src/quality-gate/report.js.map +1 -0
- package/dist/src/quality-gate/runner.d.ts +2 -0
- package/dist/src/quality-gate/runner.js +175 -0
- package/dist/src/quality-gate/runner.js.map +1 -0
- package/dist/src/quality-gate/schema.d.ts +75 -0
- package/dist/src/quality-gate/schema.js +37 -0
- package/dist/src/quality-gate/schema.js.map +1 -0
- package/dist/src/quality-gate/types.d.ts +49 -0
- package/dist/src/quality-gate/types.js +2 -0
- package/dist/src/quality-gate/types.js.map +1 -0
- package/dist/src/repair/loader.d.ts +2 -0
- package/dist/src/repair/loader.js +11 -0
- package/dist/src/repair/loader.js.map +1 -0
- package/dist/src/repair/policy.d.ts +16 -0
- package/dist/src/repair/policy.js +65 -0
- package/dist/src/repair/policy.js.map +1 -0
- package/dist/src/repair/report.d.ts +2 -0
- package/dist/src/repair/report.js +32 -0
- package/dist/src/repair/report.js.map +1 -0
- package/dist/src/repair/runner.d.ts +17 -0
- package/dist/src/repair/runner.js +511 -0
- package/dist/src/repair/runner.js.map +1 -0
- package/dist/src/repair/schema.d.ts +264 -0
- package/dist/src/repair/schema.js +202 -0
- package/dist/src/repair/schema.js.map +1 -0
- package/dist/src/retrieval/report.d.ts +2 -0
- package/dist/src/retrieval/report.js +21 -0
- package/dist/src/retrieval/report.js.map +1 -0
- package/dist/src/retrieval/schema.d.ts +123 -0
- package/dist/src/retrieval/schema.js +77 -0
- package/dist/src/retrieval/schema.js.map +1 -0
- package/dist/src/retrieval/search.d.ts +26 -0
- package/dist/src/retrieval/search.js +415 -0
- package/dist/src/retrieval/search.js.map +1 -0
- package/dist/src/runtime/advanced-checks.d.ts +6 -0
- package/dist/src/runtime/advanced-checks.js +487 -0
- package/dist/src/runtime/advanced-checks.js.map +1 -0
- package/dist/src/runtime/composition-checks.d.ts +5 -0
- package/dist/src/runtime/composition-checks.js +307 -0
- package/dist/src/runtime/composition-checks.js.map +1 -0
- package/dist/src/runtime/interface-checks.d.ts +12 -0
- package/dist/src/runtime/interface-checks.js +224 -0
- package/dist/src/runtime/interface-checks.js.map +1 -0
- package/dist/src/runtime/policy.d.ts +13 -0
- package/dist/src/runtime/policy.js +97 -0
- package/dist/src/runtime/policy.js.map +1 -0
- package/dist/src/runtime/report.d.ts +2 -0
- package/dist/src/runtime/report.js +48 -0
- package/dist/src/runtime/report.js.map +1 -0
- package/dist/src/runtime/schema.d.ts +406 -0
- package/dist/src/runtime/schema.js +308 -0
- package/dist/src/runtime/schema.js.map +1 -0
- package/dist/src/runtime/types.d.ts +177 -0
- package/dist/src/runtime/types.js +2 -0
- package/dist/src/runtime/types.js.map +1 -0
- package/dist/src/runtime/verifier.d.ts +2 -0
- package/dist/src/runtime/verifier.js +1201 -0
- package/dist/src/runtime/verifier.js.map +1 -0
- package/dist/src/server.d.ts +2 -0
- package/dist/src/server.js +1352 -0
- package/dist/src/server.js.map +1 -0
- package/docs/installation.md +337 -0
- package/knowledge-base/INDEX.md +285 -0
- package/knowledge-base/benchmarks/aegisops/CALIBRATION.md +52 -0
- package/knowledge-base/benchmarks/aegisops/MANIFEST.md +56 -0
- package/knowledge-base/benchmarks/aegisops/SOURCE-EVIDENCE.md +45 -0
- package/knowledge-base/benchmarks/aegisops/acceptance-criteria.md +42 -0
- package/knowledge-base/benchmarks/aegisops/anti-patterns.md +19 -0
- package/knowledge-base/benchmarks/aegisops/attestations.template.yaml +3 -0
- package/knowledge-base/benchmarks/aegisops/attestations.yaml +115 -0
- package/knowledge-base/benchmarks/aegisops/journeys.json +91 -0
- package/knowledge-base/benchmarks/aegisops/product-contract.yaml +328 -0
- package/knowledge-base/benchmarks/azure-optimizer/SOURCE-EVIDENCE.md +26 -0
- package/knowledge-base/benchmarks/azure-optimizer/V2-IMPLEMENTATION.md +39 -0
- package/knowledge-base/benchmarks/azure-optimizer/acceptance-criteria.md +23 -0
- package/knowledge-base/benchmarks/azure-optimizer/anti-patterns.md +13 -0
- package/knowledge-base/benchmarks/azure-optimizer/journeys.json +88 -0
- package/knowledge-base/benchmarks/azure-optimizer/product-contract.yaml +216 -0
- package/knowledge-base/benchmarks/azure-optimizer/v2-human-review-methodology.yaml +171 -0
- package/knowledge-base/benchmarks/azure-optimizer/v2-journeys.json +139 -0
- package/knowledge-base/benchmarks/corpus/PROVENANCE.md +21 -0
- package/knowledge-base/benchmarks/corpus/README.md +30 -0
- package/knowledge-base/benchmarks/corpus/cases/anti-slop-negative/package.json +9 -0
- package/knowledge-base/benchmarks/corpus/cases/anti-slop-negative/src/FakeDashboard.tsx +10 -0
- package/knowledge-base/benchmarks/corpus/cases/anti-slop-positive/package.json +9 -0
- package/knowledge-base/benchmarks/corpus/cases/anti-slop-positive/src/Progress.tsx +15 -0
- package/knowledge-base/benchmarks/corpus/cases/architecture-negative/package.json +9 -0
- package/knowledge-base/benchmarks/corpus/cases/architecture-negative/src/OperationsPanel.tsx +40 -0
- package/knowledge-base/benchmarks/corpus/cases/architecture-positive/package.json +9 -0
- package/knowledge-base/benchmarks/corpus/cases/architecture-positive/src/Dashboard.tsx +17 -0
- package/knowledge-base/benchmarks/corpus/cases/architecture-positive/src/theme.css +15 -0
- package/knowledge-base/benchmarks/corpus/cases/task-incomplete/SOURCE-EVIDENCE.md +3 -0
- package/knowledge-base/benchmarks/corpus/cases/task-incomplete/journeys.json +20 -0
- package/knowledge-base/benchmarks/corpus/cases/task-incomplete/product-contract.yaml +78 -0
- package/knowledge-base/benchmarks/corpus/corpus.schema.yaml +159 -0
- package/knowledge-base/benchmarks/corpus/corpus.yaml +209 -0
- package/knowledge-base/benchmarks/interface-quality/README.md +26 -0
- package/knowledge-base/benchmarks/interface-quality/SOLO-MAINTAINER-TRACK.md +35 -0
- package/knowledge-base/benchmarks/interface-quality/comparison-methodology-v1.1.schema.yaml +288 -0
- package/knowledge-base/benchmarks/interface-quality/comparison-methodology.schema.yaml +235 -0
- package/knowledge-base/benchmarks/interface-quality/comparison-methodology.template.yaml +181 -0
- package/knowledge-base/benchmarks/interface-quality/evidence/example-runtime-report.json +11 -0
- package/knowledge-base/benchmarks/interface-quality/review-session.schema.yaml +14 -0
- package/knowledge-base/benchmarks/interface-quality/review.schema.yaml +296 -0
- package/knowledge-base/benchmarks/interface-quality/review.template.yaml +43 -0
- package/knowledge-base/benchmarks/portfolio-corpus/ADAPTERS.md +68 -0
- package/knowledge-base/benchmarks/portfolio-corpus/PORTFOLIO-RUNNER.md +131 -0
- package/knowledge-base/benchmarks/portfolio-corpus/PRODUCT-TASK-CONTRACTS.md +29 -0
- package/knowledge-base/benchmarks/portfolio-corpus/PROMOTED-RULES.md +31 -0
- package/knowledge-base/benchmarks/portfolio-corpus/archetype-profiles.yaml +26 -0
- package/knowledge-base/benchmarks/portfolio-corpus/product-task-profile.schema.yaml +105 -0
- package/knowledge-base/benchmarks/portfolio-corpus/registry.schema.yaml +188 -0
- package/knowledge-base/benchmarks/portfolio-corpus/registry.template.yaml +63 -0
- package/knowledge-base/benchmarks/portfolio-corpus/rule-fixtures/component-size-abstention.json +10 -0
- package/knowledge-base/benchmarks/portfolio-corpus/rule-fixtures/component-size-negative.json +10 -0
- package/knowledge-base/benchmarks/portfolio-corpus/rule-fixtures/component-size-positive.json +10 -0
- package/knowledge-base/benchmarks/portfolio-corpus/rule-fixtures/interactive-integrity-abstention.json +10 -0
- package/knowledge-base/benchmarks/portfolio-corpus/rule-fixtures/interactive-integrity-negative.json +10 -0
- package/knowledge-base/benchmarks/portfolio-corpus/rule-fixtures/interactive-integrity-positive.json +10 -0
- package/knowledge-base/benchmarks/portfolio-corpus/rule-fixtures/raw-design-values-abstention.json +10 -0
- package/knowledge-base/benchmarks/portfolio-corpus/rule-fixtures/raw-design-values-negative.json +10 -0
- package/knowledge-base/benchmarks/portfolio-corpus/rule-fixtures/raw-design-values-positive.json +10 -0
- package/knowledge-base/benchmarks/portfolio-corpus/rule-holdout-evaluation.template.json +14 -0
- package/knowledge-base/benchmarks/portfolio-corpus/rule-promotion-evidence.template.json +24 -0
- package/knowledge-base/benchmarks/portfolio-corpus/v3-command-evidence.template.json +17 -0
- package/knowledge-base/benchmarks/portfolio-corpus/v3-qualification-evidence.template.json +29 -0
- package/knowledge-base/benchmarks/scenestart/CALIBRATION.md +95 -0
- package/knowledge-base/benchmarks/scenestart/MANIFEST.md +53 -0
- package/knowledge-base/benchmarks/scenestart/SOURCE-EVIDENCE.md +43 -0
- package/knowledge-base/benchmarks/scenestart/acceptance-criteria.md +59 -0
- package/knowledge-base/benchmarks/scenestart/anti-patterns.md +26 -0
- package/knowledge-base/benchmarks/scenestart/attestations.template.yaml +3 -0
- package/knowledge-base/benchmarks/scenestart/attestations.yaml +21 -0
- package/knowledge-base/benchmarks/scenestart/human-review.md +99 -0
- package/knowledge-base/benchmarks/scenestart/human-review.template.md +105 -0
- package/knowledge-base/benchmarks/scenestart/journeys.json +141 -0
- package/knowledge-base/benchmarks/scenestart/product-contract.yaml +427 -0
- package/knowledge-base/dependencies.yaml +69 -0
- package/knowledge-base/design-intelligence/MASTER.md +87 -0
- package/knowledge-base/design-intelligence/asset-generation.md +66 -0
- package/knowledge-base/design-intelligence/brand-systems.md +69 -0
- package/knowledge-base/design-intelligence/closed-loop-repair.md +95 -0
- package/knowledge-base/design-intelligence/design-deliverable.schema.yaml +1194 -0
- package/knowledge-base/design-intelligence/design-deliverable.template.yaml +591 -0
- package/knowledge-base/design-intelligence/design-plan.md +78 -0
- package/knowledge-base/design-intelligence/design-plan.schema.yaml +621 -0
- package/knowledge-base/design-intelligence/figma-production.md +63 -0
- package/knowledge-base/design-intelligence/generation-adapter.md +72 -0
- package/knowledge-base/design-intelligence/generation-adapter.schema.yaml +47 -0
- package/knowledge-base/design-intelligence/iconography.md +46 -0
- package/knowledge-base/design-intelligence/information-design.md +104 -0
- package/knowledge-base/design-intelligence/information-design.schema.yaml +390 -0
- package/knowledge-base/design-intelligence/information-design.template.yaml +281 -0
- package/knowledge-base/design-intelligence/interaction-recovery-verification.md +72 -0
- package/knowledge-base/design-intelligence/interface-trust.md +103 -0
- package/knowledge-base/design-intelligence/interface-trust.schema.yaml +263 -0
- package/knowledge-base/design-intelligence/interface-trust.template.yaml +173 -0
- package/knowledge-base/design-intelligence/licensing-and-provenance.md +59 -0
- package/knowledge-base/design-intelligence/presentation-design.md +56 -0
- package/knowledge-base/design-intelligence/product-design-brief.md +67 -0
- package/knowledge-base/design-intelligence/product-design-brief.schema.yaml +279 -0
- package/knowledge-base/design-intelligence/product-design-brief.template.yaml +225 -0
- package/knowledge-base/design-intelligence/repair-request.schema.yaml +95 -0
- package/knowledge-base/design-intelligence/repair-request.template.yaml +39 -0
- package/knowledge-base/design-intelligence/visual-accessibility.md +56 -0
- package/knowledge-base/design-intelligence/visual-polish.md +172 -0
- package/knowledge-base/maintained/architecture/MASTER.md +22 -0
- package/knowledge-base/maintained/architecture/component-boundaries.md +30 -0
- package/knowledge-base/maintained/architecture/product-platforms.md +25 -0
- package/knowledge-base/maintained/architecture/quality-attributes-and-evaluation.md +35 -0
- package/knowledge-base/maintained/product-patterns/MASTER.md +10 -0
- package/knowledge-base/maintained/product-patterns/ai-workspaces.md +26 -0
- package/knowledge-base/maintained/product-patterns/operational-dashboards.md +22 -0
- package/knowledge-base/provenance.yaml +196 -0
- package/knowledge-base/retrieval-scope.yaml +43 -0
- package/knowledge-base/usability-evaluation/HEURISTIC_EVALUATION.md +115 -0
- package/knowledge-base/usability-evaluation/heuristic-review.schema.yaml +210 -0
- package/knowledge-base/usability-evaluation/heuristic-review.template.yaml +37 -0
- package/package.json +133 -0
|
@@ -0,0 +1,427 @@
|
|
|
1
|
+
version: "1.1"
|
|
2
|
+
id: scenestart
|
|
3
|
+
name: SceneStart Local-First Demoscene Learning Studio
|
|
4
|
+
status: benchmark
|
|
5
|
+
purpose: >-
|
|
6
|
+
Help a complete beginner or independent maker learn demoscene concepts through direct
|
|
7
|
+
experimentation, compose a coherent timed production, preserve editable work locally,
|
|
8
|
+
export a self-contained offline artifact, and document release provenance without
|
|
9
|
+
implying certification, rights ownership, or competition eligibility.
|
|
10
|
+
|
|
11
|
+
authority:
|
|
12
|
+
behavior: Current SceneStart behavior summarized in SOURCE-EVIDENCE.md overrides historical product plans and visual mockups.
|
|
13
|
+
visual: Current SceneStart components and tokens guide identity, but task completion, readable state, and responsive accessibility override fixed compositions.
|
|
14
|
+
precedence:
|
|
15
|
+
- path: SOURCE-EVIDENCE.md
|
|
16
|
+
role: Current implementation snapshot, behavior boundaries, and source hashes.
|
|
17
|
+
authority: primary
|
|
18
|
+
- path: MANIFEST.md
|
|
19
|
+
role: Benchmark scope, authority order, and clean-room usage rules.
|
|
20
|
+
authority: supporting
|
|
21
|
+
- path: ../../../clean-room-ux-design-spec.md
|
|
22
|
+
role: Independent implementation, provenance, local-first, and abstention requirements.
|
|
23
|
+
authority: supporting
|
|
24
|
+
|
|
25
|
+
actors:
|
|
26
|
+
- id: beginner-maker
|
|
27
|
+
name: Beginner demoscene maker
|
|
28
|
+
goals:
|
|
29
|
+
- See a meaningful visual result before specialist setup becomes a barrier.
|
|
30
|
+
- Understand how parameter changes affect motion, rhythm, depth, and composition.
|
|
31
|
+
- Finish and keep a working production that can be replayed offline.
|
|
32
|
+
responsibilities:
|
|
33
|
+
- Choose a handle and creative direction without treating starter content as proof of originality.
|
|
34
|
+
- Preview and review the complete sequence before export.
|
|
35
|
+
- Preserve downloaded project and production files on their own device.
|
|
36
|
+
- id: independent-producer
|
|
37
|
+
name: Independent producer
|
|
38
|
+
goals:
|
|
39
|
+
- Compose, reorder, preview, save, reopen, and export a multi-scene production.
|
|
40
|
+
- Document contributors, tools, external assets, licences, and run instructions.
|
|
41
|
+
- Distinguish technical readiness from event-specific and rights review.
|
|
42
|
+
responsibilities:
|
|
43
|
+
- Resolve external-asset rights and required credits before release.
|
|
44
|
+
- Test the exported artifact in the intended environment.
|
|
45
|
+
- Check current event rules independently.
|
|
46
|
+
- id: workshop-facilitator
|
|
47
|
+
name: Workshop facilitator
|
|
48
|
+
goals:
|
|
49
|
+
- Guide beginners through a bounded first-success path without accounts or cloud setup.
|
|
50
|
+
- Observe where learners require assistance and whether concepts transfer.
|
|
51
|
+
- Hand each learner an editable and playable artifact they control.
|
|
52
|
+
responsibilities:
|
|
53
|
+
- Avoid presenting estimated completion time as a countdown or guarantee.
|
|
54
|
+
- Record representative-user evidence only with participant consent.
|
|
55
|
+
- Separate observed task outcomes from product analytics or fabricated success claims.
|
|
56
|
+
|
|
57
|
+
outputs:
|
|
58
|
+
- id: editable-project
|
|
59
|
+
name: Editable SceneStart project
|
|
60
|
+
sourceOfTruth: Sanitized version 2 production project with shared identity, palette, and one to eight ordered scenes.
|
|
61
|
+
requiredEvidence:
|
|
62
|
+
- Versioned JSON schema and filename
|
|
63
|
+
- Scene order, effect, message, duration, transition, cue, and parameters
|
|
64
|
+
- Successful parse or actionable rejection
|
|
65
|
+
- id: offline-production
|
|
66
|
+
name: Self-contained browser production
|
|
67
|
+
sourceOfTruth: HTML generated directly from the current sanitized production project.
|
|
68
|
+
requiredEvidence:
|
|
69
|
+
- Current handle, palette, ordered scenes, durations, transitions, and effect parameters
|
|
70
|
+
- Inline playback implementation with start and Escape behavior
|
|
71
|
+
- No runtime network dependencies
|
|
72
|
+
- id: local-progress
|
|
73
|
+
name: Local learning progress
|
|
74
|
+
sourceOfTruth: Versioned browser storage owned by the applicable workshop or learning path.
|
|
75
|
+
requiredEvidence:
|
|
76
|
+
- Completed step, lesson, mission, or requirement identifiers
|
|
77
|
+
- Coercion against the current registry
|
|
78
|
+
- Visible progress derived from stored state
|
|
79
|
+
- id: provenance-ledger
|
|
80
|
+
name: Release provenance ledger
|
|
81
|
+
sourceOfTruth: Current local release state containing assets, creators, sources, licences, modifications, credits, and rights decisions.
|
|
82
|
+
requiredEvidence:
|
|
83
|
+
- Unresolved entries remain visibly unresolved
|
|
84
|
+
- Rights confirmation is explicit and user-controlled
|
|
85
|
+
- No certification claim is inferred from completion
|
|
86
|
+
- id: release-readme
|
|
87
|
+
name: Plain-text release readme
|
|
88
|
+
sourceOfTruth: Deterministic text generated from the current release state and local handle.
|
|
89
|
+
requiredEvidence:
|
|
90
|
+
- Run instructions, target, requirements, contributors, tools, assets, credits, and AI-use disclosure
|
|
91
|
+
- Unresolved rights remain marked
|
|
92
|
+
- SceneStart non-certification disclaimer
|
|
93
|
+
|
|
94
|
+
modes:
|
|
95
|
+
- id: studio-production
|
|
96
|
+
name: Demo Studio
|
|
97
|
+
purpose: Compose and export a complete timed production with direct control over scenes and shared project identity.
|
|
98
|
+
input: Local production fields or a valid version 2 SceneStart JSON project under 64 KB.
|
|
99
|
+
outputs: [editable-project, offline-production]
|
|
100
|
+
- id: guided-workshop
|
|
101
|
+
name: Guided Workshop
|
|
102
|
+
purpose: Complete a six-step opening, build, ending workflow and continue with the same project in Studio.
|
|
103
|
+
input: A valid two-to-eight-character handle and guided parameter decisions.
|
|
104
|
+
outputs: [editable-project, offline-production, local-progress]
|
|
105
|
+
- id: learning-path
|
|
106
|
+
name: Learning Paths
|
|
107
|
+
purpose: Complete bounded concepts and hands-on activities while preserving progress on the current device.
|
|
108
|
+
input: A selected goal, role, lesson, or activity response.
|
|
109
|
+
outputs: [local-progress]
|
|
110
|
+
- id: release-preparation
|
|
111
|
+
name: Release, Rights and Community
|
|
112
|
+
purpose: Document provenance and technical release information without replacing legal, authorship, or event review.
|
|
113
|
+
input: Local contributor, asset, licence, disclosure, run, and checklist information.
|
|
114
|
+
outputs: [provenance-ledger, release-readme, local-progress]
|
|
115
|
+
|
|
116
|
+
stateMachines:
|
|
117
|
+
- id: production-authoring
|
|
118
|
+
initial: loaded
|
|
119
|
+
states:
|
|
120
|
+
- id: loaded
|
|
121
|
+
category: idle
|
|
122
|
+
userVisible: true
|
|
123
|
+
requirement: A valid local default, migrated project, or imported project is visible and editable.
|
|
124
|
+
- id: editing
|
|
125
|
+
category: idle
|
|
126
|
+
userVisible: true
|
|
127
|
+
requirement: Every change updates the current project and preview without disconnecting scene identity or timeline order.
|
|
128
|
+
- id: previewing
|
|
129
|
+
category: loading
|
|
130
|
+
userVisible: true
|
|
131
|
+
requirement: Playback exposes current scene and elapsed time and remains stoppable without losing edits.
|
|
132
|
+
- id: export-ready
|
|
133
|
+
category: success
|
|
134
|
+
userVisible: true
|
|
135
|
+
requirement: At least three valid scenes exist and both editable-project and offline-production actions are available.
|
|
136
|
+
- id: exported
|
|
137
|
+
category: terminal
|
|
138
|
+
userVisible: true
|
|
139
|
+
requirement: The downloaded filename and content derive from the current project without mutating it.
|
|
140
|
+
- id: invalid-project
|
|
141
|
+
category: error
|
|
142
|
+
userVisible: true
|
|
143
|
+
requirement: Invalid, unsupported, unreadable, or oversized files produce an actionable message and preserve the current project.
|
|
144
|
+
transitions:
|
|
145
|
+
- from: loaded
|
|
146
|
+
to: editing
|
|
147
|
+
trigger: Change a project or scene field
|
|
148
|
+
- from: editing
|
|
149
|
+
to: previewing
|
|
150
|
+
trigger: Start production playback
|
|
151
|
+
- from: previewing
|
|
152
|
+
to: editing
|
|
153
|
+
trigger: Pause, restart, finish, or stop playback
|
|
154
|
+
- from: editing
|
|
155
|
+
to: export-ready
|
|
156
|
+
trigger: Project contains at least three valid scenes
|
|
157
|
+
- from: export-ready
|
|
158
|
+
to: exported
|
|
159
|
+
trigger: Save project or export offline HTML
|
|
160
|
+
- from: loaded
|
|
161
|
+
to: invalid-project
|
|
162
|
+
trigger: Open an invalid or unsupported project file
|
|
163
|
+
- from: invalid-project
|
|
164
|
+
to: editing
|
|
165
|
+
trigger: Continue editing the preserved project
|
|
166
|
+
- id: guided-progression
|
|
167
|
+
initial: not-started
|
|
168
|
+
states:
|
|
169
|
+
- id: not-started
|
|
170
|
+
category: idle
|
|
171
|
+
userVisible: true
|
|
172
|
+
requirement: The first task and six-step scope are visible without a countdown.
|
|
173
|
+
- id: in-progress
|
|
174
|
+
category: loading
|
|
175
|
+
userVisible: true
|
|
176
|
+
requirement: Current, completed, and remaining steps are distinguishable and the project is saved locally.
|
|
177
|
+
- id: workshop-complete
|
|
178
|
+
category: success
|
|
179
|
+
userVisible: true
|
|
180
|
+
requirement: Export and Continue in Demo Studio actions use the completed workshop project.
|
|
181
|
+
- id: storage-unavailable
|
|
182
|
+
category: fallback
|
|
183
|
+
userVisible: true
|
|
184
|
+
requirement: The workshop remains usable for the current session and does not claim progress was saved.
|
|
185
|
+
transitions:
|
|
186
|
+
- from: not-started
|
|
187
|
+
to: in-progress
|
|
188
|
+
trigger: Enter a valid handle and continue
|
|
189
|
+
- from: in-progress
|
|
190
|
+
to: workshop-complete
|
|
191
|
+
trigger: Finish the watch-the-whole-arc step
|
|
192
|
+
- from: not-started
|
|
193
|
+
to: storage-unavailable
|
|
194
|
+
trigger: Browser storage is unavailable
|
|
195
|
+
- from: in-progress
|
|
196
|
+
to: storage-unavailable
|
|
197
|
+
trigger: Persisting workshop state fails
|
|
198
|
+
- id: release-documentation
|
|
199
|
+
initial: draft
|
|
200
|
+
states:
|
|
201
|
+
- id: draft
|
|
202
|
+
category: idle
|
|
203
|
+
userVisible: true
|
|
204
|
+
requirement: Release fields, checklist state, and provenance entries remain editable locally.
|
|
205
|
+
- id: rights-unresolved
|
|
206
|
+
category: error
|
|
207
|
+
userVisible: true
|
|
208
|
+
requirement: Incomplete asset provenance is counted and explained without blocking continued documentation.
|
|
209
|
+
- id: documented
|
|
210
|
+
category: success
|
|
211
|
+
userVisible: true
|
|
212
|
+
requirement: The readme reflects current data while retaining the non-certification disclaimer.
|
|
213
|
+
transitions:
|
|
214
|
+
- from: draft
|
|
215
|
+
to: rights-unresolved
|
|
216
|
+
trigger: Add an incomplete or unconfirmed external asset
|
|
217
|
+
- from: rights-unresolved
|
|
218
|
+
to: documented
|
|
219
|
+
trigger: Complete provenance and explicitly confirm rights
|
|
220
|
+
- from: draft
|
|
221
|
+
to: documented
|
|
222
|
+
trigger: Generate readme with no external assets
|
|
223
|
+
|
|
224
|
+
metrics:
|
|
225
|
+
- id: scene-count
|
|
226
|
+
name: Production scene count
|
|
227
|
+
definition: Number of sanitized ordered scenes in the current editable production.
|
|
228
|
+
sourceOfTruth: Current version 2 project scenes array.
|
|
229
|
+
format: count
|
|
230
|
+
evidenceRequired: true
|
|
231
|
+
range: { min: 1, max: 8 }
|
|
232
|
+
- id: production-duration
|
|
233
|
+
name: Production duration
|
|
234
|
+
definition: Sum of current sanitized scene durations, not a separately entered estimate.
|
|
235
|
+
sourceOfTruth: Current project scene durationMs values.
|
|
236
|
+
format: duration
|
|
237
|
+
evidenceRequired: true
|
|
238
|
+
range: { min: 2, max: 480 }
|
|
239
|
+
- id: learning-progress
|
|
240
|
+
name: Learning path progress
|
|
241
|
+
definition: Completed requirements divided by the current path registry total.
|
|
242
|
+
sourceOfTruth: Coerced versioned local progress and current lesson or requirement registry.
|
|
243
|
+
format: percentage
|
|
244
|
+
evidenceRequired: true
|
|
245
|
+
range: { min: 0, max: 100 }
|
|
246
|
+
- id: release-checklist-count
|
|
247
|
+
name: Release checklist completion
|
|
248
|
+
definition: Number of current release checklist items explicitly checked by the producer.
|
|
249
|
+
sourceOfTruth: Current local release checklist record.
|
|
250
|
+
format: count
|
|
251
|
+
evidenceRequired: true
|
|
252
|
+
range: { min: 0, max: 9 }
|
|
253
|
+
|
|
254
|
+
constraints:
|
|
255
|
+
outOfScope:
|
|
256
|
+
- Certifying competition eligibility, originality, authorship, rights ownership, or event acceptance.
|
|
257
|
+
- Replacing specialist trackers, graphics tools, video editors, game engines, or hardware testing.
|
|
258
|
+
- Accounts, social feeds, cloud project storage, marketplace features, or public engagement statistics.
|
|
259
|
+
- Automatic publication or submission of exported work.
|
|
260
|
+
prohibitedClaims:
|
|
261
|
+
- Assembly-ready, competition-compliant, rights-cleared, original, or certified without independent current review.
|
|
262
|
+
- Representative-user success, completion time, or learning effectiveness without consented study evidence.
|
|
263
|
+
- Offline public application operation when only downloaded production artifacts are guaranteed offline.
|
|
264
|
+
- Community scale, popularity, creator counts, or completion statistics without a current source of truth.
|
|
265
|
+
mockData:
|
|
266
|
+
allowedEnvironments: [development, test, demo]
|
|
267
|
+
mustBeLabeled: true
|
|
268
|
+
prohibitedInProduction: true
|
|
269
|
+
fallbackDisclosure: Starter projects, preset effects, example copy, and tutorial state must remain labeled as editable starting material and never be presented as user authorship, rights evidence, or competition readiness.
|
|
270
|
+
|
|
271
|
+
acceptanceCriteria:
|
|
272
|
+
- id: project-state-integrity
|
|
273
|
+
title: Project state remains coherent and recoverable
|
|
274
|
+
severity: blocker
|
|
275
|
+
requirement: Identity, palette, scene order, timing, transitions, messages, cues, and effect parameters share one sanitized project source of truth; invalid imports preserve the current work and explain the rejection.
|
|
276
|
+
evidence: [contract, runtime]
|
|
277
|
+
appliesToModes: [studio-production, guided-workshop]
|
|
278
|
+
- id: offline-export-integrity
|
|
279
|
+
title: Export matches the current production and runs offline
|
|
280
|
+
severity: blocker
|
|
281
|
+
requirement: The downloaded production contains the current sanitized project, meaningful filename, start and Escape controls, deterministic renderers, and no playback-time network dependency.
|
|
282
|
+
evidence: [contract, runtime, export]
|
|
283
|
+
appliesToModes: [studio-production, guided-workshop]
|
|
284
|
+
- id: editable-project-integrity
|
|
285
|
+
title: Editable project download preserves current work
|
|
286
|
+
severity: blocker
|
|
287
|
+
requirement: Saving the project downloads a versioned, size-bounded JSON recipe representing the current production without uploading or mutating it.
|
|
288
|
+
evidence: [contract, runtime, export]
|
|
289
|
+
appliesToModes: [studio-production]
|
|
290
|
+
- id: guided-task-continuity
|
|
291
|
+
title: Guided workshop produces a transferable project
|
|
292
|
+
severity: blocker
|
|
293
|
+
requirement: The six-step route shows current progress, never imposes a countdown, and transfers the same completed project into Studio or offline export.
|
|
294
|
+
evidence: [runtime, screenshot]
|
|
295
|
+
appliesToModes: [guided-workshop]
|
|
296
|
+
- id: learning-progress-persistence
|
|
297
|
+
title: Learning progress is local, derived, and durable
|
|
298
|
+
severity: blocker
|
|
299
|
+
requirement: Completing a lesson updates versioned device-local state, survives navigation, and is recomputed against the current registry instead of duplicated as presentation-only progress.
|
|
300
|
+
evidence: [contract, runtime]
|
|
301
|
+
appliesToModes: [learning-path]
|
|
302
|
+
- id: provenance-workflow-integrity
|
|
303
|
+
title: Release provenance remains explicit
|
|
304
|
+
severity: blocker
|
|
305
|
+
requirement: Incomplete external-asset records remain unresolved until asset, creator, licence, and explicit rights confirmation exist; generated readme output preserves unresolved status and disclosure fields.
|
|
306
|
+
evidence: [contract, runtime, export]
|
|
307
|
+
appliesToModes: [release-preparation]
|
|
308
|
+
- id: honest-product-scope
|
|
309
|
+
title: Product scope and non-certification are explicit
|
|
310
|
+
severity: blocker
|
|
311
|
+
requirement: SceneStart distinguishes technical preparation from legal, originality, authorship, and event review and does not turn checklist completion into certification.
|
|
312
|
+
evidence: [contract, runtime]
|
|
313
|
+
appliesToModes: [studio-production, guided-workshop, learning-path, release-preparation]
|
|
314
|
+
- id: local-first-boundary
|
|
315
|
+
title: Creative state remains local to the user
|
|
316
|
+
severity: blocker
|
|
317
|
+
requirement: Project content, learning progress, workshop state, and provenance data are not sent to an application backend; hosting operations and optional external links are disclosed separately.
|
|
318
|
+
evidence: [contract, manual-review]
|
|
319
|
+
appliesToModes: [studio-production, guided-workshop, learning-path, release-preparation]
|
|
320
|
+
- id: responsive-integrity
|
|
321
|
+
title: Creation and learning tasks reflow without loss
|
|
322
|
+
severity: blocker
|
|
323
|
+
requirement: At 320, 390, 768, 1024, and 1440 CSS pixels, controls, timeline state, preview, progress, provenance fields, and download actions remain readable, operable, and free from page-level horizontal overflow.
|
|
324
|
+
evidence: [runtime, screenshot]
|
|
325
|
+
appliesToModes: [studio-production, guided-workshop, learning-path, release-preparation]
|
|
326
|
+
- id: accessible-operation
|
|
327
|
+
title: Critical workflows are keyboard and assistive-technology operable
|
|
328
|
+
severity: blocker
|
|
329
|
+
requirement: Inputs and controls have accessible names, focus remains visible and unobscured, progress and errors are announced, touch targets remain operable, status is not color-only, and authoring motion respects reduced-motion preferences.
|
|
330
|
+
evidence: [runtime, accessibility]
|
|
331
|
+
appliesToModes: [studio-production, guided-workshop, learning-path, release-preparation]
|
|
332
|
+
|
|
333
|
+
verification:
|
|
334
|
+
journeyFile: journeys.json
|
|
335
|
+
viewports:
|
|
336
|
+
- { name: mobile-320, width: 320, height: 800 }
|
|
337
|
+
- { name: mobile-390, width: 390, height: 844 }
|
|
338
|
+
- { name: tablet-768, width: 768, height: 1024 }
|
|
339
|
+
- { name: desktop-1024, width: 1024, height: 768 }
|
|
340
|
+
- { name: wide-1440, width: 1440, height: 900 }
|
|
341
|
+
bindings:
|
|
342
|
+
- profile: studio-export
|
|
343
|
+
journey: compose-save-export
|
|
344
|
+
actor: independent-producer
|
|
345
|
+
mode: studio-production
|
|
346
|
+
acceptanceCriteria: [project-state-integrity, offline-export-integrity, editable-project-integrity, honest-product-scope, responsive-integrity, accessible-operation]
|
|
347
|
+
- profile: guided-workshop
|
|
348
|
+
journey: complete-guided-production
|
|
349
|
+
actor: beginner-maker
|
|
350
|
+
mode: guided-workshop
|
|
351
|
+
acceptanceCriteria: [project-state-integrity, offline-export-integrity, guided-task-continuity, honest-product-scope, responsive-integrity, accessible-operation]
|
|
352
|
+
- profile: learning-persistence
|
|
353
|
+
journey: complete-and-resume-lesson
|
|
354
|
+
actor: beginner-maker
|
|
355
|
+
mode: learning-path
|
|
356
|
+
acceptanceCriteria: [learning-progress-persistence, honest-product-scope, responsive-integrity, accessible-operation]
|
|
357
|
+
- profile: release-provenance
|
|
358
|
+
journey: document-asset-and-readme
|
|
359
|
+
actor: independent-producer
|
|
360
|
+
mode: release-preparation
|
|
361
|
+
acceptanceCriteria: [provenance-workflow-integrity, honest-product-scope, local-first-boundary, responsive-integrity, accessible-operation]
|
|
362
|
+
|
|
363
|
+
benchmark:
|
|
364
|
+
archetype: full-stack-workflow
|
|
365
|
+
interface: browser
|
|
366
|
+
qualityDimensions:
|
|
367
|
+
- { id: truthful-disclosure, status: required, reason: "Local-first storage, exports, and asset rights require explicit boundaries." }
|
|
368
|
+
- { id: information-design, status: required, reason: "Creators must understand progression, project state, release readiness, and next actions." }
|
|
369
|
+
- { id: visual-system, status: required, reason: "Workshop, Studio, learning, and release surfaces require coherent hierarchy." }
|
|
370
|
+
- { id: accessibility, status: required, reason: "Authoring and learning workflows require keyboard, reflow, and non-color operation." }
|
|
371
|
+
- { id: responsive-structure, status: required, reason: "Core workflows are verified from 320px mobile through wide desktop." }
|
|
372
|
+
- { id: state-integrity, status: required, reason: "Workshop handoff, saved project state, learning progress, and exports must persist." }
|
|
373
|
+
- { id: maintainability, status: required, reason: "Learning, authoring, storage, export, and provenance concerns require stable boundaries." }
|
|
374
|
+
tasks:
|
|
375
|
+
- id: workshop-to-studio
|
|
376
|
+
primary: true
|
|
377
|
+
actor: beginner-maker
|
|
378
|
+
mode: guided-workshop
|
|
379
|
+
intent: Complete the guided production workflow and continue into Studio with the project handle and scenes intact.
|
|
380
|
+
start:
|
|
381
|
+
stateMachine: guided-progression
|
|
382
|
+
state: not-started
|
|
383
|
+
observable: The learner can begin a new guided project from Workshop.
|
|
384
|
+
success:
|
|
385
|
+
stateMachine: guided-progression
|
|
386
|
+
state: workshop-complete
|
|
387
|
+
observable: Workshop is complete and the same project opens in Studio with its creative state preserved.
|
|
388
|
+
evidence: [contract, runtime, manual-review]
|
|
389
|
+
recovery:
|
|
390
|
+
required: true
|
|
391
|
+
failure:
|
|
392
|
+
stateMachine: guided-progression
|
|
393
|
+
state: storage-unavailable
|
|
394
|
+
observable: Local storage failure is disclosed without claiming successful persistence.
|
|
395
|
+
observable: The learner can retain the current in-memory project, retry storage, or export before leaving.
|
|
396
|
+
journey: { profile: guided-workshop, journey: complete-guided-production }
|
|
397
|
+
browser: { route: /workshop, narrowViewport: mobile-320 }
|
|
398
|
+
- id: export-offline-production
|
|
399
|
+
primary: true
|
|
400
|
+
actor: independent-producer
|
|
401
|
+
mode: studio-production
|
|
402
|
+
intent: Save an editable project and export a working offline HTML production without uploading creative data.
|
|
403
|
+
start:
|
|
404
|
+
stateMachine: production-authoring
|
|
405
|
+
state: loaded
|
|
406
|
+
observable: A local project is loaded in Studio and available for editing.
|
|
407
|
+
success:
|
|
408
|
+
stateMachine: production-authoring
|
|
409
|
+
state: exported
|
|
410
|
+
observable: Editable project data and offline HTML are downloaded with the expected project content.
|
|
411
|
+
evidence: [contract, runtime, export, manual-review]
|
|
412
|
+
recovery:
|
|
413
|
+
required: true
|
|
414
|
+
failure:
|
|
415
|
+
stateMachine: production-authoring
|
|
416
|
+
state: invalid-project
|
|
417
|
+
observable: Invalid imported project data is rejected with a visible explanation.
|
|
418
|
+
observable: The producer can return to the intact current project or import a corrected local file.
|
|
419
|
+
journey: { profile: studio-export, journey: compose-save-export }
|
|
420
|
+
browser: { route: /studio, narrowViewport: mobile-320 }
|
|
421
|
+
evidencePolicy:
|
|
422
|
+
missingEvidence: unverified
|
|
423
|
+
failedBehavior: failed
|
|
424
|
+
unsupportedCapability: limitation
|
|
425
|
+
comparison:
|
|
426
|
+
taskContractId: scenestart-production-continuity
|
|
427
|
+
crossContractRanking: false
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
version: "1.0"
|
|
2
|
+
lockfile: package-lock.json
|
|
3
|
+
policy:
|
|
4
|
+
strategicCapabilitiesMustRemainProjectOwned: true
|
|
5
|
+
allowedLicenses: [MIT, ISC, Apache-2.0, BSD-2-Clause, BSD-3-Clause]
|
|
6
|
+
dependencies:
|
|
7
|
+
- name: "@modelcontextprotocol/sdk"
|
|
8
|
+
scope: runtime
|
|
9
|
+
versionRange: "^1.30.0"
|
|
10
|
+
resolvedVersion: "1.30.0"
|
|
11
|
+
license: MIT
|
|
12
|
+
role: replaceable-infrastructure
|
|
13
|
+
boundary: MCP server registration, transports, and protocol client tests.
|
|
14
|
+
fallback: CLI validators and quality-gate commands remain usable without an MCP host.
|
|
15
|
+
replacementTrigger: Protocol incompatibility, unacceptable license change, or unmaintained security risk.
|
|
16
|
+
- name: playwright-core
|
|
17
|
+
scope: runtime
|
|
18
|
+
versionRange: "^1.62.1"
|
|
19
|
+
resolvedVersion: "1.62.1"
|
|
20
|
+
license: Apache-2.0
|
|
21
|
+
role: replaceable-infrastructure
|
|
22
|
+
boundary: Browser launch, page automation, screenshots, and rendered evidence capture.
|
|
23
|
+
fallback: Static architecture audit, contract validation, and explicit runtime-unavailable reporting.
|
|
24
|
+
replacementTrigger: Unsupported target browsers, unacceptable installation cost, or unresolved security risk.
|
|
25
|
+
- name: typescript
|
|
26
|
+
scope: runtime
|
|
27
|
+
versionRange: "^5.9.3"
|
|
28
|
+
resolvedVersion: "5.9.3"
|
|
29
|
+
license: Apache-2.0
|
|
30
|
+
role: replaceable-infrastructure
|
|
31
|
+
boundary: Source parsing for deterministic audits and project compilation.
|
|
32
|
+
fallback: Contract, retrieval, heuristic, and manifest validators do not depend on compiler execution.
|
|
33
|
+
replacementTrigger: Parser incompatibility with supported source syntax or unacceptable license change.
|
|
34
|
+
- name: yaml
|
|
35
|
+
scope: runtime
|
|
36
|
+
versionRange: "^2.9.0"
|
|
37
|
+
resolvedVersion: "2.9.0"
|
|
38
|
+
license: ISC
|
|
39
|
+
role: replaceable-infrastructure
|
|
40
|
+
boundary: Parsing versioned local contracts, manifests, reviews, provenance, and dependency inventories.
|
|
41
|
+
fallback: Every executable contract accepts JSON where its public schema permits it.
|
|
42
|
+
replacementTrigger: Security issue, specification incompatibility, or unacceptable license change.
|
|
43
|
+
- name: zod
|
|
44
|
+
scope: runtime
|
|
45
|
+
versionRange: "^4.4.3"
|
|
46
|
+
resolvedVersion: "4.4.3"
|
|
47
|
+
license: MIT
|
|
48
|
+
role: replaceable-infrastructure
|
|
49
|
+
boundary: Runtime validation and MCP structured-output schemas.
|
|
50
|
+
fallback: Portable JSON Schemas preserve public artifact contracts for independent validators.
|
|
51
|
+
replacementTrigger: Runtime incompatibility, unacceptable bundle cost, or license change.
|
|
52
|
+
- name: "@types/node"
|
|
53
|
+
scope: development
|
|
54
|
+
versionRange: "^26.3.0"
|
|
55
|
+
resolvedVersion: "26.3.0"
|
|
56
|
+
license: MIT
|
|
57
|
+
role: replaceable-infrastructure
|
|
58
|
+
boundary: Compile-time Node.js API declarations only.
|
|
59
|
+
fallback: Pin a compatible declarations release or maintain minimal local declarations temporarily.
|
|
60
|
+
replacementTrigger: Node.js support mismatch or incompatible declaration changes.
|
|
61
|
+
- name: tsx
|
|
62
|
+
scope: development
|
|
63
|
+
versionRange: "^4.23.12"
|
|
64
|
+
resolvedVersion: "4.23.12"
|
|
65
|
+
license: MIT
|
|
66
|
+
role: replaceable-infrastructure
|
|
67
|
+
boundary: Development-only execution of the audit CLI before compilation.
|
|
68
|
+
fallback: Build with TypeScript and run the compiled JavaScript CLI.
|
|
69
|
+
replacementTrigger: Node.js incompatibility, security risk, or unacceptable license change.
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
# Design Intelligence Router
|
|
2
|
+
|
|
3
|
+
Use this maintained module set when a request needs product intake, interface trust, operational information design, visual polish, brand identity, Figma libraries, generated or sourced assets, icon systems, presentations, licensing records, or visual-accessibility review. Keep the root `SKILL.md` authoritative and load only the modules required by the deliverables.
|
|
4
|
+
|
|
5
|
+
## Required Workflow
|
|
6
|
+
|
|
7
|
+
For an interface system, use this order and record every stage in `design-deliverable.yaml`:
|
|
8
|
+
|
|
9
|
+
1. Validate the product evidence and generation boundary from `product-design-brief.template.yaml`.
|
|
10
|
+
2. Compile the brief with `compile_design_plan`, then resolve provisional contract decisions and
|
|
11
|
+
preserve route mapping for the target adapter.
|
|
12
|
+
3. Validate the product task and product contract.
|
|
13
|
+
4. Create and validate the truth and data-source contract from `interface-trust.template.yaml`.
|
|
14
|
+
5. Create and validate the information architecture from `information-design.template.yaml`.
|
|
15
|
+
6. Declare the interaction and state model.
|
|
16
|
+
7. Declare the visual direction using `visual-polish.md`.
|
|
17
|
+
8. Build primitive, semantic, and component token layers.
|
|
18
|
+
9. When the recompiled plan is implementation-ready and a new independent React fixture is
|
|
19
|
+
appropriate, read `generation-adapter.md` and run only the contained CLI adapter.
|
|
20
|
+
10. Implement the smallest coherent task path manually when no qualified adapter applies.
|
|
21
|
+
11. When a product contract needs task progress, recovery, keyboard, export, or offline evidence,
|
|
22
|
+
read `interaction-recovery-verification.md` and declare only applicable executable states.
|
|
23
|
+
12. Attach deterministic automated verification evidence, including every maintained viewport and
|
|
24
|
+
implemented color scheme for instrumented composition.
|
|
25
|
+
13. When a generated fixture has a supported architecture or runtime finding, read
|
|
26
|
+
`closed-loop-repair.md` and use the bounded CLI workflow. Stop and restore on repeated failure.
|
|
27
|
+
14. Request attributable human visual review of rendered output. Automated repair evidence cannot
|
|
28
|
+
satisfy a human obligation.
|
|
29
|
+
|
|
30
|
+
Before this sequence, inspect the existing brand, tokens, components, assets, rights records, and implementation stack. Preserve coherent systems unless redesign is requested. During it, route to the smallest relevant modules, record rights evidence for every distributable asset, and keep unresolved assets out of production output. A declaration validator cannot prove pixels, runtime behavior, legal clearance, usability, or human validation.
|
|
31
|
+
|
|
32
|
+
## Module Routing
|
|
33
|
+
|
|
34
|
+
| Deliverable | Read |
|
|
35
|
+
|---|---|
|
|
36
|
+
| New product, consequential redesign, audience, task, data, assumptions, or generation readiness | `product-design-brief.md` |
|
|
37
|
+
| Deterministic planning, route proposals, component and state ownership, contract readiness, or verification obligations | `design-plan.md` |
|
|
38
|
+
| Contained generation of a new independent React and TypeScript fixture from an implementation-ready plan | `generation-adapter.md` |
|
|
39
|
+
| Finding-bound repair of a generated React fixture with before and after evidence | `closed-loop-repair.md` |
|
|
40
|
+
| Executable task progress, recovery, keyboard, export, or offline verification | `interaction-recovery-verification.md` |
|
|
41
|
+
| Operational state, external data, generated results, fallback, history, or export provenance | `interface-trust.md` |
|
|
42
|
+
| Operational metrics, findings, charts, hierarchy, long labels, or large collections | `information-design.md` |
|
|
43
|
+
| Visual direction, typography, composition, density, states, motion, charts, or rendered visual review | `visual-polish.md` |
|
|
44
|
+
| Brand identity, logo family, voice, or visual direction | `brand-systems.md` |
|
|
45
|
+
| Figma variables, modes, components, libraries, or handoff | `figma-production.md` |
|
|
46
|
+
| Generated images, illustrations, photos, textures, charts, audio, or video | `asset-generation.md` |
|
|
47
|
+
| Product icons or a custom icon family | `iconography.md` |
|
|
48
|
+
| Presentation deck, report slides, or reusable masters | `presentation-design.md` |
|
|
49
|
+
| Any third-party, generated, commissioned, or user-provided asset | `licensing-and-provenance.md` |
|
|
50
|
+
| Color, contrast, non-color cues, alternatives, or export accessibility | `visual-accessibility.md` |
|
|
51
|
+
|
|
52
|
+
## Evidence Boundary
|
|
53
|
+
|
|
54
|
+
The design-deliverable manifest is a structured claim with evidence references. Passing validation means the declaration is internally consistent and its recorded token math meets the implemented checks. It does not mean:
|
|
55
|
+
|
|
56
|
+
- Every screen or exported asset uses the declared tokens.
|
|
57
|
+
- A Figma file contains the declared pages, variables, properties, or states.
|
|
58
|
+
- A rights basis is legally sufficient in every jurisdiction or channel.
|
|
59
|
+
- Generated media is free of confusing similarity or third-party claims.
|
|
60
|
+
- Rendered contrast, reading order, alternative text, or interaction behavior passes review.
|
|
61
|
+
|
|
62
|
+
Use source inspection, Figma inspection, export inspection, browser verification, and qualified human review to close those evidence gaps.
|
|
63
|
+
|
|
64
|
+
The product design brief proves that generation inputs are internally consistent, source-traceable,
|
|
65
|
+
and acceptance-covered. It does not prove product desirability, implementation correctness, or
|
|
66
|
+
release readiness.
|
|
67
|
+
|
|
68
|
+
The interface-trust contract has the same boundary. Passing validation proves internal source and disclosure consistency, not that the rendered interface displays the declarations or that an external service is available.
|
|
69
|
+
|
|
70
|
+
The information-design contract proves declaration structure and decision traceability only. It does not prove correct calculations, rendered hierarchy, responsive behavior, or representative-user comprehension.
|
|
71
|
+
|
|
72
|
+
The visual-polish report separates structural pass, verified rendered evidence, attributable human review, and release readiness. Planned screenshots and agent-authored critique never satisfy the latter two gates.
|
|
73
|
+
|
|
74
|
+
The integrated design report also separates generation readiness, contract validation, automated verification, and human review. `passed` means the manifest is internally consistent; only `integration.releaseReady` means every declared V2 gate is complete.
|
|
75
|
+
|
|
76
|
+
## Completion Gate
|
|
77
|
+
|
|
78
|
+
A design-intelligence deliverable is ready for handoff only when:
|
|
79
|
+
|
|
80
|
+
- The manifest passes with no errors.
|
|
81
|
+
- Every shipped asset has approved rights status and traceable evidence.
|
|
82
|
+
- Token references terminate at valid primitives and declared contrast pairs pass.
|
|
83
|
+
- Semantic icons have accessible names or equivalent visible text.
|
|
84
|
+
- Presentation slides use declared masters and have explicit reading order.
|
|
85
|
+
- Final artifacts have been inspected at their actual size and channel.
|
|
86
|
+
- Interface systems have verified captures at 375, 768, 1024, and 1440 CSS pixels and attributable human review before visual release.
|
|
87
|
+
- Remaining warnings and limitations are reported rather than hidden.
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# Asset Generation
|
|
2
|
+
|
|
3
|
+
Treat asset creation as a controlled production pipeline. Generate or source real assets only after their role, constraints, evidence, and fallback behavior are known.
|
|
4
|
+
|
|
5
|
+
## Step 1: Write The Asset Brief
|
|
6
|
+
|
|
7
|
+
For each asset, define:
|
|
8
|
+
|
|
9
|
+
- A stable identifier, one concrete purpose, and the decision or task it supports.
|
|
10
|
+
- Product task and location.
|
|
11
|
+
- Information the asset must communicate.
|
|
12
|
+
- Audience, channel, dimensions, crop behavior, and density.
|
|
13
|
+
- Brand attributes and prohibited traits.
|
|
14
|
+
- Required subject accuracy and details that must remain visible.
|
|
15
|
+
- Background, transparency, safe area, and text-overlay constraints.
|
|
16
|
+
- Alternative-content requirement.
|
|
17
|
+
- Failure behavior: hide decorative media, preserve a text alternative, show a factual placeholder,
|
|
18
|
+
offer retry, or block only when the task cannot remain truthful without the asset.
|
|
19
|
+
- Rights and provenance requirements.
|
|
20
|
+
|
|
21
|
+
Do not use an atmospheric placeholder where users need to inspect a product, person, state, place, or result.
|
|
22
|
+
|
|
23
|
+
## Step 2: Choose A Production Method
|
|
24
|
+
|
|
25
|
+
Use existing approved assets when they satisfy the brief. Use licensed libraries for commodity imagery or media when terms fit the channels. Commission or create original work when distinctiveness, factual control, or long-term ownership matters. Use generative tools when iteration speed is valuable and the output can be reviewed, corrected, and documented.
|
|
26
|
+
|
|
27
|
+
Keep generation provider-neutral. Record provider, model, prompt artifact, human selection and editing, and every reference asset. Do not use references with pending, rejected, or unknown rights. Do not request imitation of a living artist, competitor identity, protected character, or identifiable private person without an appropriate basis and review.
|
|
28
|
+
|
|
29
|
+
## Step 3: Generate And Select
|
|
30
|
+
|
|
31
|
+
Generate purposeful variants that test composition, hierarchy, crop, lighting, and brand fit. Do not treat minor seed changes as meaningful exploration.
|
|
32
|
+
|
|
33
|
+
Reject output with:
|
|
34
|
+
|
|
35
|
+
- Incorrect product geometry or UI.
|
|
36
|
+
- Invented text, metrics, controls, logos, or certification marks.
|
|
37
|
+
- Inconsistent hands, faces, perspective, shadows, or reflections.
|
|
38
|
+
- Visual ambiguity at intended size.
|
|
39
|
+
- Inaccessible text baked into imagery.
|
|
40
|
+
- Unclear resemblance or source provenance.
|
|
41
|
+
- A composition that cannot survive responsive cropping.
|
|
42
|
+
|
|
43
|
+
Selection must be based on the brief and not only visual novelty.
|
|
44
|
+
|
|
45
|
+
## Step 4: Finish The Asset
|
|
46
|
+
|
|
47
|
+
- Retouch factual and visual errors.
|
|
48
|
+
- Rebuild logos, diagrams, charts, and icons as controlled vector or code-native artifacts when appropriate.
|
|
49
|
+
- Remove metadata that should not ship while preserving internal provenance records.
|
|
50
|
+
- Export intended formats and densities.
|
|
51
|
+
- Compress without damaging text, line art, or required detail.
|
|
52
|
+
- Define focal point, crop rules, alt text or equivalent, and fallback behavior.
|
|
53
|
+
- Test on actual backgrounds and viewport ranges.
|
|
54
|
+
|
|
55
|
+
## Step 5: Record Provenance
|
|
56
|
+
|
|
57
|
+
Every version 2.1 asset record must include purpose, origin, creator, local path, rights status,
|
|
58
|
+
rights basis, evidence, restrictions, attribution when required, alternative-content classification,
|
|
59
|
+
and explicit failure behavior. Generated assets also require model and prompt records, human
|
|
60
|
+
contributions, and reference-rights status.
|
|
61
|
+
|
|
62
|
+
An `approved` label without a source URL or evidence path is invalid. Generated output is not automatically owned, copyrightable, non-infringing, or suitable for every use.
|
|
63
|
+
|
|
64
|
+
## Validation
|
|
65
|
+
|
|
66
|
+
Run the design-deliverable validator, then inspect the actual asset at 100 percent, intended display size, smallest responsive crop, and highest-risk background. Use human review for product accuracy, resemblance, taste, cultural context, and brand distinctiveness.
|