@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,14 @@
|
|
|
1
|
+
$schema: https://json-schema.org/draft/2020-12/schema
|
|
2
|
+
$id: https://local.ztothez-design-engineering/schemas/interface-comparison-review-session-1.0.schema.json
|
|
3
|
+
title: ZtotheZ Interface Comparison Review Session
|
|
4
|
+
description: Portable envelope for draft or completed human-expert and representative-user comparison sessions.
|
|
5
|
+
type: object
|
|
6
|
+
additionalProperties: false
|
|
7
|
+
required: [version, status, session]
|
|
8
|
+
properties:
|
|
9
|
+
version:
|
|
10
|
+
const: "1.0"
|
|
11
|
+
status:
|
|
12
|
+
enum: [draft, complete]
|
|
13
|
+
session:
|
|
14
|
+
$ref: review.schema.yaml#/$defs/session
|
|
@@ -0,0 +1,296 @@
|
|
|
1
|
+
$schema: https://json-schema.org/draft/2020-12/schema
|
|
2
|
+
$id: https://local.ztothez-design-engineering/schemas/interface-comparison-review-1.0.schema.json
|
|
3
|
+
title: ZtotheZ Interface Comparison Review
|
|
4
|
+
description: Version 1.0 review, claim-ledger, retained-artifact, and evidence-provenance contract.
|
|
5
|
+
type: object
|
|
6
|
+
additionalProperties: false
|
|
7
|
+
required: [version, id, methodologyId, preparedAt, preparedBy, candidates, artifacts, stages, sessions, claims]
|
|
8
|
+
properties:
|
|
9
|
+
version:
|
|
10
|
+
const: "1.0"
|
|
11
|
+
id:
|
|
12
|
+
$ref: "#/$defs/id"
|
|
13
|
+
methodologyId:
|
|
14
|
+
$ref: "#/$defs/id"
|
|
15
|
+
preparedAt:
|
|
16
|
+
type: string
|
|
17
|
+
format: date-time
|
|
18
|
+
preparedBy:
|
|
19
|
+
$ref: "#/$defs/preparedBy"
|
|
20
|
+
candidates:
|
|
21
|
+
type: array
|
|
22
|
+
minItems: 2
|
|
23
|
+
maxItems: 12
|
|
24
|
+
items:
|
|
25
|
+
$ref: "#/$defs/id"
|
|
26
|
+
artifacts:
|
|
27
|
+
type: array
|
|
28
|
+
maxItems: 10000
|
|
29
|
+
items:
|
|
30
|
+
$ref: "#/$defs/artifact"
|
|
31
|
+
stages:
|
|
32
|
+
type: array
|
|
33
|
+
maxItems: 100
|
|
34
|
+
items:
|
|
35
|
+
type: object
|
|
36
|
+
additionalProperties: false
|
|
37
|
+
required: [id, candidate, status, evidenceRefs]
|
|
38
|
+
properties:
|
|
39
|
+
id:
|
|
40
|
+
$ref: "#/$defs/id"
|
|
41
|
+
candidate:
|
|
42
|
+
$ref: "#/$defs/evidenceSubject"
|
|
43
|
+
status:
|
|
44
|
+
enum: [pass, fail, partial, not-run]
|
|
45
|
+
evidenceRefs:
|
|
46
|
+
$ref: "#/$defs/idList"
|
|
47
|
+
sessions:
|
|
48
|
+
type: array
|
|
49
|
+
maxItems: 2000
|
|
50
|
+
items:
|
|
51
|
+
$ref: "#/$defs/session"
|
|
52
|
+
claims:
|
|
53
|
+
type: array
|
|
54
|
+
minItems: 1
|
|
55
|
+
maxItems: 10000
|
|
56
|
+
items:
|
|
57
|
+
$ref: "#/$defs/claim"
|
|
58
|
+
$defs:
|
|
59
|
+
id:
|
|
60
|
+
type: string
|
|
61
|
+
pattern: "^[a-z0-9][a-z0-9-]{0,63}$"
|
|
62
|
+
shortText:
|
|
63
|
+
type: string
|
|
64
|
+
minLength: 1
|
|
65
|
+
maxLength: 256
|
|
66
|
+
text:
|
|
67
|
+
type: string
|
|
68
|
+
minLength: 1
|
|
69
|
+
maxLength: 2048
|
|
70
|
+
path:
|
|
71
|
+
type: string
|
|
72
|
+
minLength: 1
|
|
73
|
+
maxLength: 1024
|
|
74
|
+
idList:
|
|
75
|
+
type: array
|
|
76
|
+
maxItems: 100
|
|
77
|
+
items:
|
|
78
|
+
$ref: "#/$defs/id"
|
|
79
|
+
evidenceLevel:
|
|
80
|
+
enum: [automated, ai-assisted-expert, human-expert, representative-user]
|
|
81
|
+
evidenceSubject:
|
|
82
|
+
anyOf:
|
|
83
|
+
- $ref: "#/$defs/id"
|
|
84
|
+
- const: comparison
|
|
85
|
+
preparedBy:
|
|
86
|
+
type: object
|
|
87
|
+
additionalProperties: false
|
|
88
|
+
required: [type, name]
|
|
89
|
+
properties:
|
|
90
|
+
type:
|
|
91
|
+
enum: [agent, human, mixed]
|
|
92
|
+
name:
|
|
93
|
+
$ref: "#/$defs/shortText"
|
|
94
|
+
accessibility:
|
|
95
|
+
type: object
|
|
96
|
+
additionalProperties: false
|
|
97
|
+
required: [standard, version, level, coverage]
|
|
98
|
+
properties:
|
|
99
|
+
standard:
|
|
100
|
+
const: WCAG
|
|
101
|
+
version:
|
|
102
|
+
enum: ["2.1", "2.2"]
|
|
103
|
+
level:
|
|
104
|
+
enum: [A, AA, AAA]
|
|
105
|
+
coverage:
|
|
106
|
+
enum: [sampled-states, declared-routes, full-product]
|
|
107
|
+
artifact:
|
|
108
|
+
type: object
|
|
109
|
+
additionalProperties: false
|
|
110
|
+
required: [id, candidate, stage, kind, path, producer, retained, scope, recordedAt, sourceRevision, sha256]
|
|
111
|
+
allOf:
|
|
112
|
+
- if:
|
|
113
|
+
properties:
|
|
114
|
+
kind:
|
|
115
|
+
const: screenshot
|
|
116
|
+
then:
|
|
117
|
+
required: [capture]
|
|
118
|
+
else:
|
|
119
|
+
not:
|
|
120
|
+
required: [capture]
|
|
121
|
+
properties:
|
|
122
|
+
id:
|
|
123
|
+
$ref: "#/$defs/id"
|
|
124
|
+
candidate:
|
|
125
|
+
$ref: "#/$defs/evidenceSubject"
|
|
126
|
+
stage:
|
|
127
|
+
$ref: "#/$defs/id"
|
|
128
|
+
kind:
|
|
129
|
+
enum: [build-report, typecheck-report, test-report, static-audit, runtime-report, journey-report, screenshot, export, source-inspection, human-review, user-session]
|
|
130
|
+
path:
|
|
131
|
+
$ref: "#/$defs/path"
|
|
132
|
+
producer:
|
|
133
|
+
enum: [automation, agent, human]
|
|
134
|
+
retained:
|
|
135
|
+
type: boolean
|
|
136
|
+
scope:
|
|
137
|
+
type: string
|
|
138
|
+
minLength: 1
|
|
139
|
+
maxLength: 1024
|
|
140
|
+
recordedAt:
|
|
141
|
+
type: string
|
|
142
|
+
format: date-time
|
|
143
|
+
sourceRevision:
|
|
144
|
+
$ref: "#/$defs/shortText"
|
|
145
|
+
sha256:
|
|
146
|
+
type: string
|
|
147
|
+
pattern: "^[a-f0-9]{64}$"
|
|
148
|
+
capture:
|
|
149
|
+
type: object
|
|
150
|
+
additionalProperties: false
|
|
151
|
+
required: [viewport, state, width, height]
|
|
152
|
+
properties:
|
|
153
|
+
viewport:
|
|
154
|
+
$ref: "#/$defs/id"
|
|
155
|
+
state:
|
|
156
|
+
$ref: "#/$defs/id"
|
|
157
|
+
width:
|
|
158
|
+
type: integer
|
|
159
|
+
minimum: 240
|
|
160
|
+
maximum: 3840
|
|
161
|
+
height:
|
|
162
|
+
type: integer
|
|
163
|
+
minimum: 240
|
|
164
|
+
maximum: 5000
|
|
165
|
+
accessibility:
|
|
166
|
+
$ref: "#/$defs/accessibility"
|
|
167
|
+
taskResult:
|
|
168
|
+
type: object
|
|
169
|
+
additionalProperties: false
|
|
170
|
+
required: [task, candidate, outcome, navigationErrors, recoveryAttempts]
|
|
171
|
+
properties:
|
|
172
|
+
task:
|
|
173
|
+
$ref: "#/$defs/id"
|
|
174
|
+
candidate:
|
|
175
|
+
$ref: "#/$defs/id"
|
|
176
|
+
outcome:
|
|
177
|
+
enum: [completed, partial, failed, not-run]
|
|
178
|
+
durationSeconds:
|
|
179
|
+
type: number
|
|
180
|
+
minimum: 0
|
|
181
|
+
maximum: 86400
|
|
182
|
+
navigationErrors:
|
|
183
|
+
type: integer
|
|
184
|
+
minimum: 0
|
|
185
|
+
recoveryAttempts:
|
|
186
|
+
type: integer
|
|
187
|
+
minimum: 0
|
|
188
|
+
comprehensionCorrect:
|
|
189
|
+
type: boolean
|
|
190
|
+
confidence:
|
|
191
|
+
type: integer
|
|
192
|
+
minimum: 1
|
|
193
|
+
maximum: 5
|
|
194
|
+
notes:
|
|
195
|
+
$ref: "#/$defs/text"
|
|
196
|
+
rating:
|
|
197
|
+
type: object
|
|
198
|
+
additionalProperties: false
|
|
199
|
+
required: [candidate, criterion, score, rationale]
|
|
200
|
+
properties:
|
|
201
|
+
candidate:
|
|
202
|
+
$ref: "#/$defs/id"
|
|
203
|
+
criterion:
|
|
204
|
+
$ref: "#/$defs/id"
|
|
205
|
+
score:
|
|
206
|
+
type: integer
|
|
207
|
+
minimum: 0
|
|
208
|
+
maximum: 4
|
|
209
|
+
rationale:
|
|
210
|
+
$ref: "#/$defs/text"
|
|
211
|
+
session:
|
|
212
|
+
type: object
|
|
213
|
+
additionalProperties: false
|
|
214
|
+
required: [id, level, origin, candidateOrder, taskResults, ratings]
|
|
215
|
+
properties:
|
|
216
|
+
id:
|
|
217
|
+
$ref: "#/$defs/id"
|
|
218
|
+
level:
|
|
219
|
+
enum: [ai-assisted-expert, human-expert, representative-user]
|
|
220
|
+
origin:
|
|
221
|
+
enum: [agent-generated, reviewer-supplied]
|
|
222
|
+
contributor:
|
|
223
|
+
$ref: "#/$defs/shortText"
|
|
224
|
+
recordedAt:
|
|
225
|
+
type: string
|
|
226
|
+
format: date-time
|
|
227
|
+
participantId:
|
|
228
|
+
$ref: "#/$defs/id"
|
|
229
|
+
blinding:
|
|
230
|
+
type: object
|
|
231
|
+
additionalProperties: false
|
|
232
|
+
required: [candidateIdentitiesWithheld, priorCandidateExposure, conflicts]
|
|
233
|
+
properties:
|
|
234
|
+
candidateIdentitiesWithheld:
|
|
235
|
+
type: boolean
|
|
236
|
+
priorCandidateExposure:
|
|
237
|
+
type: boolean
|
|
238
|
+
conflicts:
|
|
239
|
+
type: array
|
|
240
|
+
maxItems: 20
|
|
241
|
+
items:
|
|
242
|
+
type: string
|
|
243
|
+
minLength: 1
|
|
244
|
+
maxLength: 512
|
|
245
|
+
candidateOrder:
|
|
246
|
+
type: array
|
|
247
|
+
minItems: 2
|
|
248
|
+
maxItems: 12
|
|
249
|
+
items:
|
|
250
|
+
$ref: "#/$defs/id"
|
|
251
|
+
taskResults:
|
|
252
|
+
type: array
|
|
253
|
+
maxItems: 2000
|
|
254
|
+
items:
|
|
255
|
+
$ref: "#/$defs/taskResult"
|
|
256
|
+
ratings:
|
|
257
|
+
type: array
|
|
258
|
+
maxItems: 2000
|
|
259
|
+
items:
|
|
260
|
+
$ref: "#/$defs/rating"
|
|
261
|
+
claim:
|
|
262
|
+
type: object
|
|
263
|
+
additionalProperties: false
|
|
264
|
+
required: [id, candidate, kind, statement, evidenceType, evidenceRefs, sessionRefs, scope, status, limitations]
|
|
265
|
+
properties:
|
|
266
|
+
id:
|
|
267
|
+
$ref: "#/$defs/id"
|
|
268
|
+
candidate:
|
|
269
|
+
$ref: "#/$defs/evidenceSubject"
|
|
270
|
+
kind:
|
|
271
|
+
enum: [overall-result, stage-result, accessibility-conformance, design-quality, implementation-fact]
|
|
272
|
+
statement:
|
|
273
|
+
$ref: "#/$defs/text"
|
|
274
|
+
evidenceType:
|
|
275
|
+
$ref: "#/$defs/evidenceLevel"
|
|
276
|
+
evidenceRefs:
|
|
277
|
+
$ref: "#/$defs/idList"
|
|
278
|
+
sessionRefs:
|
|
279
|
+
$ref: "#/$defs/idList"
|
|
280
|
+
scope:
|
|
281
|
+
type: string
|
|
282
|
+
minLength: 1
|
|
283
|
+
maxLength: 1024
|
|
284
|
+
status:
|
|
285
|
+
enum: [verified, partial, unverified, contradicted]
|
|
286
|
+
outcome:
|
|
287
|
+
enum: [pass, fail, partial, not-evaluated]
|
|
288
|
+
limitations:
|
|
289
|
+
type: array
|
|
290
|
+
maxItems: 50
|
|
291
|
+
items:
|
|
292
|
+
type: string
|
|
293
|
+
minLength: 1
|
|
294
|
+
maxLength: 1024
|
|
295
|
+
accessibility:
|
|
296
|
+
$ref: "#/$defs/accessibility"
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
version: "1.0"
|
|
2
|
+
id: incomplete-operational-interface-review
|
|
3
|
+
methodologyId: operational-interface-comparison-v1
|
|
4
|
+
preparedAt: 2026-08-26T15:15:00+03:00
|
|
5
|
+
preparedBy:
|
|
6
|
+
type: agent
|
|
7
|
+
name: ZtotheZ Design Engineering
|
|
8
|
+
candidates: [anonymous-a, anonymous-b, anonymous-c, anonymous-d]
|
|
9
|
+
artifacts:
|
|
10
|
+
- id: example-runtime
|
|
11
|
+
candidate: anonymous-a
|
|
12
|
+
stage: browser-verification
|
|
13
|
+
kind: runtime-report
|
|
14
|
+
path: evidence/example-runtime-report.json
|
|
15
|
+
producer: automation
|
|
16
|
+
retained: true
|
|
17
|
+
scope: Synthetic template evidence for one sampled browser state; not product evidence
|
|
18
|
+
recordedAt: 2026-08-26T15:10:00+03:00
|
|
19
|
+
sourceRevision: synthetic-template-v1
|
|
20
|
+
sha256: 90147b28b13930154a1a0a8df490e1cdd19b92b640d4370afcb2dfd65ac6ef8b
|
|
21
|
+
accessibility:
|
|
22
|
+
standard: WCAG
|
|
23
|
+
version: "2.2"
|
|
24
|
+
level: AA
|
|
25
|
+
coverage: sampled-states
|
|
26
|
+
stages:
|
|
27
|
+
- id: browser-verification
|
|
28
|
+
candidate: anonymous-a
|
|
29
|
+
status: partial
|
|
30
|
+
evidenceRefs: [example-runtime]
|
|
31
|
+
sessions: []
|
|
32
|
+
claims:
|
|
33
|
+
- id: template-runtime-exists
|
|
34
|
+
candidate: anonymous-a
|
|
35
|
+
kind: implementation-fact
|
|
36
|
+
statement: The template includes one retained synthetic runtime artifact.
|
|
37
|
+
evidenceType: automated
|
|
38
|
+
evidenceRefs: [example-runtime]
|
|
39
|
+
sessionRefs: []
|
|
40
|
+
scope: Comparison template only
|
|
41
|
+
status: verified
|
|
42
|
+
limitations:
|
|
43
|
+
- This artifact does not describe or certify a product implementation.
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# Portfolio Stack Adapters
|
|
2
|
+
|
|
3
|
+
Stack adapters convert local registry declarations into bounded benchmark capabilities. They do not
|
|
4
|
+
discover and execute package scripts. The local registry must select an adapter, declare each
|
|
5
|
+
capability, and provide an exact command for every executable stage.
|
|
6
|
+
|
|
7
|
+
## Supported Adapters
|
|
8
|
+
|
|
9
|
+
| Adapter | Intended project | Browser stages |
|
|
10
|
+
|---|---|---|
|
|
11
|
+
| `react-vite` | React with Vite or TanStack Router | Supported when declared |
|
|
12
|
+
| `nextjs` | Next.js frontend | Supported when declared |
|
|
13
|
+
| `angular` | Angular frontend | Supported when declared |
|
|
14
|
+
| `static-web` | Static HTML, CSS, and JavaScript | Supported when declared |
|
|
15
|
+
| `node-python-fullstack` | Frontend with a Node or Python service | Supported when declared |
|
|
16
|
+
| `python-source` | Source-only Python or desktop tool | Not applicable |
|
|
17
|
+
|
|
18
|
+
Every adapter reports all eight portfolio stages. An undeclared or commandless stage is
|
|
19
|
+
`unsupported`. A stage outside the adapter's product surface is `not-applicable`. Neither status is
|
|
20
|
+
reported as a pass or a product defect.
|
|
21
|
+
|
|
22
|
+
## Command Contract
|
|
23
|
+
|
|
24
|
+
Declare commands under `project.execution.commands`. Each stage may have at most one command.
|
|
25
|
+
|
|
26
|
+
```yaml
|
|
27
|
+
technology:
|
|
28
|
+
framework: React with Vite
|
|
29
|
+
packageManager: npm
|
|
30
|
+
entrypoint: package.json
|
|
31
|
+
adapter: react-vite
|
|
32
|
+
capabilities:
|
|
33
|
+
- stage: production-build
|
|
34
|
+
status: supported
|
|
35
|
+
reason: The product has a reviewed production build.
|
|
36
|
+
execution:
|
|
37
|
+
fixtureMode: disconnected
|
|
38
|
+
networkPolicy: denied
|
|
39
|
+
lifecycleScripts: false
|
|
40
|
+
allowedEnvironmentVariables: []
|
|
41
|
+
localPorts: []
|
|
42
|
+
commands:
|
|
43
|
+
- stage: production-build
|
|
44
|
+
command: npm
|
|
45
|
+
arguments: [run, build]
|
|
46
|
+
cwd: .
|
|
47
|
+
timeoutMs: 120000
|
|
48
|
+
maxOutputBytes: 2097152
|
|
49
|
+
allowDependencyNetwork: false
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
The executor passes arguments directly without a shell. Adapter policy permits only known
|
|
53
|
+
executables and stage-specific package scripts. Direct Node and Python commands must name a
|
|
54
|
+
contained relative script and cannot use eval or command-string flags. The snapshot runner then
|
|
55
|
+
enforces the working-directory boundary, environment allowlist, network policy, timeout, process
|
|
56
|
+
group cleanup, output ceiling, and post-run source mutation check.
|
|
57
|
+
|
|
58
|
+
## Workflow
|
|
59
|
+
|
|
60
|
+
1. Validate the local registry.
|
|
61
|
+
2. Inspect effective capability support with `zz-design portfolio capabilities --project ID`.
|
|
62
|
+
3. Resolve every warning or accept it as a documented limitation.
|
|
63
|
+
4. Execute one declared stage with `zz-design portfolio run-stage --project ID --stage STAGE`.
|
|
64
|
+
5. Treat `unsupported` and `not-applicable` as limitations, never successful product evidence.
|
|
65
|
+
6. Treat command-policy errors, nonzero exits, and timeouts as failed execution evidence.
|
|
66
|
+
|
|
67
|
+
Original projects remain read-only. All executable commands run in disposable snapshots managed by
|
|
68
|
+
the mutation guard.
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
# Local Portfolio Benchmark Runner
|
|
2
|
+
|
|
3
|
+
The runner benchmarks authorized projects without executing inside their original roots. It creates
|
|
4
|
+
one disposable snapshot per project, runs only commands explicitly declared in the local registry,
|
|
5
|
+
checks the original source digest after execution, and retains a private structured report.
|
|
6
|
+
|
|
7
|
+
## Commands
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
zz-design portfolio baseline --project PROJECT_ID --run baseline-001
|
|
11
|
+
zz-design portfolio benchmark --cohort development --run development-001
|
|
12
|
+
zz-design portfolio benchmark --cohort holdout --run holdout-001
|
|
13
|
+
zz-design portfolio verify-unchanged --run development-001
|
|
14
|
+
zz-design portfolio report --run development-001
|
|
15
|
+
zz-design portfolio evaluate-rule --candidate rule.json --evidence rule-evidence.json --dev-run development-001 --holdout-run holdout-001
|
|
16
|
+
zz-design portfolio qualify-v3 --evidence qualification-evidence.json --dev-run development-001 --holdout-run holdout-001
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
Omit `--run` from `baseline` or `benchmark` to generate a timestamped run ID. Reports are written to
|
|
20
|
+
`.ztothez-design-benchmarks/runs/RUN_ID/report.json` with owner-only file permissions. Run IDs may
|
|
21
|
+
contain letters, numbers, periods, underscores, and hyphens.
|
|
22
|
+
|
|
23
|
+
## Execution Model
|
|
24
|
+
|
|
25
|
+
1. Validate the local registry and reject unapproved roots or commands.
|
|
26
|
+
2. Capture the project's source digest and Git revision when available.
|
|
27
|
+
3. Copy approved files into a disposable workspace.
|
|
28
|
+
4. Resolve the declared adapter and execute supported stages in fixed order.
|
|
29
|
+
5. Serve a declared static fixture on an approved loopback port when browser evidence is enabled.
|
|
30
|
+
6. Run the product contract, static audit, browser journeys, accessibility checks, acceptance
|
|
31
|
+
evaluation, and optional structured heuristic review against the snapshot.
|
|
32
|
+
7. Stop the fixture server in all success and failure paths.
|
|
33
|
+
8. Continue to the next project after findings, limitations, or unsafe configuration.
|
|
34
|
+
9. Compare the original source against its pre-run digest before cleanup.
|
|
35
|
+
10. Checksum retained reports, screenshots, and exports, then remove the disposable snapshot.
|
|
36
|
+
|
|
37
|
+
The runner never discovers arbitrary package scripts. Network access, lifecycle scripts, allowed
|
|
38
|
+
environment variable names, timeouts, commands, arguments, and working directories come from the
|
|
39
|
+
validated local registry.
|
|
40
|
+
|
|
41
|
+
## Exit Codes
|
|
42
|
+
|
|
43
|
+
| Code | Meaning |
|
|
44
|
+
| --- | --- |
|
|
45
|
+
| `0` | All applicable stages passed. |
|
|
46
|
+
| `1` | One or more stages produced product or source findings. |
|
|
47
|
+
| `2` | No findings occurred, but evidence is incomplete because a stage was unsupported or not applicable. |
|
|
48
|
+
| `3` | At least one project had unsafe or invalid execution configuration. |
|
|
49
|
+
| `4` | The original source changed or source-integrity verification failed. |
|
|
50
|
+
|
|
51
|
+
Higher-severity integrity and configuration conditions take precedence over findings and
|
|
52
|
+
limitations when a cohort contains mixed results.
|
|
53
|
+
|
|
54
|
+
## Browser Verification Declaration
|
|
55
|
+
|
|
56
|
+
Declare `verification` only when the snapshot contains a static fixture directory and a complete
|
|
57
|
+
product contract. The port must also appear in `execution.localPorts`, fixture mode must be
|
|
58
|
+
`local-fixture`, and both `local-fixture-server` and `browser-journeys` must be supported capabilities.
|
|
59
|
+
Dynamic services that cannot produce a disconnected static fixture remain an explicit verifier
|
|
60
|
+
limitation rather than receiving a false pass.
|
|
61
|
+
|
|
62
|
+
## Rule Promotion Evidence
|
|
63
|
+
|
|
64
|
+
Rule promotion is fail closed. It requires complete development and holdout cohort reports plus a
|
|
65
|
+
version 1.0 evidence document. The evidence document binds positive, negative, and abstention
|
|
66
|
+
fixtures; V1/V2, retrieval, corpus, MCP, package, and independence gates; project-specific holdout
|
|
67
|
+
evaluations; documentation; tests; and migration guidance to checksummed repository-relative files.
|
|
68
|
+
The CLI verifies every checksum and rejects missing files, path traversal, and symlink escape before
|
|
69
|
+
evaluating the candidate.
|
|
70
|
+
|
|
71
|
+
A missing holdout project or candidate-specific holdout report is `unverified`, never `unaffected`.
|
|
72
|
+
Recurrence-backed candidates require the candidate report code in every declared authoring
|
|
73
|
+
project's retained development report. Holdout IDs must match the locked cohort exactly. Regression
|
|
74
|
+
or unverified outcomes block promotion, and an all-abstention result cannot establish benefit or
|
|
75
|
+
non-regression.
|
|
76
|
+
|
|
77
|
+
Start from `rule-promotion-evidence.template.json` and use
|
|
78
|
+
`rule-holdout-evaluation.template.json` for each locked holdout. Leave gates failing until their
|
|
79
|
+
artifacts exist, and keep private run evidence under `.ztothez-design-benchmarks/`. The CLI parses
|
|
80
|
+
each referenced holdout report and verifies its candidate, report code, run, project, source digest,
|
|
81
|
+
applicability, execution, regression, and outcome fields; a matching checksum alone is insufficient.
|
|
82
|
+
|
|
83
|
+
## V3 Qualification Evidence
|
|
84
|
+
|
|
85
|
+
V3 qualification requires explicit checksummed CI and release evidence. No fixture or gate defaults
|
|
86
|
+
to passing. The evaluator enforces 12 eligible projects, five domains, three frontend stacks, four
|
|
87
|
+
archetypes, three locked holdouts, complete development and holdout reports, and executed
|
|
88
|
+
source-only, browser-only, and full-stack paths. Framework names and capability declarations alone
|
|
89
|
+
do not establish a benchmark path.
|
|
90
|
+
|
|
91
|
+
Start from `v3-qualification-evidence.template.json`. The qualification report emits only claims
|
|
92
|
+
whose specific criteria passed. Local qualification remains failed until the ignored registry and
|
|
93
|
+
retained runs satisfy every threshold; synthetic CI tests cannot substitute for the local corpus.
|
|
94
|
+
|
|
95
|
+
Generate a complete local evidence set with:
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
npm run v3:evidence -- \
|
|
99
|
+
--dev-run DEVELOPMENT_RUN \
|
|
100
|
+
--holdout-run HOLDOUT_RUN \
|
|
101
|
+
--output .ztothez-design-benchmarks/evidence/v3-final
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
Every command report references checksummed stdout and stderr logs. The script executes maintained
|
|
105
|
+
rule fixtures, exact CI categories, package and offline-release checks, browser-only and full-stack
|
|
106
|
+
snapshot fixtures, candidate-specific holdout evaluation, and final qualification. Its output must
|
|
107
|
+
remain under `.ztothez-design-benchmarks/`.
|
|
108
|
+
|
|
109
|
+
`benefited` in a rule holdout report means the candidate rule detected its intended condition in a
|
|
110
|
+
locked product. It does not mean the source product was remediated. `unaffected` means the
|
|
111
|
+
applicable rule executed without that finding. Product source is never changed by this workflow.
|
|
112
|
+
|
|
113
|
+
GitHub Actions runs the public synthetic subset with `--ci-only`. That subset validates the runner's
|
|
114
|
+
execution paths and negative controls; it does not replace the private local corpus or support a
|
|
115
|
+
claim that a private product passed browser or full-stack verification.
|
|
116
|
+
|
|
117
|
+
## Read-Only MCP Access
|
|
118
|
+
|
|
119
|
+
Local portfolio MCP access is disabled by default. Enable it explicitly for a trusted local MCP
|
|
120
|
+
process:
|
|
121
|
+
|
|
122
|
+
```bash
|
|
123
|
+
export ZTOTHEZ_DESIGN_PORTFOLIO_MCP=enabled
|
|
124
|
+
export ZTOTHEZ_DESIGN_PORTFOLIO_REGISTRY="$PWD/.ztothez-design-local/portfolio-registry.yaml"
|
|
125
|
+
export ZTOTHEZ_DESIGN_PORTFOLIO_REPORT_ROOT="$PWD/.ztothez-design-benchmarks/runs"
|
|
126
|
+
export ZTOTHEZ_DESIGN_PORTFOLIO_EVIDENCE_ROOT="$PWD/.ztothez-design-benchmarks/evidence"
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
`list_portfolio_projects` lists IDs and effective capabilities.
|
|
130
|
+
`get_portfolio_benchmark_report` reads a completed run or one project summary. Neither tool exposes
|
|
131
|
+
source roots or starts project commands.
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Product Task Contracts
|
|
2
|
+
|
|
3
|
+
Product task contracts prevent a generic dashboard checklist from replacing the actual purpose of
|
|
4
|
+
a product. Contract version `1.1` adds an archetype-aware `benchmark` block to the existing actors,
|
|
5
|
+
modes, states, outputs, acceptance criteria, journeys, and viewports.
|
|
6
|
+
|
|
7
|
+
## Required Workflow
|
|
8
|
+
|
|
9
|
+
1. Select the closest archetype from `archetype-profiles.yaml`.
|
|
10
|
+
2. Declare whether the product surface is browser, desktop, or source-only.
|
|
11
|
+
3. Mark all seven quality dimensions as required or not applicable and explain every decision.
|
|
12
|
+
4. Define at least one primary task from observable start state to observable success.
|
|
13
|
+
5. Define at least one visible failure and recovery path.
|
|
14
|
+
6. Bind browser tasks to an existing journey, route, and viewport no wider than 768 CSS pixels.
|
|
15
|
+
7. Keep missing evidence as `unverified`, executed failure as `failed`, and unsupported capability as
|
|
16
|
+
`limitation`.
|
|
17
|
+
8. Compare implementations only when they share the same task-contract ID, archetype, primary task
|
|
18
|
+
intent, and observable success.
|
|
19
|
+
|
|
20
|
+
## Evidence Boundary
|
|
21
|
+
|
|
22
|
+
A valid contract proves that the task and evidence requirements are coherent. It does not prove the
|
|
23
|
+
product completed the task. Runtime and acceptance evidence establish behavior later. Missing
|
|
24
|
+
runtime results are not product failures, and an executed failed journey is not a verifier
|
|
25
|
+
limitation.
|
|
26
|
+
|
|
27
|
+
Source-only tools can activate source audit, architecture, state, and maintainability requirements
|
|
28
|
+
without declaring browser routes or responsive evidence. Browser products cannot omit their narrow
|
|
29
|
+
task path or call it not applicable.
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# V3 Promoted Rule Set
|
|
2
|
+
|
|
3
|
+
These independently authored rules convert recurring portfolio findings into deterministic design-engineering checks. They do not contain project source, product-specific styling, private evidence, or copied third-party implementation.
|
|
4
|
+
|
|
5
|
+
## Semantic Token Boundary
|
|
6
|
+
|
|
7
|
+
- Report code: `ZTDE-DESIGN-001`
|
|
8
|
+
- Boundary: flag repeated raw color, spacing, and radius values in authored interface styles when semantic tokens should define the visual system.
|
|
9
|
+
- Accept: declared semantic tokens and token references.
|
|
10
|
+
- Abstain: generated drawing code and contexts where literal values are part of a data or canvas operation.
|
|
11
|
+
- Migration: introduce semantic tokens by role, replace repeated literals incrementally, and verify contrast and composition after migration.
|
|
12
|
+
|
|
13
|
+
## Interactive Control Integrity
|
|
14
|
+
|
|
15
|
+
- Report code: `ZTDE-SLOP-003`
|
|
16
|
+
- Boundary: flag rendered interactive controls that expose an action affordance without an action contract.
|
|
17
|
+
- Accept: controls connected to an explicit event or form behavior.
|
|
18
|
+
- Abstain: test-only fixtures and non-production examples excluded by audit policy.
|
|
19
|
+
- Migration: bind the control to a real task action, provide pending, success, empty, and error states where relevant, then verify keyboard operation.
|
|
20
|
+
|
|
21
|
+
## Component Review Threshold
|
|
22
|
+
|
|
23
|
+
- Report code: `ZTDE-ARCH-001`
|
|
24
|
+
- Boundary: flag rendering components above the maintained 400-line review threshold.
|
|
25
|
+
- Accept: focused rendering components below the threshold.
|
|
26
|
+
- Abstain: long non-rendering modules where component-size analysis is not applicable.
|
|
27
|
+
- Migration: separate domain state, data access, rendering regions, and reusable controls along existing ownership boundaries. Do not split files mechanically when responsibilities remain coupled.
|
|
28
|
+
|
|
29
|
+
## Verification
|
|
30
|
+
|
|
31
|
+
Each rule has a maintained positive, negative, and abstention fixture under `rule-fixtures/`. The regression suite materializes every fixture and executes the production repository auditor. Candidate-specific holdout reports and local portfolio evidence remain private and excluded from package output.
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
version: "1.0"
|
|
2
|
+
profiles:
|
|
3
|
+
- id: operational-dashboard
|
|
4
|
+
interfaces: [browser, desktop]
|
|
5
|
+
requiredDimensions: [truthful-disclosure, information-design, visual-system, accessibility, responsive-structure, state-integrity, maintainability]
|
|
6
|
+
- id: ai-workspace
|
|
7
|
+
interfaces: [browser, desktop]
|
|
8
|
+
requiredDimensions: [truthful-disclosure, information-design, visual-system, accessibility, responsive-structure, state-integrity, maintainability]
|
|
9
|
+
- id: content-site
|
|
10
|
+
interfaces: [browser]
|
|
11
|
+
requiredDimensions: [information-design, visual-system, accessibility, responsive-structure, maintainability]
|
|
12
|
+
- id: utility
|
|
13
|
+
interfaces: [browser, desktop, source-only]
|
|
14
|
+
requiredDimensions: [truthful-disclosure, information-design, accessibility, state-integrity, maintainability]
|
|
15
|
+
- id: full-stack-workflow
|
|
16
|
+
interfaces: [browser, desktop]
|
|
17
|
+
requiredDimensions: [truthful-disclosure, information-design, visual-system, accessibility, responsive-structure, state-integrity, maintainability]
|
|
18
|
+
|
|
19
|
+
evidencePolicy:
|
|
20
|
+
missingEvidence: unverified
|
|
21
|
+
failedBehavior: failed
|
|
22
|
+
unsupportedCapability: limitation
|
|
23
|
+
|
|
24
|
+
comparisonPolicy:
|
|
25
|
+
crossContractRanking: false
|
|
26
|
+
requirement: Compare implementations only when archetype, task-contract ID, and observable primary task success match.
|