kibi-cli 0.14.0 → 0.16.1
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/bin/kibi +3 -1
- package/dist/cli-command.d.ts +5 -0
- package/dist/cli-command.d.ts.map +1 -0
- package/dist/cli-command.js +9 -0
- package/dist/cli-errors.d.ts +13 -0
- package/dist/cli-errors.d.ts.map +1 -0
- package/dist/cli-errors.js +26 -0
- package/dist/cli-input.d.ts +6 -0
- package/dist/cli-input.d.ts.map +1 -0
- package/dist/cli-input.js +54 -0
- package/dist/cli-json-command.d.ts +14 -0
- package/dist/cli-json-command.d.ts.map +1 -0
- package/dist/cli-json-command.js +96 -0
- package/dist/cli-protocol.d.ts +12 -0
- package/dist/cli-protocol.d.ts.map +1 -0
- package/dist/cli-protocol.js +37 -0
- package/dist/cli-register-foundation.d.ts +3 -0
- package/dist/cli-register-foundation.d.ts.map +1 -0
- package/dist/cli-register-foundation.js +90 -0
- package/dist/cli-register-maintenance.d.ts +3 -0
- package/dist/cli-register-maintenance.d.ts.map +1 -0
- package/dist/cli-register-maintenance.js +36 -0
- package/dist/cli-register-reporting.d.ts +3 -0
- package/dist/cli-register-reporting.d.ts.map +1 -0
- package/dist/cli-register-reporting.js +101 -0
- package/dist/cli-register-skills.d.ts +3 -0
- package/dist/cli-register-skills.d.ts.map +1 -0
- package/dist/cli-register-skills.js +71 -0
- package/dist/cli-validate.d.ts +18 -0
- package/dist/cli-validate.d.ts.map +1 -0
- package/dist/cli-validate.js +45 -0
- package/dist/cli.d.ts +4 -4
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +48 -211
- package/dist/commands/aggregated-checks.d.ts +1 -1
- package/dist/commands/aggregated-checks.d.ts.map +1 -1
- package/dist/commands/aggregated-checks.js +28 -34
- package/dist/commands/check.d.ts +1 -1
- package/dist/commands/check.d.ts.map +1 -1
- package/dist/commands/check.js +52 -94
- package/dist/commands/coverage.d.ts.map +1 -1
- package/dist/commands/coverage.js +12 -17
- package/dist/commands/discovery-shared.d.ts +2 -1
- package/dist/commands/discovery-shared.d.ts.map +1 -1
- package/dist/commands/discovery-shared.js +6 -18
- package/dist/commands/gaps.d.ts.map +1 -1
- package/dist/commands/gaps.js +15 -19
- package/dist/commands/graph.d.ts.map +1 -1
- package/dist/commands/graph.js +15 -21
- package/dist/commands/query.d.ts +7 -7
- package/dist/commands/query.d.ts.map +1 -1
- package/dist/commands/query.js +98 -204
- package/dist/commands/search.d.ts +4 -4
- package/dist/commands/search.d.ts.map +1 -1
- package/dist/commands/search.js +14 -27
- package/dist/commands/status.d.ts +1 -1
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +6 -7
- package/dist/commands/sync/manifest.d.ts +1 -1
- package/dist/commands/sync/manifest.d.ts.map +1 -1
- package/dist/commands/sync/manifest.js +9 -17
- package/dist/commands/sync/persistence.d.ts.map +1 -1
- package/dist/commands/sync/persistence.js +22 -1
- package/dist/extractors/markdown.d.ts +14 -2
- package/dist/extractors/markdown.d.ts.map +1 -1
- package/dist/extractors/markdown.js +38 -1
- package/dist/extractors/symbols-ts.d.ts.map +1 -1
- package/dist/extractors/symbols-ts.js +11 -1
- package/dist/operations/autopilot/activation.d.ts +4 -0
- package/dist/operations/autopilot/activation.d.ts.map +1 -0
- package/dist/operations/autopilot/activation.js +130 -0
- package/dist/operations/autopilot/candidate-helpers.d.ts +13 -0
- package/dist/operations/autopilot/candidate-helpers.d.ts.map +1 -0
- package/dist/operations/autopilot/candidate-helpers.js +55 -0
- package/dist/operations/autopilot/candidates.d.ts +4 -0
- package/dist/operations/autopilot/candidates.d.ts.map +1 -0
- package/dist/operations/autopilot/candidates.js +114 -0
- package/dist/operations/autopilot/discovery-evidence.d.ts +10 -0
- package/dist/operations/autopilot/discovery-evidence.d.ts.map +1 -0
- package/dist/operations/autopilot/discovery-evidence.js +158 -0
- package/dist/operations/autopilot/discovery.d.ts +4 -0
- package/dist/operations/autopilot/discovery.d.ts.map +1 -0
- package/dist/operations/autopilot/discovery.js +100 -0
- package/dist/operations/autopilot/generate.d.ts +8 -0
- package/dist/operations/autopilot/generate.d.ts.map +1 -0
- package/dist/operations/autopilot/generate.js +112 -0
- package/dist/operations/autopilot/guidance-actions.d.ts +3 -0
- package/dist/operations/autopilot/guidance-actions.d.ts.map +1 -0
- package/dist/operations/autopilot/guidance-actions.js +79 -0
- package/dist/operations/autopilot/guidance.d.ts +14 -0
- package/dist/operations/autopilot/guidance.d.ts.map +1 -0
- package/dist/operations/autopilot/guidance.js +124 -0
- package/dist/operations/autopilot/markdown-candidates.d.ts +7 -0
- package/dist/operations/autopilot/markdown-candidates.d.ts.map +1 -0
- package/dist/operations/autopilot/markdown-candidates.js +134 -0
- package/dist/operations/autopilot/presentation.d.ts +13 -0
- package/dist/operations/autopilot/presentation.d.ts.map +1 -0
- package/dist/operations/autopilot/presentation.js +91 -0
- package/dist/operations/autopilot/requirement-claims.d.ts +3 -0
- package/dist/operations/autopilot/requirement-claims.d.ts.map +1 -0
- package/dist/operations/autopilot/requirement-claims.js +48 -0
- package/dist/operations/autopilot/types.d.ts +117 -0
- package/dist/operations/autopilot/types.d.ts.map +1 -0
- package/dist/operations/autopilot/types.js +8 -0
- package/dist/operations/modeling/model-requirement.d.ts +10 -0
- package/dist/operations/modeling/model-requirement.d.ts.map +1 -0
- package/dist/operations/modeling/model-requirement.js +108 -0
- package/dist/operations/modeling/predicate-applyplan.d.ts +6 -0
- package/dist/operations/modeling/predicate-applyplan.d.ts.map +1 -0
- package/dist/operations/modeling/predicate-applyplan.js +104 -0
- package/dist/operations/modeling/predicate-catalog-1.d.ts +3 -0
- package/dist/operations/modeling/predicate-catalog-1.d.ts.map +1 -0
- package/dist/operations/modeling/predicate-catalog-1.js +200 -0
- package/dist/operations/modeling/predicate-catalog-2.d.ts +3 -0
- package/dist/operations/modeling/predicate-catalog-2.d.ts.map +1 -0
- package/dist/operations/modeling/predicate-catalog-2.js +197 -0
- package/dist/operations/modeling/predicate-catalog-3.d.ts +3 -0
- package/dist/operations/modeling/predicate-catalog-3.d.ts.map +1 -0
- package/dist/operations/modeling/predicate-catalog-3.js +193 -0
- package/dist/operations/modeling/predicate-catalog-4.d.ts +3 -0
- package/dist/operations/modeling/predicate-catalog-4.d.ts.map +1 -0
- package/dist/operations/modeling/predicate-catalog-4.js +149 -0
- package/dist/operations/modeling/predicate-catalog.d.ts +5 -0
- package/dist/operations/modeling/predicate-catalog.d.ts.map +1 -0
- package/dist/operations/modeling/predicate-catalog.js +29 -0
- package/dist/operations/modeling/predicate-inference-1.d.ts +16 -0
- package/dist/operations/modeling/predicate-inference-1.d.ts.map +1 -0
- package/dist/operations/modeling/predicate-inference-1.js +161 -0
- package/dist/operations/modeling/predicate-inference-2.d.ts +19 -0
- package/dist/operations/modeling/predicate-inference-2.d.ts.map +1 -0
- package/dist/operations/modeling/predicate-inference-2.js +169 -0
- package/dist/operations/modeling/predicate-inference-3.d.ts +15 -0
- package/dist/operations/modeling/predicate-inference-3.d.ts.map +1 -0
- package/dist/operations/modeling/predicate-inference-3.js +163 -0
- package/dist/operations/modeling/predicate-inference.d.ts +5 -0
- package/dist/operations/modeling/predicate-inference.d.ts.map +1 -0
- package/dist/operations/modeling/predicate-inference.js +148 -0
- package/dist/operations/modeling/predicate-loader.d.ts +10 -0
- package/dist/operations/modeling/predicate-loader.d.ts.map +1 -0
- package/dist/operations/modeling/predicate-loader.js +88 -0
- package/dist/operations/modeling/predicate-ranker.d.ts +3 -0
- package/dist/operations/modeling/predicate-ranker.d.ts.map +1 -0
- package/dist/operations/modeling/predicate-ranker.js +24 -0
- package/dist/operations/modeling/predicate-score-1.d.ts +3 -0
- package/dist/operations/modeling/predicate-score-1.d.ts.map +1 -0
- package/dist/operations/modeling/predicate-score-1.js +121 -0
- package/dist/operations/modeling/predicate-score-2.d.ts +3 -0
- package/dist/operations/modeling/predicate-score-2.d.ts.map +1 -0
- package/dist/operations/modeling/predicate-score-2.js +122 -0
- package/dist/operations/modeling/predicate-score-3.d.ts +3 -0
- package/dist/operations/modeling/predicate-score-3.d.ts.map +1 -0
- package/dist/operations/modeling/predicate-score-3.js +54 -0
- package/dist/operations/modeling/predicate-types.d.ts +61 -0
- package/dist/operations/modeling/predicate-types.d.ts.map +1 -0
- package/dist/operations/modeling/predicate-types.js +1 -0
- package/dist/operations/modeling/predicate-usage-hints-1.d.ts +3 -0
- package/dist/operations/modeling/predicate-usage-hints-1.d.ts.map +1 -0
- package/dist/operations/modeling/predicate-usage-hints-1.js +211 -0
- package/dist/operations/modeling/predicate-usage-hints-2.d.ts +3 -0
- package/dist/operations/modeling/predicate-usage-hints-2.d.ts.map +1 -0
- package/dist/operations/modeling/predicate-usage-hints-2.js +209 -0
- package/dist/operations/modeling/predicate-usage-hints-3.d.ts +3 -0
- package/dist/operations/modeling/predicate-usage-hints-3.d.ts.map +1 -0
- package/dist/operations/modeling/predicate-usage-hints-3.js +45 -0
- package/dist/operations/modeling/predicate-utils.d.ts +23 -0
- package/dist/operations/modeling/predicate-utils.d.ts.map +1 -0
- package/dist/operations/modeling/predicate-utils.js +187 -0
- package/dist/operations/modeling/requirement-applyplan.d.ts +4 -0
- package/dist/operations/modeling/requirement-applyplan.d.ts.map +1 -0
- package/dist/operations/modeling/requirement-applyplan.js +44 -0
- package/dist/operations/modeling/requirement-heuristics.d.ts +4 -0
- package/dist/operations/modeling/requirement-heuristics.d.ts.map +1 -0
- package/dist/operations/modeling/requirement-heuristics.js +114 -0
- package/dist/operations/modeling/requirement-modeler.d.ts +8 -0
- package/dist/operations/modeling/requirement-modeler.d.ts.map +1 -0
- package/dist/operations/modeling/requirement-modeler.js +70 -0
- package/dist/operations/modeling/requirement-types.d.ts +49 -0
- package/dist/operations/modeling/requirement-types.d.ts.map +1 -0
- package/dist/operations/modeling/requirement-types.js +1 -0
- package/dist/operations/modeling/requirement-utils.d.ts +10 -0
- package/dist/operations/modeling/requirement-utils.d.ts.map +1 -0
- package/dist/operations/modeling/requirement-utils.js +65 -0
- package/dist/operations/modeling/suggest-predicates.d.ts +6 -0
- package/dist/operations/modeling/suggest-predicates.d.ts.map +1 -0
- package/dist/operations/modeling/suggest-predicates.js +64 -0
- package/dist/operations/mutation/audit.d.ts +6 -0
- package/dist/operations/mutation/audit.d.ts.map +1 -0
- package/dist/operations/mutation/audit.js +22 -0
- package/dist/operations/mutation/contradictions.d.ts +10 -0
- package/dist/operations/mutation/contradictions.d.ts.map +1 -0
- package/dist/operations/mutation/contradictions.js +40 -0
- package/dist/operations/mutation/delete.d.ts +5 -0
- package/dist/operations/mutation/delete.d.ts.map +1 -0
- package/dist/operations/mutation/delete.js +67 -0
- package/dist/operations/mutation/relationships.d.ts +17 -0
- package/dist/operations/mutation/relationships.d.ts.map +1 -0
- package/dist/operations/mutation/relationships.js +134 -0
- package/dist/operations/mutation/save.d.ts +4 -0
- package/dist/operations/mutation/save.d.ts.map +1 -0
- package/dist/operations/mutation/save.js +14 -0
- package/dist/operations/mutation/serialization.d.ts +5 -0
- package/dist/operations/mutation/serialization.d.ts.map +1 -0
- package/dist/operations/mutation/serialization.js +85 -0
- package/dist/operations/mutation/strict-fact.d.ts +4 -0
- package/dist/operations/mutation/strict-fact.d.ts.map +1 -0
- package/dist/operations/mutation/strict-fact.js +67 -0
- package/dist/operations/mutation/symbol-granularity.d.ts +4 -0
- package/dist/operations/mutation/symbol-granularity.d.ts.map +1 -0
- package/dist/operations/mutation/symbol-granularity.js +109 -0
- package/dist/operations/mutation/symbol-refresh.d.ts +10 -0
- package/dist/operations/mutation/symbol-refresh.d.ts.map +1 -0
- package/dist/operations/mutation/symbol-refresh.js +105 -0
- package/dist/operations/mutation/types.d.ts +43 -0
- package/dist/operations/mutation/types.d.ts.map +1 -0
- package/dist/operations/mutation/types.js +1 -0
- package/dist/operations/mutation/upsert.d.ts +5 -0
- package/dist/operations/mutation/upsert.d.ts.map +1 -0
- package/dist/operations/mutation/upsert.js +103 -0
- package/dist/operations/mutation/validate-upsert.d.ts +5 -0
- package/dist/operations/mutation/validate-upsert.d.ts.map +1 -0
- package/dist/operations/mutation/validate-upsert.js +50 -0
- package/dist/operations/mutation/validation.d.ts +5 -0
- package/dist/operations/mutation/validation.d.ts.map +1 -0
- package/dist/operations/mutation/validation.js +107 -0
- package/dist/operations/mutation/warnings.d.ts +4 -0
- package/dist/operations/mutation/warnings.d.ts.map +1 -0
- package/dist/operations/mutation/warnings.js +17 -0
- package/dist/operations/semantic-advisor/analysis-receipt.d.ts +5 -0
- package/dist/operations/semantic-advisor/analysis-receipt.d.ts.map +1 -0
- package/dist/operations/semantic-advisor/analysis-receipt.js +112 -0
- package/dist/operations/semantic-advisor/analyze-prose.d.ts +5 -0
- package/dist/operations/semantic-advisor/analyze-prose.d.ts.map +1 -0
- package/dist/operations/semantic-advisor/analyze-prose.js +271 -0
- package/dist/operations/semantic-advisor/clauses.d.ts +10 -0
- package/dist/operations/semantic-advisor/clauses.d.ts.map +1 -0
- package/dist/operations/semantic-advisor/clauses.js +43 -0
- package/dist/operations/semantic-advisor/observation-plan.d.ts +3 -0
- package/dist/operations/semantic-advisor/observation-plan.d.ts.map +1 -0
- package/dist/operations/semantic-advisor/observation-plan.js +19 -0
- package/dist/operations/semantic-advisor/predicate-rule.d.ts +14 -0
- package/dist/operations/semantic-advisor/predicate-rule.d.ts.map +1 -0
- package/dist/operations/semantic-advisor/predicate-rule.js +22 -0
- package/dist/operations/semantic-advisor/predicate-rules-core.d.ts +79 -0
- package/dist/operations/semantic-advisor/predicate-rules-core.d.ts.map +1 -0
- package/dist/operations/semantic-advisor/predicate-rules-core.js +140 -0
- package/dist/operations/semantic-advisor/predicate-rules-policy.d.ts +83 -0
- package/dist/operations/semantic-advisor/predicate-rules-policy.d.ts.map +1 -0
- package/dist/operations/semantic-advisor/predicate-rules-policy.js +150 -0
- package/dist/operations/semantic-advisor/predicate-rules-product-tail.d.ts +48 -0
- package/dist/operations/semantic-advisor/predicate-rules-product-tail.d.ts.map +1 -0
- package/dist/operations/semantic-advisor/predicate-rules-product-tail.js +102 -0
- package/dist/operations/semantic-advisor/predicate-rules-product.d.ts +71 -0
- package/dist/operations/semantic-advisor/predicate-rules-product.d.ts.map +1 -0
- package/dist/operations/semantic-advisor/predicate-rules-product.js +133 -0
- package/dist/operations/semantic-advisor/prose-coverage-evaluator.d.ts +29 -0
- package/dist/operations/semantic-advisor/prose-coverage-evaluator.d.ts.map +1 -0
- package/dist/operations/semantic-advisor/prose-coverage-evaluator.js +54 -0
- package/dist/operations/semantic-advisor/shared.d.ts +18 -0
- package/dist/operations/semantic-advisor/shared.d.ts.map +1 -0
- package/dist/operations/semantic-advisor/shared.js +209 -0
- package/dist/operations/semantic-advisor/strict-count-rules.d.ts +4 -0
- package/dist/operations/semantic-advisor/strict-count-rules.d.ts.map +1 -0
- package/dist/operations/semantic-advisor/strict-count-rules.js +62 -0
- package/dist/operations/semantic-advisor/strict-rules.d.ts +4 -0
- package/dist/operations/semantic-advisor/strict-rules.d.ts.map +1 -0
- package/dist/operations/semantic-advisor/strict-rules.js +106 -0
- package/dist/operations/semantic-advisor/types.d.ts +135 -0
- package/dist/operations/semantic-advisor/types.d.ts.map +1 -0
- package/dist/operations/semantic-advisor/types.js +1 -0
- package/dist/prolog/codec.d.ts.map +1 -1
- package/dist/prolog/codec.js +9 -2
- package/dist/prolog.d.ts +5 -0
- package/dist/prolog.d.ts.map +1 -1
- package/dist/prolog.js +82 -30
- package/dist/public/impact/diagnostics.d.ts.map +1 -1
- package/dist/public/impact/diagnostics.js +8 -4
- package/dist/public/impact/full-kb-quality.d.ts +1 -1
- package/dist/public/impact/full-kb-quality.d.ts.map +1 -1
- package/dist/public/impact/full-kb-quality.js +34 -1
- package/dist/public/impact/requirement-quality.d.ts.map +1 -1
- package/dist/public/impact/requirement-quality.js +6 -23
- package/dist/public/operations/catalog.d.ts +907 -0
- package/dist/public/operations/catalog.d.ts.map +1 -0
- package/dist/public/operations/catalog.js +42 -0
- package/dist/public/operations/check-executor.d.ts +21 -0
- package/dist/public/operations/check-executor.d.ts.map +1 -0
- package/dist/public/operations/check-executor.js +111 -0
- package/dist/public/operations/check-format-shared.d.ts +36 -0
- package/dist/public/operations/check-format-shared.d.ts.map +1 -0
- package/dist/public/operations/check-format-shared.js +107 -0
- package/dist/public/operations/check-helpers.d.ts +10 -0
- package/dist/public/operations/check-helpers.d.ts.map +1 -0
- package/dist/public/operations/check-helpers.js +107 -0
- package/dist/public/operations/discovery-entities.d.ts +14 -0
- package/dist/public/operations/discovery-entities.d.ts.map +1 -0
- package/dist/public/operations/discovery-entities.js +91 -0
- package/dist/public/operations/discovery-executors.d.ts +39 -0
- package/dist/public/operations/discovery-executors.d.ts.map +1 -0
- package/dist/public/operations/discovery-executors.js +101 -0
- package/dist/public/operations/index.d.ts +20 -0
- package/dist/public/operations/index.d.ts.map +1 -0
- package/dist/public/operations/index.js +18 -0
- package/dist/public/operations/node-ports.d.ts +15 -0
- package/dist/public/operations/node-ports.d.ts.map +1 -0
- package/dist/public/operations/node-ports.js +57 -0
- package/dist/public/operations/prolog-json.d.ts +5 -0
- package/dist/public/operations/prolog-json.d.ts.map +1 -0
- package/dist/public/operations/prolog-json.js +44 -0
- package/dist/public/operations/runtime-types.d.ts +69 -0
- package/dist/public/operations/runtime-types.d.ts.map +1 -0
- package/dist/public/operations/runtime-types.js +17 -0
- package/dist/public/operations/specs/autopilot.d.ts +82 -0
- package/dist/public/operations/specs/autopilot.d.ts.map +1 -0
- package/dist/public/operations/specs/autopilot.js +72 -0
- package/dist/public/operations/specs/check.d.ts +51 -0
- package/dist/public/operations/specs/check.d.ts.map +1 -0
- package/dist/public/operations/specs/check.js +62 -0
- package/dist/public/operations/specs/discovery.d.ts +94 -0
- package/dist/public/operations/specs/discovery.d.ts.map +1 -0
- package/dist/public/operations/specs/discovery.js +98 -0
- package/dist/public/operations/specs/modeling.d.ts +126 -0
- package/dist/public/operations/specs/modeling.d.ts.map +1 -0
- package/dist/public/operations/specs/modeling.js +117 -0
- package/dist/public/operations/specs/mutation-schemas.d.ts +233 -0
- package/dist/public/operations/specs/mutation-schemas.d.ts.map +1 -0
- package/dist/public/operations/specs/mutation-schemas.js +267 -0
- package/dist/public/operations/specs/mutation.d.ts +56 -0
- package/dist/public/operations/specs/mutation.d.ts.map +1 -0
- package/dist/public/operations/specs/mutation.js +44 -0
- package/dist/public/operations/specs/reporting.d.ts +185 -0
- package/dist/public/operations/specs/reporting.d.ts.map +1 -0
- package/dist/public/operations/specs/reporting.js +158 -0
- package/dist/public/operations/specs/semantic.d.ts +53 -0
- package/dist/public/operations/specs/semantic.d.ts.map +1 -0
- package/dist/public/operations/specs/semantic.js +105 -0
- package/dist/public/operations/specs/skills.d.ts +70 -0
- package/dist/public/operations/specs/skills.d.ts.map +1 -0
- package/dist/public/operations/specs/skills.js +107 -0
- package/dist/public/operations/specs/sparql.d.ts +39 -0
- package/dist/public/operations/specs/sparql.d.ts.map +1 -0
- package/dist/public/operations/specs/sparql.js +121 -0
- package/dist/public/operations/specs/upsert.d.ts +256 -0
- package/dist/public/operations/specs/upsert.d.ts.map +1 -0
- package/dist/public/operations/specs/upsert.js +27 -0
- package/dist/public/operations/types.d.ts +24 -0
- package/dist/public/operations/types.d.ts.map +1 -0
- package/dist/public/operations/types.js +1 -0
- package/dist/public/schemas/entity.d.ts.map +1 -1
- package/dist/public/schemas/entity.js +27 -0
- package/dist/public/skill-system/errors.d.ts +19 -0
- package/dist/public/skill-system/errors.d.ts.map +1 -0
- package/dist/public/skill-system/errors.js +36 -0
- package/dist/public/skill-system/loader.d.ts +9 -0
- package/dist/public/skill-system/loader.d.ts.map +1 -0
- package/dist/public/skill-system/loader.js +76 -0
- package/dist/public/skill-system/paths.d.ts +6 -0
- package/dist/public/skill-system/paths.d.ts.map +1 -0
- package/dist/public/skill-system/paths.js +25 -0
- package/dist/public/skill-system/types.d.ts +15 -0
- package/dist/public/skill-system/types.d.ts.map +1 -0
- package/dist/public/skill-system/types.js +1 -0
- package/dist/public/skill-system/validation.d.ts +10 -0
- package/dist/public/skill-system/validation.d.ts.map +1 -0
- package/dist/public/skill-system/validation.js +119 -0
- package/dist/public/skills/init-kibi/SKILL.md +62 -0
- package/dist/public/skills/kibi-freshness/SKILL.md +44 -0
- package/dist/public/skills/kibi-traceability/SKILL.md +54 -0
- package/dist/public/skills/kibi-usage/SKILL.md +119 -99
- package/dist/public/skills/kibi-usage/resources/fact-lanes.md +102 -0
- package/dist/public/skills/kibi-usage/resources/operation-access.md +44 -0
- package/dist/public/skills/kibi-usage/resources/workflows.md +26 -3
- package/dist/public/skills.d.ts +4 -41
- package/dist/public/skills.d.ts.map +1 -1
- package/dist/public/skills.js +3 -270
- package/dist/runtime/cli-runtime.d.ts +3 -0
- package/dist/runtime/cli-runtime.d.ts.map +1 -0
- package/dist/runtime/cli-runtime.js +96 -0
- package/dist/schemas/entity.schema.json +23 -0
- package/dist/traceability/staged-diagnostics.d.ts +1 -1
- package/dist/traceability/staged-diagnostics.d.ts.map +1 -1
- package/dist/traceability/staged-symbols-manifest.d.ts +1 -0
- package/dist/traceability/staged-symbols-manifest.d.ts.map +1 -1
- package/dist/traceability/staged-symbols-manifest.js +38 -27
- package/dist/traceability/symbol-extract.d.ts.map +1 -1
- package/dist/traceability/symbol-extract.js +17 -1
- package/dist/traceability/temp-kb.d.ts.map +1 -1
- package/dist/traceability/temp-kb.js +34 -1
- package/dist/types/entities.d.ts +3 -0
- package/dist/types/entities.d.ts.map +1 -1
- package/dist/utils/rule-registry.d.ts.map +1 -1
- package/dist/utils/rule-registry.js +6 -0
- package/package.json +56 -2
- package/src/public/impact/diagnostics.ts +18 -11
- package/src/public/impact/full-kb-quality.ts +30 -3
- package/src/public/impact/requirement-quality.ts +6 -26
- package/src/public/operations/catalog.ts +60 -0
- package/src/public/operations/check-executor.ts +185 -0
- package/src/public/operations/check-format-shared.ts +178 -0
- package/src/public/operations/check-helpers.ts +141 -0
- package/src/public/operations/discovery-entities.ts +122 -0
- package/src/public/operations/discovery-executors.ts +176 -0
- package/src/public/operations/index.ts +19 -0
- package/src/public/operations/node-ports.ts +78 -0
- package/src/public/operations/prolog-json.ts +71 -0
- package/src/public/operations/runtime-types.ts +106 -0
- package/src/public/operations/specs/autopilot.ts +98 -0
- package/src/public/operations/specs/check.ts +72 -0
- package/src/public/operations/specs/discovery.ts +126 -0
- package/src/public/operations/specs/modeling.ts +154 -0
- package/src/public/operations/specs/mutation-schemas.ts +296 -0
- package/src/public/operations/specs/mutation.ts +58 -0
- package/src/public/operations/specs/reporting.ts +249 -0
- package/src/public/operations/specs/semantic.ts +135 -0
- package/src/public/operations/specs/skills.ts +142 -0
- package/src/public/operations/specs/sparql.ts +149 -0
- package/src/public/operations/specs/upsert.ts +40 -0
- package/src/public/operations/types.ts +57 -0
- package/src/public/schemas/entity.ts +27 -0
- package/src/public/skill-system/errors.ts +38 -0
- package/src/public/skill-system/loader.ts +108 -0
- package/src/public/skill-system/paths.ts +27 -0
- package/src/public/skill-system/types.ts +14 -0
- package/src/public/skill-system/validation.ts +175 -0
- package/src/public/skills/init-kibi/SKILL.md +62 -0
- package/src/public/skills/kibi-freshness/SKILL.md +44 -0
- package/src/public/skills/kibi-traceability/SKILL.md +54 -0
- package/src/public/skills/kibi-usage/SKILL.md +119 -99
- package/src/public/skills/kibi-usage/resources/fact-lanes.md +102 -0
- package/src/public/skills/kibi-usage/resources/operation-access.md +44 -0
- package/src/public/skills/kibi-usage/resources/workflows.md +26 -3
- package/src/public/skills.ts +18 -427
- package/src/schemas/entity.schema.json +23 -0
|
@@ -50,9 +50,25 @@ const FACT_STRING_FIELDS = new Set([
|
|
|
50
50
|
"valid_from",
|
|
51
51
|
"valid_to",
|
|
52
52
|
"canonical_key",
|
|
53
|
+
"claim_key",
|
|
54
|
+
"claim_text",
|
|
55
|
+
"predicate_name",
|
|
56
|
+
"predicate_namespace",
|
|
57
|
+
]);
|
|
58
|
+
const FACT_NUMBER_FIELDS = new Set([
|
|
59
|
+
"value_int",
|
|
60
|
+
"value_number",
|
|
61
|
+
"predicate_arity",
|
|
53
62
|
]);
|
|
54
|
-
const FACT_NUMBER_FIELDS = new Set(["value_int", "value_number"]);
|
|
55
63
|
const FACT_BOOLEAN_FIELDS = new Set(["value_bool", "closed_world"]);
|
|
64
|
+
const FACT_STRING_ARRAY_FIELDS = new Set([
|
|
65
|
+
"argument_names",
|
|
66
|
+
"argument_types",
|
|
67
|
+
"argument_descriptions",
|
|
68
|
+
"aliases",
|
|
69
|
+
"examples",
|
|
70
|
+
"predicate_args",
|
|
71
|
+
]);
|
|
56
72
|
function isTraceEnabled() {
|
|
57
73
|
return isCliTraceOrDebugEnabled();
|
|
58
74
|
}
|
|
@@ -99,6 +115,12 @@ function serializeTypedFactFields(entity) {
|
|
|
99
115
|
fields.push(`${field}=${value}`);
|
|
100
116
|
}
|
|
101
117
|
}
|
|
118
|
+
for (const field of FACT_STRING_ARRAY_FIELDS) {
|
|
119
|
+
const value = getEntityField(entity, field);
|
|
120
|
+
if (Array.isArray(value)) {
|
|
121
|
+
fields.push(`${field}=[${value.map((item) => toPrologString(String(item))).join(",")}]`);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
102
124
|
return fields;
|
|
103
125
|
}
|
|
104
126
|
function buildEntityAssertionGoal(entity) {
|
|
@@ -121,9 +143,20 @@ function buildEntityAssertionGoal(entity) {
|
|
|
121
143
|
props.push(`severity=${toPrologAtom(entity.severity)}`);
|
|
122
144
|
if (entity.text_ref)
|
|
123
145
|
props.push(`text_ref=${toPrologString(entity.text_ref)}`);
|
|
146
|
+
if (entity.type === "req" && entity.logic_claims) {
|
|
147
|
+
props.push(`logic_claims=[${entity.logic_claims.map(toPrologAtom).join(",")}]`);
|
|
148
|
+
}
|
|
124
149
|
if (entity.type === "fact") {
|
|
125
150
|
props.push(...serializeTypedFactFields(entity));
|
|
126
151
|
}
|
|
152
|
+
if (entity.type === "test") {
|
|
153
|
+
if (entity.verification_scope !== undefined) {
|
|
154
|
+
props.push(`verification_scope=${toPrologAtom(entity.verification_scope)}`);
|
|
155
|
+
}
|
|
156
|
+
if (entity.verification_perspective !== undefined) {
|
|
157
|
+
props.push(`verification_perspective=${toPrologAtom(entity.verification_perspective)}`);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
127
160
|
return `kb_assert_entity_no_audit(${entity.type}, [${props.join(", ")}])`;
|
|
128
161
|
}
|
|
129
162
|
function buildRelationshipAssertionGoal(relationship) {
|
package/dist/types/entities.d.ts
CHANGED
|
@@ -29,6 +29,8 @@ export interface FactFields {
|
|
|
29
29
|
valid_from?: string;
|
|
30
30
|
valid_to?: string;
|
|
31
31
|
canonical_key?: string;
|
|
32
|
+
claim_key?: string;
|
|
33
|
+
claim_text?: string;
|
|
32
34
|
predicate_name?: string;
|
|
33
35
|
predicate_namespace?: string;
|
|
34
36
|
predicate_arity?: number;
|
|
@@ -45,6 +47,7 @@ export interface TestVerificationFields {
|
|
|
45
47
|
}
|
|
46
48
|
export type Requirement = BaseEntity & {
|
|
47
49
|
type: "req";
|
|
50
|
+
logic_claims?: string[];
|
|
48
51
|
};
|
|
49
52
|
export type Scenario = BaseEntity & {
|
|
50
53
|
type: "scenario";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entities.d.ts","sourceRoot":"","sources":["../../src/types/entities.ts"],"names":[],"mappings":"AAkBA,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAGD,MAAM,WAAW,UAAU;IACzB,SAAS,CAAC,EACN,SAAS,GACT,gBAAgB,GAChB,aAAa,GACb,MAAM,GACN,kBAAkB,GAClB,WAAW,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,CAAC;IACtD,UAAU,CAAC,EAAE,QAAQ,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IAClD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC;IACpD,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,sBAAsB;IACrC,kBAAkB,CAAC,EAAE,MAAM,GAAG,aAAa,GAAG,YAAY,CAAC;IAC3D,wBAAwB,CAAC,EAAE,UAAU,GAAG,UAAU,CAAC;CACpD;AAED,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG;
|
|
1
|
+
{"version":3,"file":"entities.d.ts","sourceRoot":"","sources":["../../src/types/entities.ts"],"names":[],"mappings":"AAkBA,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAGD,MAAM,WAAW,UAAU;IACzB,SAAS,CAAC,EACN,SAAS,GACT,gBAAgB,GAChB,aAAa,GACb,MAAM,GACN,kBAAkB,GAClB,WAAW,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,CAAC;IACtD,UAAU,CAAC,EAAE,QAAQ,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IAClD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC;IACpD,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,sBAAsB;IACrC,kBAAkB,CAAC,EAAE,MAAM,GAAG,aAAa,GAAG,YAAY,CAAC;IAC3D,wBAAwB,CAAC,EAAE,UAAU,GAAG,UAAU,CAAC;CACpD;AAED,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG;IACrC,IAAI,EAAE,KAAK,CAAC;IACZ,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB,CAAC;AACF,MAAM,MAAM,QAAQ,GAAG,UAAU,GAAG;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,CAAC;AACzD,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG,sBAAsB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAChF,MAAM,MAAM,GAAG,GAAG,UAAU,GAAG;IAAE,IAAI,EAAE,KAAK,CAAA;CAAE,CAAC;AAC/C,MAAM,MAAM,IAAI,GAAG,UAAU,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AACjD,MAAM,MAAM,KAAK,GAAG,UAAU,GAAG;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC;AACnD,MAAM,MAAM,MAAM,GAAG,UAAU,GAAG;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC;AACrD,MAAM,MAAM,IAAI,GAAG,UAAU,GAAG,UAAU,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAE9D,MAAM,MAAM,MAAM,GACd,WAAW,GACX,QAAQ,GACR,UAAU,GACV,GAAG,GACH,IAAI,GACJ,KAAK,GACL,MAAM,GACN,IAAI,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rule-registry.d.ts","sourceRoot":"","sources":["../../src/utils/rule-registry.ts"],"names":[],"mappings":"AAkBA;;;GAGG;AAEH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,OAAO,CAAC;IACxB,QAAQ,EAAE,UAAU,GAAG,WAAW,GAAG,WAAW,GAAG,cAAc,CAAC;CACnE;AAED,MAAM,WAAW,yBAAyB;IACxC,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,mCAAmC;AACnC,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,kBAAkB,EAAE,yBAAyB,CAAC;CAC/C;AAED;;;GAGG;AACH,eAAO,MAAM,KAAK,EAAE,SAAS,cAAc,
|
|
1
|
+
{"version":3,"file":"rule-registry.d.ts","sourceRoot":"","sources":["../../src/utils/rule-registry.ts"],"names":[],"mappings":"AAkBA;;;GAGG;AAEH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,OAAO,CAAC;IACxB,QAAQ,EAAE,UAAU,GAAG,WAAW,GAAG,WAAW,GAAG,cAAc,CAAC;CACnE;AAED,MAAM,WAAW,yBAAyB;IACxC,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,mCAAmC;AACnC,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,kBAAkB,EAAE,yBAAyB,CAAC;CAC/C;AAED;;;GAGG;AACH,eAAO,MAAM,KAAK,EAAE,SAAS,cAAc,EAiGjC,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,UAAU,aAAoC,CAAC;AAE5D;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAE,YAKnC,CAAC;AAEF;;;;;GAKG;AAEH,wBAAgB,iBAAiB,CAC/B,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACrC,QAAQ,CAAC,EAAE,MAAM,GAChB,GAAG,CAAC,MAAM,CAAC,CAsBb;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAK5D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAC9B,YAAY,CAWd"}
|
|
@@ -93,6 +93,12 @@ export const RULES = [
|
|
|
93
93
|
defaultEnabled: false,
|
|
94
94
|
category: "integrity",
|
|
95
95
|
},
|
|
96
|
+
{
|
|
97
|
+
name: "logic-coverage",
|
|
98
|
+
description: "Require every explicitly declared atomic requirement claim to be grounded by a linked strict-property or predicate fact",
|
|
99
|
+
defaultEnabled: true,
|
|
100
|
+
category: "integrity",
|
|
101
|
+
},
|
|
96
102
|
{
|
|
97
103
|
name: "query-plan-safety",
|
|
98
104
|
description: "Detect Prolog validation clauses that place negation before generator calls",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "kibi-cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.16.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Kibi CLI for knowledge base management",
|
|
6
6
|
"engines": {
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
"files": ["dist", "bin", "schema", "src/schemas", "src/public"],
|
|
15
15
|
"scripts": {
|
|
16
16
|
"build": "tsc -p tsconfig.json && mkdir -p dist/public/skills && cp -r src/public/skills/. dist/public/skills/",
|
|
17
|
+
"typecheck": "tsc -p tsconfig.json --noEmit",
|
|
17
18
|
"prepack": "npm run build"
|
|
18
19
|
},
|
|
19
20
|
"exports": {
|
|
@@ -29,6 +30,22 @@
|
|
|
29
30
|
"types": "./dist/prolog/codec.d.ts",
|
|
30
31
|
"default": "./dist/prolog/codec.js"
|
|
31
32
|
},
|
|
33
|
+
"./operations/runtime-types": {
|
|
34
|
+
"types": "./dist/public/operations/runtime-types.d.ts",
|
|
35
|
+
"default": "./dist/public/operations/runtime-types.js"
|
|
36
|
+
},
|
|
37
|
+
"./operations/semantic-advisor/analyze-prose": {
|
|
38
|
+
"types": "./dist/operations/semantic-advisor/analyze-prose.d.ts",
|
|
39
|
+
"default": "./dist/operations/semantic-advisor/analyze-prose.js"
|
|
40
|
+
},
|
|
41
|
+
"./operations/semantic-advisor/prose-coverage-evaluator": {
|
|
42
|
+
"types": "./dist/operations/semantic-advisor/prose-coverage-evaluator.d.ts",
|
|
43
|
+
"default": "./dist/operations/semantic-advisor/prose-coverage-evaluator.js"
|
|
44
|
+
},
|
|
45
|
+
"./operations/semantic-advisor/types": {
|
|
46
|
+
"types": "./dist/operations/semantic-advisor/types.d.ts",
|
|
47
|
+
"default": "./dist/operations/semantic-advisor/types.js"
|
|
48
|
+
},
|
|
32
49
|
"./extractors/symbols-coordinator": {
|
|
33
50
|
"types": "./dist/public/extractors/symbols-coordinator.d.ts",
|
|
34
51
|
"default": "./dist/public/extractors/symbols-coordinator.js"
|
|
@@ -89,6 +106,43 @@
|
|
|
89
106
|
"types": "./dist/public/skills.d.ts",
|
|
90
107
|
"default": "./dist/public/skills.js"
|
|
91
108
|
},
|
|
109
|
+
"./operations": "./dist/public/operations/index.js",
|
|
110
|
+
"./operations/mutation/relationships": {
|
|
111
|
+
"types": "./dist/operations/mutation/relationships.d.ts",
|
|
112
|
+
"default": "./dist/operations/mutation/relationships.js"
|
|
113
|
+
},
|
|
114
|
+
"./operations/mutation/symbol-refresh": {
|
|
115
|
+
"types": "./dist/operations/mutation/symbol-refresh.d.ts",
|
|
116
|
+
"default": "./dist/operations/mutation/symbol-refresh.js"
|
|
117
|
+
},
|
|
118
|
+
"./operations/mutation/types": {
|
|
119
|
+
"types": "./dist/operations/mutation/types.d.ts",
|
|
120
|
+
"default": "./dist/operations/mutation/types.js"
|
|
121
|
+
},
|
|
122
|
+
"./operations/mutation/delete": {
|
|
123
|
+
"types": "./dist/operations/mutation/delete.d.ts",
|
|
124
|
+
"default": "./dist/operations/mutation/delete.js"
|
|
125
|
+
},
|
|
126
|
+
"./operations/mutation/upsert": {
|
|
127
|
+
"types": "./dist/operations/mutation/upsert.d.ts",
|
|
128
|
+
"default": "./dist/operations/mutation/upsert.js"
|
|
129
|
+
},
|
|
130
|
+
"./operations/mutation/validate-upsert": {
|
|
131
|
+
"types": "./dist/operations/mutation/validate-upsert.d.ts",
|
|
132
|
+
"default": "./dist/operations/mutation/validate-upsert.js"
|
|
133
|
+
},
|
|
134
|
+
"./operations/mutation/validation": {
|
|
135
|
+
"types": "./dist/operations/mutation/validation.d.ts",
|
|
136
|
+
"default": "./dist/operations/mutation/validation.js"
|
|
137
|
+
},
|
|
138
|
+
"./operations/modeling/model-requirement": {
|
|
139
|
+
"types": "./dist/operations/modeling/model-requirement.d.ts",
|
|
140
|
+
"default": "./dist/operations/modeling/model-requirement.js"
|
|
141
|
+
},
|
|
142
|
+
"./operations/modeling/suggest-predicates": {
|
|
143
|
+
"types": "./dist/operations/modeling/suggest-predicates.d.ts",
|
|
144
|
+
"default": "./dist/operations/modeling/suggest-predicates.js"
|
|
145
|
+
},
|
|
92
146
|
"./ignore-policy": {
|
|
93
147
|
"types": "./dist/public/ignore-policy.d.ts",
|
|
94
148
|
"import": "./dist/public/ignore-policy.js",
|
|
@@ -103,7 +157,7 @@
|
|
|
103
157
|
"fast-glob": "^3.2.12",
|
|
104
158
|
"gray-matter": "^4.0.3",
|
|
105
159
|
"js-yaml": "^4.1.0",
|
|
106
|
-
"kibi-core": "^0.7.
|
|
160
|
+
"kibi-core": "^0.7.1",
|
|
107
161
|
"ts-morph": "^23.0.0",
|
|
108
162
|
"ignore": "^5.3.0"
|
|
109
163
|
},
|
|
@@ -69,15 +69,22 @@ function readSourceSymbols(
|
|
|
69
69
|
function getGranularSymbolsForSourceFile(
|
|
70
70
|
sourceFile: string,
|
|
71
71
|
options: SymbolGranularityDiagnosticsOptions,
|
|
72
|
-
):
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
)
|
|
72
|
+
): {
|
|
73
|
+
readonly candidateSymbols: readonly ExtractedSymbol[];
|
|
74
|
+
readonly sourceSymbols: readonly ExtractedSymbol[];
|
|
75
|
+
} {
|
|
76
|
+
const sourceSymbols = readSourceSymbols(
|
|
77
|
+
sourceFile,
|
|
78
|
+
options.sourceContentByFile,
|
|
79
|
+
options.workspaceRoot ?? process.cwd(),
|
|
80
80
|
);
|
|
81
|
+
const changedSymbols = options.symbolsByFile.get(sourceFile);
|
|
82
|
+
|
|
83
|
+
return {
|
|
84
|
+
candidateSymbols: changedSymbols ?? sourceSymbols,
|
|
85
|
+
sourceSymbols:
|
|
86
|
+
sourceSymbols.length > 0 ? sourceSymbols : (changedSymbols ?? []),
|
|
87
|
+
};
|
|
81
88
|
}
|
|
82
89
|
|
|
83
90
|
function formatRelationshipTargets(symbol: ExtractedSymbol): string {
|
|
@@ -116,12 +123,12 @@ export function createSymbolGranularityDiagnostics(
|
|
|
116
123
|
if (!hasTraceabilityRelationship(result)) continue;
|
|
117
124
|
if (hasValidGranularityReason(result)) continue;
|
|
118
125
|
|
|
119
|
-
const
|
|
126
|
+
const { candidateSymbols, sourceSymbols } = getGranularSymbolsForSourceFile(
|
|
120
127
|
result.sourceFile,
|
|
121
128
|
options,
|
|
122
129
|
);
|
|
123
|
-
const narrowerSymbols =
|
|
124
|
-
isNarrowerSymbol(result.entity.title, symbol,
|
|
130
|
+
const narrowerSymbols = candidateSymbols.filter((symbol) =>
|
|
131
|
+
isNarrowerSymbol(result.entity.title, symbol, sourceSymbols),
|
|
125
132
|
);
|
|
126
133
|
if (narrowerSymbols.length === 0) continue;
|
|
127
134
|
|
|
@@ -33,7 +33,7 @@ const RELATIONSHIP_TYPES = [
|
|
|
33
33
|
] as const;
|
|
34
34
|
|
|
35
35
|
type FullKbQualityDiagnosticsOptions = {
|
|
36
|
-
readonly prolog: PrologProcess
|
|
36
|
+
readonly prolog: Pick<PrologProcess, "query">;
|
|
37
37
|
readonly hardViolationEntityIds?: ReadonlySet<string>;
|
|
38
38
|
readonly maxDiagnostics?: number;
|
|
39
39
|
};
|
|
@@ -88,6 +88,8 @@ function toExtractedEntity(entity: Record<string, unknown>): ExtractedEntity {
|
|
|
88
88
|
if (severity !== undefined) extracted.severity = severity;
|
|
89
89
|
const textRef = optionalStringField(entity, "text_ref");
|
|
90
90
|
if (textRef !== undefined) extracted.text_ref = textRef;
|
|
91
|
+
const logicClaims = optionalStringArrayField(entity, "logic_claims");
|
|
92
|
+
if (logicClaims !== undefined) extracted.logic_claims = logicClaims;
|
|
91
93
|
const granularityReason = optionalStringField(entity, "granularity_reason");
|
|
92
94
|
if (granularityReason !== undefined) {
|
|
93
95
|
extracted.granularity_reason = granularityReason;
|
|
@@ -118,10 +120,35 @@ function toExtractedEntity(entity: Record<string, unknown>): ExtractedEntity {
|
|
|
118
120
|
factKind === "subject" ||
|
|
119
121
|
factKind === "property_value" ||
|
|
120
122
|
factKind === "observation" ||
|
|
121
|
-
factKind === "meta"
|
|
123
|
+
factKind === "meta" ||
|
|
124
|
+
factKind === "predicate_schema" ||
|
|
125
|
+
factKind === "predicate"
|
|
122
126
|
) {
|
|
123
127
|
extracted.fact_kind = factKind;
|
|
124
128
|
}
|
|
129
|
+
const claimKey = optionalStringField(entity, "claim_key");
|
|
130
|
+
if (claimKey !== undefined) extracted.claim_key = claimKey;
|
|
131
|
+
const claimText = optionalStringField(entity, "claim_text");
|
|
132
|
+
if (claimText !== undefined) extracted.claim_text = claimText;
|
|
133
|
+
const predicateName = optionalStringField(entity, "predicate_name");
|
|
134
|
+
if (predicateName !== undefined) extracted.predicate_name = predicateName;
|
|
135
|
+
const predicateNamespace = optionalStringField(entity, "predicate_namespace");
|
|
136
|
+
if (predicateNamespace !== undefined) {
|
|
137
|
+
extracted.predicate_namespace = predicateNamespace;
|
|
138
|
+
}
|
|
139
|
+
const predicateArity = optionalNumberField(entity, "predicate_arity");
|
|
140
|
+
if (predicateArity !== undefined) extracted.predicate_arity = predicateArity;
|
|
141
|
+
for (const field of [
|
|
142
|
+
"argument_names",
|
|
143
|
+
"argument_types",
|
|
144
|
+
"argument_descriptions",
|
|
145
|
+
"aliases",
|
|
146
|
+
"examples",
|
|
147
|
+
"predicate_args",
|
|
148
|
+
] as const) {
|
|
149
|
+
const values = optionalStringArrayField(entity, field);
|
|
150
|
+
if (values !== undefined) extracted[field] = values;
|
|
151
|
+
}
|
|
125
152
|
return extracted;
|
|
126
153
|
}
|
|
127
154
|
|
|
@@ -133,7 +160,7 @@ function sourceFileFor(entity: Record<string, unknown>): string | undefined {
|
|
|
133
160
|
}
|
|
134
161
|
|
|
135
162
|
async function loadKbExtractionResults(
|
|
136
|
-
prolog: PrologProcess,
|
|
163
|
+
prolog: Pick<PrologProcess, "query">,
|
|
137
164
|
): Promise<ExtractionResult[]> {
|
|
138
165
|
const entityResult = await prolog.query(
|
|
139
166
|
"findall([Id,Type,Props], kb_entity(Id, Type, Props), Results)",
|
|
@@ -29,17 +29,6 @@ const BROAD_REQUIREMENT_THRESHOLDS = {
|
|
|
29
29
|
dependentRequirements: 5,
|
|
30
30
|
} as const;
|
|
31
31
|
|
|
32
|
-
const NORMATIVE_INDICATOR_PATTERNS: readonly [string, RegExp][] = [
|
|
33
|
-
["must", /\bmust\b/i],
|
|
34
|
-
["only", /\bonly\b/i],
|
|
35
|
-
["never", /\bnever\b/i],
|
|
36
|
-
["limit", /\blimits?\b/i],
|
|
37
|
-
["minimum", /\bminimum\b/i],
|
|
38
|
-
["maximum", /\bmaximum\b/i],
|
|
39
|
-
["at least", /\bat\s+least\b/i],
|
|
40
|
-
["at most", /\bat\s+most\b/i],
|
|
41
|
-
];
|
|
42
|
-
|
|
43
32
|
type RequirementFanout = {
|
|
44
33
|
readonly implementingSymbolIds: readonly string[];
|
|
45
34
|
readonly scenarioIds: readonly string[];
|
|
@@ -232,26 +221,18 @@ function strictRelationshipTypes(result: ExtractionResult): readonly string[] {
|
|
|
232
221
|
);
|
|
233
222
|
}
|
|
234
223
|
|
|
235
|
-
function
|
|
236
|
-
return NORMATIVE_INDICATOR_PATTERNS.filter((entry) =>
|
|
237
|
-
entry[1].test(text),
|
|
238
|
-
).map((entry) => entry[0]);
|
|
239
|
-
}
|
|
240
|
-
|
|
241
|
-
function createStrictFactModelingDiagnostics(
|
|
224
|
+
function createLogicalCoverageDiagnostics(
|
|
242
225
|
options: RequirementQualityDiagnosticsOptions,
|
|
243
226
|
): readonly KibiImpactDiagnostic[] {
|
|
244
227
|
return options.manifestResults.flatMap((result) => {
|
|
245
228
|
if (!isCurrentRequirement(result)) return [];
|
|
246
229
|
if (options.hardViolationEntityIds?.has(result.entity.id)) return [];
|
|
247
230
|
const relationshipTypes = strictRelationshipTypes(result);
|
|
248
|
-
if (
|
|
249
|
-
const indicators = matchedNormativeIndicators(result.entity.title);
|
|
250
|
-
if (indicators.length === 0) return [];
|
|
231
|
+
if ((result.entity.logic_claims?.length ?? 0) > 0) return [];
|
|
251
232
|
|
|
252
233
|
return [
|
|
253
234
|
{
|
|
254
|
-
id: "
|
|
235
|
+
id: "logical_coverage_review",
|
|
255
236
|
severity: "review",
|
|
256
237
|
blocking: false,
|
|
257
238
|
category: "fact",
|
|
@@ -259,11 +240,10 @@ function createStrictFactModelingDiagnostics(
|
|
|
259
240
|
source: result.entity.source,
|
|
260
241
|
files: [result.entity.source],
|
|
261
242
|
docs: ["docs/modeling-cheatsheet.md", "docs/error-reference.md"],
|
|
262
|
-
message: `
|
|
243
|
+
message: `Current requirement ${result.entity.id} has no atomic logic_claims manifest, so prose and existing fact links cannot prove complete logical coverage.`,
|
|
263
244
|
suggestion:
|
|
264
|
-
"
|
|
245
|
+
"Call kb_semantic_advisor with the complete requirement prose and atomic clauses, ground each returned claim key through kb_model_requirement or kb_suggest_predicates, and persist all keys in logic_claims.",
|
|
265
246
|
evidence: {
|
|
266
|
-
matchedIndicators: indicators,
|
|
267
247
|
strictRelationshipTypes: relationshipTypes,
|
|
268
248
|
},
|
|
269
249
|
},
|
|
@@ -277,6 +257,6 @@ export function createRequirementQualityDiagnostics(
|
|
|
277
257
|
return [
|
|
278
258
|
...createBroadRequirementDiagnostics(options.manifestResults),
|
|
279
259
|
...createRequirementStatusDiagnostics(options.manifestResults),
|
|
280
|
-
...
|
|
260
|
+
...createLogicalCoverageDiagnostics(options),
|
|
281
261
|
];
|
|
282
262
|
}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { autopilotGenerateSpec } from "./specs/autopilot.js";
|
|
2
|
+
import { checkSpec } from "./specs/check.js";
|
|
3
|
+
import { querySpec, searchSpec, statusSpec } from "./specs/discovery.js";
|
|
4
|
+
import {
|
|
5
|
+
modelRequirementSpec,
|
|
6
|
+
suggestPredicatesSpec,
|
|
7
|
+
} from "./specs/modeling.js";
|
|
8
|
+
import {
|
|
9
|
+
deleteSpec,
|
|
10
|
+
upsertSpec,
|
|
11
|
+
validateUpsertSpec,
|
|
12
|
+
} from "./specs/mutation.js";
|
|
13
|
+
import { coverageSpec, findGapsSpec, graphSpec } from "./specs/reporting.js";
|
|
14
|
+
import { semanticAdvisorSpec } from "./specs/semantic.js";
|
|
15
|
+
import {
|
|
16
|
+
skillsListSpec,
|
|
17
|
+
skillsLoadSpec,
|
|
18
|
+
skillsReadSpec,
|
|
19
|
+
} from "./specs/skills.js";
|
|
20
|
+
import { sparqlRemoteSpec } from "./specs/sparql.js";
|
|
21
|
+
import type { OperationName, OperationSpec } from "./types.js";
|
|
22
|
+
|
|
23
|
+
export const OPERATION_CATALOG = [
|
|
24
|
+
skillsListSpec,
|
|
25
|
+
skillsLoadSpec,
|
|
26
|
+
skillsReadSpec,
|
|
27
|
+
querySpec,
|
|
28
|
+
searchSpec,
|
|
29
|
+
statusSpec,
|
|
30
|
+
findGapsSpec,
|
|
31
|
+
coverageSpec,
|
|
32
|
+
graphSpec,
|
|
33
|
+
semanticAdvisorSpec,
|
|
34
|
+
modelRequirementSpec,
|
|
35
|
+
suggestPredicatesSpec,
|
|
36
|
+
autopilotGenerateSpec,
|
|
37
|
+
validateUpsertSpec,
|
|
38
|
+
upsertSpec,
|
|
39
|
+
deleteSpec,
|
|
40
|
+
checkSpec,
|
|
41
|
+
sparqlRemoteSpec,
|
|
42
|
+
] as const satisfies readonly OperationSpec[];
|
|
43
|
+
|
|
44
|
+
const SPECS_BY_NAME: ReadonlyMap<OperationName, OperationSpec> = new Map(
|
|
45
|
+
OPERATION_CATALOG.map((spec) => [spec.name, spec]),
|
|
46
|
+
);
|
|
47
|
+
|
|
48
|
+
// implements REQ-kibi-operation-interface-parity
|
|
49
|
+
export function getSpec(name: OperationName): OperationSpec {
|
|
50
|
+
const spec = SPECS_BY_NAME.get(name);
|
|
51
|
+
if (!spec) {
|
|
52
|
+
throw new RangeError(`Unknown Kibi operation: ${name}`);
|
|
53
|
+
}
|
|
54
|
+
return spec;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
// implements REQ-kibi-operation-interface-parity
|
|
58
|
+
export function listSpecs(): readonly OperationSpec[] {
|
|
59
|
+
return OPERATION_CATALOG;
|
|
60
|
+
}
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
import { runAggregatedChecks } from "../../commands/aggregated-checks.js";
|
|
2
|
+
/*
|
|
3
|
+
Kibi — repo-local, per-branch, queryable long-term memory for software projects
|
|
4
|
+
Copyright (C) 2026 Piotr Franczyk
|
|
5
|
+
|
|
6
|
+
This program is free software: you can redistribute it and/or modify
|
|
7
|
+
it under the terms of the GNU Affero General Public License as published by
|
|
8
|
+
the Free Software Foundation, either version 3 of the License, or
|
|
9
|
+
(at your option) any later version.
|
|
10
|
+
|
|
11
|
+
This program is distributed in the hope that it will be useful,
|
|
12
|
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
13
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
14
|
+
GNU Affero General Public License for more details.
|
|
15
|
+
|
|
16
|
+
You should have received a copy of the GNU Affero General Public License
|
|
17
|
+
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
18
|
+
*/
|
|
19
|
+
import type { Violation } from "../check-types.js";
|
|
20
|
+
import { collectFullKbQualityDiagnostics } from "../impact-diagnostics.js";
|
|
21
|
+
import {
|
|
22
|
+
type CheckDiagnostic,
|
|
23
|
+
type CheckStructuredContent,
|
|
24
|
+
buildStructuredContent,
|
|
25
|
+
buildSummary,
|
|
26
|
+
} from "./check-format-shared.js";
|
|
27
|
+
import {
|
|
28
|
+
analyzeKbCheckImpact,
|
|
29
|
+
collectQueryPlanSafetyViolations,
|
|
30
|
+
getEffectiveRules,
|
|
31
|
+
loadChecksConfig,
|
|
32
|
+
qualityDiagnosticsFromImpact,
|
|
33
|
+
} from "./check-helpers.js";
|
|
34
|
+
import type { OperationContext, PrologPort } from "./runtime-types.js";
|
|
35
|
+
import type { OperationResult } from "./types.js";
|
|
36
|
+
|
|
37
|
+
// implements REQ-kibi-operation-interface-parity, REQ-002
|
|
38
|
+
export type CheckInput = {
|
|
39
|
+
readonly rules?: readonly string[];
|
|
40
|
+
readonly workspaceRoot?: string;
|
|
41
|
+
readonly sourceFiles?: readonly string[];
|
|
42
|
+
readonly staged?: boolean;
|
|
43
|
+
readonly includeWorkingTreeDiff?: boolean;
|
|
44
|
+
readonly includeImpactDiagnostics?: boolean;
|
|
45
|
+
readonly maxDiagnostics?: number;
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
export type CheckPayload = CheckStructuredContent;
|
|
49
|
+
export type { CheckDiagnostic, CheckStructuredContent };
|
|
50
|
+
export {
|
|
51
|
+
buildStructuredContent,
|
|
52
|
+
buildSummary,
|
|
53
|
+
getEffectiveRules,
|
|
54
|
+
loadChecksConfig,
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
export type CheckExecutionOptions = {
|
|
58
|
+
readonly collectFullQualityDiagnosticsForExplicitRules?: boolean;
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
function requireProlog(context: OperationContext): PrologPort {
|
|
62
|
+
if (context.prolog === undefined) {
|
|
63
|
+
throw new Error("Check operation requires a Prolog runtime");
|
|
64
|
+
}
|
|
65
|
+
return context.prolog;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
function invalidatePrologCache(prolog: PrologPort): void {
|
|
69
|
+
prolog.invalidateCache?.();
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
// implements REQ-kibi-operation-interface-parity, REQ-002
|
|
73
|
+
export async function executeCheck(
|
|
74
|
+
args: CheckInput,
|
|
75
|
+
context: OperationContext,
|
|
76
|
+
options: CheckExecutionOptions = {},
|
|
77
|
+
): Promise<OperationResult<CheckPayload>> {
|
|
78
|
+
try {
|
|
79
|
+
const workspaceRoot = args.workspaceRoot ?? context.workspaceRoot;
|
|
80
|
+
const prolog = requireProlog(context);
|
|
81
|
+
const checksConfig = await loadChecksConfig(workspaceRoot);
|
|
82
|
+
const rulesAllowlist =
|
|
83
|
+
args.rules === undefined
|
|
84
|
+
? getEffectiveRules(checksConfig.rules)
|
|
85
|
+
: args.rules.length === 0
|
|
86
|
+
? new Set<string>()
|
|
87
|
+
: getEffectiveRules(undefined, args.rules.join(","));
|
|
88
|
+
const hasExplicitRules = args.rules !== undefined;
|
|
89
|
+
const impactResult = analyzeKbCheckImpact(workspaceRoot, args);
|
|
90
|
+
const impactQualityDiagnostics = qualityDiagnosticsFromImpact(impactResult);
|
|
91
|
+
const maxDiagnosticsOption =
|
|
92
|
+
args.maxDiagnostics !== undefined
|
|
93
|
+
? { maxDiagnostics: args.maxDiagnostics }
|
|
94
|
+
: {};
|
|
95
|
+
|
|
96
|
+
if (rulesAllowlist.size === 0) {
|
|
97
|
+
const qualityDiagnostics =
|
|
98
|
+
hasExplicitRules &&
|
|
99
|
+
options.collectFullQualityDiagnosticsForExplicitRules !== true
|
|
100
|
+
? []
|
|
101
|
+
: impactResult
|
|
102
|
+
? impactQualityDiagnostics
|
|
103
|
+
: await collectFullKbQualityDiagnostics({
|
|
104
|
+
prolog,
|
|
105
|
+
...maxDiagnosticsOption,
|
|
106
|
+
});
|
|
107
|
+
return {
|
|
108
|
+
content: [
|
|
109
|
+
{
|
|
110
|
+
type: "text",
|
|
111
|
+
text: buildSummary({
|
|
112
|
+
violations: [],
|
|
113
|
+
impactResult,
|
|
114
|
+
qualityDiagnostics,
|
|
115
|
+
}),
|
|
116
|
+
},
|
|
117
|
+
],
|
|
118
|
+
structuredContent: buildStructuredContent({
|
|
119
|
+
violations: [],
|
|
120
|
+
diagnostics: [],
|
|
121
|
+
qualityDiagnostics,
|
|
122
|
+
impactResult,
|
|
123
|
+
}),
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
invalidatePrologCache(prolog);
|
|
128
|
+
|
|
129
|
+
const aggregatedViolations = await runAggregatedChecks(
|
|
130
|
+
prolog,
|
|
131
|
+
rulesAllowlist,
|
|
132
|
+
checksConfig.symbolTraceability.requireAdr,
|
|
133
|
+
);
|
|
134
|
+
const queryPlanViolations = rulesAllowlist.has("query-plan-safety")
|
|
135
|
+
? collectQueryPlanSafetyViolations()
|
|
136
|
+
: [];
|
|
137
|
+
const violations: Violation[] = [
|
|
138
|
+
...aggregatedViolations,
|
|
139
|
+
...queryPlanViolations,
|
|
140
|
+
];
|
|
141
|
+
|
|
142
|
+
const diagnostics: CheckDiagnostic[] = violations.map((v) => ({
|
|
143
|
+
category: "SYNC_ERROR",
|
|
144
|
+
severity: "error",
|
|
145
|
+
message: v.description,
|
|
146
|
+
...(v.source !== undefined ? { file: v.source } : {}),
|
|
147
|
+
...(v.suggestion !== undefined ? { suggestion: v.suggestion } : {}),
|
|
148
|
+
}));
|
|
149
|
+
|
|
150
|
+
const collectFullQualityDiagnostics =
|
|
151
|
+
!hasExplicitRules ||
|
|
152
|
+
options.collectFullQualityDiagnosticsForExplicitRules === true;
|
|
153
|
+
const qualityDiagnostics = !collectFullQualityDiagnostics
|
|
154
|
+
? impactQualityDiagnostics
|
|
155
|
+
: impactResult
|
|
156
|
+
? impactQualityDiagnostics
|
|
157
|
+
: await collectFullKbQualityDiagnostics({
|
|
158
|
+
prolog,
|
|
159
|
+
hardViolationEntityIds: new Set(violations.map((v) => v.entityId)),
|
|
160
|
+
...maxDiagnosticsOption,
|
|
161
|
+
});
|
|
162
|
+
|
|
163
|
+
return {
|
|
164
|
+
content: [
|
|
165
|
+
{
|
|
166
|
+
type: "text",
|
|
167
|
+
text: buildSummary({
|
|
168
|
+
violations,
|
|
169
|
+
impactResult,
|
|
170
|
+
qualityDiagnostics,
|
|
171
|
+
}),
|
|
172
|
+
},
|
|
173
|
+
],
|
|
174
|
+
structuredContent: buildStructuredContent({
|
|
175
|
+
violations,
|
|
176
|
+
diagnostics,
|
|
177
|
+
qualityDiagnostics,
|
|
178
|
+
impactResult,
|
|
179
|
+
}),
|
|
180
|
+
};
|
|
181
|
+
} catch (error) {
|
|
182
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
183
|
+
throw new Error(`Check execution failed: ${message}`);
|
|
184
|
+
}
|
|
185
|
+
}
|