@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,63 @@
|
|
|
1
|
+
# Figma Production Workflow
|
|
2
|
+
|
|
3
|
+
Use Figma as a structured implementation contract. A visually complete canvas with detached layers, raw values, and undocumented states is not a design system.
|
|
4
|
+
|
|
5
|
+
## Step 1: Establish File Architecture
|
|
6
|
+
|
|
7
|
+
Give each page one role and stated purpose. A maintained library requires at least foundations and components. Add patterns, templates, sandbox, archive, or cover pages only when they have an owner and lifecycle.
|
|
8
|
+
|
|
9
|
+
Keep exploration separate from published assets. Move obsolete work to archive rather than leaving near-duplicate components in active pages.
|
|
10
|
+
|
|
11
|
+
## Step 2: Map Tokens To Variables
|
|
12
|
+
|
|
13
|
+
Create primitive values first, semantic aliases second, and component aliases only where local state or variation warrants them. Group variables by responsibility rather than by arbitrary color name.
|
|
14
|
+
|
|
15
|
+
Use modes for genuine contexts such as light and dark themes, density, device class, language, or brand. Avoid duplicating frames merely to express a mode. Verify every mode independently, including contrast and missing aliases.
|
|
16
|
+
|
|
17
|
+
Figma supports variables, aliases, collections, modes, and design-token import using the Design Tokens Community Group format. Keep one canonical token source and define the direction of synchronization between code and Figma. Do not allow independent edits on both sides without conflict policy.
|
|
18
|
+
|
|
19
|
+
## Step 3: Engineer Components
|
|
20
|
+
|
|
21
|
+
For every component:
|
|
22
|
+
|
|
23
|
+
1. State its purpose and ownership.
|
|
24
|
+
2. Use auto layout for content-driven dimensions and stable spacing.
|
|
25
|
+
3. Expose only useful text, boolean, instance-swap, variant, or slot properties.
|
|
26
|
+
4. Use variants for meaningful states or configurations, not every stylistic permutation.
|
|
27
|
+
5. Declare default and focus states for interactive components. Add hover, active, disabled, loading, selected, error, success, or empty states where behavior requires them.
|
|
28
|
+
6. Define resizing, truncation, wrapping, minimum size, and maximum-content behavior.
|
|
29
|
+
7. Add usage, content, accessibility, and prohibited-use documentation.
|
|
30
|
+
|
|
31
|
+
Prefer composition and slots over deeply nested overrides. Name properties by user-visible meaning, not internal layer names.
|
|
32
|
+
|
|
33
|
+
## Step 4: Build Patterns And Templates
|
|
34
|
+
|
|
35
|
+
Patterns combine components around a task, state model, and responsive behavior. Templates provide a starting structure without hiding required product decisions.
|
|
36
|
+
|
|
37
|
+
For every pattern or template, include:
|
|
38
|
+
|
|
39
|
+
- Primary task and success condition.
|
|
40
|
+
- Data and state assumptions.
|
|
41
|
+
- Empty, loading, partial, error, and permission states.
|
|
42
|
+
- Mobile and long-content examples.
|
|
43
|
+
- Keyboard and focus expectations.
|
|
44
|
+
- Implementation notes that identify semantic tokens and component contracts.
|
|
45
|
+
|
|
46
|
+
## Step 5: Handoff With Evidence
|
|
47
|
+
|
|
48
|
+
Before publishing:
|
|
49
|
+
|
|
50
|
+
- Inspect detached instances and raw values.
|
|
51
|
+
- Verify component property names and defaults.
|
|
52
|
+
- Exercise all modes and representative variants.
|
|
53
|
+
- Check long strings, localization, and text resizing.
|
|
54
|
+
- Compare Figma token names with the canonical token source.
|
|
55
|
+
- Export a small implementation sample and confirm assets, dimensions, and states survive handoff.
|
|
56
|
+
- Record library version, owner, breaking changes, and migration notes.
|
|
57
|
+
|
|
58
|
+
The manifest validator checks declared structure and references. It does not connect to Figma or verify the actual file. Inspect the source file or use an approved Figma integration for final evidence.
|
|
59
|
+
|
|
60
|
+
## Official Platform References
|
|
61
|
+
|
|
62
|
+
- [Figma variables, collections, aliases, and modes](https://help.figma.com/hc/en-us/articles/14506821864087-Overview-of-variables-collections-and-modes)
|
|
63
|
+
- [Figma component properties](https://help.figma.com/hc/en-us/articles/5579474826519-Explore-component-properties)
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
# React And TypeScript Generation Adapter
|
|
2
|
+
|
|
3
|
+
Current adapter version: `1.2.1`.
|
|
4
|
+
|
|
5
|
+
Use this adapter only after a product design brief compiles to a design plan with `status: ready`
|
|
6
|
+
and `implementationReady: true`. It creates a new independent React, TypeScript, and Vite fixture.
|
|
7
|
+
It does not merge into an existing application, repair an original product, prove visual quality,
|
|
8
|
+
or authorize release. A separate bounded workflow in `closed-loop-repair.md` can repair an exact
|
|
9
|
+
finding in a manifest-owned generated fixture only.
|
|
10
|
+
|
|
11
|
+
## Input Gate
|
|
12
|
+
|
|
13
|
+
1. Validate the source brief and all four downstream contract declarations.
|
|
14
|
+
2. Compile the brief and preserve the complete design-plan artifact.
|
|
15
|
+
3. Stop when the plan is blocked or provisional. Never edit compiled readiness fields manually.
|
|
16
|
+
4. Provide an existing real generation root, one absent child output path, and a passing portfolio
|
|
17
|
+
registry. The adapter refuses existing output, symlinked parents, traversal, and any target that
|
|
18
|
+
overlaps a portfolio root.
|
|
19
|
+
5. Keep the portfolio registry local. Its absolute paths authorize denial checks and must not enter
|
|
20
|
+
generated files or reports.
|
|
21
|
+
|
|
22
|
+
## Generated Architecture
|
|
23
|
+
|
|
24
|
+
The initial `react-typescript-vite` adapter generates:
|
|
25
|
+
|
|
26
|
+
- A complete local demonstration task and a disconnected-source recovery path.
|
|
27
|
+
- Reducer-owned task state separate from rendering and source-boundary declarations.
|
|
28
|
+
- Separate demo, imported, cached, and live modes with origin, freshness, connection, and
|
|
29
|
+
limitation text. Missing live, import, or cache evidence remains unavailable rather than
|
|
30
|
+
borrowing demonstration values.
|
|
31
|
+
- Primitive and semantic CSS tokens, responsive composition, visible focus, minimum target
|
|
32
|
+
geometry, non-color status labels, and reduced-motion behavior.
|
|
33
|
+
- Opt-in composition markers for context, primary outcome, next action, density limits, status
|
|
34
|
+
purpose, state cues, and evidence-backed visual claims. The primary action precedes supporting
|
|
35
|
+
telemetry in semantic order.
|
|
36
|
+
- Unit tests, build and typecheck scripts, a traceable plan summary, and a checksummed deterministic
|
|
37
|
+
generation manifest.
|
|
38
|
+
- A development and preview response header that identifies the generation plan to bounded repair.
|
|
39
|
+
|
|
40
|
+
The adapter interpolates only validated plan data into a generated constant. It never treats plan
|
|
41
|
+
text as executable source and never imports implementation from an external design product.
|
|
42
|
+
|
|
43
|
+
## Command
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
zz-design generate-react \
|
|
47
|
+
--plan path/to/ready-design-plan.json \
|
|
48
|
+
--generation-root .ztothez-design-generated \
|
|
49
|
+
--output .ztothez-design-generated/example-app \
|
|
50
|
+
--portfolio-registry .ztothez-design-local/portfolio-registry.yaml \
|
|
51
|
+
--json
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
Create the generation root before running the command. The output directory must not exist. Use
|
|
55
|
+
`generation-adapter.schema.yaml` to validate the generated `ztothez-design-generation.json` file.
|
|
56
|
+
|
|
57
|
+
## Evidence Boundary
|
|
58
|
+
|
|
59
|
+
- Deterministic files and checksums prove repeatable transformation for the same plan and adapter
|
|
60
|
+
version. They do not prove the chosen design is desirable.
|
|
61
|
+
- Static audit and generated unit tests prove only the implemented source rules and reducer paths.
|
|
62
|
+
- Live connectivity remains unimplemented until a real target adapter receives authenticated
|
|
63
|
+
runtime evidence. Imported and cached modes remain unavailable until valid records exist.
|
|
64
|
+
- The adapter emits composition semantics but does not claim they passed. Run browser verification
|
|
65
|
+
at 375, 768, 1024, and 1440 CSS pixels in every implemented color scheme. Security, integration,
|
|
66
|
+
usability, and attributable human review remain later gates.
|
|
67
|
+
- Existing-repository adaptation is outside version 1.0. Use the independent fixture path until a
|
|
68
|
+
separate convention-aware merge adapter has its own containment and regression evidence.
|
|
69
|
+
- Finding-bound remediation of this generated output must use `zz-design repair-react`. Never use
|
|
70
|
+
that command as an existing-repository merge or product migration mechanism.
|
|
71
|
+
- Bounded repair must reject runtime evidence when `X-ZtotheZ-Design-Plan` is missing or does not
|
|
72
|
+
equal the plan ID in the generated manifest.
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
$schema: https://json-schema.org/draft/2020-12/schema
|
|
2
|
+
$id: https://ztothez.dev/schemas/generation-adapter-1.0.schema.json
|
|
3
|
+
title: ZtotheZ React And TypeScript Generation Manifest
|
|
4
|
+
type: object
|
|
5
|
+
additionalProperties: false
|
|
6
|
+
required: [version, adapter, adapterVersion, plan, outputMode, files, guarantees, limitations]
|
|
7
|
+
properties:
|
|
8
|
+
version:
|
|
9
|
+
const: "1.0"
|
|
10
|
+
adapter:
|
|
11
|
+
const: react-typescript-vite
|
|
12
|
+
adapterVersion:
|
|
13
|
+
type: string
|
|
14
|
+
pattern: "^[0-9]+\\.[0-9]+\\.[0-9]+$"
|
|
15
|
+
plan:
|
|
16
|
+
type: object
|
|
17
|
+
additionalProperties: false
|
|
18
|
+
required: [id, sourceDigest, compilerVersion]
|
|
19
|
+
properties:
|
|
20
|
+
id: { type: string, minLength: 1, maxLength: 256 }
|
|
21
|
+
sourceDigest: { type: string, pattern: "^[a-f0-9]{64}$" }
|
|
22
|
+
compilerVersion: { type: string, pattern: "^[0-9]+\\.[0-9]+\\.[0-9]+$" }
|
|
23
|
+
outputMode:
|
|
24
|
+
const: new-independent-fixture
|
|
25
|
+
files:
|
|
26
|
+
type: array
|
|
27
|
+
minItems: 1
|
|
28
|
+
items:
|
|
29
|
+
type: object
|
|
30
|
+
additionalProperties: false
|
|
31
|
+
required: [path, digest, bytes]
|
|
32
|
+
properties:
|
|
33
|
+
path:
|
|
34
|
+
type: string
|
|
35
|
+
minLength: 1
|
|
36
|
+
maxLength: 1024
|
|
37
|
+
pattern: "^(?!/)(?!.*(?:^|/)[.][.](?:/|$)).+$"
|
|
38
|
+
digest: { type: string, pattern: "^[a-f0-9]{64}$" }
|
|
39
|
+
bytes: { type: integer, minimum: 0 }
|
|
40
|
+
guarantees:
|
|
41
|
+
type: array
|
|
42
|
+
minItems: 1
|
|
43
|
+
items: { type: string, minLength: 1, maxLength: 1024 }
|
|
44
|
+
limitations:
|
|
45
|
+
type: array
|
|
46
|
+
minItems: 1
|
|
47
|
+
items: { type: string, minLength: 1, maxLength: 1024 }
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# Iconography
|
|
2
|
+
|
|
3
|
+
An icon system is a semantic vocabulary with controlled geometry. It is not a folder of unrelated glyphs.
|
|
4
|
+
|
|
5
|
+
## Step 1: Inventory Meanings
|
|
6
|
+
|
|
7
|
+
List the actions, objects, statuses, navigation destinations, and domain concepts that need icons. Remove duplicate meanings and distinguish actions from states. Prefer familiar platform or product conventions when they are clear in context.
|
|
8
|
+
|
|
9
|
+
Use text instead of inventing a glyph for an abstract concept users will not recognize. Pair unfamiliar icons with visible labels. Do not use Unicode symbols as inconsistent icon fallbacks.
|
|
10
|
+
|
|
11
|
+
## Step 2: Choose The Source Strategy
|
|
12
|
+
|
|
13
|
+
Reuse the product's approved icon library when one exists. Add custom icons only for domain meanings the library cannot express. Keep all source assets and licenses in the manifest.
|
|
14
|
+
|
|
15
|
+
Do not combine outline, filled, duotone, and hand-drawn systems without an explicit semantic reason. If filled icons indicate selected state, document and test that rule consistently.
|
|
16
|
+
|
|
17
|
+
## Step 3: Define Geometry
|
|
18
|
+
|
|
19
|
+
Declare:
|
|
20
|
+
|
|
21
|
+
- Base grid and key sizes.
|
|
22
|
+
- Stroke style, weight, caps, and joins.
|
|
23
|
+
- Corner behavior and optical overshoot.
|
|
24
|
+
- Bounding box, padding, baseline, and alignment.
|
|
25
|
+
- Filled-area and detail limits at the smallest size.
|
|
26
|
+
- Mirroring and localization rules.
|
|
27
|
+
|
|
28
|
+
Review icons at native size. Mathematically aligned shapes can still need optical correction.
|
|
29
|
+
|
|
30
|
+
## Step 4: Define Semantics And Accessibility
|
|
31
|
+
|
|
32
|
+
Every icon needs one documented meaning. A semantic icon requires an accessible name unless equivalent visible text labels the same control. Decorative icons must be hidden from assistive technology and must not receive redundant names.
|
|
33
|
+
|
|
34
|
+
Never rely on icon color alone for status. Combine it with text, shape, placement, value, or another cue. Ensure active, disabled, destructive, and focus treatments use semantic tokens and pass non-text contrast where required.
|
|
35
|
+
|
|
36
|
+
## Step 5: Package And Verify
|
|
37
|
+
|
|
38
|
+
- Use stable lowercase identifiers.
|
|
39
|
+
- Optimize SVG paths without flattening meaningful structure needed by the implementation.
|
|
40
|
+
- Remove editor metadata and unexpected embedded raster content.
|
|
41
|
+
- Preserve `viewBox` and test scaling.
|
|
42
|
+
- Expose icons through the existing icon component or library adapter.
|
|
43
|
+
- Add automated snapshots or rendering checks for the supported sizes.
|
|
44
|
+
- Test bidirectional layouts and high-contrast modes where applicable.
|
|
45
|
+
|
|
46
|
+
The design manifest checks identifier uniqueness, asset references, and semantic naming. It does not inspect SVG geometry or the accessible implementation.
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
# Operational Information Design
|
|
2
|
+
|
|
3
|
+
Use this module for dashboards, workspaces, reports, monitoring surfaces, findings queues, and any interface that presents metrics or charts to support a decision. Create an `information-design.yaml` from `information-design.template.yaml` before treating an operational surface as implementation-ready.
|
|
4
|
+
|
|
5
|
+
This contract defines decision structure. It does not award visual quality, prove runtime calculations, or substitute task declarations for attributable human evidence.
|
|
6
|
+
|
|
7
|
+
## Required Answer Flow
|
|
8
|
+
|
|
9
|
+
Make the surface answer these questions in order:
|
|
10
|
+
|
|
11
|
+
1. What environment, scope, data, source, and freshness am I viewing?
|
|
12
|
+
2. What changed or requires attention now?
|
|
13
|
+
3. What is the operational, financial, security, user, compliance, or reliability impact?
|
|
14
|
+
4. What evidence supports the conclusion?
|
|
15
|
+
5. What action should happen next, and who or what receives it?
|
|
16
|
+
6. How will success be verified?
|
|
17
|
+
|
|
18
|
+
Do not begin with a wall of equal-weight cards. Establish context and the primary outcome first, then exceptions, impact, findings, telemetry, evidence, and records.
|
|
19
|
+
|
|
20
|
+
## Step 1: Establish Context And Provenance
|
|
21
|
+
|
|
22
|
+
Declare the environment, scope, data description, source references, freshness, and limitations. Use explicit current, stale, unknown, or not-applicable freshness states. Current and stale data require an offset timestamp and IANA timezone.
|
|
23
|
+
|
|
24
|
+
Treat source, freshness, and comparison baseline as separate facts. A current API response does not prove that a derived metric uses the same scope. A comparison is unavailable until its baseline source and period are declared.
|
|
25
|
+
|
|
26
|
+
## Step 2: Define Decision Metrics
|
|
27
|
+
|
|
28
|
+
For every metric, declare:
|
|
29
|
+
|
|
30
|
+
- Label and plain-language definition.
|
|
31
|
+
- Formula, including exclusions and aggregation behavior.
|
|
32
|
+
- Source references, context, scope, and time period.
|
|
33
|
+
- Freshness and comparison baseline, or a reason the baseline is unknown or not applicable.
|
|
34
|
+
- Drill-down destination and limitations.
|
|
35
|
+
- The question it answers and the action it supports.
|
|
36
|
+
- Label and value-state policies.
|
|
37
|
+
|
|
38
|
+
Reject decorative metrics. A large number, trend arrow, status ring, or chart without a supported decision and drill-down consumes attention without helping the task.
|
|
39
|
+
|
|
40
|
+
Use explicit value behavior for `loading`, `available`, `missing`, `partial`, `stale`, and `error`. Never render missing as zero, partial as complete, or stale as current.
|
|
41
|
+
|
|
42
|
+
## Step 3: Structure Findings
|
|
43
|
+
|
|
44
|
+
Every finding must include severity, affected entity, observation, evidence, impact, confidence and basis, remediation, destination, and validation method. Preserve the path from finding to evidence to action to verification.
|
|
45
|
+
|
|
46
|
+
Do not use color as the only severity or state cue. Pair color with readable text, an icon, value, shape, pattern, or stable position. Do not infer confidence from severity; record them independently.
|
|
47
|
+
|
|
48
|
+
## Step 4: Justify Charts
|
|
49
|
+
|
|
50
|
+
Each chart must declare its source metrics, supported decision, drill-down, value-state policy, and accessible table or text alternative. Show a title and readable values. Show a legend or explain the direct-labeling strategy.
|
|
51
|
+
|
|
52
|
+
Remove a chart when a sentence, value, or table answers the task more directly. Never use charts as decorative proof that a dashboard is sophisticated.
|
|
53
|
+
|
|
54
|
+
## Step 5: Handle Labels And Collections
|
|
55
|
+
|
|
56
|
+
Wrap long labels by default. If truncation is necessary, provide keyboard and assistive-technology-accessible full text. Do not depend on pointer hover.
|
|
57
|
+
|
|
58
|
+
For collections over 100 items, use pagination or virtualization, provide search, and provide filtering or sorting. Declare empty, partial, and stale states. Test realistic long entity names, absent values, partial responses, stale records, and maximum expected collection size.
|
|
59
|
+
|
|
60
|
+
## Step 6: Apply The Eight-Level Hierarchy
|
|
61
|
+
|
|
62
|
+
Use this exact order for operational surfaces:
|
|
63
|
+
|
|
64
|
+
1. `context-provenance`
|
|
65
|
+
2. `primary-outcome-action`
|
|
66
|
+
3. `critical-exceptions`
|
|
67
|
+
4. `health-impact-metrics`
|
|
68
|
+
5. `prioritized-findings`
|
|
69
|
+
6. `operational-telemetry`
|
|
70
|
+
7. `evidence-audit-trail`
|
|
71
|
+
8. `history-exports`
|
|
72
|
+
|
|
73
|
+
Levels may share records, but each level needs declared content. Responsive layouts may change geometry, not the semantic order.
|
|
74
|
+
|
|
75
|
+
## Step 7: Declare Review Tasks
|
|
76
|
+
|
|
77
|
+
Add one or more structured tasks for all six answer questions: context, priority, impact, evidence, next action, and success verification. Reference the exact contract records needed for the expected answer and require non-color cues.
|
|
78
|
+
|
|
79
|
+
These task declarations prepare expert and representative-user review. They are not evidence that a person understood or completed the task. Record attributable review evidence separately under the V2 evidence workflow.
|
|
80
|
+
|
|
81
|
+
## Step 8: Validate And Verify
|
|
82
|
+
|
|
83
|
+
Validate the declaration:
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
npm run validate-information -- --contract PATH
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
Or use the MCP tool `validate_information_design`.
|
|
90
|
+
|
|
91
|
+
Resolve every error before implementation is information-design complete. Then verify rendered hierarchy, responsive reflow, value states, keyboard access, chart alternatives, and task comprehension separately.
|
|
92
|
+
|
|
93
|
+
## Rejection Patterns
|
|
94
|
+
|
|
95
|
+
- KPI cards with no definition, formula, source, period, or decision.
|
|
96
|
+
- Green and red states with no text or icon semantics.
|
|
97
|
+
- Charts that repeat a headline number without adding a comparison or diagnostic path.
|
|
98
|
+
- Findings without affected entities, evidence, remediation, ownership, or validation.
|
|
99
|
+
- Missing values displayed as zero or hidden.
|
|
100
|
+
- Stale values without timestamps, timezone, scope, and limitation.
|
|
101
|
+
- Ellipsized labels that cannot be revealed without a pointer.
|
|
102
|
+
- Unbounded tables that render thousands of rows without retrieval controls.
|
|
103
|
+
- Equal visual priority for context, exceptions, telemetry, history, and exports.
|
|
104
|
+
- Agent-authored task declarations presented as representative-user validation.
|