@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,591 @@
|
|
|
1
|
+
version: "2.1"
|
|
2
|
+
id: example-product-design-system
|
|
3
|
+
product: Example Product
|
|
4
|
+
preparedAt: 2026-08-26T12:00:00+03:00
|
|
5
|
+
preparedBy:
|
|
6
|
+
type: mixed
|
|
7
|
+
name: Product design team
|
|
8
|
+
scope:
|
|
9
|
+
deliverables: [interface-system, brand-system, figma-library, asset-set, icon-system, presentation]
|
|
10
|
+
audience: Operations professionals evaluating and acting on product evidence
|
|
11
|
+
channels: [web, mobile, presentation]
|
|
12
|
+
tokenSystem:
|
|
13
|
+
tokens:
|
|
14
|
+
- name: color.primitive.ink-950
|
|
15
|
+
type: color
|
|
16
|
+
level: primitive
|
|
17
|
+
value: "#0b0f14"
|
|
18
|
+
description: Darkest neutral for high-emphasis text
|
|
19
|
+
- name: color.primitive.white
|
|
20
|
+
type: color
|
|
21
|
+
level: primitive
|
|
22
|
+
value: "#ffffff"
|
|
23
|
+
description: Lightest neutral surface
|
|
24
|
+
- name: color.primitive.blue-700
|
|
25
|
+
type: color
|
|
26
|
+
level: primitive
|
|
27
|
+
value: "#1455b8"
|
|
28
|
+
description: Accessible blue action primitive
|
|
29
|
+
- name: color.semantic.text-primary
|
|
30
|
+
type: color
|
|
31
|
+
level: semantic
|
|
32
|
+
reference: color.primitive.ink-950
|
|
33
|
+
description: Primary foreground on light surfaces
|
|
34
|
+
- name: color.semantic.surface
|
|
35
|
+
type: color
|
|
36
|
+
level: semantic
|
|
37
|
+
reference: color.primitive.white
|
|
38
|
+
description: Default application surface
|
|
39
|
+
- name: color.semantic.action-primary
|
|
40
|
+
type: color
|
|
41
|
+
level: semantic
|
|
42
|
+
reference: color.primitive.blue-700
|
|
43
|
+
description: Primary action and focus treatment
|
|
44
|
+
- name: color.component.button-primary-label
|
|
45
|
+
type: color
|
|
46
|
+
level: component
|
|
47
|
+
reference: color.primitive.white
|
|
48
|
+
description: Label foreground for primary buttons
|
|
49
|
+
- { name: color.primitive.neutral-50, type: color, level: primitive, value: "#f6f8fa", description: Subtle neutral surface }
|
|
50
|
+
- { name: color.primitive.neutral-200, type: color, level: primitive, value: "#d0d7de", description: Default neutral border }
|
|
51
|
+
- { name: color.primitive.neutral-500, type: color, level: primitive, value: "#57606a", description: Secondary neutral foreground }
|
|
52
|
+
- { name: color.primitive.neutral-800, type: color, level: primitive, value: "#30363d", description: Dark-mode grouped surface }
|
|
53
|
+
- { name: color.primitive.blue-300, type: color, level: primitive, value: "#58a6ff", description: Dark-mode action and focus primitive }
|
|
54
|
+
- { name: color.primitive.blue-50, type: color, level: primitive, value: "#ddf4ff", description: Selected surface blue }
|
|
55
|
+
- { name: color.primitive.green-700, type: color, level: primitive, value: "#1a7f37", description: Success foreground }
|
|
56
|
+
- { name: color.primitive.amber-700, type: color, level: primitive, value: "#9a6700", description: Warning foreground }
|
|
57
|
+
- { name: color.primitive.amber-300, type: color, level: primitive, value: "#f2cc60", description: Dark-mode warning foreground }
|
|
58
|
+
- { name: color.primitive.red-700, type: color, level: primitive, value: "#cf222e", description: Error foreground }
|
|
59
|
+
- { name: font.primitive.sans, type: font-family, level: primitive, value: "Inter, system-ui, sans-serif", description: Product interface family }
|
|
60
|
+
- { name: font.primitive.mono, type: font-family, level: primitive, value: "ui-monospace, SFMono-Regular, monospace", description: Evidence and code family }
|
|
61
|
+
- { name: weight.primitive.regular, type: font-weight, level: primitive, value: 400, description: Regular text weight }
|
|
62
|
+
- { name: weight.primitive.medium, type: font-weight, level: primitive, value: 500, description: Medium text weight }
|
|
63
|
+
- { name: weight.primitive.semibold, type: font-weight, level: primitive, value: 600, description: Semibold label weight }
|
|
64
|
+
- { name: weight.primitive.bold, type: font-weight, level: primitive, value: 700, description: Strong heading and metric weight }
|
|
65
|
+
- { name: size.primitive.4, type: dimension, level: primitive, value: 4, description: Four pixel spacing step }
|
|
66
|
+
- { name: size.primitive.8, type: dimension, level: primitive, value: 8, description: Eight pixel spacing step }
|
|
67
|
+
- { name: size.primitive.12, type: dimension, level: primitive, value: 12, description: Twelve pixel size step }
|
|
68
|
+
- { name: size.primitive.14, type: dimension, level: primitive, value: 14, description: Fourteen pixel type step }
|
|
69
|
+
- { name: size.primitive.16, type: dimension, level: primitive, value: 16, description: Sixteen pixel type and spacing step }
|
|
70
|
+
- { name: size.primitive.20, type: dimension, level: primitive, value: 20, description: Twenty pixel type step }
|
|
71
|
+
- { name: size.primitive.24, type: dimension, level: primitive, value: 24, description: Twenty-four pixel spacing step }
|
|
72
|
+
- { name: size.primitive.28, type: dimension, level: primitive, value: 28, description: Heading type step }
|
|
73
|
+
- { name: size.primitive.32, type: dimension, level: primitive, value: 32, description: Metric type and spacing step }
|
|
74
|
+
- { name: size.primitive.40, type: dimension, level: primitive, value: 40, description: Compact control and row height }
|
|
75
|
+
- { name: size.primitive.48, type: dimension, level: primitive, value: 48, description: Default row height }
|
|
76
|
+
- { name: size.primitive.64, type: dimension, level: primitive, value: 64, description: Large spacing step }
|
|
77
|
+
- { name: size.primitive.1200, type: dimension, level: primitive, value: 1200, description: Bounded application content width }
|
|
78
|
+
- { name: leading.primitive.tight, type: number, level: primitive, value: 1.25, description: Tight display line height }
|
|
79
|
+
- { name: leading.primitive.normal, type: number, level: primitive, value: 1.4, description: Compact evidence line height }
|
|
80
|
+
- { name: leading.primitive.reading, type: number, level: primitive, value: 1.5, description: Body reading line height }
|
|
81
|
+
- { name: duration.primitive.80, type: duration, level: primitive, value: 80, description: Instant state update }
|
|
82
|
+
- { name: duration.primitive.160, type: duration, level: primitive, value: 160, description: Direct feedback duration }
|
|
83
|
+
- { name: duration.primitive.250, type: duration, level: primitive, value: 250, description: Spatial transition duration }
|
|
84
|
+
- { name: duration.primitive.400, type: duration, level: primitive, value: 400, description: Bounded emphasis duration }
|
|
85
|
+
- { name: shadow.primitive.none, type: shadow, level: primitive, value: none, description: Base surface without elevation }
|
|
86
|
+
- { name: shadow.primitive.raised, type: shadow, level: primitive, value: "0 1px 2px rgba(11,15,20,0.12)", description: Raised control or panel shadow }
|
|
87
|
+
- { name: shadow.primitive.overlay, type: shadow, level: primitive, value: "0 8px 24px rgba(11,15,20,0.18)", description: Overlay shadow }
|
|
88
|
+
- { name: color.semantic.text-secondary, type: color, level: semantic, reference: color.primitive.neutral-500, description: Secondary foreground }
|
|
89
|
+
- { name: color.semantic.surface-subtle, type: color, level: semantic, reference: color.primitive.neutral-50, description: Subtle grouped surface }
|
|
90
|
+
- { name: color.semantic.surface-raised, type: color, level: semantic, reference: color.primitive.white, description: Raised task surface }
|
|
91
|
+
- { name: color.semantic.surface-overlay, type: color, level: semantic, reference: color.primitive.white, description: Overlay surface }
|
|
92
|
+
- { name: color.semantic.surface-inverse, type: color, level: semantic, reference: color.primitive.ink-950, description: Inverse surface }
|
|
93
|
+
- { name: color.semantic.border-default, type: color, level: semantic, reference: color.primitive.neutral-200, description: Default grouped border }
|
|
94
|
+
- { name: color.semantic.border-strong, type: color, level: semantic, reference: color.primitive.neutral-500, description: Strong separator border }
|
|
95
|
+
- { name: color.semantic.border-selected, type: color, level: semantic, reference: color.primitive.blue-700, description: Selected item border }
|
|
96
|
+
- { name: color.semantic.surface-selected, type: color, level: semantic, reference: color.primitive.blue-50, description: Selected item surface }
|
|
97
|
+
- { name: color.semantic.status-success, type: color, level: semantic, reference: color.primitive.green-700, description: Success state foreground }
|
|
98
|
+
- { name: color.semantic.status-warning, type: color, level: semantic, reference: color.primitive.amber-700, description: Warning and partial foreground }
|
|
99
|
+
- { name: color.semantic.status-error, type: color, level: semantic, reference: color.primitive.red-700, description: Error state foreground }
|
|
100
|
+
- { name: font.semantic.interface, type: font-family, level: semantic, reference: font.primitive.sans, description: Interface type family }
|
|
101
|
+
- { name: font.semantic.code, type: font-family, level: semantic, reference: font.primitive.mono, description: Code and log family }
|
|
102
|
+
- { name: weight.semantic.body, type: font-weight, level: semantic, reference: weight.primitive.regular, description: Body weight }
|
|
103
|
+
- { name: weight.semantic.label, type: font-weight, level: semantic, reference: weight.primitive.semibold, description: Label weight }
|
|
104
|
+
- { name: weight.semantic.heading, type: font-weight, level: semantic, reference: weight.primitive.bold, description: Heading weight }
|
|
105
|
+
- { name: weight.semantic.metric, type: font-weight, level: semantic, reference: weight.primitive.bold, description: Metric weight }
|
|
106
|
+
- { name: type.semantic.body, type: dimension, level: semantic, reference: size.primitive.16, description: Body size }
|
|
107
|
+
- { name: type.semantic.label, type: dimension, level: semantic, reference: size.primitive.14, description: Label size }
|
|
108
|
+
- { name: type.semantic.heading, type: dimension, level: semantic, reference: size.primitive.28, description: Section heading size }
|
|
109
|
+
- { name: type.semantic.metadata, type: dimension, level: semantic, reference: size.primitive.12, description: Metadata size }
|
|
110
|
+
- { name: type.semantic.metric, type: dimension, level: semantic, reference: size.primitive.32, description: Primary metric size }
|
|
111
|
+
- { name: type.semantic.evidence, type: dimension, level: semantic, reference: size.primitive.14, description: Evidence text size }
|
|
112
|
+
- { name: type.semantic.log, type: dimension, level: semantic, reference: size.primitive.14, description: Log text size }
|
|
113
|
+
- { name: type.semantic.code, type: dimension, level: semantic, reference: size.primitive.14, description: Code text size }
|
|
114
|
+
- { name: leading.semantic.tight, type: number, level: semantic, reference: leading.primitive.tight, description: Tight heading and metric line height }
|
|
115
|
+
- { name: leading.semantic.normal, type: number, level: semantic, reference: leading.primitive.normal, description: Compact evidence line height }
|
|
116
|
+
- { name: leading.semantic.reading, type: number, level: semantic, reference: leading.primitive.reading, description: Body reading line height }
|
|
117
|
+
- { name: space.semantic.4, type: dimension, level: semantic, reference: size.primitive.4, description: Small internal gap }
|
|
118
|
+
- { name: space.semantic.8, type: dimension, level: semantic, reference: size.primitive.8, description: Compact internal gap }
|
|
119
|
+
- { name: space.semantic.12, type: dimension, level: semantic, reference: size.primitive.12, description: Standard internal gap }
|
|
120
|
+
- { name: space.semantic.16, type: dimension, level: semantic, reference: size.primitive.16, description: Standard container inset }
|
|
121
|
+
- { name: space.semantic.24, type: dimension, level: semantic, reference: size.primitive.24, description: Section gap }
|
|
122
|
+
- { name: space.semantic.32, type: dimension, level: semantic, reference: size.primitive.32, description: Large section gap }
|
|
123
|
+
- { name: space.semantic.64, type: dimension, level: semantic, reference: size.primitive.64, description: Major composition gap }
|
|
124
|
+
- { name: size.semantic.control, type: dimension, level: semantic, reference: size.primitive.40, description: Stable control height }
|
|
125
|
+
- { name: size.semantic.row, type: dimension, level: semantic, reference: size.primitive.48, description: Default operational row height }
|
|
126
|
+
- { name: size.semantic.row-compact, type: dimension, level: semantic, reference: size.primitive.40, description: Compact operational row height }
|
|
127
|
+
- { name: size.semantic.content-max, type: dimension, level: semantic, reference: size.primitive.1200, description: Bounded application width }
|
|
128
|
+
- { name: duration.semantic.instant, type: duration, level: semantic, reference: duration.primitive.80, description: Immediate interface response }
|
|
129
|
+
- { name: duration.semantic.feedback, type: duration, level: semantic, reference: duration.primitive.160, description: Direct action feedback }
|
|
130
|
+
- { name: duration.semantic.transition, type: duration, level: semantic, reference: duration.primitive.250, description: Spatial state transition }
|
|
131
|
+
- { name: duration.semantic.emphasis, type: duration, level: semantic, reference: duration.primitive.400, description: Bounded attention emphasis }
|
|
132
|
+
- { name: shadow.semantic.base, type: shadow, level: semantic, reference: shadow.primitive.none, description: Base elevation }
|
|
133
|
+
- { name: shadow.semantic.raised, type: shadow, level: semantic, reference: shadow.primitive.raised, description: Raised task surface elevation }
|
|
134
|
+
- { name: shadow.semantic.overlay, type: shadow, level: semantic, reference: shadow.primitive.overlay, description: Overlay elevation }
|
|
135
|
+
modes:
|
|
136
|
+
- name: dark
|
|
137
|
+
overrides:
|
|
138
|
+
- token: color.semantic.text-primary
|
|
139
|
+
reference: color.primitive.white
|
|
140
|
+
- token: color.semantic.text-secondary
|
|
141
|
+
reference: color.primitive.neutral-200
|
|
142
|
+
- token: color.semantic.surface
|
|
143
|
+
reference: color.primitive.ink-950
|
|
144
|
+
- token: color.semantic.surface-subtle
|
|
145
|
+
reference: color.primitive.neutral-800
|
|
146
|
+
- token: color.semantic.surface-raised
|
|
147
|
+
reference: color.primitive.neutral-800
|
|
148
|
+
- token: color.semantic.surface-overlay
|
|
149
|
+
reference: color.primitive.neutral-800
|
|
150
|
+
- token: color.semantic.action-primary
|
|
151
|
+
reference: color.primitive.blue-300
|
|
152
|
+
- token: color.semantic.border-selected
|
|
153
|
+
reference: color.primitive.blue-300
|
|
154
|
+
- token: color.semantic.surface-selected
|
|
155
|
+
reference: color.primitive.neutral-800
|
|
156
|
+
- token: color.semantic.status-warning
|
|
157
|
+
reference: color.primitive.amber-300
|
|
158
|
+
- token: color.component.button-primary-label
|
|
159
|
+
reference: color.primitive.ink-950
|
|
160
|
+
productTask:
|
|
161
|
+
productContractId: example-product-contract
|
|
162
|
+
contractPath: evidence/product/product-contract.yaml
|
|
163
|
+
primaryUser: Operations professional responsible for reviewing and resolving evidence-backed findings
|
|
164
|
+
task: Identify the highest-priority issue, inspect its evidence and impact, route remediation, and verify the outcome.
|
|
165
|
+
successCriteria:
|
|
166
|
+
- The user can identify scope, priority, evidence, impact, next action, and validation method.
|
|
167
|
+
- Consequential actions preserve state, provenance, and recovery information.
|
|
168
|
+
consequentialActions:
|
|
169
|
+
- Route an approved finding to the remediation queue.
|
|
170
|
+
- Export or retain an operational result.
|
|
171
|
+
interfaceTrust:
|
|
172
|
+
contractId: operational-interface-trust-v1
|
|
173
|
+
contractPath: knowledge-base/design-intelligence/interface-trust.template.yaml
|
|
174
|
+
version: "1.0"
|
|
175
|
+
status: declared
|
|
176
|
+
requiredScenarios: [demo, live, fallback, stale, disconnected]
|
|
177
|
+
informationHierarchy:
|
|
178
|
+
contractId: operational-information-design-v1
|
|
179
|
+
contractPath: knowledge-base/design-intelligence/information-design.template.yaml
|
|
180
|
+
version: "1.0"
|
|
181
|
+
status: declared
|
|
182
|
+
levels:
|
|
183
|
+
- context-provenance
|
|
184
|
+
- primary-outcome-action
|
|
185
|
+
- critical-exceptions
|
|
186
|
+
- health-impact-metrics
|
|
187
|
+
- prioritized-findings
|
|
188
|
+
- operational-telemetry
|
|
189
|
+
- evidence-audit-trail
|
|
190
|
+
- history-exports
|
|
191
|
+
metricContracts:
|
|
192
|
+
informationContractId: operational-information-design-v1
|
|
193
|
+
metrics:
|
|
194
|
+
- metricId: recoverable-monthly-cost
|
|
195
|
+
decision: Decide how much current cost merits drill-down and validated remediation.
|
|
196
|
+
hierarchyLevel: primary-outcome-action
|
|
197
|
+
chartRefs: []
|
|
198
|
+
- metricId: critical-finding-count
|
|
199
|
+
decision: Decide which current exceptions require immediate review.
|
|
200
|
+
hierarchyLevel: health-impact-metrics
|
|
201
|
+
chartRefs: []
|
|
202
|
+
- metricId: validation-pass-rate
|
|
203
|
+
decision: Decide whether remediation failures need process correction or targeted follow-up.
|
|
204
|
+
hierarchyLevel: operational-telemetry
|
|
205
|
+
chartRefs: [validation-outcome-trend]
|
|
206
|
+
generationWorkflow:
|
|
207
|
+
steps:
|
|
208
|
+
- { stage: product-task, status: declared, artifactRefs: [example-product-contract] }
|
|
209
|
+
- { stage: truth-data-source-contract, status: declared, artifactRefs: [operational-interface-trust-v1] }
|
|
210
|
+
- { stage: information-architecture, status: declared, artifactRefs: [operational-information-design-v1] }
|
|
211
|
+
- { stage: interaction-state-model, status: declared, artifactRefs: [example-product-design-system] }
|
|
212
|
+
- { stage: visual-direction, status: declared, artifactRefs: [visual-direction-brief] }
|
|
213
|
+
- { stage: token-architecture, status: declared, artifactRefs: [example-product-design-system] }
|
|
214
|
+
- { stage: implementation, status: required, artifactRefs: [] }
|
|
215
|
+
- { stage: automated-verification, status: required, artifactRefs: [] }
|
|
216
|
+
- { stage: human-visual-review, status: review-required, artifactRefs: [] }
|
|
217
|
+
visualDirection:
|
|
218
|
+
domain: Enterprise operations and evidence review
|
|
219
|
+
intent: A calm, precise, work-focused interface that makes scope, exceptions, evidence, and next actions immediately scannable.
|
|
220
|
+
principles: [task-first hierarchy, restrained surfaces, explicit evidence, stable geometry]
|
|
221
|
+
avoid: [decorative agent diagrams, excessive glow, meaningless gradients, ornamental status elements]
|
|
222
|
+
tokenRefs: [color.semantic.text-primary, color.semantic.text-secondary, color.semantic.surface, color.semantic.surface-subtle, color.semantic.action-primary, color.semantic.border-default]
|
|
223
|
+
ornamentPolicy:
|
|
224
|
+
decorativeAgentDiagrams: false
|
|
225
|
+
excessiveGlow: false
|
|
226
|
+
meaninglessGradients: false
|
|
227
|
+
ornamentalStatusElements: false
|
|
228
|
+
referenceEvidenceRefs: [visual-direction-brief]
|
|
229
|
+
typography:
|
|
230
|
+
minimumBodySizePx: 16
|
|
231
|
+
maximumLineLengthCharacters: 72
|
|
232
|
+
numericAlignment: tabular
|
|
233
|
+
roles:
|
|
234
|
+
- { role: body, familyToken: font.semantic.interface, sizeToken: type.semantic.body, weightToken: weight.semantic.body, lineHeightToken: leading.semantic.reading, colorToken: color.semantic.text-primary, usage: "Instructions, descriptions, and sustained reading." }
|
|
235
|
+
- { role: label, familyToken: font.semantic.interface, sizeToken: type.semantic.label, weightToken: weight.semantic.label, lineHeightToken: leading.semantic.normal, colorToken: color.semantic.text-primary, usage: "Controls, fields, table headers, and concise categories." }
|
|
236
|
+
- { role: heading, familyToken: font.semantic.interface, sizeToken: type.semantic.heading, weightToken: weight.semantic.heading, lineHeightToken: leading.semantic.tight, colorToken: color.semantic.text-primary, usage: Page and section hierarchy without dashboard hero scaling. }
|
|
237
|
+
- { role: metadata, familyToken: font.semantic.interface, sizeToken: type.semantic.metadata, weightToken: weight.semantic.body, lineHeightToken: leading.semantic.normal, colorToken: color.semantic.text-secondary, usage: "Scope, timestamps, provenance, and secondary identifiers." }
|
|
238
|
+
- { role: metric, familyToken: font.semantic.interface, sizeToken: type.semantic.metric, weightToken: weight.semantic.metric, lineHeightToken: leading.semantic.tight, colorToken: color.semantic.text-primary, usage: Decision metrics with tabular numerals and explicit units. }
|
|
239
|
+
- { role: evidence, familyToken: font.semantic.interface, sizeToken: type.semantic.evidence, weightToken: weight.semantic.body, lineHeightToken: leading.semantic.reading, colorToken: color.semantic.text-primary, usage: "Observations, limitations, and validation evidence." }
|
|
240
|
+
- { role: log, familyToken: font.semantic.code, sizeToken: type.semantic.log, weightToken: weight.semantic.body, lineHeightToken: leading.semantic.normal, colorToken: color.semantic.text-secondary, usage: Runtime logs and ordered processing output. }
|
|
241
|
+
- { role: code, familyToken: font.semantic.code, sizeToken: type.semantic.code, weightToken: weight.semantic.body, lineHeightToken: leading.semantic.normal, colorToken: color.semantic.text-primary, usage: "Commands, identifiers, paths, and code fragments." }
|
|
242
|
+
composition:
|
|
243
|
+
contentWidth: { strategy: hybrid, maximumPx: 1200 }
|
|
244
|
+
grids:
|
|
245
|
+
- { viewport: 375, columns: 4, gutterToken: space.semantic.12, marginToken: space.semantic.16, composition: "Single-column task flow with primary outcome, exceptions, and action before telemetry." }
|
|
246
|
+
- { viewport: 768, columns: 8, gutterToken: space.semantic.16, marginToken: space.semantic.24, composition: Two-region layout where evidence follows the primary task without side scrolling. }
|
|
247
|
+
- { viewport: 1024, columns: 12, gutterToken: space.semantic.24, marginToken: space.semantic.24, composition: Operational overview with bounded metric row and prioritized findings. }
|
|
248
|
+
- { viewport: 1440, columns: 12, gutterToken: space.semantic.24, marginToken: space.semantic.32, composition: "Bounded workspace with stable navigation, main evidence, and contextual detail regions." }
|
|
249
|
+
spacingRhythm:
|
|
250
|
+
baseToken: space.semantic.4
|
|
251
|
+
allowedStepTokens: [space.semantic.4, space.semantic.8, space.semantic.12, space.semantic.16, space.semantic.24, space.semantic.32, space.semantic.64]
|
|
252
|
+
alignmentRules:
|
|
253
|
+
- Align labels, values, and actions to shared grid lines rather than card edges chosen per section.
|
|
254
|
+
- Right-align comparable numeric columns and preserve tabular numeral alignment during loading.
|
|
255
|
+
- Keep evidence and limitations directly below the outcome they qualify.
|
|
256
|
+
stableDimensions:
|
|
257
|
+
- { component: primary-toolbar, behavior: fixed, tokenRefs: [size.semantic.control], rationale: Loading labels and tool states must not resize the command surface. }
|
|
258
|
+
- { component: findings-table-row, behavior: bounded, tokenRefs: [size.semantic.row, size.semantic.row-compact], rationale: Long labels wrap within bounded rows without shifting adjacent controls. }
|
|
259
|
+
surfaces:
|
|
260
|
+
- { role: canvas, tokenRef: color.semantic.surface }
|
|
261
|
+
- { role: subtle, tokenRef: color.semantic.surface-subtle }
|
|
262
|
+
- { role: raised, tokenRef: color.semantic.surface-raised }
|
|
263
|
+
- { role: overlay, tokenRef: color.semantic.surface-overlay }
|
|
264
|
+
- { role: inverse, tokenRef: color.semantic.surface-inverse }
|
|
265
|
+
borders:
|
|
266
|
+
- { role: default, tokenRef: color.semantic.border-default }
|
|
267
|
+
- { role: strong, tokenRef: color.semantic.border-strong }
|
|
268
|
+
- { role: focus, tokenRef: color.semantic.action-primary }
|
|
269
|
+
- { role: selected, tokenRef: color.semantic.border-selected }
|
|
270
|
+
elevations:
|
|
271
|
+
- { role: base, tokenRef: shadow.semantic.base }
|
|
272
|
+
- { role: raised, tokenRef: shadow.semantic.raised }
|
|
273
|
+
- { role: overlay, tokenRef: shadow.semantic.overlay }
|
|
274
|
+
emphasis:
|
|
275
|
+
- { level: primary, textToken: color.semantic.text-primary, surfaceToken: color.semantic.surface }
|
|
276
|
+
- { level: secondary, textToken: color.semantic.text-primary, surfaceToken: color.semantic.surface-subtle }
|
|
277
|
+
- { level: tertiary, textToken: color.semantic.text-secondary, surfaceToken: color.semantic.surface }
|
|
278
|
+
- { level: muted, textToken: color.semantic.text-secondary, surfaceToken: color.semantic.surface-subtle }
|
|
279
|
+
selectedState:
|
|
280
|
+
backgroundToken: color.semantic.surface-selected
|
|
281
|
+
borderToken: color.semantic.border-selected
|
|
282
|
+
indicator: Persistent leading selection indicator
|
|
283
|
+
nonColorCue: Selected label and checked icon remain visible without color
|
|
284
|
+
densityProfile:
|
|
285
|
+
mode: adaptive
|
|
286
|
+
rationale: Repeated operational scanning benefits from compact rows while consequential actions and evidence retain comfortable spacing.
|
|
287
|
+
controlHeightToken: size.semantic.control
|
|
288
|
+
rowHeightToken: size.semantic.row
|
|
289
|
+
compactRowHeightToken: size.semantic.row-compact
|
|
290
|
+
spacingTokenRefs: [space.semantic.4, space.semantic.8, space.semantic.12, space.semantic.16, space.semantic.24]
|
|
291
|
+
maximumPrimaryActions: 2
|
|
292
|
+
viewportBehavior:
|
|
293
|
+
- viewport: 375
|
|
294
|
+
mode: comfortable
|
|
295
|
+
visiblePriorities: [context, primary outcome, critical exception, next action]
|
|
296
|
+
priorityRoles: [context, primary-outcome, critical-exceptions, next-action]
|
|
297
|
+
- viewport: 768
|
|
298
|
+
mode: comfortable
|
|
299
|
+
visiblePriorities: [context, primary outcome, critical exceptions, impact, next action]
|
|
300
|
+
priorityRoles: [context, primary-outcome, critical-exceptions, impact, next-action]
|
|
301
|
+
- viewport: 1024
|
|
302
|
+
mode: compact
|
|
303
|
+
visiblePriorities: [context, outcome, exceptions, metrics, findings, action]
|
|
304
|
+
priorityRoles: [context, primary-outcome, critical-exceptions, supporting-metrics, findings, next-action]
|
|
305
|
+
- viewport: 1440
|
|
306
|
+
mode: compact
|
|
307
|
+
visiblePriorities: [context, outcome, exceptions, metrics, findings, action, telemetry, evidence]
|
|
308
|
+
priorityRoles: [context, primary-outcome, critical-exceptions, supporting-metrics, findings, next-action, telemetry, evidence]
|
|
309
|
+
interactionStates:
|
|
310
|
+
states:
|
|
311
|
+
- { state: loading, behavior: Preserve component geometry and announce bounded progress., tokenRefs: [color.semantic.text-secondary, color.semantic.surface-subtle], textCue: true, iconCue: false }
|
|
312
|
+
- { state: empty, behavior: "Preserve scope, explain why no records appear, and expose recovery.", tokenRefs: [color.semantic.text-secondary, color.semantic.surface-subtle], textCue: true, iconCue: true }
|
|
313
|
+
- { state: success, behavior: Name the completed outcome and retain validation evidence., tokenRefs: [color.semantic.status-success, color.semantic.surface], textCue: true, iconCue: true }
|
|
314
|
+
- { state: warning, behavior: State the risk and available action without blocking unrelated work., tokenRefs: [color.semantic.status-warning, color.semantic.surface], textCue: true, iconCue: true }
|
|
315
|
+
- { state: error, behavior: "Preserve entered context, state the failure, and expose retry or recovery.", tokenRefs: [color.semantic.status-error, color.semantic.surface], textCue: true, iconCue: true }
|
|
316
|
+
- { state: partial, behavior: "Show available content, excluded scope, limitation, and retry action.", tokenRefs: [color.semantic.status-warning, color.semantic.surface-subtle], textCue: true, iconCue: true }
|
|
317
|
+
- { state: disabled, behavior: Keep the control legible and explain prerequisites when the reason is not obvious., tokenRefs: [color.semantic.text-secondary, color.semantic.surface-subtle], textCue: true, iconCue: false }
|
|
318
|
+
- { state: selected, behavior: "Preserve a border, indicator, label, and checked icon independent of color.", tokenRefs: [color.semantic.surface-selected, color.semantic.border-selected], textCue: true, iconCue: true }
|
|
319
|
+
- { state: focus, behavior: Draw a persistent high-contrast focus border outside component content., tokenRefs: [color.semantic.action-primary, color.semantic.surface], textCue: false, iconCue: false }
|
|
320
|
+
motion:
|
|
321
|
+
durationTokens:
|
|
322
|
+
instant: duration.semantic.instant
|
|
323
|
+
feedback: duration.semantic.feedback
|
|
324
|
+
transition: duration.semantic.transition
|
|
325
|
+
emphasis: duration.semantic.emphasis
|
|
326
|
+
motions:
|
|
327
|
+
- { id: selection-feedback, purpose: Confirm a changed selection without moving surrounding content., trigger: User selects a finding row, property: color, durationCategory: feedback, interruptible: true }
|
|
328
|
+
- { id: detail-transition, purpose: Preserve spatial continuity when contextual details open., trigger: User opens finding details, property: opacity, durationCategory: transition, interruptible: true }
|
|
329
|
+
reducedMotion:
|
|
330
|
+
strategy: replace
|
|
331
|
+
equivalents:
|
|
332
|
+
- { motionRef: selection-feedback, behavior: Apply the final selected tokens immediately while retaining border and icon cues. }
|
|
333
|
+
- { motionRef: detail-transition, behavior: Show the detail region immediately and move focus to its heading without animation. }
|
|
334
|
+
chartContracts:
|
|
335
|
+
- id: validation-outcome-trend
|
|
336
|
+
purpose: Show whether remediation validation performance is improving and expose failed periods for investigation.
|
|
337
|
+
type: line
|
|
338
|
+
metricRefs: [validation-pass-rate]
|
|
339
|
+
labelStrategy: direct
|
|
340
|
+
titleVisible: true
|
|
341
|
+
valuesVisible: true
|
|
342
|
+
legend: { visible: false, reason: A single directly labeled series makes a separate legend redundant. }
|
|
343
|
+
comparison: { status: available, context: Current seven-day period compared with the previous seven complete days. }
|
|
344
|
+
alternative: { kind: table, path: /metrics/validation-pass-rate?view=table }
|
|
345
|
+
states:
|
|
346
|
+
loading: Preserve chart dimensions and show bounded loading text.
|
|
347
|
+
empty: State that no completed validation runs exist in the selected period.
|
|
348
|
+
partial: Show available periods and label excluded or delayed records.
|
|
349
|
+
error: Preserve metric context and expose retry plus the table alternative.
|
|
350
|
+
tokenRefs: [color.semantic.action-primary, color.semantic.text-primary, color.semantic.border-default]
|
|
351
|
+
backgroundToken: color.semantic.surface
|
|
352
|
+
nonColorCues: [color, text, value, line-style]
|
|
353
|
+
decorative: false
|
|
354
|
+
renderedEvidence:
|
|
355
|
+
fixture:
|
|
356
|
+
id: operational-overview
|
|
357
|
+
sourcePath: ci/fixtures/responsive-overview.html
|
|
358
|
+
route: /responsive-overview
|
|
359
|
+
captures:
|
|
360
|
+
- { viewport: 375, status: planned }
|
|
361
|
+
- { viewport: 768, status: planned }
|
|
362
|
+
- { viewport: 1024, status: planned }
|
|
363
|
+
- { viewport: 1440, status: planned }
|
|
364
|
+
humanVisualReview:
|
|
365
|
+
status: required
|
|
366
|
+
dimensions: [hierarchy, balance, scanability, density, domain-fit]
|
|
367
|
+
reviewers: []
|
|
368
|
+
brand:
|
|
369
|
+
promise: Make consequential operational work understandable and verifiable
|
|
370
|
+
audiences:
|
|
371
|
+
- Operations professionals
|
|
372
|
+
- Product reviewers
|
|
373
|
+
attributes: [precise, calm, accountable]
|
|
374
|
+
avoid: [decorative ambiguity, fake metrics, trend-only styling]
|
|
375
|
+
voicePrinciples:
|
|
376
|
+
- Name actions by their outcome
|
|
377
|
+
- State evidence and limitations directly
|
|
378
|
+
marks:
|
|
379
|
+
- id: primary-wordmark
|
|
380
|
+
role: primary
|
|
381
|
+
asset: brand-wordmark
|
|
382
|
+
clearSpace: Keep one symbol-width clear on every side
|
|
383
|
+
minimumSize: 96 CSS pixels wide on screen
|
|
384
|
+
allowedBackgrounds: [light-neutral, dark-neutral]
|
|
385
|
+
figma:
|
|
386
|
+
pages:
|
|
387
|
+
- name: Foundations
|
|
388
|
+
role: foundations
|
|
389
|
+
purpose: Tokens, type roles, grids, motion, and accessibility examples
|
|
390
|
+
- name: Components
|
|
391
|
+
role: components
|
|
392
|
+
purpose: Published components, properties, states, and usage notes
|
|
393
|
+
- name: Patterns
|
|
394
|
+
role: patterns
|
|
395
|
+
purpose: Task-centered compositions using published components
|
|
396
|
+
collections:
|
|
397
|
+
- name: Semantic color
|
|
398
|
+
modes: [light, dark]
|
|
399
|
+
tokens:
|
|
400
|
+
- color.semantic.text-primary
|
|
401
|
+
- color.semantic.surface
|
|
402
|
+
- color.semantic.action-primary
|
|
403
|
+
- color.component.button-primary-label
|
|
404
|
+
components:
|
|
405
|
+
- name: Button
|
|
406
|
+
purpose: Trigger one named product action
|
|
407
|
+
interactive: true
|
|
408
|
+
properties:
|
|
409
|
+
- name: Label
|
|
410
|
+
type: text
|
|
411
|
+
- name: State
|
|
412
|
+
type: variant
|
|
413
|
+
- name: Leading icon
|
|
414
|
+
type: instance-swap
|
|
415
|
+
states: [default, hover, focus, active, disabled, loading]
|
|
416
|
+
documented: true
|
|
417
|
+
assets:
|
|
418
|
+
- id: brand-wordmark
|
|
419
|
+
purpose: Identify the product in branded navigation and exported review material.
|
|
420
|
+
kind: logo
|
|
421
|
+
path: assets/brand/wordmark.svg
|
|
422
|
+
source:
|
|
423
|
+
origin: original
|
|
424
|
+
creator: Product design team
|
|
425
|
+
rights:
|
|
426
|
+
status: approved
|
|
427
|
+
basis: owned
|
|
428
|
+
evidence: evidence/rights/brand-wordmark.md
|
|
429
|
+
restrictions: []
|
|
430
|
+
reviewedBy: Product owner
|
|
431
|
+
reviewedAt: 2026-08-26T12:00:00+03:00
|
|
432
|
+
alternative:
|
|
433
|
+
kind: short-text
|
|
434
|
+
content: Example Product
|
|
435
|
+
failureBehavior:
|
|
436
|
+
strategy: text-alternative
|
|
437
|
+
behavior: Render the product name as text without reserving an empty image region.
|
|
438
|
+
- id: icon-analyze
|
|
439
|
+
purpose: Reinforce the named Analyze action without replacing its visible label.
|
|
440
|
+
kind: icon
|
|
441
|
+
path: assets/icons/analyze.svg
|
|
442
|
+
source:
|
|
443
|
+
origin: original
|
|
444
|
+
creator: Product design team
|
|
445
|
+
rights:
|
|
446
|
+
status: approved
|
|
447
|
+
basis: owned
|
|
448
|
+
evidence: evidence/rights/icon-analyze.md
|
|
449
|
+
restrictions: []
|
|
450
|
+
alternative:
|
|
451
|
+
kind: short-text
|
|
452
|
+
content: Analyze
|
|
453
|
+
failureBehavior:
|
|
454
|
+
strategy: text-alternative
|
|
455
|
+
behavior: Keep the visible Analyze label and remove the failed icon from layout.
|
|
456
|
+
- id: workspace-illustration
|
|
457
|
+
purpose: Explain the evidence-to-result workflow in product education and review material.
|
|
458
|
+
kind: illustration
|
|
459
|
+
path: assets/illustrations/workspace.png
|
|
460
|
+
source:
|
|
461
|
+
origin: generated
|
|
462
|
+
creator: Product design team with an image-generation model
|
|
463
|
+
sourceUrl: https://example.com/provider-terms
|
|
464
|
+
rights:
|
|
465
|
+
status: approved
|
|
466
|
+
basis: terms-of-service
|
|
467
|
+
evidence: evidence/rights/workspace-illustration.md
|
|
468
|
+
restrictions: [Do not use as a product screenshot]
|
|
469
|
+
reviewedBy: Product owner
|
|
470
|
+
reviewedAt: 2026-08-26T12:00:00+03:00
|
|
471
|
+
generation:
|
|
472
|
+
provider: Example image provider
|
|
473
|
+
model: Example model version
|
|
474
|
+
promptRecord: evidence/prompts/workspace-illustration.md
|
|
475
|
+
humanContributions:
|
|
476
|
+
- Art direction, selection, compositing, and final retouching
|
|
477
|
+
references: []
|
|
478
|
+
alternative:
|
|
479
|
+
kind: short-text
|
|
480
|
+
content: Analyst comparing source evidence with a structured result panel
|
|
481
|
+
failureBehavior:
|
|
482
|
+
strategy: text-alternative
|
|
483
|
+
behavior: Replace the image region with its concise workflow description.
|
|
484
|
+
iconSystem:
|
|
485
|
+
name: Example Product Icons
|
|
486
|
+
grid: 24
|
|
487
|
+
sizes: [16, 20, 24]
|
|
488
|
+
stroke:
|
|
489
|
+
style: outline
|
|
490
|
+
weight: 1.75
|
|
491
|
+
linecap: round
|
|
492
|
+
linejoin: round
|
|
493
|
+
icons:
|
|
494
|
+
- id: analyze
|
|
495
|
+
name: Analyze
|
|
496
|
+
meaning: Start analysis of the current validated input
|
|
497
|
+
asset: icon-analyze
|
|
498
|
+
decorative: false
|
|
499
|
+
accessibleName: Analyze
|
|
500
|
+
presentations:
|
|
501
|
+
- id: product-review
|
|
502
|
+
purpose: Support a product-readiness decision with evidence and trade-offs
|
|
503
|
+
audience: Product and engineering reviewers
|
|
504
|
+
aspectRatio: "16:9"
|
|
505
|
+
masterLayouts: [title, content]
|
|
506
|
+
slides:
|
|
507
|
+
- id: opening
|
|
508
|
+
title: Example Product makes operational evidence reviewable
|
|
509
|
+
purpose: Establish the product promise and review scope
|
|
510
|
+
layout: title
|
|
511
|
+
readingOrder: [title, subtitle, brand-mark]
|
|
512
|
+
assets: [brand-wordmark]
|
|
513
|
+
speakerNotes: Introduce the review boundary and decision required.
|
|
514
|
+
- id: workflow
|
|
515
|
+
title: One task model connects input, evidence, and action
|
|
516
|
+
purpose: Explain the primary workflow and its states
|
|
517
|
+
layout: content
|
|
518
|
+
readingOrder: [title, workflow-diagram, evidence-note]
|
|
519
|
+
assets: [workspace-illustration]
|
|
520
|
+
accessibility:
|
|
521
|
+
contrastPairs:
|
|
522
|
+
- id: primary-text-on-surface
|
|
523
|
+
foreground: color.semantic.text-primary
|
|
524
|
+
background: color.semantic.surface
|
|
525
|
+
usage: normal-text
|
|
526
|
+
- id: secondary-text-on-surface
|
|
527
|
+
foreground: color.semantic.text-secondary
|
|
528
|
+
background: color.semantic.surface
|
|
529
|
+
usage: normal-text
|
|
530
|
+
- id: button-label-on-primary
|
|
531
|
+
foreground: color.component.button-primary-label
|
|
532
|
+
background: color.semantic.action-primary
|
|
533
|
+
usage: normal-text
|
|
534
|
+
- id: dark-primary-text-on-surface
|
|
535
|
+
foreground: color.semantic.text-primary
|
|
536
|
+
background: color.semantic.surface
|
|
537
|
+
usage: normal-text
|
|
538
|
+
mode: dark
|
|
539
|
+
- id: dark-secondary-text-on-surface
|
|
540
|
+
foreground: color.semantic.text-secondary
|
|
541
|
+
background: color.semantic.surface
|
|
542
|
+
usage: normal-text
|
|
543
|
+
mode: dark
|
|
544
|
+
- id: focus-on-surface
|
|
545
|
+
foreground: color.semantic.action-primary
|
|
546
|
+
background: color.semantic.surface
|
|
547
|
+
usage: non-text
|
|
548
|
+
- id: dark-focus-on-surface
|
|
549
|
+
foreground: color.semantic.action-primary
|
|
550
|
+
background: color.semantic.surface
|
|
551
|
+
usage: non-text
|
|
552
|
+
mode: dark
|
|
553
|
+
- id: dark-button-label-on-primary
|
|
554
|
+
foreground: color.component.button-primary-label
|
|
555
|
+
background: color.semantic.action-primary
|
|
556
|
+
usage: normal-text
|
|
557
|
+
mode: dark
|
|
558
|
+
- { id: secondary-state-on-subtle, foreground: color.semantic.text-secondary, background: color.semantic.surface-subtle, usage: non-text }
|
|
559
|
+
- { id: dark-secondary-state-on-subtle, foreground: color.semantic.text-secondary, background: color.semantic.surface-subtle, usage: non-text, mode: dark }
|
|
560
|
+
- { id: success-state-on-surface, foreground: color.semantic.status-success, background: color.semantic.surface, usage: non-text }
|
|
561
|
+
- { id: dark-success-state-on-surface, foreground: color.semantic.status-success, background: color.semantic.surface, usage: non-text, mode: dark }
|
|
562
|
+
- { id: warning-state-on-surface, foreground: color.semantic.status-warning, background: color.semantic.surface, usage: non-text }
|
|
563
|
+
- { id: dark-warning-state-on-surface, foreground: color.semantic.status-warning, background: color.semantic.surface, usage: non-text, mode: dark }
|
|
564
|
+
- { id: error-state-on-surface, foreground: color.semantic.status-error, background: color.semantic.surface, usage: non-text }
|
|
565
|
+
- { id: dark-error-state-on-surface, foreground: color.semantic.status-error, background: color.semantic.surface, usage: non-text, mode: dark }
|
|
566
|
+
- { id: warning-state-on-subtle, foreground: color.semantic.status-warning, background: color.semantic.surface-subtle, usage: non-text }
|
|
567
|
+
- { id: dark-warning-state-on-subtle, foreground: color.semantic.status-warning, background: color.semantic.surface-subtle, usage: non-text, mode: dark }
|
|
568
|
+
- { id: selected-border-on-surface, foreground: color.semantic.surface-selected, background: color.semantic.border-selected, usage: non-text }
|
|
569
|
+
- { id: dark-selected-border-on-surface, foreground: color.semantic.surface-selected, background: color.semantic.border-selected, usage: non-text, mode: dark }
|
|
570
|
+
nonColorCues:
|
|
571
|
+
- meaning: Validation error
|
|
572
|
+
cues: [color, text, icon]
|
|
573
|
+
- meaning: Selected item
|
|
574
|
+
cues: [color, shape]
|
|
575
|
+
evidence:
|
|
576
|
+
- id: visual-direction-brief
|
|
577
|
+
kind: source
|
|
578
|
+
path: evidence/visual/visual-direction-brief.md
|
|
579
|
+
detail: Product task, domain constraints, visual principles, prohibited ornament, and reference rationale.
|
|
580
|
+
- id: brand-review
|
|
581
|
+
kind: review
|
|
582
|
+
path: evidence/reviews/brand-review.md
|
|
583
|
+
detail: Product owner reviewed positioning, mark family, and prohibited uses
|
|
584
|
+
- id: contrast-calculation
|
|
585
|
+
kind: contrast
|
|
586
|
+
path: evidence/accessibility/contrast.json
|
|
587
|
+
detail: Canonical token pairs evaluated before rendered verification
|
|
588
|
+
- id: figma-export
|
|
589
|
+
kind: export
|
|
590
|
+
path: evidence/figma/library-export.json
|
|
591
|
+
detail: Exported variable and component inventory for implementation comparison
|