@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,91 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "1.0",
|
|
3
|
+
"contract": "aegisops",
|
|
4
|
+
"profiles": [
|
|
5
|
+
{
|
|
6
|
+
"id": "demo-success",
|
|
7
|
+
"name": "Deterministic demo pipeline success",
|
|
8
|
+
"environment": [
|
|
9
|
+
"Frontend and API are running",
|
|
10
|
+
"Demo mode returns a deterministic successful stream",
|
|
11
|
+
"Export service is available"
|
|
12
|
+
],
|
|
13
|
+
"journeys": [
|
|
14
|
+
{
|
|
15
|
+
"id": "single-technique-success",
|
|
16
|
+
"name": "single-technique-success",
|
|
17
|
+
"steps": [
|
|
18
|
+
{ "action": "fill", "selector": "input[aria-label=\"ATT&CK technique or target\"]", "value": "T1059.001" },
|
|
19
|
+
{ "action": "click", "selector": "button:has-text(\"Single Technique\")" },
|
|
20
|
+
{ "action": "expectAttribute", "selector": "[role=\"switch\"]", "name": "aria-checked", "value": "true" },
|
|
21
|
+
{ "action": "expectResponse", "selector": "button:has-text(\"Run Pipeline\")", "urlIncludes": "/run", "status": 200, "method": "POST" },
|
|
22
|
+
{ "action": "expectText", "selector": "body", "value": "Pipeline complete" },
|
|
23
|
+
{ "action": "expectText", "selector": "body", "value": "DEPLOYABLE ARTIFACTS" },
|
|
24
|
+
{ "action": "expectText", "selector": "body", "value": "Coverage Gate" },
|
|
25
|
+
{ "action": "expectText", "selector": "body", "value": "READY" },
|
|
26
|
+
{ "action": "expectDownload", "selector": "button:has-text(\"Download SIGMA\")", "filenameIncludes": "sigma_T1059.001.yml" }
|
|
27
|
+
]
|
|
28
|
+
}
|
|
29
|
+
]
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"id": "offline-recovery",
|
|
33
|
+
"name": "Unavailable backend recovery",
|
|
34
|
+
"environment": [
|
|
35
|
+
"Frontend is running",
|
|
36
|
+
"Pipeline API is unavailable or returns a controlled failure"
|
|
37
|
+
],
|
|
38
|
+
"expectedNetwork": [
|
|
39
|
+
{
|
|
40
|
+
"id": "health-unavailable",
|
|
41
|
+
"method": "GET",
|
|
42
|
+
"urlIncludes": "/health",
|
|
43
|
+
"status": 500,
|
|
44
|
+
"minOccurrences": 1
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"id": "pipeline-run-unavailable",
|
|
48
|
+
"method": "POST",
|
|
49
|
+
"urlIncludes": "/run",
|
|
50
|
+
"status": 500,
|
|
51
|
+
"minOccurrences": 1,
|
|
52
|
+
"maxOccurrences": 1
|
|
53
|
+
}
|
|
54
|
+
],
|
|
55
|
+
"journeys": [
|
|
56
|
+
{
|
|
57
|
+
"id": "preserve-and-retry",
|
|
58
|
+
"name": "preserve-and-retry",
|
|
59
|
+
"steps": [
|
|
60
|
+
{ "action": "fill", "selector": "input[aria-label=\"ATT&CK technique or target\"]", "value": "T1059.001" },
|
|
61
|
+
{ "action": "expectResponse", "selector": "button:has-text(\"Run Pipeline\")", "urlIncludes": "/run", "status": 500, "method": "POST" },
|
|
62
|
+
{ "action": "expectText", "selector": "body", "value": "Pipeline failed" },
|
|
63
|
+
{ "action": "expectText", "selector": "body", "value": "Enable Demo mode" },
|
|
64
|
+
{ "action": "expectVisible", "selector": "button:has-text(\"Retry\")" },
|
|
65
|
+
{ "action": "expectValue", "selector": "input[aria-label=\"ATT&CK technique or target\"]", "value": "T1059.001" }
|
|
66
|
+
]
|
|
67
|
+
}
|
|
68
|
+
]
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"id": "responsive-overview",
|
|
72
|
+
"name": "Responsive operational overview",
|
|
73
|
+
"environment": [
|
|
74
|
+
"Frontend is running",
|
|
75
|
+
"No successful pipeline run is required"
|
|
76
|
+
],
|
|
77
|
+
"journeys": [
|
|
78
|
+
{
|
|
79
|
+
"id": "overview-integrity",
|
|
80
|
+
"name": "overview-integrity",
|
|
81
|
+
"steps": [
|
|
82
|
+
{ "action": "expectVisible", "selector": "input[aria-label=\"ATT&CK technique or target\"]" },
|
|
83
|
+
{ "action": "expectVisible", "selector": "button:has-text(\"Run Pipeline\")" },
|
|
84
|
+
{ "action": "expectText", "selector": "body", "value": "READINESS GATES" },
|
|
85
|
+
{ "action": "expectText", "selector": "body", "value": "LIVE MONITOR" }
|
|
86
|
+
]
|
|
87
|
+
}
|
|
88
|
+
]
|
|
89
|
+
}
|
|
90
|
+
]
|
|
91
|
+
}
|
|
@@ -0,0 +1,328 @@
|
|
|
1
|
+
version: "1.1"
|
|
2
|
+
id: aegisops
|
|
3
|
+
name: AegisOPS SOC Readiness Command Center
|
|
4
|
+
status: benchmark
|
|
5
|
+
purpose: >-
|
|
6
|
+
Enable a senior SOC analyst or detection engineer to transform authorized MITRE ATT&CK
|
|
7
|
+
scenarios into inspectable detection, response, validation, and export artifacts while
|
|
8
|
+
preserving evidence, recovery paths, and the distinction between live and demo execution.
|
|
9
|
+
|
|
10
|
+
authority:
|
|
11
|
+
behavior: Current AegisOPS behavior summarized in SOURCE-EVIDENCE.md overrides historical product and submission material.
|
|
12
|
+
visual: Normalized design evidence guides hierarchy and identity but never overrides task integrity, responsive usability, or accessibility.
|
|
13
|
+
precedence:
|
|
14
|
+
- path: SOURCE-EVIDENCE.md
|
|
15
|
+
role: Independently normalized product, design, provenance, and snapshot evidence.
|
|
16
|
+
authority: primary
|
|
17
|
+
- path: MANIFEST.md
|
|
18
|
+
role: Benchmark scope, authority order, and clean-room usage rules.
|
|
19
|
+
authority: supporting
|
|
20
|
+
- path: acceptance-criteria.md
|
|
21
|
+
role: Evidence interpretation and blocker acceptance boundaries.
|
|
22
|
+
authority: supporting
|
|
23
|
+
- path: ../../../clean-room-ux-design-spec.md
|
|
24
|
+
role: Independent implementation, provenance, local-first, and abstention requirements.
|
|
25
|
+
authority: supporting
|
|
26
|
+
|
|
27
|
+
actors:
|
|
28
|
+
- id: detection-engineer
|
|
29
|
+
name: Detection engineer
|
|
30
|
+
goals:
|
|
31
|
+
- Convert known ATT&CK behavior into field-mapped detection logic and deployable artifacts.
|
|
32
|
+
- Inspect covered and missing observables before accepting a result.
|
|
33
|
+
- Export evidence for implementation, review, or handoff.
|
|
34
|
+
responsibilities:
|
|
35
|
+
- Select an authorized scenario and verify its scope.
|
|
36
|
+
- Review generated logic against source telemetry and local environment requirements.
|
|
37
|
+
- Treat generated artifacts as reviewable engineering output, not automatic production truth.
|
|
38
|
+
- id: soc-analyst
|
|
39
|
+
name: SOC analyst
|
|
40
|
+
goals:
|
|
41
|
+
- Understand detection conditions and prioritized response actions.
|
|
42
|
+
- Distinguish live endpoint evidence from labeled demo fallback data.
|
|
43
|
+
- Recover safely from unavailable inference or export services.
|
|
44
|
+
responsibilities:
|
|
45
|
+
- Validate response guidance against organizational procedures.
|
|
46
|
+
- Preserve case evidence and avoid destructive action without authorization.
|
|
47
|
+
|
|
48
|
+
outputs:
|
|
49
|
+
- id: authorized-simulation
|
|
50
|
+
name: Authorized simulation evidence
|
|
51
|
+
sourceOfTruth: Threat agent output bounded to known ATT&CK behavior.
|
|
52
|
+
requiredEvidence:
|
|
53
|
+
- Technique or scenario identifier
|
|
54
|
+
- Observable commands, process behavior, or telemetry
|
|
55
|
+
- Explicit authorized-use scope
|
|
56
|
+
- id: sigma-detection
|
|
57
|
+
name: Sigma detection
|
|
58
|
+
sourceOfTruth: Detection agent output derived from simulation observables.
|
|
59
|
+
requiredEvidence:
|
|
60
|
+
- Field mappings
|
|
61
|
+
- Detection condition
|
|
62
|
+
- Observable linkage
|
|
63
|
+
- id: spl-hunt
|
|
64
|
+
name: SPL hunt
|
|
65
|
+
sourceOfTruth: Detection agent output derived from supported telemetry fields.
|
|
66
|
+
requiredEvidence:
|
|
67
|
+
- Query text
|
|
68
|
+
- Required data sources
|
|
69
|
+
- id: soc-playbook
|
|
70
|
+
name: SOC response playbook
|
|
71
|
+
sourceOfTruth: Response agent output tied to detected telemetry.
|
|
72
|
+
requiredEvidence:
|
|
73
|
+
- Triage actions
|
|
74
|
+
- Containment or escalation conditions
|
|
75
|
+
- id: vectr-export
|
|
76
|
+
name: VECTR coverage export
|
|
77
|
+
sourceOfTruth: Structured run result and validation scores.
|
|
78
|
+
requiredEvidence:
|
|
79
|
+
- Scenario identifier
|
|
80
|
+
- Coverage data
|
|
81
|
+
- id: validation-report
|
|
82
|
+
name: Validation report
|
|
83
|
+
sourceOfTruth: Validation agent evaluation of simulation and detection outputs.
|
|
84
|
+
requiredEvidence:
|
|
85
|
+
- Coverage score
|
|
86
|
+
- Covered observables
|
|
87
|
+
- Missing observables or explicit none-found result
|
|
88
|
+
- Safety verdict
|
|
89
|
+
- id: pdf-report
|
|
90
|
+
name: PDF handoff report
|
|
91
|
+
sourceOfTruth: Completed structured run and export service response.
|
|
92
|
+
requiredEvidence:
|
|
93
|
+
- Scenario identifier
|
|
94
|
+
- Generation success or actionable failure
|
|
95
|
+
|
|
96
|
+
modes:
|
|
97
|
+
- id: single-technique
|
|
98
|
+
name: Single Technique
|
|
99
|
+
purpose: Run the complete pipeline for one ATT&CK technique.
|
|
100
|
+
input: ATT&CK technique identifier such as T1059.001.
|
|
101
|
+
outputs: [authorized-simulation, sigma-detection, spl-hunt, soc-playbook, vectr-export, validation-report, pdf-report]
|
|
102
|
+
- id: apt-group
|
|
103
|
+
name: APT Group
|
|
104
|
+
purpose: Evaluate a bounded set of techniques attributed to a named threat group.
|
|
105
|
+
input: Recognized APT group name or identifier.
|
|
106
|
+
outputs: [authorized-simulation, sigma-detection, spl-hunt, soc-playbook, vectr-export, validation-report, pdf-report]
|
|
107
|
+
- id: kill-chain
|
|
108
|
+
name: Kill Chain
|
|
109
|
+
purpose: Evaluate an ordered sequence of known ATT&CK techniques and their combined defensive coverage.
|
|
110
|
+
input: Starting technique or supported chain selection.
|
|
111
|
+
outputs: [authorized-simulation, sigma-detection, spl-hunt, soc-playbook, vectr-export, validation-report, pdf-report]
|
|
112
|
+
- id: topology-lab
|
|
113
|
+
name: Topology Lab
|
|
114
|
+
purpose: Map an authorized sandbox path to telemetry, detection conditions, response actions, and reaction timing.
|
|
115
|
+
input: Supported sandbox topology path or seed technique.
|
|
116
|
+
outputs: [authorized-simulation, sigma-detection, soc-playbook, validation-report]
|
|
117
|
+
|
|
118
|
+
stateMachines:
|
|
119
|
+
- id: pipeline-run
|
|
120
|
+
initial: idle
|
|
121
|
+
states:
|
|
122
|
+
- id: idle
|
|
123
|
+
category: idle
|
|
124
|
+
userVisible: true
|
|
125
|
+
requirement: Input remains editable and the interface explains what is required to run.
|
|
126
|
+
- id: running
|
|
127
|
+
category: loading
|
|
128
|
+
userVisible: true
|
|
129
|
+
requirement: The active agent and accumulated progress are visible without clearing user input.
|
|
130
|
+
- id: success
|
|
131
|
+
category: success
|
|
132
|
+
userVisible: true
|
|
133
|
+
requirement: Results, evidence, readiness status, and supported exports are available together.
|
|
134
|
+
- id: error
|
|
135
|
+
category: error
|
|
136
|
+
userVisible: true
|
|
137
|
+
requirement: The failure cause, preserved input, retry action, and demo fallback guidance are visible.
|
|
138
|
+
- id: fallback
|
|
139
|
+
category: fallback
|
|
140
|
+
userVisible: true
|
|
141
|
+
requirement: Demo execution is explicitly labeled and cannot be mistaken for live endpoint evidence.
|
|
142
|
+
transitions:
|
|
143
|
+
- from: idle
|
|
144
|
+
to: running
|
|
145
|
+
trigger: Submit valid scenario
|
|
146
|
+
- from: running
|
|
147
|
+
to: success
|
|
148
|
+
trigger: Receive one complete validated run result
|
|
149
|
+
- from: running
|
|
150
|
+
to: error
|
|
151
|
+
trigger: Network, stream, validation, or export initialization failure
|
|
152
|
+
- from: error
|
|
153
|
+
to: running
|
|
154
|
+
trigger: Retry preserved scenario
|
|
155
|
+
- from: error
|
|
156
|
+
to: fallback
|
|
157
|
+
trigger: Enable labeled Demo mode
|
|
158
|
+
- from: fallback
|
|
159
|
+
to: running
|
|
160
|
+
trigger: Run preserved scenario using demo data
|
|
161
|
+
- from: success
|
|
162
|
+
to: running
|
|
163
|
+
trigger: Run another scenario
|
|
164
|
+
|
|
165
|
+
metrics:
|
|
166
|
+
- id: coverage
|
|
167
|
+
name: Detection coverage
|
|
168
|
+
definition: Percentage of required observables represented by the generated detection and validation result.
|
|
169
|
+
sourceOfTruth: Validation agent structured score with covered and missing observable lists.
|
|
170
|
+
format: percentage
|
|
171
|
+
evidenceRequired: true
|
|
172
|
+
range: { min: 0, max: 100 }
|
|
173
|
+
- id: safety-verdict
|
|
174
|
+
name: Safety verdict
|
|
175
|
+
definition: Structured assessment that generated content remains within authorized known-ATT&CK defensive scope.
|
|
176
|
+
sourceOfTruth: Validation agent structured verdict and supporting explanation.
|
|
177
|
+
format: status
|
|
178
|
+
evidenceRequired: true
|
|
179
|
+
- id: endpoint-latency
|
|
180
|
+
name: Endpoint latency
|
|
181
|
+
definition: Measured duration of a successful endpoint health or inference request.
|
|
182
|
+
sourceOfTruth: Current request timing; never a static placeholder.
|
|
183
|
+
format: duration
|
|
184
|
+
evidenceRequired: true
|
|
185
|
+
- id: readiness
|
|
186
|
+
name: Product readiness
|
|
187
|
+
definition: Gate state derived from completed coverage, safety, validator, and artifact requirements.
|
|
188
|
+
sourceOfTruth: Explicit readiness-gate evaluation over the current run result.
|
|
189
|
+
format: status
|
|
190
|
+
evidenceRequired: true
|
|
191
|
+
|
|
192
|
+
constraints:
|
|
193
|
+
outOfScope:
|
|
194
|
+
- Zero-day discovery or exploit generation.
|
|
195
|
+
- Unauthorized offensive operations or targeting real systems without permission.
|
|
196
|
+
- Automatic production deployment of generated detections without human review.
|
|
197
|
+
prohibitedClaims:
|
|
198
|
+
- Unsourced cost, time-savings, coverage, performance, or market-superiority claims.
|
|
199
|
+
- Live AMD, ROCm, model, endpoint, latency, or throughput claims without current captured evidence.
|
|
200
|
+
- Readiness or safety claims derived only from hard-coded presentation state.
|
|
201
|
+
mockData:
|
|
202
|
+
allowedEnvironments: [development, test, demo]
|
|
203
|
+
mustBeLabeled: true
|
|
204
|
+
prohibitedInProduction: true
|
|
205
|
+
fallbackDisclosure: Demo output must be visibly labeled, preserve the selected scenario, and distinguish bundled provenance from current live execution evidence.
|
|
206
|
+
|
|
207
|
+
acceptanceCriteria:
|
|
208
|
+
- id: valid-input-contract
|
|
209
|
+
title: Input and mode remain coherent
|
|
210
|
+
severity: blocker
|
|
211
|
+
requirement: The submitted scenario is valid for the selected mode, remains visible during execution, and is preserved after failure.
|
|
212
|
+
evidence: [contract, runtime]
|
|
213
|
+
appliesToModes: [single-technique, apt-group, kill-chain, topology-lab]
|
|
214
|
+
- id: progressive-pipeline-state
|
|
215
|
+
title: Pipeline progress is inspectable
|
|
216
|
+
severity: blocker
|
|
217
|
+
requirement: Running state identifies the active agent or stage, prevents duplicate submission, and announces progress accessibly.
|
|
218
|
+
evidence: [runtime, accessibility]
|
|
219
|
+
appliesToModes: [single-technique, apt-group, kill-chain]
|
|
220
|
+
- id: evidence-backed-results
|
|
221
|
+
title: Results preserve evidence chains
|
|
222
|
+
severity: blocker
|
|
223
|
+
requirement: Detection, response, and validation outputs trace back to the selected scenario and inspectable observables.
|
|
224
|
+
evidence: [contract, runtime, manual-review]
|
|
225
|
+
appliesToModes: [single-technique, apt-group, kill-chain, topology-lab]
|
|
226
|
+
- id: evidence-backed-metrics
|
|
227
|
+
title: Metrics have current sources of truth
|
|
228
|
+
severity: blocker
|
|
229
|
+
requirement: Coverage, safety, readiness, and latency values are computed from current structured evidence or explicitly labeled demo data.
|
|
230
|
+
evidence: [contract, network, manual-review]
|
|
231
|
+
appliesToModes: [single-technique, apt-group, kill-chain, topology-lab]
|
|
232
|
+
- id: offline-recovery
|
|
233
|
+
title: Offline execution has a recovery path
|
|
234
|
+
severity: blocker
|
|
235
|
+
requirement: Endpoint failure shows an actionable error, preserves input, offers retry, and explains labeled Demo mode without exposing a raw stack trace.
|
|
236
|
+
evidence: [runtime, network, screenshot]
|
|
237
|
+
appliesToModes: [single-technique, apt-group, kill-chain]
|
|
238
|
+
- id: export-integrity
|
|
239
|
+
title: Exports match the visible run
|
|
240
|
+
severity: blocker
|
|
241
|
+
requirement: Every offered download is generated from the current completed run, has a meaningful filename, and reports export failure without losing results.
|
|
242
|
+
evidence: [runtime, export]
|
|
243
|
+
appliesToModes: [single-technique, apt-group, kill-chain]
|
|
244
|
+
- id: authorized-scope
|
|
245
|
+
title: Authorized defensive scope is explicit
|
|
246
|
+
severity: blocker
|
|
247
|
+
requirement: Generated simulation material is bounded to known ATT&CK defensive validation and does not present unauthorized or zero-day generation as supported.
|
|
248
|
+
evidence: [contract, manual-review]
|
|
249
|
+
appliesToModes: [single-technique, apt-group, kill-chain, topology-lab]
|
|
250
|
+
- id: responsive-integrity
|
|
251
|
+
title: Operational content remains readable at required widths
|
|
252
|
+
severity: blocker
|
|
253
|
+
requirement: Controls, status pills, readiness gates, logs, and results do not clip, overlap, or create competing page-level scroll regions.
|
|
254
|
+
evidence: [runtime, screenshot]
|
|
255
|
+
appliesToModes: [single-technique, apt-group, kill-chain, topology-lab]
|
|
256
|
+
- id: accessible-operation
|
|
257
|
+
title: Critical workflow is keyboard and assistive-technology operable
|
|
258
|
+
severity: blocker
|
|
259
|
+
requirement: Inputs and controls have names, progress and errors are announced, focus remains visible, and status is not encoded by color alone.
|
|
260
|
+
evidence: [runtime, accessibility]
|
|
261
|
+
appliesToModes: [single-technique, apt-group, kill-chain, topology-lab]
|
|
262
|
+
|
|
263
|
+
verification:
|
|
264
|
+
journeyFile: journeys.json
|
|
265
|
+
viewports:
|
|
266
|
+
- { name: mobile-375, width: 375, height: 812 }
|
|
267
|
+
- { name: tablet-768, width: 768, height: 1024 }
|
|
268
|
+
- { name: desktop-1024, width: 1024, height: 768 }
|
|
269
|
+
- { name: wide-1440, width: 1440, height: 900 }
|
|
270
|
+
bindings:
|
|
271
|
+
- profile: demo-success
|
|
272
|
+
journey: single-technique-success
|
|
273
|
+
actor: detection-engineer
|
|
274
|
+
mode: single-technique
|
|
275
|
+
acceptanceCriteria: [valid-input-contract, progressive-pipeline-state, evidence-backed-results, evidence-backed-metrics, export-integrity, authorized-scope]
|
|
276
|
+
- profile: offline-recovery
|
|
277
|
+
journey: preserve-and-retry
|
|
278
|
+
actor: soc-analyst
|
|
279
|
+
mode: single-technique
|
|
280
|
+
acceptanceCriteria: [valid-input-contract, offline-recovery, accessible-operation]
|
|
281
|
+
- profile: responsive-overview
|
|
282
|
+
journey: overview-integrity
|
|
283
|
+
actor: soc-analyst
|
|
284
|
+
mode: single-technique
|
|
285
|
+
acceptanceCriteria: [responsive-integrity, accessible-operation]
|
|
286
|
+
|
|
287
|
+
benchmark:
|
|
288
|
+
archetype: operational-dashboard
|
|
289
|
+
interface: browser
|
|
290
|
+
qualityDimensions:
|
|
291
|
+
- { id: truthful-disclosure, status: required, reason: "Live and demo execution must remain distinguishable." }
|
|
292
|
+
- { id: information-design, status: required, reason: "Analysts must trace prioritized findings to evidence and action." }
|
|
293
|
+
- { id: visual-system, status: required, reason: "Dense security operations require consistent visual hierarchy." }
|
|
294
|
+
- { id: accessibility, status: required, reason: "Core analysis and export paths require keyboard and non-color operation." }
|
|
295
|
+
- { id: responsive-structure, status: required, reason: "The command center is verified from mobile through wide desktop." }
|
|
296
|
+
- { id: state-integrity, status: required, reason: "Pipeline progress, failure, fallback, and recovery must remain explicit." }
|
|
297
|
+
- { id: maintainability, status: required, reason: "Detection, response, validation, and export boundaries must remain separable." }
|
|
298
|
+
tasks:
|
|
299
|
+
- id: generate-detection-package
|
|
300
|
+
primary: true
|
|
301
|
+
actor: detection-engineer
|
|
302
|
+
mode: single-technique
|
|
303
|
+
intent: Generate and inspect evidence-linked detection, response, validation, and export artifacts for an authorized ATT&CK technique.
|
|
304
|
+
start:
|
|
305
|
+
stateMachine: pipeline-run
|
|
306
|
+
state: idle
|
|
307
|
+
observable: The authorized technique input is available and no pipeline run is active.
|
|
308
|
+
success:
|
|
309
|
+
stateMachine: pipeline-run
|
|
310
|
+
state: success
|
|
311
|
+
observable: Generated artifacts, source evidence, validation results, and export controls are inspectable.
|
|
312
|
+
evidence: [contract, runtime, network, export]
|
|
313
|
+
recovery:
|
|
314
|
+
required: true
|
|
315
|
+
failure:
|
|
316
|
+
stateMachine: pipeline-run
|
|
317
|
+
state: error
|
|
318
|
+
observable: The failed stage and preserved authorized input remain visible.
|
|
319
|
+
observable: The analyst can retry without losing the technique input or confusing fallback data with live output.
|
|
320
|
+
journey: { profile: demo-success, journey: single-technique-success }
|
|
321
|
+
browser: { route: /, narrowViewport: mobile-375 }
|
|
322
|
+
evidencePolicy:
|
|
323
|
+
missingEvidence: unverified
|
|
324
|
+
failedBehavior: failed
|
|
325
|
+
unsupportedCapability: limitation
|
|
326
|
+
comparison:
|
|
327
|
+
taskContractId: aegisops-detection-package
|
|
328
|
+
crossContractRanking: false
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Azure Optimizer Source Evidence
|
|
2
|
+
|
|
3
|
+
## Authority Boundary
|
|
4
|
+
|
|
5
|
+
- Product family: Azure infrastructure analysis and optimization dashboard.
|
|
6
|
+
- Owner-authorized comparison workspace: `/home/ztothez/Studio/experiments/redesign-azure`.
|
|
7
|
+
- Immutable control implementation: `azure-optimizer-og/`.
|
|
8
|
+
- Comparison implementations: `lovable/`, `ui-ux-max-pro/`, and `uix-design-skill/`.
|
|
9
|
+
- Repository snapshot at normalization: `6b0dbe1`.
|
|
10
|
+
|
|
11
|
+
The benchmark contains independently normalized task and evidence requirements. It does not import implementation code from any candidate and does not treat a generator or external design product as authority.
|
|
12
|
+
|
|
13
|
+
## Normalized Product Evidence
|
|
14
|
+
|
|
15
|
+
- An infrastructure operator reviews tracked Azure resources, potential savings, issue severity, recommendations, recent analyses, and health or telemetry evidence.
|
|
16
|
+
- The primary decision path is context, priority, impact, evidence, remediation, and validation.
|
|
17
|
+
- Running an analysis must distinguish live backend execution from simulation or local fallback.
|
|
18
|
+
- A metric requires a definition, source, scope, period, freshness, and supported decision.
|
|
19
|
+
- Exported results must preserve data origin, environment, freshness, and limitations.
|
|
20
|
+
- Operational, connected, online, production, and monitoring claims require current runtime evidence.
|
|
21
|
+
|
|
22
|
+
## Baseline Role
|
|
23
|
+
|
|
24
|
+
The original, Lovable, UI/UX Pro Max, and current ZtotheZ implementations are comparison candidates, not normative specifications. Failures and unsupported features remain evidence; the benchmark must not alter a candidate merely to make its baseline pass.
|
|
25
|
+
|
|
26
|
+
The eventual V2 implementation must be created in a separate directory so the control and all baseline candidates remain reproducible.
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# Azure Optimizer V2 Implementation
|
|
2
|
+
|
|
3
|
+
## Scope
|
|
4
|
+
|
|
5
|
+
The independently tracked implementation is in `benchmarks/azure-optimizer-v2/`. The original, Lovable, UI/UX Pro Max, and first ZtotheZ candidates in the comparison repository remain unchanged.
|
|
6
|
+
|
|
7
|
+
The V2 implementation uses the normalized dataset and task model from this benchmark. It does not import candidate implementation code and does not connect to an Azure tenant.
|
|
8
|
+
|
|
9
|
+
## Contract Mapping
|
|
10
|
+
|
|
11
|
+
| Requirement | Implementation |
|
|
12
|
+
|---|---|
|
|
13
|
+
| Persistent data origin and freshness | `TrustBar.tsx` is rendered across overview, analysis, history, and export views |
|
|
14
|
+
| Runtime-derived processing status | `analysis-client.ts` calls the local API boundary and retains response origin |
|
|
15
|
+
| Explicit fallback | A 503 response exposes retry and opt-in local fallback; no automatic simulation occurs |
|
|
16
|
+
| Prioritized information path | Overview presents context, priority, impact, evidence, action, owner, and validation |
|
|
17
|
+
| Metric integrity | Every summary metric exposes definition, source, scope, period, freshness, baseline, and decision purpose |
|
|
18
|
+
| Detailed finding review | Finding selection exposes observation, evidence, impact, remediation, owner, and validation |
|
|
19
|
+
| Provenance-preserving export | Blob download contains environment, scenario, origins, freshness, scope, findings, and limitations |
|
|
20
|
+
| Semantic visual system | Component source uses semantic CSS variables defined in `tokens.css` |
|
|
21
|
+
| Focused orchestration boundary | Network and fallback behavior is isolated in `src/domain/analysis-client.ts` |
|
|
22
|
+
|
|
23
|
+
## Verified States
|
|
24
|
+
|
|
25
|
+
The `azure-v2-state-matrix` profile in `v2-journeys.json` covers:
|
|
26
|
+
|
|
27
|
+
- Demo success.
|
|
28
|
+
- Live local API processing over the disclosed imported fixture.
|
|
29
|
+
- Slow analysis.
|
|
30
|
+
- Backend failure followed by explicit local fallback.
|
|
31
|
+
- Disconnection and recovery.
|
|
32
|
+
- Partial result.
|
|
33
|
+
- Stale result.
|
|
34
|
+
- Detailed finding review and history.
|
|
35
|
+
- Export with captured Blob provenance.
|
|
36
|
+
|
|
37
|
+
## Evidence Boundary
|
|
38
|
+
|
|
39
|
+
Automated verification establishes contract selectors, network responses, downloads, layout behavior, accessibility checks, and screenshot stability in the captured environment. It does not establish visual preference, domain correctness beyond the fixture, human comprehension, or representative-user task success. Those claims remain Item 8 reviewer-supplied work.
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# Azure Optimizer Acceptance Criteria
|
|
2
|
+
|
|
3
|
+
The machine-readable criteria are in `product-contract.yaml`.
|
|
4
|
+
|
|
5
|
+
## Task Integrity
|
|
6
|
+
|
|
7
|
+
- The current environment, data origin, connection state, and freshness are visible without consulting documentation.
|
|
8
|
+
- Priority is derived from severity, impact, evidence, and scope rather than decorative prominence.
|
|
9
|
+
- Findings connect affected resources to observations, impact, remediation, and validation.
|
|
10
|
+
- Analysis input and context remain available through loading, error, fallback, and completion.
|
|
11
|
+
- Exports preserve the visible result and its provenance.
|
|
12
|
+
|
|
13
|
+
## Comparison Integrity
|
|
14
|
+
|
|
15
|
+
- Every candidate uses the same dataset, viewport dimensions, states, and task prompts.
|
|
16
|
+
- Candidate-specific selectors may differ, but success criteria cannot change by candidate.
|
|
17
|
+
- Unsupported or failed behavior is recorded as failed, partial, or not run.
|
|
18
|
+
- Screenshot similarity, source-code inspection, and automated accessibility checks cannot become human or representative-user evidence.
|
|
19
|
+
- Candidate labels remain anonymous in reviewer-facing materials.
|
|
20
|
+
|
|
21
|
+
## Responsive Evidence
|
|
22
|
+
|
|
23
|
+
At 375, 768, 1024, and 1440 CSS pixels, primary context, metrics, findings, provenance, and actions must not clip, overlap, or create incoherent competing scroll regions. Long labels, empty data, partial data, loading, fallback, disconnected, and export states remain in scope.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# Azure Optimizer Anti-Patterns
|
|
2
|
+
|
|
3
|
+
| Anti-pattern | Failure | Required correction |
|
|
4
|
+
|---|---|---|
|
|
5
|
+
| Unsupported operational badge | The interface claims online, operational, connected, production, or continuous monitoring without current evidence | Bind the label to runtime state or replace it with explicit demo, unknown, stale, or disconnected status |
|
|
6
|
+
| Silent simulation | A failed or absent backend produces realistic results without persistent disclosure | Identify simulation before execution, during progress, in results, history, and exports |
|
|
7
|
+
| Decorative savings | Currency values appear without formula, scope, period, source, or affected resources | Add a metric contract and drill-down evidence or remove the value |
|
|
8
|
+
| Agent theater | Agent diagrams and logs imply orchestration that the implementation does not perform | Show only verified stages and distinguish scripted demonstration from live execution |
|
|
9
|
+
| Sparse overview | Large unused space separates summary metrics from the findings and actions needed to interpret them | Follow context, priority, impact, evidence, action, and validation hierarchy |
|
|
10
|
+
| Dense visual noise | Glow, grids, badges, and micro-labels compete with findings and next actions | Use restrained hierarchy, semantic emphasis, and task-driven density |
|
|
11
|
+
| Fake credential | A realistic secret placeholder is displayed as an operational key | Use an empty secure field, documented fixture value, or connected secret-management flow |
|
|
12
|
+
| Inert export or settings control | A control appears actionable but has no observable behavior | Implement the command with feedback and recovery or render noninteractive information honestly |
|
|
13
|
+
| Cross-product contract | Azure is evaluated with selectors and semantics from another product | Use the Azure-specific contract and candidate-equivalent tasks |
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "1.0",
|
|
3
|
+
"contract": "azure-optimizer",
|
|
4
|
+
"profiles": [
|
|
5
|
+
{
|
|
6
|
+
"id": "overview-baseline",
|
|
7
|
+
"name": "Shared Azure overview comprehension surface",
|
|
8
|
+
"environment": [
|
|
9
|
+
"Candidate frontend is running with the fixed comparison dataset",
|
|
10
|
+
"No successful analysis run is required"
|
|
11
|
+
],
|
|
12
|
+
"journeys": [
|
|
13
|
+
{
|
|
14
|
+
"id": "overview-integrity",
|
|
15
|
+
"name": "overview-integrity",
|
|
16
|
+
"steps": [
|
|
17
|
+
{ "action": "expectText", "selector": "body", "value": "Azure Optimizer" },
|
|
18
|
+
{ "action": "expectText", "selector": "body", "value": "Potential Savings" },
|
|
19
|
+
{ "action": "expectText", "selector": "body", "value": "Top Recommendations" }
|
|
20
|
+
]
|
|
21
|
+
}
|
|
22
|
+
]
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"id": "original-analysis",
|
|
26
|
+
"name": "Original candidate analysis task",
|
|
27
|
+
"environment": ["Original candidate is running with its bundled comparison data"],
|
|
28
|
+
"journeys": [
|
|
29
|
+
{
|
|
30
|
+
"id": "run-original-analysis",
|
|
31
|
+
"name": "run-original-analysis",
|
|
32
|
+
"steps": [
|
|
33
|
+
{ "action": "click", "selector": "button:has-text(\"Analysis\")" },
|
|
34
|
+
{ "action": "click", "selector": "button:has-text(\"Run AI Audit\")" },
|
|
35
|
+
{ "action": "expectText", "selector": "body", "value": "Analysis complete" }
|
|
36
|
+
]
|
|
37
|
+
}
|
|
38
|
+
]
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"id": "lovable-analysis",
|
|
42
|
+
"name": "Lovable candidate analysis task",
|
|
43
|
+
"environment": ["Lovable candidate is running with its bundled demo dataset"],
|
|
44
|
+
"journeys": [
|
|
45
|
+
{
|
|
46
|
+
"id": "run-lovable-analysis",
|
|
47
|
+
"name": "run-lovable-analysis",
|
|
48
|
+
"steps": [
|
|
49
|
+
{ "action": "click", "selector": "button:has-text(\"Run analysis\")" },
|
|
50
|
+
{ "action": "expectText", "selector": "body", "value": "Analysis complete" }
|
|
51
|
+
]
|
|
52
|
+
}
|
|
53
|
+
]
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"id": "uiux-analysis",
|
|
57
|
+
"name": "UIUX candidate analysis task",
|
|
58
|
+
"environment": ["UIUX candidate is running with its bundled comparison data"],
|
|
59
|
+
"journeys": [
|
|
60
|
+
{
|
|
61
|
+
"id": "run-uiux-analysis",
|
|
62
|
+
"name": "run-uiux-analysis",
|
|
63
|
+
"steps": [
|
|
64
|
+
{ "action": "click", "selector": "button:has-text(\"Analysis\")" },
|
|
65
|
+
{ "action": "click", "selector": "button:has-text(\"Start Full AI Audit\")" },
|
|
66
|
+
{ "action": "expectText", "selector": "body", "value": "Report ready" }
|
|
67
|
+
]
|
|
68
|
+
}
|
|
69
|
+
]
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"id": "ztothez-analysis",
|
|
73
|
+
"name": "ZtotheZ candidate analysis task",
|
|
74
|
+
"environment": ["ZtotheZ candidate is running with its bundled comparison data"],
|
|
75
|
+
"journeys": [
|
|
76
|
+
{
|
|
77
|
+
"id": "run-ztothez-analysis",
|
|
78
|
+
"name": "run-ztothez-analysis",
|
|
79
|
+
"steps": [
|
|
80
|
+
{ "action": "click", "selector": "button:has-text(\"Analysis\")" },
|
|
81
|
+
{ "action": "click", "selector": "button:has-text(\"Run AI Audit\")" },
|
|
82
|
+
{ "action": "expectText", "selector": "body", "value": "Operating in verified local demonstration mode" }
|
|
83
|
+
]
|
|
84
|
+
}
|
|
85
|
+
]
|
|
86
|
+
}
|
|
87
|
+
]
|
|
88
|
+
}
|