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
|
@@ -106,7 +106,7 @@ export declare const upsertSpec: {
|
|
|
106
106
|
};
|
|
107
107
|
readonly granularity_reason: {
|
|
108
108
|
readonly type: "string";
|
|
109
|
-
readonly enum: readonly ["config-artifact", "module-level-behavior", "extractor-miss", "legacy-link"];
|
|
109
|
+
readonly enum: readonly ["config-artifact", "module-level-behavior", "extractor-miss", "legacy-link", "test-suite"];
|
|
110
110
|
readonly description: "Optional justification for a coarse file/module-level symbol traceability relationship when narrower function/class/type symbols exist.";
|
|
111
111
|
};
|
|
112
112
|
readonly symbol_role: {
|
|
@@ -124,30 +124,101 @@ export declare const upsertSpec: {
|
|
|
124
124
|
readonly enum: readonly ["internal", "consumer"];
|
|
125
125
|
readonly description: "Optional typed verification perspective for test entities. Example: 'consumer'.";
|
|
126
126
|
};
|
|
127
|
-
readonly
|
|
127
|
+
readonly proof_contract: {
|
|
128
|
+
readonly description: "Semantic proof contract binding this test to explicit proof obligations executed by one configured integration.";
|
|
129
|
+
readonly type: "object";
|
|
130
|
+
readonly required: readonly ["version", "integration", "required_proofs", "success_policy"];
|
|
131
|
+
readonly properties: {
|
|
132
|
+
readonly version: {
|
|
133
|
+
readonly type: "string";
|
|
134
|
+
readonly const: "kibi.proof-contract.v1";
|
|
135
|
+
};
|
|
136
|
+
readonly integration: {
|
|
137
|
+
readonly type: "string";
|
|
138
|
+
readonly minLength: 1;
|
|
139
|
+
};
|
|
140
|
+
readonly required_proofs: {
|
|
141
|
+
readonly type: "array";
|
|
142
|
+
readonly minItems: 1;
|
|
143
|
+
readonly maxItems: 1000;
|
|
144
|
+
readonly items: {
|
|
145
|
+
readonly type: "object";
|
|
146
|
+
readonly required: readonly ["symbol_id", "target"];
|
|
147
|
+
readonly properties: {
|
|
148
|
+
readonly symbol_id: {
|
|
149
|
+
readonly type: "string";
|
|
150
|
+
readonly minLength: 1;
|
|
151
|
+
};
|
|
152
|
+
readonly target: {
|
|
153
|
+
readonly type: "string";
|
|
154
|
+
readonly minLength: 1;
|
|
155
|
+
};
|
|
156
|
+
};
|
|
157
|
+
readonly additionalProperties: false;
|
|
158
|
+
};
|
|
159
|
+
};
|
|
160
|
+
readonly success_policy: {
|
|
161
|
+
readonly type: "string";
|
|
162
|
+
readonly enum: readonly ["all_required_first_attempt"];
|
|
163
|
+
};
|
|
164
|
+
};
|
|
165
|
+
readonly additionalProperties: false;
|
|
166
|
+
};
|
|
167
|
+
readonly proof_bindings: {
|
|
168
|
+
readonly description: "Optional native-runner bindings (native ids, aliases, source coordinates) for proof obligations. Bindings are provenance metadata and never replace the semantic contract.";
|
|
128
169
|
readonly type: "array";
|
|
129
|
-
readonly maxItems: 50;
|
|
130
170
|
readonly items: {
|
|
131
171
|
readonly type: "object";
|
|
132
|
-
readonly required: readonly ["
|
|
172
|
+
readonly required: readonly ["symbol_id", "target"];
|
|
133
173
|
readonly properties: {
|
|
134
|
-
readonly
|
|
174
|
+
readonly symbol_id: {
|
|
135
175
|
readonly type: "string";
|
|
136
|
-
readonly
|
|
176
|
+
readonly minLength: 1;
|
|
137
177
|
};
|
|
138
|
-
readonly
|
|
178
|
+
readonly target: {
|
|
139
179
|
readonly type: "string";
|
|
140
|
-
readonly
|
|
180
|
+
readonly minLength: 1;
|
|
141
181
|
};
|
|
142
|
-
readonly
|
|
182
|
+
readonly native_id: {
|
|
143
183
|
readonly type: "string";
|
|
144
184
|
readonly minLength: 1;
|
|
145
185
|
};
|
|
146
|
-
readonly
|
|
186
|
+
readonly aliases: {
|
|
187
|
+
readonly type: "array";
|
|
188
|
+
readonly items: {
|
|
189
|
+
readonly type: "string";
|
|
190
|
+
readonly minLength: 1;
|
|
191
|
+
};
|
|
192
|
+
};
|
|
193
|
+
readonly source_file: {
|
|
147
194
|
readonly type: "string";
|
|
148
195
|
readonly minLength: 1;
|
|
149
196
|
};
|
|
150
|
-
readonly
|
|
197
|
+
readonly line: {
|
|
198
|
+
readonly type: "integer";
|
|
199
|
+
readonly minimum: 1;
|
|
200
|
+
};
|
|
201
|
+
};
|
|
202
|
+
readonly additionalProperties: false;
|
|
203
|
+
};
|
|
204
|
+
};
|
|
205
|
+
readonly proof_receipts: {
|
|
206
|
+
readonly type: "array";
|
|
207
|
+
readonly maxItems: 50;
|
|
208
|
+
readonly items: {
|
|
209
|
+
readonly type: "object";
|
|
210
|
+
readonly description: "Kibi-derived kibi.proof-receipt.v1. Receipts are never caller-authored; kb_ingest_proof derives them from kibi.proof-run.v1 artifacts.";
|
|
211
|
+
readonly required: readonly ["version", "receipt_id", "test_id", "scope", "outcome", "code_snapshot", "environment_hash", "started_at", "finished_at", "artifact_digest", "contract_hash", "fingerprint", "fingerprint_components", "integration_id", "producer", "command_argv", "run_outcome", "proof_results"];
|
|
212
|
+
readonly properties: {
|
|
213
|
+
readonly version: {
|
|
214
|
+
readonly type: "string";
|
|
215
|
+
readonly const: "kibi.proof-receipt.v1";
|
|
216
|
+
};
|
|
217
|
+
readonly receipt_id: {
|
|
218
|
+
readonly type: "string";
|
|
219
|
+
readonly pattern: "^PR-[A-Za-z0-9][A-Za-z0-9._:-]{7,127}$";
|
|
220
|
+
};
|
|
221
|
+
readonly test_id: {
|
|
151
222
|
readonly type: "string";
|
|
152
223
|
readonly minLength: 1;
|
|
153
224
|
};
|
|
@@ -157,7 +228,7 @@ export declare const upsertSpec: {
|
|
|
157
228
|
};
|
|
158
229
|
readonly outcome: {
|
|
159
230
|
readonly type: "string";
|
|
160
|
-
readonly enum: readonly ["passed", "failed", "errored", "cancelled", "skipped"];
|
|
231
|
+
readonly enum: readonly ["passed", "failed", "errored", "cancelled", "skipped", "timed_out", "interrupted"];
|
|
161
232
|
};
|
|
162
233
|
readonly code_snapshot: {
|
|
163
234
|
readonly type: "string";
|
|
@@ -179,10 +250,176 @@ export declare const upsertSpec: {
|
|
|
179
250
|
readonly type: "string";
|
|
180
251
|
readonly pattern: "^[a-f0-9]{64}$";
|
|
181
252
|
};
|
|
253
|
+
readonly contract_hash: {
|
|
254
|
+
readonly type: "string";
|
|
255
|
+
readonly pattern: "^[a-f0-9]{64}$";
|
|
256
|
+
};
|
|
257
|
+
readonly binding_hash: {
|
|
258
|
+
readonly type: "string";
|
|
259
|
+
readonly pattern: "^[a-f0-9]{64}$";
|
|
260
|
+
};
|
|
261
|
+
readonly fingerprint: {
|
|
262
|
+
readonly type: "string";
|
|
263
|
+
readonly pattern: "^[a-f0-9]{64}$";
|
|
264
|
+
};
|
|
265
|
+
readonly fingerprint_components: {
|
|
266
|
+
readonly type: "object";
|
|
267
|
+
readonly required: readonly ["contract", "integration", "command", "bindings", "producer"];
|
|
268
|
+
readonly additionalProperties: false;
|
|
269
|
+
readonly properties: {
|
|
270
|
+
readonly contract: {
|
|
271
|
+
readonly type: "string";
|
|
272
|
+
readonly pattern: "^[a-f0-9]{64}$";
|
|
273
|
+
};
|
|
274
|
+
readonly integration: {
|
|
275
|
+
readonly type: "string";
|
|
276
|
+
readonly pattern: "^[a-f0-9]{64}$";
|
|
277
|
+
};
|
|
278
|
+
readonly command: {
|
|
279
|
+
readonly type: "string";
|
|
280
|
+
readonly pattern: "^[a-f0-9]{64}$";
|
|
281
|
+
};
|
|
282
|
+
readonly bindings: {
|
|
283
|
+
readonly type: "string";
|
|
284
|
+
readonly pattern: "^[a-f0-9]{64}$";
|
|
285
|
+
};
|
|
286
|
+
readonly producer: {
|
|
287
|
+
readonly type: "string";
|
|
288
|
+
readonly pattern: "^[a-f0-9]{64}$";
|
|
289
|
+
};
|
|
290
|
+
};
|
|
291
|
+
};
|
|
292
|
+
readonly integration_id: {
|
|
293
|
+
readonly type: "string";
|
|
294
|
+
readonly minLength: 1;
|
|
295
|
+
};
|
|
296
|
+
readonly producer: {
|
|
297
|
+
readonly type: "object";
|
|
298
|
+
readonly required: readonly ["name"];
|
|
299
|
+
readonly properties: {
|
|
300
|
+
readonly name: {
|
|
301
|
+
readonly type: "string";
|
|
302
|
+
readonly minLength: 1;
|
|
303
|
+
};
|
|
304
|
+
readonly version: {
|
|
305
|
+
readonly type: "string";
|
|
306
|
+
readonly minLength: 1;
|
|
307
|
+
};
|
|
308
|
+
};
|
|
309
|
+
readonly additionalProperties: false;
|
|
310
|
+
};
|
|
311
|
+
readonly command_argv: {
|
|
312
|
+
readonly type: "array";
|
|
313
|
+
readonly minItems: 1;
|
|
314
|
+
readonly items: {
|
|
315
|
+
readonly type: "string";
|
|
316
|
+
readonly minLength: 1;
|
|
317
|
+
};
|
|
318
|
+
};
|
|
319
|
+
readonly run_outcome: {
|
|
320
|
+
readonly type: "string";
|
|
321
|
+
readonly enum: readonly ["passed", "failed", "errored", "cancelled", "timed_out", "interrupted", "no_results"];
|
|
322
|
+
};
|
|
323
|
+
readonly proof_results: {
|
|
324
|
+
readonly type: "array";
|
|
325
|
+
readonly minItems: 0;
|
|
326
|
+
readonly maxItems: 1000;
|
|
327
|
+
readonly items: {
|
|
328
|
+
readonly type: "object";
|
|
329
|
+
readonly required: readonly ["symbol_id", "target", "outcome", "binding", "attempts"];
|
|
330
|
+
readonly properties: {
|
|
331
|
+
readonly symbol_id: {
|
|
332
|
+
readonly type: "string";
|
|
333
|
+
readonly minLength: 1;
|
|
334
|
+
};
|
|
335
|
+
readonly target: {
|
|
336
|
+
readonly type: "string";
|
|
337
|
+
readonly minLength: 1;
|
|
338
|
+
};
|
|
339
|
+
readonly outcome: {
|
|
340
|
+
readonly type: "string";
|
|
341
|
+
readonly enum: readonly ["passed", "failed", "timed_out", "skipped", "interrupted", "errored"];
|
|
342
|
+
};
|
|
343
|
+
readonly binding: {
|
|
344
|
+
readonly type: "string";
|
|
345
|
+
readonly enum: readonly ["native_case", "aggregate_run"];
|
|
346
|
+
};
|
|
347
|
+
readonly native_id: {
|
|
348
|
+
readonly type: "string";
|
|
349
|
+
readonly minLength: 1;
|
|
350
|
+
};
|
|
351
|
+
readonly attempts: {
|
|
352
|
+
readonly oneOf: readonly [{
|
|
353
|
+
readonly type: "object";
|
|
354
|
+
readonly required: readonly ["status", "entries"];
|
|
355
|
+
readonly properties: {
|
|
356
|
+
readonly status: {
|
|
357
|
+
readonly type: "string";
|
|
358
|
+
readonly const: "complete";
|
|
359
|
+
};
|
|
360
|
+
readonly entries: {
|
|
361
|
+
readonly type: "array";
|
|
362
|
+
readonly minItems: 1;
|
|
363
|
+
readonly items: {
|
|
364
|
+
readonly type: "object";
|
|
365
|
+
readonly required: readonly ["outcome"];
|
|
366
|
+
readonly properties: {
|
|
367
|
+
readonly outcome: {
|
|
368
|
+
readonly type: "string";
|
|
369
|
+
readonly enum: readonly ["passed", "failed", "timed_out", "skipped", "interrupted", "errored"];
|
|
370
|
+
};
|
|
371
|
+
readonly duration_ms: {
|
|
372
|
+
readonly type: "number";
|
|
373
|
+
readonly minimum: 0;
|
|
374
|
+
};
|
|
375
|
+
};
|
|
376
|
+
readonly additionalProperties: false;
|
|
377
|
+
};
|
|
378
|
+
};
|
|
379
|
+
};
|
|
380
|
+
readonly additionalProperties: false;
|
|
381
|
+
}, {
|
|
382
|
+
readonly type: "object";
|
|
383
|
+
readonly required: readonly ["status"];
|
|
384
|
+
readonly properties: {
|
|
385
|
+
readonly status: {
|
|
386
|
+
readonly type: "string";
|
|
387
|
+
readonly const: "unavailable";
|
|
388
|
+
};
|
|
389
|
+
};
|
|
390
|
+
readonly additionalProperties: false;
|
|
391
|
+
}];
|
|
392
|
+
};
|
|
393
|
+
};
|
|
394
|
+
readonly additionalProperties: false;
|
|
395
|
+
};
|
|
396
|
+
};
|
|
397
|
+
readonly gaps: {
|
|
398
|
+
readonly type: "array";
|
|
399
|
+
readonly items: {
|
|
400
|
+
readonly type: "object";
|
|
401
|
+
readonly required: readonly ["symbol_id", "target", "reason"];
|
|
402
|
+
readonly properties: {
|
|
403
|
+
readonly symbol_id: {
|
|
404
|
+
readonly type: "string";
|
|
405
|
+
readonly minLength: 1;
|
|
406
|
+
};
|
|
407
|
+
readonly target: {
|
|
408
|
+
readonly type: "string";
|
|
409
|
+
readonly minLength: 1;
|
|
410
|
+
};
|
|
411
|
+
readonly reason: {
|
|
412
|
+
readonly type: "string";
|
|
413
|
+
readonly minLength: 1;
|
|
414
|
+
};
|
|
415
|
+
};
|
|
416
|
+
readonly additionalProperties: false;
|
|
417
|
+
};
|
|
418
|
+
};
|
|
182
419
|
};
|
|
183
420
|
readonly additionalProperties: false;
|
|
184
421
|
};
|
|
185
|
-
readonly description: "Append-only
|
|
422
|
+
readonly description: "Append-only proof evidence. Proof accepts only the newest valid passed receipt bound to the current code snapshot, current contract hash, and effective execution fingerprint within the seven-day freshness window. Ingest rotates the oldest entries at the cap.";
|
|
186
423
|
};
|
|
187
424
|
readonly fact_kind: {
|
|
188
425
|
readonly type: "string";
|
|
@@ -346,7 +583,7 @@ export declare const upsertSpec: {
|
|
|
346
583
|
};
|
|
347
584
|
readonly allOf: readonly [Record<string, unknown>, {
|
|
348
585
|
readonly if: {
|
|
349
|
-
readonly required: readonly ["
|
|
586
|
+
readonly required: readonly ["proof_receipts"];
|
|
350
587
|
};
|
|
351
588
|
readonly then: {
|
|
352
589
|
readonly required: readonly ["verification_scope"];
|
|
@@ -377,6 +614,20 @@ export declare const upsertSpec: {
|
|
|
377
614
|
};
|
|
378
615
|
};
|
|
379
616
|
};
|
|
617
|
+
readonly document: {
|
|
618
|
+
readonly type: "object";
|
|
619
|
+
readonly additionalProperties: false;
|
|
620
|
+
readonly description: "Optional source-first document write. Paths are workspace-relative; omit body when updating to preserve the existing body bytes.";
|
|
621
|
+
readonly properties: {
|
|
622
|
+
readonly path: {
|
|
623
|
+
readonly type: "string";
|
|
624
|
+
readonly minLength: 1;
|
|
625
|
+
};
|
|
626
|
+
readonly body: {
|
|
627
|
+
readonly type: "string";
|
|
628
|
+
};
|
|
629
|
+
};
|
|
630
|
+
};
|
|
380
631
|
};
|
|
381
632
|
};
|
|
382
633
|
readonly requiresProlog: true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upsert.d.ts","sourceRoot":"","sources":["../../../../src/public/operations/specs/upsert.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AAQvE,eAAO,MAAM,UAAU
|
|
1
|
+
{"version":3,"file":"upsert.d.ts","sourceRoot":"","sources":["../../../../src/public/operations/specs/upsert.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AAQvE,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqCuC,CAAC"}
|
|
@@ -19,6 +19,15 @@ export const upsertSpec = {
|
|
|
19
19
|
},
|
|
20
20
|
properties: ENTITY_PROPERTIES_SCHEMA,
|
|
21
21
|
relationships: RELATIONSHIPS_SCHEMA,
|
|
22
|
+
document: {
|
|
23
|
+
type: "object",
|
|
24
|
+
additionalProperties: false,
|
|
25
|
+
description: "Optional source-first document write. Paths are workspace-relative; omit body when updating to preserve the existing body bytes.",
|
|
26
|
+
properties: {
|
|
27
|
+
path: { type: "string", minLength: 1 },
|
|
28
|
+
body: { type: "string" },
|
|
29
|
+
},
|
|
30
|
+
},
|
|
22
31
|
},
|
|
23
32
|
},
|
|
24
33
|
requiresProlog: true,
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { OperationContext } from "./runtime-types.js";
|
|
2
|
+
export declare const SYMBOL_REPAIR_PLAN_VERSION: "kibi.symbol-repair-plan.v1";
|
|
3
|
+
export type SymbolRepairPlan = Readonly<{
|
|
4
|
+
version: typeof SYMBOL_REPAIR_PLAN_VERSION;
|
|
5
|
+
readOnly: true;
|
|
6
|
+
autoApplicable: false;
|
|
7
|
+
repairs: readonly Readonly<Record<string, unknown>>[];
|
|
8
|
+
}>;
|
|
9
|
+
export type CoordinateRepairEvidence = Readonly<{
|
|
10
|
+
symbolId: string;
|
|
11
|
+
sourceFile: string | null;
|
|
12
|
+
refreshable: boolean;
|
|
13
|
+
reason: "extractable" | "coarse_anchor" | "extractor_miss" | "source_unavailable";
|
|
14
|
+
suggestion: string;
|
|
15
|
+
}>;
|
|
16
|
+
/** Preview the same extraction and explicit coarse fallback used by refresh. */
|
|
17
|
+
export declare function inspectCoordinateRepairs(symbols: readonly Readonly<Record<string, unknown>>[], workspaceRoot: string): Promise<Map<string, CoordinateRepairEvidence>>;
|
|
18
|
+
/** Attach current extraction evidence before constructing requirement repairs. */
|
|
19
|
+
export declare function addCoordinateRepairEvidence(rows: readonly Readonly<Record<string, unknown>>[], context: OperationContext): Promise<readonly Readonly<Record<string, unknown>>[]>;
|
|
20
|
+
/** Build review-only, evidence-backed symbol recovery suggestions. */
|
|
21
|
+
export declare function buildSymbolRepairPlan(rows: readonly Readonly<Record<string, unknown>>[], context: OperationContext): Promise<SymbolRepairPlan | undefined>;
|
|
22
|
+
//# sourceMappingURL=symbol-repair-plan.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"symbol-repair-plan.d.ts","sourceRoot":"","sources":["../../../src/public/operations/symbol-repair-plan.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,eAAO,MAAM,0BAA0B,EAAG,4BAAqC,CAAC;AAEhF,MAAM,MAAM,gBAAgB,GAAG,QAAQ,CAAC;IACtC,OAAO,EAAE,OAAO,0BAA0B,CAAC;IAC3C,QAAQ,EAAE,IAAI,CAAC;IACf,cAAc,EAAE,KAAK,CAAC;IACtB,OAAO,EAAE,SAAS,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC;CACvD,CAAC,CAAC;AAoBH,MAAM,MAAM,wBAAwB,GAAG,QAAQ,CAAC;IAC9C,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,WAAW,EAAE,OAAO,CAAC;IACrB,MAAM,EACF,aAAa,GACb,eAAe,GACf,gBAAgB,GAChB,oBAAoB,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC,CAAC;AAEH,gFAAgF;AAChF,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,SAAS,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,EACrD,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC,CA2DhD;AAED,kFAAkF;AAClF,wBAAsB,2BAA2B,CAC/C,IAAI,EAAE,SAAS,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,EAClD,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,SAAS,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CA+DvD;AAwCD,sEAAsE;AACtE,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,SAAS,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,EAClD,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAgGvC"}
|
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
import { existsSync, readFileSync } from "node:fs";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { coarseCoordinateSpan } from "../../extractors/symbol-coordinates.js";
|
|
4
|
+
import { analyzeSourceText, enrichSymbolCoordinates, } from "../../extractors/symbols-coordinator.js";
|
|
5
|
+
import { isCoarseGranularityReason } from "../symbol-granularity.js";
|
|
6
|
+
import { loadEntities } from "./discovery-entities.js";
|
|
7
|
+
export const SYMBOL_REPAIR_PLAN_VERSION = "kibi.symbol-repair-plan.v1";
|
|
8
|
+
function sourceFileOf(entity) {
|
|
9
|
+
const value = entity.sourceFile ?? entity.source;
|
|
10
|
+
return typeof value === "string" && value.trim() ? value.trim() : null;
|
|
11
|
+
}
|
|
12
|
+
function coordinatesPresent(entity) {
|
|
13
|
+
return [
|
|
14
|
+
entity.sourceLine,
|
|
15
|
+
entity.sourceColumn,
|
|
16
|
+
entity.sourceEndLine,
|
|
17
|
+
entity.sourceEndColumn,
|
|
18
|
+
].every((value) => Number.isInteger(value) && Number(value) >= 0);
|
|
19
|
+
}
|
|
20
|
+
/** Preview the same extraction and explicit coarse fallback used by refresh. */
|
|
21
|
+
export async function inspectCoordinateRepairs(symbols, workspaceRoot) {
|
|
22
|
+
const entries = symbols.map((symbol) => {
|
|
23
|
+
const sourceFile = sourceFileOf(symbol);
|
|
24
|
+
return {
|
|
25
|
+
id: String(symbol.id),
|
|
26
|
+
title: typeof symbol.title === "string" ? symbol.title : "",
|
|
27
|
+
...(sourceFile === null ? {} : { sourceFile }),
|
|
28
|
+
...(typeof symbol.granularity_reason === "string"
|
|
29
|
+
? { granularity_reason: symbol.granularity_reason }
|
|
30
|
+
: {}),
|
|
31
|
+
};
|
|
32
|
+
});
|
|
33
|
+
const enriched = await enrichSymbolCoordinates(entries, workspaceRoot);
|
|
34
|
+
return new Map(entries.map((entry, index) => {
|
|
35
|
+
const sourceFile = entry.sourceFile ?? null;
|
|
36
|
+
let source = null;
|
|
37
|
+
if (sourceFile) {
|
|
38
|
+
try {
|
|
39
|
+
source = readFileSync(path.resolve(workspaceRoot, sourceFile), "utf8");
|
|
40
|
+
}
|
|
41
|
+
catch {
|
|
42
|
+
/* A missing or unreadable source requires authored repair. */
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
const extracted = entry.title.length > 0 && coordinatesPresent(enriched[index] ?? {});
|
|
46
|
+
const coarse = source !== null &&
|
|
47
|
+
sourceFile !== null &&
|
|
48
|
+
isCoarseGranularityReason(entry.granularity_reason) &&
|
|
49
|
+
coarseCoordinateSpan(sourceFile, entry.title, source) !== null;
|
|
50
|
+
const reason = source === null
|
|
51
|
+
? "source_unavailable"
|
|
52
|
+
: extracted
|
|
53
|
+
? "extractable"
|
|
54
|
+
: coarse
|
|
55
|
+
? "coarse_anchor"
|
|
56
|
+
: "extractor_miss";
|
|
57
|
+
const refreshable = source !== null && (extracted || coarse);
|
|
58
|
+
return [
|
|
59
|
+
entry.id,
|
|
60
|
+
{
|
|
61
|
+
symbolId: entry.id,
|
|
62
|
+
sourceFile,
|
|
63
|
+
refreshable,
|
|
64
|
+
reason,
|
|
65
|
+
suggestion: refreshable
|
|
66
|
+
? "Refresh and persist current symbol coordinates."
|
|
67
|
+
: source === null
|
|
68
|
+
? "Repair sourceFile to point to readable implementation code before refreshing."
|
|
69
|
+
: "Query and validate the symbol, then author a resolvable title/sourceFile or an explicit granularity_reason: extractor-miss (or another intentional coarse anchor) through kb_upsert before refreshing.",
|
|
70
|
+
},
|
|
71
|
+
];
|
|
72
|
+
}));
|
|
73
|
+
}
|
|
74
|
+
/** Attach current extraction evidence before constructing requirement repairs. */
|
|
75
|
+
export async function addCoordinateRepairEvidence(rows, context) {
|
|
76
|
+
const missingByRow = rows.map((row) => {
|
|
77
|
+
const stages = row.proofStages;
|
|
78
|
+
const missing = stages?.sourceCoordinates?.missingSymbols;
|
|
79
|
+
return Array.isArray(missing)
|
|
80
|
+
? missing.filter((id) => typeof id === "string")
|
|
81
|
+
: [];
|
|
82
|
+
});
|
|
83
|
+
const ids = new Set(missingByRow.flat());
|
|
84
|
+
if (ids.size === 0 || !context.prolog)
|
|
85
|
+
return rows;
|
|
86
|
+
const symbols = (await loadEntities(context.prolog, { type: "symbol" })).filter((symbol) => ids.has(String(symbol.id)));
|
|
87
|
+
const evidence = await inspectCoordinateRepairs(symbols, context.workspaceRoot);
|
|
88
|
+
return rows.map((row, index) => {
|
|
89
|
+
const missing = missingByRow[index] ?? [];
|
|
90
|
+
if (missing.length === 0)
|
|
91
|
+
return row;
|
|
92
|
+
const coordinateRepairs = missing.map((id) => evidence.get(id) ?? {
|
|
93
|
+
symbolId: id,
|
|
94
|
+
sourceFile: null,
|
|
95
|
+
refreshable: false,
|
|
96
|
+
reason: "source_unavailable",
|
|
97
|
+
suggestion: "Query and repair the missing symbol before refreshing.",
|
|
98
|
+
});
|
|
99
|
+
const stages = row.proofStages;
|
|
100
|
+
return {
|
|
101
|
+
...row,
|
|
102
|
+
...(Array.isArray(row.proofRepairs)
|
|
103
|
+
? {
|
|
104
|
+
proofRepairs: row.proofRepairs.map((repair) => repair?.gap === "missing_symbol_coordinates" &&
|
|
105
|
+
coordinateRepairs.some((item) => !item.refreshable)
|
|
106
|
+
? {
|
|
107
|
+
...repair,
|
|
108
|
+
action: [
|
|
109
|
+
...new Set(coordinateRepairs
|
|
110
|
+
.filter((item) => !item.refreshable)
|
|
111
|
+
.map((item) => item.suggestion)),
|
|
112
|
+
].join(" "),
|
|
113
|
+
}
|
|
114
|
+
: repair),
|
|
115
|
+
}
|
|
116
|
+
: {}),
|
|
117
|
+
proofStages: {
|
|
118
|
+
...stages,
|
|
119
|
+
sourceCoordinates: {
|
|
120
|
+
...stages.sourceCoordinates,
|
|
121
|
+
coordinateRepairs,
|
|
122
|
+
},
|
|
123
|
+
},
|
|
124
|
+
};
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
function currentCandidates(entity, symbols, extractedByPath) {
|
|
128
|
+
const title = typeof entity.title === "string" ? entity.title : "";
|
|
129
|
+
const kind = typeof entity.symbol_kind === "string" ? entity.symbol_kind : "";
|
|
130
|
+
const source = sourceFileOf(entity);
|
|
131
|
+
const extracted = source ? (extractedByPath.get(source) ?? []) : [];
|
|
132
|
+
const names = new Set(extracted
|
|
133
|
+
.filter((candidate) => !kind || candidate.kind === kind)
|
|
134
|
+
.map((candidate) => candidate.name));
|
|
135
|
+
return symbols
|
|
136
|
+
.filter((candidate) => candidate.id !== entity.id)
|
|
137
|
+
.filter((candidate) => {
|
|
138
|
+
const candidateTitle = typeof candidate.title === "string" ? candidate.title : "";
|
|
139
|
+
const candidateKind = typeof candidate.symbol_kind === "string" ? candidate.symbol_kind : "";
|
|
140
|
+
return ((title !== "" && candidateTitle === title) ||
|
|
141
|
+
(kind !== "" && candidateKind === kind && names.has(candidateTitle)));
|
|
142
|
+
})
|
|
143
|
+
.map((candidate) => ({
|
|
144
|
+
symbolId: String(candidate.id),
|
|
145
|
+
title: candidate.title,
|
|
146
|
+
symbolKind: candidate.symbol_kind,
|
|
147
|
+
sourceFile: sourceFileOf(candidate),
|
|
148
|
+
evidence: "current extraction/title/kind match",
|
|
149
|
+
}));
|
|
150
|
+
}
|
|
151
|
+
/** Build review-only, evidence-backed symbol recovery suggestions. */
|
|
152
|
+
export async function buildSymbolRepairPlan(rows, context) {
|
|
153
|
+
if (!context.prolog || rows.length === 0)
|
|
154
|
+
return undefined;
|
|
155
|
+
const symbols = await loadEntities(context.prolog, { type: "symbol" });
|
|
156
|
+
const extractedByPath = new Map();
|
|
157
|
+
for (const symbol of symbols) {
|
|
158
|
+
const source = sourceFileOf(symbol);
|
|
159
|
+
if (!source || extractedByPath.has(source))
|
|
160
|
+
continue;
|
|
161
|
+
const absolute = path.isAbsolute(source)
|
|
162
|
+
? source
|
|
163
|
+
: path.resolve(context.workspaceRoot, source);
|
|
164
|
+
if (!existsSync(absolute))
|
|
165
|
+
continue;
|
|
166
|
+
try {
|
|
167
|
+
const analysis = analyzeSourceText(absolute, readFileSync(absolute, "utf8"));
|
|
168
|
+
if (analysis.providerId === null)
|
|
169
|
+
continue;
|
|
170
|
+
extractedByPath.set(source, analysis.symbols.map((candidate) => ({
|
|
171
|
+
name: candidate.name,
|
|
172
|
+
kind: candidate.kind,
|
|
173
|
+
})));
|
|
174
|
+
}
|
|
175
|
+
catch {
|
|
176
|
+
// An unavailable extractor cannot establish that a declaration is absent.
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
const coordinateEvidence = await inspectCoordinateRepairs(symbols.filter((symbol) => !coordinatesPresent(symbol)), context.workspaceRoot);
|
|
180
|
+
const repairs = rows.flatMap((row) => {
|
|
181
|
+
if (row.type !== "symbol")
|
|
182
|
+
return [];
|
|
183
|
+
const entity = symbols.find((candidate) => candidate.id === row.id);
|
|
184
|
+
if (!entity)
|
|
185
|
+
return [];
|
|
186
|
+
const source = sourceFileOf(entity);
|
|
187
|
+
const absolute = source
|
|
188
|
+
? path.isAbsolute(source)
|
|
189
|
+
? source
|
|
190
|
+
: path.resolve(context.workspaceRoot, source)
|
|
191
|
+
: null;
|
|
192
|
+
const exists = absolute !== null && existsSync(absolute);
|
|
193
|
+
const candidates = currentCandidates(entity, symbols, extractedByPath);
|
|
194
|
+
const extraction = source ? extractedByPath.get(source) : undefined;
|
|
195
|
+
const extractionProvesAbsent = exists &&
|
|
196
|
+
extraction !== undefined &&
|
|
197
|
+
!extraction.some((candidate) => candidate.name === entity.title &&
|
|
198
|
+
(!entity.symbol_kind || candidate.kind === entity.symbol_kind));
|
|
199
|
+
const gaps = Array.isArray(row.gaps) ? row.gaps.map(String) : [];
|
|
200
|
+
const action = !exists
|
|
201
|
+
? entity.symbol_origin === "extracted"
|
|
202
|
+
? "delete_obsolete_symbol"
|
|
203
|
+
: "review"
|
|
204
|
+
: extractionProvesAbsent && entity.symbol_origin === "extracted"
|
|
205
|
+
? "delete_obsolete_symbol"
|
|
206
|
+
: !coordinatesPresent(entity)
|
|
207
|
+
? coordinateEvidence.get(String(entity.id))?.refreshable === true
|
|
208
|
+
? "refresh_coordinates"
|
|
209
|
+
: "review"
|
|
210
|
+
: candidates.length > 0
|
|
211
|
+
? "remap"
|
|
212
|
+
: "review";
|
|
213
|
+
return [
|
|
214
|
+
{
|
|
215
|
+
symbolId: String(entity.id),
|
|
216
|
+
action,
|
|
217
|
+
candidates,
|
|
218
|
+
evidence: {
|
|
219
|
+
sourceFile: source,
|
|
220
|
+
sourceExists: exists,
|
|
221
|
+
extractionProvesAbsent,
|
|
222
|
+
gaps,
|
|
223
|
+
currentExtractionAvailable: source
|
|
224
|
+
? extractedByPath.has(source)
|
|
225
|
+
: false,
|
|
226
|
+
autoApply: false,
|
|
227
|
+
coordinateRepair: coordinateEvidence.get(String(entity.id)),
|
|
228
|
+
},
|
|
229
|
+
},
|
|
230
|
+
];
|
|
231
|
+
});
|
|
232
|
+
return {
|
|
233
|
+
version: SYMBOL_REPAIR_PLAN_VERSION,
|
|
234
|
+
readOnly: true,
|
|
235
|
+
autoApplicable: false,
|
|
236
|
+
repairs,
|
|
237
|
+
};
|
|
238
|
+
}
|