kibi-cli 0.19.0 → 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/dist/cli-errors.d.ts +3 -1
- package/dist/cli-errors.d.ts.map +1 -1
- package/dist/cli-errors.js +4 -1
- package/dist/cli-json-command.d.ts +1 -0
- package/dist/cli-json-command.d.ts.map +1 -1
- package/dist/cli-json-command.js +13 -4
- package/dist/cli-operation-loader.d.ts.map +1 -1
- package/dist/cli-operation-loader.js +53 -20
- package/dist/cli-operation-metadata.d.ts +21 -8
- package/dist/cli-operation-metadata.d.ts.map +1 -1
- package/dist/cli-operation-metadata.js +27 -10
- package/dist/cli-protocol.d.ts.map +1 -1
- package/dist/cli-protocol.js +38 -8
- package/dist/cli-register-foundation.d.ts.map +1 -1
- package/dist/cli-register-foundation.js +14 -2
- package/dist/cli-register-maintenance.d.ts.map +1 -1
- package/dist/cli-register-maintenance.js +33 -4
- package/dist/cli-register-proof.d.ts +3 -0
- package/dist/cli-register-proof.d.ts.map +1 -0
- package/dist/cli-register-proof.js +103 -0
- package/dist/cli-register-reporting.d.ts.map +1 -1
- package/dist/cli-register-reporting.js +11 -0
- package/dist/cli.d.ts +4 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +17 -8
- package/dist/commands/aggregated-checks.d.ts +1 -2
- package/dist/commands/aggregated-checks.d.ts.map +1 -1
- package/dist/commands/aggregated-checks.js +14 -9
- package/dist/commands/branch.d.ts +37 -0
- package/dist/commands/branch.d.ts.map +1 -1
- package/dist/commands/branch.js +375 -40
- package/dist/commands/check.d.ts +14 -0
- package/dist/commands/check.d.ts.map +1 -1
- package/dist/commands/check.js +209 -110
- package/dist/commands/coverage.d.ts +1 -0
- package/dist/commands/coverage.d.ts.map +1 -1
- package/dist/commands/coverage.js +6 -0
- package/dist/commands/discovery-shared.d.ts.map +1 -1
- package/dist/commands/discovery-shared.js +10 -19
- package/dist/commands/doctor.d.ts +26 -1
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +291 -30
- package/dist/commands/engine.d.ts +12 -0
- package/dist/commands/engine.d.ts.map +1 -1
- package/dist/commands/engine.js +50 -7
- package/dist/commands/gc.d.ts +5 -2
- package/dist/commands/gc.d.ts.map +1 -1
- package/dist/commands/gc.js +140 -71
- package/dist/commands/github-init.d.ts +57 -0
- package/dist/commands/github-init.d.ts.map +1 -0
- package/dist/commands/github-init.js +314 -0
- package/dist/commands/init-helpers.d.ts +1 -1
- package/dist/commands/init-helpers.d.ts.map +1 -1
- package/dist/commands/init-helpers.js +109 -28
- package/dist/commands/init.d.ts +2 -0
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +79 -24
- package/dist/commands/legacy-storage-migration.d.ts +54 -0
- package/dist/commands/legacy-storage-migration.d.ts.map +1 -0
- package/dist/commands/legacy-storage-migration.js +277 -0
- package/dist/commands/migrate.d.ts +11 -0
- package/dist/commands/migrate.d.ts.map +1 -1
- package/dist/commands/migrate.js +249 -96
- package/dist/commands/proof-migrate-legacy.d.ts +7 -0
- package/dist/commands/proof-migrate-legacy.d.ts.map +1 -0
- package/dist/commands/proof-migrate-legacy.js +45 -0
- package/dist/commands/proof-prune.d.ts +8 -0
- package/dist/commands/proof-prune.d.ts.map +1 -0
- package/dist/commands/proof-prune.js +53 -0
- package/dist/commands/prove.d.ts +37 -0
- package/dist/commands/prove.d.ts.map +1 -0
- package/dist/commands/prove.js +470 -0
- package/dist/commands/report.d.ts +24 -0
- package/dist/commands/report.d.ts.map +1 -0
- package/dist/commands/report.js +191 -0
- package/dist/commands/sync/cache.d.ts +16 -3
- package/dist/commands/sync/cache.d.ts.map +1 -1
- package/dist/commands/sync/cache.js +111 -4
- package/dist/commands/sync/discovery.d.ts +26 -2
- package/dist/commands/sync/discovery.d.ts.map +1 -1
- package/dist/commands/sync/discovery.js +204 -15
- package/dist/commands/sync/extraction.d.ts +8 -1
- package/dist/commands/sync/extraction.d.ts.map +1 -1
- package/dist/commands/sync/extraction.js +38 -4
- package/dist/commands/sync/manifest.d.ts +9 -6
- package/dist/commands/sync/manifest.d.ts.map +1 -1
- package/dist/commands/sync/manifest.js +195 -60
- package/dist/commands/sync/persistence.d.ts +4 -1
- package/dist/commands/sync/persistence.d.ts.map +1 -1
- package/dist/commands/sync/persistence.js +26 -12
- package/dist/commands/sync/staging.d.ts +1 -0
- package/dist/commands/sync/staging.d.ts.map +1 -1
- package/dist/commands/sync/staging.js +5 -2
- package/dist/commands/sync/untracked-targets.d.ts +24 -0
- package/dist/commands/sync/untracked-targets.d.ts.map +1 -0
- package/dist/commands/sync/untracked-targets.js +108 -0
- package/dist/commands/sync.d.ts +17 -1
- package/dist/commands/sync.d.ts.map +1 -1
- package/dist/commands/sync.js +375 -106
- package/dist/diagnostics.d.ts +1 -1
- package/dist/diagnostics.d.ts.map +1 -1
- package/dist/engine-daemon.d.ts +3 -1
- package/dist/engine-daemon.d.ts.map +1 -1
- package/dist/engine-daemon.js +49 -20
- package/dist/engine.d.ts +34 -3
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js +578 -42
- package/dist/env.d.ts.map +1 -1
- package/dist/env.js +5 -6
- package/dist/extractors/manifest.d.ts +13 -1
- package/dist/extractors/manifest.d.ts.map +1 -1
- package/dist/extractors/manifest.js +97 -10
- package/dist/extractors/markdown.d.ts +5 -2
- package/dist/extractors/markdown.d.ts.map +1 -1
- package/dist/extractors/markdown.js +47 -12
- package/dist/extractors/playwright-cases.d.ts +24 -0
- package/dist/extractors/playwright-cases.d.ts.map +1 -0
- package/dist/extractors/playwright-cases.js +126 -0
- package/dist/extractors/relationships.d.ts +6 -0
- package/dist/extractors/relationships.d.ts.map +1 -1
- package/dist/extractors/relationships.js +2 -1
- package/dist/extractors/symbol-coordinates.d.ts +81 -3
- package/dist/extractors/symbol-coordinates.d.ts.map +1 -1
- package/dist/extractors/symbol-coordinates.js +389 -51
- package/dist/extractors/symbols-coordinator.js +11 -1
- package/dist/extractors/symbols-ts.d.ts +1 -0
- package/dist/extractors/symbols-ts.d.ts.map +1 -1
- package/dist/extractors/symbols-ts.js +142 -67
- package/dist/intent-search.d.ts +61 -0
- package/dist/intent-search.d.ts.map +1 -0
- package/dist/intent-search.js +437 -0
- package/dist/logic/ir.d.ts +1 -0
- package/dist/logic/ir.d.ts.map +1 -1
- package/dist/logic/ir.js +1 -1
- package/dist/operations/bootstrap/activation.d.ts +5 -0
- package/dist/operations/bootstrap/activation.d.ts.map +1 -0
- package/dist/operations/{autopilot → bootstrap}/activation.js +58 -33
- package/dist/operations/{autopilot → bootstrap}/candidate-helpers.d.ts.map +1 -1
- package/dist/operations/bootstrap/candidates.d.ts +4 -0
- package/dist/operations/{autopilot → bootstrap}/candidates.d.ts.map +1 -1
- package/dist/operations/{autopilot → bootstrap}/candidates.js +22 -8
- package/dist/operations/{autopilot → bootstrap}/discovery-evidence.d.ts +2 -2
- package/dist/operations/{autopilot → bootstrap}/discovery-evidence.d.ts.map +1 -1
- package/dist/operations/{autopilot → bootstrap}/discovery-evidence.js +46 -6
- package/dist/operations/{autopilot → bootstrap}/discovery.d.ts +1 -1
- package/dist/operations/bootstrap/discovery.d.ts.map +1 -0
- package/dist/operations/{autopilot → bootstrap}/discovery.js +21 -14
- package/dist/operations/bootstrap/generate.d.ts +9 -0
- package/dist/operations/bootstrap/generate.d.ts.map +1 -0
- package/dist/operations/bootstrap/generate.js +207 -0
- package/dist/operations/{autopilot → bootstrap}/guidance-actions.d.ts +2 -2
- package/dist/operations/{autopilot → bootstrap}/guidance-actions.d.ts.map +1 -1
- package/dist/operations/{autopilot → bootstrap}/guidance-actions.js +4 -4
- package/dist/operations/{autopilot → bootstrap}/guidance.d.ts +3 -2
- package/dist/operations/bootstrap/guidance.d.ts.map +1 -0
- package/dist/operations/{autopilot → bootstrap}/guidance.js +3 -1
- package/dist/operations/{autopilot → bootstrap}/markdown-candidates.d.ts +2 -2
- package/dist/operations/{autopilot → bootstrap}/markdown-candidates.d.ts.map +1 -1
- package/dist/operations/{autopilot → bootstrap}/markdown-candidates.js +4 -3
- package/dist/operations/bootstrap/presentation.d.ts +15 -0
- package/dist/operations/bootstrap/presentation.d.ts.map +1 -0
- package/dist/operations/bootstrap/presentation.js +177 -0
- package/dist/operations/{autopilot → bootstrap}/requirement-claims.d.ts.map +1 -1
- package/dist/operations/{autopilot → bootstrap}/types.d.ts +63 -21
- package/dist/operations/bootstrap/types.d.ts.map +1 -0
- package/dist/operations/bootstrap/types.js +25 -0
- package/dist/operations/modeling/model-requirement.d.ts +5 -0
- package/dist/operations/modeling/model-requirement.d.ts.map +1 -1
- package/dist/operations/modeling/model-requirement.js +57 -63
- package/dist/operations/modeling/predicate-applicability.d.ts +16 -0
- package/dist/operations/modeling/predicate-applicability.d.ts.map +1 -0
- package/dist/operations/modeling/predicate-applicability.js +375 -0
- package/dist/operations/modeling/predicate-applyplan.d.ts +13 -2
- package/dist/operations/modeling/predicate-applyplan.d.ts.map +1 -1
- package/dist/operations/modeling/predicate-applyplan.js +100 -3
- package/dist/operations/modeling/predicate-bindings.d.ts +6 -0
- package/dist/operations/modeling/predicate-bindings.d.ts.map +1 -0
- package/dist/operations/modeling/predicate-bindings.js +122 -0
- package/dist/operations/modeling/predicate-catalog-2.d.ts.map +1 -1
- package/dist/operations/modeling/predicate-catalog-2.js +18 -2
- package/dist/operations/modeling/predicate-catalog-3.d.ts.map +1 -1
- package/dist/operations/modeling/predicate-catalog-3.js +17 -1
- package/dist/operations/modeling/predicate-catalog-4.d.ts.map +1 -1
- package/dist/operations/modeling/predicate-catalog-4.js +155 -0
- package/dist/operations/modeling/predicate-catalog-5.d.ts +10 -0
- package/dist/operations/modeling/predicate-catalog-5.d.ts.map +1 -0
- package/dist/operations/modeling/predicate-catalog-5.js +291 -0
- package/dist/operations/modeling/predicate-catalog.d.ts.map +1 -1
- package/dist/operations/modeling/predicate-catalog.js +4 -0
- package/dist/operations/modeling/predicate-inference-1.d.ts.map +1 -1
- package/dist/operations/modeling/predicate-inference-1.js +8 -0
- package/dist/operations/modeling/predicate-inference-launcher.d.ts +10 -0
- package/dist/operations/modeling/predicate-inference-launcher.d.ts.map +1 -0
- package/dist/operations/modeling/predicate-inference-launcher.js +13 -0
- package/dist/operations/modeling/predicate-inference.d.ts.map +1 -1
- package/dist/operations/modeling/predicate-inference.js +4 -0
- package/dist/operations/modeling/predicate-loader.d.ts +1 -0
- package/dist/operations/modeling/predicate-loader.d.ts.map +1 -1
- package/dist/operations/modeling/predicate-loader.js +11 -3
- package/dist/operations/modeling/predicate-ranker.d.ts +8 -1
- package/dist/operations/modeling/predicate-ranker.d.ts.map +1 -1
- package/dist/operations/modeling/predicate-ranker.js +159 -24
- package/dist/operations/modeling/predicate-score-3.d.ts.map +1 -1
- package/dist/operations/modeling/predicate-score-3.js +6 -0
- package/dist/operations/modeling/predicate-types.d.ts +35 -1
- package/dist/operations/modeling/predicate-types.d.ts.map +1 -1
- package/dist/operations/modeling/predicate-usage-hints-3.d.ts.map +1 -1
- package/dist/operations/modeling/predicate-usage-hints-3.js +40 -0
- package/dist/operations/modeling/predicate-usage-hints-4.d.ts +3 -0
- package/dist/operations/modeling/predicate-usage-hints-4.d.ts.map +1 -0
- package/dist/operations/modeling/predicate-usage-hints-4.js +84 -0
- package/dist/operations/modeling/predicate-utils.d.ts.map +1 -1
- package/dist/operations/modeling/predicate-utils.js +2 -0
- package/dist/operations/modeling/suggest-predicates.d.ts +4 -2
- package/dist/operations/modeling/suggest-predicates.d.ts.map +1 -1
- package/dist/operations/modeling/suggest-predicates.js +203 -32
- package/dist/operations/mutation/contradictions.d.ts +2 -1
- package/dist/operations/mutation/contradictions.d.ts.map +1 -1
- package/dist/operations/mutation/contradictions.js +26 -5
- package/dist/operations/mutation/delete.d.ts +3 -0
- package/dist/operations/mutation/delete.d.ts.map +1 -1
- package/dist/operations/mutation/delete.js +483 -19
- package/dist/operations/mutation/entity-projection.d.ts +11 -0
- package/dist/operations/mutation/entity-projection.d.ts.map +1 -0
- package/dist/operations/mutation/entity-projection.js +14 -0
- package/dist/operations/mutation/relationships.d.ts +11 -0
- package/dist/operations/mutation/relationships.d.ts.map +1 -1
- package/dist/operations/mutation/relationships.js +77 -5
- package/dist/operations/mutation/saga.d.ts +51 -0
- package/dist/operations/mutation/saga.d.ts.map +1 -0
- package/dist/operations/mutation/saga.js +67 -0
- package/dist/operations/mutation/serialization.d.ts.map +1 -1
- package/dist/operations/mutation/serialization.js +3 -1
- package/dist/operations/mutation/source-authoring.d.ts +65 -0
- package/dist/operations/mutation/source-authoring.d.ts.map +1 -0
- package/dist/operations/mutation/source-authoring.js +576 -0
- package/dist/operations/mutation/strict-fact.d.ts +1 -0
- package/dist/operations/mutation/strict-fact.d.ts.map +1 -1
- package/dist/operations/mutation/strict-fact.js +8 -5
- package/dist/operations/mutation/symbol-compiler-lock.d.ts +54 -0
- package/dist/operations/mutation/symbol-compiler-lock.d.ts.map +1 -0
- package/dist/operations/mutation/symbol-compiler-lock.js +337 -0
- package/dist/operations/mutation/symbol-granularity.d.ts.map +1 -1
- package/dist/operations/mutation/symbol-granularity.js +35 -4
- package/dist/operations/mutation/symbol-refresh.d.ts +19 -1
- package/dist/operations/mutation/symbol-refresh.d.ts.map +1 -1
- package/dist/operations/mutation/symbol-refresh.js +227 -63
- package/dist/operations/mutation/types.d.ts +57 -1
- package/dist/operations/mutation/types.d.ts.map +1 -1
- package/dist/operations/mutation/upsert.d.ts +18 -2
- package/dist/operations/mutation/upsert.d.ts.map +1 -1
- package/dist/operations/mutation/upsert.js +403 -32
- package/dist/operations/mutation/validate-upsert.js +2 -2
- package/dist/operations/mutation/validation.d.ts.map +1 -1
- package/dist/operations/mutation/validation.js +47 -4
- package/dist/operations/mutation/warnings.d.ts +1 -0
- package/dist/operations/mutation/warnings.d.ts.map +1 -1
- package/dist/operations/mutation/warnings.js +7 -5
- package/dist/operations/mutation/workspace-mutation-lock.d.ts +60 -0
- package/dist/operations/mutation/workspace-mutation-lock.d.ts.map +1 -0
- package/dist/operations/mutation/workspace-mutation-lock.js +362 -0
- package/dist/operations/planning/apply-plan.d.ts +19 -0
- package/dist/operations/planning/apply-plan.d.ts.map +1 -0
- package/dist/operations/planning/apply-plan.js +1514 -0
- package/dist/operations/planning/compile-intent.d.ts +108 -0
- package/dist/operations/planning/compile-intent.d.ts.map +1 -0
- package/dist/operations/planning/compile-intent.js +618 -0
- package/dist/operations/proof/ingest-proof.d.ts +34 -0
- package/dist/operations/proof/ingest-proof.d.ts.map +1 -0
- package/dist/operations/proof/ingest-proof.js +307 -0
- package/dist/operations/proof/migrate-legacy-receipts.d.ts +30 -0
- package/dist/operations/proof/migrate-legacy-receipts.d.ts.map +1 -0
- package/dist/operations/proof/migrate-legacy-receipts.js +88 -0
- package/dist/operations/proof/prune-receipts.d.ts +35 -0
- package/dist/operations/proof/prune-receipts.d.ts.map +1 -0
- package/dist/operations/proof/prune-receipts.js +91 -0
- package/dist/operations/proof/receipt-document.d.ts +29 -0
- package/dist/operations/proof/receipt-document.d.ts.map +1 -0
- package/dist/operations/proof/receipt-document.js +117 -0
- package/dist/operations/semantic-advisor/analyze-prose.d.ts +1 -0
- package/dist/operations/semantic-advisor/analyze-prose.d.ts.map +1 -1
- package/dist/operations/semantic-advisor/analyze-prose.js +52 -28
- package/dist/operations/semantic-advisor/clauses.d.ts.map +1 -1
- package/dist/operations/semantic-advisor/clauses.js +35 -9
- package/dist/operations/semantic-advisor/ingestion-boundary.d.ts.map +1 -1
- package/dist/operations/semantic-advisor/ingestion-boundary.js +7 -3
- package/dist/operations/semantic-advisor/predicate-rules-launcher.d.ts +51 -0
- package/dist/operations/semantic-advisor/predicate-rules-launcher.d.ts.map +1 -0
- package/dist/operations/semantic-advisor/predicate-rules-launcher.js +96 -0
- package/dist/operations/semantic-advisor/strict-count-rules.d.ts +2 -0
- package/dist/operations/semantic-advisor/strict-count-rules.d.ts.map +1 -1
- package/dist/operations/semantic-advisor/strict-count-rules.js +40 -25
- package/dist/operations/semantic-advisor/types.d.ts +13 -5
- package/dist/operations/semantic-advisor/types.d.ts.map +1 -1
- package/dist/prolog/codec.d.ts +13 -1
- package/dist/prolog/codec.d.ts.map +1 -1
- package/dist/prolog/codec.js +269 -153
- package/dist/prolog/error-terms.d.ts +47 -0
- package/dist/prolog/error-terms.d.ts.map +1 -0
- package/dist/prolog/error-terms.js +334 -0
- package/dist/prolog/janitor.d.ts +50 -0
- package/dist/prolog/janitor.d.ts.map +1 -0
- package/dist/prolog/janitor.js +154 -0
- package/dist/prolog/store-lock.d.ts +45 -0
- package/dist/prolog/store-lock.d.ts.map +1 -0
- package/dist/prolog/store-lock.js +195 -0
- package/dist/prolog.d.ts +7 -0
- package/dist/prolog.d.ts.map +1 -1
- package/dist/prolog.js +82 -25
- package/dist/proof/evaluate.d.ts +27 -0
- package/dist/proof/evaluate.d.ts.map +1 -0
- package/dist/proof/evaluate.js +151 -0
- package/dist/proof/inspect.d.ts +12 -0
- package/dist/proof/inspect.d.ts.map +1 -0
- package/dist/proof/inspect.js +236 -0
- package/dist/proof/integrations.d.ts +35 -0
- package/dist/proof/integrations.d.ts.map +1 -0
- package/dist/proof/integrations.js +123 -0
- package/dist/proof/producers/junit-adapter.d.ts +26 -0
- package/dist/proof/producers/junit-adapter.d.ts.map +1 -0
- package/dist/proof/producers/junit-adapter.js +186 -0
- package/dist/proof/producers/playwright-case-id.d.ts +8 -0
- package/dist/proof/producers/playwright-case-id.d.ts.map +1 -0
- package/dist/proof/producers/playwright-case-id.js +25 -0
- package/dist/proof/producers/playwright-reporter.d.ts +27 -0
- package/dist/proof/producers/playwright-reporter.d.ts.map +1 -0
- package/dist/proof/producers/playwright-reporter.js +138 -0
- package/dist/proof/producers/tap-adapter.d.ts +10 -0
- package/dist/proof/producers/tap-adapter.d.ts.map +1 -0
- package/dist/proof/producers/tap-adapter.js +200 -0
- package/dist/proof/receipt-outcome.d.ts +2 -0
- package/dist/proof/receipt-outcome.d.ts.map +1 -0
- package/dist/proof/receipt-outcome.js +1 -0
- package/dist/public/branch-resolver.d.ts +1 -0
- package/dist/public/branch-resolver.d.ts.map +1 -1
- package/dist/public/branch-resolver.js +1 -0
- package/dist/public/check-types.d.ts +2 -2
- package/dist/public/check-types.d.ts.map +1 -1
- package/dist/public/check-types.js +16 -16
- package/dist/public/diagnostic-usage.d.ts.map +1 -1
- package/dist/public/diagnostic-usage.js +74 -6
- package/dist/public/distribution-parity.d.ts +7 -1
- package/dist/public/distribution-parity.d.ts.map +1 -1
- package/dist/public/distribution-parity.js +15 -9
- package/dist/public/ignore-policy.d.ts.map +1 -1
- package/dist/public/ignore-policy.js +16 -4
- package/dist/public/impact/coverage-depth-quality.d.ts +7 -1
- package/dist/public/impact/coverage-depth-quality.d.ts.map +1 -1
- package/dist/public/impact/coverage-depth-quality.js +22 -4
- package/dist/public/impact/diagnostics.d.ts.map +1 -1
- package/dist/public/impact/diagnostics.js +2 -2
- package/dist/public/impact/diff-meaning.d.ts +1 -0
- package/dist/public/impact/diff-meaning.d.ts.map +1 -1
- package/dist/public/impact/diff-meaning.js +5 -2
- package/dist/public/impact/full-kb-quality.d.ts +7 -2
- package/dist/public/impact/full-kb-quality.d.ts.map +1 -1
- package/dist/public/impact/full-kb-quality.js +364 -39
- package/dist/public/impact/manifest.d.ts.map +1 -1
- package/dist/public/impact/manifest.js +2 -5
- package/dist/public/operational-artifacts.d.ts.map +1 -1
- package/dist/public/operational-artifacts.js +7 -1
- package/dist/public/operations/catalog.d.ts +900 -34
- package/dist/public/operations/catalog.d.ts.map +1 -1
- package/dist/public/operations/catalog.js +130 -6
- package/dist/public/operations/check-executor.d.ts +2 -2
- package/dist/public/operations/check-executor.d.ts.map +1 -1
- package/dist/public/operations/check-executor.js +68 -13
- package/dist/public/operations/check-format-shared.d.ts +3 -0
- package/dist/public/operations/check-format-shared.d.ts.map +1 -1
- package/dist/public/operations/check-format-shared.js +3 -0
- package/dist/public/operations/check-helpers.d.ts +27 -2
- package/dist/public/operations/check-helpers.d.ts.map +1 -1
- package/dist/public/operations/check-helpers.js +62 -26
- package/dist/public/operations/contracts.d.ts +18 -0
- package/dist/public/operations/contracts.d.ts.map +1 -0
- package/dist/public/operations/contracts.js +334 -0
- package/dist/public/operations/discovery-entities.d.ts +3 -0
- package/dist/public/operations/discovery-entities.d.ts.map +1 -1
- package/dist/public/operations/discovery-entities.js +4 -0
- package/dist/public/operations/discovery-executors.d.ts +43 -7
- package/dist/public/operations/discovery-executors.d.ts.map +1 -1
- package/dist/public/operations/discovery-executors.js +216 -13
- package/dist/public/operations/index.d.ts +9 -4
- package/dist/public/operations/index.d.ts.map +1 -1
- package/dist/public/operations/index.js +8 -3
- package/dist/public/operations/migration-plan.d.ts +102 -0
- package/dist/public/operations/migration-plan.d.ts.map +1 -0
- package/dist/public/operations/migration-plan.js +539 -0
- package/dist/public/operations/node-ports.d.ts.map +1 -1
- package/dist/public/operations/node-ports.js +71 -11
- package/dist/public/operations/prolog-json.d.ts +14 -0
- package/dist/public/operations/prolog-json.d.ts.map +1 -1
- package/dist/public/operations/prolog-json.js +44 -5
- package/dist/public/operations/repair-plan.d.ts +3 -3
- package/dist/public/operations/repair-plan.d.ts.map +1 -1
- package/dist/public/operations/repair-plan.js +49 -18
- package/dist/public/operations/result-envelope.d.ts +14 -0
- package/dist/public/operations/result-envelope.d.ts.map +1 -0
- package/dist/public/operations/result-envelope.js +106 -0
- package/dist/public/operations/runtime-types.d.ts +102 -7
- package/dist/public/operations/runtime-types.d.ts.map +1 -1
- package/dist/public/operations/source-relationship-parity.d.ts +13 -0
- package/dist/public/operations/source-relationship-parity.d.ts.map +1 -0
- package/dist/public/operations/source-relationship-parity.js +162 -0
- package/dist/public/operations/specs/{autopilot.d.ts → bootstrap.d.ts} +9 -9
- package/dist/public/operations/specs/bootstrap.d.ts.map +1 -0
- package/dist/public/operations/specs/{autopilot.js → bootstrap.js} +8 -7
- package/dist/public/operations/specs/check-rules.generated.d.ts +5 -0
- package/dist/public/operations/specs/check-rules.generated.d.ts.map +1 -0
- package/dist/public/operations/specs/check-rules.generated.js +34 -0
- package/dist/public/operations/specs/check.d.ts +9 -4
- package/dist/public/operations/specs/check.d.ts.map +1 -1
- package/dist/public/operations/specs/check.js +10 -21
- package/dist/public/operations/specs/discovery.d.ts +87 -3
- package/dist/public/operations/specs/discovery.d.ts.map +1 -1
- package/dist/public/operations/specs/discovery.js +53 -3
- package/dist/public/operations/specs/modeling.d.ts +3 -3
- package/dist/public/operations/specs/modeling.js +3 -3
- package/dist/public/operations/specs/mutation-schemas.d.ts +251 -14
- package/dist/public/operations/specs/mutation-schemas.d.ts.map +1 -1
- package/dist/public/operations/specs/mutation-schemas.js +16 -6
- package/dist/public/operations/specs/mutation.d.ts +42 -2
- package/dist/public/operations/specs/mutation.d.ts.map +1 -1
- package/dist/public/operations/specs/mutation.js +26 -2
- package/dist/public/operations/specs/planning.d.ts +279 -0
- package/dist/public/operations/specs/planning.d.ts.map +1 -0
- package/dist/public/operations/specs/planning.js +197 -0
- package/dist/public/operations/specs/proof.d.ts +212 -0
- package/dist/public/operations/specs/proof.d.ts.map +1 -0
- package/dist/public/operations/specs/proof.js +30 -0
- package/dist/public/operations/specs/reporting.d.ts +23 -1
- package/dist/public/operations/specs/reporting.d.ts.map +1 -1
- package/dist/public/operations/specs/reporting.js +156 -11
- package/dist/public/operations/specs/upsert.d.ts +265 -14
- package/dist/public/operations/specs/upsert.d.ts.map +1 -1
- package/dist/public/operations/specs/upsert.js +9 -0
- package/dist/public/operations/symbol-repair-plan.d.ts +22 -0
- package/dist/public/operations/symbol-repair-plan.d.ts.map +1 -0
- package/dist/public/operations/symbol-repair-plan.js +238 -0
- package/dist/public/operations/types.d.ts +52 -1
- package/dist/public/operations/types.d.ts.map +1 -1
- package/dist/public/proof-fingerprint.d.ts +54 -0
- package/dist/public/proof-fingerprint.d.ts.map +1 -0
- package/dist/public/proof-fingerprint.js +141 -0
- package/dist/public/proof-protocol.d.ts +354 -0
- package/dist/public/proof-protocol.d.ts.map +1 -0
- package/dist/public/proof-protocol.js +454 -0
- package/dist/public/proof-receipt.d.ts +279 -0
- package/dist/public/proof-receipt.d.ts.map +1 -0
- package/dist/public/proof-receipt.js +377 -0
- package/dist/public/schemas/entity.d.ts.map +1 -1
- package/dist/public/schemas/entity.js +22 -6
- package/dist/public/skills/kibi-bootstrap/SKILL.md +58 -0
- package/dist/public/skills/kibi-bootstrap/resources/bootstrap.md +11 -0
- package/dist/public/skills/kibi-bootstrap/resources/branch-lifecycle.md +7 -0
- package/dist/public/skills/kibi-bootstrap/resources/operation-access.md +5 -0
- package/dist/public/skills/kibi-bootstrap/resources/source-authoring.md +8 -0
- package/dist/public/skills/kibi-freshness/SKILL.md +39 -9
- package/dist/public/skills/kibi-freshness/resources/branch-lifecycle.md +7 -0
- package/dist/public/skills/kibi-freshness/resources/operation-access.md +6 -0
- package/dist/public/skills/kibi-freshness/resources/source-authoring.md +7 -0
- package/dist/public/skills/kibi-traceability/SKILL.md +47 -47
- package/dist/public/skills/kibi-traceability/resources/branch-lifecycle.md +7 -0
- package/dist/public/skills/kibi-traceability/resources/operation-access.md +5 -0
- package/dist/public/skills/kibi-traceability/resources/source-authoring.md +6 -0
- package/dist/public/skills/kibi-traceability/resources/traceability.md +8 -0
- package/dist/public/skills/kibi-usage/SKILL.md +136 -231
- package/dist/public/skills/kibi-usage/resources/branch-lifecycle.md +31 -0
- package/dist/public/skills/kibi-usage/resources/kb-improvement.md +38 -0
- package/dist/public/skills/kibi-usage/resources/operation-access.md +36 -38
- package/dist/public/skills/kibi-usage/resources/proof.md +105 -0
- package/dist/public/skills/kibi-usage/resources/relationship-directions.md +3 -3
- package/dist/public/skills/kibi-usage/resources/source-authoring.md +31 -0
- package/dist/public/skills/kibi-usage/resources/workflows.md +57 -4
- package/dist/public/symbol-granularity.d.ts +3 -14
- package/dist/public/symbol-granularity.d.ts.map +1 -1
- package/dist/public/symbol-granularity.generated.d.ts +16 -0
- package/dist/public/symbol-granularity.generated.d.ts.map +1 -0
- package/dist/public/symbol-granularity.generated.js +20 -0
- package/dist/public/symbol-granularity.js +6 -46
- package/dist/public/telemetry-acceptance.d.ts +3 -70
- package/dist/public/telemetry-acceptance.d.ts.map +1 -1
- package/dist/public/telemetry-acceptance.js +11 -2
- package/dist/public/telemetry-remediation.js +1 -1
- package/dist/relationships/shards.d.ts +16 -0
- package/dist/relationships/shards.d.ts.map +1 -1
- package/dist/relationships/shards.js +87 -2
- package/dist/report/brand.d.ts +19 -0
- package/dist/report/brand.d.ts.map +1 -0
- package/dist/report/brand.js +112 -0
- package/dist/report/html-report.css +282 -0
- package/dist/report/html-report.d.ts +21 -0
- package/dist/report/html-report.d.ts.map +1 -0
- package/dist/report/html-report.js +700 -0
- package/dist/report/relative-time.d.ts +4 -0
- package/dist/report/relative-time.d.ts.map +1 -0
- package/dist/report/relative-time.js +46 -0
- package/dist/report/report-view.d.ts +17 -0
- package/dist/report/report-view.d.ts.map +1 -0
- package/dist/report/report-view.js +33 -0
- package/dist/report/repository.d.ts +35 -0
- package/dist/report/repository.d.ts.map +1 -0
- package/dist/report/repository.js +151 -0
- package/dist/runtime/cli-runtime.d.ts +2 -0
- package/dist/runtime/cli-runtime.d.ts.map +1 -1
- package/dist/runtime/cli-runtime.js +90 -23
- package/dist/schemas/entity.schema.json +1254 -239
- package/dist/search-ranking.d.ts +1 -0
- package/dist/search-ranking.d.ts.map +1 -1
- package/dist/search-ranking.js +3 -0
- package/dist/traceability/evidence-model.d.ts +30 -2
- package/dist/traceability/evidence-model.d.ts.map +1 -1
- package/dist/traceability/evidence-model.js +2 -2
- package/dist/traceability/git-staged.d.ts +20 -0
- package/dist/traceability/git-staged.d.ts.map +1 -1
- package/dist/traceability/git-staged.js +156 -37
- package/dist/traceability/markdown-validate.d.ts.map +1 -1
- package/dist/traceability/markdown-validate.js +12 -7
- package/dist/traceability/staged-diagnostics.d.ts +7 -0
- package/dist/traceability/staged-diagnostics.d.ts.map +1 -1
- package/dist/traceability/staged-diagnostics.js +78 -7
- package/dist/traceability/staged-file-coverage.d.ts +33 -0
- package/dist/traceability/staged-file-coverage.d.ts.map +1 -0
- package/dist/traceability/staged-file-coverage.js +284 -0
- package/dist/traceability/staged-impact-contract.d.ts +3 -3
- package/dist/traceability/staged-impact-contract.d.ts.map +1 -1
- package/dist/traceability/staged-impact-contract.js +12 -40
- package/dist/traceability/staged-symbols-manifest.d.ts +13 -0
- package/dist/traceability/staged-symbols-manifest.d.ts.map +1 -1
- package/dist/traceability/staged-symbols-manifest.js +142 -26
- package/dist/traceability/symbol-extract.d.ts +5 -0
- package/dist/traceability/symbol-extract.d.ts.map +1 -1
- package/dist/traceability/symbol-extract.js +1 -1
- package/dist/traceability/temp-kb.d.ts +2 -0
- package/dist/traceability/temp-kb.d.ts.map +1 -1
- package/dist/traceability/temp-kb.js +14 -2
- package/dist/types/entities.d.ts +5 -0
- package/dist/types/entities.d.ts.map +1 -1
- package/dist/utils/branch-resolver.d.ts +25 -10
- package/dist/utils/branch-resolver.d.ts.map +1 -1
- package/dist/utils/branch-resolver.js +124 -38
- package/dist/utils/branch-store-locator.d.ts +23 -0
- package/dist/utils/branch-store-locator.d.ts.map +1 -0
- package/dist/utils/branch-store-locator.js +90 -0
- package/dist/utils/branch-store.d.ts +21 -0
- package/dist/utils/branch-store.d.ts.map +1 -0
- package/dist/utils/branch-store.js +157 -0
- package/dist/utils/config.d.ts +39 -37
- package/dist/utils/config.d.ts.map +1 -1
- package/dist/utils/config.js +107 -119
- package/dist/utils/kb-manifest.d.ts +35 -0
- package/dist/utils/kb-manifest.d.ts.map +1 -0
- package/dist/utils/kb-manifest.js +154 -0
- package/dist/utils/kb-paths.d.ts +54 -0
- package/dist/utils/kb-paths.d.ts.map +1 -0
- package/dist/utils/kb-paths.js +125 -0
- package/dist/utils/manifest-paths.d.ts +4 -4
- package/dist/utils/manifest-paths.d.ts.map +1 -1
- package/dist/utils/manifest-paths.js +8 -56
- package/dist/utils/rule-registry.d.ts +42 -24
- package/dist/utils/rule-registry.d.ts.map +1 -1
- package/dist/utils/rule-registry.generated.d.ts +97 -0
- package/dist/utils/rule-registry.generated.d.ts.map +1 -0
- package/dist/utils/rule-registry.generated.js +125 -0
- package/dist/utils/rule-registry.js +52 -148
- package/dist/utils/schema-version.d.ts +5 -5
- package/dist/utils/schema-version.d.ts.map +1 -1
- package/dist/utils/schema-version.js +26 -6
- package/dist/utils/strict-modeling.d.ts +1 -4
- package/dist/utils/strict-modeling.d.ts.map +1 -1
- package/dist/utils/strict-modeling.js +8 -9
- package/package.json +47 -11
- package/schema/config.json +2 -2
- package/schema/manifest.json +26 -0
- package/src/public/branch-resolver.ts +1 -0
- package/src/public/check-types.ts +22 -19
- package/src/public/diagnostic-usage.ts +84 -6
- package/src/public/distribution-parity.ts +17 -9
- package/src/public/ignore-policy.ts +16 -10
- package/src/public/impact/coverage-depth-quality.ts +37 -1
- package/src/public/impact/diagnostics.ts +2 -1
- package/src/public/impact/diff-meaning.ts +11 -4
- package/src/public/impact/full-kb-quality.ts +545 -41
- package/src/public/impact/manifest.ts +2 -4
- package/src/public/operational-artifacts.ts +9 -1
- package/src/public/operations/catalog.ts +153 -10
- package/src/public/operations/check-executor.ts +98 -15
- package/src/public/operations/check-format-shared.ts +6 -0
- package/src/public/operations/check-helpers.ts +74 -35
- package/src/public/operations/contracts.ts +382 -0
- package/src/public/operations/discovery-entities.ts +7 -0
- package/src/public/operations/discovery-executors.ts +315 -25
- package/src/public/operations/index.ts +9 -4
- package/src/public/operations/migration-plan.ts +747 -0
- package/src/public/operations/node-ports.ts +87 -13
- package/src/public/operations/prolog-json.ts +60 -5
- package/src/public/operations/repair-plan.ts +60 -22
- package/src/public/operations/result-envelope.ts +141 -0
- package/src/public/operations/runtime-types.ts +96 -5
- package/src/public/operations/source-relationship-parity.ts +226 -0
- package/src/public/operations/specs/{autopilot.ts → bootstrap.ts} +17 -16
- package/src/public/operations/specs/check-rules.generated.ts +37 -0
- package/src/public/operations/specs/check.ts +14 -22
- package/src/public/operations/specs/discovery.ts +57 -3
- package/src/public/operations/specs/modeling.ts +3 -3
- package/src/public/operations/specs/mutation-schemas.ts +24 -6
- package/src/public/operations/specs/mutation.ts +27 -2
- package/src/public/operations/specs/planning.ts +241 -0
- package/src/public/operations/specs/proof.ts +43 -0
- package/src/public/operations/specs/reporting.ts +193 -12
- package/src/public/operations/specs/upsert.ts +10 -0
- package/src/public/operations/symbol-repair-plan.ts +324 -0
- package/src/public/operations/types.ts +62 -1
- package/src/public/proof-fingerprint.ts +216 -0
- package/src/public/proof-protocol-types.d.ts +96 -0
- package/src/public/proof-protocol.ts +589 -0
- package/src/public/proof-receipt.ts +499 -0
- package/src/public/schemas/entity.ts +27 -6
- package/src/public/skills/kibi-bootstrap/SKILL.md +58 -0
- package/src/public/skills/kibi-bootstrap/resources/bootstrap.md +11 -0
- package/src/public/skills/kibi-bootstrap/resources/branch-lifecycle.md +7 -0
- package/src/public/skills/kibi-bootstrap/resources/operation-access.md +5 -0
- package/src/public/skills/kibi-bootstrap/resources/source-authoring.md +8 -0
- package/src/public/skills/kibi-freshness/SKILL.md +39 -9
- package/src/public/skills/kibi-freshness/resources/branch-lifecycle.md +7 -0
- package/src/public/skills/kibi-freshness/resources/operation-access.md +6 -0
- package/src/public/skills/kibi-freshness/resources/source-authoring.md +7 -0
- package/src/public/skills/kibi-traceability/SKILL.md +47 -47
- package/src/public/skills/kibi-traceability/resources/branch-lifecycle.md +7 -0
- package/src/public/skills/kibi-traceability/resources/operation-access.md +5 -0
- package/src/public/skills/kibi-traceability/resources/source-authoring.md +6 -0
- package/src/public/skills/kibi-traceability/resources/traceability.md +8 -0
- package/src/public/skills/kibi-usage/SKILL.md +136 -231
- package/src/public/skills/kibi-usage/resources/branch-lifecycle.md +31 -0
- package/src/public/skills/kibi-usage/resources/kb-improvement.md +38 -0
- package/src/public/skills/kibi-usage/resources/operation-access.md +36 -38
- package/src/public/skills/kibi-usage/resources/proof.md +105 -0
- package/src/public/skills/kibi-usage/resources/relationship-directions.md +3 -3
- package/src/public/skills/kibi-usage/resources/source-authoring.md +31 -0
- package/src/public/skills/kibi-usage/resources/workflows.md +57 -4
- package/src/public/symbol-granularity.generated.ts +41 -0
- package/src/public/symbol-granularity.ts +35 -59
- package/src/public/telemetry-acceptance-types.d.ts +98 -0
- package/src/public/telemetry-acceptance.ts +30 -93
- package/src/public/telemetry-remediation.ts +1 -1
- package/src/schemas/entity.schema.json +1254 -239
- package/templates/github/kibi-badge.yml +86 -0
- package/templates/github/kibi-report.yml +84 -0
- package/dist/operations/autopilot/activation.d.ts +0 -4
- package/dist/operations/autopilot/activation.d.ts.map +0 -1
- package/dist/operations/autopilot/candidates.d.ts +0 -4
- package/dist/operations/autopilot/discovery.d.ts.map +0 -1
- package/dist/operations/autopilot/generate.d.ts +0 -8
- package/dist/operations/autopilot/generate.d.ts.map +0 -1
- package/dist/operations/autopilot/generate.js +0 -112
- package/dist/operations/autopilot/guidance.d.ts.map +0 -1
- package/dist/operations/autopilot/presentation.d.ts +0 -13
- package/dist/operations/autopilot/presentation.d.ts.map +0 -1
- package/dist/operations/autopilot/presentation.js +0 -91
- package/dist/operations/autopilot/types.d.ts.map +0 -1
- package/dist/operations/autopilot/types.js +0 -8
- package/dist/public/operations/specs/autopilot.d.ts.map +0 -1
- package/dist/public/skills/init-kibi/SKILL.md +0 -62
- package/dist/public/verification-receipt.d.ts +0 -75
- package/dist/public/verification-receipt.d.ts.map +0 -1
- package/dist/public/verification-receipt.js +0 -129
- package/src/public/skills/init-kibi/SKILL.md +0 -62
- package/src/public/verification-receipt.ts +0 -170
- /package/dist/operations/{autopilot → bootstrap}/candidate-helpers.d.ts +0 -0
- /package/dist/operations/{autopilot → bootstrap}/candidate-helpers.js +0 -0
- /package/dist/operations/{autopilot → bootstrap}/requirement-claims.d.ts +0 -0
- /package/dist/operations/{autopilot → bootstrap}/requirement-claims.js +0 -0
package/dist/commands/check.js
CHANGED
|
@@ -18,25 +18,26 @@
|
|
|
18
18
|
import { existsSync } from "node:fs";
|
|
19
19
|
import * as path from "node:path";
|
|
20
20
|
import { EngineClient } from "../engine.js";
|
|
21
|
-
import {
|
|
21
|
+
import { isCliTraceOrDebugEnabled } from "../env.js";
|
|
22
22
|
import { extractFromManifest, extractFromManifestString, } from "../extractors/manifest.js";
|
|
23
23
|
import { extractFromMarkdownString, } from "../extractors/markdown.js";
|
|
24
24
|
import { PrologProcess } from "../prolog.js";
|
|
25
|
-
import { escapeAtom, parseTriples, parseViolationRows, } from "../prolog/codec.js";
|
|
25
|
+
import { escapeAtom, normalizeEntityId, parseTriples, parseViolationRows, } from "../prolog/codec.js";
|
|
26
26
|
import { createSemanticReviewDiagnostics, createSymbolGranularityDiagnostics, createSymbolQualityDiagnostics, hasBlockingImpactDiagnostics, } from "../public/impact-diagnostics.js";
|
|
27
27
|
import { executeCheck } from "../public/operations/check-executor.js";
|
|
28
|
-
import { KIBI_NO_IMPACT_DECLARATION, KIBI_SYMBOLS_MANIFEST_PATH, } from "../traceability/evidence-model.js";
|
|
29
|
-
import {
|
|
28
|
+
import { KIBI_NO_IMPACT_DECLARATION, KIBI_SYMBOLS_MANIFEST_PATH, KIBI_SYMBOL_COORDINATES_PATH, } from "../traceability/evidence-model.js";
|
|
29
|
+
import { getStagedInventory, supportedStagedFiles, } from "../traceability/git-staged.js";
|
|
30
30
|
import { validateStagedMarkdown } from "../traceability/markdown-validate.js";
|
|
31
31
|
import { collectStagedKibiDiagnostics, } from "../traceability/staged-diagnostics.js";
|
|
32
|
+
import { analyzeStagedFileCoverage, } from "../traceability/staged-file-coverage.js";
|
|
32
33
|
import { classifyKibiImpactEvidence, isBehaviorSourceEdit, parseKibiImpactOverride, } from "../traceability/staged-impact-contract.js";
|
|
33
34
|
import { assessStagedSymbolsManifest, collectStagedAuthoredSymbolsManifestEvidence, } from "../traceability/staged-symbols-manifest.js";
|
|
34
35
|
import { createManifestLookupSentinelKey, extractSymbolsFromStagedFile, } from "../traceability/symbol-extract.js";
|
|
35
36
|
import { cleanupTempKb, consultOverlay, createOverlayFacts, createTempKb, projectStagedEntities, } from "../traceability/temp-kb.js";
|
|
36
37
|
import { formatViolations as formatStagedViolations, validateStagedSymbols, } from "../traceability/validate.js";
|
|
37
|
-
import {
|
|
38
|
+
import { resolveBranchAttachment } from "../utils/branch-resolver.js";
|
|
39
|
+
import { CANONICAL_ENTITY_PATHS, isEntityLanePath } from "../utils/kb-paths.js";
|
|
38
40
|
import { safeCleanupProlog } from "../utils/prolog-cleanup.js";
|
|
39
|
-
import { getCurrentBranch } from "./init-helpers.js";
|
|
40
41
|
function getMatchGroup(match, index = 1) {
|
|
41
42
|
const value = match?.[index];
|
|
42
43
|
return typeof value === "string" ? value : null;
|
|
@@ -70,9 +71,8 @@ function buildManifestLookup(stagedFiles) {
|
|
|
70
71
|
// Pre-populate lookup from working-tree manifests so that code-only changes
|
|
71
72
|
// (where symbols.yaml is not staged) still resolve to the correct symbol IDs
|
|
72
73
|
// and relationships already defined on disk.
|
|
73
|
-
const
|
|
74
|
-
|
|
75
|
-
if (symbolsRelPath) {
|
|
74
|
+
const symbolsRelPath = CANONICAL_ENTITY_PATHS.symbols;
|
|
75
|
+
{
|
|
76
76
|
const absSymbolsPath = path.resolve(process.cwd(), symbolsRelPath);
|
|
77
77
|
if (existsSync(absSymbolsPath)) {
|
|
78
78
|
try {
|
|
@@ -104,10 +104,8 @@ function buildManifestLookup(stagedFiles) {
|
|
|
104
104
|
}
|
|
105
105
|
}
|
|
106
106
|
const stagedManifestFiles = stagedFiles.filter((file) => file.content !== undefined &&
|
|
107
|
-
(file.path.
|
|
108
|
-
file.path.
|
|
109
|
-
file.path === "symbols.yaml" ||
|
|
110
|
-
file.path === "symbols.yml"));
|
|
107
|
+
(file.path === CANONICAL_ENTITY_PATHS.symbols ||
|
|
108
|
+
file.path === ".kb/symbols.yml"));
|
|
111
109
|
for (const manifestFile of stagedManifestFiles) {
|
|
112
110
|
manifestLookup.set(createManifestLookupSentinelKey(manifestFile.path), {
|
|
113
111
|
id: manifestFile.path,
|
|
@@ -173,29 +171,9 @@ function isKibiEntityType(value) {
|
|
|
173
171
|
return KIBI_ENTITY_TYPES.has(value);
|
|
174
172
|
}
|
|
175
173
|
function isStagedManifestPath(filePath) {
|
|
176
|
-
|
|
177
|
-
filePath.
|
|
178
|
-
filePath
|
|
179
|
-
filePath === "symbols.yaml" ||
|
|
180
|
-
filePath === "symbols.yml" ||
|
|
181
|
-
filePath === "symbol-coordinates.yaml") {
|
|
182
|
-
return true;
|
|
183
|
-
}
|
|
184
|
-
try {
|
|
185
|
-
const config = loadConfig(process.cwd());
|
|
186
|
-
if (config.paths.symbols) {
|
|
187
|
-
const relSymbols = config.paths.symbols;
|
|
188
|
-
const configuredBase = relSymbols.split(/[\\/]/).pop();
|
|
189
|
-
if (filePath === relSymbols ||
|
|
190
|
-
(configuredBase && filePath.endsWith(`/${configuredBase}`))) {
|
|
191
|
-
return true;
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
catch {
|
|
196
|
-
// ignore config read errors
|
|
197
|
-
}
|
|
198
|
-
return false;
|
|
174
|
+
return (filePath === CANONICAL_ENTITY_PATHS.symbols ||
|
|
175
|
+
filePath === ".kb/symbols.yml" ||
|
|
176
|
+
filePath === KIBI_SYMBOL_COORDINATES_PATH);
|
|
199
177
|
}
|
|
200
178
|
function isTestOnlySourcePath(filePath) {
|
|
201
179
|
return (filePath.startsWith("tests/") ||
|
|
@@ -221,6 +199,9 @@ function formatStagedKibiDiagnostics(diagnostics) {
|
|
|
221
199
|
if (diagnostic.files.length > 0) {
|
|
222
200
|
lines.push(` Files: ${diagnostic.files.join(", ")}`);
|
|
223
201
|
}
|
|
202
|
+
for (const detail of diagnostic.details ?? []) {
|
|
203
|
+
lines.push(` Detail: ${detail}`);
|
|
204
|
+
}
|
|
224
205
|
if (diagnostic.docs.length > 0) {
|
|
225
206
|
lines.push(` Docs: ${diagnostic.docs.join(", ")}`);
|
|
226
207
|
}
|
|
@@ -262,6 +243,66 @@ function printStructuredCheckResult(input) {
|
|
|
262
243
|
},
|
|
263
244
|
}));
|
|
264
245
|
}
|
|
246
|
+
function formatStagedCoverage(result) {
|
|
247
|
+
const counts = {
|
|
248
|
+
symbol: result.files.filter((file) => file.analysisDepth === "symbol")
|
|
249
|
+
.length,
|
|
250
|
+
metadata: result.files.filter((file) => file.analysisDepth === "metadata")
|
|
251
|
+
.length,
|
|
252
|
+
file: result.files.filter((file) => file.analysisDepth === "file").length,
|
|
253
|
+
skipped: result.files.filter((file) => file.disposition === "skipped")
|
|
254
|
+
.length,
|
|
255
|
+
};
|
|
256
|
+
const lines = [
|
|
257
|
+
`Staged files: ${result.files.length} total; ${counts.symbol} symbol-level; ${counts.metadata} metadata; ${counts.file} file-level; ${counts.skipped} skipped.`,
|
|
258
|
+
];
|
|
259
|
+
for (const file of result.files) {
|
|
260
|
+
const details = [file.analysisDepth, file.disposition];
|
|
261
|
+
if (file.reason)
|
|
262
|
+
details.push(file.reason);
|
|
263
|
+
if (file.requirementIds.length > 0) {
|
|
264
|
+
details.push(`requirements: ${file.requirementIds.join(", ")}`);
|
|
265
|
+
}
|
|
266
|
+
if (file.evidencePaths.length > 0) {
|
|
267
|
+
details.push(`evidence: ${file.evidencePaths.join(", ")}`);
|
|
268
|
+
}
|
|
269
|
+
lines.push(` ${file.status} ${file.path} [${details.join("; ")}]`);
|
|
270
|
+
}
|
|
271
|
+
if (result.diagnostics.length > 0) {
|
|
272
|
+
lines.push("", `Advisory staged-file diagnostics (${result.diagnostics.length}):`);
|
|
273
|
+
for (const diagnostic of result.diagnostics) {
|
|
274
|
+
lines.push(` [${diagnostic.id}] ${diagnostic.message}`);
|
|
275
|
+
lines.push(` Suggestion: ${diagnostic.suggestion}`);
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
return lines.join("\n");
|
|
279
|
+
}
|
|
280
|
+
function printStagedResult(input) {
|
|
281
|
+
const violations = input.violations ?? [];
|
|
282
|
+
const qualityDiagnostics = input.qualityDiagnostics ?? [];
|
|
283
|
+
if (input.format === "json") {
|
|
284
|
+
console.log(JSON.stringify({
|
|
285
|
+
structuredContent: {
|
|
286
|
+
violations,
|
|
287
|
+
count: violations.length,
|
|
288
|
+
diagnostics: input.coverage?.diagnostics ?? [],
|
|
289
|
+
qualityDiagnostics,
|
|
290
|
+
staged: input.coverage,
|
|
291
|
+
messages: input.messages ?? [],
|
|
292
|
+
...(input.operationalError
|
|
293
|
+
? { operationalError: input.operationalError }
|
|
294
|
+
: {}),
|
|
295
|
+
},
|
|
296
|
+
}));
|
|
297
|
+
return;
|
|
298
|
+
}
|
|
299
|
+
if (input.coverage)
|
|
300
|
+
console.log(formatStagedCoverage(input.coverage));
|
|
301
|
+
for (const message of input.messages ?? [])
|
|
302
|
+
console.log(message);
|
|
303
|
+
if (input.operationalError)
|
|
304
|
+
console.error(input.operationalError);
|
|
305
|
+
}
|
|
265
306
|
function uniqueSorted(values) {
|
|
266
307
|
return Array.from(new Set(values)).sort();
|
|
267
308
|
}
|
|
@@ -350,6 +391,9 @@ function buildStagedKibiImpactEvidence(options) {
|
|
|
350
391
|
path: stagedSymbolsManifest.path,
|
|
351
392
|
state: stagedSymbolsManifest.state,
|
|
352
393
|
sourcePaths: stagedSymbolsManifest.sourcePaths,
|
|
394
|
+
...(stagedSymbolsManifest.fileDetails
|
|
395
|
+
? { fileDetails: stagedSymbolsManifest.fileDetails }
|
|
396
|
+
: {}),
|
|
353
397
|
},
|
|
354
398
|
mode: resolvedKbArtifacts.length > 0
|
|
355
399
|
? { kind: "kb_changes", kbArtifacts: resolvedKbArtifacts }
|
|
@@ -358,47 +402,57 @@ function buildStagedKibiImpactEvidence(options) {
|
|
|
358
402
|
: { kind: "missing" },
|
|
359
403
|
};
|
|
360
404
|
}
|
|
405
|
+
export function requireActiveProlog(engine, prolog) {
|
|
406
|
+
const activeProlog = engine ?? prolog;
|
|
407
|
+
if (activeProlog == null) {
|
|
408
|
+
throw new Error("Prolog runtime not initialized");
|
|
409
|
+
}
|
|
410
|
+
return activeProlog;
|
|
411
|
+
}
|
|
361
412
|
// implements REQ-006
|
|
362
413
|
export async function checkCommand(options) {
|
|
363
414
|
let prolog = null;
|
|
364
415
|
let engine = null;
|
|
365
416
|
let attached = false;
|
|
366
|
-
let resolvedBranch = "
|
|
417
|
+
let resolvedBranch = "";
|
|
367
418
|
try {
|
|
368
419
|
let resolvedKbPath = "";
|
|
369
420
|
if (options.kbPath) {
|
|
370
421
|
resolvedKbPath = options.kbPath;
|
|
371
422
|
}
|
|
372
423
|
else {
|
|
373
|
-
const
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
}
|
|
379
|
-
catch {
|
|
380
|
-
branch = undefined;
|
|
381
|
-
}
|
|
424
|
+
const attachment = resolveBranchAttachment(process.cwd());
|
|
425
|
+
if ("error" in attachment)
|
|
426
|
+
throw new Error(attachment.error);
|
|
427
|
+
resolvedBranch = attachment.kbBranch;
|
|
428
|
+
if (attachment.migrationRequired) {
|
|
429
|
+
console.warn(`Warning: reading legacy KB attachment ${attachment.gitBranch} -> ${attachment.kbBranch}; migrate before writes or sync.`);
|
|
382
430
|
}
|
|
383
|
-
|
|
384
|
-
branch = envBranch || "develop";
|
|
385
|
-
resolvedBranch = branch;
|
|
386
|
-
// fallback to main if develop isn't present? keep path consistent
|
|
387
|
-
resolvedKbPath = path.join(process.cwd(), ".kb/branches", branch || "main");
|
|
431
|
+
resolvedKbPath = attachment.storePath;
|
|
388
432
|
}
|
|
389
433
|
if (options.staged) {
|
|
390
434
|
const minLinks = options.minLinks ? Number(options.minLinks) : 1;
|
|
435
|
+
let stagedCoverage = null;
|
|
391
436
|
let tempCtx = null;
|
|
392
437
|
try {
|
|
393
|
-
const
|
|
394
|
-
|
|
395
|
-
|
|
438
|
+
const stagedInventory = getStagedInventory();
|
|
439
|
+
stagedCoverage = analyzeStagedFileCoverage(stagedInventory);
|
|
440
|
+
const stagedFiles = supportedStagedFiles(stagedInventory);
|
|
441
|
+
if (stagedInventory.length === 0) {
|
|
442
|
+
printStagedResult({
|
|
443
|
+
format: options.format,
|
|
444
|
+
coverage: stagedCoverage,
|
|
445
|
+
messages: ["No staged files found."],
|
|
446
|
+
});
|
|
396
447
|
return { exitCode: 0 };
|
|
397
448
|
}
|
|
398
449
|
const { manifestLookup, manifestResults, authoredSymbolResults, stagedAuthoredSymbolResults, } = buildManifestLookup(stagedFiles);
|
|
399
|
-
const symbolsManifestPath =
|
|
400
|
-
const
|
|
401
|
-
|
|
450
|
+
const symbolsManifestPath = KIBI_SYMBOLS_MANIFEST_PATH;
|
|
451
|
+
const symbolPaths = new Set(stagedInventory
|
|
452
|
+
.filter((file) => file.analysisDepth === "symbol")
|
|
453
|
+
.map((file) => file.path));
|
|
454
|
+
const sourceFiles = stagedFiles.filter((file) => symbolPaths.has(file.path));
|
|
455
|
+
const markdownFiles = stagedFiles.filter((file) => file.path.endsWith(".md") && isEntityLanePath(file.path));
|
|
402
456
|
const markdownErrors = [];
|
|
403
457
|
for (const f of markdownFiles) {
|
|
404
458
|
const result = validateStagedMarkdown(f.path, f.content || "");
|
|
@@ -407,11 +461,18 @@ export async function checkCommand(options) {
|
|
|
407
461
|
}
|
|
408
462
|
}
|
|
409
463
|
if (markdownErrors.length > 0) {
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
464
|
+
printStagedResult({
|
|
465
|
+
format: options.format,
|
|
466
|
+
coverage: stagedCoverage,
|
|
467
|
+
violations: markdownErrors.map((message) => ({
|
|
468
|
+
rule: "staged-markdown",
|
|
469
|
+
message,
|
|
470
|
+
})),
|
|
471
|
+
messages: [
|
|
472
|
+
"Found embedded entity violations in staged markdown files:",
|
|
473
|
+
...markdownErrors,
|
|
474
|
+
],
|
|
475
|
+
});
|
|
415
476
|
if (options.dryRun) {
|
|
416
477
|
return { exitCode: 0 };
|
|
417
478
|
}
|
|
@@ -432,7 +493,9 @@ export async function checkCommand(options) {
|
|
|
432
493
|
}
|
|
433
494
|
}
|
|
434
495
|
catch (e) {
|
|
435
|
-
|
|
496
|
+
const message = `Error extracting symbols from staged file ${f.path}: ${e instanceof Error ? e.message : String(e)}`;
|
|
497
|
+
if (options.format !== "json")
|
|
498
|
+
console.error(message);
|
|
436
499
|
}
|
|
437
500
|
}
|
|
438
501
|
const markdownResultsByPath = new Map();
|
|
@@ -483,7 +546,12 @@ export async function checkCommand(options) {
|
|
|
483
546
|
}), ...createSemanticReviewDiagnostics({ symbolsByFile }));
|
|
484
547
|
if (allSymbols.length === 0 && stagedEntityResults.length === 0) {
|
|
485
548
|
if (stagedKibiDiagnostics.length > 0) {
|
|
486
|
-
|
|
549
|
+
printStagedResult({
|
|
550
|
+
format: options.format,
|
|
551
|
+
coverage: stagedCoverage,
|
|
552
|
+
qualityDiagnostics: stagedKibiDiagnostics,
|
|
553
|
+
messages: [formatStagedKibiDiagnostics(stagedKibiDiagnostics)],
|
|
554
|
+
});
|
|
487
555
|
if (options.dryRun) {
|
|
488
556
|
return { exitCode: 0 };
|
|
489
557
|
}
|
|
@@ -493,12 +561,23 @@ export async function checkCommand(options) {
|
|
|
493
561
|
: 0,
|
|
494
562
|
};
|
|
495
563
|
}
|
|
496
|
-
|
|
564
|
+
printStagedResult({
|
|
565
|
+
format: options.format,
|
|
566
|
+
coverage: stagedCoverage,
|
|
567
|
+
messages: [
|
|
568
|
+
"No exported symbols or staged entities found in staged files.",
|
|
569
|
+
],
|
|
570
|
+
});
|
|
497
571
|
return { exitCode: 0 };
|
|
498
572
|
}
|
|
499
573
|
if (allSymbols.length === 0) {
|
|
500
574
|
if (stagedKibiDiagnostics.length > 0) {
|
|
501
|
-
|
|
575
|
+
printStagedResult({
|
|
576
|
+
format: options.format,
|
|
577
|
+
coverage: stagedCoverage,
|
|
578
|
+
qualityDiagnostics: stagedKibiDiagnostics,
|
|
579
|
+
messages: [formatStagedKibiDiagnostics(stagedKibiDiagnostics)],
|
|
580
|
+
});
|
|
502
581
|
if (options.dryRun) {
|
|
503
582
|
return { exitCode: 0 };
|
|
504
583
|
}
|
|
@@ -508,7 +587,11 @@ export async function checkCommand(options) {
|
|
|
508
587
|
: 0,
|
|
509
588
|
};
|
|
510
589
|
}
|
|
511
|
-
|
|
590
|
+
printStagedResult({
|
|
591
|
+
format: options.format,
|
|
592
|
+
coverage: stagedCoverage,
|
|
593
|
+
messages: ["✓ No violations found in staged files."],
|
|
594
|
+
});
|
|
512
595
|
return { exitCode: 0 };
|
|
513
596
|
}
|
|
514
597
|
// Create temp KB
|
|
@@ -526,12 +609,19 @@ export async function checkCommand(options) {
|
|
|
526
609
|
prolog: tempCtx.prolog,
|
|
527
610
|
});
|
|
528
611
|
const violationsFormatted = formatStagedViolations(violationsRaw);
|
|
529
|
-
if (stagedKibiDiagnostics.length > 0) {
|
|
530
|
-
console.log(formatStagedKibiDiagnostics(stagedKibiDiagnostics));
|
|
531
|
-
console.log();
|
|
532
|
-
}
|
|
533
612
|
if (violationsRaw && violationsRaw.length > 0) {
|
|
534
|
-
|
|
613
|
+
printStagedResult({
|
|
614
|
+
format: options.format,
|
|
615
|
+
coverage: stagedCoverage,
|
|
616
|
+
violations: violationsRaw,
|
|
617
|
+
qualityDiagnostics: stagedKibiDiagnostics,
|
|
618
|
+
messages: [
|
|
619
|
+
...(stagedKibiDiagnostics.length > 0
|
|
620
|
+
? [formatStagedKibiDiagnostics(stagedKibiDiagnostics)]
|
|
621
|
+
: []),
|
|
622
|
+
violationsFormatted,
|
|
623
|
+
],
|
|
624
|
+
});
|
|
535
625
|
await cleanupTempKb(tempCtx.tempDir);
|
|
536
626
|
if (options.dryRun) {
|
|
537
627
|
return { exitCode: 0 };
|
|
@@ -540,23 +630,38 @@ export async function checkCommand(options) {
|
|
|
540
630
|
}
|
|
541
631
|
if (stagedKibiDiagnostics.length > 0) {
|
|
542
632
|
await cleanupTempKb(tempCtx.tempDir);
|
|
633
|
+
const blocking = hasBlockingImpactDiagnostics(stagedKibiDiagnostics);
|
|
634
|
+
printStagedResult({
|
|
635
|
+
format: options.format,
|
|
636
|
+
coverage: stagedCoverage,
|
|
637
|
+
qualityDiagnostics: stagedKibiDiagnostics,
|
|
638
|
+
messages: [
|
|
639
|
+
formatStagedKibiDiagnostics(stagedKibiDiagnostics),
|
|
640
|
+
...(!blocking
|
|
641
|
+
? ["✓ No violations found in staged symbols."]
|
|
642
|
+
: []),
|
|
643
|
+
],
|
|
644
|
+
});
|
|
543
645
|
if (options.dryRun) {
|
|
544
646
|
return { exitCode: 0 };
|
|
545
647
|
}
|
|
546
|
-
if (!
|
|
547
|
-
console.log("✓ No violations found in staged symbols.");
|
|
648
|
+
if (!blocking) {
|
|
548
649
|
return { exitCode: 0 };
|
|
549
650
|
}
|
|
550
651
|
return {
|
|
551
652
|
exitCode: 1,
|
|
552
653
|
};
|
|
553
654
|
}
|
|
554
|
-
|
|
655
|
+
printStagedResult({
|
|
656
|
+
format: options.format,
|
|
657
|
+
coverage: stagedCoverage,
|
|
658
|
+
messages: ["✓ No violations found in staged symbols."],
|
|
659
|
+
});
|
|
555
660
|
await cleanupTempKb(tempCtx.tempDir);
|
|
556
661
|
return { exitCode: 0 };
|
|
557
662
|
}
|
|
558
663
|
catch (err) {
|
|
559
|
-
|
|
664
|
+
const message = `Error running staged validation: ${err instanceof Error ? err.message : String(err)}`;
|
|
560
665
|
if (tempCtx) {
|
|
561
666
|
try {
|
|
562
667
|
await cleanupTempKb(tempCtx.tempDir);
|
|
@@ -565,6 +670,11 @@ export async function checkCommand(options) {
|
|
|
565
670
|
// best-effort: temp directory may already be cleaned up
|
|
566
671
|
}
|
|
567
672
|
}
|
|
673
|
+
printStagedResult({
|
|
674
|
+
format: options.format,
|
|
675
|
+
coverage: stagedCoverage,
|
|
676
|
+
operationalError: message,
|
|
677
|
+
});
|
|
568
678
|
return { exitCode: 1 };
|
|
569
679
|
}
|
|
570
680
|
}
|
|
@@ -591,10 +701,7 @@ export async function checkCommand(options) {
|
|
|
591
701
|
}
|
|
592
702
|
attached = true;
|
|
593
703
|
}
|
|
594
|
-
const activeProlog = engine
|
|
595
|
-
if (!activeProlog) {
|
|
596
|
-
throw new Error("Prolog runtime not initialized");
|
|
597
|
-
}
|
|
704
|
+
const activeProlog = requireActiveProlog(engine, prolog);
|
|
598
705
|
const rules = options.rules
|
|
599
706
|
?.split(",")
|
|
600
707
|
.map((rule) => rule.trim())
|
|
@@ -605,6 +712,9 @@ export async function checkCommand(options) {
|
|
|
605
712
|
clock: () => new Date(),
|
|
606
713
|
prolog: {
|
|
607
714
|
query: (goal) => activeProlog.query(goal),
|
|
715
|
+
...(activeProlog instanceof EngineClient
|
|
716
|
+
? { queryEntities: activeProlog.queryEntities.bind(activeProlog) }
|
|
717
|
+
: {}),
|
|
608
718
|
nextSolution: async () => null,
|
|
609
719
|
invalidateCache: () => activeProlog.invalidateCache(),
|
|
610
720
|
save: () => activeProlog.query("kb_save"),
|
|
@@ -658,7 +768,7 @@ export async function checkCommand(options) {
|
|
|
658
768
|
await safeCleanupProlog(prolog);
|
|
659
769
|
}
|
|
660
770
|
}
|
|
661
|
-
async function checkMustPriorityCoverage(prolog) {
|
|
771
|
+
export async function checkMustPriorityCoverage(prolog) {
|
|
662
772
|
const violations = [];
|
|
663
773
|
const mustReqs = await findMustPriorityReqs(prolog);
|
|
664
774
|
for (const reqId of mustReqs) {
|
|
@@ -697,7 +807,9 @@ async function checkMustPriorityCoverage(prolog) {
|
|
|
697
807
|
}
|
|
698
808
|
return violations;
|
|
699
809
|
}
|
|
700
|
-
|
|
810
|
+
// implements REQ-cli-check
|
|
811
|
+
// covered_by TEST-004
|
|
812
|
+
export async function findMustPriorityReqs(prolog) {
|
|
701
813
|
const query = `findall(Id, (kb_entity(Id, req, Props), memberchk(priority=P, Props), (P = ^^("must", _) ; P = "must" ; P = 'must' ; (atom(P), atom_string(P, PS), sub_string(PS, _, 4, 0, "must")))), Ids)`;
|
|
702
814
|
const result = await prolog.query(query);
|
|
703
815
|
if (!result.success || !result.bindings.Ids) {
|
|
@@ -711,7 +823,7 @@ async function findMustPriorityReqs(prolog) {
|
|
|
711
823
|
}
|
|
712
824
|
return content.split(",").map((id) => id.trim().replace(/^'|'$/g, ""));
|
|
713
825
|
}
|
|
714
|
-
async function getAllEntityIds(prolog, type) {
|
|
826
|
+
export async function getAllEntityIds(prolog, type) {
|
|
715
827
|
const typeFilter = type ? `, Type = ${type}` : "";
|
|
716
828
|
const query = `findall(Id, (kb_entity(Id, Type, _)${typeFilter}), Ids)`;
|
|
717
829
|
const result = await prolog.query(query);
|
|
@@ -726,7 +838,7 @@ async function getAllEntityIds(prolog, type) {
|
|
|
726
838
|
}
|
|
727
839
|
return content.split(",").map((id) => id.trim().replace(/^'|'$/g, ""));
|
|
728
840
|
}
|
|
729
|
-
async function checkNoDanglingRefs(prolog) {
|
|
841
|
+
export async function checkNoDanglingRefs(prolog) {
|
|
730
842
|
const violations = [];
|
|
731
843
|
const allEntityIds = new Set(await getAllEntityIds(prolog));
|
|
732
844
|
const relTypes = [
|
|
@@ -781,7 +893,9 @@ async function checkNoDanglingRefs(prolog) {
|
|
|
781
893
|
}
|
|
782
894
|
return violations;
|
|
783
895
|
}
|
|
784
|
-
|
|
896
|
+
// implements REQ-cli-check
|
|
897
|
+
// covered_by TEST-cli-check-integrity
|
|
898
|
+
export async function checkNoCycles(prolog) {
|
|
785
899
|
const violations = [];
|
|
786
900
|
const depsResult = await prolog.query("findall([From,To], kb_relationship(depends_on, From, To), Deps)");
|
|
787
901
|
if (!depsResult.success || !depsResult.bindings.Deps) {
|
|
@@ -865,7 +979,7 @@ async function checkNoCycles(prolog) {
|
|
|
865
979
|
}
|
|
866
980
|
return violations;
|
|
867
981
|
}
|
|
868
|
-
async function checkRequiredFields(prolog, allEntityIds) {
|
|
982
|
+
export async function checkRequiredFields(prolog, allEntityIds) {
|
|
869
983
|
const violations = [];
|
|
870
984
|
const required = [
|
|
871
985
|
"id",
|
|
@@ -901,7 +1015,7 @@ async function checkRequiredFields(prolog, allEntityIds) {
|
|
|
901
1015
|
}
|
|
902
1016
|
return violations;
|
|
903
1017
|
}
|
|
904
|
-
async function checkDeprecatedAdrs(prolog) {
|
|
1018
|
+
export async function checkDeprecatedAdrs(prolog) {
|
|
905
1019
|
const violations = [];
|
|
906
1020
|
// Use Prolog predicate to find deprecated ADRs without successors
|
|
907
1021
|
const result = await prolog.query("setof(Id, deprecated_no_successor(Id), Ids)");
|
|
@@ -938,14 +1052,16 @@ async function checkDeprecatedAdrs(prolog) {
|
|
|
938
1052
|
}
|
|
939
1053
|
return violations;
|
|
940
1054
|
}
|
|
941
|
-
async function checkDomainContradictions(prolog) {
|
|
1055
|
+
export async function checkDomainContradictions(prolog) {
|
|
942
1056
|
const violations = [];
|
|
943
1057
|
const result = await prolog.query("setof([A,B,Reason], contradicting_reqs(A, B, Reason), Rows)");
|
|
944
1058
|
if (!result.success || !result.bindings.Rows) {
|
|
945
1059
|
return violations;
|
|
946
1060
|
}
|
|
947
1061
|
const rows = parseTriples(result.bindings.Rows);
|
|
948
|
-
for (const [
|
|
1062
|
+
for (const [rawReqA, rawReqB, reason] of rows) {
|
|
1063
|
+
const reqA = normalizeEntityId(rawReqA);
|
|
1064
|
+
const reqB = normalizeEntityId(rawReqB);
|
|
949
1065
|
violations.push({
|
|
950
1066
|
rule: "domain-contradictions",
|
|
951
1067
|
entityId: `${reqA}/${reqB}`,
|
|
@@ -955,7 +1071,7 @@ async function checkDomainContradictions(prolog) {
|
|
|
955
1071
|
}
|
|
956
1072
|
return violations;
|
|
957
1073
|
}
|
|
958
|
-
async function checkStrictFactShape(prolog) {
|
|
1074
|
+
export async function checkStrictFactShape(prolog) {
|
|
959
1075
|
const violations = [];
|
|
960
1076
|
const result = await prolog.query(`findall(violation(Rule, EntityId, Desc, Sugg, Src),
|
|
961
1077
|
checks:strict_fact_shape_violation(violation(Rule, EntityId, Desc, Sugg, Src)),
|
|
@@ -971,7 +1087,7 @@ async function checkStrictFactShape(prolog) {
|
|
|
971
1087
|
}
|
|
972
1088
|
return violations;
|
|
973
1089
|
}
|
|
974
|
-
async function checkStrictReqFactPairing(prolog) {
|
|
1090
|
+
export async function checkStrictReqFactPairing(prolog) {
|
|
975
1091
|
const violations = [];
|
|
976
1092
|
const result = await prolog.query(`findall(violation(Rule, EntityId, Desc, Sugg, Src),
|
|
977
1093
|
checks:strict_req_fact_pairing_violation(violation(Rule, EntityId, Desc, Sugg, Src)),
|
|
@@ -987,7 +1103,7 @@ async function checkStrictReqFactPairing(prolog) {
|
|
|
987
1103
|
}
|
|
988
1104
|
return violations;
|
|
989
1105
|
}
|
|
990
|
-
async function checkStrictReadiness(prolog) {
|
|
1106
|
+
export async function checkStrictReadiness(prolog) {
|
|
991
1107
|
const violations = [];
|
|
992
1108
|
const result = await prolog.query(`findall(violation(Rule, EntityId, Desc, Sugg, Src),
|
|
993
1109
|
checks:strict_readiness_violation(violation(Rule, EntityId, Desc, Sugg, Src)),
|
|
@@ -1003,7 +1119,7 @@ async function checkStrictReadiness(prolog) {
|
|
|
1003
1119
|
}
|
|
1004
1120
|
return violations;
|
|
1005
1121
|
}
|
|
1006
|
-
async function checkSymbolCoverage(prolog) {
|
|
1122
|
+
export async function checkSymbolCoverage(prolog) {
|
|
1007
1123
|
const violations = [];
|
|
1008
1124
|
const uncoveredResult = await prolog.query("setof(Symbol, symbol_no_req_coverage(Symbol, _), Symbols)");
|
|
1009
1125
|
if (uncoveredResult.success && uncoveredResult.bindings.Symbols) {
|
|
@@ -1027,20 +1143,3 @@ async function checkSymbolCoverage(prolog) {
|
|
|
1027
1143
|
}
|
|
1028
1144
|
return violations;
|
|
1029
1145
|
}
|
|
1030
|
-
async function checkSymbolTraceability(prolog, requireAdr) {
|
|
1031
|
-
const violations = [];
|
|
1032
|
-
const requireAdrStr = requireAdr ? "true" : "false";
|
|
1033
|
-
const result = await prolog.query(`findall(violation(Rule, EntityId, Desc, Sugg, Src),
|
|
1034
|
-
checks:symbol_traceability_violation(${requireAdrStr}, violation(Rule, EntityId, Desc, Sugg, Src)),
|
|
1035
|
-
Violations)`);
|
|
1036
|
-
if (!result.success || !result.bindings.Violations) {
|
|
1037
|
-
return violations;
|
|
1038
|
-
}
|
|
1039
|
-
const violationsStr = result.bindings.Violations;
|
|
1040
|
-
if (violationsStr && violationsStr !== "[]") {
|
|
1041
|
-
for (const v of parseViolationRows(violationsStr)) {
|
|
1042
|
-
violations.push(v);
|
|
1043
|
-
}
|
|
1044
|
-
}
|
|
1045
|
-
return violations;
|
|
1046
|
-
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coverage.d.ts","sourceRoot":"","sources":["../../src/commands/coverage.ts"],"names":[],"mappings":"AAMA,UAAU,eAAe;IACvB,EAAE,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC/B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CAC3B;AAGD,wBAAsB,eAAe,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"coverage.d.ts","sourceRoot":"","sources":["../../src/commands/coverage.ts"],"names":[],"mappings":"AAMA,UAAU,eAAe;IACvB,EAAE,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC/B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CAC3B;AAGD,wBAAsB,eAAe,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAmC7E"}
|
|
@@ -11,6 +11,12 @@ export async function coverageCommand(options) {
|
|
|
11
11
|
.filter(Boolean)
|
|
12
12
|
: [],
|
|
13
13
|
includePassing: options.includePassing ?? false,
|
|
14
|
+
statuses: options.status
|
|
15
|
+
? options.status
|
|
16
|
+
.split(",")
|
|
17
|
+
.map((item) => item.trim())
|
|
18
|
+
.filter(Boolean)
|
|
19
|
+
: [],
|
|
14
20
|
includeTransitive: options.includeTransitive ?? true,
|
|
15
21
|
limit: Number.parseInt(options.limit || "100", 10),
|
|
16
22
|
offset: Number.parseInt(options.offset || "0", 10),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discovery-shared.d.ts","sourceRoot":"","sources":["../../src/commands/discovery-shared.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"discovery-shared.d.ts","sourceRoot":"","sources":["../../src/commands/discovery-shared.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE9D,OAAO,EACL,KAAK,cAAc,EAEpB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAMnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D,MAAM,WAAW,uBAAuB;IACtC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CAC3B;AAED,qDAAqD;AACrD,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,KAAK,aAAa,CAAC;IAC3D,WAAW,EAAE,OAAO,eAAe,CAAC;CACrC;AAGD,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,OAAO,EACxD,IAAI,EAAE,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,EACpC,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,cAAmB,6EAG7B;AAGD,wBAAsB,wBAAwB,CAAC,CAAC,EAC9C,QAAQ,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,OAAO,CAAC,CAAC,CAAC,EAC/C,IAAI,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,GAC5B,OAAO,CAAC,CAAC,CAAC,CA+CZ;AAID,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,MAAM,CAAC,CAI5D;AAGD,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,GAC5B,MAAM,CAGR;AAGD,wBAAsB,kBAAkB,CAAC,CAAC,EACxC,MAAM,EAAE,aAAa,EACrB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,GAC5B,OAAO,CAAC,CAAC,CAAC,CAwBZ;AAGD,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,EACpC,UAAU,EAAE,OAAO,EACnB,YAAY,EAAE,MAAM,GACnB,IAAI,CAQN"}
|