@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 @@
|
|
|
1
|
+
{"version":3,"file":"validator.js","sourceRoot":"","sources":["../../../src/design-intelligence/validator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { ProductDesignBrief } from "../product-brief/schema.js";
|
|
2
|
+
import { type DesignPlan } from "./schema.js";
|
|
3
|
+
export declare const DESIGN_PLAN_COMPILER_VERSION = "1.0.0";
|
|
4
|
+
export type CompileDesignPlanOptions = {
|
|
5
|
+
briefSourcePath: string;
|
|
6
|
+
projectRoot: string;
|
|
7
|
+
};
|
|
8
|
+
export declare function compileDesignPlan(brief: ProductDesignBrief, options: CompileDesignPlanOptions): Promise<DesignPlan>;
|
|
@@ -0,0 +1,288 @@
|
|
|
1
|
+
import { createHash } from "node:crypto";
|
|
2
|
+
import { realpath, stat } from "node:fs/promises";
|
|
3
|
+
import { basename, isAbsolute, relative, resolve, sep } from "node:path";
|
|
4
|
+
import { validateProductContract } from "../contracts/validator.js";
|
|
5
|
+
import { loadDesignDeliverable } from "../design-intelligence/loader.js";
|
|
6
|
+
import { validateDesignDeliverable } from "../design-intelligence/validator.js";
|
|
7
|
+
import { loadInformationDesignContract } from "../information-design/loader.js";
|
|
8
|
+
import { validateInformationDesignContract } from "../information-design/validator.js";
|
|
9
|
+
import { loadInterfaceTrustContract } from "../interface-trust/loader.js";
|
|
10
|
+
import { validateInterfaceTrustContract } from "../interface-trust/validator.js";
|
|
11
|
+
import { validateProductDesignBrief } from "../product-brief/validator.js";
|
|
12
|
+
import { designPlanSchema, } from "./schema.js";
|
|
13
|
+
export const DESIGN_PLAN_COMPILER_VERSION = "1.0.0";
|
|
14
|
+
function canonicalize(value) {
|
|
15
|
+
if (Array.isArray(value))
|
|
16
|
+
return value.map(canonicalize);
|
|
17
|
+
if (value && typeof value === "object") {
|
|
18
|
+
return Object.fromEntries(Object.entries(value)
|
|
19
|
+
.sort(([left], [right]) => left.localeCompare(right))
|
|
20
|
+
.map(([key, entry]) => [key, canonicalize(entry)]));
|
|
21
|
+
}
|
|
22
|
+
return value;
|
|
23
|
+
}
|
|
24
|
+
function digest(value) {
|
|
25
|
+
return createHash("sha256").update(JSON.stringify(canonicalize(value))).digest("hex");
|
|
26
|
+
}
|
|
27
|
+
function isContained(root, candidate) {
|
|
28
|
+
const relation = relative(root, candidate);
|
|
29
|
+
return relation === "" || (!relation.startsWith(`..${sep}`) && relation !== ".." && !isAbsolute(relation));
|
|
30
|
+
}
|
|
31
|
+
async function resolveContractPath(projectRoot, requestedPath) {
|
|
32
|
+
if (requestedPath.includes("\0") || isAbsolute(requestedPath)) {
|
|
33
|
+
throw new Error("Existing downstream contract paths must be project-root-relative");
|
|
34
|
+
}
|
|
35
|
+
if (!/\.(?:json|ya?ml)$/i.test(requestedPath)) {
|
|
36
|
+
throw new Error("Existing downstream contracts must end in .json, .yaml, or .yml");
|
|
37
|
+
}
|
|
38
|
+
const root = await realpath(resolve(projectRoot));
|
|
39
|
+
if (!(await stat(root)).isDirectory())
|
|
40
|
+
throw new Error("Project root must be a directory");
|
|
41
|
+
const candidate = await realpath(resolve(root, requestedPath));
|
|
42
|
+
if (!isContained(root, candidate))
|
|
43
|
+
throw new Error("Existing downstream contract escapes the project root");
|
|
44
|
+
if (!(await stat(candidate)).isFile())
|
|
45
|
+
throw new Error("Existing downstream contract is not a regular file");
|
|
46
|
+
return { absolute: candidate, source: relative(root, candidate).split(sep).join("/") };
|
|
47
|
+
}
|
|
48
|
+
function traceId(prefix, value) {
|
|
49
|
+
return `trace-${prefix}-${value}`.toLowerCase().replace(/[^a-z0-9-]+/g, "-").replace(/-+/g, "-").slice(0, 128).replace(/-$/, "");
|
|
50
|
+
}
|
|
51
|
+
function planId(value) {
|
|
52
|
+
return value.toLowerCase().replace(/[^a-z0-9-]+/g, "-").replace(/-+/g, "-").replace(/^-|-$/g, "").slice(0, 100);
|
|
53
|
+
}
|
|
54
|
+
async function validateDownstreamContracts(brief, projectRoot, traceFor) {
|
|
55
|
+
const results = [];
|
|
56
|
+
for (const declaration of brief.downstreamContracts) {
|
|
57
|
+
const traceRefs = [traceFor("brief", `downstreamContracts.${declaration.kind}`, `Brief decision for the ${declaration.kind} contract.`)];
|
|
58
|
+
if (declaration.status === "planned") {
|
|
59
|
+
results.push({ kind: declaration.kind, declaration: "planned", validation: "planned", passed: false, findings: 0, reason: "The contract is planned and must be authored and validated before implementation.", traceRefs });
|
|
60
|
+
continue;
|
|
61
|
+
}
|
|
62
|
+
if (declaration.status === "not-applicable") {
|
|
63
|
+
results.push({ kind: declaration.kind, declaration: "not-applicable", validation: "not-applicable", passed: true, findings: 0, reason: declaration.reason, traceRefs });
|
|
64
|
+
continue;
|
|
65
|
+
}
|
|
66
|
+
try {
|
|
67
|
+
const resolved = await resolveContractPath(projectRoot, declaration.path);
|
|
68
|
+
let passed = false;
|
|
69
|
+
let findings = 0;
|
|
70
|
+
if (declaration.kind === "product-task") {
|
|
71
|
+
const report = await validateProductContract(resolved.absolute, { projectRoot });
|
|
72
|
+
passed = report.passed;
|
|
73
|
+
findings = report.issues.length;
|
|
74
|
+
}
|
|
75
|
+
else if (declaration.kind === "interface-trust") {
|
|
76
|
+
const report = validateInterfaceTrustContract(await loadInterfaceTrustContract(resolved.absolute), resolved.absolute);
|
|
77
|
+
passed = report.passed;
|
|
78
|
+
findings = report.findings.length;
|
|
79
|
+
}
|
|
80
|
+
else if (declaration.kind === "information-design") {
|
|
81
|
+
const report = validateInformationDesignContract(await loadInformationDesignContract(resolved.absolute), resolved.absolute);
|
|
82
|
+
passed = report.passed;
|
|
83
|
+
findings = report.findings.length;
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
86
|
+
const report = validateDesignDeliverable(await loadDesignDeliverable(resolved.absolute), resolved.absolute);
|
|
87
|
+
passed = report.passed;
|
|
88
|
+
findings = report.findings.length;
|
|
89
|
+
}
|
|
90
|
+
results.push({
|
|
91
|
+
kind: declaration.kind,
|
|
92
|
+
declaration: "exists",
|
|
93
|
+
validation: passed ? "validated" : "invalid",
|
|
94
|
+
source: resolved.source,
|
|
95
|
+
passed,
|
|
96
|
+
findings,
|
|
97
|
+
reason: passed ? "The declared existing contract passed its maintained validator." : "The declared existing contract has validation findings that block implementation.",
|
|
98
|
+
traceRefs,
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
catch {
|
|
102
|
+
results.push({ kind: declaration.kind, declaration: "exists", validation: "invalid", passed: false, findings: 1, reason: "The declared existing contract could not be loaded within the allowed project root or did not pass structural parsing.", traceRefs });
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
return results;
|
|
106
|
+
}
|
|
107
|
+
export async function compileDesignPlan(brief, options) {
|
|
108
|
+
const traces = new Map();
|
|
109
|
+
const traceFor = (kind, reference, description) => {
|
|
110
|
+
const id = traceId(kind, reference);
|
|
111
|
+
if (!traces.has(id))
|
|
112
|
+
traces.set(id, { id, kind, reference, description });
|
|
113
|
+
return id;
|
|
114
|
+
};
|
|
115
|
+
const standard = (reference, description) => traceFor("standard", reference, description);
|
|
116
|
+
const briefTrace = (reference, description) => traceFor("brief", reference, description);
|
|
117
|
+
const assumptionTrace = (id, description) => traceFor("assumption", `assumptions.${id}`, description);
|
|
118
|
+
const briefReport = validateProductDesignBrief(brief, options.briefSourcePath);
|
|
119
|
+
const contracts = await validateDownstreamContracts(brief, options.projectRoot, traceFor);
|
|
120
|
+
const invalidContracts = contracts.filter((entry) => entry.validation === "invalid");
|
|
121
|
+
const plannedContracts = contracts.filter((entry) => entry.validation === "planned");
|
|
122
|
+
const plannedRoutes = brief.tasks.map((task) => ({
|
|
123
|
+
id: `route-${task.id}`,
|
|
124
|
+
path: `/tasks/${task.id}`,
|
|
125
|
+
taskRef: task.id,
|
|
126
|
+
status: "confirmed",
|
|
127
|
+
purpose: task.goal,
|
|
128
|
+
traceRefs: [
|
|
129
|
+
briefTrace(`tasks.${task.id}`, `Task ${task.id} requires a reachable route.`),
|
|
130
|
+
standard("route-convention", "Use stable task-oriented route identifiers in the design plan; the generation adapter must map them to an existing target router without collision."),
|
|
131
|
+
],
|
|
132
|
+
}));
|
|
133
|
+
const blockers = [
|
|
134
|
+
...(!briefReport.generationReady ? ["The product design brief is not generation-ready."] : []),
|
|
135
|
+
...invalidContracts.map((entry) => `The existing ${entry.kind} contract is invalid or unavailable.`),
|
|
136
|
+
...plannedContracts.map((entry) => `Author and validate the planned ${entry.kind} contract.`),
|
|
137
|
+
];
|
|
138
|
+
const planningReady = briefReport.generationReady;
|
|
139
|
+
const implementationReady = planningReady && invalidContracts.length === 0 && plannedContracts.length === 0;
|
|
140
|
+
const status = !planningReady || invalidContracts.length > 0 ? "blocked" : implementationReady ? "ready" : "provisional";
|
|
141
|
+
const informationArchitecture = brief.tasks.flatMap((task) => {
|
|
142
|
+
const taskRef = briefTrace(`tasks.${task.id}`, `Primary task and recovery contract for ${task.id}.`);
|
|
143
|
+
const dataRefs = task.dataRefs.map((reference) => `dataSources.${reference}`);
|
|
144
|
+
return [
|
|
145
|
+
{ id: `ia-${task.id}-context`, order: 1, label: "Context and provenance", purpose: `Establish trigger, scope, data origin, and freshness before ${task.title}.`, contentRefs: [task.trigger, ...dataRefs], traceRefs: [taskRef, standard("decision-hierarchy", "Operational interfaces answer context, priority, impact, evidence, action, and verification in that order.")] },
|
|
146
|
+
{ id: `ia-${task.id}-priority`, order: 2, label: "Primary outcome and action", purpose: task.goal, contentRefs: task.outcomeRefs.map((reference) => `outcomes.${reference}`), traceRefs: [taskRef] },
|
|
147
|
+
{ id: `ia-${task.id}-impact`, order: 3, label: "Impact and exceptions", purpose: task.failureImpact, contentRefs: [`tasks.${task.id}.failureImpact`], traceRefs: [taskRef] },
|
|
148
|
+
{ id: `ia-${task.id}-evidence`, order: 4, label: "Evidence and explanation", purpose: "Expose the evidence needed to verify the decision without promoting supporting telemetry above the task.", contentRefs: dataRefs.length ? dataRefs : [`tasks.${task.id}.inputs`], traceRefs: [taskRef] },
|
|
149
|
+
{ id: `ia-${task.id}-action`, order: 5, label: "Bounded next action", purpose: task.successSignal, contentRefs: [`tasks.${task.id}.successSignal`], traceRefs: [taskRef] },
|
|
150
|
+
{ id: `ia-${task.id}-verification`, order: 6, label: "Recovery and verification", purpose: task.recovery, contentRefs: [`tasks.${task.id}.recovery`], traceRefs: [taskRef] },
|
|
151
|
+
];
|
|
152
|
+
});
|
|
153
|
+
const components = brief.tasks.flatMap((task) => {
|
|
154
|
+
const taskRef = briefTrace(`tasks.${task.id}`, `Component boundaries implement task ${task.id}.`);
|
|
155
|
+
const boundaryRef = standard("component-boundaries", "Separate orchestration, state ownership, evidence presentation, actions, and recovery behind explicit inputs and outputs.");
|
|
156
|
+
return [
|
|
157
|
+
{ id: `component-${task.id}-shell`, taskRef: task.id, boundary: "task-shell", responsibility: "Own route context and compose the decision path without owning service behavior.", ownsState: [], inputs: [task.trigger], outputs: ["selected task context"], traceRefs: [taskRef, boundaryRef] },
|
|
158
|
+
{ id: `component-${task.id}-state`, taskRef: task.id, boundary: "domain-state-controller", responsibility: "Own task, data-origin, progress, failure, and recovery state independently from rendering.", ownsState: brief.states.filter((entry) => entry.taskRefs.includes(task.id)).map((entry) => entry.state), inputs: task.dataRefs, outputs: ["typed task state", "bounded actions"], traceRefs: [taskRef, boundaryRef] },
|
|
159
|
+
{ id: `component-${task.id}-decision`, taskRef: task.id, boundary: "decision-summary", responsibility: "Present scope, priority, impact, and the primary next action in decision order.", ownsState: [], inputs: task.outcomeRefs, outputs: ["selected decision"], traceRefs: [taskRef, boundaryRef] },
|
|
160
|
+
{ id: `component-${task.id}-evidence`, taskRef: task.id, boundary: "evidence-detail", responsibility: "Present source, freshness, limitations, and supporting evidence without obscuring the primary task.", ownsState: [], inputs: task.dataRefs, outputs: ["evidence selection"], traceRefs: [taskRef, boundaryRef] },
|
|
161
|
+
{ id: `component-${task.id}-action`, taskRef: task.id, boundary: "bounded-action-and-recovery", responsibility: "Confirm consequential actions, preserve context on failure, and expose retry or return behavior.", ownsState: [], inputs: task.inputs, outputs: [task.successSignal, task.recovery], traceRefs: [taskRef, boundaryRef] },
|
|
162
|
+
];
|
|
163
|
+
});
|
|
164
|
+
const stateOwnership = brief.states.flatMap((state) => state.taskRefs.map((taskRef) => ({
|
|
165
|
+
state: state.state,
|
|
166
|
+
taskRefs: [taskRef],
|
|
167
|
+
ownerComponentRef: `component-${taskRef}-state`,
|
|
168
|
+
behavior: state.behavior,
|
|
169
|
+
recovery: state.recovery,
|
|
170
|
+
disclosure: state.disclosure,
|
|
171
|
+
traceRefs: [briefTrace(`states.${state.state}`, `Declared ${state.state} behavior, recovery, and disclosure.`)],
|
|
172
|
+
})));
|
|
173
|
+
const requirementRefs = (category) => brief.requirements.filter((entry) => entry.category === category).map((entry) => briefTrace(`requirements.${entry.id}`, entry.statement));
|
|
174
|
+
const baseTrace = [standard("semantic-token-architecture", "Bind components to semantic roles backed by component and primitive token layers; do not emit raw visual values in the plan.")];
|
|
175
|
+
const tokenRequirements = [
|
|
176
|
+
{ id: "tokens-color", category: "color", roles: ["surface", "text", "border", "focus", "status", "action"], rule: "Define theme-specific semantic roles with contrast and non-color state cues.", traceRefs: [...baseTrace, ...requirementRefs("accessibility")] },
|
|
177
|
+
{ id: "tokens-typography", category: "typography", roles: ["page-title", "section-title", "body", "label", "data", "annotation"], rule: "Use stable readable roles with no viewport-width font scaling or negative letter spacing.", traceRefs: baseTrace },
|
|
178
|
+
{ id: "tokens-spacing", category: "spacing", roles: ["inline", "stack", "section", "control", "viewport-gutter"], rule: "Use a finite spacing scale that preserves grouping and responsive rhythm.", traceRefs: baseTrace },
|
|
179
|
+
{ id: "tokens-shape", category: "shape", roles: ["control-radius", "panel-radius", "border-width", "focus-width"], rule: "Use restrained component geometry and a distinct focus treatment.", traceRefs: baseTrace },
|
|
180
|
+
{ id: "tokens-motion", category: "motion", roles: ["duration-fast", "duration-standard", "easing", "reduced-motion"], rule: "Motion must communicate state and provide a reduced-motion equivalent.", traceRefs: [...baseTrace, ...requirementRefs("accessibility")] },
|
|
181
|
+
{ id: "tokens-data-visualization", category: "data-visualization", roles: ["series", "threshold", "selection", "grid", "annotation"], rule: "Chart roles must remain distinguishable without color and preserve source and freshness context.", traceRefs: baseTrace },
|
|
182
|
+
];
|
|
183
|
+
const responsiveBehavior = brief.platforms.map((platform) => ({
|
|
184
|
+
platformRef: platform.id,
|
|
185
|
+
viewports: [...platform.viewports].sort((left, right) => left - right),
|
|
186
|
+
inputModes: [...platform.inputModes],
|
|
187
|
+
rules: ["Preserve decision order and task state at every declared viewport.", "Remove competing page-level scroll regions and prevent clipping or control overlap.", "Keep the primary action reachable before secondary telemetry.", ...platform.constraints],
|
|
188
|
+
traceRefs: [briefTrace(`platforms.${platform.id}`, `Declared platform, viewport, input, and constraint boundary for ${platform.id}.`), standard("responsive-verification", "Verify maintained responsive widths, text resize, reflow, focus, touch targets, and reduced motion in a browser.")],
|
|
189
|
+
}));
|
|
190
|
+
const assetRequirements = brief.requirements.filter((entry) => ["brand", "content"].includes(entry.category)).map((entry) => ({
|
|
191
|
+
id: `asset-${entry.id}`,
|
|
192
|
+
purpose: entry.statement,
|
|
193
|
+
rightsRequired: true,
|
|
194
|
+
alternativesRequired: true,
|
|
195
|
+
traceRefs: [briefTrace(`requirements.${entry.id}`, entry.statement)],
|
|
196
|
+
}));
|
|
197
|
+
const assets = {
|
|
198
|
+
status: (assetRequirements.length > 0 ? "confirmed" : "provisional"),
|
|
199
|
+
requirements: assetRequirements,
|
|
200
|
+
rule: assetRequirements.length > 0 ? "Every asset requires purpose, provenance, rights, accessible alternatives, and failure behavior." : "No brand or content asset is required by the brief. Do not invent decorative assets; record any later need before generation.",
|
|
201
|
+
traceRefs: [standard("asset-provenance", "Assets are optional specialized deliverables and require purpose, rights, alternatives, contrast, and fallback evidence.")],
|
|
202
|
+
};
|
|
203
|
+
const stageDefinitions = [
|
|
204
|
+
["stage-contracts", "Validate downstream contracts", "All applicable product-task, trust, information, and design contracts pass."],
|
|
205
|
+
["stage-architecture", "Confirm target architecture", "Routes, component boundaries, state owners, and target repository conventions are confirmed."],
|
|
206
|
+
["stage-tokens", "Define semantic tokens", "Primitive, semantic, and component token layers cover every declared role and theme."],
|
|
207
|
+
["stage-task-path", "Implement the primary task and recovery", "The smallest coherent task path covers success, failure, disclosure, and recovery."],
|
|
208
|
+
["stage-automated-verification", "Run automated verification", "Static, contract, integration, and browser evidence satisfies every automated obligation."],
|
|
209
|
+
["stage-human-review", "Complete attributable human review", "Only criteria explicitly requiring human evidence have attributable reviewer records."],
|
|
210
|
+
];
|
|
211
|
+
const implementationStages = stageDefinitions.map(([id, name, exitCondition], index) => ({
|
|
212
|
+
id, order: index + 1, name, exitCondition,
|
|
213
|
+
status: (index === 0
|
|
214
|
+
? invalidContracts.length > 0
|
|
215
|
+
? "blocked"
|
|
216
|
+
: plannedContracts.length > 0
|
|
217
|
+
? "provisional"
|
|
218
|
+
: "confirmed"
|
|
219
|
+
: "provisional"),
|
|
220
|
+
traceRefs: [standard("delivery-sequence", "Validate intent and contracts before architecture, tokens, implementation, automated verification, and attributable human review.")],
|
|
221
|
+
}));
|
|
222
|
+
const verificationObligations = brief.acceptanceCriteria.map((criterion) => ({
|
|
223
|
+
id: `verify-${criterion.id}`,
|
|
224
|
+
acceptanceCriterionRef: criterion.id,
|
|
225
|
+
taskRefs: criterion.taskRefs,
|
|
226
|
+
method: criterion.method,
|
|
227
|
+
blocking: criterion.blocking,
|
|
228
|
+
expectedEvidence: criterion.expectedEvidence,
|
|
229
|
+
traceRefs: [briefTrace(`acceptanceCriteria.${criterion.id}`, criterion.statement)],
|
|
230
|
+
}));
|
|
231
|
+
for (const assumption of brief.assumptions)
|
|
232
|
+
assumptionTrace(assumption.id, `${assumption.status} ${assumption.risk}-risk assumption: ${assumption.statement}`);
|
|
233
|
+
const decisions = [
|
|
234
|
+
{ id: "decision-product-boundary", status: planningReady ? "confirmed" : "blocked", statement: brief.problem.desiredOutcome, rationale: brief.problem.statement, traceRefs: [briefTrace("problem", "Evidence-backed current problem and desired outcome.")] },
|
|
235
|
+
{ id: "decision-route-boundary", status: "confirmed", statement: "Use one stable task-oriented design route per declared task.", rationale: "The plan establishes a deterministic route contract; the generation adapter remains responsible for collision-safe target-router integration.", traceRefs: [standard("route-convention", "Task-oriented route planning with target integration deferred to the generation adapter."), ...brief.tasks.map((task) => briefTrace(`tasks.${task.id}`, task.title))] },
|
|
236
|
+
{ id: "decision-assets", status: assets.status, statement: assets.rule, rationale: "Asset scope follows declared brand and content requirements rather than decorative defaults.", traceRefs: assets.traceRefs },
|
|
237
|
+
...brief.assumptions.map((assumption) => ({ id: `decision-${assumption.id}`, status: (assumption.status === "validated" ? "confirmed" : assumption.status === "rejected" ? "blocked" : "provisional"), statement: assumption.statement, rationale: assumption.validationMethod, traceRefs: [assumptionTrace(assumption.id, `${assumption.status} ${assumption.risk}-risk assumption.`)] })),
|
|
238
|
+
];
|
|
239
|
+
const plan = {
|
|
240
|
+
version: "1.0",
|
|
241
|
+
compilerVersion: DESIGN_PLAN_COMPILER_VERSION,
|
|
242
|
+
id: `${planId(brief.id)}-design-plan`,
|
|
243
|
+
product: brief.product,
|
|
244
|
+
sourceBrief: { id: brief.id, version: brief.version, file: basename(options.briefSourcePath), digest: digest(brief), generationReady: briefReport.generationReady },
|
|
245
|
+
status,
|
|
246
|
+
planningReady,
|
|
247
|
+
implementationReady,
|
|
248
|
+
traces: [...traces.values()].sort((left, right) => left.id.localeCompare(right.id)),
|
|
249
|
+
decisions,
|
|
250
|
+
informationArchitecture,
|
|
251
|
+
routes: plannedRoutes,
|
|
252
|
+
components,
|
|
253
|
+
stateOwnership,
|
|
254
|
+
contracts,
|
|
255
|
+
tokenRequirements,
|
|
256
|
+
responsiveBehavior,
|
|
257
|
+
assets,
|
|
258
|
+
implementationStages,
|
|
259
|
+
verificationObligations,
|
|
260
|
+
blockers,
|
|
261
|
+
limitations: [
|
|
262
|
+
"A compiled plan proves deterministic transformation and declaration traceability, not product desirability, target-repository compatibility, rendered quality, or runtime correctness.",
|
|
263
|
+
"Provisional decisions require the stated downstream contract or target-architecture evidence before implementation begins.",
|
|
264
|
+
"Human-expert and representative-user obligations remain evidence requirements. Compilation does not create or satisfy human attestations.",
|
|
265
|
+
],
|
|
266
|
+
};
|
|
267
|
+
const parsed = designPlanSchema.parse(plan);
|
|
268
|
+
const knownTraces = new Set(parsed.traces.map((entry) => entry.id));
|
|
269
|
+
const allTraceRefs = [
|
|
270
|
+
...parsed.decisions.flatMap((entry) => entry.traceRefs),
|
|
271
|
+
...parsed.informationArchitecture.flatMap((entry) => entry.traceRefs),
|
|
272
|
+
...parsed.routes.flatMap((entry) => entry.traceRefs),
|
|
273
|
+
...parsed.components.flatMap((entry) => entry.traceRefs),
|
|
274
|
+
...parsed.stateOwnership.flatMap((entry) => entry.traceRefs),
|
|
275
|
+
...parsed.contracts.flatMap((entry) => entry.traceRefs),
|
|
276
|
+
...parsed.tokenRequirements.flatMap((entry) => entry.traceRefs),
|
|
277
|
+
...parsed.responsiveBehavior.flatMap((entry) => entry.traceRefs),
|
|
278
|
+
...parsed.assets.traceRefs,
|
|
279
|
+
...parsed.assets.requirements.flatMap((entry) => entry.traceRefs),
|
|
280
|
+
...parsed.implementationStages.flatMap((entry) => entry.traceRefs),
|
|
281
|
+
...parsed.verificationObligations.flatMap((entry) => entry.traceRefs),
|
|
282
|
+
];
|
|
283
|
+
const missingTrace = allTraceRefs.find((reference) => !knownTraces.has(reference));
|
|
284
|
+
if (missingTrace)
|
|
285
|
+
throw new Error(`Compiled design plan references missing trace ${missingTrace}`);
|
|
286
|
+
return parsed;
|
|
287
|
+
}
|
|
288
|
+
//# sourceMappingURL=compiler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compiler.js","sourceRoot":"","sources":["../../../src/design-plan/compiler.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export function formatDesignPlan(plan) {
|
|
2
|
+
return [
|
|
3
|
+
"# Compiled Design Plan",
|
|
4
|
+
"",
|
|
5
|
+
`- Product: ${plan.product}`,
|
|
6
|
+
`- Plan: ${plan.id}`,
|
|
7
|
+
`- Status: ${plan.status}`,
|
|
8
|
+
`- Planning ready: ${plan.planningReady ? "yes" : "no"}`,
|
|
9
|
+
`- Implementation ready: ${plan.implementationReady ? "yes" : "no"}`,
|
|
10
|
+
`- Source digest: ${plan.sourceBrief.digest}`,
|
|
11
|
+
`- Compiler: ${plan.compilerVersion}`,
|
|
12
|
+
"",
|
|
13
|
+
"## Contracts",
|
|
14
|
+
...plan.contracts.map((entry) => `- ${entry.kind}: ${entry.validation} - ${entry.reason}`),
|
|
15
|
+
"",
|
|
16
|
+
"## Routes",
|
|
17
|
+
...plan.routes.map((entry) => `- ${entry.path}: ${entry.status} - ${entry.purpose}`),
|
|
18
|
+
"",
|
|
19
|
+
"## Implementation Stages",
|
|
20
|
+
...plan.implementationStages.map((entry) => `${entry.order}. ${entry.name}: ${entry.status}`),
|
|
21
|
+
"",
|
|
22
|
+
"## Blockers And Confirmations",
|
|
23
|
+
...(plan.blockers.length > 0 ? plan.blockers.map((entry) => `- ${entry}`) : ["- None."]),
|
|
24
|
+
"",
|
|
25
|
+
"Use --json for the complete traceable plan.",
|
|
26
|
+
].join("\n");
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=report.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"report.js","sourceRoot":"","sources":["../../../src/design-plan/report.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,gBAAgB,CAAC,IAAgB;IAC/C,OAAO;QACL,wBAAwB;QACxB,EAAE;QACF,cAAc,IAAI,CAAC,OAAO,EAAE;QAC5B,WAAW,IAAI,CAAC,EAAE,EAAE;QACpB,aAAa,IAAI,CAAC,MAAM,EAAE;QAC1B,qBAAqB,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;QACxD,2BAA2B,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;QACpE,oBAAoB,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE;QAC7C,eAAe,IAAI,CAAC,eAAe,EAAE;QACrC,EAAE;QACF,cAAc;QACd,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,UAAU,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC;QAC1F,EAAE;QACF,WAAW;QACX,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,MAAM,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;QACpF,EAAE;QACF,0BAA0B;QAC1B,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;QAC7F,EAAE;QACF,+BAA+B;QAC/B,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACxF,EAAE;QACF,6CAA6C;KAC9C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC"}
|