@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,35 @@
|
|
|
1
|
+
# Quality Attributes And Architecture Evaluation
|
|
2
|
+
|
|
3
|
+
Use this lightweight Architecture Tradeoff Analysis Method, or ATAM, workflow to build a utility tree and identify sensitivity points and trade-off points from measurable scenarios.
|
|
4
|
+
|
|
5
|
+
## Step 1: Define Scenarios
|
|
6
|
+
|
|
7
|
+
Write each consequential quality requirement as:
|
|
8
|
+
|
|
9
|
+
```text
|
|
10
|
+
source -> stimulus -> environment -> affected artifact -> response -> measurable result
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
Cover normal operation, a likely change, and a stress or failure condition. Prefer observable measures such as completion rate, response latency, recovery time, changed modules, supported viewport, or evidence requirement.
|
|
14
|
+
|
|
15
|
+
## Step 2: Build A Utility Tree
|
|
16
|
+
|
|
17
|
+
Group scenarios under usability, accessibility, modifiability, reliability, performance, security, portability, and variability. Rank business importance and implementation risk independently. Evaluate high-importance or high-risk scenarios first.
|
|
18
|
+
|
|
19
|
+
## Step 3: Inspect Decisions
|
|
20
|
+
|
|
21
|
+
For each scenario, identify:
|
|
22
|
+
|
|
23
|
+
- The decision that enables or threatens it.
|
|
24
|
+
- Sensitivity points where a small change strongly affects the result.
|
|
25
|
+
- Trade-off points where one decision improves one attribute while weakening another.
|
|
26
|
+
- Assumptions that lack current evidence.
|
|
27
|
+
- Risks, non-risks, and required follow-up evidence.
|
|
28
|
+
|
|
29
|
+
## Step 4: Record The Decision
|
|
30
|
+
|
|
31
|
+
Record context, selected option, alternatives, rationale, affected attributes, constraints, evidence, reversal trigger, and migration cost. Do not use an architecture decision record to justify an option after the fact.
|
|
32
|
+
|
|
33
|
+
## Step 5: Verify
|
|
34
|
+
|
|
35
|
+
Trace scenarios through logical components, source packages, runtime processes, deployment boundaries, and representative user journeys. Static structure cannot prove runtime recovery, accessibility, usability, or performance; pair each claim with the appropriate evidence method.
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# Maintained Product Patterns
|
|
2
|
+
|
|
3
|
+
These independently authored patterns turn the task models in the root skill into implementation-ready workspace and dashboard structures. Use them as bounded defaults, then adapt them to current product entities, evidence, risk, and stack conventions.
|
|
4
|
+
|
|
5
|
+
| Product surface | Module |
|
|
6
|
+
|---|---|
|
|
7
|
+
| AI-assisted analysis, generation, review, or agent work | `ai-workspaces.md` |
|
|
8
|
+
| Pipelines, records, jobs, obligations, media, or document operations | `operational-dashboards.md` |
|
|
9
|
+
|
|
10
|
+
Every pattern requires explicit sources of truth, empty and failure states, keyboard operation, responsive recomposition, and honest evidence. Remove a region when the task does not need it; do not preserve a template shape for visual symmetry.
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# AI Workspace Patterns
|
|
2
|
+
|
|
3
|
+
## Task Model
|
|
4
|
+
|
|
5
|
+
Define the practitioner, input, configuration, run boundary, generated result, evidence, review decision, and export or handoff. Separate model output from validated product state.
|
|
6
|
+
|
|
7
|
+
## Workspace Structure
|
|
8
|
+
|
|
9
|
+
1. Use a persistent product shell with visible workspace and environment context.
|
|
10
|
+
2. Put input, configuration, and the primary run action in one owning region.
|
|
11
|
+
3. Show results beside input on wide screens when comparison is frequent; use explicit Input and Results views on narrow screens.
|
|
12
|
+
4. Keep findings, evidence, confidence, limitations, and approval state inspectable without hiding them behind decorative summaries.
|
|
13
|
+
5. Preserve input and completed evidence across retryable failures.
|
|
14
|
+
|
|
15
|
+
## Required States
|
|
16
|
+
|
|
17
|
+
- Empty: explain required input and available sources without fake examples presented as current results.
|
|
18
|
+
- Validating: identify invalid or unsupported input before an expensive run.
|
|
19
|
+
- Running: announce progress, prevent duplicate submission, and preserve cancellation semantics.
|
|
20
|
+
- Partial: retain usable output and identify missing stages or sources.
|
|
21
|
+
- Error: show cause, preserved state, retry, and safe fallback.
|
|
22
|
+
- Complete: connect each consequential result to evidence and available next actions.
|
|
23
|
+
|
|
24
|
+
## Trust Contract
|
|
25
|
+
|
|
26
|
+
Label generated, retrieved, inferred, validated, rejected, and human-approved information distinctly. Do not fabricate confidence, citations, savings, accuracy, latency, or completion. Require human approval where the product decision has legal, financial, safety, employment, security, or publication consequences.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Operational Dashboard Patterns
|
|
2
|
+
|
|
3
|
+
## Start With Work, Not Metrics
|
|
4
|
+
|
|
5
|
+
Identify the highest-frequency decision and the records, jobs, or obligations needed to make it. The first viewport should expose current scope, exceptions, and the next action. Metrics summarize current evidence; they do not replace the work surface.
|
|
6
|
+
|
|
7
|
+
## Shared Structure
|
|
8
|
+
|
|
9
|
+
1. Scope header: period, workspace, environment, destination, or queue.
|
|
10
|
+
2. Evidence-backed summary: a small set of definitions with current source and time context.
|
|
11
|
+
3. Work controls: search, filters, sorting, saved views, and selection count where needed.
|
|
12
|
+
4. Main records surface: stable columns, textual status, ownership, timestamps, and row actions.
|
|
13
|
+
5. Detail or inspector: history, evidence, validation, and recovery actions.
|
|
14
|
+
6. Lifecycle actions: import, export, backup, migration, reset, archive, or delete only when the product owns those states.
|
|
15
|
+
|
|
16
|
+
## Operational States
|
|
17
|
+
|
|
18
|
+
Use waiting, active, blocked, failed, completed, overdue, partial, and cancelled only when the domain defines them. Every status needs text and a current source of truth. Preserve user input and filters after recoverable failures. Explain destination, overwrite, retention, and external processing before consequential actions.
|
|
19
|
+
|
|
20
|
+
## Responsive Behavior
|
|
21
|
+
|
|
22
|
+
Recompose dense tables into prioritized records or horizontal regions with explicit affordances. Keep filters and bulk actions reachable, preserve selected scope, and avoid competing page-level scroll containers. Verify long identifiers, localized labels, 200 percent reflow, text resizing, and touch targets.
|
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
version: "1.0"
|
|
2
|
+
policy:
|
|
3
|
+
coverage: exact-distribution
|
|
4
|
+
approvedStatuses: [approved]
|
|
5
|
+
distributionLicense: ISC
|
|
6
|
+
sources:
|
|
7
|
+
- id: ztothez-maintained
|
|
8
|
+
origin: original
|
|
9
|
+
owner: ZtotheZ
|
|
10
|
+
license: ISC
|
|
11
|
+
evidence: Git history and repository-authored source files.
|
|
12
|
+
reuse: Approved for distribution as part of ZtotheZ Design Engineering.
|
|
13
|
+
- id: aegisops-owner-evidence
|
|
14
|
+
origin: user-owned
|
|
15
|
+
owner: ZtotheZ
|
|
16
|
+
license: owner-authorized benchmark use
|
|
17
|
+
evidence: knowledge-base/benchmarks/aegisops/SOURCE-EVIDENCE.md
|
|
18
|
+
reuse: Approved benchmark contract, summaries, journeys, and evidence templates.
|
|
19
|
+
- id: scenestart-owner-evidence
|
|
20
|
+
origin: user-owned
|
|
21
|
+
owner: ZtotheZ
|
|
22
|
+
license: owner-authorized benchmark use
|
|
23
|
+
evidence: knowledge-base/benchmarks/scenestart/SOURCE-EVIDENCE.md
|
|
24
|
+
reuse: Approved benchmark contract, summaries, journeys, and evidence templates.
|
|
25
|
+
- id: azure-optimizer-owner-evidence
|
|
26
|
+
origin: user-owned
|
|
27
|
+
owner: ZtotheZ
|
|
28
|
+
license: owner-authorized benchmark use
|
|
29
|
+
evidence: knowledge-base/benchmarks/azure-optimizer/SOURCE-EVIDENCE.md
|
|
30
|
+
reuse: Approved comparison contract, bounded source summary, journeys, acceptance criteria, and anti-patterns.
|
|
31
|
+
- id: ztothez-corpus
|
|
32
|
+
origin: original
|
|
33
|
+
owner: ZtotheZ
|
|
34
|
+
license: ISC
|
|
35
|
+
evidence: knowledge-base/benchmarks/corpus/PROVENANCE.md
|
|
36
|
+
reuse: Synthetic cases and corpus contracts are approved for distribution.
|
|
37
|
+
artifactSets:
|
|
38
|
+
- id: maintained-core
|
|
39
|
+
source: ztothez-maintained
|
|
40
|
+
status: approved
|
|
41
|
+
reviewedBy: ZtotheZ
|
|
42
|
+
reviewedAt: "2026-08-26T00:00:00+03:00"
|
|
43
|
+
transformation: Independently authored and maintained from project requirements, owner evidence, and publicly identified standards without copied reference-product implementation.
|
|
44
|
+
paths:
|
|
45
|
+
- README.md
|
|
46
|
+
- ROADMAP.md
|
|
47
|
+
- SKILL.md
|
|
48
|
+
- V2-ROADMAP.md
|
|
49
|
+
- V3-ROADMAP.md
|
|
50
|
+
- V4-ROADMAP.md
|
|
51
|
+
- clean-room-ux-design-spec.md
|
|
52
|
+
- docs/installation.md
|
|
53
|
+
- knowledge-base/INDEX.md
|
|
54
|
+
- knowledge-base/dependencies.yaml
|
|
55
|
+
- knowledge-base/provenance.yaml
|
|
56
|
+
- knowledge-base/retrieval-scope.yaml
|
|
57
|
+
- knowledge-base/design-intelligence/MASTER.md
|
|
58
|
+
- knowledge-base/design-intelligence/asset-generation.md
|
|
59
|
+
- knowledge-base/design-intelligence/brand-systems.md
|
|
60
|
+
- knowledge-base/design-intelligence/closed-loop-repair.md
|
|
61
|
+
- knowledge-base/design-intelligence/design-deliverable.schema.yaml
|
|
62
|
+
- knowledge-base/design-intelligence/design-deliverable.template.yaml
|
|
63
|
+
- knowledge-base/design-intelligence/design-plan.md
|
|
64
|
+
- knowledge-base/design-intelligence/design-plan.schema.yaml
|
|
65
|
+
- knowledge-base/design-intelligence/figma-production.md
|
|
66
|
+
- knowledge-base/design-intelligence/generation-adapter.md
|
|
67
|
+
- knowledge-base/design-intelligence/generation-adapter.schema.yaml
|
|
68
|
+
- knowledge-base/design-intelligence/iconography.md
|
|
69
|
+
- knowledge-base/design-intelligence/information-design.md
|
|
70
|
+
- knowledge-base/design-intelligence/information-design.schema.yaml
|
|
71
|
+
- knowledge-base/design-intelligence/information-design.template.yaml
|
|
72
|
+
- knowledge-base/design-intelligence/interaction-recovery-verification.md
|
|
73
|
+
- knowledge-base/design-intelligence/interface-trust.md
|
|
74
|
+
- knowledge-base/design-intelligence/interface-trust.schema.yaml
|
|
75
|
+
- knowledge-base/design-intelligence/interface-trust.template.yaml
|
|
76
|
+
- knowledge-base/design-intelligence/licensing-and-provenance.md
|
|
77
|
+
- knowledge-base/design-intelligence/presentation-design.md
|
|
78
|
+
- knowledge-base/design-intelligence/product-design-brief.md
|
|
79
|
+
- knowledge-base/design-intelligence/product-design-brief.schema.yaml
|
|
80
|
+
- knowledge-base/design-intelligence/product-design-brief.template.yaml
|
|
81
|
+
- knowledge-base/design-intelligence/repair-request.schema.yaml
|
|
82
|
+
- knowledge-base/design-intelligence/repair-request.template.yaml
|
|
83
|
+
- knowledge-base/design-intelligence/visual-accessibility.md
|
|
84
|
+
- knowledge-base/design-intelligence/visual-polish.md
|
|
85
|
+
- knowledge-base/maintained/architecture/MASTER.md
|
|
86
|
+
- knowledge-base/maintained/architecture/component-boundaries.md
|
|
87
|
+
- knowledge-base/maintained/architecture/product-platforms.md
|
|
88
|
+
- knowledge-base/maintained/architecture/quality-attributes-and-evaluation.md
|
|
89
|
+
- knowledge-base/maintained/product-patterns/MASTER.md
|
|
90
|
+
- knowledge-base/maintained/product-patterns/ai-workspaces.md
|
|
91
|
+
- knowledge-base/maintained/product-patterns/operational-dashboards.md
|
|
92
|
+
- knowledge-base/usability-evaluation/HEURISTIC_EVALUATION.md
|
|
93
|
+
- knowledge-base/usability-evaluation/heuristic-review.schema.yaml
|
|
94
|
+
- knowledge-base/usability-evaluation/heuristic-review.template.yaml
|
|
95
|
+
- knowledge-base/benchmarks/interface-quality/README.md
|
|
96
|
+
- knowledge-base/benchmarks/interface-quality/SOLO-MAINTAINER-TRACK.md
|
|
97
|
+
- knowledge-base/benchmarks/interface-quality/comparison-methodology.schema.yaml
|
|
98
|
+
- knowledge-base/benchmarks/interface-quality/comparison-methodology-v1.1.schema.yaml
|
|
99
|
+
- knowledge-base/benchmarks/interface-quality/comparison-methodology.template.yaml
|
|
100
|
+
- knowledge-base/benchmarks/interface-quality/evidence/example-runtime-report.json
|
|
101
|
+
- knowledge-base/benchmarks/interface-quality/review.schema.yaml
|
|
102
|
+
- knowledge-base/benchmarks/interface-quality/review-session.schema.yaml
|
|
103
|
+
- knowledge-base/benchmarks/interface-quality/review.template.yaml
|
|
104
|
+
- knowledge-base/benchmarks/portfolio-corpus/ADAPTERS.md
|
|
105
|
+
- knowledge-base/benchmarks/portfolio-corpus/PORTFOLIO-RUNNER.md
|
|
106
|
+
- knowledge-base/benchmarks/portfolio-corpus/PROMOTED-RULES.md
|
|
107
|
+
- knowledge-base/benchmarks/portfolio-corpus/PRODUCT-TASK-CONTRACTS.md
|
|
108
|
+
- knowledge-base/benchmarks/portfolio-corpus/archetype-profiles.yaml
|
|
109
|
+
- knowledge-base/benchmarks/portfolio-corpus/product-task-profile.schema.yaml
|
|
110
|
+
- knowledge-base/benchmarks/portfolio-corpus/registry.schema.yaml
|
|
111
|
+
- knowledge-base/benchmarks/portfolio-corpus/registry.template.yaml
|
|
112
|
+
- knowledge-base/benchmarks/portfolio-corpus/rule-holdout-evaluation.template.json
|
|
113
|
+
- knowledge-base/benchmarks/portfolio-corpus/rule-promotion-evidence.template.json
|
|
114
|
+
- knowledge-base/benchmarks/portfolio-corpus/rule-fixtures/component-size-abstention.json
|
|
115
|
+
- knowledge-base/benchmarks/portfolio-corpus/rule-fixtures/component-size-negative.json
|
|
116
|
+
- knowledge-base/benchmarks/portfolio-corpus/rule-fixtures/component-size-positive.json
|
|
117
|
+
- knowledge-base/benchmarks/portfolio-corpus/rule-fixtures/interactive-integrity-abstention.json
|
|
118
|
+
- knowledge-base/benchmarks/portfolio-corpus/rule-fixtures/interactive-integrity-negative.json
|
|
119
|
+
- knowledge-base/benchmarks/portfolio-corpus/rule-fixtures/interactive-integrity-positive.json
|
|
120
|
+
- knowledge-base/benchmarks/portfolio-corpus/rule-fixtures/raw-design-values-abstention.json
|
|
121
|
+
- knowledge-base/benchmarks/portfolio-corpus/rule-fixtures/raw-design-values-negative.json
|
|
122
|
+
- knowledge-base/benchmarks/portfolio-corpus/rule-fixtures/raw-design-values-positive.json
|
|
123
|
+
- knowledge-base/benchmarks/portfolio-corpus/v3-qualification-evidence.template.json
|
|
124
|
+
- knowledge-base/benchmarks/portfolio-corpus/v3-command-evidence.template.json
|
|
125
|
+
- id: aegisops-benchmark
|
|
126
|
+
source: aegisops-owner-evidence
|
|
127
|
+
status: approved
|
|
128
|
+
reviewedBy: ZtotheZ
|
|
129
|
+
reviewedAt: "2026-08-26T00:00:00+03:00"
|
|
130
|
+
transformation: Owner-authorized product behavior was normalized into project contracts, bounded evidence summaries, journeys, anti-patterns, and review records.
|
|
131
|
+
paths:
|
|
132
|
+
- knowledge-base/benchmarks/aegisops/CALIBRATION.md
|
|
133
|
+
- knowledge-base/benchmarks/aegisops/MANIFEST.md
|
|
134
|
+
- knowledge-base/benchmarks/aegisops/SOURCE-EVIDENCE.md
|
|
135
|
+
- knowledge-base/benchmarks/aegisops/acceptance-criteria.md
|
|
136
|
+
- knowledge-base/benchmarks/aegisops/anti-patterns.md
|
|
137
|
+
- knowledge-base/benchmarks/aegisops/attestations.template.yaml
|
|
138
|
+
- knowledge-base/benchmarks/aegisops/attestations.yaml
|
|
139
|
+
- knowledge-base/benchmarks/aegisops/journeys.json
|
|
140
|
+
- knowledge-base/benchmarks/aegisops/product-contract.yaml
|
|
141
|
+
- id: azure-optimizer-benchmark
|
|
142
|
+
source: azure-optimizer-owner-evidence
|
|
143
|
+
status: approved
|
|
144
|
+
reviewedBy: ZtotheZ
|
|
145
|
+
reviewedAt: "2026-08-26T00:00:00+03:00"
|
|
146
|
+
transformation: Owner-authorized implementations were normalized into one independently authored comparison task contract without distributing candidate source code.
|
|
147
|
+
paths:
|
|
148
|
+
- knowledge-base/benchmarks/azure-optimizer/SOURCE-EVIDENCE.md
|
|
149
|
+
- knowledge-base/benchmarks/azure-optimizer/V2-IMPLEMENTATION.md
|
|
150
|
+
- knowledge-base/benchmarks/azure-optimizer/acceptance-criteria.md
|
|
151
|
+
- knowledge-base/benchmarks/azure-optimizer/anti-patterns.md
|
|
152
|
+
- knowledge-base/benchmarks/azure-optimizer/journeys.json
|
|
153
|
+
- knowledge-base/benchmarks/azure-optimizer/product-contract.yaml
|
|
154
|
+
- knowledge-base/benchmarks/azure-optimizer/v2-journeys.json
|
|
155
|
+
- knowledge-base/benchmarks/azure-optimizer/v2-human-review-methodology.yaml
|
|
156
|
+
- id: scenestart-benchmark
|
|
157
|
+
source: scenestart-owner-evidence
|
|
158
|
+
status: approved
|
|
159
|
+
reviewedBy: ZtotheZ
|
|
160
|
+
reviewedAt: "2026-08-27T11:05:01+03:00"
|
|
161
|
+
transformation: Owner-authorized product behavior and attributable maintainer review were normalized into project contracts, bounded evidence summaries, journeys, anti-patterns, review templates, and acceptance attestations.
|
|
162
|
+
paths:
|
|
163
|
+
- knowledge-base/benchmarks/scenestart/CALIBRATION.md
|
|
164
|
+
- knowledge-base/benchmarks/scenestart/MANIFEST.md
|
|
165
|
+
- knowledge-base/benchmarks/scenestart/SOURCE-EVIDENCE.md
|
|
166
|
+
- knowledge-base/benchmarks/scenestart/acceptance-criteria.md
|
|
167
|
+
- knowledge-base/benchmarks/scenestart/anti-patterns.md
|
|
168
|
+
- knowledge-base/benchmarks/scenestart/attestations.template.yaml
|
|
169
|
+
- knowledge-base/benchmarks/scenestart/attestations.yaml
|
|
170
|
+
- knowledge-base/benchmarks/scenestart/human-review.md
|
|
171
|
+
- knowledge-base/benchmarks/scenestart/human-review.template.md
|
|
172
|
+
- knowledge-base/benchmarks/scenestart/journeys.json
|
|
173
|
+
- knowledge-base/benchmarks/scenestart/product-contract.yaml
|
|
174
|
+
- id: corpus-benchmark
|
|
175
|
+
source: ztothez-corpus
|
|
176
|
+
status: approved
|
|
177
|
+
reviewedBy: ZtotheZ
|
|
178
|
+
reviewedAt: "2026-08-26T00:00:00+03:00"
|
|
179
|
+
transformation: Independently authored positive and negative behavioral cases with source-specific provenance records and no imported reference implementation.
|
|
180
|
+
paths:
|
|
181
|
+
- knowledge-base/benchmarks/corpus/PROVENANCE.md
|
|
182
|
+
- knowledge-base/benchmarks/corpus/README.md
|
|
183
|
+
- knowledge-base/benchmarks/corpus/cases/anti-slop-negative/package.json
|
|
184
|
+
- knowledge-base/benchmarks/corpus/cases/anti-slop-negative/src/FakeDashboard.tsx
|
|
185
|
+
- knowledge-base/benchmarks/corpus/cases/anti-slop-positive/package.json
|
|
186
|
+
- knowledge-base/benchmarks/corpus/cases/anti-slop-positive/src/Progress.tsx
|
|
187
|
+
- knowledge-base/benchmarks/corpus/cases/architecture-negative/package.json
|
|
188
|
+
- knowledge-base/benchmarks/corpus/cases/architecture-negative/src/OperationsPanel.tsx
|
|
189
|
+
- knowledge-base/benchmarks/corpus/cases/architecture-positive/package.json
|
|
190
|
+
- knowledge-base/benchmarks/corpus/cases/architecture-positive/src/Dashboard.tsx
|
|
191
|
+
- knowledge-base/benchmarks/corpus/cases/architecture-positive/src/theme.css
|
|
192
|
+
- knowledge-base/benchmarks/corpus/cases/task-incomplete/SOURCE-EVIDENCE.md
|
|
193
|
+
- knowledge-base/benchmarks/corpus/cases/task-incomplete/journeys.json
|
|
194
|
+
- knowledge-base/benchmarks/corpus/cases/task-incomplete/product-contract.yaml
|
|
195
|
+
- knowledge-base/benchmarks/corpus/corpus.schema.yaml
|
|
196
|
+
- knowledge-base/benchmarks/corpus/corpus.yaml
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
version: "1.0"
|
|
2
|
+
authority: SKILL.md
|
|
3
|
+
categories:
|
|
4
|
+
skill:
|
|
5
|
+
label: Authoritative Agent Skill
|
|
6
|
+
files:
|
|
7
|
+
- SKILL.md
|
|
8
|
+
architecture:
|
|
9
|
+
label: Maintained architecture and design engineering
|
|
10
|
+
files:
|
|
11
|
+
- knowledge-base/maintained/architecture/MASTER.md
|
|
12
|
+
- knowledge-base/maintained/architecture/component-boundaries.md
|
|
13
|
+
- knowledge-base/maintained/architecture/product-platforms.md
|
|
14
|
+
- knowledge-base/maintained/architecture/quality-attributes-and-evaluation.md
|
|
15
|
+
design-intelligence:
|
|
16
|
+
label: Maintained design intelligence
|
|
17
|
+
files:
|
|
18
|
+
- knowledge-base/design-intelligence/MASTER.md
|
|
19
|
+
- knowledge-base/design-intelligence/asset-generation.md
|
|
20
|
+
- knowledge-base/design-intelligence/brand-systems.md
|
|
21
|
+
- knowledge-base/design-intelligence/closed-loop-repair.md
|
|
22
|
+
- knowledge-base/design-intelligence/design-plan.md
|
|
23
|
+
- knowledge-base/design-intelligence/figma-production.md
|
|
24
|
+
- knowledge-base/design-intelligence/generation-adapter.md
|
|
25
|
+
- knowledge-base/design-intelligence/iconography.md
|
|
26
|
+
- knowledge-base/design-intelligence/information-design.md
|
|
27
|
+
- knowledge-base/design-intelligence/interaction-recovery-verification.md
|
|
28
|
+
- knowledge-base/design-intelligence/interface-trust.md
|
|
29
|
+
- knowledge-base/design-intelligence/licensing-and-provenance.md
|
|
30
|
+
- knowledge-base/design-intelligence/presentation-design.md
|
|
31
|
+
- knowledge-base/design-intelligence/product-design-brief.md
|
|
32
|
+
- knowledge-base/design-intelligence/visual-accessibility.md
|
|
33
|
+
- knowledge-base/design-intelligence/visual-polish.md
|
|
34
|
+
ux-patterns:
|
|
35
|
+
label: Maintained product and dashboard patterns
|
|
36
|
+
files:
|
|
37
|
+
- knowledge-base/maintained/product-patterns/MASTER.md
|
|
38
|
+
- knowledge-base/maintained/product-patterns/ai-workspaces.md
|
|
39
|
+
- knowledge-base/maintained/product-patterns/operational-dashboards.md
|
|
40
|
+
usability-evaluation:
|
|
41
|
+
label: Usability and heuristic evaluation
|
|
42
|
+
files:
|
|
43
|
+
- knowledge-base/usability-evaluation/HEURISTIC_EVALUATION.md
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
# Heuristic Evaluation and Usability Evidence
|
|
2
|
+
|
|
3
|
+
Use this maintained reference for UX audits, release reviews, redesign diagnosis, and benchmark creation. It operationalizes the evidence boundaries and evaluation methods required by this system without depending on the local raw research corpus.
|
|
4
|
+
|
|
5
|
+
## Evidence Boundaries
|
|
6
|
+
|
|
7
|
+
Keep these evidence types distinct:
|
|
8
|
+
|
|
9
|
+
| Evidence | What it can establish | What it cannot establish |
|
|
10
|
+
|---|---|---|
|
|
11
|
+
| Automated runtime inspection | Rendered overflow, clipping, collisions, missing names, broken focus, blank media, console failures, network behavior, and journey assertions | Whether terminology matches the user's mental model or whether the complete task is understandable and efficient |
|
|
12
|
+
| Expert heuristic evaluation | Likely usability problems, violated interaction principles, inconsistent conventions, missing recovery, and cognitive burden | Actual prevalence or impact for representative users |
|
|
13
|
+
| Moderated or unmoderated usability testing | Whether intended users can complete intended tasks in the intended context; observed errors, recovery, and comprehension | Population-level rates from a small qualitative sample |
|
|
14
|
+
| Analytics and quantitative studies | Frequency, funnels, task timing, abandonment, and comparative measurements when instrumentation and sampling are valid | Root cause without qualitative or task evidence |
|
|
15
|
+
|
|
16
|
+
Never report an automated or heuristic result as proof that users succeeded. Treat heuristic findings as testable risk hypotheses and use representative-user testing for consequential workflows.
|
|
17
|
+
|
|
18
|
+
## Expert Evaluation Workflow
|
|
19
|
+
|
|
20
|
+
1. Define the intended users, domain, critical tasks, supported devices, environment, and states. Do not evaluate an abstract screen without its task contract.
|
|
21
|
+
2. Select relevant heuristics and domain rules. Weight them by task risk instead of treating every principle as equally important.
|
|
22
|
+
3. Brief evaluators with the same scope, tasks, evidence format, and product assumptions. Prefer evaluators with domain knowledge; use multiple independent reviewers for consequential work.
|
|
23
|
+
4. First pass: use the interface freely to understand its interaction model, boundaries, and likely focus areas.
|
|
24
|
+
5. Second pass: execute representative tasks and inspect each relevant state against the chosen heuristics.
|
|
25
|
+
6. Record one concrete problem per finding. Name the location, state, trigger, observed behavior, affected user outcome, evidence, and violated principle.
|
|
26
|
+
7. Debrief across evaluators. Merge duplicates, challenge false alarms, preserve disagreements, and prioritize remediation.
|
|
27
|
+
8. Convert material findings into acceptance criteria and regression checks. Retest corrected behavior and use representative users where assumptions remain.
|
|
28
|
+
|
|
29
|
+
## Nielsen Interaction Heuristics
|
|
30
|
+
|
|
31
|
+
Apply the ten principles contextually:
|
|
32
|
+
|
|
33
|
+
1. Keep system status visible with timely, truthful feedback.
|
|
34
|
+
2. Match user language, domain concepts, natural order, and real-world conventions.
|
|
35
|
+
3. Preserve user control with cancel, back, undo, retry, and clear exits where applicable.
|
|
36
|
+
4. Maintain internal consistency and follow platform and industry standards.
|
|
37
|
+
5. Prevent errors before relying on error messages.
|
|
38
|
+
6. Prefer recognition over recall; keep choices, context, and instructions available.
|
|
39
|
+
7. Support efficient repeat use without making novice paths opaque.
|
|
40
|
+
8. Remove irrelevant information and visual competition without hiding required task context.
|
|
41
|
+
9. Explain errors in user language, identify the cause, preserve work, and provide recovery.
|
|
42
|
+
10. Provide concise, searchable, task-focused help when the interface cannot be self-explanatory.
|
|
43
|
+
|
|
44
|
+
## Finding Record
|
|
45
|
+
|
|
46
|
+
Use `heuristic-review.template.yaml` as the starting artifact and validate it against `heuristic-review.schema.yaml`. The executable TypeScript schema is authoritative for the MCP server and CLI. Each file records the reviewed target, representative tasks, evidence provenance, findings, resolution decisions, and validation methods.
|
|
47
|
+
|
|
48
|
+
Use the following numeric severity scale in structured reviews:
|
|
49
|
+
|
|
50
|
+
- `0`: not a usability problem after review.
|
|
51
|
+
- `1`: cosmetic; no meaningful task impairment.
|
|
52
|
+
- `2`: minor; localized friction with a clear workaround.
|
|
53
|
+
- `3`: major; materially harms comprehension, efficiency, recovery, or task completion.
|
|
54
|
+
- `4`: catastrophic; prevents a critical task, creates unsafe ambiguity, or makes consequential controls inaccessible.
|
|
55
|
+
|
|
56
|
+
Each evidence entry must identify one evidence level:
|
|
57
|
+
|
|
58
|
+
- `automated`: browser, source, network, accessibility, or other deterministic inspection.
|
|
59
|
+
- `ai-assisted-expert`: an agent-assisted heuristic interpretation; never human evidence.
|
|
60
|
+
- `human-expert`: attributable expert review with contributor and timestamp.
|
|
61
|
+
- `representative-user`: attributable usability-session evidence with a privacy-preserving participant reference and timestamp.
|
|
62
|
+
|
|
63
|
+
Example finding excerpt:
|
|
64
|
+
|
|
65
|
+
```yaml
|
|
66
|
+
id: export-recovery-missing
|
|
67
|
+
title: Failed export has no safe recovery action
|
|
68
|
+
task: export-current-report
|
|
69
|
+
heuristic:
|
|
70
|
+
id: error-recovery
|
|
71
|
+
name: Help users recognize, diagnose, and recover from errors
|
|
72
|
+
location: Reports view at mobile-375 in export-error state
|
|
73
|
+
trigger: Attempt an export while the export service is unavailable.
|
|
74
|
+
observation: The failure removes the export action and does not explain whether the report was preserved.
|
|
75
|
+
evidence:
|
|
76
|
+
- level: automated
|
|
77
|
+
source: runtime/export-error/report.json
|
|
78
|
+
detail: The journey found no visible retry control after the failed response.
|
|
79
|
+
impact: The user cannot determine whether retry is safe or whether work was lost.
|
|
80
|
+
severity: 3
|
|
81
|
+
confidence: high
|
|
82
|
+
status: open
|
|
83
|
+
remediation: Preserve the report, show the failure cause, and provide Retry and Dismiss actions.
|
|
84
|
+
validation:
|
|
85
|
+
method: representative-user-test
|
|
86
|
+
procedure: Repeat the recovery task and confirm that users understand report preservation and retry safety.
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
Do not derive severity from visual prominence alone. Consider task criticality, affected users, frequency or reach, recoverability, and consequence.
|
|
90
|
+
|
|
91
|
+
Run `evaluate_heuristic_review` through MCP or use the CLI fallback:
|
|
92
|
+
|
|
93
|
+
```bash
|
|
94
|
+
npm run review-heuristics -- --review PATH_TO_HEURISTIC_REVIEW
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
Use `--candidates` to print only the contract fragment. Use `--fail-on-open-major` when a CI or local policy should return exit code 2 for open severity 3 or 4 findings.
|
|
98
|
+
|
|
99
|
+
The evaluator converts each open severity 3 or 4 finding into an unapplied blocker acceptance-criterion candidate. Review the generated YAML before merging it into a product contract. The review artifact is never a manual acceptance attestation, and the evaluator never edits contracts or attestation files.
|
|
100
|
+
|
|
101
|
+
## Usability Testing Handoff
|
|
102
|
+
|
|
103
|
+
When expert or automated evidence cannot resolve a user assumption:
|
|
104
|
+
|
|
105
|
+
1. State the research question and target user group.
|
|
106
|
+
2. Write representative tasks with precise outcomes, realistic context, and coverage of essential UI areas.
|
|
107
|
+
3. Separate novice and expert groups when their skills or performance expectations differ.
|
|
108
|
+
4. Pilot the protocol before recruiting the full group.
|
|
109
|
+
5. Ask facilitators and observers not to coach, correct, or bias participants during the task.
|
|
110
|
+
6. Record behavior and one observation per note; collect subjective feedback after task performance.
|
|
111
|
+
7. Fix significant findings and run another small formative round rather than relying on one large final test.
|
|
112
|
+
|
|
113
|
+
## Provenance Boundary
|
|
114
|
+
|
|
115
|
+
The distributable workflow is self-contained. Local course handouts, converted books, and extended research notes may support future independently authored revisions, but they are not shipped, retrieved through MCP, or required at runtime. Add a rule to this maintained document only after its provenance and reuse status are recorded during the clean-room certification phase.
|
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
$schema: https://json-schema.org/draft/2020-12/schema
|
|
2
|
+
$id: https://local.ztothez-design-engineering/schemas/heuristic-review-1.0.schema.json
|
|
3
|
+
title: ZtotheZ Design Engineering Heuristic Review
|
|
4
|
+
description: >-
|
|
5
|
+
Versioned expert-review artifact. Evidence levels are descriptive provenance and do not
|
|
6
|
+
constitute product-contract acceptance attestations.
|
|
7
|
+
type: object
|
|
8
|
+
additionalProperties: false
|
|
9
|
+
required: [version, id, product, target, preparedAt, preparedBy, tasks, findings]
|
|
10
|
+
properties:
|
|
11
|
+
version:
|
|
12
|
+
const: "1.0"
|
|
13
|
+
id:
|
|
14
|
+
$ref: "#/$defs/id"
|
|
15
|
+
product:
|
|
16
|
+
$ref: "#/$defs/shortText"
|
|
17
|
+
target:
|
|
18
|
+
$ref: "#/$defs/text"
|
|
19
|
+
preparedAt:
|
|
20
|
+
type: string
|
|
21
|
+
format: date-time
|
|
22
|
+
preparedBy:
|
|
23
|
+
type: object
|
|
24
|
+
additionalProperties: false
|
|
25
|
+
required: [type, name]
|
|
26
|
+
properties:
|
|
27
|
+
type:
|
|
28
|
+
enum: [agent, human, mixed]
|
|
29
|
+
name:
|
|
30
|
+
$ref: "#/$defs/shortText"
|
|
31
|
+
tasks:
|
|
32
|
+
type: array
|
|
33
|
+
minItems: 1
|
|
34
|
+
maxItems: 100
|
|
35
|
+
items:
|
|
36
|
+
$ref: "#/$defs/task"
|
|
37
|
+
findings:
|
|
38
|
+
type: array
|
|
39
|
+
maxItems: 1000
|
|
40
|
+
items:
|
|
41
|
+
$ref: "#/$defs/finding"
|
|
42
|
+
$defs:
|
|
43
|
+
id:
|
|
44
|
+
type: string
|
|
45
|
+
pattern: "^[a-z0-9][a-z0-9-]{0,47}$"
|
|
46
|
+
shortText:
|
|
47
|
+
type: string
|
|
48
|
+
minLength: 1
|
|
49
|
+
maxLength: 256
|
|
50
|
+
text:
|
|
51
|
+
type: string
|
|
52
|
+
minLength: 1
|
|
53
|
+
maxLength: 2048
|
|
54
|
+
task:
|
|
55
|
+
type: object
|
|
56
|
+
additionalProperties: false
|
|
57
|
+
required: [id, actor, scenario, successCriteria, modes]
|
|
58
|
+
properties:
|
|
59
|
+
id:
|
|
60
|
+
$ref: "#/$defs/id"
|
|
61
|
+
actor:
|
|
62
|
+
$ref: "#/$defs/shortText"
|
|
63
|
+
scenario:
|
|
64
|
+
type: string
|
|
65
|
+
minLength: 1
|
|
66
|
+
maxLength: 1024
|
|
67
|
+
successCriteria:
|
|
68
|
+
type: array
|
|
69
|
+
minItems: 1
|
|
70
|
+
maxItems: 20
|
|
71
|
+
items:
|
|
72
|
+
type: string
|
|
73
|
+
minLength: 1
|
|
74
|
+
maxLength: 512
|
|
75
|
+
modes:
|
|
76
|
+
type: array
|
|
77
|
+
minItems: 1
|
|
78
|
+
maxItems: 20
|
|
79
|
+
items:
|
|
80
|
+
$ref: "#/$defs/id"
|
|
81
|
+
evidence:
|
|
82
|
+
type: object
|
|
83
|
+
additionalProperties: false
|
|
84
|
+
required: [level, source, detail]
|
|
85
|
+
properties:
|
|
86
|
+
level:
|
|
87
|
+
enum: [automated, ai-assisted-expert, human-expert, representative-user]
|
|
88
|
+
source:
|
|
89
|
+
type: string
|
|
90
|
+
minLength: 1
|
|
91
|
+
maxLength: 1024
|
|
92
|
+
detail:
|
|
93
|
+
$ref: "#/$defs/text"
|
|
94
|
+
contributor:
|
|
95
|
+
$ref: "#/$defs/shortText"
|
|
96
|
+
recordedAt:
|
|
97
|
+
type: string
|
|
98
|
+
format: date-time
|
|
99
|
+
allOf:
|
|
100
|
+
- if:
|
|
101
|
+
properties:
|
|
102
|
+
level:
|
|
103
|
+
enum: [human-expert, representative-user]
|
|
104
|
+
required: [level]
|
|
105
|
+
then:
|
|
106
|
+
required: [contributor, recordedAt]
|
|
107
|
+
resolution:
|
|
108
|
+
type: object
|
|
109
|
+
additionalProperties: false
|
|
110
|
+
required: [rationale, decidedBy, decidedAt]
|
|
111
|
+
properties:
|
|
112
|
+
rationale:
|
|
113
|
+
$ref: "#/$defs/text"
|
|
114
|
+
decidedBy:
|
|
115
|
+
$ref: "#/$defs/shortText"
|
|
116
|
+
decidedAt:
|
|
117
|
+
type: string
|
|
118
|
+
format: date-time
|
|
119
|
+
finding:
|
|
120
|
+
type: object
|
|
121
|
+
additionalProperties: false
|
|
122
|
+
required:
|
|
123
|
+
- id
|
|
124
|
+
- title
|
|
125
|
+
- task
|
|
126
|
+
- heuristic
|
|
127
|
+
- location
|
|
128
|
+
- trigger
|
|
129
|
+
- observation
|
|
130
|
+
- impact
|
|
131
|
+
- evidence
|
|
132
|
+
- severity
|
|
133
|
+
- confidence
|
|
134
|
+
- status
|
|
135
|
+
- remediation
|
|
136
|
+
- validation
|
|
137
|
+
properties:
|
|
138
|
+
id:
|
|
139
|
+
$ref: "#/$defs/id"
|
|
140
|
+
title:
|
|
141
|
+
type: string
|
|
142
|
+
minLength: 1
|
|
143
|
+
maxLength: 160
|
|
144
|
+
task:
|
|
145
|
+
$ref: "#/$defs/id"
|
|
146
|
+
heuristic:
|
|
147
|
+
type: object
|
|
148
|
+
additionalProperties: false
|
|
149
|
+
required: [id, name]
|
|
150
|
+
properties:
|
|
151
|
+
id:
|
|
152
|
+
$ref: "#/$defs/id"
|
|
153
|
+
name:
|
|
154
|
+
$ref: "#/$defs/shortText"
|
|
155
|
+
location:
|
|
156
|
+
type: string
|
|
157
|
+
minLength: 1
|
|
158
|
+
maxLength: 1024
|
|
159
|
+
trigger:
|
|
160
|
+
type: string
|
|
161
|
+
minLength: 1
|
|
162
|
+
maxLength: 1024
|
|
163
|
+
observation:
|
|
164
|
+
$ref: "#/$defs/text"
|
|
165
|
+
impact:
|
|
166
|
+
$ref: "#/$defs/text"
|
|
167
|
+
evidence:
|
|
168
|
+
type: array
|
|
169
|
+
minItems: 1
|
|
170
|
+
maxItems: 50
|
|
171
|
+
items:
|
|
172
|
+
$ref: "#/$defs/evidence"
|
|
173
|
+
severity:
|
|
174
|
+
type: integer
|
|
175
|
+
minimum: 0
|
|
176
|
+
maximum: 4
|
|
177
|
+
confidence:
|
|
178
|
+
enum: [high, medium, low]
|
|
179
|
+
status:
|
|
180
|
+
enum: [open, resolved, accepted-risk]
|
|
181
|
+
remediation:
|
|
182
|
+
$ref: "#/$defs/text"
|
|
183
|
+
validation:
|
|
184
|
+
type: object
|
|
185
|
+
additionalProperties: false
|
|
186
|
+
required: [method, procedure]
|
|
187
|
+
properties:
|
|
188
|
+
method:
|
|
189
|
+
enum:
|
|
190
|
+
- runtime
|
|
191
|
+
- accessibility
|
|
192
|
+
- screenshot-review
|
|
193
|
+
- expert-review
|
|
194
|
+
- representative-user-test
|
|
195
|
+
- analytics
|
|
196
|
+
procedure:
|
|
197
|
+
$ref: "#/$defs/text"
|
|
198
|
+
resolution:
|
|
199
|
+
$ref: "#/$defs/resolution"
|
|
200
|
+
allOf:
|
|
201
|
+
- if:
|
|
202
|
+
properties:
|
|
203
|
+
status:
|
|
204
|
+
const: open
|
|
205
|
+
required: [status]
|
|
206
|
+
then:
|
|
207
|
+
not:
|
|
208
|
+
required: [resolution]
|
|
209
|
+
else:
|
|
210
|
+
required: [resolution]
|