@agent-teams/engineering-foundation 0.5.0 → 0.7.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/README.md +7 -5
- package/dist/binary-string-comparator.d.ts +9 -0
- package/dist/binary-string-comparator.d.ts.map +1 -0
- package/dist/binary-string-comparator.js +27 -0
- package/dist/binary-string-comparator.js.map +1 -0
- package/dist/cancellation.d.ts +6 -0
- package/dist/cancellation.d.ts.map +1 -0
- package/dist/cancellation.js +16 -0
- package/dist/cancellation.js.map +1 -0
- package/dist/capabilities/contract-json-schema-releases/adapters/outbound/filesystem/ajv-json-schema-release-inspector.d.ts +11 -0
- package/dist/capabilities/contract-json-schema-releases/adapters/outbound/filesystem/ajv-json-schema-release-inspector.d.ts.map +1 -0
- package/dist/capabilities/contract-json-schema-releases/adapters/outbound/filesystem/ajv-json-schema-release-inspector.js +365 -0
- package/dist/capabilities/contract-json-schema-releases/adapters/outbound/filesystem/ajv-json-schema-release-inspector.js.map +1 -0
- package/dist/capabilities/contract-json-schema-releases/application/model/json-schema-release.d.ts +46 -0
- package/dist/capabilities/contract-json-schema-releases/application/model/json-schema-release.d.ts.map +1 -0
- package/dist/capabilities/contract-json-schema-releases/application/model/json-schema-release.js +2 -0
- package/dist/capabilities/contract-json-schema-releases/application/model/json-schema-release.js.map +1 -0
- package/dist/capabilities/contract-json-schema-releases/application/policies/evaluate-json-schema-release.d.ts +4 -0
- package/dist/capabilities/contract-json-schema-releases/application/policies/evaluate-json-schema-release.d.ts.map +1 -0
- package/dist/capabilities/contract-json-schema-releases/application/policies/evaluate-json-schema-release.js +201 -0
- package/dist/capabilities/contract-json-schema-releases/application/policies/evaluate-json-schema-release.js.map +1 -0
- package/dist/capabilities/contract-json-schema-releases/application/ports/json-schema-release-inspector.d.ts +10 -0
- package/dist/capabilities/contract-json-schema-releases/application/ports/json-schema-release-inspector.d.ts.map +1 -0
- package/dist/capabilities/contract-json-schema-releases/application/ports/json-schema-release-inspector.js +2 -0
- package/dist/capabilities/contract-json-schema-releases/application/ports/json-schema-release-inspector.js.map +1 -0
- package/dist/capabilities/contract-json-schema-releases/application/rules.d.ts +17 -0
- package/dist/capabilities/contract-json-schema-releases/application/rules.d.ts.map +1 -0
- package/dist/capabilities/contract-json-schema-releases/application/rules.js +18 -0
- package/dist/capabilities/contract-json-schema-releases/application/rules.js.map +1 -0
- package/dist/capabilities/contract-json-schema-releases/application/use-cases/verify-json-schema-release.d.ts +11 -0
- package/dist/capabilities/contract-json-schema-releases/application/use-cases/verify-json-schema-release.d.ts.map +1 -0
- package/dist/capabilities/contract-json-schema-releases/application/use-cases/verify-json-schema-release.js +14 -0
- package/dist/capabilities/contract-json-schema-releases/application/use-cases/verify-json-schema-release.js.map +1 -0
- package/dist/capabilities/contract-json-schema-releases/contract/config.d.ts +5 -0
- package/dist/capabilities/contract-json-schema-releases/contract/config.d.ts.map +1 -0
- package/dist/capabilities/contract-json-schema-releases/contract/config.js +133 -0
- package/dist/capabilities/contract-json-schema-releases/contract/config.js.map +1 -0
- package/dist/capabilities/contract-json-schema-releases/module.d.ts +13 -0
- package/dist/capabilities/contract-json-schema-releases/module.d.ts.map +1 -0
- package/dist/capabilities/contract-json-schema-releases/module.js +52 -0
- package/dist/capabilities/contract-json-schema-releases/module.js.map +1 -0
- package/dist/capabilities/contract-protobuf-evolution/adapters/outbound/governance/governance-accepted-decision-evidence-acl.d.ts +11 -0
- package/dist/capabilities/contract-protobuf-evolution/adapters/outbound/governance/governance-accepted-decision-evidence-acl.d.ts.map +1 -0
- package/dist/capabilities/contract-protobuf-evolution/adapters/outbound/governance/governance-accepted-decision-evidence-acl.js +21 -0
- package/dist/capabilities/contract-protobuf-evolution/adapters/outbound/governance/governance-accepted-decision-evidence-acl.js.map +1 -0
- package/dist/capabilities/contract-protobuf-evolution/application/model/protobuf-release-evidence.d.ts +58 -0
- package/dist/capabilities/contract-protobuf-evolution/application/model/protobuf-release-evidence.d.ts.map +1 -0
- package/dist/capabilities/contract-protobuf-evolution/application/model/protobuf-release-evidence.js +2 -0
- package/dist/capabilities/contract-protobuf-evolution/application/model/protobuf-release-evidence.js.map +1 -0
- package/dist/capabilities/contract-protobuf-evolution/application/policies/evaluate-protobuf-evolution.d.ts +4 -0
- package/dist/capabilities/contract-protobuf-evolution/application/policies/evaluate-protobuf-evolution.d.ts.map +1 -0
- package/dist/capabilities/contract-protobuf-evolution/application/policies/evaluate-protobuf-evolution.js +277 -0
- package/dist/capabilities/contract-protobuf-evolution/application/policies/evaluate-protobuf-evolution.js.map +1 -0
- package/dist/capabilities/contract-protobuf-evolution/application/ports/accepted-decision-evidence.d.ts +18 -0
- package/dist/capabilities/contract-protobuf-evolution/application/ports/accepted-decision-evidence.d.ts.map +1 -0
- package/dist/capabilities/contract-protobuf-evolution/application/ports/accepted-decision-evidence.js +2 -0
- package/dist/capabilities/contract-protobuf-evolution/application/ports/accepted-decision-evidence.js.map +1 -0
- package/dist/capabilities/contract-protobuf-evolution/application/rules.d.ts +20 -0
- package/dist/capabilities/contract-protobuf-evolution/application/rules.d.ts.map +1 -0
- package/dist/capabilities/contract-protobuf-evolution/application/rules.js +21 -0
- package/dist/capabilities/contract-protobuf-evolution/application/rules.js.map +1 -0
- package/dist/capabilities/contract-protobuf-evolution/application/use-cases/resolve-protobuf-evolution-policy.d.ts +12 -0
- package/dist/capabilities/contract-protobuf-evolution/application/use-cases/resolve-protobuf-evolution-policy.d.ts.map +1 -0
- package/dist/capabilities/contract-protobuf-evolution/application/use-cases/resolve-protobuf-evolution-policy.js +30 -0
- package/dist/capabilities/contract-protobuf-evolution/application/use-cases/resolve-protobuf-evolution-policy.js.map +1 -0
- package/dist/capabilities/contract-protobuf-evolution/contract/config.d.ts +5 -0
- package/dist/capabilities/contract-protobuf-evolution/contract/config.d.ts.map +1 -0
- package/dist/capabilities/contract-protobuf-evolution/contract/config.js +186 -0
- package/dist/capabilities/contract-protobuf-evolution/contract/config.js.map +1 -0
- package/dist/capabilities/contract-protobuf-evolution/module.d.ts +11 -0
- package/dist/capabilities/contract-protobuf-evolution/module.d.ts.map +1 -0
- package/dist/capabilities/contract-protobuf-evolution/module.js +51 -0
- package/dist/capabilities/contract-protobuf-evolution/module.js.map +1 -0
- package/dist/capabilities/contract-protobuf-evolution/qualification/adapters/outbound/process/process-buf-executable.d.ts +5 -0
- package/dist/capabilities/contract-protobuf-evolution/qualification/adapters/outbound/process/process-buf-executable.d.ts.map +1 -0
- package/dist/capabilities/contract-protobuf-evolution/qualification/adapters/outbound/process/process-buf-executable.js +109 -0
- package/dist/capabilities/contract-protobuf-evolution/qualification/adapters/outbound/process/process-buf-executable.js.map +1 -0
- package/dist/capabilities/contract-protobuf-evolution/qualification/module.d.ts +4 -0
- package/dist/capabilities/contract-protobuf-evolution/qualification/module.d.ts.map +1 -0
- package/dist/capabilities/contract-protobuf-evolution/qualification/module.js +3 -0
- package/dist/capabilities/contract-protobuf-evolution/qualification/module.js.map +1 -0
- package/dist/capabilities/contract-protobuf-evolution/qualification/ports/buf-executable.d.ts +14 -0
- package/dist/capabilities/contract-protobuf-evolution/qualification/ports/buf-executable.d.ts.map +1 -0
- package/dist/capabilities/contract-protobuf-evolution/qualification/ports/buf-executable.js +2 -0
- package/dist/capabilities/contract-protobuf-evolution/qualification/ports/buf-executable.js.map +1 -0
- package/dist/capabilities/contract-protobuf-evolution/qualification/use-cases/verify-pinned-buf-version.d.ts +7 -0
- package/dist/capabilities/contract-protobuf-evolution/qualification/use-cases/verify-pinned-buf-version.d.ts.map +1 -0
- package/dist/capabilities/contract-protobuf-evolution/qualification/use-cases/verify-pinned-buf-version.js +41 -0
- package/dist/capabilities/contract-protobuf-evolution/qualification/use-cases/verify-pinned-buf-version.js.map +1 -0
- package/dist/capabilities/documentation-local-references/application/model/documentation-local-references.d.ts +15 -0
- package/dist/capabilities/documentation-local-references/application/model/documentation-local-references.d.ts.map +1 -0
- package/dist/capabilities/documentation-local-references/application/model/documentation-local-references.js +2 -0
- package/dist/capabilities/documentation-local-references/application/model/documentation-local-references.js.map +1 -0
- package/dist/capabilities/documentation-local-references/application/policies/evaluate-documentation-local-references.d.ts +9 -0
- package/dist/capabilities/documentation-local-references/application/policies/evaluate-documentation-local-references.d.ts.map +1 -0
- package/dist/capabilities/documentation-local-references/application/policies/evaluate-documentation-local-references.js +124 -0
- package/dist/capabilities/documentation-local-references/application/policies/evaluate-documentation-local-references.js.map +1 -0
- package/dist/capabilities/documentation-local-references/application/rules.d.ts +20 -0
- package/dist/capabilities/documentation-local-references/application/rules.d.ts.map +1 -0
- package/dist/capabilities/documentation-local-references/application/rules.js +24 -0
- package/dist/capabilities/documentation-local-references/application/rules.js.map +1 -0
- package/dist/capabilities/documentation-local-references/application/use-cases/analyze-documentation-local-references.d.ts +12 -0
- package/dist/capabilities/documentation-local-references/application/use-cases/analyze-documentation-local-references.d.ts.map +1 -0
- package/dist/capabilities/documentation-local-references/application/use-cases/analyze-documentation-local-references.js +36 -0
- package/dist/capabilities/documentation-local-references/application/use-cases/analyze-documentation-local-references.js.map +1 -0
- package/dist/capabilities/documentation-local-references/contract/config.d.ts +5 -0
- package/dist/capabilities/documentation-local-references/contract/config.d.ts.map +1 -0
- package/dist/capabilities/documentation-local-references/contract/config.js +68 -0
- package/dist/capabilities/documentation-local-references/contract/config.js.map +1 -0
- package/dist/capabilities/documentation-local-references/module.d.ts +5 -0
- package/dist/capabilities/documentation-local-references/module.d.ts.map +1 -0
- package/dist/capabilities/documentation-local-references/module.js +49 -0
- package/dist/capabilities/documentation-local-references/module.js.map +1 -0
- package/dist/capabilities/governance-architecture-decisions/adapters/outbound/crypto/node-architecture-decision-fingerprint.d.ts +5 -0
- package/dist/capabilities/governance-architecture-decisions/adapters/outbound/crypto/node-architecture-decision-fingerprint.d.ts.map +1 -0
- package/dist/capabilities/governance-architecture-decisions/adapters/outbound/crypto/node-architecture-decision-fingerprint.js +7 -0
- package/dist/capabilities/governance-architecture-decisions/adapters/outbound/crypto/node-architecture-decision-fingerprint.js.map +1 -0
- package/dist/capabilities/governance-architecture-decisions/adapters/outbound/filesystem/filesystem-architecture-decision-baseline-repository.d.ts +17 -0
- package/dist/capabilities/governance-architecture-decisions/adapters/outbound/filesystem/filesystem-architecture-decision-baseline-repository.d.ts.map +1 -0
- package/dist/capabilities/governance-architecture-decisions/adapters/outbound/filesystem/filesystem-architecture-decision-baseline-repository.js +285 -0
- package/dist/capabilities/governance-architecture-decisions/adapters/outbound/filesystem/filesystem-architecture-decision-baseline-repository.js.map +1 -0
- package/dist/capabilities/governance-architecture-decisions/application/model/architecture-decision.d.ts +32 -0
- package/dist/capabilities/governance-architecture-decisions/application/model/architecture-decision.d.ts.map +1 -0
- package/dist/capabilities/governance-architecture-decisions/application/model/architecture-decision.js +26 -0
- package/dist/capabilities/governance-architecture-decisions/application/model/architecture-decision.js.map +1 -0
- package/dist/capabilities/governance-architecture-decisions/application/policies/accepted-architecture-decision-baseline.d.ts +32 -0
- package/dist/capabilities/governance-architecture-decisions/application/policies/accepted-architecture-decision-baseline.d.ts.map +1 -0
- package/dist/capabilities/governance-architecture-decisions/application/policies/accepted-architecture-decision-baseline.js +65 -0
- package/dist/capabilities/governance-architecture-decisions/application/policies/accepted-architecture-decision-baseline.js.map +1 -0
- package/dist/capabilities/governance-architecture-decisions/application/policies/architecture-decision-diagnostic.d.ts +20 -0
- package/dist/capabilities/governance-architecture-decisions/application/policies/architecture-decision-diagnostic.d.ts.map +1 -0
- package/dist/capabilities/governance-architecture-decisions/application/policies/architecture-decision-diagnostic.js +37 -0
- package/dist/capabilities/governance-architecture-decisions/application/policies/architecture-decision-diagnostic.js.map +1 -0
- package/dist/capabilities/governance-architecture-decisions/application/policies/evaluate-architecture-decision-index.d.ts +18 -0
- package/dist/capabilities/governance-architecture-decisions/application/policies/evaluate-architecture-decision-index.d.ts.map +1 -0
- package/dist/capabilities/governance-architecture-decisions/application/policies/evaluate-architecture-decision-index.js +71 -0
- package/dist/capabilities/governance-architecture-decisions/application/policies/evaluate-architecture-decision-index.js.map +1 -0
- package/dist/capabilities/governance-architecture-decisions/application/policies/evaluate-architecture-decision-lifecycle.d.ts +5 -0
- package/dist/capabilities/governance-architecture-decisions/application/policies/evaluate-architecture-decision-lifecycle.d.ts.map +1 -0
- package/dist/capabilities/governance-architecture-decisions/application/policies/evaluate-architecture-decision-lifecycle.js +158 -0
- package/dist/capabilities/governance-architecture-decisions/application/policies/evaluate-architecture-decision-lifecycle.js.map +1 -0
- package/dist/capabilities/governance-architecture-decisions/application/policies/evaluate-architecture-decisions.d.ts +30 -0
- package/dist/capabilities/governance-architecture-decisions/application/policies/evaluate-architecture-decisions.d.ts.map +1 -0
- package/dist/capabilities/governance-architecture-decisions/application/policies/evaluate-architecture-decisions.js +163 -0
- package/dist/capabilities/governance-architecture-decisions/application/policies/evaluate-architecture-decisions.js.map +1 -0
- package/dist/capabilities/governance-architecture-decisions/application/policies/parse-accepted-architecture-decision-baseline.d.ts +3 -0
- package/dist/capabilities/governance-architecture-decisions/application/policies/parse-accepted-architecture-decision-baseline.d.ts.map +1 -0
- package/dist/capabilities/governance-architecture-decisions/application/policies/parse-accepted-architecture-decision-baseline.js +75 -0
- package/dist/capabilities/governance-architecture-decisions/application/policies/parse-accepted-architecture-decision-baseline.js.map +1 -0
- package/dist/capabilities/governance-architecture-decisions/application/policies/parse-architecture-decision-document.d.ts +10 -0
- package/dist/capabilities/governance-architecture-decisions/application/policies/parse-architecture-decision-document.d.ts.map +1 -0
- package/dist/capabilities/governance-architecture-decisions/application/policies/parse-architecture-decision-document.js +178 -0
- package/dist/capabilities/governance-architecture-decisions/application/policies/parse-architecture-decision-document.js.map +1 -0
- package/dist/capabilities/governance-architecture-decisions/application/ports/architecture-decision-baseline-repository.d.ts +37 -0
- package/dist/capabilities/governance-architecture-decisions/application/ports/architecture-decision-baseline-repository.d.ts.map +1 -0
- package/dist/capabilities/governance-architecture-decisions/application/ports/architecture-decision-baseline-repository.js +2 -0
- package/dist/capabilities/governance-architecture-decisions/application/ports/architecture-decision-baseline-repository.js.map +1 -0
- package/dist/capabilities/governance-architecture-decisions/application/ports/architecture-decision-fingerprint.d.ts +4 -0
- package/dist/capabilities/governance-architecture-decisions/application/ports/architecture-decision-fingerprint.d.ts.map +1 -0
- package/dist/capabilities/governance-architecture-decisions/application/ports/architecture-decision-fingerprint.js +2 -0
- package/dist/capabilities/governance-architecture-decisions/application/ports/architecture-decision-fingerprint.js.map +1 -0
- package/dist/capabilities/governance-architecture-decisions/application/rules.d.ts +30 -0
- package/dist/capabilities/governance-architecture-decisions/application/rules.d.ts.map +1 -0
- package/dist/capabilities/governance-architecture-decisions/application/rules.js +34 -0
- package/dist/capabilities/governance-architecture-decisions/application/rules.js.map +1 -0
- package/dist/capabilities/governance-architecture-decisions/application/use-cases/analyze-architecture-decisions.d.ts +28 -0
- package/dist/capabilities/governance-architecture-decisions/application/use-cases/analyze-architecture-decisions.d.ts.map +1 -0
- package/dist/capabilities/governance-architecture-decisions/application/use-cases/analyze-architecture-decisions.js +35 -0
- package/dist/capabilities/governance-architecture-decisions/application/use-cases/analyze-architecture-decisions.js.map +1 -0
- package/dist/capabilities/governance-architecture-decisions/application/use-cases/inspect-architecture-decision-catalog.d.ts +17 -0
- package/dist/capabilities/governance-architecture-decisions/application/use-cases/inspect-architecture-decision-catalog.d.ts.map +1 -0
- package/dist/capabilities/governance-architecture-decisions/application/use-cases/inspect-architecture-decision-catalog.js +29 -0
- package/dist/capabilities/governance-architecture-decisions/application/use-cases/inspect-architecture-decision-catalog.js.map +1 -0
- package/dist/capabilities/governance-architecture-decisions/application/use-cases/promote-architecture-decision-baseline.d.ts +19 -0
- package/dist/capabilities/governance-architecture-decisions/application/use-cases/promote-architecture-decision-baseline.d.ts.map +1 -0
- package/dist/capabilities/governance-architecture-decisions/application/use-cases/promote-architecture-decision-baseline.js +85 -0
- package/dist/capabilities/governance-architecture-decisions/application/use-cases/promote-architecture-decision-baseline.js.map +1 -0
- package/dist/capabilities/governance-architecture-decisions/application/use-cases/resolve-architecture-decision-index-memberships.d.ts +12 -0
- package/dist/capabilities/governance-architecture-decisions/application/use-cases/resolve-architecture-decision-index-memberships.d.ts.map +1 -0
- package/dist/capabilities/governance-architecture-decisions/application/use-cases/resolve-architecture-decision-index-memberships.js +50 -0
- package/dist/capabilities/governance-architecture-decisions/application/use-cases/resolve-architecture-decision-index-memberships.js.map +1 -0
- package/dist/capabilities/governance-architecture-decisions/contract/config.d.ts +5 -0
- package/dist/capabilities/governance-architecture-decisions/contract/config.d.ts.map +1 -0
- package/dist/capabilities/governance-architecture-decisions/contract/config.js +94 -0
- package/dist/capabilities/governance-architecture-decisions/contract/config.js.map +1 -0
- package/dist/capabilities/governance-architecture-decisions/module.d.ts +26 -0
- package/dist/capabilities/governance-architecture-decisions/module.d.ts.map +1 -0
- package/dist/capabilities/governance-architecture-decisions/module.js +136 -0
- package/dist/capabilities/governance-architecture-decisions/module.js.map +1 -0
- package/dist/capabilities/property-testing-standard/contract/deterministic-seed-bank.d.ts +27 -0
- package/dist/capabilities/property-testing-standard/contract/deterministic-seed-bank.d.ts.map +1 -0
- package/dist/capabilities/property-testing-standard/contract/deterministic-seed-bank.js +109 -0
- package/dist/capabilities/property-testing-standard/contract/deterministic-seed-bank.js.map +1 -0
- package/dist/capabilities/public-api-compatibility/adapters/outbound/api-extractor/link-staged-package-node-modules.d.ts +9 -0
- package/dist/capabilities/public-api-compatibility/adapters/outbound/api-extractor/link-staged-package-node-modules.d.ts.map +1 -0
- package/dist/capabilities/public-api-compatibility/adapters/outbound/api-extractor/link-staged-package-node-modules.js +45 -0
- package/dist/capabilities/public-api-compatibility/adapters/outbound/api-extractor/link-staged-package-node-modules.js.map +1 -0
- package/dist/capabilities/public-api-compatibility/adapters/outbound/api-extractor/microsoft-public-api-extractor.d.ts +1 -1
- package/dist/capabilities/public-api-compatibility/adapters/outbound/api-extractor/microsoft-public-api-extractor.d.ts.map +1 -1
- package/dist/capabilities/public-api-compatibility/adapters/outbound/api-extractor/microsoft-public-api-extractor.js +168 -99
- package/dist/capabilities/public-api-compatibility/adapters/outbound/api-extractor/microsoft-public-api-extractor.js.map +1 -1
- package/dist/capabilities/public-api-compatibility/adapters/outbound/api-extractor/staged-public-api-input.d.ts +17 -0
- package/dist/capabilities/public-api-compatibility/adapters/outbound/api-extractor/staged-public-api-input.d.ts.map +1 -0
- package/dist/capabilities/public-api-compatibility/adapters/outbound/api-extractor/staged-public-api-input.js +214 -0
- package/dist/capabilities/public-api-compatibility/adapters/outbound/api-extractor/staged-public-api-input.js.map +1 -0
- package/dist/capabilities/public-api-compatibility/adapters/outbound/filesystem/filesystem-public-api-repository.d.ts +1 -2
- package/dist/capabilities/public-api-compatibility/adapters/outbound/filesystem/filesystem-public-api-repository.d.ts.map +1 -1
- package/dist/capabilities/public-api-compatibility/adapters/outbound/filesystem/filesystem-public-api-repository.js +94 -73
- package/dist/capabilities/public-api-compatibility/adapters/outbound/filesystem/filesystem-public-api-repository.js.map +1 -1
- package/dist/capabilities/public-api-compatibility/adapters/outbound/filesystem/public-api-baseline-mapper.d.ts +8 -0
- package/dist/capabilities/public-api-compatibility/adapters/outbound/filesystem/public-api-baseline-mapper.d.ts.map +1 -0
- package/dist/capabilities/public-api-compatibility/adapters/outbound/filesystem/public-api-baseline-mapper.js +132 -0
- package/dist/capabilities/public-api-compatibility/adapters/outbound/filesystem/public-api-baseline-mapper.js.map +1 -0
- package/dist/capabilities/public-api-compatibility/adapters/outbound/governance/governance-accepted-decision-evidence-acl.d.ts +15 -0
- package/dist/capabilities/public-api-compatibility/adapters/outbound/governance/governance-accepted-decision-evidence-acl.d.ts.map +1 -0
- package/dist/capabilities/public-api-compatibility/adapters/outbound/governance/governance-accepted-decision-evidence-acl.js +17 -0
- package/dist/capabilities/public-api-compatibility/adapters/outbound/governance/governance-accepted-decision-evidence-acl.js.map +1 -0
- package/dist/capabilities/public-api-compatibility/application/model/public-api.d.ts +106 -15
- package/dist/capabilities/public-api-compatibility/application/model/public-api.d.ts.map +1 -1
- package/dist/capabilities/public-api-compatibility/application/model/public-api.js +46 -0
- package/dist/capabilities/public-api-compatibility/application/model/public-api.js.map +1 -1
- package/dist/capabilities/public-api-compatibility/application/policies/accepted-breaking-change.d.ts +8 -0
- package/dist/capabilities/public-api-compatibility/application/policies/accepted-breaking-change.d.ts.map +1 -0
- package/dist/capabilities/public-api-compatibility/application/policies/accepted-breaking-change.js +11 -0
- package/dist/capabilities/public-api-compatibility/application/policies/accepted-breaking-change.js.map +1 -0
- package/dist/capabilities/public-api-compatibility/application/policies/evaluate-public-api-compatibility.d.ts.map +1 -1
- package/dist/capabilities/public-api-compatibility/application/policies/evaluate-public-api-compatibility.js +146 -23
- package/dist/capabilities/public-api-compatibility/application/policies/evaluate-public-api-compatibility.js.map +1 -1
- package/dist/capabilities/public-api-compatibility/application/policies/validate-package-export-coverage.d.ts +14 -0
- package/dist/capabilities/public-api-compatibility/application/policies/validate-package-export-coverage.d.ts.map +1 -0
- package/dist/capabilities/public-api-compatibility/application/policies/validate-package-export-coverage.js +210 -0
- package/dist/capabilities/public-api-compatibility/application/policies/validate-package-export-coverage.js.map +1 -0
- package/dist/capabilities/public-api-compatibility/application/ports/accepted-decision-evidence.d.ts +19 -0
- package/dist/capabilities/public-api-compatibility/application/ports/accepted-decision-evidence.d.ts.map +1 -0
- package/dist/capabilities/public-api-compatibility/application/ports/accepted-decision-evidence.js +2 -0
- package/dist/capabilities/public-api-compatibility/application/ports/accepted-decision-evidence.js.map +1 -0
- package/dist/capabilities/public-api-compatibility/application/ports/public-api-repository.d.ts +1 -2
- package/dist/capabilities/public-api-compatibility/application/ports/public-api-repository.d.ts.map +1 -1
- package/dist/capabilities/public-api-compatibility/application/use-cases/analyze-public-api-compatibility.d.ts +2 -0
- package/dist/capabilities/public-api-compatibility/application/use-cases/analyze-public-api-compatibility.d.ts.map +1 -1
- package/dist/capabilities/public-api-compatibility/application/use-cases/analyze-public-api-compatibility.js +16 -1
- package/dist/capabilities/public-api-compatibility/application/use-cases/analyze-public-api-compatibility.js.map +1 -1
- package/dist/capabilities/public-api-compatibility/application/use-cases/promote-public-api-baselines.d.ts +2 -0
- package/dist/capabilities/public-api-compatibility/application/use-cases/promote-public-api-baselines.d.ts.map +1 -1
- package/dist/capabilities/public-api-compatibility/application/use-cases/promote-public-api-baselines.js +61 -5
- package/dist/capabilities/public-api-compatibility/application/use-cases/promote-public-api-baselines.js.map +1 -1
- package/dist/capabilities/public-api-compatibility/contract/config.d.ts +1 -1
- package/dist/capabilities/public-api-compatibility/contract/config.d.ts.map +1 -1
- package/dist/capabilities/public-api-compatibility/contract/config.js +217 -13
- package/dist/capabilities/public-api-compatibility/contract/config.js.map +1 -1
- package/dist/capabilities/public-api-compatibility/module.d.ts.map +1 -1
- package/dist/capabilities/public-api-compatibility/module.js +5 -2
- package/dist/capabilities/public-api-compatibility/module.js.map +1 -1
- package/dist/capabilities/repository-agent-workflow/adapters/outbound/process/process-execution.d.ts.map +1 -1
- package/dist/capabilities/repository-agent-workflow/adapters/outbound/process/process-execution.js +11 -26
- package/dist/capabilities/repository-agent-workflow/adapters/outbound/process/process-execution.js.map +1 -1
- package/dist/capabilities/repository-agent-workflow/application/policies/evaluate-repository-agent-workflow.d.ts.map +1 -1
- package/dist/capabilities/repository-agent-workflow/application/policies/evaluate-repository-agent-workflow.js +2 -1
- package/dist/capabilities/repository-agent-workflow/application/policies/evaluate-repository-agent-workflow.js.map +1 -1
- package/dist/capabilities/repository-agent-workflow/changed-command.d.ts.map +1 -1
- package/dist/capabilities/repository-agent-workflow/changed-command.js +2 -0
- package/dist/capabilities/repository-agent-workflow/changed-command.js.map +1 -1
- package/dist/capabilities/repository-agent-workflow/contract/config.d.ts.map +1 -1
- package/dist/capabilities/repository-agent-workflow/contract/config.js +2 -1
- package/dist/capabilities/repository-agent-workflow/contract/config.js.map +1 -1
- package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/filesystem-repository-security-reader.d.ts.map +1 -1
- package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/filesystem-repository-security-reader.js +24 -190
- package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/filesystem-repository-security-reader.js.map +1 -1
- package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/publishable-package-evidence-reader.d.ts +3 -0
- package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/publishable-package-evidence-reader.d.ts.map +1 -0
- package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/publishable-package-evidence-reader.js +31 -0
- package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/publishable-package-evidence-reader.js.map +1 -0
- package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/repository-security-digests.d.ts +6 -0
- package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/repository-security-digests.d.ts.map +1 -0
- package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/repository-security-digests.js +31 -0
- package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/repository-security-digests.js.map +1 -0
- package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/repository-security-filesystem.d.ts +5 -0
- package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/repository-security-filesystem.d.ts.map +1 -0
- package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/repository-security-filesystem.js +73 -0
- package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/repository-security-filesystem.js.map +1 -0
- package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/repository-security-input.d.ts +3 -0
- package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/repository-security-input.d.ts.map +1 -0
- package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/repository-security-input.js +16 -0
- package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/repository-security-input.js.map +1 -0
- package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/security-tool-evidence-reader.d.ts +3 -0
- package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/security-tool-evidence-reader.d.ts.map +1 -0
- package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/security-tool-evidence-reader.js +98 -0
- package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/security-tool-evidence-reader.js.map +1 -0
- package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/workflow-evidence-parser.d.ts +6 -0
- package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/workflow-evidence-parser.d.ts.map +1 -0
- package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/workflow-evidence-parser.js +208 -0
- package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/workflow-evidence-parser.js.map +1 -0
- package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/workflow-evidence-reader.d.ts +10 -0
- package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/workflow-evidence-reader.d.ts.map +1 -0
- package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/workflow-evidence-reader.js +95 -0
- package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/workflow-evidence-reader.js.map +1 -0
- package/dist/capabilities/repository-security-baseline/application/model/repository-security.d.ts +88 -1
- package/dist/capabilities/repository-security-baseline/application/model/repository-security.d.ts.map +1 -1
- package/dist/capabilities/repository-security-baseline/application/model/repository-security.js +40 -1
- package/dist/capabilities/repository-security-baseline/application/model/repository-security.js.map +1 -1
- package/dist/capabilities/repository-security-baseline/application/policies/dependency-review-ordering.d.ts +5 -0
- package/dist/capabilities/repository-security-baseline/application/policies/dependency-review-ordering.d.ts.map +1 -0
- package/dist/capabilities/repository-security-baseline/application/policies/dependency-review-ordering.js +143 -0
- package/dist/capabilities/repository-security-baseline/application/policies/dependency-review-ordering.js.map +1 -0
- package/dist/capabilities/repository-security-baseline/application/policies/evaluate-repository-security-tools.d.ts +4 -0
- package/dist/capabilities/repository-security-baseline/application/policies/evaluate-repository-security-tools.d.ts.map +1 -0
- package/dist/capabilities/repository-security-baseline/application/policies/evaluate-repository-security-tools.js +136 -0
- package/dist/capabilities/repository-security-baseline/application/policies/evaluate-repository-security-tools.js.map +1 -0
- package/dist/capabilities/repository-security-baseline/application/policies/evaluate-repository-security.d.ts.map +1 -1
- package/dist/capabilities/repository-security-baseline/application/policies/evaluate-repository-security.js +65 -37
- package/dist/capabilities/repository-security-baseline/application/policies/evaluate-repository-security.js.map +1 -1
- package/dist/capabilities/repository-security-baseline/application/policies/evaluate-repository-workflow-uses.d.ts +4 -0
- package/dist/capabilities/repository-security-baseline/application/policies/evaluate-repository-workflow-uses.d.ts.map +1 -0
- package/dist/capabilities/repository-security-baseline/application/policies/evaluate-repository-workflow-uses.js +55 -0
- package/dist/capabilities/repository-security-baseline/application/policies/evaluate-repository-workflow-uses.js.map +1 -0
- package/dist/capabilities/repository-security-baseline/application/policies/repository-security-diagnostic.d.ts +14 -0
- package/dist/capabilities/repository-security-baseline/application/policies/repository-security-diagnostic.d.ts.map +1 -0
- package/dist/capabilities/repository-security-baseline/application/policies/repository-security-diagnostic.js +14 -0
- package/dist/capabilities/repository-security-baseline/application/policies/repository-security-diagnostic.js.map +1 -0
- package/dist/capabilities/repository-security-baseline/application/rules.d.ts +15 -0
- package/dist/capabilities/repository-security-baseline/application/rules.d.ts.map +1 -1
- package/dist/capabilities/repository-security-baseline/application/rules.js +16 -1
- package/dist/capabilities/repository-security-baseline/application/rules.js.map +1 -1
- package/dist/capabilities/repository-security-baseline/contract/config.d.ts.map +1 -1
- package/dist/capabilities/repository-security-baseline/contract/config.js +137 -4
- package/dist/capabilities/repository-security-baseline/contract/config.js.map +1 -1
- package/dist/capabilities/repository-security-baseline/module.d.ts.map +1 -1
- package/dist/capabilities/repository-security-baseline/module.js +7 -5
- package/dist/capabilities/repository-security-baseline/module.js.map +1 -1
- package/dist/capabilities/source-dependencies/adapters/outbound/node/node-source-dependency-resolver.d.ts.map +1 -1
- package/dist/capabilities/source-dependencies/adapters/outbound/node/node-source-dependency-resolver.js +15 -5
- package/dist/capabilities/source-dependencies/adapters/outbound/node/node-source-dependency-resolver.js.map +1 -1
- package/dist/capabilities/source-dependencies/adapters/outbound/oxc/oxc-source-dependency-parser.d.ts.map +1 -1
- package/dist/capabilities/source-dependencies/adapters/outbound/oxc/oxc-source-dependency-parser.js +4 -3
- package/dist/capabilities/source-dependencies/adapters/outbound/oxc/oxc-source-dependency-parser.js.map +1 -1
- package/dist/capabilities/source-dependencies/application/model/repository-path.d.ts +3 -0
- package/dist/capabilities/source-dependencies/application/model/repository-path.d.ts.map +1 -0
- package/dist/capabilities/source-dependencies/application/model/repository-path.js +33 -0
- package/dist/capabilities/source-dependencies/application/model/repository-path.js.map +1 -0
- package/dist/capabilities/source-dependencies/application/model/source-workspace.d.ts +88 -0
- package/dist/capabilities/source-dependencies/application/model/source-workspace.d.ts.map +1 -1
- package/dist/capabilities/source-dependencies/application/model/source-workspace.js.map +1 -1
- package/dist/capabilities/source-dependencies/application/policies/evaluate-resolved-source-dependency.d.ts +10 -0
- package/dist/capabilities/source-dependencies/application/policies/evaluate-resolved-source-dependency.d.ts.map +1 -0
- package/dist/capabilities/source-dependencies/application/policies/evaluate-resolved-source-dependency.js +262 -0
- package/dist/capabilities/source-dependencies/application/policies/evaluate-resolved-source-dependency.js.map +1 -0
- package/dist/capabilities/source-dependencies/application/policies/evaluate-source-dependencies.d.ts +2 -8
- package/dist/capabilities/source-dependencies/application/policies/evaluate-source-dependencies.d.ts.map +1 -1
- package/dist/capabilities/source-dependencies/application/policies/evaluate-source-dependencies.js +59 -196
- package/dist/capabilities/source-dependencies/application/policies/evaluate-source-dependencies.js.map +1 -1
- package/dist/capabilities/source-dependencies/application/policies/evaluate-source-dependency-cycles.d.ts +4 -0
- package/dist/capabilities/source-dependencies/application/policies/evaluate-source-dependency-cycles.d.ts.map +1 -0
- package/dist/capabilities/source-dependencies/application/policies/evaluate-source-dependency-cycles.js +315 -0
- package/dist/capabilities/source-dependencies/application/policies/evaluate-source-dependency-cycles.js.map +1 -0
- package/dist/capabilities/source-dependencies/application/rules.d.ts +7 -0
- package/dist/capabilities/source-dependencies/application/rules.d.ts.map +1 -1
- package/dist/capabilities/source-dependencies/application/rules.js +7 -0
- package/dist/capabilities/source-dependencies/application/rules.js.map +1 -1
- package/dist/capabilities/source-dependencies/application/use-cases/analyze-source-dependencies.d.ts.map +1 -1
- package/dist/capabilities/source-dependencies/application/use-cases/analyze-source-dependencies.js +52 -16
- package/dist/capabilities/source-dependencies/application/use-cases/analyze-source-dependencies.js.map +1 -1
- package/dist/capabilities/source-dependencies/application/use-cases/build-observed-source-graph.d.ts +17 -0
- package/dist/capabilities/source-dependencies/application/use-cases/build-observed-source-graph.d.ts.map +1 -0
- package/dist/capabilities/source-dependencies/application/use-cases/build-observed-source-graph.js +216 -0
- package/dist/capabilities/source-dependencies/application/use-cases/build-observed-source-graph.js.map +1 -0
- package/dist/capabilities/source-dependencies/contract/config.d.ts.map +1 -1
- package/dist/capabilities/source-dependencies/contract/config.js +47 -12
- package/dist/capabilities/source-dependencies/contract/config.js.map +1 -1
- package/dist/capabilities/source-dependencies/module.js +1 -1
- package/dist/capabilities/source-dependencies/module.js.map +1 -1
- package/dist/capabilities/suppression-governance/adapters/outbound/oxc/oxc-suppression-scanner.d.ts.map +1 -1
- package/dist/capabilities/suppression-governance/adapters/outbound/oxc/oxc-suppression-scanner.js +2 -1
- package/dist/capabilities/suppression-governance/adapters/outbound/oxc/oxc-suppression-scanner.js.map +1 -1
- package/dist/capability-runtime.d.ts.map +1 -1
- package/dist/capability-runtime.js +5 -4
- package/dist/capability-runtime.js.map +1 -1
- package/dist/cli-arguments.d.ts.map +1 -1
- package/dist/cli-arguments.js +1 -0
- package/dist/cli-arguments.js.map +1 -1
- package/dist/cli.js +22 -0
- package/dist/cli.js.map +1 -1
- package/dist/composition/capability-registry.d.ts.map +1 -1
- package/dist/composition/capability-registry.js +8 -0
- package/dist/composition/capability-registry.js.map +1 -1
- package/dist/composition/rule-registry.d.ts.map +1 -1
- package/dist/composition/rule-registry.js +8 -0
- package/dist/composition/rule-registry.js.map +1 -1
- package/dist/documentation-observation/adapters/outbound/filesystem/filesystem-markdown-document-reader.d.ts +11 -0
- package/dist/documentation-observation/adapters/outbound/filesystem/filesystem-markdown-document-reader.d.ts.map +1 -0
- package/dist/documentation-observation/adapters/outbound/filesystem/filesystem-markdown-document-reader.js +91 -0
- package/dist/documentation-observation/adapters/outbound/filesystem/filesystem-markdown-document-reader.js.map +1 -0
- package/dist/documentation-observation/adapters/outbound/filesystem/filesystem-markdown-filesystem.d.ts +14 -0
- package/dist/documentation-observation/adapters/outbound/filesystem/filesystem-markdown-filesystem.d.ts.map +1 -0
- package/dist/documentation-observation/adapters/outbound/filesystem/filesystem-markdown-filesystem.js +61 -0
- package/dist/documentation-observation/adapters/outbound/filesystem/filesystem-markdown-filesystem.js.map +1 -0
- package/dist/documentation-observation/adapters/outbound/filesystem/filesystem-markdown-paths.d.ts +8 -0
- package/dist/documentation-observation/adapters/outbound/filesystem/filesystem-markdown-paths.d.ts.map +1 -0
- package/dist/documentation-observation/adapters/outbound/filesystem/filesystem-markdown-paths.js +44 -0
- package/dist/documentation-observation/adapters/outbound/filesystem/filesystem-markdown-paths.js.map +1 -0
- package/dist/documentation-observation/adapters/outbound/filesystem/filesystem-markdown-reference-resolver.d.ts +6 -0
- package/dist/documentation-observation/adapters/outbound/filesystem/filesystem-markdown-reference-resolver.d.ts.map +1 -0
- package/dist/documentation-observation/adapters/outbound/filesystem/filesystem-markdown-reference-resolver.js +160 -0
- package/dist/documentation-observation/adapters/outbound/filesystem/filesystem-markdown-reference-resolver.js.map +1 -0
- package/dist/documentation-observation/adapters/outbound/filesystem/filesystem-markdown-repository.d.ts +8 -0
- package/dist/documentation-observation/adapters/outbound/filesystem/filesystem-markdown-repository.d.ts.map +1 -0
- package/dist/documentation-observation/adapters/outbound/filesystem/filesystem-markdown-repository.js +13 -0
- package/dist/documentation-observation/adapters/outbound/filesystem/filesystem-markdown-repository.js.map +1 -0
- package/dist/documentation-observation/adapters/outbound/filesystem/filesystem-markdown-tree-observer.d.ts +6 -0
- package/dist/documentation-observation/adapters/outbound/filesystem/filesystem-markdown-tree-observer.d.ts.map +1 -0
- package/dist/documentation-observation/adapters/outbound/filesystem/filesystem-markdown-tree-observer.js +233 -0
- package/dist/documentation-observation/adapters/outbound/filesystem/filesystem-markdown-tree-observer.js.map +1 -0
- package/dist/documentation-observation/adapters/outbound/filesystem/markdown-document-parser.d.ts +3 -0
- package/dist/documentation-observation/adapters/outbound/filesystem/markdown-document-parser.d.ts.map +1 -0
- package/dist/documentation-observation/adapters/outbound/filesystem/markdown-document-parser.js +260 -0
- package/dist/documentation-observation/adapters/outbound/filesystem/markdown-document-parser.js.map +1 -0
- package/dist/documentation-observation/adapters/outbound/filesystem/markdown-reference-target.d.ts +15 -0
- package/dist/documentation-observation/adapters/outbound/filesystem/markdown-reference-target.d.ts.map +1 -0
- package/dist/documentation-observation/adapters/outbound/filesystem/markdown-reference-target.js +59 -0
- package/dist/documentation-observation/adapters/outbound/filesystem/markdown-reference-target.js.map +1 -0
- package/dist/documentation-observation/application/model/markdown-document.d.ts +70 -0
- package/dist/documentation-observation/application/model/markdown-document.d.ts.map +1 -0
- package/dist/documentation-observation/application/model/markdown-document.js +10 -0
- package/dist/documentation-observation/application/model/markdown-document.js.map +1 -0
- package/dist/documentation-observation/application/ports/markdown-repository.d.ts +17 -0
- package/dist/documentation-observation/application/ports/markdown-repository.d.ts.map +1 -0
- package/dist/documentation-observation/application/ports/markdown-repository.js +2 -0
- package/dist/documentation-observation/application/ports/markdown-repository.js.map +1 -0
- package/dist/filesystem-path-safety.d.ts +38 -0
- package/dist/filesystem-path-safety.d.ts.map +1 -1
- package/dist/filesystem-path-safety.js +228 -2
- package/dist/filesystem-path-safety.js.map +1 -1
- package/dist/foundation-config.d.ts +1 -1
- package/dist/foundation-config.d.ts.map +1 -1
- package/dist/foundation-config.js +10 -1
- package/dist/foundation-config.js.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/local-mode/attach-transaction.d.ts.map +1 -1
- package/dist/local-mode/attach-transaction.js +34 -20
- package/dist/local-mode/attach-transaction.js.map +1 -1
- package/dist/local-mode/consumer-policy.d.ts +1 -8
- package/dist/local-mode/consumer-policy.d.ts.map +1 -1
- package/dist/local-mode/consumer-policy.js.map +1 -1
- package/dist/local-mode/index.d.ts +1 -2
- package/dist/local-mode/index.d.ts.map +1 -1
- package/dist/local-mode/index.js.map +1 -1
- package/dist/local-mode/process-runner.d.ts +1 -4
- package/dist/local-mode/process-runner.d.ts.map +1 -1
- package/dist/local-mode/process-runner.js +1 -19
- package/dist/local-mode/process-runner.js.map +1 -1
- package/dist/local-mode/types.d.ts +10 -12
- package/dist/local-mode/types.d.ts.map +1 -1
- package/dist/package-self-check.d.ts.map +1 -1
- package/dist/package-self-check.js +2 -1
- package/dist/package-self-check.js.map +1 -1
- package/dist/process-execution/node-process-runner.d.ts +10 -0
- package/dist/process-execution/node-process-runner.d.ts.map +1 -0
- package/dist/process-execution/node-process-runner.js +270 -0
- package/dist/process-execution/node-process-runner.js.map +1 -0
- package/dist/process-execution/types.d.ts +23 -0
- package/dist/process-execution/types.d.ts.map +1 -0
- package/dist/process-execution/types.js +2 -0
- package/dist/process-execution/types.js.map +1 -0
- package/dist/process-execution/windows-managed-process.d.ts +13 -0
- package/dist/process-execution/windows-managed-process.d.ts.map +1 -0
- package/dist/process-execution/windows-managed-process.js +389 -0
- package/dist/process-execution/windows-managed-process.js.map +1 -0
- package/dist/process-execution/windows-process-host.d.ts +2 -0
- package/dist/process-execution/windows-process-host.d.ts.map +1 -0
- package/dist/process-execution/windows-process-host.js +59 -0
- package/dist/process-execution/windows-process-host.js.map +1 -0
- package/dist/schema-ids.d.ts +1 -1
- package/dist/schema-ids.d.ts.map +1 -1
- package/dist/schema-ids.js +9 -0
- package/dist/schema-ids.js.map +1 -1
- package/dist/strict-yaml.d.ts +1 -1
- package/dist/strict-yaml.d.ts.map +1 -1
- package/dist/strict-yaml.js +33 -33
- package/dist/strict-yaml.js.map +1 -1
- package/dist/workspace-inventory/adapters/outbound/pnpm/pnpm-workspace-inventory-reader.d.ts.map +1 -1
- package/dist/workspace-inventory/adapters/outbound/pnpm/pnpm-workspace-inventory-reader.js +7 -6
- package/dist/workspace-inventory/adapters/outbound/pnpm/pnpm-workspace-inventory-reader.js.map +1 -1
- package/package.json +9 -1
- package/schemas/architecture-source-dependencies/v1.schema.json +6 -1
- package/schemas/contract-json-schema-release-baseline/v1.schema.json +65 -0
- package/schemas/contract-json-schema-releases/v1.schema.json +119 -0
- package/schemas/contract-protobuf-evolution/v1.schema.json +115 -0
- package/schemas/contract-protobuf-evolution-baseline/v1.schema.json +54 -0
- package/schemas/documentation-local-references/v1.schema.json +29 -0
- package/schemas/foundation-config/v1.schema.json +40 -0
- package/schemas/governance-architecture-decision-baseline/v1.schema.json +37 -0
- package/schemas/governance-architecture-decisions/v1.schema.json +63 -0
- package/schemas/package-public-api-baseline/v1.schema.json +1 -1
- package/schemas/package-public-api-baseline/v2.schema.json +62 -0
- package/schemas/package-public-api-compatibility/v1.schema.json +2 -0
- package/schemas/package-public-api-compatibility/v2.schema.json +113 -0
- package/schemas/repository-security-baseline/v1.schema.json +95 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evaluate-architecture-decision-index.js","sourceRoot":"","sources":["../../../../../src/capabilities/governance-architecture-decisions/application/policies/evaluate-architecture-decision-index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { FoundationDiagnostic } from "../../../../check-contract.js";
|
|
2
|
+
import type { ArchitectureDecision } from "../model/architecture-decision.js";
|
|
3
|
+
export declare function architectureDecisionLifecycleDiagnostics(decisions: readonly ArchitectureDecision[]): readonly FoundationDiagnostic[];
|
|
4
|
+
export declare function architectureDecisionCycleDiagnostics(decisions: readonly ArchitectureDecision[]): readonly FoundationDiagnostic[];
|
|
5
|
+
//# sourceMappingURL=evaluate-architecture-decision-lifecycle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evaluate-architecture-decision-lifecycle.d.ts","sourceRoot":"","sources":["../../../../../src/capabilities/governance-architecture-decisions/application/policies/evaluate-architecture-decision-lifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAuH9E,wBAAgB,wCAAwC,CACtD,SAAS,EAAE,SAAS,oBAAoB,EAAE,GACzC,SAAS,oBAAoB,EAAE,CA4BjC;AAED,wBAAgB,oCAAoC,CAClD,SAAS,EAAE,SAAS,oBAAoB,EAAE,GACzC,SAAS,oBAAoB,EAAE,CA4CjC"}
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
import { ARCHITECTURE_DECISION_GOVERNANCE_RULES } from "../rules.js";
|
|
2
|
+
import { architectureDecisionDiagnostic } from "./architecture-decision-diagnostic.js";
|
|
3
|
+
function statusDiagnostic(decision) {
|
|
4
|
+
const hasSuccessor = decision.supersededBy.length > 0;
|
|
5
|
+
const hasPredecessor = decision.supersedes.length > 0;
|
|
6
|
+
const invalid = (decision.status === "proposed" && (hasSuccessor || hasPredecessor)) ||
|
|
7
|
+
(decision.status === "accepted" && hasSuccessor) ||
|
|
8
|
+
(decision.status === "superseded" && !hasSuccessor);
|
|
9
|
+
return invalid
|
|
10
|
+
? architectureDecisionDiagnostic({
|
|
11
|
+
message: `ADR ${decision.id} has lifecycle references incompatible with status ${decision.status}.`,
|
|
12
|
+
path: decision.document.repositoryPath,
|
|
13
|
+
rule: ARCHITECTURE_DECISION_GOVERNANCE_RULES.lifecycleInvalid,
|
|
14
|
+
subject: decision.id
|
|
15
|
+
})
|
|
16
|
+
: undefined;
|
|
17
|
+
}
|
|
18
|
+
function supersedesDiagnostics(input) {
|
|
19
|
+
const { decision, target, targetId } = input;
|
|
20
|
+
if (target === undefined) {
|
|
21
|
+
return [
|
|
22
|
+
architectureDecisionDiagnostic({
|
|
23
|
+
evidence: [{ kind: "target-adr", value: targetId }],
|
|
24
|
+
message: `ADR ${decision.id} supersedes unknown ADR ${targetId}.`,
|
|
25
|
+
path: decision.document.repositoryPath,
|
|
26
|
+
rule: ARCHITECTURE_DECISION_GOVERNANCE_RULES.supersedesMismatch,
|
|
27
|
+
subject: decision.id
|
|
28
|
+
})
|
|
29
|
+
];
|
|
30
|
+
}
|
|
31
|
+
const diagnostics = [];
|
|
32
|
+
if (targetId === decision.id || !target.supersededBy.includes(decision.id)) {
|
|
33
|
+
diagnostics.push(architectureDecisionDiagnostic({
|
|
34
|
+
evidence: [{ kind: "target-adr", value: targetId }],
|
|
35
|
+
message: `ADR ${decision.id} supersedes ${targetId}, but the predecessor does not declare superseded_by ${decision.id}.`,
|
|
36
|
+
path: decision.document.repositoryPath,
|
|
37
|
+
relatedPath: target.document.repositoryPath,
|
|
38
|
+
rule: ARCHITECTURE_DECISION_GOVERNANCE_RULES.supersedesMismatch,
|
|
39
|
+
subject: decision.id
|
|
40
|
+
}));
|
|
41
|
+
}
|
|
42
|
+
if (!["accepted", "superseded"].includes(decision.status) ||
|
|
43
|
+
target.status !== "superseded") {
|
|
44
|
+
diagnostics.push(architectureDecisionDiagnostic({
|
|
45
|
+
evidence: [{ kind: "target-adr", value: targetId }],
|
|
46
|
+
message: `Supersession ${decision.id} -> ${targetId} requires an accepted successor and superseded predecessor.`,
|
|
47
|
+
path: decision.document.repositoryPath,
|
|
48
|
+
relatedPath: target.document.repositoryPath,
|
|
49
|
+
rule: ARCHITECTURE_DECISION_GOVERNANCE_RULES.lifecycleInvalid,
|
|
50
|
+
subject: decision.id
|
|
51
|
+
}));
|
|
52
|
+
}
|
|
53
|
+
return diagnostics;
|
|
54
|
+
}
|
|
55
|
+
function supersededByDiagnostics(input) {
|
|
56
|
+
const { decision, target, targetId } = input;
|
|
57
|
+
if (target === undefined) {
|
|
58
|
+
return [
|
|
59
|
+
architectureDecisionDiagnostic({
|
|
60
|
+
evidence: [{ kind: "target-adr", value: targetId }],
|
|
61
|
+
message: `ADR ${decision.id} is superseded by unknown ADR ${targetId}.`,
|
|
62
|
+
path: decision.document.repositoryPath,
|
|
63
|
+
rule: ARCHITECTURE_DECISION_GOVERNANCE_RULES.supersedesMismatch,
|
|
64
|
+
subject: decision.id
|
|
65
|
+
})
|
|
66
|
+
];
|
|
67
|
+
}
|
|
68
|
+
const diagnostics = [];
|
|
69
|
+
if (targetId === decision.id || !target.supersedes.includes(decision.id)) {
|
|
70
|
+
diagnostics.push(architectureDecisionDiagnostic({
|
|
71
|
+
evidence: [{ kind: "target-adr", value: targetId }],
|
|
72
|
+
message: `ADR ${decision.id} declares superseded_by ${targetId}, but the successor does not declare supersedes ${decision.id}.`,
|
|
73
|
+
path: decision.document.repositoryPath,
|
|
74
|
+
relatedPath: target.document.repositoryPath,
|
|
75
|
+
rule: ARCHITECTURE_DECISION_GOVERNANCE_RULES.supersedesMismatch,
|
|
76
|
+
subject: decision.id
|
|
77
|
+
}));
|
|
78
|
+
}
|
|
79
|
+
if (decision.status !== "superseded" ||
|
|
80
|
+
!["accepted", "superseded"].includes(target.status)) {
|
|
81
|
+
diagnostics.push(architectureDecisionDiagnostic({
|
|
82
|
+
evidence: [{ kind: "target-adr", value: targetId }],
|
|
83
|
+
message: `Superseded_by ${targetId} requires a superseded predecessor and accepted successor.`,
|
|
84
|
+
path: decision.document.repositoryPath,
|
|
85
|
+
relatedPath: target.document.repositoryPath,
|
|
86
|
+
rule: ARCHITECTURE_DECISION_GOVERNANCE_RULES.lifecycleInvalid,
|
|
87
|
+
subject: decision.id
|
|
88
|
+
}));
|
|
89
|
+
}
|
|
90
|
+
return diagnostics;
|
|
91
|
+
}
|
|
92
|
+
export function architectureDecisionLifecycleDiagnostics(decisions) {
|
|
93
|
+
const diagnostics = [];
|
|
94
|
+
const decisionsById = new Map(decisions.map((decision) => [decision.id, decision]));
|
|
95
|
+
for (const decision of decisions) {
|
|
96
|
+
const invalidStatus = statusDiagnostic(decision);
|
|
97
|
+
if (invalidStatus !== undefined) {
|
|
98
|
+
diagnostics.push(invalidStatus);
|
|
99
|
+
}
|
|
100
|
+
for (const targetId of decision.supersedes) {
|
|
101
|
+
diagnostics.push(...supersedesDiagnostics({
|
|
102
|
+
decision,
|
|
103
|
+
target: decisionsById.get(targetId),
|
|
104
|
+
targetId
|
|
105
|
+
}));
|
|
106
|
+
}
|
|
107
|
+
for (const targetId of decision.supersededBy) {
|
|
108
|
+
diagnostics.push(...supersededByDiagnostics({
|
|
109
|
+
decision,
|
|
110
|
+
target: decisionsById.get(targetId),
|
|
111
|
+
targetId
|
|
112
|
+
}));
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
return diagnostics;
|
|
116
|
+
}
|
|
117
|
+
export function architectureDecisionCycleDiagnostics(decisions) {
|
|
118
|
+
const byId = new Map(decisions.map((decision) => [decision.id, decision]));
|
|
119
|
+
const visited = new Set();
|
|
120
|
+
const active = new Set();
|
|
121
|
+
const stack = [];
|
|
122
|
+
const diagnostics = [];
|
|
123
|
+
function visitDecision(id) {
|
|
124
|
+
if (active.has(id)) {
|
|
125
|
+
const cycle = [...stack.slice(stack.indexOf(id)), id];
|
|
126
|
+
const decision = byId.get(id);
|
|
127
|
+
if (decision !== undefined) {
|
|
128
|
+
diagnostics.push(architectureDecisionDiagnostic({
|
|
129
|
+
evidence: [{ kind: "cycle", value: cycle.join(" -> ") }],
|
|
130
|
+
message: `ADR supersession cycle detected: ${cycle.join(" -> ")}.`,
|
|
131
|
+
path: decision.document.repositoryPath,
|
|
132
|
+
rule: ARCHITECTURE_DECISION_GOVERNANCE_RULES.supersedesCycle,
|
|
133
|
+
subject: id
|
|
134
|
+
}));
|
|
135
|
+
}
|
|
136
|
+
return;
|
|
137
|
+
}
|
|
138
|
+
if (visited.has(id)) {
|
|
139
|
+
return;
|
|
140
|
+
}
|
|
141
|
+
visited.add(id);
|
|
142
|
+
active.add(id);
|
|
143
|
+
stack.push(id);
|
|
144
|
+
const decision = byId.get(id);
|
|
145
|
+
for (const predecessor of decision?.supersedes ?? []) {
|
|
146
|
+
if (byId.has(predecessor)) {
|
|
147
|
+
visitDecision(predecessor);
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
stack.pop();
|
|
151
|
+
active.delete(id);
|
|
152
|
+
}
|
|
153
|
+
for (const id of [...byId.keys()].toSorted()) {
|
|
154
|
+
visitDecision(id);
|
|
155
|
+
}
|
|
156
|
+
return diagnostics;
|
|
157
|
+
}
|
|
158
|
+
//# sourceMappingURL=evaluate-architecture-decision-lifecycle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evaluate-architecture-decision-lifecycle.js","sourceRoot":"","sources":["../../../../../src/capabilities/governance-architecture-decisions/application/policies/evaluate-architecture-decision-lifecycle.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { FoundationDiagnostic } from "../../../../check-contract.js";
|
|
2
|
+
import type { MarkdownDocumentObservation, MarkdownRepositoryObservation } from "../../../../documentation-observation/application/model/markdown-document.js";
|
|
3
|
+
import { type ArchitectureDecision, type ArchitectureDecisionPolicy } from "../model/architecture-decision.js";
|
|
4
|
+
import type { ArchitectureDecisionBaselineReadResult } from "../ports/architecture-decision-baseline-repository.js";
|
|
5
|
+
import type { ArchitectureDecisionFingerprint } from "../ports/architecture-decision-fingerprint.js";
|
|
6
|
+
import { type ArchitectureDecisionIndexMembership } from "./evaluate-architecture-decision-index.js";
|
|
7
|
+
interface ParsedArchitectureDecisionCatalog {
|
|
8
|
+
readonly decisions: readonly ArchitectureDecision[];
|
|
9
|
+
readonly diagnostics: readonly FoundationDiagnostic[];
|
|
10
|
+
readonly index: MarkdownDocumentObservation | undefined;
|
|
11
|
+
}
|
|
12
|
+
interface CatalogEvaluationInput {
|
|
13
|
+
readonly catalog: ParsedArchitectureDecisionCatalog;
|
|
14
|
+
readonly memberships: readonly ArchitectureDecisionIndexMembership[];
|
|
15
|
+
readonly policy: ArchitectureDecisionPolicy;
|
|
16
|
+
}
|
|
17
|
+
export interface ArchitectureDecisionCatalogEvaluation {
|
|
18
|
+
readonly decisions: readonly ArchitectureDecision[];
|
|
19
|
+
readonly diagnostics: readonly FoundationDiagnostic[];
|
|
20
|
+
}
|
|
21
|
+
export declare function evaluateArchitectureDecisionBaselineDiagnostics(input: {
|
|
22
|
+
readonly baseline: ArchitectureDecisionBaselineReadResult;
|
|
23
|
+
readonly decisions: readonly ArchitectureDecision[];
|
|
24
|
+
readonly fingerprint: ArchitectureDecisionFingerprint;
|
|
25
|
+
readonly path: string;
|
|
26
|
+
}): readonly FoundationDiagnostic[];
|
|
27
|
+
export declare function parseArchitectureDecisionCatalog(observation: MarkdownRepositoryObservation, policy: ArchitectureDecisionPolicy): ParsedArchitectureDecisionCatalog;
|
|
28
|
+
export declare function evaluateArchitectureDecisionCatalog(input: CatalogEvaluationInput): ArchitectureDecisionCatalogEvaluation;
|
|
29
|
+
export {};
|
|
30
|
+
//# sourceMappingURL=evaluate-architecture-decisions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evaluate-architecture-decisions.d.ts","sourceRoot":"","sources":["../../../../../src/capabilities/governance-architecture-decisions/application/policies/evaluate-architecture-decisions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,KAAK,EACV,2BAA2B,EAC3B,6BAA6B,EAC9B,MAAM,8EAA8E,CAAC;AACtF,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,0BAA0B,EAChC,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAE,sCAAsC,EAAE,MAAM,uDAAuD,CAAC;AACpH,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,+CAA+C,CAAC;AAOrG,OAAO,EAEL,KAAK,mCAAmC,EACzC,MAAM,2CAA2C,CAAC;AAOnD,UAAU,iCAAiC;IACzC,QAAQ,CAAC,SAAS,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACpD,QAAQ,CAAC,WAAW,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACtD,QAAQ,CAAC,KAAK,EAAE,2BAA2B,GAAG,SAAS,CAAC;CACzD;AAED,UAAU,sBAAsB;IAC9B,QAAQ,CAAC,OAAO,EAAE,iCAAiC,CAAC;IACpD,QAAQ,CAAC,WAAW,EAAE,SAAS,mCAAmC,EAAE,CAAC;IACrE,QAAQ,CAAC,MAAM,EAAE,0BAA0B,CAAC;CAC7C;AAED,MAAM,WAAW,qCAAqC;IACpD,QAAQ,CAAC,SAAS,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACpD,QAAQ,CAAC,WAAW,EAAE,SAAS,oBAAoB,EAAE,CAAC;CACvD;AAyHD,wBAAgB,+CAA+C,CAAC,KAAK,EAAE;IACrE,QAAQ,CAAC,QAAQ,EAAE,sCAAsC,CAAC;IAC1D,QAAQ,CAAC,SAAS,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACpD,QAAQ,CAAC,WAAW,EAAE,+BAA+B,CAAC;IACtD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB,GAAG,SAAS,oBAAoB,EAAE,CAwClC;AAED,wBAAgB,gCAAgC,CAC9C,WAAW,EAAE,6BAA6B,EAC1C,MAAM,EAAE,0BAA0B,GACjC,iCAAiC,CAqBnC;AAED,wBAAgB,mCAAmC,CACjD,KAAK,EAAE,sBAAsB,GAC5B,qCAAqC,CAkBvC"}
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
import { compareBinaryStrings } from "../../../../binary-string-comparator.js";
|
|
2
|
+
import { immutableArchitectureDecisionPayload } from "../model/architecture-decision.js";
|
|
3
|
+
import { ARCHITECTURE_DECISION_GOVERNANCE_RULES } from "../rules.js";
|
|
4
|
+
import { parseAcceptedArchitectureDecisionBaseline } from "./accepted-architecture-decision-baseline.js";
|
|
5
|
+
import { architectureDecisionDiagnostic, architectureDecisionIssueDiagnostic } from "./architecture-decision-diagnostic.js";
|
|
6
|
+
import { evaluateArchitectureDecisionIndex } from "./evaluate-architecture-decision-index.js";
|
|
7
|
+
import { architectureDecisionCycleDiagnostics, architectureDecisionLifecycleDiagnostics } from "./evaluate-architecture-decision-lifecycle.js";
|
|
8
|
+
import { parseArchitectureDecisionDocument } from "./parse-architecture-decision-document.js";
|
|
9
|
+
function uniqueArchitectureDecisions(input) {
|
|
10
|
+
const decisionsById = new Map();
|
|
11
|
+
for (const decision of input.candidates) {
|
|
12
|
+
const group = decisionsById.get(decision.id) ?? [];
|
|
13
|
+
group.push(decision);
|
|
14
|
+
decisionsById.set(decision.id, group);
|
|
15
|
+
}
|
|
16
|
+
const decisions = [];
|
|
17
|
+
for (const [id, group] of [...decisionsById.entries()].toSorted(([left], [right]) => compareBinaryStrings(left, right))) {
|
|
18
|
+
if (group.length === 1) {
|
|
19
|
+
const decision = group[0];
|
|
20
|
+
if (decision !== undefined) {
|
|
21
|
+
decisions.push(decision);
|
|
22
|
+
}
|
|
23
|
+
continue;
|
|
24
|
+
}
|
|
25
|
+
for (const decision of group) {
|
|
26
|
+
input.diagnostics.push(architectureDecisionDiagnostic({
|
|
27
|
+
evidence: [{ kind: "duplicate-id", value: id }],
|
|
28
|
+
message: `ADR identifier ${id} is duplicated.`,
|
|
29
|
+
path: decision.document.repositoryPath,
|
|
30
|
+
rule: ARCHITECTURE_DECISION_GOVERNANCE_RULES.duplicateId,
|
|
31
|
+
subject: id
|
|
32
|
+
}));
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
return decisions;
|
|
36
|
+
}
|
|
37
|
+
function baselineAvailabilityDiagnostic(input) {
|
|
38
|
+
if (input.baseline.kind === "missing") {
|
|
39
|
+
return architectureDecisionDiagnostic({
|
|
40
|
+
message: "Configured accepted-decision baseline is missing.",
|
|
41
|
+
path: input.path,
|
|
42
|
+
rule: ARCHITECTURE_DECISION_GOVERNANCE_RULES.acceptedBaselineUnavailable,
|
|
43
|
+
subject: input.path
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
return architectureDecisionDiagnostic({
|
|
47
|
+
evidence: [{ kind: "baseline-error", value: input.baseline.message }],
|
|
48
|
+
message: "Configured accepted-decision baseline is unavailable or invalid.",
|
|
49
|
+
path: input.path,
|
|
50
|
+
rule: ARCHITECTURE_DECISION_GOVERNANCE_RULES.acceptedBaselineInvalid,
|
|
51
|
+
subject: input.path
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
function currentDecisionBaselineDiagnostics(input) {
|
|
55
|
+
const diagnostics = [];
|
|
56
|
+
for (const decision of input.decisions) {
|
|
57
|
+
if (decision.status === "proposed") {
|
|
58
|
+
continue;
|
|
59
|
+
}
|
|
60
|
+
const entry = input.baselineById.get(decision.id);
|
|
61
|
+
if (entry === undefined) {
|
|
62
|
+
diagnostics.push(architectureDecisionDiagnostic({
|
|
63
|
+
message: `Accepted ADR ${decision.id} is absent from the immutable baseline.`,
|
|
64
|
+
path: decision.document.repositoryPath,
|
|
65
|
+
rule: ARCHITECTURE_DECISION_GOVERNANCE_RULES.acceptedBaselineMissing,
|
|
66
|
+
subject: decision.id
|
|
67
|
+
}));
|
|
68
|
+
continue;
|
|
69
|
+
}
|
|
70
|
+
if (entry.path !== decision.document.repositoryPath) {
|
|
71
|
+
diagnostics.push(architectureDecisionDiagnostic({
|
|
72
|
+
evidence: [{ kind: "baseline-path", value: entry.path }],
|
|
73
|
+
message: `Accepted ADR ${decision.id} moved from ${entry.path}.`,
|
|
74
|
+
path: decision.document.repositoryPath,
|
|
75
|
+
relatedPath: entry.path,
|
|
76
|
+
rule: ARCHITECTURE_DECISION_GOVERNANCE_RULES.baselinePathMismatch,
|
|
77
|
+
subject: decision.id
|
|
78
|
+
}));
|
|
79
|
+
}
|
|
80
|
+
const actualDigest = input.fingerprint.digest(immutableArchitectureDecisionPayload(decision));
|
|
81
|
+
if (entry.immutableDigest !== actualDigest) {
|
|
82
|
+
diagnostics.push(architectureDecisionDiagnostic({
|
|
83
|
+
evidence: [
|
|
84
|
+
{ kind: "baseline-digest", value: entry.immutableDigest },
|
|
85
|
+
{ kind: "actual-digest", value: actualDigest }
|
|
86
|
+
],
|
|
87
|
+
message: `Accepted ADR ${decision.id} differs from its immutable baseline.`,
|
|
88
|
+
path: decision.document.repositoryPath,
|
|
89
|
+
rule: ARCHITECTURE_DECISION_GOVERNANCE_RULES.acceptedDecisionMutated,
|
|
90
|
+
subject: decision.id
|
|
91
|
+
}));
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
return diagnostics;
|
|
95
|
+
}
|
|
96
|
+
export function evaluateArchitectureDecisionBaselineDiagnostics(input) {
|
|
97
|
+
if (input.baseline.kind !== "valid") {
|
|
98
|
+
return [baselineAvailabilityDiagnostic({ baseline: input.baseline, path: input.path })];
|
|
99
|
+
}
|
|
100
|
+
const baseline = parseAcceptedArchitectureDecisionBaseline(input.baseline.value);
|
|
101
|
+
if (baseline === undefined) {
|
|
102
|
+
return [
|
|
103
|
+
architectureDecisionDiagnostic({
|
|
104
|
+
message: "Accepted-decision baseline does not match the required immutable baseline shape.",
|
|
105
|
+
path: input.path,
|
|
106
|
+
rule: ARCHITECTURE_DECISION_GOVERNANCE_RULES.acceptedBaselineInvalid,
|
|
107
|
+
subject: input.path
|
|
108
|
+
})
|
|
109
|
+
];
|
|
110
|
+
}
|
|
111
|
+
const currentById = new Map(input.decisions.map((decision) => [decision.id, decision]));
|
|
112
|
+
const diagnostics = [
|
|
113
|
+
...currentDecisionBaselineDiagnostics({
|
|
114
|
+
baselineById: new Map(baseline.decisions.map((entry) => [entry.id, entry])),
|
|
115
|
+
decisions: input.decisions,
|
|
116
|
+
fingerprint: input.fingerprint
|
|
117
|
+
})
|
|
118
|
+
];
|
|
119
|
+
for (const entry of baseline.decisions) {
|
|
120
|
+
const current = currentById.get(entry.id);
|
|
121
|
+
if (current === undefined || current.status === "proposed") {
|
|
122
|
+
diagnostics.push(architectureDecisionDiagnostic({
|
|
123
|
+
evidence: [{ kind: "baseline-id", value: entry.id }],
|
|
124
|
+
message: `Accepted-decision baseline entry ${entry.id} has no accepted or superseded ADR document.`,
|
|
125
|
+
path: input.path,
|
|
126
|
+
relatedPath: entry.path,
|
|
127
|
+
rule: ARCHITECTURE_DECISION_GOVERNANCE_RULES.acceptedDecisionMissing,
|
|
128
|
+
subject: entry.id
|
|
129
|
+
}));
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
return diagnostics;
|
|
133
|
+
}
|
|
134
|
+
export function parseArchitectureDecisionCatalog(observation, policy) {
|
|
135
|
+
const diagnostics = observation.issues.map(architectureDecisionIssueDiagnostic);
|
|
136
|
+
const documents = observation.documents.filter((document) => document.repositoryPath !== policy.index.path);
|
|
137
|
+
const parsed = documents.map(parseArchitectureDecisionDocument);
|
|
138
|
+
diagnostics.push(...parsed.flatMap((entry) => entry.diagnostics));
|
|
139
|
+
const candidates = parsed.flatMap((entry) => entry.decision === undefined ? [] : [entry.decision]);
|
|
140
|
+
const decisions = uniqueArchitectureDecisions({ candidates, diagnostics });
|
|
141
|
+
const index = observation.documents.find((document) => document.repositoryPath === policy.index.path);
|
|
142
|
+
return Object.freeze({
|
|
143
|
+
decisions: Object.freeze(decisions),
|
|
144
|
+
diagnostics: Object.freeze(diagnostics),
|
|
145
|
+
index
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
export function evaluateArchitectureDecisionCatalog(input) {
|
|
149
|
+
const diagnostics = [...input.catalog.diagnostics];
|
|
150
|
+
diagnostics.push(...evaluateArchitectureDecisionIndex({
|
|
151
|
+
decisions: input.catalog.decisions,
|
|
152
|
+
index: input.catalog.index,
|
|
153
|
+
memberships: input.memberships,
|
|
154
|
+
policy: input.policy,
|
|
155
|
+
}));
|
|
156
|
+
diagnostics.push(...architectureDecisionLifecycleDiagnostics(input.catalog.decisions));
|
|
157
|
+
diagnostics.push(...architectureDecisionCycleDiagnostics(input.catalog.decisions));
|
|
158
|
+
return Object.freeze({
|
|
159
|
+
decisions: input.catalog.decisions,
|
|
160
|
+
diagnostics: Object.freeze(diagnostics)
|
|
161
|
+
});
|
|
162
|
+
}
|
|
163
|
+
//# sourceMappingURL=evaluate-architecture-decisions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evaluate-architecture-decisions.js","sourceRoot":"","sources":["../../../../../src/capabilities/governance-architecture-decisions/application/policies/evaluate-architecture-decisions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { AcceptedArchitectureDecisionBaseline } from "../model/architecture-decision.js";
|
|
2
|
+
export declare function parseAcceptedArchitectureDecisionBaselineValue(value: unknown): AcceptedArchitectureDecisionBaseline | undefined;
|
|
3
|
+
//# sourceMappingURL=parse-accepted-architecture-decision-baseline.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse-accepted-architecture-decision-baseline.d.ts","sourceRoot":"","sources":["../../../../../src/capabilities/governance-architecture-decisions/application/policies/parse-accepted-architecture-decision-baseline.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,oCAAoC,EAErC,MAAM,mCAAmC,CAAC;AAqE3C,wBAAgB,8CAA8C,CAC5D,KAAK,EAAE,OAAO,GACb,oCAAoC,GAAG,SAAS,CAiClD"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { compareBinaryStrings } from "../../../../binary-string-comparator.js";
|
|
2
|
+
const ADR_ID = /^ADR-\d{4}$/u;
|
|
3
|
+
const IMMUTABLE_DIGEST = /^sha256:[a-f0-9]{64}$/u;
|
|
4
|
+
const MAX_REPOSITORY_MARKDOWN_PATH_LENGTH = 300;
|
|
5
|
+
const UNSAFE_PATH_CHARACTER = /[\\*?{}[\]]/u;
|
|
6
|
+
function record(value) {
|
|
7
|
+
return typeof value === "object" && value !== null && !Array.isArray(value)
|
|
8
|
+
? value
|
|
9
|
+
: undefined;
|
|
10
|
+
}
|
|
11
|
+
function hasOnlyKeys(value, expected) {
|
|
12
|
+
return Object.keys(value).every((key) => expected.includes(key));
|
|
13
|
+
}
|
|
14
|
+
function isRepositoryMarkdownPath(value) {
|
|
15
|
+
return (value.length > 0 &&
|
|
16
|
+
value.length <= MAX_REPOSITORY_MARKDOWN_PATH_LENGTH &&
|
|
17
|
+
value.endsWith(".md") &&
|
|
18
|
+
!value.startsWith("/") &&
|
|
19
|
+
!UNSAFE_PATH_CHARACTER.test(value) &&
|
|
20
|
+
value.split("/").every((segment) => segment.length > 0 && segment !== "." && segment !== ".."));
|
|
21
|
+
}
|
|
22
|
+
function parseEntry(input) {
|
|
23
|
+
const entry = record(input.candidate);
|
|
24
|
+
const id = entry?.["id"];
|
|
25
|
+
const path = entry?.["path"];
|
|
26
|
+
const immutableDigest = entry?.["immutableDigest"];
|
|
27
|
+
if (entry === undefined ||
|
|
28
|
+
typeof id !== "string" ||
|
|
29
|
+
!ADR_ID.test(id) ||
|
|
30
|
+
typeof path !== "string" ||
|
|
31
|
+
!isRepositoryMarkdownPath(path) ||
|
|
32
|
+
typeof immutableDigest !== "string" ||
|
|
33
|
+
!IMMUTABLE_DIGEST.test(immutableDigest) ||
|
|
34
|
+
!hasOnlyKeys(entry, ["id", "path", "immutableDigest"]) ||
|
|
35
|
+
input.ids.has(id) ||
|
|
36
|
+
input.paths.has(path)) {
|
|
37
|
+
return undefined;
|
|
38
|
+
}
|
|
39
|
+
return Object.freeze({ id, immutableDigest, path });
|
|
40
|
+
}
|
|
41
|
+
function entryComparison(left, right) {
|
|
42
|
+
return (compareBinaryStrings(left.id, right.id) ||
|
|
43
|
+
compareBinaryStrings(left.path, right.path));
|
|
44
|
+
}
|
|
45
|
+
export function parseAcceptedArchitectureDecisionBaselineValue(value) {
|
|
46
|
+
const baseline = record(value);
|
|
47
|
+
if (baseline?.["schemaVersion"] !== 1 ||
|
|
48
|
+
baseline["algorithm"] !== "sha256" ||
|
|
49
|
+
!Array.isArray(baseline["decisions"]) ||
|
|
50
|
+
!hasOnlyKeys(baseline, ["schemaVersion", "algorithm", "decisions"])) {
|
|
51
|
+
return undefined;
|
|
52
|
+
}
|
|
53
|
+
const ids = new Set();
|
|
54
|
+
const paths = new Set();
|
|
55
|
+
const decisions = [];
|
|
56
|
+
for (const candidate of baseline["decisions"]) {
|
|
57
|
+
const entry = parseEntry({ candidate, ids, paths });
|
|
58
|
+
if (entry === undefined) {
|
|
59
|
+
return undefined;
|
|
60
|
+
}
|
|
61
|
+
ids.add(entry.id);
|
|
62
|
+
paths.add(entry.path);
|
|
63
|
+
decisions.push(entry);
|
|
64
|
+
}
|
|
65
|
+
const sorted = decisions.toSorted(entryComparison);
|
|
66
|
+
if (decisions.some((entry, index) => entry !== sorted[index])) {
|
|
67
|
+
return undefined;
|
|
68
|
+
}
|
|
69
|
+
return Object.freeze({
|
|
70
|
+
algorithm: "sha256",
|
|
71
|
+
decisions: Object.freeze(decisions),
|
|
72
|
+
schemaVersion: 1
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=parse-accepted-architecture-decision-baseline.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse-accepted-architecture-decision-baseline.js","sourceRoot":"","sources":["../../../../../src/capabilities/governance-architecture-decisions/application/policies/parse-accepted-architecture-decision-baseline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAM/E,MAAM,MAAM,GAAG,cAAc,CAAC;AAC9B,MAAM,gBAAgB,GAAG,wBAAwB,CAAC;AAClD,MAAM,mCAAmC,GAAG,GAAG,CAAC;AAChD,MAAM,qBAAqB,GAAG,cAAc,CAAC;AAE7C,SAAS,MAAM,CAAC,KAAc;IAC5B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACzE,CAAC,CAAE,KAA2C;QAC9C,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED,SAAS,WAAW,CAClB,KAAwC,EACxC,QAA2B;IAE3B,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;AACnE,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAa;IAC7C,OAAO,CACL,KAAK,CAAC,MAAM,GAAG,CAAC;QAChB,KAAK,CAAC,MAAM,IAAI,mCAAmC;QACnD,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;QACrB,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;QACtB,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC;QAClC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CACpB,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,KAAK,GAAG,IAAI,OAAO,KAAK,IAAI,CACvE,CACF,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,KAInB;IACC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACtC,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC;IACzB,MAAM,IAAI,GAAG,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC;IAC7B,MAAM,eAAe,GAAG,KAAK,EAAE,CAAC,iBAAiB,CAAC,CAAC;IACnD,IACE,KAAK,KAAK,SAAS;QACnB,OAAO,EAAE,KAAK,QAAQ;QACtB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QAChB,OAAO,IAAI,KAAK,QAAQ;QACxB,CAAC,wBAAwB,CAAC,IAAI,CAAC;QAC/B,OAAO,eAAe,KAAK,QAAQ;QACnC,CAAC,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAC;QACvC,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,iBAAiB,CAAC,CAAC;QACtD,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QACjB,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EACrB,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,eAAe,CACtB,IAA+C,EAC/C,KAAgD;IAEhD,OAAO,CACL,oBAAoB,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC;QACvC,oBAAoB,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAC5C,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,8CAA8C,CAC5D,KAAc;IAEd,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC/B,IACE,QAAQ,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC;QACjC,QAAQ,CAAC,WAAW,CAAC,KAAK,QAAQ;QAClC,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACrC,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,eAAe,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC,EACnE,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9B,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,MAAM,SAAS,GAAgD,EAAE,CAAC;IAClE,KAAK,MAAM,SAAS,IAAI,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9C,MAAM,KAAK,GAAG,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;QACpD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAClB,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACtB,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC;IAED,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IACnD,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QAC9D,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,SAAS,EAAE,QAAQ;QACnB,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;QACnC,aAAa,EAAE,CAAC;KACjB,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { FoundationDiagnostic } from "../../../../check-contract.js";
|
|
2
|
+
import type { MarkdownDocumentObservation } from "../../../../documentation-observation/application/model/markdown-document.js";
|
|
3
|
+
import { type ArchitectureDecision } from "../model/architecture-decision.js";
|
|
4
|
+
interface ParsedArchitectureDecisionDocument {
|
|
5
|
+
readonly decision?: ArchitectureDecision;
|
|
6
|
+
readonly diagnostics: readonly FoundationDiagnostic[];
|
|
7
|
+
}
|
|
8
|
+
export declare function parseArchitectureDecisionDocument(document: MarkdownDocumentObservation): ParsedArchitectureDecisionDocument;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=parse-architecture-decision-document.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse-architecture-decision-document.d.ts","sourceRoot":"","sources":["../../../../../src/capabilities/governance-architecture-decisions/application/policies/parse-architecture-decision-document.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,8EAA8E,CAAC;AAChI,OAAO,EAEL,KAAK,oBAAoB,EAE1B,MAAM,mCAAmC,CAAC;AAI3C,UAAU,kCAAkC;IAC1C,QAAQ,CAAC,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IACzC,QAAQ,CAAC,WAAW,EAAE,SAAS,oBAAoB,EAAE,CAAC;CACvD;AAoMD,wBAAgB,iCAAiC,CAC/C,QAAQ,EAAE,2BAA2B,GACpC,kCAAkC,CA6BpC"}
|