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
|
@@ -1,28 +1,17 @@
|
|
|
1
1
|
import { readFile } from "node:fs/promises";
|
|
2
2
|
import path from "node:path";
|
|
3
|
-
import { parseEntityFromList, parseListOfLists, parseTriples, } from "../../prolog/codec.js";
|
|
3
|
+
import { normalizeEntityId, parseAtomList, parseEntityFromList, parseListOfLists, parseTriples, } from "../../prolog/codec.js";
|
|
4
|
+
import { runOperationJsonQuery, toPrologAtom, toPrologList, } from "../operations/prolog-json.js";
|
|
5
|
+
import { PROOF_RECEIPT_MAX_AGE_SECONDS } from "../proof-receipt.js";
|
|
6
|
+
import relationshipSchema from "../schemas/relationship.js";
|
|
4
7
|
import { analyzeTelemetryAcceptance, createTelemetryAcceptanceDiagnostics, parseTelemetryUsageLog, } from "../telemetry-acceptance.js";
|
|
5
8
|
import { createCoverageDepthQualityDiagnostics } from "./coverage-depth-quality.js";
|
|
6
9
|
import { createRequirementQualityDiagnostics } from "./requirement-quality.js";
|
|
7
10
|
import { createSymbolQualityDiagnostics } from "./symbol-quality.js";
|
|
8
|
-
const RELATIONSHIP_TYPES =
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
"verified_by",
|
|
13
|
-
"validates",
|
|
14
|
-
"implements",
|
|
15
|
-
"covered_by",
|
|
16
|
-
"constrained_by",
|
|
17
|
-
"constrains",
|
|
18
|
-
"requires_property",
|
|
19
|
-
"requires_predicate",
|
|
20
|
-
"guards",
|
|
21
|
-
"publishes",
|
|
22
|
-
"consumes",
|
|
23
|
-
"supersedes",
|
|
24
|
-
"relates_to",
|
|
25
|
-
];
|
|
11
|
+
const RELATIONSHIP_TYPES = relationshipSchema.properties.type.enum;
|
|
12
|
+
const ENTITY_BATCH_SIZE = 32;
|
|
13
|
+
const PROLOG_OUTPUT_CAPACITY_MARKER = "Query exceeded bounded Prolog output capacity (ENOBUFS)";
|
|
14
|
+
const ENTITY_IDS_QUERY = "findall(Id, kb_entity(Id, _, _), Ids)";
|
|
26
15
|
function stringField(entity, key) {
|
|
27
16
|
const value = entity[key];
|
|
28
17
|
return typeof value === "string" ? value : "";
|
|
@@ -41,6 +30,16 @@ function optionalStringArrayField(entity, key) {
|
|
|
41
30
|
return undefined;
|
|
42
31
|
return value.map((item) => String(item));
|
|
43
32
|
}
|
|
33
|
+
function optionalBooleanField(entity, key) {
|
|
34
|
+
const value = entity[key];
|
|
35
|
+
return typeof value === "boolean" ? value : undefined;
|
|
36
|
+
}
|
|
37
|
+
function optionalObjectField(entity, key) {
|
|
38
|
+
const value = entity[key];
|
|
39
|
+
return value && typeof value === "object" && !Array.isArray(value)
|
|
40
|
+
? value
|
|
41
|
+
: undefined;
|
|
42
|
+
}
|
|
44
43
|
function toExtractedEntity(entity) {
|
|
45
44
|
const extracted = {
|
|
46
45
|
id: stringField(entity, "id"),
|
|
@@ -72,6 +71,27 @@ function toExtractedEntity(entity) {
|
|
|
72
71
|
const logicClaims = optionalStringArrayField(entity, "logic_claims");
|
|
73
72
|
if (logicClaims !== undefined)
|
|
74
73
|
extracted.logic_claims = logicClaims;
|
|
74
|
+
const semanticClauses = optionalStringArrayField(entity, "semantic_clauses");
|
|
75
|
+
if (semanticClauses !== undefined)
|
|
76
|
+
extracted.semantic_clauses = semanticClauses;
|
|
77
|
+
const semanticInventoryVersion = optionalStringField(entity, "semantic_inventory_version");
|
|
78
|
+
if (semanticInventoryVersion === "kibi.semantic-inventory.v1") {
|
|
79
|
+
extracted.semantic_inventory_version = semanticInventoryVersion;
|
|
80
|
+
}
|
|
81
|
+
const semanticSourceField = optionalStringField(entity, "semantic_source_field");
|
|
82
|
+
if (semanticSourceField === "semantic_text" ||
|
|
83
|
+
semanticSourceField === "text_ref" ||
|
|
84
|
+
semanticSourceField === "title") {
|
|
85
|
+
extracted.semantic_source_field = semanticSourceField;
|
|
86
|
+
}
|
|
87
|
+
const semanticSourceHash = optionalStringField(entity, "semantic_source_hash");
|
|
88
|
+
if (semanticSourceHash !== undefined) {
|
|
89
|
+
extracted.semantic_source_hash = semanticSourceHash;
|
|
90
|
+
}
|
|
91
|
+
const semanticInventory = entity.semantic_inventory;
|
|
92
|
+
if (Array.isArray(semanticInventory)) {
|
|
93
|
+
extracted.semantic_inventory = semanticInventory;
|
|
94
|
+
}
|
|
75
95
|
const granularityReason = optionalStringField(entity, "granularity_reason");
|
|
76
96
|
if (granularityReason !== undefined) {
|
|
77
97
|
extracted.granularity_reason = granularityReason;
|
|
@@ -88,6 +108,23 @@ function toExtractedEntity(entity) {
|
|
|
88
108
|
verificationScope === "end_to_end") {
|
|
89
109
|
extracted.verification_scope = verificationScope;
|
|
90
110
|
}
|
|
111
|
+
const verificationPerspective = optionalStringField(entity, "verification_perspective");
|
|
112
|
+
if (verificationPerspective === "internal" ||
|
|
113
|
+
verificationPerspective === "consumer") {
|
|
114
|
+
extracted.verification_perspective = verificationPerspective;
|
|
115
|
+
}
|
|
116
|
+
const proofContract = optionalObjectField(entity, "proof_contract");
|
|
117
|
+
if (proofContract !== undefined) {
|
|
118
|
+
extracted.proof_contract = proofContract;
|
|
119
|
+
}
|
|
120
|
+
const proofBindings = entity.proof_bindings;
|
|
121
|
+
if (Array.isArray(proofBindings)) {
|
|
122
|
+
extracted.proof_bindings = proofBindings;
|
|
123
|
+
}
|
|
124
|
+
const proofReceipts = entity.proof_receipts;
|
|
125
|
+
if (Array.isArray(proofReceipts)) {
|
|
126
|
+
extracted.proof_receipts = proofReceipts;
|
|
127
|
+
}
|
|
91
128
|
const sourceLine = optionalNumberField(entity, "sourceLine");
|
|
92
129
|
if (sourceLine !== undefined)
|
|
93
130
|
extracted.sourceLine = sourceLine;
|
|
@@ -106,25 +143,80 @@ function toExtractedEntity(entity) {
|
|
|
106
143
|
factKind === "observation" ||
|
|
107
144
|
factKind === "meta" ||
|
|
108
145
|
factKind === "predicate_schema" ||
|
|
109
|
-
factKind === "predicate"
|
|
146
|
+
factKind === "predicate" ||
|
|
147
|
+
factKind === "rule_schema" ||
|
|
148
|
+
factKind === "rule") {
|
|
110
149
|
extracted.fact_kind = factKind;
|
|
111
150
|
}
|
|
112
|
-
const
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
151
|
+
for (const field of [
|
|
152
|
+
"subject_key",
|
|
153
|
+
"property_key",
|
|
154
|
+
"value_string",
|
|
155
|
+
"unit",
|
|
156
|
+
"scope",
|
|
157
|
+
"valid_from",
|
|
158
|
+
"valid_to",
|
|
159
|
+
"canonical_key",
|
|
160
|
+
"claim_key",
|
|
161
|
+
"claim_text",
|
|
162
|
+
"predicate_name",
|
|
163
|
+
"predicate_namespace",
|
|
164
|
+
"rule_hash",
|
|
165
|
+
"rule_schema_id",
|
|
166
|
+
"rule_name",
|
|
167
|
+
"semantic_key",
|
|
168
|
+
]) {
|
|
169
|
+
const value = optionalStringField(entity, field);
|
|
170
|
+
if (value !== undefined)
|
|
171
|
+
extracted[field] = value;
|
|
172
|
+
}
|
|
173
|
+
const operator = optionalStringField(entity, "operator");
|
|
174
|
+
if (operator === "eq" ||
|
|
175
|
+
operator === "neq" ||
|
|
176
|
+
operator === "lt" ||
|
|
177
|
+
operator === "lte" ||
|
|
178
|
+
operator === "gt" ||
|
|
179
|
+
operator === "gte") {
|
|
180
|
+
extracted.operator = operator;
|
|
124
181
|
}
|
|
182
|
+
const valueType = optionalStringField(entity, "value_type");
|
|
183
|
+
if (valueType === "string" ||
|
|
184
|
+
valueType === "int" ||
|
|
185
|
+
valueType === "number" ||
|
|
186
|
+
valueType === "bool") {
|
|
187
|
+
extracted.value_type = valueType;
|
|
188
|
+
}
|
|
189
|
+
const polarity = optionalStringField(entity, "polarity");
|
|
190
|
+
if (polarity === "require" ||
|
|
191
|
+
polarity === "forbid" ||
|
|
192
|
+
polarity === "assert" ||
|
|
193
|
+
polarity === "deny") {
|
|
194
|
+
extracted.polarity = polarity;
|
|
195
|
+
}
|
|
196
|
+
const valueInt = optionalNumberField(entity, "value_int");
|
|
197
|
+
if (valueInt !== undefined)
|
|
198
|
+
extracted.value_int = valueInt;
|
|
199
|
+
const valueNumber = optionalNumberField(entity, "value_number");
|
|
200
|
+
if (valueNumber !== undefined)
|
|
201
|
+
extracted.value_number = valueNumber;
|
|
125
202
|
const predicateArity = optionalNumberField(entity, "predicate_arity");
|
|
126
203
|
if (predicateArity !== undefined)
|
|
127
204
|
extracted.predicate_arity = predicateArity;
|
|
205
|
+
const claimSpanStart = optionalNumberField(entity, "claim_span_start");
|
|
206
|
+
if (claimSpanStart !== undefined)
|
|
207
|
+
extracted.claim_span_start = claimSpanStart;
|
|
208
|
+
const claimSpanEnd = optionalNumberField(entity, "claim_span_end");
|
|
209
|
+
if (claimSpanEnd !== undefined)
|
|
210
|
+
extracted.claim_span_end = claimSpanEnd;
|
|
211
|
+
const valueBool = optionalBooleanField(entity, "value_bool");
|
|
212
|
+
if (valueBool !== undefined)
|
|
213
|
+
extracted.value_bool = valueBool;
|
|
214
|
+
const closedWorld = optionalBooleanField(entity, "closed_world");
|
|
215
|
+
if (closedWorld !== undefined)
|
|
216
|
+
extracted.closed_world = closedWorld;
|
|
217
|
+
const ruleIr = optionalObjectField(entity, "rule_ir");
|
|
218
|
+
if (ruleIr !== undefined)
|
|
219
|
+
extracted.rule_ir = ruleIr;
|
|
128
220
|
for (const field of [
|
|
129
221
|
"argument_names",
|
|
130
222
|
"argument_types",
|
|
@@ -143,18 +235,200 @@ function sourceFileFor(entity) {
|
|
|
143
235
|
return (optionalStringField(entity, "sourceFile") ??
|
|
144
236
|
optionalStringField(entity, "source_file"));
|
|
145
237
|
}
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
238
|
+
class BoundedEntityProjectionError extends Error {
|
|
239
|
+
constructor(message) {
|
|
240
|
+
super(message);
|
|
241
|
+
this.name = "BoundedEntityProjectionError";
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
function isOutputCapacityError(error) {
|
|
245
|
+
return error?.includes(PROLOG_OUTPUT_CAPACITY_MARKER) === true;
|
|
246
|
+
}
|
|
247
|
+
function parseAuthoritativeEntityIds(raw) {
|
|
248
|
+
const trimmed = raw.trim();
|
|
249
|
+
if (trimmed !== "[]" &&
|
|
250
|
+
(!trimmed.startsWith("[") || !trimmed.endsWith("]"))) {
|
|
251
|
+
throw new Error("Full KB entity ID enumeration returned malformed data");
|
|
252
|
+
}
|
|
253
|
+
const ids = parseAtomList(trimmed);
|
|
254
|
+
if (ids.some((id) => id.length === 0)) {
|
|
255
|
+
throw new Error("Full KB entity ID enumeration returned an empty ID");
|
|
256
|
+
}
|
|
257
|
+
return ids;
|
|
258
|
+
}
|
|
259
|
+
function validateEntityBatch(requestedIds, entities) {
|
|
260
|
+
const requested = new Set();
|
|
261
|
+
for (const id of requestedIds) {
|
|
262
|
+
const normalizedId = normalizeEntityId(id);
|
|
263
|
+
if (normalizedId.length === 0 || requested.has(normalizedId)) {
|
|
264
|
+
throw new Error("Full KB bounded entity projection returned duplicate or empty requested IDs");
|
|
265
|
+
}
|
|
266
|
+
requested.add(normalizedId);
|
|
267
|
+
}
|
|
268
|
+
const returned = new Map();
|
|
269
|
+
for (const entity of entities) {
|
|
270
|
+
const id = stringField(entity, "id");
|
|
271
|
+
const type = stringField(entity, "type");
|
|
272
|
+
const normalizedId = normalizeEntityId(id);
|
|
273
|
+
if (normalizedId.length === 0 || type.length === 0) {
|
|
274
|
+
throw new Error("Full KB bounded entity projection returned a malformed entity row");
|
|
275
|
+
}
|
|
276
|
+
if (!requested.has(normalizedId) || returned.has(normalizedId)) {
|
|
277
|
+
throw new Error(`Full KB bounded entity projection returned an unexpected entity ID: ${normalizedId}`);
|
|
278
|
+
}
|
|
279
|
+
returned.set(normalizedId, entity);
|
|
280
|
+
}
|
|
281
|
+
const missing = [...requested.keys()].filter((id) => !returned.has(id));
|
|
282
|
+
if (missing.length > 0) {
|
|
283
|
+
throw new Error(`Full KB bounded entity projection returned an incomplete page; missing ${missing.join(", ")}`);
|
|
284
|
+
}
|
|
285
|
+
return [...requested.keys()].map((id) => returned.get(id));
|
|
286
|
+
}
|
|
287
|
+
function validateIndexedEntityPage(entities, seenIds) {
|
|
288
|
+
const pageIds = new Set();
|
|
289
|
+
for (const entity of entities) {
|
|
290
|
+
const id = normalizeEntityId(stringField(entity, "id"));
|
|
291
|
+
const type = stringField(entity, "type");
|
|
292
|
+
if (id.length === 0 || type.length === 0) {
|
|
293
|
+
throw new Error("Full KB paginated entity projection returned a malformed entity row");
|
|
294
|
+
}
|
|
295
|
+
if (pageIds.has(id) || seenIds.has(id)) {
|
|
296
|
+
throw new Error(`Full KB paginated entity projection returned duplicate entity ID: ${id}`);
|
|
297
|
+
}
|
|
298
|
+
pageIds.add(id);
|
|
299
|
+
}
|
|
300
|
+
return [...entities];
|
|
301
|
+
}
|
|
302
|
+
function isOutputCapacityException(error) {
|
|
303
|
+
return isOutputCapacityError(error instanceof Error ? error.message : String(error));
|
|
304
|
+
}
|
|
305
|
+
async function loadIndexedEntityProjection(queryEntities) {
|
|
306
|
+
const entities = [];
|
|
307
|
+
const seenIds = new Set();
|
|
308
|
+
let offset = 0;
|
|
309
|
+
let pageSize = ENTITY_BATCH_SIZE;
|
|
310
|
+
let totalCount;
|
|
311
|
+
while (totalCount === undefined || offset < totalCount) {
|
|
312
|
+
let page;
|
|
313
|
+
try {
|
|
314
|
+
page = await queryEntities({ limit: pageSize, offset });
|
|
315
|
+
}
|
|
316
|
+
catch (error) {
|
|
317
|
+
if (!isOutputCapacityException(error) || pageSize === 1) {
|
|
318
|
+
throw error;
|
|
319
|
+
}
|
|
320
|
+
pageSize = Math.ceil(pageSize / 2);
|
|
321
|
+
continue;
|
|
322
|
+
}
|
|
323
|
+
if (!Number.isInteger(page.count) ||
|
|
324
|
+
page.count < 0 ||
|
|
325
|
+
(totalCount !== undefined && page.count !== totalCount)) {
|
|
326
|
+
throw new Error("Full KB paginated entity projection returned an inconsistent count");
|
|
327
|
+
}
|
|
328
|
+
totalCount ??= page.count;
|
|
329
|
+
if (page.entities.length > pageSize) {
|
|
330
|
+
throw new Error("Full KB paginated entity projection returned an oversized page");
|
|
331
|
+
}
|
|
332
|
+
const pageEntities = validateIndexedEntityPage(page.entities, seenIds);
|
|
333
|
+
if (offset + pageEntities.length > totalCount) {
|
|
334
|
+
throw new Error("Full KB paginated entity projection returned more rows than its count");
|
|
335
|
+
}
|
|
336
|
+
if (pageEntities.length === 0 && offset < totalCount) {
|
|
337
|
+
throw new Error("Full KB paginated entity projection returned an incomplete page");
|
|
338
|
+
}
|
|
339
|
+
for (const entity of pageEntities) {
|
|
340
|
+
seenIds.add(normalizeEntityId(stringField(entity, "id")));
|
|
341
|
+
}
|
|
342
|
+
entities.push(...pageEntities);
|
|
343
|
+
offset += pageEntities.length;
|
|
344
|
+
if (offset < totalCount && pageEntities.length < pageSize) {
|
|
345
|
+
throw new Error("Full KB paginated entity projection returned an incomplete page");
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
if (entities.length !== totalCount) {
|
|
349
|
+
throw new Error("Full KB paginated entity projection returned an incomplete result");
|
|
350
|
+
}
|
|
351
|
+
return entities;
|
|
352
|
+
}
|
|
353
|
+
async function loadEntityBatch(prolog, ids) {
|
|
354
|
+
const idTerms = ids.map((id) => toPrologAtom(id)).join(",");
|
|
355
|
+
const result = await prolog.query(`findall([Id,Type,Props], (member(Id, [${idTerms}]), kb_entity(Id, Type, Props)), Results)`);
|
|
356
|
+
if (!result.success) {
|
|
357
|
+
const message = result.error ?? "Unknown error";
|
|
358
|
+
if (isOutputCapacityError(result.error)) {
|
|
359
|
+
throw new BoundedEntityProjectionError(message);
|
|
360
|
+
}
|
|
361
|
+
throw new Error(`Full KB bounded entity projection query failed: ${message}`);
|
|
362
|
+
}
|
|
363
|
+
const rawRows = result.bindings.Results;
|
|
364
|
+
if (rawRows === undefined) {
|
|
365
|
+
throw new Error("Full KB bounded entity projection query returned no Results binding");
|
|
366
|
+
}
|
|
367
|
+
return validateEntityBatch(ids, parseListOfLists(rawRows).map(parseEntityFromList));
|
|
368
|
+
}
|
|
369
|
+
async function loadEntityBatchAdaptively(prolog, ids) {
|
|
370
|
+
try {
|
|
371
|
+
return await loadEntityBatch(prolog, ids);
|
|
372
|
+
}
|
|
373
|
+
catch (error) {
|
|
374
|
+
if (!(error instanceof BoundedEntityProjectionError))
|
|
375
|
+
throw error;
|
|
376
|
+
if (ids.length === 1) {
|
|
377
|
+
throw new Error(`Full KB entity projection failed for ${ids[0]}: ${error.message}`);
|
|
378
|
+
}
|
|
379
|
+
const midpoint = Math.ceil(ids.length / 2);
|
|
380
|
+
const left = await loadEntityBatchAdaptively(prolog, ids.slice(0, midpoint));
|
|
381
|
+
const right = await loadEntityBatchAdaptively(prolog, ids.slice(midpoint));
|
|
382
|
+
return [...left, ...right];
|
|
383
|
+
}
|
|
384
|
+
}
|
|
385
|
+
async function loadBoundedEntityProjection(prolog) {
|
|
386
|
+
const idsResult = await prolog.query(ENTITY_IDS_QUERY);
|
|
387
|
+
if (!idsResult.success) {
|
|
388
|
+
throw new Error(`Full KB entity ID enumeration query failed: ${idsResult.error ?? "Unknown error"}`);
|
|
389
|
+
}
|
|
390
|
+
const rawIds = idsResult.bindings.Ids;
|
|
391
|
+
if (rawIds === undefined) {
|
|
392
|
+
throw new Error("Full KB entity ID enumeration query returned no Ids binding");
|
|
393
|
+
}
|
|
394
|
+
const ids = parseAuthoritativeEntityIds(rawIds);
|
|
395
|
+
const entities = [];
|
|
396
|
+
for (let offset = 0; offset < ids.length; offset += ENTITY_BATCH_SIZE) {
|
|
397
|
+
entities.push(...(await loadEntityBatchAdaptively(prolog, ids.slice(offset, offset + ENTITY_BATCH_SIZE))));
|
|
398
|
+
}
|
|
399
|
+
return entities;
|
|
400
|
+
}
|
|
401
|
+
export async function loadKbExtractionResults(prolog) {
|
|
402
|
+
let entities;
|
|
403
|
+
if (prolog.queryEntities !== undefined) {
|
|
404
|
+
entities = await loadIndexedEntityProjection(prolog.queryEntities.bind(prolog));
|
|
405
|
+
}
|
|
406
|
+
else {
|
|
407
|
+
const entityResult = await prolog.query("findall([Id,Type,Props], kb_entity(Id, Type, Props), Results)");
|
|
408
|
+
if (entityResult.success) {
|
|
409
|
+
entities = entityResult.bindings.Results
|
|
410
|
+
? parseListOfLists(entityResult.bindings.Results).map(parseEntityFromList)
|
|
411
|
+
: [];
|
|
412
|
+
}
|
|
413
|
+
else if (isOutputCapacityError(entityResult.error)) {
|
|
414
|
+
entities = await loadBoundedEntityProjection(prolog);
|
|
415
|
+
}
|
|
416
|
+
else {
|
|
417
|
+
throw new Error(`Full KB entity projection query failed: ${entityResult.error ?? "Unknown error"}`);
|
|
418
|
+
}
|
|
419
|
+
}
|
|
151
420
|
const relationships = new Map();
|
|
152
421
|
for (const relationshipType of RELATIONSHIP_TYPES) {
|
|
153
422
|
const relResult = await prolog.query(`findall([From,To,'${relationshipType}'], kb_relationship(${relationshipType}, From, To), Rels)`);
|
|
423
|
+
if (!relResult.success) {
|
|
424
|
+
throw new Error(`Full KB relationship projection query failed for ${relationshipType}: ${relResult.error ?? "Unknown error"}`);
|
|
425
|
+
}
|
|
154
426
|
const rows = relResult.bindings.Rels
|
|
155
427
|
? parseTriples(relResult.bindings.Rels)
|
|
156
428
|
: [];
|
|
157
|
-
for (const [
|
|
429
|
+
for (const [rawFrom, rawTo, type] of rows) {
|
|
430
|
+
const from = normalizeEntityId(rawFrom);
|
|
431
|
+
const to = normalizeEntityId(rawTo);
|
|
158
432
|
const current = relationships.get(from) ?? [];
|
|
159
433
|
current.push({ from, to, type });
|
|
160
434
|
relationships.set(from, current);
|
|
@@ -172,6 +446,56 @@ async function loadKbExtractionResults(prolog) {
|
|
|
172
446
|
return result;
|
|
173
447
|
});
|
|
174
448
|
}
|
|
449
|
+
export function passingE2eStage(passingE2e) {
|
|
450
|
+
return passingE2e &&
|
|
451
|
+
typeof passingE2e === "object" &&
|
|
452
|
+
!Array.isArray(passingE2e)
|
|
453
|
+
? passingE2e
|
|
454
|
+
: undefined;
|
|
455
|
+
}
|
|
456
|
+
function stringArrayField(value) {
|
|
457
|
+
return Array.isArray(value) ? value.map(String) : undefined;
|
|
458
|
+
}
|
|
459
|
+
async function loadCoverageProofEvidence(prolog, requirementCount, proofSnapshot, checkedAt) {
|
|
460
|
+
if (proofSnapshot === undefined ||
|
|
461
|
+
checkedAt === undefined ||
|
|
462
|
+
requirementCount === 0) {
|
|
463
|
+
return new Map();
|
|
464
|
+
}
|
|
465
|
+
let payload;
|
|
466
|
+
try {
|
|
467
|
+
// W1 push-down: the slim evidence projection returns only the fields the
|
|
468
|
+
// quality diagnostics consume, keeping the response far below the output
|
|
469
|
+
// capacity limit on large KBs (the full coverage report rows were the
|
|
470
|
+
// original ENOBUFS offender).
|
|
471
|
+
payload = await runOperationJsonQuery(prolog, "discovery.pl", `discovery:coverage_evidence_json(${toPrologList([])}, ${toPrologAtom(proofSnapshot)}, ${toPrologAtom(checkedAt)}, ${PROOF_RECEIPT_MAX_AGE_SECONDS}, JsonString)`, "Quality diagnostic coverage evidence");
|
|
472
|
+
}
|
|
473
|
+
catch {
|
|
474
|
+
// Quality diagnostics must fail closed when the optional proof readback is
|
|
475
|
+
// unavailable; a failed advisory query must not make kb_check fail.
|
|
476
|
+
return new Map();
|
|
477
|
+
}
|
|
478
|
+
const evidence = new Map();
|
|
479
|
+
for (const row of payload.rows ?? []) {
|
|
480
|
+
const id = typeof row.id === "string" ? row.id : undefined;
|
|
481
|
+
if (id === undefined)
|
|
482
|
+
continue;
|
|
483
|
+
const passingE2eTests = stringArrayField(row.passingE2eTests) ?? [];
|
|
484
|
+
evidence.set(id, {
|
|
485
|
+
...(typeof row.proofStatus === "string"
|
|
486
|
+
? { proofStatus: row.proofStatus }
|
|
487
|
+
: {}),
|
|
488
|
+
...(typeof row.passingE2eStatus === "string"
|
|
489
|
+
? { passingE2eStatus: row.passingE2eStatus }
|
|
490
|
+
: {}),
|
|
491
|
+
passingE2eTests,
|
|
492
|
+
...(Array.isArray(row.receiptGapCodes)
|
|
493
|
+
? { receiptGapCodes: row.receiptGapCodes.map(String) }
|
|
494
|
+
: {}),
|
|
495
|
+
});
|
|
496
|
+
}
|
|
497
|
+
return evidence;
|
|
498
|
+
}
|
|
175
499
|
function capDiagnostics(diagnostics, maxDiagnostics) {
|
|
176
500
|
return maxDiagnostics !== undefined && maxDiagnostics >= 0
|
|
177
501
|
? diagnostics.slice(0, maxDiagnostics)
|
|
@@ -224,7 +548,8 @@ export async function collectFullKbQualityDiagnostics(options) {
|
|
|
224
548
|
loadKbExtractionResults(options.prolog),
|
|
225
549
|
collectTelemetryDiagnostics(options.workspaceRoot, options.now ?? new Date()),
|
|
226
550
|
]);
|
|
227
|
-
const
|
|
551
|
+
const proofEvidence = await loadCoverageProofEvidence(options.prolog, manifestResults.filter((result) => result.entity.type === "req").length, options.proofSnapshot, options.checkedAt);
|
|
552
|
+
const coverageDepthDiagnostics = createCoverageDepthQualityDiagnostics(manifestResults, proofEvidence);
|
|
228
553
|
const diagnostics = [
|
|
229
554
|
...telemetryDiagnostics,
|
|
230
555
|
...createRequirementQualityDiagnostics({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../../src/public/impact/manifest.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAc3E,wBAAgB,yBAAyB,CACvC,aAAa,EAAE,MAAM,GACpB,SAAS,gBAAgB,EAAE,
|
|
1
|
+
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../../src/public/impact/manifest.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAc3E,wBAAgB,yBAAyB,CACvC,aAAa,EAAE,MAAM,GACpB,SAAS,gBAAgB,EAAE,CAkB7B;AAED,wBAAgB,0BAA0B,CACxC,eAAe,EAAE,SAAS,gBAAgB,EAAE,GAC3C,cAAc,CAYhB"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { existsSync } from "node:fs";
|
|
2
2
|
import * as path from "node:path";
|
|
3
3
|
import { extractFromManifest } from "../../extractors/manifest.js";
|
|
4
|
-
import {
|
|
4
|
+
import { CANONICAL_ENTITY_PATHS } from "../../utils/kb-paths.js";
|
|
5
5
|
import { isTraceabilityRelationshipType } from "../symbol-granularity.js";
|
|
6
6
|
import { normalizeSourceFile } from "./source-changes.js";
|
|
7
7
|
function toTraceabilityRelationships(relationships) {
|
|
@@ -10,10 +10,7 @@ function toTraceabilityRelationships(relationships) {
|
|
|
10
10
|
.map((relationship) => ({ type: relationship.type, to: relationship.to }));
|
|
11
11
|
}
|
|
12
12
|
export function readImpactManifestResults(workspaceRoot) {
|
|
13
|
-
const
|
|
14
|
-
const symbolsPath = config.paths.symbols;
|
|
15
|
-
if (!symbolsPath)
|
|
16
|
-
return [];
|
|
13
|
+
const symbolsPath = CANONICAL_ENTITY_PATHS.symbols;
|
|
17
14
|
const absolutePath = path.isAbsolute(symbolsPath)
|
|
18
15
|
? symbolsPath
|
|
19
16
|
: path.resolve(workspaceRoot, symbolsPath);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operational-artifacts.d.ts","sourceRoot":"","sources":["../../src/public/operational-artifacts.ts"],"names":[],"mappings":"AAAA,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,
|
|
1
|
+
{"version":3,"file":"operational-artifacts.d.ts","sourceRoot":"","sources":["../../src/public/operational-artifacts.ts"],"names":[],"mappings":"AAAA,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAanE"}
|
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
export function isOperationalArtifactPath(pathLike) {
|
|
2
2
|
// implements REQ-001
|
|
3
3
|
const normalized = pathLike.replaceAll("\\", "/");
|
|
4
|
-
|
|
4
|
+
// Recovery journals and pending-source receipts are runtime-owned
|
|
5
|
+
// operational state. They must remain visible to Kibi's recovery/status
|
|
6
|
+
// services, but they are not authored evidence and must not make a Git
|
|
7
|
+
// verification snapshot dirty or enter source compilation as arbitrary
|
|
8
|
+
// untracked files.
|
|
9
|
+
return (/(^|\/)\.sisyphus\//.test(normalized) ||
|
|
10
|
+
/(^|\/)\.kb\/recovery(?:\/|$)/.test(normalized));
|
|
5
11
|
}
|