kibi-cli 1.0.1 → 2.1.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.js +3 -3
- package/dist/cli-operation-metadata.d.ts +4 -3
- package/dist/cli-operation-metadata.d.ts.map +1 -1
- package/dist/cli-operation-metadata.js +7 -5
- package/dist/cli-protocol.js +1 -1
- package/dist/cli-register-maintenance.d.ts.map +1 -1
- package/dist/cli-register-maintenance.js +7 -0
- 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 +127 -0
- package/dist/cli-register-reporting.d.ts.map +1 -1
- package/dist/cli-register-reporting.js +7 -0
- package/dist/cli.d.ts +4 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +19 -10
- package/dist/commands/branch.d.ts +1 -0
- package/dist/commands/branch.d.ts.map +1 -1
- package/dist/commands/branch.js +8 -4
- package/dist/commands/check-generated.d.ts +7 -0
- package/dist/commands/check-generated.d.ts.map +1 -0
- package/dist/commands/check-generated.js +192 -0
- package/dist/commands/check.d.ts +14 -0
- package/dist/commands/check.d.ts.map +1 -1
- package/dist/commands/check.js +193 -46
- 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/doctor.d.ts +22 -0
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +170 -23
- package/dist/commands/engine.d.ts +12 -0
- package/dist/commands/engine.d.ts.map +1 -1
- package/dist/commands/engine.js +42 -0
- package/dist/commands/github-init.d.ts +1 -0
- package/dist/commands/github-init.d.ts.map +1 -1
- package/dist/commands/github-init.js +9 -5
- package/dist/commands/init-helpers.d.ts.map +1 -1
- package/dist/commands/init-helpers.js +49 -10
- package/dist/commands/migrate.d.ts +4 -0
- package/dist/commands/migrate.d.ts.map +1 -1
- package/dist/commands/migrate.js +7 -7
- package/dist/commands/proof-explain.d.ts +10 -0
- package/dist/commands/proof-explain.d.ts.map +1 -0
- package/dist/commands/proof-explain.js +45 -0
- package/dist/commands/proof-impact.d.ts +7 -0
- package/dist/commands/proof-impact.d.ts.map +1 -0
- package/dist/commands/proof-impact.js +39 -0
- 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.map +1 -1
- package/dist/commands/report.js +18 -3
- package/dist/commands/sync/discovery.d.ts +3 -0
- package/dist/commands/sync/discovery.d.ts.map +1 -1
- package/dist/commands/sync/discovery.js +36 -28
- package/dist/commands/sync/manifest.d.ts +2 -1
- package/dist/commands/sync/manifest.d.ts.map +1 -1
- package/dist/commands/sync/manifest.js +55 -21
- 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 +31 -14
- 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 +11 -1
- package/dist/commands/sync.d.ts.map +1 -1
- package/dist/commands/sync.js +74 -30
- 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 +17 -77
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js +331 -91
- package/dist/env/bootstrap.d.ts +84 -0
- package/dist/env/bootstrap.d.ts.map +1 -0
- package/dist/env/bootstrap.js +310 -0
- package/dist/extractors/manifest.d.ts +5 -0
- package/dist/extractors/manifest.d.ts.map +1 -1
- package/dist/extractors/manifest.js +46 -1
- package/dist/extractors/markdown.d.ts +7 -3
- package/dist/extractors/markdown.d.ts.map +1 -1
- package/dist/extractors/markdown.js +60 -24
- package/dist/extractors/playwright-cases.js +1 -1
- package/dist/extractors/relationships.d.ts +6 -0
- package/dist/extractors/relationships.d.ts.map +1 -1
- package/dist/extractors/relationships.js +1 -1
- package/dist/extractors/symbol-coordinates.d.ts.map +1 -1
- package/dist/extractors/symbols-coordinator.d.ts +8 -0
- package/dist/extractors/symbols-coordinator.d.ts.map +1 -1
- package/dist/extractors/symbols-coordinator.js +40 -0
- package/dist/extractors/symbols-ts.d.ts +9 -19
- package/dist/extractors/symbols-ts.d.ts.map +1 -1
- package/dist/extractors/symbols-ts.js +34 -429
- package/dist/intent-search.d.ts +1 -0
- package/dist/intent-search.d.ts.map +1 -1
- package/dist/intent-search.js +11 -8
- 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 +2 -1
- package/dist/operations/bootstrap/activation.d.ts.map +1 -1
- package/dist/operations/bootstrap/activation.js +11 -3
- package/dist/operations/bootstrap/generate.d.ts +2 -1
- package/dist/operations/bootstrap/generate.d.ts.map +1 -1
- package/dist/operations/bootstrap/generate.js +6 -3
- package/dist/operations/bootstrap/guidance.d.ts +1 -0
- package/dist/operations/bootstrap/guidance.d.ts.map +1 -1
- package/dist/operations/bootstrap/guidance.js +1 -1
- 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 -46
- package/dist/operations/modeling/predicate-applicability.d.ts.map +1 -1
- package/dist/operations/modeling/predicate-applicability.js +103 -4
- 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-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-loader.d.ts +1 -0
- package/dist/operations/modeling/predicate-loader.d.ts.map +1 -1
- package/dist/operations/modeling/predicate-loader.js +4 -3
- package/dist/operations/modeling/predicate-ranker.d.ts.map +1 -1
- package/dist/operations/modeling/predicate-ranker.js +4 -1
- package/dist/operations/modeling/predicate-types.d.ts +1 -1
- package/dist/operations/modeling/predicate-types.d.ts.map +1 -1
- 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/suggest-predicates.d.ts +4 -2
- package/dist/operations/modeling/suggest-predicates.d.ts.map +1 -1
- package/dist/operations/modeling/suggest-predicates.js +82 -22
- 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 +100 -32
- package/dist/operations/mutation/relationships.d.ts +1 -0
- package/dist/operations/mutation/relationships.d.ts.map +1 -1
- package/dist/operations/mutation/relationships.js +6 -4
- 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 -2
- package/dist/operations/mutation/source-authoring.d.ts +5 -1
- package/dist/operations/mutation/source-authoring.d.ts.map +1 -1
- package/dist/operations/mutation/source-authoring.js +79 -46
- 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 +5 -2
- package/dist/operations/mutation/symbol-compiler-lock.d.ts.map +1 -1
- package/dist/operations/mutation/symbol-compiler-lock.js +65 -2
- package/dist/operations/mutation/symbol-granularity.d.ts.map +1 -1
- package/dist/operations/mutation/symbol-granularity.js +11 -89
- package/dist/operations/mutation/symbol-refresh.d.ts +1 -0
- package/dist/operations/mutation/symbol-refresh.d.ts.map +1 -1
- package/dist/operations/mutation/symbol-refresh.js +10 -8
- 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 +86 -54
- 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 +46 -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 +8 -106
- package/dist/operations/planning/apply-plan.d.ts.map +1 -1
- package/dist/operations/planning/apply-plan.js +113 -36
- package/dist/operations/planning/compile-intent.d.ts +51 -0
- package/dist/operations/planning/compile-intent.d.ts.map +1 -1
- package/dist/operations/planning/compile-intent.js +133 -17
- package/dist/operations/proof/baseline-diff.d.ts +41 -0
- package/dist/operations/proof/baseline-diff.d.ts.map +1 -0
- package/dist/operations/proof/baseline-diff.js +153 -0
- package/dist/operations/proof/explain.d.ts +75 -0
- package/dist/operations/proof/explain.d.ts.map +1 -0
- package/dist/operations/proof/explain.js +294 -0
- package/dist/operations/proof/impact.d.ts +45 -0
- package/dist/operations/proof/impact.d.ts.map +1 -0
- package/dist/operations/proof/impact.js +118 -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 +348 -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 +92 -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/analysis-receipt.d.ts.map +1 -1
- package/dist/operations/semantic-advisor/analysis-receipt.js +3 -9
- 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 +64 -93
- package/dist/operations/semantic-advisor/clauses.d.ts.map +1 -1
- package/dist/operations/semantic-advisor/clauses.js +20 -7
- package/dist/operations/semantic-advisor/plugin-orchestration.d.ts +63 -0
- package/dist/operations/semantic-advisor/plugin-orchestration.d.ts.map +1 -0
- package/dist/operations/semantic-advisor/plugin-orchestration.js +489 -0
- package/dist/operations/semantic-advisor/predicate-rules-core.d.ts +15 -2
- package/dist/operations/semantic-advisor/predicate-rules-core.d.ts.map +1 -1
- package/dist/operations/semantic-advisor/predicate-rules-core.js +7 -140
- package/dist/operations/semantic-advisor/predicate-rules-launcher.d.ts +11 -12
- package/dist/operations/semantic-advisor/predicate-rules-launcher.d.ts.map +1 -1
- package/dist/operations/semantic-advisor/predicate-rules-launcher.js +6 -94
- package/dist/operations/semantic-advisor/predicate-rules-policy.d.ts +16 -0
- package/dist/operations/semantic-advisor/predicate-rules-policy.d.ts.map +1 -1
- package/dist/operations/semantic-advisor/predicate-rules-policy.js +7 -150
- package/dist/operations/semantic-advisor/predicate-rules-product-tail.d.ts +9 -0
- package/dist/operations/semantic-advisor/predicate-rules-product-tail.d.ts.map +1 -1
- package/dist/operations/semantic-advisor/predicate-rules-product-tail.js +7 -102
- package/dist/operations/semantic-advisor/predicate-rules-product.d.ts +13 -0
- package/dist/operations/semantic-advisor/predicate-rules-product.d.ts.map +1 -1
- package/dist/operations/semantic-advisor/predicate-rules-product.js +7 -133
- 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 +1 -0
- package/dist/operations/semantic-advisor/types.d.ts.map +1 -1
- package/dist/plugins/compose-ontology-packs.d.ts +51 -0
- package/dist/plugins/compose-ontology-packs.d.ts.map +1 -0
- package/dist/plugins/compose-ontology-packs.js +257 -0
- package/dist/plugins/compose-semantic-classifier.d.ts +42 -0
- package/dist/plugins/compose-semantic-classifier.d.ts.map +1 -0
- package/dist/plugins/compose-semantic-classifier.js +211 -0
- package/dist/plugins/external-allowlist.d.ts +10 -0
- package/dist/plugins/external-allowlist.d.ts.map +1 -0
- package/dist/plugins/external-allowlist.js +16 -0
- package/dist/plugins/index.d.ts +9 -0
- package/dist/plugins/index.d.ts.map +1 -0
- package/dist/plugins/index.js +33 -0
- package/dist/plugins/load-plugin.d.ts +19 -0
- package/dist/plugins/load-plugin.d.ts.map +1 -0
- package/dist/plugins/load-plugin.js +59 -0
- package/dist/plugins/project-config.d.ts +28 -0
- package/dist/plugins/project-config.d.ts.map +1 -0
- package/dist/plugins/project-config.js +90 -0
- package/dist/plugins/registry.d.ts +93 -0
- package/dist/plugins/registry.d.ts.map +1 -0
- package/dist/plugins/registry.js +338 -0
- package/dist/plugins/resolve-package.d.ts +47 -0
- package/dist/plugins/resolve-package.d.ts.map +1 -0
- package/dist/plugins/resolve-package.js +262 -0
- package/dist/plugins/source-analysis-service.d.ts +44 -0
- package/dist/plugins/source-analysis-service.d.ts.map +1 -0
- package/dist/plugins/source-analysis-service.js +232 -0
- package/dist/prolog/codec.d.ts +13 -1
- package/dist/prolog/codec.d.ts.map +1 -1
- package/dist/prolog/codec.js +269 -154
- 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 +55 -17
- 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/{public → proof/producers}/playwright-case-id.d.ts +1 -1
- package/dist/proof/producers/playwright-case-id.d.ts.map +1 -0
- package/dist/{public → proof/producers}/playwright-case-id.js +1 -1
- 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/diagnostic-usage.js +6 -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 -10
- package/dist/public/extractors/symbols-coordinator.d.ts +1 -1
- package/dist/public/extractors/symbols-coordinator.d.ts.map +1 -1
- package/dist/public/extractors/symbols-coordinator.js +1 -1
- package/dist/public/impact/analyzer.d.ts +1 -1
- package/dist/public/impact/analyzer.d.ts.map +1 -1
- package/dist/public/impact/analyzer.js +6 -4
- package/dist/public/impact/coverage-depth-quality.d.ts +1 -0
- package/dist/public/impact/coverage-depth-quality.d.ts.map +1 -1
- package/dist/public/impact/coverage-depth-quality.js +1 -1
- 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 +5 -2
- package/dist/public/impact/full-kb-quality.d.ts.map +1 -1
- package/dist/public/impact/full-kb-quality.js +329 -64
- package/dist/public/operations/catalog.d.ts +450 -196
- package/dist/public/operations/catalog.d.ts.map +1 -1
- package/dist/public/operations/catalog.js +6 -4
- package/dist/public/operations/check-executor.d.ts.map +1 -1
- package/dist/public/operations/check-executor.js +4 -8
- package/dist/public/operations/check-helpers.d.ts +1 -1
- package/dist/public/operations/check-helpers.d.ts.map +1 -1
- package/dist/public/operations/check-helpers.js +1 -1
- package/dist/public/operations/contracts.d.ts +7 -0
- package/dist/public/operations/contracts.d.ts.map +1 -1
- package/dist/public/operations/contracts.js +66 -34
- package/dist/public/operations/discovery-entities.d.ts +15 -0
- package/dist/public/operations/discovery-entities.d.ts.map +1 -1
- package/dist/public/operations/discovery-entities.js +38 -0
- package/dist/public/operations/discovery-executors.d.ts +9 -9
- package/dist/public/operations/discovery-executors.d.ts.map +1 -1
- package/dist/public/operations/discovery-executors.js +39 -31
- package/dist/public/operations/index.d.ts +1 -1
- package/dist/public/operations/index.d.ts.map +1 -1
- package/dist/public/operations/index.js +1 -1
- package/dist/public/operations/migration-plan.d.ts +4 -3
- package/dist/public/operations/migration-plan.d.ts.map +1 -1
- package/dist/public/operations/migration-plan.js +23 -21
- package/dist/public/operations/node-ports.js +6 -6
- package/dist/public/operations/prolog-json.d.ts +1 -1
- package/dist/public/operations/prolog-json.d.ts.map +1 -1
- package/dist/public/operations/prolog-json.js +7 -7
- 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 -19
- package/dist/public/operations/result-envelope.d.ts +1 -0
- package/dist/public/operations/result-envelope.d.ts.map +1 -1
- package/dist/public/operations/result-envelope.js +12 -10
- package/dist/public/operations/runtime-types.d.ts +21 -1
- package/dist/public/operations/runtime-types.d.ts.map +1 -1
- 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 +35 -0
- package/dist/public/operations/specs/check.d.ts +7 -2
- package/dist/public/operations/specs/check.d.ts.map +1 -1
- package/dist/public/operations/specs/check.js +8 -20
- package/dist/public/operations/specs/discovery.d.ts +3 -0
- package/dist/public/operations/specs/discovery.d.ts.map +1 -1
- package/dist/public/operations/specs/discovery.js +3 -0
- package/dist/public/operations/specs/mutation-schemas.d.ts +257 -163
- package/dist/public/operations/specs/mutation-schemas.d.ts.map +1 -1
- package/dist/public/operations/specs/mutation-schemas.js +15 -7
- package/dist/public/operations/specs/planning.d.ts +9 -0
- package/dist/public/operations/specs/planning.d.ts.map +1 -1
- package/dist/public/operations/specs/planning.js +6 -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 +20 -0
- package/dist/public/operations/specs/reporting.d.ts.map +1 -1
- package/dist/public/operations/specs/reporting.js +112 -12
- package/dist/public/operations/specs/semantic.d.ts +1 -1
- package/dist/public/operations/specs/semantic.d.ts.map +1 -1
- package/dist/public/operations/specs/semantic.js +54 -4
- package/dist/public/operations/specs/upsert.d.ts +257 -163
- package/dist/public/operations/specs/upsert.d.ts.map +1 -1
- package/dist/public/operations/symbol-repair-plan.d.ts +11 -0
- package/dist/public/operations/symbol-repair-plan.d.ts.map +1 -1
- package/dist/public/operations/symbol-repair-plan.js +121 -4
- package/dist/public/operations/types.d.ts +6 -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 +21 -7
- package/dist/public/skills/kibi-freshness/SKILL.md +1 -1
- package/dist/public/skills/kibi-usage/SKILL.md +44 -12
- package/dist/public/skills/kibi-usage/resources/operation-access.md +1 -1
- package/dist/public/skills/kibi-usage/resources/proof.md +150 -0
- package/dist/public/skills/kibi-usage/resources/workflows.md +6 -6
- 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 +53 -0
- package/dist/public/symbol-granularity.js +6 -47
- package/dist/public/telemetry-acceptance.d.ts +3 -77
- package/dist/public/telemetry-acceptance.d.ts.map +1 -1
- package/dist/public/telemetry-acceptance.js +4 -2
- package/dist/public/telemetry-remediation.js +1 -1
- package/dist/report/html-report.css +1240 -0
- package/dist/report/html-report.d.ts +4 -2
- package/dist/report/html-report.d.ts.map +1 -1
- package/dist/report/html-report.js +37 -300
- 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 +32 -7
- package/dist/schemas/entity.schema.json +355 -215
- 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 +28 -0
- package/dist/traceability/evidence-model.d.ts.map +1 -1
- 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 +145 -1
- 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.js +4 -4
- 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 +138 -27
- package/dist/traceability/symbol-extract.d.ts +24 -2
- package/dist/traceability/symbol-extract.d.ts.map +1 -1
- package/dist/traceability/symbol-extract.js +64 -208
- 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 +13 -4
- package/dist/types/entities.d.ts +5 -3
- package/dist/types/entities.d.ts.map +1 -1
- package/dist/utils/branch-resolver.d.ts +1 -0
- package/dist/utils/branch-resolver.d.ts.map +1 -1
- package/dist/utils/branch-resolver.js +7 -4
- package/dist/utils/branch-store.d.ts +6 -0
- package/dist/utils/branch-store.d.ts.map +1 -1
- package/dist/utils/branch-store.js +27 -0
- package/dist/utils/kb-paths.d.ts +1 -1
- package/dist/utils/kb-paths.d.ts.map +1 -1
- package/dist/utils/kb-paths.js +1 -1
- package/dist/utils/rule-registry.d.ts +1 -11
- package/dist/utils/rule-registry.d.ts.map +1 -1
- package/dist/utils/rule-registry.generated.d.ts +102 -0
- package/dist/utils/rule-registry.generated.d.ts.map +1 -0
- package/dist/utils/rule-registry.generated.js +131 -0
- package/dist/utils/rule-registry.js +12 -113
- package/dist/utils/strict-modeling.d.ts +1 -0
- package/dist/utils/strict-modeling.d.ts.map +1 -1
- package/dist/utils/strict-modeling.js +1 -1
- package/package.json +20 -20
- package/src/public/diagnostic-usage.ts +6 -6
- package/src/public/distribution-parity.ts +17 -10
- package/src/public/extractors/symbols-coordinator.ts +1 -0
- package/src/public/impact/analyzer.ts +15 -12
- package/src/public/impact/coverage-depth-quality.ts +1 -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 +463 -72
- package/src/public/operations/catalog.ts +10 -4
- package/src/public/operations/check-executor.ts +4 -8
- package/src/public/operations/check-helpers.ts +2 -2
- package/src/public/operations/contracts.ts +78 -34
- package/src/public/operations/discovery-entities.ts +53 -0
- package/src/public/operations/discovery-executors.ts +64 -48
- package/src/public/operations/index.ts +1 -1
- package/src/public/operations/migration-plan.ts +32 -25
- package/src/public/operations/node-ports.ts +6 -6
- package/src/public/operations/prolog-json.ts +13 -5
- package/src/public/operations/repair-plan.ts +60 -23
- package/src/public/operations/result-envelope.ts +15 -10
- package/src/public/operations/runtime-types.ts +26 -2
- package/src/public/operations/specs/check-rules.generated.ts +38 -0
- package/src/public/operations/specs/check.ts +12 -21
- package/src/public/operations/specs/discovery.ts +3 -0
- package/src/public/operations/specs/mutation-schemas.ts +22 -9
- package/src/public/operations/specs/planning.ts +7 -0
- package/src/public/operations/specs/proof.ts +43 -0
- package/src/public/operations/specs/reporting.ts +140 -13
- package/src/public/operations/specs/semantic.ts +79 -17
- package/src/public/operations/symbol-repair-plan.ts +166 -7
- package/src/public/operations/types.ts +6 -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 +26 -10
- package/src/public/skills/kibi-freshness/SKILL.md +1 -1
- package/src/public/skills/kibi-usage/SKILL.md +44 -12
- package/src/public/skills/kibi-usage/resources/operation-access.md +1 -1
- package/src/public/skills/kibi-usage/resources/proof.md +150 -0
- package/src/public/skills/kibi-usage/resources/workflows.md +6 -6
- package/src/public/symbol-granularity.generated.ts +74 -0
- package/src/public/symbol-granularity.ts +34 -59
- package/src/public/telemetry-acceptance-types.d.ts +98 -0
- package/src/public/telemetry-acceptance.ts +22 -100
- package/src/public/telemetry-remediation.ts +1 -1
- package/src/schemas/entity.schema.json +355 -215
- package/dist/cli-register-verification.d.ts +0 -3
- package/dist/cli-register-verification.d.ts.map +0 -1
- package/dist/cli-register-verification.js +0 -16
- package/dist/commands/verify.d.ts +0 -10
- package/dist/commands/verify.d.ts.map +0 -1
- package/dist/commands/verify.js +0 -126
- package/dist/operations/verification/ingest-verification.d.ts +0 -29
- package/dist/operations/verification/ingest-verification.d.ts.map +0 -1
- package/dist/operations/verification/ingest-verification.js +0 -192
- package/dist/public/operations/specs/verification.d.ts +0 -78
- package/dist/public/operations/specs/verification.d.ts.map +0 -1
- package/dist/public/operations/specs/verification.js +0 -62
- package/dist/public/playwright-case-id.d.ts.map +0 -1
- package/dist/public/verification-receipt.d.ts +0 -242
- package/dist/public/verification-receipt.d.ts.map +0 -1
- package/dist/public/verification-receipt.js +0 -296
- package/dist/verification/playwright-reporter.d.ts +0 -21
- package/dist/verification/playwright-reporter.d.ts.map +0 -1
- package/dist/verification/playwright-reporter.js +0 -114
- package/src/public/operations/specs/verification.ts +0 -78
- package/src/public/playwright-case-id.ts +0 -35
- package/src/public/verification-receipt.ts +0 -412
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
export declare const GENERATED_RULES: readonly [{
|
|
2
|
+
readonly name: "must-priority-coverage";
|
|
3
|
+
readonly description: "Every must-priority requirement must have a scenario and a test";
|
|
4
|
+
readonly enforcementClass: "canonical";
|
|
5
|
+
readonly category: "coverage";
|
|
6
|
+
}, {
|
|
7
|
+
readonly name: "symbol-coverage";
|
|
8
|
+
readonly description: "Production symbols need qualifying coverage via covered_by plus a canonical requirement/scenario test path";
|
|
9
|
+
readonly enforcementClass: "canonical";
|
|
10
|
+
readonly category: "coverage";
|
|
11
|
+
}, {
|
|
12
|
+
readonly name: "symbol-traceability";
|
|
13
|
+
readonly description: "Production symbols must directly implement requirements for ownership; covered_by is coverage only and executable_for is test identity only";
|
|
14
|
+
readonly enforcementClass: "canonical";
|
|
15
|
+
readonly category: "traceability";
|
|
16
|
+
}, {
|
|
17
|
+
readonly name: "no-dangling-refs";
|
|
18
|
+
readonly description: "All relationship targets must exist in the KB";
|
|
19
|
+
readonly enforcementClass: "canonical";
|
|
20
|
+
readonly category: "integrity";
|
|
21
|
+
}, {
|
|
22
|
+
readonly name: "source-relationship-parity";
|
|
23
|
+
readonly description: "Authored Markdown and relationship-shard edges must exactly match the compiled KB";
|
|
24
|
+
readonly enforcementClass: "canonical";
|
|
25
|
+
readonly category: "integrity";
|
|
26
|
+
}, {
|
|
27
|
+
readonly name: "no-cycles";
|
|
28
|
+
readonly description: "No circular dependency chains in requirements";
|
|
29
|
+
readonly enforcementClass: "canonical";
|
|
30
|
+
readonly category: "integrity";
|
|
31
|
+
}, {
|
|
32
|
+
readonly name: "required-fields";
|
|
33
|
+
readonly description: "All entities must have required fields";
|
|
34
|
+
readonly enforcementClass: "canonical";
|
|
35
|
+
readonly category: "integrity";
|
|
36
|
+
}, {
|
|
37
|
+
readonly name: "deprecated-adr-no-successor";
|
|
38
|
+
readonly description: "Deprecated ADRs must have a successor ADR that supersedes them";
|
|
39
|
+
readonly enforcementClass: "canonical";
|
|
40
|
+
readonly category: "lifecycle";
|
|
41
|
+
}, {
|
|
42
|
+
readonly name: "domain-contradictions";
|
|
43
|
+
readonly description: "Detect contradictions between requirements constraining the same fact";
|
|
44
|
+
readonly enforcementClass: "canonical";
|
|
45
|
+
readonly category: "integrity";
|
|
46
|
+
}, {
|
|
47
|
+
readonly name: "logic-coverage";
|
|
48
|
+
readonly description: "Require every explicitly declared atomic requirement claim to be grounded by a linked strict-property or predicate fact";
|
|
49
|
+
readonly enforcementClass: "canonical";
|
|
50
|
+
readonly category: "integrity";
|
|
51
|
+
}, {
|
|
52
|
+
readonly name: "rule-safety";
|
|
53
|
+
readonly description: "Stored Logic IR rules use only the typed, bounded, stratified vocabulary";
|
|
54
|
+
readonly enforcementClass: "canonical";
|
|
55
|
+
readonly category: "integrity";
|
|
56
|
+
}, {
|
|
57
|
+
readonly name: "rule-verifiability";
|
|
58
|
+
readonly description: "Requirement rule links resolve to safe rules and registered rule schemas";
|
|
59
|
+
readonly enforcementClass: "canonical";
|
|
60
|
+
readonly category: "integrity";
|
|
61
|
+
}, {
|
|
62
|
+
readonly name: "query-plan-safety";
|
|
63
|
+
readonly description: "Detect Prolog validation clauses that place negation before generator calls";
|
|
64
|
+
readonly enforcementClass: "canonical";
|
|
65
|
+
readonly category: "integrity";
|
|
66
|
+
}, {
|
|
67
|
+
readonly name: "req-status-vocabulary";
|
|
68
|
+
readonly description: "Requirement statuses must use the canonical vocabulary (open, in_progress, closed; legacy: active, approved); ADR statuses such as accepted silently fall out of the proof ladder";
|
|
69
|
+
readonly enforcementClass: "canonical";
|
|
70
|
+
readonly category: "lifecycle";
|
|
71
|
+
}, {
|
|
72
|
+
readonly name: "strict-fact-shape";
|
|
73
|
+
readonly description: "Detect malformed strict facts (facts with fact_kind that are missing required fields)";
|
|
74
|
+
readonly enforcementClass: "advisory";
|
|
75
|
+
readonly category: "integrity";
|
|
76
|
+
}, {
|
|
77
|
+
readonly name: "strict-req-fact-pairing";
|
|
78
|
+
readonly description: "Detect requirements with incomplete strict subject/property fact pairing for contradiction-safe semantics";
|
|
79
|
+
readonly enforcementClass: "advisory";
|
|
80
|
+
readonly category: "integrity";
|
|
81
|
+
}, {
|
|
82
|
+
readonly name: "predicate-verifiability";
|
|
83
|
+
readonly description: "Detect requires_predicate links that do not target ground fact_kind: predicate facts";
|
|
84
|
+
readonly enforcementClass: "advisory";
|
|
85
|
+
readonly category: "integrity";
|
|
86
|
+
}, {
|
|
87
|
+
readonly name: "strict-readiness";
|
|
88
|
+
readonly description: "Report strict contradiction-readiness levels for requirements that are still prose-only or otherwise not contradiction-ready";
|
|
89
|
+
readonly enforcementClass: "migration";
|
|
90
|
+
readonly category: "integrity";
|
|
91
|
+
}, {
|
|
92
|
+
readonly name: "semantic-completeness";
|
|
93
|
+
readonly description: "Every inventoried assertive proposition is modeled or explicitly classified";
|
|
94
|
+
readonly enforcementClass: "migration";
|
|
95
|
+
readonly category: "integrity";
|
|
96
|
+
}, {
|
|
97
|
+
readonly name: "proof-contract-symbols";
|
|
98
|
+
readonly description: "Detect unresolved required_proofs.symbol_id values, type-shape required proofs, and proof_bindings.source_file disagreement with the named symbol sourceFile";
|
|
99
|
+
readonly enforcementClass: "advisory";
|
|
100
|
+
readonly category: "integrity";
|
|
101
|
+
}];
|
|
102
|
+
//# sourceMappingURL=rule-registry.generated.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rule-registry.generated.d.ts","sourceRoot":"","sources":["../../src/utils/rule-registry.generated.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0IlB,CAAC"}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Kibi — repo-local, per-branch, queryable long-term memory for software projects
|
|
3
|
+
* Copyright (C) 2026 Piotr Franczyk
|
|
4
|
+
*
|
|
5
|
+
* This file is generated by scripts/generate-rule-registry.mjs from
|
|
6
|
+
* packages/core/schema/rule-registry.json. Do not edit it directly; edit the
|
|
7
|
+
* JSON source and regenerate.
|
|
8
|
+
*/
|
|
9
|
+
// implements REQ-006
|
|
10
|
+
export const GENERATED_RULES = [
|
|
11
|
+
{
|
|
12
|
+
name: "must-priority-coverage",
|
|
13
|
+
description: "Every must-priority requirement must have a scenario and a test",
|
|
14
|
+
enforcementClass: "canonical",
|
|
15
|
+
category: "coverage",
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
name: "symbol-coverage",
|
|
19
|
+
description: "Production symbols need qualifying coverage via covered_by plus a canonical requirement/scenario test path",
|
|
20
|
+
enforcementClass: "canonical",
|
|
21
|
+
category: "coverage",
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
name: "symbol-traceability",
|
|
25
|
+
description: "Production symbols must directly implement requirements for ownership; covered_by is coverage only and executable_for is test identity only",
|
|
26
|
+
enforcementClass: "canonical",
|
|
27
|
+
category: "traceability",
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
name: "no-dangling-refs",
|
|
31
|
+
description: "All relationship targets must exist in the KB",
|
|
32
|
+
enforcementClass: "canonical",
|
|
33
|
+
category: "integrity",
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
name: "source-relationship-parity",
|
|
37
|
+
description: "Authored Markdown and relationship-shard edges must exactly match the compiled KB",
|
|
38
|
+
enforcementClass: "canonical",
|
|
39
|
+
category: "integrity",
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
name: "no-cycles",
|
|
43
|
+
description: "No circular dependency chains in requirements",
|
|
44
|
+
enforcementClass: "canonical",
|
|
45
|
+
category: "integrity",
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
name: "required-fields",
|
|
49
|
+
description: "All entities must have required fields",
|
|
50
|
+
enforcementClass: "canonical",
|
|
51
|
+
category: "integrity",
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
name: "deprecated-adr-no-successor",
|
|
55
|
+
description: "Deprecated ADRs must have a successor ADR that supersedes them",
|
|
56
|
+
enforcementClass: "canonical",
|
|
57
|
+
category: "lifecycle",
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
name: "domain-contradictions",
|
|
61
|
+
description: "Detect contradictions between requirements constraining the same fact",
|
|
62
|
+
enforcementClass: "canonical",
|
|
63
|
+
category: "integrity",
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
name: "logic-coverage",
|
|
67
|
+
description: "Require every explicitly declared atomic requirement claim to be grounded by a linked strict-property or predicate fact",
|
|
68
|
+
enforcementClass: "canonical",
|
|
69
|
+
category: "integrity",
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
name: "rule-safety",
|
|
73
|
+
description: "Stored Logic IR rules use only the typed, bounded, stratified vocabulary",
|
|
74
|
+
enforcementClass: "canonical",
|
|
75
|
+
category: "integrity",
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
name: "rule-verifiability",
|
|
79
|
+
description: "Requirement rule links resolve to safe rules and registered rule schemas",
|
|
80
|
+
enforcementClass: "canonical",
|
|
81
|
+
category: "integrity",
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
name: "query-plan-safety",
|
|
85
|
+
description: "Detect Prolog validation clauses that place negation before generator calls",
|
|
86
|
+
enforcementClass: "canonical",
|
|
87
|
+
category: "integrity",
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
name: "req-status-vocabulary",
|
|
91
|
+
description: "Requirement statuses must use the canonical vocabulary (open, in_progress, closed; legacy: active, approved); ADR statuses such as accepted silently fall out of the proof ladder",
|
|
92
|
+
enforcementClass: "canonical",
|
|
93
|
+
category: "lifecycle",
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
name: "strict-fact-shape",
|
|
97
|
+
description: "Detect malformed strict facts (facts with fact_kind that are missing required fields)",
|
|
98
|
+
enforcementClass: "advisory",
|
|
99
|
+
category: "integrity",
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
name: "strict-req-fact-pairing",
|
|
103
|
+
description: "Detect requirements with incomplete strict subject/property fact pairing for contradiction-safe semantics",
|
|
104
|
+
enforcementClass: "advisory",
|
|
105
|
+
category: "integrity",
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
name: "predicate-verifiability",
|
|
109
|
+
description: "Detect requires_predicate links that do not target ground fact_kind: predicate facts",
|
|
110
|
+
enforcementClass: "advisory",
|
|
111
|
+
category: "integrity",
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
name: "strict-readiness",
|
|
115
|
+
description: "Report strict contradiction-readiness levels for requirements that are still prose-only or otherwise not contradiction-ready",
|
|
116
|
+
enforcementClass: "migration",
|
|
117
|
+
category: "integrity",
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
name: "semantic-completeness",
|
|
121
|
+
description: "Every inventoried assertive proposition is modeled or explicitly classified",
|
|
122
|
+
enforcementClass: "migration",
|
|
123
|
+
category: "integrity",
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
name: "proof-contract-symbols",
|
|
127
|
+
description: "Detect unresolved required_proofs.symbol_id values, type-shape required proofs, and proof_bindings.source_file disagreement with the named symbol sourceFile",
|
|
128
|
+
enforcementClass: "advisory",
|
|
129
|
+
category: "integrity",
|
|
130
|
+
},
|
|
131
|
+
];
|
|
@@ -16,120 +16,19 @@
|
|
|
16
16
|
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
17
17
|
*/
|
|
18
18
|
/**
|
|
19
|
-
*
|
|
20
|
-
*
|
|
19
|
+
* Central registry of KB check rules.
|
|
20
|
+
*
|
|
21
|
+
* Kibi — not the repository — owns each rule's enforcement class. Projects
|
|
22
|
+
* can no longer disable canonical checks. `--rules` remains an
|
|
23
|
+
* invocation-time diagnostic selector only and never persists policy.
|
|
24
|
+
*
|
|
25
|
+
* RULES itself is generated from packages/core/schema/rule-registry.json by
|
|
26
|
+
* scripts/generate-rule-registry.mjs; that JSON is the single editing point
|
|
27
|
+
* shared with the kb_check input enum and the Prolog rule_registry facts.
|
|
21
28
|
*/
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
name: "must-priority-coverage",
|
|
26
|
-
description: "Every must-priority requirement must have a scenario and a test",
|
|
27
|
-
enforcementClass: "canonical",
|
|
28
|
-
category: "coverage",
|
|
29
|
-
},
|
|
30
|
-
{
|
|
31
|
-
name: "symbol-coverage",
|
|
32
|
-
description: "Production symbols need qualifying coverage via covered_by plus a canonical requirement/scenario test path",
|
|
33
|
-
enforcementClass: "canonical",
|
|
34
|
-
category: "coverage",
|
|
35
|
-
},
|
|
36
|
-
{
|
|
37
|
-
name: "symbol-traceability",
|
|
38
|
-
description: "Production symbols must directly implement requirements for ownership; covered_by is coverage only and executable_for is test identity only",
|
|
39
|
-
enforcementClass: "canonical",
|
|
40
|
-
category: "traceability",
|
|
41
|
-
},
|
|
42
|
-
{
|
|
43
|
-
name: "no-dangling-refs",
|
|
44
|
-
description: "All relationship targets must exist in the KB",
|
|
45
|
-
enforcementClass: "canonical",
|
|
46
|
-
category: "integrity",
|
|
47
|
-
},
|
|
48
|
-
{
|
|
49
|
-
name: "source-relationship-parity",
|
|
50
|
-
description: "Authored Markdown and relationship-shard edges must exactly match the compiled KB",
|
|
51
|
-
enforcementClass: "canonical",
|
|
52
|
-
category: "integrity",
|
|
53
|
-
},
|
|
54
|
-
{
|
|
55
|
-
name: "no-cycles",
|
|
56
|
-
description: "No circular dependency chains in requirements",
|
|
57
|
-
enforcementClass: "canonical",
|
|
58
|
-
category: "integrity",
|
|
59
|
-
},
|
|
60
|
-
{
|
|
61
|
-
name: "required-fields",
|
|
62
|
-
description: "All entities must have required fields",
|
|
63
|
-
enforcementClass: "canonical",
|
|
64
|
-
category: "integrity",
|
|
65
|
-
},
|
|
66
|
-
{
|
|
67
|
-
name: "deprecated-adr-no-successor",
|
|
68
|
-
description: "Deprecated ADRs must have a successor ADR that supersedes them",
|
|
69
|
-
enforcementClass: "canonical",
|
|
70
|
-
category: "lifecycle",
|
|
71
|
-
},
|
|
72
|
-
{
|
|
73
|
-
name: "domain-contradictions",
|
|
74
|
-
description: "Detect contradictions between requirements constraining the same fact",
|
|
75
|
-
enforcementClass: "canonical",
|
|
76
|
-
category: "integrity",
|
|
77
|
-
},
|
|
78
|
-
{
|
|
79
|
-
name: "logic-coverage",
|
|
80
|
-
description: "Require every explicitly declared atomic requirement claim to be grounded by a linked strict-property or predicate fact",
|
|
81
|
-
enforcementClass: "canonical",
|
|
82
|
-
category: "integrity",
|
|
83
|
-
},
|
|
84
|
-
{
|
|
85
|
-
name: "rule-safety",
|
|
86
|
-
description: "Stored Logic IR rules use only the typed, bounded, stratified vocabulary",
|
|
87
|
-
enforcementClass: "canonical",
|
|
88
|
-
category: "integrity",
|
|
89
|
-
},
|
|
90
|
-
{
|
|
91
|
-
name: "rule-verifiability",
|
|
92
|
-
description: "Requirement rule links resolve to safe rules and registered rule schemas",
|
|
93
|
-
enforcementClass: "canonical",
|
|
94
|
-
category: "integrity",
|
|
95
|
-
},
|
|
96
|
-
{
|
|
97
|
-
name: "query-plan-safety",
|
|
98
|
-
description: "Detect Prolog validation clauses that place negation before generator calls",
|
|
99
|
-
enforcementClass: "canonical",
|
|
100
|
-
category: "integrity",
|
|
101
|
-
},
|
|
102
|
-
{
|
|
103
|
-
name: "strict-fact-shape",
|
|
104
|
-
description: "Detect malformed strict facts (facts with fact_kind that are missing required fields)",
|
|
105
|
-
enforcementClass: "advisory",
|
|
106
|
-
category: "integrity",
|
|
107
|
-
},
|
|
108
|
-
{
|
|
109
|
-
name: "strict-req-fact-pairing",
|
|
110
|
-
description: "Detect requirements with incomplete strict subject/property fact pairing for contradiction-safe semantics",
|
|
111
|
-
enforcementClass: "advisory",
|
|
112
|
-
category: "integrity",
|
|
113
|
-
},
|
|
114
|
-
{
|
|
115
|
-
name: "predicate-verifiability",
|
|
116
|
-
description: "Detect requires_predicate links that do not target ground fact_kind: predicate facts",
|
|
117
|
-
enforcementClass: "advisory",
|
|
118
|
-
category: "integrity",
|
|
119
|
-
},
|
|
120
|
-
{
|
|
121
|
-
name: "strict-readiness",
|
|
122
|
-
description: "Report strict contradiction-readiness levels for requirements that are still prose-only or otherwise not contradiction-ready",
|
|
123
|
-
enforcementClass: "migration",
|
|
124
|
-
category: "integrity",
|
|
125
|
-
},
|
|
126
|
-
{
|
|
127
|
-
name: "semantic-completeness",
|
|
128
|
-
description: "Every inventoried assertive proposition is modeled or explicitly classified",
|
|
129
|
-
enforcementClass: "migration",
|
|
130
|
-
category: "integrity",
|
|
131
|
-
},
|
|
132
|
-
];
|
|
29
|
+
import { GENERATED_RULES } from "./rule-registry.generated.js";
|
|
30
|
+
/** All known check rules, generated from the shared registry JSON. */
|
|
31
|
+
export const RULES = GENERATED_RULES;
|
|
133
32
|
const RULES_BY_NAME = new Map(RULES.map((rule) => [rule.name, rule]));
|
|
134
33
|
/**
|
|
135
34
|
* Set of all rule names for quick lookups.
|
|
@@ -56,5 +56,6 @@ export declare function normalizePropertyKey(value: string): string;
|
|
|
56
56
|
export declare function buildStableRequirementIds(claim: SemanticClaim): StableRequirementIds;
|
|
57
57
|
export declare function buildStrictWriteSet(input: StrictModelInput): StrictWriteSet;
|
|
58
58
|
export declare function modelRequirementClaims(inputs: ReadonlyArray<StrictModelInput>): StrictWriteSet[];
|
|
59
|
+
export declare function normalizeTextRef(provenance: string | undefined, source: string): string;
|
|
59
60
|
export {};
|
|
60
61
|
//# sourceMappingURL=strict-modeling.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"strict-modeling.d.ts","sourceRoot":"","sources":["../../src/utils/strict-modeling.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAKlE,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,IAAI,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,UAAU,CAAC;IAC7D,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,aAAa,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,KAAK,gBAAgB,GAAG,OAAO,CAC7B,IAAI,CAAC,UAAU,EAAE,YAAY,GAAG,YAAY,CAAC,GAAG,UAAU,CAC3D,GAAG;IACF,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,WAAW,UAAU,CACzB,KAAK,SAAS,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,EAC7C,WAAW,SAAS,gBAAgB,GAAG,gBAAgB;IAEvD,IAAI,EAAE,KAAK,CAAC;IACZ,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,WAAW,CAAC;CACzB;AAED,MAAM,MAAM,gBAAgB,GAAG,IAAI,CACjC,gBAAgB,EAChB,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,QAAQ,GAAG,YAAY,CACjD,CAAC;AAEF,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gBAAgB,EAAE,MAAM,CAAC;IACzB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,UAAU,yBAAyB;IACjC,GAAG,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;IACvB,WAAW,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IAChC,YAAY,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IACjC,aAAa,EAAE,gBAAgB,EAAE,CAAC;IAClC,QAAQ,EAAE,IAAI,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,mBAAmB;IAC3B,eAAe,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IACpC,aAAa,EAAE,gBAAgB,EAAE,CAAC;IAClC,QAAQ,EAAE,KAAK,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,cAAc,GAAG,yBAAyB,GAAG,mBAAmB,CAAC;AAE7E,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAiBzD;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAe1D;AAED,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,aAAa,GACnB,oBAAoB,CAwBtB;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,gBAAgB,GAAG,cAAc,CAsH3E;AAED,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,aAAa,CAAC,gBAAgB,CAAC,GACtC,cAAc,EAAE,CAkBlB"}
|
|
1
|
+
{"version":3,"file":"strict-modeling.d.ts","sourceRoot":"","sources":["../../src/utils/strict-modeling.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAKlE,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,IAAI,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,UAAU,CAAC;IAC7D,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,aAAa,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,KAAK,gBAAgB,GAAG,OAAO,CAC7B,IAAI,CAAC,UAAU,EAAE,YAAY,GAAG,YAAY,CAAC,GAAG,UAAU,CAC3D,GAAG;IACF,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,WAAW,UAAU,CACzB,KAAK,SAAS,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,EAC7C,WAAW,SAAS,gBAAgB,GAAG,gBAAgB;IAEvD,IAAI,EAAE,KAAK,CAAC;IACZ,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,WAAW,CAAC;CACzB;AAED,MAAM,MAAM,gBAAgB,GAAG,IAAI,CACjC,gBAAgB,EAChB,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,QAAQ,GAAG,YAAY,CACjD,CAAC;AAEF,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gBAAgB,EAAE,MAAM,CAAC;IACzB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,UAAU,yBAAyB;IACjC,GAAG,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;IACvB,WAAW,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IAChC,YAAY,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IACjC,aAAa,EAAE,gBAAgB,EAAE,CAAC;IAClC,QAAQ,EAAE,IAAI,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,mBAAmB;IAC3B,eAAe,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IACpC,aAAa,EAAE,gBAAgB,EAAE,CAAC;IAClC,QAAQ,EAAE,KAAK,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,cAAc,GAAG,yBAAyB,GAAG,mBAAmB,CAAC;AAE7E,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAiBzD;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAe1D;AAED,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,aAAa,GACnB,oBAAoB,CAwBtB;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,gBAAgB,GAAG,cAAc,CAsH3E;AAED,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,aAAa,CAAC,gBAAgB,CAAC,GACtC,cAAc,EAAE,CAkBlB;AAiDD,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,MAAM,EAAE,MAAM,GACb,MAAM,CAMR"}
|
|
@@ -232,7 +232,7 @@ function normalizeStatement(statement) {
|
|
|
232
232
|
}
|
|
233
233
|
return normalized;
|
|
234
234
|
}
|
|
235
|
-
function normalizeTextRef(provenance, source) {
|
|
235
|
+
export function normalizeTextRef(provenance, source) {
|
|
236
236
|
const value = provenance?.trim() || source.trim();
|
|
237
237
|
if (!value) {
|
|
238
238
|
throw new Error("Strict modeling requires claim provenance or source");
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "kibi-cli",
|
|
3
|
-
"version": "1.0
|
|
3
|
+
"version": "2.1.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Kibi CLI for knowledge base management",
|
|
6
6
|
"engines": {
|
|
@@ -10,16 +10,9 @@
|
|
|
10
10
|
"bin": {
|
|
11
11
|
"kibi": "bin/kibi"
|
|
12
12
|
},
|
|
13
|
-
"files": [
|
|
14
|
-
"dist",
|
|
15
|
-
"bin",
|
|
16
|
-
"schema",
|
|
17
|
-
"src/schemas",
|
|
18
|
-
"src/public",
|
|
19
|
-
"templates"
|
|
20
|
-
],
|
|
13
|
+
"files": ["dist", "bin", "schema", "src/schemas", "src/public", "templates"],
|
|
21
14
|
"scripts": {
|
|
22
|
-
"build": "tsc -p tsconfig.json && rm -rf dist/public/skills && mkdir -p dist/public/skills && cp -r src/public/skills/. dist/public/skills/ && node ../../scripts/generate-entity-schema.mjs --check",
|
|
15
|
+
"build": "tsc -p tsconfig.json && rm -rf dist/public/skills && mkdir -p dist/public/skills dist/report && cp -r src/public/skills/. dist/public/skills/ && cp src/report/html-report.css dist/report/html-report.css && node ../../scripts/generate-entity-schema.mjs --check",
|
|
23
16
|
"test": "node ../../scripts/run-owned-engine-tests.mjs -- bun test --timeout 15000 .",
|
|
24
17
|
"typecheck": "tsc -p tsconfig.json --noEmit",
|
|
25
18
|
"schema:generate": "tsc -p tsconfig.json && node ../../scripts/generate-entity-schema.mjs",
|
|
@@ -55,14 +48,14 @@
|
|
|
55
48
|
"types": "./dist/runtime/cli-runtime.d.ts",
|
|
56
49
|
"default": "./dist/runtime/cli-runtime.js"
|
|
57
50
|
},
|
|
51
|
+
"./plugins": {
|
|
52
|
+
"types": "./dist/plugins/index.d.ts",
|
|
53
|
+
"default": "./dist/plugins/index.js"
|
|
54
|
+
},
|
|
58
55
|
"./operations/node-ports": {
|
|
59
56
|
"types": "./dist/public/operations/node-ports.d.ts",
|
|
60
57
|
"default": "./dist/public/operations/node-ports.js"
|
|
61
58
|
},
|
|
62
|
-
"./verification-receipt": {
|
|
63
|
-
"types": "./dist/public/verification-receipt.d.ts",
|
|
64
|
-
"default": "./dist/public/verification-receipt.js"
|
|
65
|
-
},
|
|
66
59
|
"./operations/semantic-advisor/analyze-prose": {
|
|
67
60
|
"types": "./dist/operations/semantic-advisor/analyze-prose.d.ts",
|
|
68
61
|
"default": "./dist/operations/semantic-advisor/analyze-prose.js"
|
|
@@ -120,12 +113,12 @@
|
|
|
120
113
|
"default": "./dist/intent-search.js"
|
|
121
114
|
},
|
|
122
115
|
"./playwright-reporter": {
|
|
123
|
-
"types": "./dist/
|
|
124
|
-
"default": "./dist/
|
|
116
|
+
"types": "./dist/proof/producers/playwright-reporter.d.ts",
|
|
117
|
+
"default": "./dist/proof/producers/playwright-reporter.js"
|
|
125
118
|
},
|
|
126
119
|
"./playwright-case-id": {
|
|
127
|
-
"types": "./dist/
|
|
128
|
-
"default": "./dist/
|
|
120
|
+
"types": "./dist/proof/producers/playwright-case-id.d.ts",
|
|
121
|
+
"default": "./dist/proof/producers/playwright-case-id.js"
|
|
129
122
|
},
|
|
130
123
|
"./public/check-types": {
|
|
131
124
|
"types": "./dist/public/check-types.d.ts",
|
|
@@ -220,6 +213,10 @@
|
|
|
220
213
|
"types": "./dist/public/ignore-policy.d.ts",
|
|
221
214
|
"import": "./dist/public/ignore-policy.js",
|
|
222
215
|
"default": "./dist/public/ignore-policy.js"
|
|
216
|
+
},
|
|
217
|
+
"./env-bootstrap": {
|
|
218
|
+
"types": "./dist/env/bootstrap.d.ts",
|
|
219
|
+
"default": "./dist/env/bootstrap.js"
|
|
223
220
|
}
|
|
224
221
|
},
|
|
225
222
|
"types": "./dist/cli.d.ts",
|
|
@@ -230,14 +227,17 @@
|
|
|
230
227
|
"fast-glob": "^3.2.12",
|
|
231
228
|
"gray-matter": "^4.0.3",
|
|
232
229
|
"js-yaml": "^4.1.0",
|
|
233
|
-
"kibi-core": "^0.
|
|
234
|
-
"
|
|
230
|
+
"kibi-core": "^0.13.0",
|
|
231
|
+
"kibi-plugin-builtin": "^0.2.0",
|
|
232
|
+
"kibi-plugin-sdk": "^0.2.0",
|
|
233
|
+
"saxes": "^6.0.0",
|
|
235
234
|
"ignore": "^5.3.0",
|
|
236
235
|
"yaml": "^2.9.0"
|
|
237
236
|
},
|
|
238
237
|
"devDependencies": {
|
|
239
238
|
"@types/node": "latest",
|
|
240
239
|
"semver": "^7.7.4",
|
|
240
|
+
"ts-morph": "^23.0.0",
|
|
241
241
|
"typescript": "^5.7.0"
|
|
242
242
|
},
|
|
243
243
|
"license": "AGPL-3.0-or-later",
|
|
@@ -85,12 +85,12 @@ function appendSemanticFields(
|
|
|
85
85
|
}
|
|
86
86
|
|
|
87
87
|
const RECEIPT_GAP_CODES = new Set([
|
|
88
|
-
"
|
|
89
|
-
"
|
|
90
|
-
"
|
|
91
|
-
"
|
|
92
|
-
"
|
|
93
|
-
"
|
|
88
|
+
"missing_proof_receipt",
|
|
89
|
+
"stale_proof_receipt",
|
|
90
|
+
"failed_proof_receipt",
|
|
91
|
+
"invalid_proof_receipt",
|
|
92
|
+
"proof_contract_mismatch",
|
|
93
|
+
"proof_snapshot_unavailable",
|
|
94
94
|
]);
|
|
95
95
|
|
|
96
96
|
const MAX_COVERAGE_RECEIPT_GAPS = 50;
|
|
@@ -19,8 +19,8 @@ export const REQUIREMENT_COMPILER_CAPABILITIES = [
|
|
|
19
19
|
"contradiction_witnesses",
|
|
20
20
|
"conservative_proof",
|
|
21
21
|
"repair_plan",
|
|
22
|
-
"
|
|
23
|
-
"
|
|
22
|
+
"proof_receipts",
|
|
23
|
+
"proof_contract",
|
|
24
24
|
"telemetry_acceptance",
|
|
25
25
|
] as const;
|
|
26
26
|
|
|
@@ -170,7 +170,10 @@ const DEFAULT_VOLATILE_KEYS = new Set([
|
|
|
170
170
|
"updated_at",
|
|
171
171
|
"updatedAt",
|
|
172
172
|
"usageLogLineNumber",
|
|
173
|
-
"
|
|
173
|
+
"proofSnapshot",
|
|
174
|
+
// Per-workspace filesystem identity; CLI and MCP parity runs use two temp trees.
|
|
175
|
+
"attachedIno",
|
|
176
|
+
"attachedDev",
|
|
174
177
|
]);
|
|
175
178
|
|
|
176
179
|
type PackageManifest = {
|
|
@@ -178,12 +181,17 @@ type PackageManifest = {
|
|
|
178
181
|
readonly version?: string;
|
|
179
182
|
};
|
|
180
183
|
|
|
181
|
-
function
|
|
184
|
+
export function nextAncestorDirectory(current: string): string | undefined {
|
|
185
|
+
const parent = path.dirname(current);
|
|
186
|
+
return parent === current ? undefined : parent;
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
export function nearestPackageInfo(entrypoint: string): {
|
|
182
190
|
readonly packageRoot?: string;
|
|
183
191
|
readonly version?: string;
|
|
184
192
|
} {
|
|
185
|
-
let current = path.dirname(entrypoint);
|
|
186
|
-
while (
|
|
193
|
+
let current: string | undefined = path.dirname(entrypoint);
|
|
194
|
+
while (current !== undefined) {
|
|
187
195
|
const manifestPath = path.join(current, "package.json");
|
|
188
196
|
if (existsSync(manifestPath)) {
|
|
189
197
|
try {
|
|
@@ -200,10 +208,9 @@ function nearestPackageInfo(entrypoint: string): {
|
|
|
200
208
|
return { packageRoot: current };
|
|
201
209
|
}
|
|
202
210
|
}
|
|
203
|
-
|
|
204
|
-
if (parent === current) return {};
|
|
205
|
-
current = parent;
|
|
211
|
+
current = nextAncestorDirectory(current);
|
|
206
212
|
}
|
|
213
|
+
return {};
|
|
207
214
|
}
|
|
208
215
|
|
|
209
216
|
function declaredEntrypoint(contents: string): string | undefined {
|
|
@@ -305,7 +312,7 @@ function semanticFingerprint(value: unknown): string {
|
|
|
305
312
|
return JSON.stringify(value);
|
|
306
313
|
}
|
|
307
314
|
|
|
308
|
-
function sortedUnique(values: readonly string[] | undefined): string[] {
|
|
315
|
+
export function sortedUnique(values: readonly string[] | undefined): string[] {
|
|
309
316
|
return [...new Set(values ?? [])].sort((left, right) =>
|
|
310
317
|
left.localeCompare(right),
|
|
311
318
|
);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as path from "node:path";
|
|
2
2
|
import type { ExtractedSymbol } from "../../traceability/symbol-extract.js";
|
|
3
|
-
import {
|
|
3
|
+
import { extractSymbolsFromStagedFileAsync } from "../../traceability/symbol-extract.js";
|
|
4
4
|
import {
|
|
5
5
|
createSemanticReviewDiagnostics,
|
|
6
6
|
createSymbolGranularityDiagnostics,
|
|
@@ -21,9 +21,9 @@ import type {
|
|
|
21
21
|
ChangedFileImpactResult,
|
|
22
22
|
} from "./types.js";
|
|
23
23
|
|
|
24
|
-
export function analyzeChangedFileImpact(
|
|
24
|
+
export async function analyzeChangedFileImpact(
|
|
25
25
|
options: ChangedFileImpactOptions,
|
|
26
|
-
): ChangedFileImpactResult {
|
|
26
|
+
): Promise<ChangedFileImpactResult> {
|
|
27
27
|
const workspaceRoot = path.resolve(options.workspaceRoot);
|
|
28
28
|
const sourceChanges = collectSourceChanges({ ...options, workspaceRoot });
|
|
29
29
|
const sourceFiles = uniqueSorted(sourceChanges.map((change) => change.file));
|
|
@@ -34,17 +34,20 @@ export function analyzeChangedFileImpact(
|
|
|
34
34
|
|
|
35
35
|
for (const change of sourceChanges) {
|
|
36
36
|
sourceContentByFile.set(change.file, change.content);
|
|
37
|
+
// Maintenance path: builtin-only (do not pass registry / workspaceRoot).
|
|
38
|
+
const extracted = await extractSymbolsFromStagedFileAsync(
|
|
39
|
+
{
|
|
40
|
+
path: change.file,
|
|
41
|
+
status: change.status,
|
|
42
|
+
hunkRanges: [...change.hunkRanges],
|
|
43
|
+
content: change.content,
|
|
44
|
+
},
|
|
45
|
+
manifestLookup,
|
|
46
|
+
{},
|
|
47
|
+
);
|
|
37
48
|
symbolsByFile.set(
|
|
38
49
|
change.file,
|
|
39
|
-
|
|
40
|
-
{
|
|
41
|
-
path: change.file,
|
|
42
|
-
status: change.status,
|
|
43
|
-
hunkRanges: [...change.hunkRanges],
|
|
44
|
-
content: change.content,
|
|
45
|
-
},
|
|
46
|
-
manifestLookup,
|
|
47
|
-
).filter((symbol) => symbol.hunkRanges.length > 0),
|
|
50
|
+
extracted.filter((symbol) => symbol.hunkRanges.length > 0),
|
|
48
51
|
);
|
|
49
52
|
}
|
|
50
53
|
|
|
@@ -136,7 +136,7 @@ function isReviewableCoverageDepth(
|
|
|
136
136
|
);
|
|
137
137
|
}
|
|
138
138
|
|
|
139
|
-
function uniqueStrings(values: readonly string[]): readonly string[] {
|
|
139
|
+
export function uniqueStrings(values: readonly string[]): readonly string[] {
|
|
140
140
|
return [...new Set(values)].toSorted((left, right) =>
|
|
141
141
|
left.localeCompare(right),
|
|
142
142
|
);
|
|
@@ -7,6 +7,7 @@ import {
|
|
|
7
7
|
extractSymbolsFromStagedFile,
|
|
8
8
|
} from "../../traceability/symbol-extract.js";
|
|
9
9
|
import {
|
|
10
|
+
ALLOWED_GRANULARITY_REASONS_PROSE,
|
|
10
11
|
getBehavioralSymbolNames,
|
|
11
12
|
getNonBehavioralSymbolNames,
|
|
12
13
|
isAllowedGranularityReason,
|
|
@@ -151,7 +152,7 @@ export function createSymbolGranularityDiagnostics(
|
|
|
151
152
|
files: [result.entity.source, result.sourceFile],
|
|
152
153
|
docs: ["docs/symbol-traceability-taxonomy.md"],
|
|
153
154
|
message: `Symbol ${result.entity.id} links ${result.sourceFile} coarsely while granular symbols are available (behavioral only): ${behavioralNames.join(", ")}`,
|
|
154
|
-
suggestion: `Move ownership/coverage/test relationships to the narrow behavioral symbol, add a manifest behavioral anchor, or add granularity_reason with
|
|
155
|
+
suggestion: `Move ownership/coverage/test relationships to the narrow behavioral symbol, add a manifest behavioral anchor, or add granularity_reason with ${ALLOWED_GRANULARITY_REASONS_PROSE} when the coarse symbol is intentional.${ignoredSymbolsSuggestion}`,
|
|
155
156
|
});
|
|
156
157
|
}
|
|
157
158
|
|