kibi-cli 0.19.0 → 1.0.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/dist/cli-operation-loader.d.ts.map +1 -1
- package/dist/cli-operation-loader.js +53 -20
- package/dist/cli-operation-metadata.d.ts +20 -8
- package/dist/cli-operation-metadata.d.ts.map +1 -1
- package/dist/cli-operation-metadata.js +23 -8
- package/dist/cli-protocol.d.ts.map +1 -1
- package/dist/cli-protocol.js +38 -8
- package/dist/cli-register-foundation.d.ts.map +1 -1
- package/dist/cli-register-foundation.js +14 -2
- package/dist/cli-register-maintenance.d.ts.map +1 -1
- package/dist/cli-register-maintenance.js +26 -4
- package/dist/cli-register-reporting.d.ts.map +1 -1
- package/dist/cli-register-reporting.js +10 -0
- package/dist/cli-register-verification.d.ts +3 -0
- package/dist/cli-register-verification.d.ts.map +1 -0
- package/dist/cli-register-verification.js +16 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +2 -0
- package/dist/commands/aggregated-checks.d.ts +1 -2
- package/dist/commands/aggregated-checks.d.ts.map +1 -1
- package/dist/commands/aggregated-checks.js +14 -9
- package/dist/commands/branch.d.ts +36 -0
- package/dist/commands/branch.d.ts.map +1 -1
- package/dist/commands/branch.js +371 -40
- package/dist/commands/check.d.ts.map +1 -1
- package/dist/commands/check.js +20 -67
- package/dist/commands/discovery-shared.d.ts.map +1 -1
- package/dist/commands/discovery-shared.js +10 -19
- package/dist/commands/doctor.d.ts +4 -1
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +259 -24
- package/dist/commands/engine.d.ts.map +1 -1
- package/dist/commands/engine.js +10 -7
- package/dist/commands/gc.d.ts +5 -2
- package/dist/commands/gc.d.ts.map +1 -1
- package/dist/commands/gc.js +140 -71
- package/dist/commands/github-init.d.ts +56 -0
- package/dist/commands/github-init.d.ts.map +1 -0
- package/dist/commands/github-init.js +310 -0
- package/dist/commands/init-helpers.d.ts +1 -1
- package/dist/commands/init-helpers.d.ts.map +1 -1
- package/dist/commands/init-helpers.js +73 -25
- package/dist/commands/init.d.ts +2 -0
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +79 -24
- package/dist/commands/legacy-storage-migration.d.ts +54 -0
- package/dist/commands/legacy-storage-migration.d.ts.map +1 -0
- package/dist/commands/legacy-storage-migration.js +277 -0
- package/dist/commands/migrate.d.ts +7 -0
- package/dist/commands/migrate.d.ts.map +1 -1
- package/dist/commands/migrate.js +244 -91
- package/dist/commands/report.d.ts +24 -0
- package/dist/commands/report.d.ts.map +1 -0
- package/dist/commands/report.js +191 -0
- package/dist/commands/sync/cache.d.ts +16 -3
- package/dist/commands/sync/cache.d.ts.map +1 -1
- package/dist/commands/sync/cache.js +111 -4
- package/dist/commands/sync/discovery.d.ts +23 -2
- package/dist/commands/sync/discovery.d.ts.map +1 -1
- package/dist/commands/sync/discovery.js +196 -15
- package/dist/commands/sync/extraction.d.ts +8 -1
- package/dist/commands/sync/extraction.d.ts.map +1 -1
- package/dist/commands/sync/extraction.js +38 -4
- package/dist/commands/sync/manifest.d.ts +8 -5
- package/dist/commands/sync/manifest.d.ts.map +1 -1
- package/dist/commands/sync/manifest.js +142 -39
- package/dist/commands/sync/persistence.d.ts.map +1 -1
- package/dist/commands/sync/persistence.js +3 -0
- package/dist/commands/sync.d.ts +6 -0
- package/dist/commands/sync.d.ts.map +1 -1
- package/dist/commands/sync.js +304 -79
- package/dist/commands/verify.d.ts +10 -0
- package/dist/commands/verify.d.ts.map +1 -0
- package/dist/commands/verify.js +126 -0
- package/dist/diagnostics.d.ts +1 -1
- package/dist/diagnostics.d.ts.map +1 -1
- package/dist/engine.d.ts +96 -3
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js +392 -23
- package/dist/env.d.ts.map +1 -1
- package/dist/env.js +5 -6
- package/dist/extractors/manifest.d.ts +8 -1
- package/dist/extractors/manifest.d.ts.map +1 -1
- package/dist/extractors/manifest.js +51 -9
- package/dist/extractors/markdown.d.ts +2 -1
- package/dist/extractors/markdown.d.ts.map +1 -1
- package/dist/extractors/markdown.js +21 -3
- package/dist/extractors/playwright-cases.d.ts +24 -0
- package/dist/extractors/playwright-cases.d.ts.map +1 -0
- package/dist/extractors/playwright-cases.js +126 -0
- package/dist/extractors/relationships.d.ts.map +1 -1
- package/dist/extractors/relationships.js +1 -0
- package/dist/extractors/symbol-coordinates.d.ts +81 -3
- package/dist/extractors/symbol-coordinates.d.ts.map +1 -1
- package/dist/extractors/symbol-coordinates.js +389 -51
- package/dist/extractors/symbols-coordinator.js +11 -1
- package/dist/intent-search.d.ts +60 -0
- package/dist/intent-search.d.ts.map +1 -0
- package/dist/intent-search.js +433 -0
- package/dist/operations/bootstrap/activation.d.ts.map +1 -0
- package/dist/operations/{autopilot → bootstrap}/activation.js +48 -31
- package/dist/operations/{autopilot → bootstrap}/candidate-helpers.d.ts.map +1 -1
- package/dist/operations/bootstrap/candidates.d.ts +4 -0
- package/dist/operations/{autopilot → bootstrap}/candidates.d.ts.map +1 -1
- package/dist/operations/{autopilot → bootstrap}/candidates.js +22 -8
- package/dist/operations/{autopilot → bootstrap}/discovery-evidence.d.ts +2 -2
- package/dist/operations/{autopilot → bootstrap}/discovery-evidence.d.ts.map +1 -1
- package/dist/operations/{autopilot → bootstrap}/discovery-evidence.js +46 -6
- package/dist/operations/{autopilot → bootstrap}/discovery.d.ts +1 -1
- package/dist/operations/bootstrap/discovery.d.ts.map +1 -0
- package/dist/operations/{autopilot → bootstrap}/discovery.js +21 -14
- package/dist/operations/bootstrap/generate.d.ts +8 -0
- package/dist/operations/bootstrap/generate.d.ts.map +1 -0
- package/dist/operations/bootstrap/generate.js +204 -0
- package/dist/operations/{autopilot → bootstrap}/guidance-actions.d.ts +2 -2
- package/dist/operations/{autopilot → bootstrap}/guidance-actions.d.ts.map +1 -1
- package/dist/operations/{autopilot → bootstrap}/guidance-actions.js +4 -4
- package/dist/operations/{autopilot → bootstrap}/guidance.d.ts +2 -2
- package/dist/operations/{autopilot → bootstrap}/guidance.d.ts.map +1 -1
- package/dist/operations/{autopilot → bootstrap}/guidance.js +2 -0
- package/dist/operations/{autopilot → bootstrap}/markdown-candidates.d.ts +2 -2
- package/dist/operations/{autopilot → bootstrap}/markdown-candidates.d.ts.map +1 -1
- package/dist/operations/{autopilot → bootstrap}/markdown-candidates.js +4 -3
- package/dist/operations/bootstrap/presentation.d.ts +15 -0
- package/dist/operations/bootstrap/presentation.d.ts.map +1 -0
- package/dist/operations/bootstrap/presentation.js +177 -0
- package/dist/operations/{autopilot → bootstrap}/requirement-claims.d.ts.map +1 -1
- package/dist/operations/{autopilot → bootstrap}/types.d.ts +63 -21
- package/dist/operations/bootstrap/types.d.ts.map +1 -0
- package/dist/operations/bootstrap/types.js +25 -0
- package/dist/operations/modeling/model-requirement.d.ts.map +1 -1
- package/dist/operations/modeling/model-requirement.js +4 -17
- package/dist/operations/modeling/predicate-applicability.d.ts +16 -0
- package/dist/operations/modeling/predicate-applicability.d.ts.map +1 -0
- package/dist/operations/modeling/predicate-applicability.js +276 -0
- package/dist/operations/modeling/predicate-applyplan.d.ts +13 -2
- package/dist/operations/modeling/predicate-applyplan.d.ts.map +1 -1
- package/dist/operations/modeling/predicate-applyplan.js +100 -3
- package/dist/operations/modeling/predicate-bindings.d.ts +6 -0
- package/dist/operations/modeling/predicate-bindings.d.ts.map +1 -0
- package/dist/operations/modeling/predicate-bindings.js +122 -0
- package/dist/operations/modeling/predicate-catalog-4.d.ts.map +1 -1
- package/dist/operations/modeling/predicate-catalog-4.js +155 -0
- package/dist/operations/modeling/predicate-inference-1.d.ts.map +1 -1
- package/dist/operations/modeling/predicate-inference-1.js +8 -0
- package/dist/operations/modeling/predicate-inference-launcher.d.ts +10 -0
- package/dist/operations/modeling/predicate-inference-launcher.d.ts.map +1 -0
- package/dist/operations/modeling/predicate-inference-launcher.js +13 -0
- package/dist/operations/modeling/predicate-inference.d.ts.map +1 -1
- package/dist/operations/modeling/predicate-inference.js +4 -0
- package/dist/operations/modeling/predicate-loader.d.ts.map +1 -1
- package/dist/operations/modeling/predicate-loader.js +7 -0
- package/dist/operations/modeling/predicate-ranker.d.ts +8 -1
- package/dist/operations/modeling/predicate-ranker.d.ts.map +1 -1
- package/dist/operations/modeling/predicate-ranker.js +156 -24
- package/dist/operations/modeling/predicate-score-3.d.ts.map +1 -1
- package/dist/operations/modeling/predicate-score-3.js +6 -0
- package/dist/operations/modeling/predicate-types.d.ts +34 -0
- package/dist/operations/modeling/predicate-types.d.ts.map +1 -1
- package/dist/operations/modeling/predicate-usage-hints-3.d.ts.map +1 -1
- package/dist/operations/modeling/predicate-usage-hints-3.js +40 -0
- package/dist/operations/modeling/predicate-utils.d.ts.map +1 -1
- package/dist/operations/modeling/predicate-utils.js +2 -0
- package/dist/operations/modeling/suggest-predicates.d.ts +1 -1
- package/dist/operations/modeling/suggest-predicates.d.ts.map +1 -1
- package/dist/operations/modeling/suggest-predicates.js +170 -32
- package/dist/operations/mutation/delete.d.ts.map +1 -1
- package/dist/operations/mutation/delete.js +415 -19
- package/dist/operations/mutation/entity-projection.d.ts +11 -0
- package/dist/operations/mutation/entity-projection.d.ts.map +1 -0
- package/dist/operations/mutation/entity-projection.js +14 -0
- package/dist/operations/mutation/relationships.d.ts +10 -0
- package/dist/operations/mutation/relationships.d.ts.map +1 -1
- package/dist/operations/mutation/relationships.js +71 -1
- package/dist/operations/mutation/serialization.d.ts.map +1 -1
- package/dist/operations/mutation/serialization.js +1 -0
- package/dist/operations/mutation/source-authoring.d.ts +61 -0
- package/dist/operations/mutation/source-authoring.d.ts.map +1 -0
- package/dist/operations/mutation/source-authoring.js +543 -0
- package/dist/operations/mutation/symbol-compiler-lock.d.ts +51 -0
- package/dist/operations/mutation/symbol-compiler-lock.d.ts.map +1 -0
- package/dist/operations/mutation/symbol-compiler-lock.js +274 -0
- package/dist/operations/mutation/symbol-granularity.d.ts.map +1 -1
- package/dist/operations/mutation/symbol-granularity.js +34 -3
- package/dist/operations/mutation/symbol-refresh.d.ts +18 -1
- package/dist/operations/mutation/symbol-refresh.d.ts.map +1 -1
- package/dist/operations/mutation/symbol-refresh.js +225 -63
- package/dist/operations/mutation/types.d.ts +57 -1
- package/dist/operations/mutation/types.d.ts.map +1 -1
- package/dist/operations/mutation/upsert.d.ts.map +1 -1
- package/dist/operations/mutation/upsert.js +363 -24
- package/dist/operations/mutation/validation.d.ts.map +1 -1
- package/dist/operations/mutation/validation.js +1 -0
- package/dist/operations/planning/apply-plan.d.ts +117 -0
- package/dist/operations/planning/apply-plan.d.ts.map +1 -0
- package/dist/operations/planning/apply-plan.js +1437 -0
- package/dist/operations/planning/compile-intent.d.ts +106 -0
- package/dist/operations/planning/compile-intent.d.ts.map +1 -0
- package/dist/operations/planning/compile-intent.js +562 -0
- package/dist/operations/semantic-advisor/analyze-prose.d.ts.map +1 -1
- package/dist/operations/semantic-advisor/analyze-prose.js +6 -2
- package/dist/operations/semantic-advisor/clauses.d.ts.map +1 -1
- package/dist/operations/semantic-advisor/clauses.js +15 -2
- package/dist/operations/semantic-advisor/ingestion-boundary.d.ts.map +1 -1
- package/dist/operations/semantic-advisor/ingestion-boundary.js +7 -3
- package/dist/operations/semantic-advisor/predicate-rules-launcher.d.ts +51 -0
- package/dist/operations/semantic-advisor/predicate-rules-launcher.d.ts.map +1 -0
- package/dist/operations/semantic-advisor/predicate-rules-launcher.js +96 -0
- package/dist/operations/semantic-advisor/types.d.ts +13 -5
- package/dist/operations/semantic-advisor/types.d.ts.map +1 -1
- package/dist/operations/verification/ingest-verification.d.ts +29 -0
- package/dist/operations/verification/ingest-verification.d.ts.map +1 -0
- package/dist/operations/verification/ingest-verification.js +192 -0
- package/dist/prolog/codec.d.ts.map +1 -1
- package/dist/prolog/codec.js +2 -1
- package/dist/prolog.d.ts.map +1 -1
- package/dist/prolog.js +27 -8
- package/dist/public/branch-resolver.d.ts +1 -0
- package/dist/public/branch-resolver.d.ts.map +1 -1
- package/dist/public/branch-resolver.js +1 -0
- package/dist/public/check-types.d.ts +2 -2
- package/dist/public/check-types.d.ts.map +1 -1
- package/dist/public/check-types.js +16 -16
- package/dist/public/diagnostic-usage.d.ts.map +1 -1
- package/dist/public/diagnostic-usage.js +69 -1
- package/dist/public/distribution-parity.d.ts +1 -1
- package/dist/public/distribution-parity.d.ts.map +1 -1
- package/dist/public/distribution-parity.js +1 -0
- package/dist/public/ignore-policy.d.ts.map +1 -1
- package/dist/public/ignore-policy.js +16 -4
- package/dist/public/impact/coverage-depth-quality.d.ts +6 -1
- package/dist/public/impact/coverage-depth-quality.d.ts.map +1 -1
- package/dist/public/impact/coverage-depth-quality.js +21 -3
- package/dist/public/impact/full-kb-quality.d.ts +4 -2
- package/dist/public/impact/full-kb-quality.d.ts.map +1 -1
- package/dist/public/impact/full-kb-quality.js +61 -1
- package/dist/public/impact/manifest.d.ts.map +1 -1
- package/dist/public/impact/manifest.js +2 -5
- package/dist/public/operational-artifacts.d.ts.map +1 -1
- package/dist/public/operational-artifacts.js +7 -1
- package/dist/public/operations/catalog.d.ts +682 -67
- package/dist/public/operations/catalog.d.ts.map +1 -1
- package/dist/public/operations/catalog.js +126 -4
- package/dist/public/operations/check-executor.d.ts +2 -2
- package/dist/public/operations/check-executor.d.ts.map +1 -1
- package/dist/public/operations/check-executor.js +72 -13
- package/dist/public/operations/check-format-shared.d.ts +3 -0
- package/dist/public/operations/check-format-shared.d.ts.map +1 -1
- package/dist/public/operations/check-format-shared.js +3 -0
- package/dist/public/operations/check-helpers.d.ts +27 -2
- package/dist/public/operations/check-helpers.d.ts.map +1 -1
- package/dist/public/operations/check-helpers.js +62 -26
- package/dist/public/operations/contracts.d.ts +11 -0
- package/dist/public/operations/contracts.d.ts.map +1 -0
- package/dist/public/operations/contracts.js +325 -0
- package/dist/public/operations/discovery-executors.d.ts +37 -1
- package/dist/public/operations/discovery-executors.d.ts.map +1 -1
- package/dist/public/operations/discovery-executors.js +206 -6
- package/dist/public/operations/index.d.ts +9 -4
- package/dist/public/operations/index.d.ts.map +1 -1
- package/dist/public/operations/index.js +8 -3
- package/dist/public/operations/migration-plan.d.ts +101 -0
- package/dist/public/operations/migration-plan.d.ts.map +1 -0
- package/dist/public/operations/migration-plan.js +537 -0
- package/dist/public/operations/node-ports.d.ts.map +1 -1
- package/dist/public/operations/node-ports.js +68 -8
- package/dist/public/operations/prolog-json.d.ts +14 -0
- package/dist/public/operations/prolog-json.d.ts.map +1 -1
- package/dist/public/operations/prolog-json.js +44 -5
- package/dist/public/operations/repair-plan.d.ts.map +1 -1
- package/dist/public/operations/repair-plan.js +1 -0
- package/dist/public/operations/result-envelope.d.ts +13 -0
- package/dist/public/operations/result-envelope.d.ts.map +1 -0
- package/dist/public/operations/result-envelope.js +104 -0
- package/dist/public/operations/runtime-types.d.ts +97 -7
- package/dist/public/operations/runtime-types.d.ts.map +1 -1
- package/dist/public/operations/source-relationship-parity.d.ts +13 -0
- package/dist/public/operations/source-relationship-parity.d.ts.map +1 -0
- package/dist/public/operations/source-relationship-parity.js +162 -0
- package/dist/public/operations/specs/{autopilot.d.ts → bootstrap.d.ts} +9 -9
- package/dist/public/operations/specs/bootstrap.d.ts.map +1 -0
- package/dist/public/operations/specs/{autopilot.js → bootstrap.js} +8 -7
- package/dist/public/operations/specs/check.d.ts +4 -4
- package/dist/public/operations/specs/check.d.ts.map +1 -1
- package/dist/public/operations/specs/check.js +4 -3
- package/dist/public/operations/specs/discovery.d.ts +87 -3
- package/dist/public/operations/specs/discovery.d.ts.map +1 -1
- package/dist/public/operations/specs/discovery.js +53 -3
- package/dist/public/operations/specs/modeling.d.ts +3 -3
- package/dist/public/operations/specs/modeling.js +3 -3
- package/dist/public/operations/specs/mutation-schemas.d.ts +190 -47
- package/dist/public/operations/specs/mutation-schemas.d.ts.map +1 -1
- package/dist/public/operations/specs/mutation-schemas.js +3 -1
- package/dist/public/operations/specs/mutation.d.ts +42 -2
- package/dist/public/operations/specs/mutation.d.ts.map +1 -1
- package/dist/public/operations/specs/mutation.js +26 -2
- package/dist/public/operations/specs/planning.d.ts +270 -0
- package/dist/public/operations/specs/planning.d.ts.map +1 -0
- package/dist/public/operations/specs/planning.js +191 -0
- package/dist/public/operations/specs/reporting.d.ts +4 -1
- package/dist/public/operations/specs/reporting.d.ts.map +1 -1
- package/dist/public/operations/specs/reporting.js +46 -1
- package/dist/public/operations/specs/upsert.d.ts +204 -47
- package/dist/public/operations/specs/upsert.d.ts.map +1 -1
- package/dist/public/operations/specs/upsert.js +9 -0
- package/dist/public/operations/specs/verification.d.ts +78 -0
- package/dist/public/operations/specs/verification.d.ts.map +1 -0
- package/dist/public/operations/specs/verification.js +62 -0
- package/dist/public/operations/symbol-repair-plan.d.ts +11 -0
- package/dist/public/operations/symbol-repair-plan.d.ts.map +1 -0
- package/dist/public/operations/symbol-repair-plan.js +123 -0
- package/dist/public/operations/types.d.ts +52 -1
- package/dist/public/operations/types.d.ts.map +1 -1
- package/dist/public/playwright-case-id.d.ts +8 -0
- package/dist/public/playwright-case-id.d.ts.map +1 -0
- package/dist/public/playwright-case-id.js +25 -0
- package/dist/public/schemas/entity.d.ts.map +1 -1
- package/dist/public/schemas/entity.js +4 -2
- package/dist/public/skills/kibi-bootstrap/SKILL.md +58 -0
- package/dist/public/skills/kibi-bootstrap/resources/bootstrap.md +11 -0
- package/dist/public/skills/kibi-bootstrap/resources/branch-lifecycle.md +7 -0
- package/dist/public/skills/kibi-bootstrap/resources/operation-access.md +5 -0
- package/dist/public/skills/kibi-bootstrap/resources/source-authoring.md +8 -0
- package/dist/public/skills/kibi-freshness/SKILL.md +39 -9
- package/dist/public/skills/kibi-freshness/resources/branch-lifecycle.md +7 -0
- package/dist/public/skills/kibi-freshness/resources/operation-access.md +6 -0
- package/dist/public/skills/kibi-freshness/resources/source-authoring.md +7 -0
- package/dist/public/skills/kibi-traceability/SKILL.md +47 -47
- package/dist/public/skills/kibi-traceability/resources/branch-lifecycle.md +7 -0
- package/dist/public/skills/kibi-traceability/resources/operation-access.md +5 -0
- package/dist/public/skills/kibi-traceability/resources/source-authoring.md +6 -0
- package/dist/public/skills/kibi-traceability/resources/traceability.md +8 -0
- package/dist/public/skills/kibi-usage/SKILL.md +115 -239
- package/dist/public/skills/kibi-usage/resources/branch-lifecycle.md +31 -0
- package/dist/public/skills/kibi-usage/resources/kb-improvement.md +38 -0
- package/dist/public/skills/kibi-usage/resources/operation-access.md +36 -38
- package/dist/public/skills/kibi-usage/resources/relationship-directions.md +3 -3
- package/dist/public/skills/kibi-usage/resources/source-authoring.md +31 -0
- package/dist/public/skills/kibi-usage/resources/workflows.md +56 -3
- package/dist/public/symbol-granularity.d.ts +1 -1
- package/dist/public/symbol-granularity.d.ts.map +1 -1
- package/dist/public/symbol-granularity.js +1 -0
- package/dist/public/telemetry-acceptance.d.ts +7 -0
- package/dist/public/telemetry-acceptance.d.ts.map +1 -1
- package/dist/public/telemetry-acceptance.js +8 -1
- package/dist/public/telemetry-remediation.js +1 -1
- package/dist/public/verification-receipt.d.ts +206 -39
- package/dist/public/verification-receipt.d.ts.map +1 -1
- package/dist/public/verification-receipt.js +171 -4
- package/dist/relationships/shards.d.ts +16 -0
- package/dist/relationships/shards.d.ts.map +1 -1
- package/dist/relationships/shards.js +87 -2
- package/dist/report/brand.d.ts +19 -0
- package/dist/report/brand.d.ts.map +1 -0
- package/dist/report/brand.js +112 -0
- package/dist/report/html-report.d.ts +19 -0
- package/dist/report/html-report.d.ts.map +1 -0
- package/dist/report/html-report.js +963 -0
- package/dist/report/relative-time.d.ts +4 -0
- package/dist/report/relative-time.d.ts.map +1 -0
- package/dist/report/relative-time.js +46 -0
- package/dist/report/report-view.d.ts +17 -0
- package/dist/report/report-view.d.ts.map +1 -0
- package/dist/report/report-view.js +33 -0
- package/dist/report/repository.d.ts +35 -0
- package/dist/report/repository.d.ts.map +1 -0
- package/dist/report/repository.js +151 -0
- package/dist/runtime/cli-runtime.d.ts.map +1 -1
- package/dist/runtime/cli-runtime.js +82 -22
- package/dist/schemas/entity.schema.json +1148 -273
- package/dist/traceability/evidence-model.d.ts +2 -2
- package/dist/traceability/evidence-model.d.ts.map +1 -1
- package/dist/traceability/evidence-model.js +2 -2
- package/dist/traceability/git-staged.d.ts.map +1 -1
- package/dist/traceability/git-staged.js +15 -40
- package/dist/traceability/markdown-validate.d.ts.map +1 -1
- package/dist/traceability/markdown-validate.js +12 -7
- package/dist/traceability/staged-impact-contract.d.ts +3 -3
- package/dist/traceability/staged-impact-contract.d.ts.map +1 -1
- package/dist/traceability/staged-impact-contract.js +10 -38
- package/dist/traceability/staged-symbols-manifest.d.ts.map +1 -1
- package/dist/traceability/staged-symbols-manifest.js +8 -3
- package/dist/traceability/temp-kb.d.ts.map +1 -1
- package/dist/traceability/temp-kb.js +3 -0
- package/dist/types/entities.d.ts +3 -0
- package/dist/types/entities.d.ts.map +1 -1
- package/dist/utils/branch-resolver.d.ts +24 -10
- package/dist/utils/branch-resolver.d.ts.map +1 -1
- package/dist/utils/branch-resolver.js +121 -38
- package/dist/utils/branch-store-locator.d.ts +23 -0
- package/dist/utils/branch-store-locator.d.ts.map +1 -0
- package/dist/utils/branch-store-locator.js +90 -0
- package/dist/utils/branch-store.d.ts +15 -0
- package/dist/utils/branch-store.d.ts.map +1 -0
- package/dist/utils/branch-store.js +130 -0
- package/dist/utils/config.d.ts +39 -37
- package/dist/utils/config.d.ts.map +1 -1
- package/dist/utils/config.js +107 -119
- package/dist/utils/kb-manifest.d.ts +35 -0
- package/dist/utils/kb-manifest.d.ts.map +1 -0
- package/dist/utils/kb-manifest.js +154 -0
- package/dist/utils/kb-paths.d.ts +54 -0
- package/dist/utils/kb-paths.d.ts.map +1 -0
- package/dist/utils/kb-paths.js +125 -0
- package/dist/utils/manifest-paths.d.ts +4 -4
- package/dist/utils/manifest-paths.d.ts.map +1 -1
- package/dist/utils/manifest-paths.js +8 -56
- package/dist/utils/rule-registry.d.ts +48 -20
- package/dist/utils/rule-registry.d.ts.map +1 -1
- package/dist/utils/rule-registry.js +82 -77
- package/dist/utils/schema-version.d.ts +5 -5
- package/dist/utils/schema-version.d.ts.map +1 -1
- package/dist/utils/schema-version.js +26 -6
- package/dist/utils/strict-modeling.d.ts +0 -4
- package/dist/utils/strict-modeling.d.ts.map +1 -1
- package/dist/utils/strict-modeling.js +7 -8
- package/dist/verification/playwright-reporter.d.ts +21 -0
- package/dist/verification/playwright-reporter.d.ts.map +1 -0
- package/dist/verification/playwright-reporter.js +114 -0
- package/package.json +46 -7
- package/schema/config.json +2 -2
- package/schema/manifest.json +26 -0
- package/src/public/branch-resolver.ts +1 -0
- package/src/public/check-types.ts +22 -19
- package/src/public/diagnostic-usage.ts +79 -1
- package/src/public/distribution-parity.ts +1 -0
- package/src/public/ignore-policy.ts +16 -10
- package/src/public/impact/coverage-depth-quality.ts +36 -0
- package/src/public/impact/full-kb-quality.ts +118 -5
- package/src/public/impact/manifest.ts +2 -4
- package/src/public/operational-artifacts.ts +9 -1
- package/src/public/operations/catalog.ts +146 -9
- package/src/public/operations/check-executor.ts +102 -15
- package/src/public/operations/check-format-shared.ts +6 -0
- package/src/public/operations/check-helpers.ts +74 -35
- package/src/public/operations/contracts.ts +366 -0
- package/src/public/operations/discovery-executors.ts +299 -12
- package/src/public/operations/index.ts +9 -4
- package/src/public/operations/migration-plan.ts +740 -0
- package/src/public/operations/node-ports.ts +84 -10
- package/src/public/operations/prolog-json.ts +60 -5
- package/src/public/operations/repair-plan.ts +1 -0
- package/src/public/operations/result-envelope.ts +136 -0
- package/src/public/operations/runtime-types.ts +91 -5
- package/src/public/operations/source-relationship-parity.ts +226 -0
- package/src/public/operations/specs/{autopilot.ts → bootstrap.ts} +17 -16
- package/src/public/operations/specs/check.ts +4 -3
- package/src/public/operations/specs/discovery.ts +57 -3
- package/src/public/operations/specs/modeling.ts +3 -3
- package/src/public/operations/specs/mutation-schemas.ts +6 -1
- package/src/public/operations/specs/mutation.ts +27 -2
- package/src/public/operations/specs/planning.ts +234 -0
- package/src/public/operations/specs/reporting.ts +55 -1
- package/src/public/operations/specs/upsert.ts +10 -0
- package/src/public/operations/specs/verification.ts +78 -0
- package/src/public/operations/symbol-repair-plan.ts +164 -0
- package/src/public/operations/types.ts +62 -1
- package/src/public/playwright-case-id.ts +35 -0
- package/src/public/schemas/entity.ts +7 -2
- package/src/public/skills/kibi-bootstrap/SKILL.md +58 -0
- package/src/public/skills/kibi-bootstrap/resources/bootstrap.md +11 -0
- package/src/public/skills/kibi-bootstrap/resources/branch-lifecycle.md +7 -0
- package/src/public/skills/kibi-bootstrap/resources/operation-access.md +5 -0
- package/src/public/skills/kibi-bootstrap/resources/source-authoring.md +8 -0
- package/src/public/skills/kibi-freshness/SKILL.md +39 -9
- package/src/public/skills/kibi-freshness/resources/branch-lifecycle.md +7 -0
- package/src/public/skills/kibi-freshness/resources/operation-access.md +6 -0
- package/src/public/skills/kibi-freshness/resources/source-authoring.md +7 -0
- package/src/public/skills/kibi-traceability/SKILL.md +47 -47
- package/src/public/skills/kibi-traceability/resources/branch-lifecycle.md +7 -0
- package/src/public/skills/kibi-traceability/resources/operation-access.md +5 -0
- package/src/public/skills/kibi-traceability/resources/source-authoring.md +6 -0
- package/src/public/skills/kibi-traceability/resources/traceability.md +8 -0
- package/src/public/skills/kibi-usage/SKILL.md +115 -239
- package/src/public/skills/kibi-usage/resources/branch-lifecycle.md +31 -0
- package/src/public/skills/kibi-usage/resources/kb-improvement.md +38 -0
- package/src/public/skills/kibi-usage/resources/operation-access.md +36 -38
- package/src/public/skills/kibi-usage/resources/relationship-directions.md +3 -3
- package/src/public/skills/kibi-usage/resources/source-authoring.md +31 -0
- package/src/public/skills/kibi-usage/resources/workflows.md +56 -3
- package/src/public/symbol-granularity.ts +1 -0
- package/src/public/telemetry-acceptance.ts +16 -1
- package/src/public/telemetry-remediation.ts +1 -1
- package/src/public/verification-receipt.ts +248 -6
- package/src/schemas/entity.schema.json +1148 -273
- package/templates/github/kibi-badge.yml +86 -0
- package/templates/github/kibi-report.yml +84 -0
- package/dist/operations/autopilot/activation.d.ts.map +0 -1
- package/dist/operations/autopilot/candidates.d.ts +0 -4
- package/dist/operations/autopilot/discovery.d.ts.map +0 -1
- package/dist/operations/autopilot/generate.d.ts +0 -8
- package/dist/operations/autopilot/generate.d.ts.map +0 -1
- package/dist/operations/autopilot/generate.js +0 -112
- package/dist/operations/autopilot/presentation.d.ts +0 -13
- package/dist/operations/autopilot/presentation.d.ts.map +0 -1
- package/dist/operations/autopilot/presentation.js +0 -91
- package/dist/operations/autopilot/types.d.ts.map +0 -1
- package/dist/operations/autopilot/types.js +0 -8
- package/dist/public/operations/specs/autopilot.d.ts.map +0 -1
- package/dist/public/skills/init-kibi/SKILL.md +0 -62
- package/src/public/skills/init-kibi/SKILL.md +0 -62
- /package/dist/operations/{autopilot → bootstrap}/activation.d.ts +0 -0
- /package/dist/operations/{autopilot → bootstrap}/candidate-helpers.d.ts +0 -0
- /package/dist/operations/{autopilot → bootstrap}/candidate-helpers.js +0 -0
- /package/dist/operations/{autopilot → bootstrap}/requirement-claims.d.ts +0 -0
- /package/dist/operations/{autopilot → bootstrap}/requirement-claims.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../../src/public/operations/catalog.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../../src/public/operations/catalog.ts"],"names":[],"mappings":"AA2BA,OAAO,KAAK,EACV,aAAa,EACb,aAAa,EACb,qBAAqB,EACtB,MAAM,YAAY,CAAC;AAEpB,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsBe,CAAC;AAyF9C,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,aAAa,GAClB,qBAAqB,CA+BvB;AAQD,wBAAgB,OAAO,CAAC,IAAI,EAAE,aAAa,GAAG,qBAAqB,CAMlE;AAGD,wBAAgB,SAAS,IAAI,SAAS,qBAAqB,EAAE,CAE5D"}
|
|
@@ -1,12 +1,15 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { OPERATION_DATA_SCHEMAS, declaredEffects, } from "./contracts.js";
|
|
2
|
+
import { planBootstrapSpec } from "./specs/bootstrap.js";
|
|
2
3
|
import { checkSpec } from "./specs/check.js";
|
|
3
4
|
import { querySpec, searchSpec, statusSpec } from "./specs/discovery.js";
|
|
4
5
|
import { modelRequirementSpec, suggestPredicatesSpec, } from "./specs/modeling.js";
|
|
5
6
|
import { deleteSpec, upsertSpec, validateUpsertSpec, } from "./specs/mutation.js";
|
|
7
|
+
import { applyPlanSpec, compileIntentSpec } from "./specs/planning.js";
|
|
6
8
|
import { coverageSpec, findGapsSpec, graphSpec } from "./specs/reporting.js";
|
|
7
9
|
import { semanticAdvisorSpec } from "./specs/semantic.js";
|
|
8
10
|
import { skillsListSpec, skillsLoadSpec, skillsReadSpec, } from "./specs/skills.js";
|
|
9
11
|
import { sparqlRemoteSpec } from "./specs/sparql.js";
|
|
12
|
+
import { ingestVerificationSpec } from "./specs/verification.js";
|
|
10
13
|
export const OPERATION_CATALOG = [
|
|
11
14
|
skillsListSpec,
|
|
12
15
|
skillsLoadSpec,
|
|
@@ -20,14 +23,133 @@ export const OPERATION_CATALOG = [
|
|
|
20
23
|
semanticAdvisorSpec,
|
|
21
24
|
modelRequirementSpec,
|
|
22
25
|
suggestPredicatesSpec,
|
|
23
|
-
|
|
26
|
+
planBootstrapSpec,
|
|
24
27
|
validateUpsertSpec,
|
|
25
28
|
upsertSpec,
|
|
26
29
|
deleteSpec,
|
|
27
30
|
checkSpec,
|
|
28
31
|
sparqlRemoteSpec,
|
|
32
|
+
compileIntentSpec,
|
|
33
|
+
applyPlanSpec,
|
|
34
|
+
ingestVerificationSpec,
|
|
29
35
|
];
|
|
30
|
-
|
|
36
|
+
function envelopeSchema(spec, resultVersion) {
|
|
37
|
+
const data = OPERATION_DATA_SCHEMAS[spec.name];
|
|
38
|
+
if (!data)
|
|
39
|
+
throw new Error(`Missing output contract for ${spec.name}`);
|
|
40
|
+
return {
|
|
41
|
+
$schema: "https://json-schema.org/draft/2020-12/schema",
|
|
42
|
+
type: "object",
|
|
43
|
+
additionalProperties: false,
|
|
44
|
+
required: [
|
|
45
|
+
"kibiProtocol",
|
|
46
|
+
"operation",
|
|
47
|
+
"resultVersion",
|
|
48
|
+
"status",
|
|
49
|
+
"data",
|
|
50
|
+
"effects",
|
|
51
|
+
"diagnostics",
|
|
52
|
+
"nextActions",
|
|
53
|
+
],
|
|
54
|
+
properties: {
|
|
55
|
+
kibiProtocol: { const: 1 },
|
|
56
|
+
operation: { const: spec.name },
|
|
57
|
+
resultVersion: { const: resultVersion },
|
|
58
|
+
status: { enum: ["success", "committed_with_repairs", "error"] },
|
|
59
|
+
data,
|
|
60
|
+
effects: {
|
|
61
|
+
type: "array",
|
|
62
|
+
minItems: spec.effects.length,
|
|
63
|
+
items: {
|
|
64
|
+
type: "object",
|
|
65
|
+
additionalProperties: false,
|
|
66
|
+
required: ["kind", "status"],
|
|
67
|
+
properties: {
|
|
68
|
+
kind: { type: "string" },
|
|
69
|
+
status: { enum: ["completed", "failed", "not_applicable"] },
|
|
70
|
+
detail: {},
|
|
71
|
+
errorCode: { type: "string" },
|
|
72
|
+
},
|
|
73
|
+
},
|
|
74
|
+
},
|
|
75
|
+
diagnostics: {
|
|
76
|
+
type: "array",
|
|
77
|
+
items: {
|
|
78
|
+
type: "object",
|
|
79
|
+
additionalProperties: false,
|
|
80
|
+
required: ["message"],
|
|
81
|
+
properties: {
|
|
82
|
+
code: { type: "string" },
|
|
83
|
+
severity: { enum: ["info", "warning", "error"] },
|
|
84
|
+
message: { type: "string" },
|
|
85
|
+
detail: {},
|
|
86
|
+
category: { type: "string" },
|
|
87
|
+
suggestion: { type: "string" },
|
|
88
|
+
file: { type: "string" },
|
|
89
|
+
},
|
|
90
|
+
},
|
|
91
|
+
},
|
|
92
|
+
nextActions: {
|
|
93
|
+
type: "array",
|
|
94
|
+
items: {
|
|
95
|
+
type: "object",
|
|
96
|
+
additionalProperties: false,
|
|
97
|
+
required: ["operation", "reason", "required"],
|
|
98
|
+
properties: {
|
|
99
|
+
operation: { type: "string" },
|
|
100
|
+
input: {},
|
|
101
|
+
reason: { type: "string" },
|
|
102
|
+
required: { type: "boolean" },
|
|
103
|
+
},
|
|
104
|
+
},
|
|
105
|
+
},
|
|
106
|
+
error: {
|
|
107
|
+
type: "object",
|
|
108
|
+
additionalProperties: false,
|
|
109
|
+
required: ["code", "message", "retryable"],
|
|
110
|
+
properties: {
|
|
111
|
+
code: { type: "string" },
|
|
112
|
+
message: { type: "string" },
|
|
113
|
+
retryable: { type: "boolean" },
|
|
114
|
+
details: {},
|
|
115
|
+
},
|
|
116
|
+
},
|
|
117
|
+
},
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
export function withContractDefaults(spec) {
|
|
121
|
+
const resultVersion = spec.resultVersion ?? `kibi.${spec.name}.v1`;
|
|
122
|
+
// Resolve the generated contract on the canonical spec object itself. The
|
|
123
|
+
// implementation loader and the public catalog must share one identity so
|
|
124
|
+
// adapters cannot accidentally execute an uncontracted compatibility copy.
|
|
125
|
+
const resolved = spec;
|
|
126
|
+
if (resolved.resultVersion === undefined) {
|
|
127
|
+
Object.defineProperty(resolved, "resultVersion", {
|
|
128
|
+
value: resultVersion,
|
|
129
|
+
enumerable: true,
|
|
130
|
+
configurable: false,
|
|
131
|
+
writable: false,
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
if (resolved.outputSchema === undefined) {
|
|
135
|
+
Object.defineProperty(resolved, "outputSchema", {
|
|
136
|
+
value: envelopeSchema(spec, resultVersion),
|
|
137
|
+
enumerable: true,
|
|
138
|
+
configurable: false,
|
|
139
|
+
writable: false,
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
if (resolved.declaredEffects === undefined) {
|
|
143
|
+
Object.defineProperty(resolved, "declaredEffects", {
|
|
144
|
+
value: declaredEffects(spec.name, spec.effects),
|
|
145
|
+
enumerable: true,
|
|
146
|
+
configurable: false,
|
|
147
|
+
writable: false,
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
return resolved;
|
|
151
|
+
}
|
|
152
|
+
const SPECS_BY_NAME = new Map(OPERATION_CATALOG.map((spec) => [spec.name, withContractDefaults(spec)]));
|
|
31
153
|
// implements REQ-kibi-operation-interface-parity
|
|
32
154
|
export function getSpec(name) {
|
|
33
155
|
const spec = SPECS_BY_NAME.get(name);
|
|
@@ -38,5 +160,5 @@ export function getSpec(name) {
|
|
|
38
160
|
}
|
|
39
161
|
// implements REQ-kibi-operation-interface-parity
|
|
40
162
|
export function listSpecs() {
|
|
41
|
-
return OPERATION_CATALOG;
|
|
163
|
+
return OPERATION_CATALOG.map(withContractDefaults);
|
|
42
164
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type CheckDiagnostic, type CheckStructuredContent, buildStructuredContent, buildSummary } from "./check-format-shared.js";
|
|
2
|
-
import { getEffectiveRules,
|
|
2
|
+
import { getEffectiveRules, resolveCheckRules } from "./check-helpers.js";
|
|
3
3
|
import type { OperationContext } from "./runtime-types.js";
|
|
4
4
|
import type { OperationResult } from "./types.js";
|
|
5
5
|
export type CheckInput = {
|
|
@@ -13,7 +13,7 @@ export type CheckInput = {
|
|
|
13
13
|
};
|
|
14
14
|
export type CheckPayload = CheckStructuredContent;
|
|
15
15
|
export type { CheckDiagnostic, CheckStructuredContent };
|
|
16
|
-
export { buildStructuredContent, buildSummary, getEffectiveRules,
|
|
16
|
+
export { buildStructuredContent, buildSummary, getEffectiveRules, resolveCheckRules, };
|
|
17
17
|
export type CheckExecutionOptions = {
|
|
18
18
|
readonly collectFullQualityDiagnosticsForExplicitRules?: boolean;
|
|
19
19
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check-executor.d.ts","sourceRoot":"","sources":["../../../src/public/operations/check-executor.ts"],"names":[],"mappings":"AAoBA,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,sBAAsB,EAC3B,sBAAsB,EACtB,YAAY,EACb,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAGL,iBAAiB,
|
|
1
|
+
{"version":3,"file":"check-executor.d.ts","sourceRoot":"","sources":["../../../src/public/operations/check-executor.ts"],"names":[],"mappings":"AAoBA,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,sBAAsB,EAC3B,sBAAsB,EACtB,YAAY,EACb,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAGL,iBAAiB,EAGjB,iBAAiB,EAClB,MAAM,oBAAoB,CAAC;AAO5B,OAAO,KAAK,EAAE,gBAAgB,EAAc,MAAM,oBAAoB,CAAC;AAEvE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAIlD,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IAC1C,QAAQ,CAAC,wBAAwB,CAAC,EAAE,OAAO,CAAC;IAC5C,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,sBAAsB,CAAC;AAClD,YAAY,EAAE,eAAe,EAAE,sBAAsB,EAAE,CAAC;AACxD,OAAO,EACL,sBAAsB,EACtB,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,GAClB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,CAAC,6CAA6C,CAAC,EAAE,OAAO,CAAC;CAClE,CAAC;AAqDF,wBAAsB,YAAY,CAChC,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,gBAAgB,EACzB,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,CAuJxC"}
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
import { runAggregatedChecks } from "../../commands/aggregated-checks.js";
|
|
2
2
|
import { collectFullKbQualityDiagnostics } from "../impact-diagnostics.js";
|
|
3
3
|
import { buildStructuredContent, buildSummary, } from "./check-format-shared.js";
|
|
4
|
-
import { analyzeKbCheckImpact, collectQueryPlanSafetyViolations, getEffectiveRules,
|
|
5
|
-
|
|
4
|
+
import { analyzeKbCheckImpact, collectQueryPlanSafetyViolations, getEffectiveRules, partitionCheckFindings, qualityDiagnosticsFromImpact, resolveCheckRules, } from "./check-helpers.js";
|
|
5
|
+
import { executeStatus } from "./discovery-executors.js";
|
|
6
|
+
import { buildActionsFromCheck, buildMigrationPlan, mergeMigrationPlans, } from "./migration-plan.js";
|
|
7
|
+
import { collectSourceRelationshipParityViolations } from "./source-relationship-parity.js";
|
|
8
|
+
import { readWorkspaceSnapshot } from "./workspace-snapshot.js";
|
|
9
|
+
export { buildStructuredContent, buildSummary, getEffectiveRules, resolveCheckRules, };
|
|
6
10
|
function requireProlog(context) {
|
|
7
11
|
if (context.prolog === undefined) {
|
|
8
12
|
throw new Error("Check operation requires a Prolog runtime");
|
|
@@ -12,17 +16,49 @@ function requireProlog(context) {
|
|
|
12
16
|
function invalidatePrologCache(prolog) {
|
|
13
17
|
prolog.invalidateCache?.();
|
|
14
18
|
}
|
|
19
|
+
async function migrationPlanForCheck(context, violations, qualityDiagnostics, statusPlan) {
|
|
20
|
+
const checkPlan = buildMigrationPlan({
|
|
21
|
+
expected: {
|
|
22
|
+
branch: context.branchAttachment?.gitBranch ?? null,
|
|
23
|
+
kbBranch: context.branchAttachment?.kbBranch ?? null,
|
|
24
|
+
},
|
|
25
|
+
evaluatedDomains: ["quality"],
|
|
26
|
+
actions: buildActionsFromCheck({
|
|
27
|
+
violations: violations,
|
|
28
|
+
qualityDiagnostics,
|
|
29
|
+
}),
|
|
30
|
+
});
|
|
31
|
+
return statusPlan ? mergeMigrationPlans([statusPlan, checkPlan]) : checkPlan;
|
|
32
|
+
}
|
|
33
|
+
async function readStatusMigrationPlan(context) {
|
|
34
|
+
try {
|
|
35
|
+
const statusResult = await executeStatus({}, context);
|
|
36
|
+
return statusResult.structuredContent?.migrationPlan;
|
|
37
|
+
}
|
|
38
|
+
catch (error) {
|
|
39
|
+
// A check can still provide a complete quality-domain plan in a detached
|
|
40
|
+
// or synthetic workspace used by an agent/test harness. Status remains a
|
|
41
|
+
// separately actionable domain; preserve the check result rather than
|
|
42
|
+
// turning a missing Git attachment into a check failure.
|
|
43
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
44
|
+
if (message.includes("Failed to resolve active branch"))
|
|
45
|
+
return undefined;
|
|
46
|
+
throw error;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
15
49
|
// implements REQ-kibi-operation-interface-parity, REQ-002
|
|
16
50
|
export async function executeCheck(args, context, options = {}) {
|
|
17
51
|
try {
|
|
18
52
|
const workspaceRoot = args.workspaceRoot ?? context.workspaceRoot;
|
|
19
53
|
const prolog = requireProlog(context);
|
|
20
|
-
const
|
|
21
|
-
const
|
|
22
|
-
?
|
|
23
|
-
:
|
|
24
|
-
|
|
25
|
-
|
|
54
|
+
const snapshotEvidence = await readWorkspaceSnapshot(context);
|
|
55
|
+
const verificationSnapshot = snapshotEvidence.available
|
|
56
|
+
? snapshotEvidence.snapshot.hash
|
|
57
|
+
: undefined;
|
|
58
|
+
const checkedAt = context.clock().toISOString();
|
|
59
|
+
// Enforcement policy is Kibi-owned and deterministic from the installed
|
|
60
|
+
// version. `args.rules` is an invocation-time diagnostic selector only.
|
|
61
|
+
const rulesAllowlist = resolveCheckRules(args);
|
|
26
62
|
const hasExplicitRules = args.rules !== undefined;
|
|
27
63
|
const impactResult = analyzeKbCheckImpact(workspaceRoot, args);
|
|
28
64
|
const impactQualityDiagnostics = qualityDiagnosticsFromImpact(impactResult);
|
|
@@ -38,9 +74,15 @@ export async function executeCheck(args, context, options = {}) {
|
|
|
38
74
|
: await collectFullKbQualityDiagnostics({
|
|
39
75
|
prolog,
|
|
40
76
|
workspaceRoot,
|
|
77
|
+
...(verificationSnapshot !== undefined
|
|
78
|
+
? { verificationSnapshot }
|
|
79
|
+
: {}),
|
|
80
|
+
checkedAt,
|
|
41
81
|
now: context.clock(),
|
|
42
82
|
...maxDiagnosticsOption,
|
|
43
83
|
});
|
|
84
|
+
const statusPlan = await readStatusMigrationPlan(context);
|
|
85
|
+
const migrationPlan = await migrationPlanForCheck(context, [], qualityDiagnostics, statusPlan);
|
|
44
86
|
return {
|
|
45
87
|
content: [
|
|
46
88
|
{
|
|
@@ -57,18 +99,24 @@ export async function executeCheck(args, context, options = {}) {
|
|
|
57
99
|
diagnostics: [],
|
|
58
100
|
qualityDiagnostics,
|
|
59
101
|
impactResult,
|
|
102
|
+
migrationPlan,
|
|
60
103
|
}),
|
|
61
104
|
};
|
|
62
105
|
}
|
|
63
106
|
invalidatePrologCache(prolog);
|
|
64
|
-
const
|
|
107
|
+
const aggregatedFindings = await runAggregatedChecks(prolog, rulesAllowlist);
|
|
65
108
|
const queryPlanViolations = rulesAllowlist.has("query-plan-safety")
|
|
66
109
|
? collectQueryPlanSafetyViolations()
|
|
67
110
|
: [];
|
|
68
|
-
const
|
|
69
|
-
|
|
111
|
+
const sourceRelationshipParityViolations = rulesAllowlist.has("source-relationship-parity")
|
|
112
|
+
? await collectSourceRelationshipParityViolations(workspaceRoot, prolog)
|
|
113
|
+
: [];
|
|
114
|
+
const partitioned = partitionCheckFindings([
|
|
115
|
+
...aggregatedFindings,
|
|
70
116
|
...queryPlanViolations,
|
|
71
|
-
|
|
117
|
+
...sourceRelationshipParityViolations,
|
|
118
|
+
]);
|
|
119
|
+
const violations = partitioned.violations;
|
|
72
120
|
const diagnostics = violations.map((v) => ({
|
|
73
121
|
category: "SYNC_ERROR",
|
|
74
122
|
severity: "error",
|
|
@@ -78,7 +126,7 @@ export async function executeCheck(args, context, options = {}) {
|
|
|
78
126
|
}));
|
|
79
127
|
const collectFullQualityDiagnostics = !hasExplicitRules ||
|
|
80
128
|
options.collectFullQualityDiagnosticsForExplicitRules === true;
|
|
81
|
-
const
|
|
129
|
+
const extraQualityDiagnostics = !collectFullQualityDiagnostics
|
|
82
130
|
? impactQualityDiagnostics
|
|
83
131
|
: impactResult
|
|
84
132
|
? impactQualityDiagnostics
|
|
@@ -86,9 +134,19 @@ export async function executeCheck(args, context, options = {}) {
|
|
|
86
134
|
prolog,
|
|
87
135
|
hardViolationEntityIds: new Set(violations.map((v) => v.entityId)),
|
|
88
136
|
workspaceRoot,
|
|
137
|
+
...(verificationSnapshot !== undefined
|
|
138
|
+
? { verificationSnapshot }
|
|
139
|
+
: {}),
|
|
140
|
+
checkedAt,
|
|
89
141
|
now: context.clock(),
|
|
90
142
|
...maxDiagnosticsOption,
|
|
91
143
|
});
|
|
144
|
+
const qualityDiagnostics = [
|
|
145
|
+
...partitioned.qualityDiagnostics,
|
|
146
|
+
...extraQualityDiagnostics,
|
|
147
|
+
];
|
|
148
|
+
const statusPlan = await readStatusMigrationPlan(context);
|
|
149
|
+
const migrationPlan = await migrationPlanForCheck(context, violations, qualityDiagnostics, statusPlan);
|
|
92
150
|
return {
|
|
93
151
|
content: [
|
|
94
152
|
{
|
|
@@ -105,6 +163,7 @@ export async function executeCheck(args, context, options = {}) {
|
|
|
105
163
|
diagnostics,
|
|
106
164
|
qualityDiagnostics,
|
|
107
165
|
impactResult,
|
|
166
|
+
migrationPlan,
|
|
108
167
|
}),
|
|
109
168
|
};
|
|
110
169
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { Violation } from "../check-types.js";
|
|
2
2
|
import type { ChangedFileImpactResult } from "../impact-diagnostics.js";
|
|
3
3
|
import type { QualityDiagnostic } from "../impact-diagnostics.js";
|
|
4
|
+
import type { MigrationPlan } from "./migration-plan.js";
|
|
4
5
|
export interface CheckDiagnostic {
|
|
5
6
|
readonly category: string;
|
|
6
7
|
readonly severity: "error" | "warning";
|
|
@@ -18,6 +19,7 @@ export interface CheckStructuredContent {
|
|
|
18
19
|
readonly extractedSymbols?: ChangedFileImpactResult["extractedSymbols"];
|
|
19
20
|
readonly linkedEntities?: ChangedFileImpactResult["linkedEntities"];
|
|
20
21
|
readonly nextActions?: ChangedFileImpactResult["nextActions"];
|
|
22
|
+
readonly migrationPlan?: MigrationPlan;
|
|
21
23
|
}
|
|
22
24
|
export declare function formatImpactText(impactResult: ChangedFileImpactResult): string;
|
|
23
25
|
export declare function formatQualityDiagnosticsText(diagnostics: readonly QualityDiagnostic[]): string;
|
|
@@ -27,6 +29,7 @@ export declare function buildStructuredContent(input: {
|
|
|
27
29
|
diagnostics: readonly CheckDiagnostic[];
|
|
28
30
|
qualityDiagnostics?: readonly QualityDiagnostic[];
|
|
29
31
|
impactResult: ChangedFileImpactResult | undefined;
|
|
32
|
+
migrationPlan?: MigrationPlan;
|
|
30
33
|
}): CheckStructuredContent;
|
|
31
34
|
export declare function buildSummary(input: {
|
|
32
35
|
readonly violations: readonly Violation[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check-format-shared.d.ts","sourceRoot":"","sources":["../../../src/public/operations/check-format-shared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAkBnD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACxE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"check-format-shared.d.ts","sourceRoot":"","sources":["../../../src/public/operations/check-format-shared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAkBnD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACxE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGzD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAGD,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,UAAU,EAAE,SAAS,SAAS,EAAE,CAAC;IAC1C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,SAAS,eAAe,EAAE,CAAC;IACjD,QAAQ,CAAC,kBAAkB,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAC3D,QAAQ,CAAC,iBAAiB,CAAC,EAAE,uBAAuB,CAAC,mBAAmB,CAAC,CAAC;IAC1E,QAAQ,CAAC,WAAW,CAAC,EAAE,uBAAuB,CAAC,aAAa,CAAC,CAAC;IAC9D,QAAQ,CAAC,gBAAgB,CAAC,EAAE,uBAAuB,CAAC,kBAAkB,CAAC,CAAC;IACxE,QAAQ,CAAC,cAAc,CAAC,EAAE,uBAAuB,CAAC,gBAAgB,CAAC,CAAC;IACpE,QAAQ,CAAC,WAAW,CAAC,EAAE,uBAAuB,CAAC,aAAa,CAAC,CAAC;IAC9D,QAAQ,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC;CACxC;AAaD,wBAAgB,gBAAgB,CAC9B,YAAY,EAAE,uBAAuB,GACpC,MAAM,CAaR;AAaD,wBAAgB,4BAA4B,CAC1C,WAAW,EAAE,SAAS,iBAAiB,EAAE,GACxC,MAAM,CA4BR;AAGD,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,SAAS,SAAS,EAAE,GAAG,MAAM,CAmB5E;AAGD,wBAAgB,sBAAsB,CAAC,KAAK,EAAE;IAC5C,UAAU,EAAE,SAAS,SAAS,EAAE,CAAC;IACjC,WAAW,EAAE,SAAS,eAAe,EAAE,CAAC;IACxC,kBAAkB,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAClD,YAAY,EAAE,uBAAuB,GAAG,SAAS,CAAC;IAClD,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B,GAAG,sBAAsB,CAsBzB;AAGD,wBAAgB,YAAY,CAAC,KAAK,EAAE;IAClC,QAAQ,CAAC,UAAU,EAAE,SAAS,SAAS,EAAE,CAAC;IAC1C,QAAQ,CAAC,YAAY,EAAE,uBAAuB,GAAG,SAAS,CAAC;IAC3D,QAAQ,CAAC,kBAAkB,EAAE,SAAS,iBAAiB,EAAE,CAAC;CAC3D,GAAG,MAAM,CAST"}
|
|
@@ -1,9 +1,34 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { RULE_NAMES, type Violation, getEffectiveRules } from "../../utils/rule-registry.js";
|
|
2
2
|
import { type ChangedFileImpactResult, type QualityDiagnostic } from "../impact-diagnostics.js";
|
|
3
3
|
import type { CheckInput } from "./check-executor.js";
|
|
4
4
|
export { RULE_NAMES, getEffectiveRules };
|
|
5
|
+
/**
|
|
6
|
+
* Split Prolog/check findings by enforcement class so advisory and
|
|
7
|
+
* migration results cannot gate canonical health.
|
|
8
|
+
*
|
|
9
|
+
* Canonical findings stay in `violations` (blocking). Advisory findings
|
|
10
|
+
* always become non-blocking quality diagnostics. Migration findings are
|
|
11
|
+
* also non-blocking and only appear when that rule was selected to run.
|
|
12
|
+
*/
|
|
13
|
+
export declare function partitionCheckFindings(findings: readonly Violation[]): {
|
|
14
|
+
violations: Violation[];
|
|
15
|
+
qualityDiagnostics: QualityDiagnostic[];
|
|
16
|
+
};
|
|
5
17
|
export declare function collectQueryPlanSafetyViolations(): Violation[];
|
|
6
|
-
|
|
18
|
+
/**
|
|
19
|
+
* Resolve the rules for one check invocation.
|
|
20
|
+
*
|
|
21
|
+
* Enforcement policy is Kibi-owned: repositories cannot disable canonical
|
|
22
|
+
* checks. `args.rules` is an invocation-time diagnostic selector that never
|
|
23
|
+
* persists and never redefines project health.
|
|
24
|
+
*/
|
|
25
|
+
export declare function resolveCheckRules(args: Pick<CheckInput, "rules">): Set<string>;
|
|
26
|
+
/**
|
|
27
|
+
* Read whether the workspace still carries a legacy `.kb/config.json`.
|
|
28
|
+
* Retained only so check summaries can point operators at migration; the
|
|
29
|
+
* document never alters rule selection.
|
|
30
|
+
*/
|
|
31
|
+
export declare function readLegacyChecksHint(workspaceRoot: string): Promise<string | null>;
|
|
7
32
|
export declare function hasImpactOptions(args: CheckInput): boolean;
|
|
8
33
|
export declare function analyzeKbCheckImpact(workspaceRoot: string, args: CheckInput): ChangedFileImpactResult | undefined;
|
|
9
34
|
export declare function qualityDiagnosticsFromImpact(impactResult: ChangedFileImpactResult | undefined): readonly QualityDiagnostic[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check-helpers.d.ts","sourceRoot":"","sources":["../../../src/public/operations/check-helpers.ts"],"names":[],"mappings":"AAuBA,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"check-helpers.d.ts","sourceRoot":"","sources":["../../../src/public/operations/check-helpers.ts"],"names":[],"mappings":"AAuBA,OAAO,EACL,UAAU,EACV,KAAK,SAAS,EACd,iBAAiB,EAGlB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,KAAK,uBAAuB,EAC5B,KAAK,iBAAiB,EAEvB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,CAAC;AAEzC;;;;;;;GAOG;AAEH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,SAAS,SAAS,EAAE,GAAG;IACtE,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,kBAAkB,EAAE,iBAAiB,EAAE,CAAC;CACzC,CA0BA;AAQD,wBAAgB,gCAAgC,IAAI,SAAS,EAAE,CAU9D;AAED;;;;;;GAMG;AAEH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,GAC9B,GAAG,CAAC,MAAM,CAAC,CAQb;AAED;;;;GAIG;AAEH,wBAAsB,oBAAoB,CACxC,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAQxB;AAGD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAO1D;AAGD,wBAAgB,oBAAoB,CAClC,aAAa,EAAE,MAAM,EACrB,IAAI,EAAE,UAAU,GACf,uBAAuB,GAAG,SAAS,CAoBrC;AAGD,wBAAgB,4BAA4B,CAC1C,YAAY,EAAE,uBAAuB,GAAG,SAAS,GAChD,SAAS,iBAAiB,EAAE,CAK9B"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { readFileSync } from "node:fs";
|
|
2
|
+
import { readFile } from "node:fs/promises";
|
|
3
|
+
import path from "node:path";
|
|
2
4
|
/*
|
|
3
5
|
Kibi — repo-local, per-branch, queryable long-term memory for software projects
|
|
4
6
|
Copyright (C) 2026 Piotr Franczyk
|
|
@@ -16,14 +18,45 @@ import { readFileSync } from "node:fs";
|
|
|
16
18
|
You should have received a copy of the GNU Affero General Public License
|
|
17
19
|
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
18
20
|
*/
|
|
19
|
-
import { readFile } from "node:fs/promises";
|
|
20
|
-
import path from "node:path";
|
|
21
21
|
import { getKbPlPathOverride } from "../../env.js";
|
|
22
22
|
import { resolveKbPlPath } from "../../prolog.js";
|
|
23
23
|
import { analyzePrologQueryPlanSafety } from "../../utils/prolog-query-plan-safety.js";
|
|
24
|
-
import {
|
|
24
|
+
import { RULE_NAMES, getEffectiveRules, getRuleDefinition, getRuleEnforcementClass, } from "../../utils/rule-registry.js";
|
|
25
25
|
import { analyzeChangedFileImpact, } from "../impact-diagnostics.js";
|
|
26
26
|
export { RULE_NAMES, getEffectiveRules };
|
|
27
|
+
/**
|
|
28
|
+
* Split Prolog/check findings by enforcement class so advisory and
|
|
29
|
+
* migration results cannot gate canonical health.
|
|
30
|
+
*
|
|
31
|
+
* Canonical findings stay in `violations` (blocking). Advisory findings
|
|
32
|
+
* always become non-blocking quality diagnostics. Migration findings are
|
|
33
|
+
* also non-blocking and only appear when that rule was selected to run.
|
|
34
|
+
*/
|
|
35
|
+
// implements REQ-cli-check, REQ-mcp-tool-check
|
|
36
|
+
export function partitionCheckFindings(findings) {
|
|
37
|
+
const violations = [];
|
|
38
|
+
const qualityDiagnostics = [];
|
|
39
|
+
for (const finding of findings) {
|
|
40
|
+
const enforcement = getRuleEnforcementClass(finding.rule) ?? "canonical";
|
|
41
|
+
if (enforcement === "canonical") {
|
|
42
|
+
violations.push(finding);
|
|
43
|
+
continue;
|
|
44
|
+
}
|
|
45
|
+
const definition = getRuleDefinition(finding.rule);
|
|
46
|
+
qualityDiagnostics.push({
|
|
47
|
+
id: `rule.${finding.rule}`,
|
|
48
|
+
severity: "warning",
|
|
49
|
+
blocking: false,
|
|
50
|
+
category: definition?.category ?? "integrity",
|
|
51
|
+
...(finding.entityId !== undefined ? { entityId: finding.entityId } : {}),
|
|
52
|
+
...(finding.source !== undefined ? { source: finding.source } : {}),
|
|
53
|
+
message: finding.description,
|
|
54
|
+
suggestion: finding.suggestion ?? "",
|
|
55
|
+
...(finding.evidence !== undefined ? { evidence: finding.evidence } : {}),
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
return { violations, qualityDiagnostics };
|
|
59
|
+
}
|
|
27
60
|
function resolveChecksPlPath() {
|
|
28
61
|
const override = getKbPlPathOverride();
|
|
29
62
|
return path.join(path.dirname(override ?? resolveKbPlPath()), "checks.pl");
|
|
@@ -40,35 +73,38 @@ export function collectQueryPlanSafetyViolations() {
|
|
|
40
73
|
source: `${checksPlPath}:${v.line}`,
|
|
41
74
|
}));
|
|
42
75
|
}
|
|
76
|
+
/**
|
|
77
|
+
* Resolve the rules for one check invocation.
|
|
78
|
+
*
|
|
79
|
+
* Enforcement policy is Kibi-owned: repositories cannot disable canonical
|
|
80
|
+
* checks. `args.rules` is an invocation-time diagnostic selector that never
|
|
81
|
+
* persists and never redefines project health.
|
|
82
|
+
*/
|
|
83
|
+
// implements REQ-mcp-tool-check
|
|
84
|
+
export function resolveCheckRules(args) {
|
|
85
|
+
if (args.rules === undefined) {
|
|
86
|
+
return getEffectiveRules();
|
|
87
|
+
}
|
|
88
|
+
if (args.rules.length === 0) {
|
|
89
|
+
return new Set();
|
|
90
|
+
}
|
|
91
|
+
return getEffectiveRules(args.rules);
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Read whether the workspace still carries a legacy `.kb/config.json`.
|
|
95
|
+
* Retained only so check summaries can point operators at migration; the
|
|
96
|
+
* document never alters rule selection.
|
|
97
|
+
*/
|
|
43
98
|
// implements REQ-mcp-tool-check
|
|
44
|
-
export async function
|
|
99
|
+
export async function readLegacyChecksHint(workspaceRoot) {
|
|
45
100
|
const configPath = path.join(workspaceRoot, ".kb", "config.json");
|
|
46
101
|
try {
|
|
47
|
-
|
|
48
|
-
const parsed = JSON.parse(content);
|
|
49
|
-
const parsedRules = parsed.checks?.rules;
|
|
50
|
-
const normalizedRules = {
|
|
51
|
-
...DEFAULT_CHECKS_CONFIG.rules,
|
|
52
|
-
};
|
|
53
|
-
if (parsedRules && typeof parsedRules === "object") {
|
|
54
|
-
for (const [key, value] of Object.entries(parsedRules)) {
|
|
55
|
-
if (typeof value === "boolean") {
|
|
56
|
-
normalizedRules[key] = value;
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
const parsedSt = parsed.checks?.symbolTraceability;
|
|
61
|
-
const normalizedSt = { ...DEFAULT_CHECKS_CONFIG.symbolTraceability };
|
|
62
|
-
if (parsedSt &&
|
|
63
|
-
typeof parsedSt === "object" &&
|
|
64
|
-
typeof parsedSt.requireAdr === "boolean") {
|
|
65
|
-
normalizedSt.requireAdr = parsedSt.requireAdr;
|
|
66
|
-
}
|
|
67
|
-
return { rules: normalizedRules, symbolTraceability: normalizedSt };
|
|
102
|
+
await readFile(configPath, "utf8");
|
|
68
103
|
}
|
|
69
104
|
catch {
|
|
70
|
-
return
|
|
105
|
+
return null;
|
|
71
106
|
}
|
|
107
|
+
return `Legacy ${path.join(".kb", "config.json")} is present. Kibi no longer reads project check or path configuration; run 'kibi migrate' to adopt the canonical .kb/ layout and retire this file.`;
|
|
72
108
|
}
|
|
73
109
|
// implements REQ-mcp-tool-check
|
|
74
110
|
export function hasImpactOptions(args) {
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { OperationEffect, OperationEffectDeclaration, OperationName } from "./types.js";
|
|
2
|
+
/** A JSON Schema object emitted in the public operation catalog. */
|
|
3
|
+
export type OperationJsonSchema = Readonly<Record<string, unknown>>;
|
|
4
|
+
/**
|
|
5
|
+
* The data contract is deliberately maintained separately from the operation
|
|
6
|
+
* implementations. Every catalog entry therefore has a concrete payload
|
|
7
|
+
* shape, while nested domain records can still evolve independently.
|
|
8
|
+
*/
|
|
9
|
+
export declare const OPERATION_DATA_SCHEMAS: Readonly<Record<OperationName, OperationJsonSchema>>;
|
|
10
|
+
export declare function declaredEffects(operation: OperationName, effects: readonly OperationEffect[]): readonly OperationEffectDeclaration[];
|
|
11
|
+
//# sourceMappingURL=contracts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../../src/public/operations/contracts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,0BAA0B,EAC1B,aAAa,EACd,MAAM,YAAY,CAAC;AAEpB,oEAAoE;AACpE,MAAM,MAAM,mBAAmB,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAgDpE;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,EAAE,QAAQ,CAC3C,MAAM,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAuO3C,CAAC;AAgDF,wBAAgB,eAAe,CAC7B,SAAS,EAAE,aAAa,EACxB,OAAO,EAAE,SAAS,eAAe,EAAE,GAClC,SAAS,0BAA0B,EAAE,CAsBvC"}
|