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
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
# Traceability detail
|
|
2
|
+
|
|
3
|
+
Model one requirement clause at a time. Use strict fact lanes for contradiction
|
|
4
|
+
checks, predicate schemas for project ontology, and observation/meta facts for
|
|
5
|
+
bugs and workarounds. Query all relationship endpoints before writing; a graph
|
|
6
|
+
link is not proof until the scenario, test, symbol, and fresh receipt are
|
|
7
|
+
readable at the current snapshot.
|
|
8
|
+
|
|
@@ -1,276 +1,152 @@
|
|
|
1
1
|
---
|
|
2
2
|
id: kibi-usage
|
|
3
3
|
name: Kibi Usage
|
|
4
|
-
description:
|
|
5
|
-
version: 1.
|
|
6
|
-
kibiCompatibility: ">=0.
|
|
4
|
+
description: Use Kibi's source-first, exact-Git, migration-aware, proof-aware operations safely across MCP or the trusted local CLI, including partial completion repair.
|
|
5
|
+
version: 2.1.0
|
|
6
|
+
kibiCompatibility: ">=1.0.0"
|
|
7
7
|
tags:
|
|
8
8
|
- kibi
|
|
9
9
|
- mcp
|
|
10
|
-
-
|
|
10
|
+
- cli
|
|
11
|
+
- source-first
|
|
12
|
+
- branching
|
|
11
13
|
- traceability
|
|
12
|
-
-
|
|
14
|
+
- recovery
|
|
13
15
|
resources:
|
|
16
|
+
- resources/operation-access.md
|
|
17
|
+
- resources/branch-lifecycle.md
|
|
18
|
+
- resources/source-authoring.md
|
|
14
19
|
- resources/relationship-directions.md
|
|
15
20
|
- resources/fact-lanes.md
|
|
16
21
|
- resources/workflows.md
|
|
17
|
-
- resources/operation-access.md
|
|
18
22
|
- resources/ui-requirements.md
|
|
19
23
|
- resources/logic-ir.md
|
|
24
|
+
- resources/kb-improvement.md
|
|
20
25
|
---
|
|
21
26
|
# Kibi Usage
|
|
22
27
|
|
|
23
|
-
Consult this skill before any Kibi knowledge base operation, on first
|
|
28
|
+
Consult this skill before any Kibi knowledge base operation, on first
|
|
29
|
+
interaction with a Kibi-enabled repo, after stale or dirty status is suspected,
|
|
30
|
+
and before mutations.
|
|
24
31
|
|
|
25
|
-
|
|
32
|
+
Kibi is an agent-native requirements compiler. Use it to retain product intent,
|
|
33
|
+
compile branch-local requirements and scenarios, link symbols to ownership,
|
|
34
|
+
and prove implementation with fresh evidence.
|
|
26
35
|
|
|
27
|
-
|
|
36
|
+
## Interface Selection
|
|
28
37
|
|
|
29
|
-
|
|
30
|
-
2. Otherwise, in a trusted workspace, use the project-local CLI through a non-installing runner: `npx --no-install kibi ...`. The CLI is a peer interface, not a fallback.
|
|
31
|
-
3. If the project-local CLI is unavailable or too old for the needed route, stop and tell the operator to enable or install Kibi.
|
|
32
|
-
4. Never use a global fallback or an installing runner. Never probe or install packages as a side effect of interface selection.
|
|
38
|
+
Use whichever capability is visible and approved. The surfaces are equal peers:
|
|
33
39
|
|
|
34
|
-
|
|
40
|
+
1. If approved Kibi MCP tools are visible, use them.
|
|
41
|
+
2. Otherwise use `npx --no-install kibi ...` from the trusted project-local CLI.
|
|
42
|
+
3. If the operator capability is unavailable or too old for the needed route,
|
|
43
|
+
stop and identify the missing capability.
|
|
44
|
+
4. Never use a global fallback, an installing runner, or an unapproved route.
|
|
35
45
|
|
|
36
|
-
|
|
46
|
+
Hosts may expose prefixed identifiers such as `kibi_kb_search`,
|
|
47
|
+
`kibi_kb_query`, and `kibi_kb_upsert`; map them to the canonical MCP names.
|
|
37
48
|
|
|
38
|
-
|
|
39
|
-
echo '{"type":"req","id":"REQ-001","properties":{"title":"Test","status":"open"}}' | npx --no-install kibi upsert --input -
|
|
40
|
-
```
|
|
49
|
+
The CLI JSON route accepts the same business object as MCP:
|
|
41
50
|
|
|
42
51
|
```bash
|
|
43
|
-
|
|
52
|
+
printf '%s\n' '{"query":"checkout","limit":10}' | npx --no-install kibi search --input -
|
|
44
53
|
```
|
|
45
54
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
55
|
+
Read `resources/operation-access.md` for the route, result version, effects,
|
|
56
|
+
mutability, and Prolog requirements of each operation.
|
|
57
|
+
|
|
58
|
+
## Safe workflow
|
|
59
|
+
|
|
60
|
+
1. Always discover before you mutate: start with `kb_search`, then exact-filter with `kb_query`. Use
|
|
61
|
+
`kb_status` when branch or freshness confidence matters.
|
|
62
|
+
2. Resolve genuine ambiguity with the human; use semantic advisor/modeling
|
|
63
|
+
operations for deterministic interpretation and typed facts.
|
|
64
|
+
3. Create endpoints before relationships and upsert small batches sequentially.
|
|
65
|
+
Keep the canonical `REQ-* -> SCEN-* -> TEST-*` chain.
|
|
66
|
+
4. Author tracked Markdown/YAML/manifests and relationship shards through Kibi;
|
|
67
|
+
Kibi never Git-stages or commits those files. Do not read or edit `.kb`
|
|
68
|
+
directly.
|
|
69
|
+
5. Finish with targeted and final `kb_check`, then read status/coverage and
|
|
70
|
+
state freshness, verification, proof, and limitations separately.
|
|
71
|
+
|
|
72
|
+
Run `kb_check` with specific rules during iteration and the unfiltered final
|
|
73
|
+
check. Never fire `kb_upsert` calls in parallel; create or confirm endpoint
|
|
74
|
+
entities before linking them. The canonical MCP names are `kb_search`,
|
|
75
|
+
`kb_query`, `kb_upsert`, and `kb_check`.
|
|
76
|
+
|
|
77
|
+
## Exact Git attachment
|
|
78
|
+
|
|
79
|
+
The active ref is the exact KB identity. `KIBI_BRANCH` is used verbatim; Git's
|
|
80
|
+
symbolic HEAD is used otherwise. Slash, `@`, Unicode, `main`, `master`, and
|
|
81
|
+
detached states are not normalized or merged. Hashed stores and their
|
|
82
|
+
`branch.json` identity fence are compiled artifacts. A missing exact store is
|
|
83
|
+
created by `kibi sync` from this checkout's tracked sources. Kibi never copies
|
|
84
|
+
stores across branches and never selects merge winners; unresolved authored Git
|
|
85
|
+
conflicts block compilation. See `resources/branch-lifecycle.md` for legacy
|
|
86
|
+
migration, worktrees, quarantine, restore, and purge.
|
|
87
|
+
|
|
88
|
+
## Typed results and recovery
|
|
89
|
+
|
|
90
|
+
Every CLI JSON/MCP result has `kibiProtocol`, `operation`, `resultVersion`,
|
|
91
|
+
`status`, `data`, `effects`, `diagnostics`, and typed `nextActions`. Treat
|
|
92
|
+
`status: error` as a failed pre-commit operation. If the status is
|
|
93
|
+
`committed_with_repairs`, the mutation already committed: inspect failed effects,
|
|
94
|
+
execute each required repair action in order, and never retry the original
|
|
95
|
+
operation. Record effect failures, followed actions, and unsafe retries in
|
|
96
|
+
diagnostic telemetry.
|
|
97
|
+
|
|
98
|
+
## Source-first mutation
|
|
99
|
+
|
|
100
|
+
Use `document.path` when a new entity has no single configured writable target.
|
|
101
|
+
Existing entities preserve body bytes when `document.body` is omitted; new
|
|
102
|
+
requirements default their body to `semantic_text`. Relationship mutations
|
|
103
|
+
patch canonical shards while preserving unrelated records. Authored entity
|
|
104
|
+
deletion returns a hash-bound approval plan; requirements normally evolve via a
|
|
105
|
+
new entity linked with `supersedes`. Read `resources/source-authoring.md` before
|
|
106
|
+
source writes, deletion approval, or recovery.
|
|
107
|
+
|
|
108
|
+
## Semantic and proof guardrails
|
|
109
|
+
|
|
110
|
+
Prolog proves only encoded facts. Keep ambiguity, ontology gaps, incomplete
|
|
111
|
+
grounding, stale snapshots, and failed or unavailable evidence explicit. Use
|
|
112
|
+
`fact_kind: subject` plus `property_value`/`predicate` lanes for contradiction-
|
|
113
|
+
safe normative claims; use `observation` or `meta` for bug/workaround notes and
|
|
114
|
+
`flag` only for actual runtime/config gates. Requirements require scenarios,
|
|
115
|
+
tests, symbol ownership, and fresh proof-bearing receipts before claiming proof.
|
|
116
|
+
For an existing product KB that needs semantic backfill, read
|
|
117
|
+
`resources/kb-improvement.md`.
|
|
57
118
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
Kibi guidance does not define a repository's package manager, branch names, release scripts, or publishing workflow. Follow the repository's own instructions for those concerns. Never use Kibi interface selection to install packages, change dependency manifests, or bypass sandbox and approval boundaries.
|
|
61
|
-
|
|
62
|
-
## Relationship Directions
|
|
63
|
-
|
|
64
|
-
Relationship direction is fixed and semantic. Reversed links break traceability queries and validation.
|
|
65
|
-
|
|
66
|
-
| Relationship | Direction | Meaning |
|
|
67
|
-
|-------------|-----------|---------|
|
|
68
|
-
| `implements` | symbol -> req | Symbol owns or implements requirement behavior |
|
|
69
|
-
| `specified_by` | req -> scenario | Requirement is specified by a scenario |
|
|
70
|
-
| `verified_by` | req/scenario -> test | Requirement or scenario is verified by a test |
|
|
71
|
-
| `validates` | test -> req/scenario | Test validates a requirement or scenario |
|
|
72
|
-
| `executable_for` | symbol -> test | Symbol is executable test code for a test entity |
|
|
73
|
-
| `constrains` | req -> fact(subject) | Requirement constrains a domain fact |
|
|
74
|
-
| `requires_property` | req -> fact(property_value) | Requirement requires a property value |
|
|
75
|
-
| `requires_predicate` | req -> fact(predicate) | Requirement requires a ground ontology predicate |
|
|
76
|
-
| `supersedes` | old-req -> new-req | Old requirement is replaced by new requirement |
|
|
77
|
-
| `covered_by` | symbol -> test | Production symbol has coverage evidence from a test |
|
|
78
|
-
|
|
79
|
-
Before/after for reversed direction:
|
|
119
|
+
## Predicate Ontology Decision Tree
|
|
80
120
|
|
|
81
|
-
|
|
82
|
-
|
|
121
|
+
Call `kb_semantic_advisor`, `kb_model_requirement`, or `kb_suggest_predicates`
|
|
122
|
+
before encoding a normative clause. Use `fact_kind: predicate` with
|
|
123
|
+
`requires_predicate` when a suitable schema exists; use `fact_kind: observation`
|
|
124
|
+
for an ontology gap. Keep the `REQ -> TEST` chain and use `verified_by` for
|
|
125
|
+
proof-bearing links. Relationship direction is fixed, and every `from` in a
|
|
126
|
+
relationship batch must equal the upserted entity ID.
|
|
83
127
|
|
|
84
128
|
## Symbol-First Traceability
|
|
85
129
|
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
Preferred traceability model:
|
|
91
|
-
|
|
92
|
-
```yaml
|
|
93
|
-
symbol:
|
|
94
|
-
id: SYM-admin-billing-policy
|
|
95
|
-
title: Admin billing policy check
|
|
96
|
-
status: active
|
|
97
|
-
sourceFile: src/admin/billing.ts
|
|
98
|
-
relationships:
|
|
99
|
-
- type: implements
|
|
100
|
-
from: SYM-admin-billing-policy
|
|
101
|
-
to: REQ-ADMIN-BILLING-POLICY
|
|
102
|
-
```
|
|
103
|
-
|
|
104
|
-
## Typed Logic IR Lane
|
|
105
|
-
|
|
106
|
-
Readable prose is retained for people, while every assertive proposition is inventoried and either grounded in a strict fact, a predicate fact, or a safe typed rule. Use the required extraction pass followed by an adversarial coverage audit; do not let a high-confidence single suggestion stand in for the rest of a compound requirement. Load `resources/logic-ir.md` for the IR grammar, proposition ledger, safety boundary, and proof semantics.
|
|
107
|
-
|
|
108
|
-
Use `kb_semantic_advisor` with up to three typed `interpretations` for ambiguous clauses. Kibi canonicalizes alternatives and keeps materially different meanings unresolved. Create `fact_kind: rule_schema` and `fact_kind: rule` endpoints from `kb_model_requirement`'s validated plan, then link `req -> rule` with `requires_rule`. Run `rule-safety`, `rule-verifiability`, `semantic-completeness`, `logic-coverage`, and `domain-contradictions`; unresolved, incomplete, or timed-out reasoning is not evidence of consistency.
|
|
109
|
-
|
|
110
|
-
The portable skill body must carry the core contract even when its detailed resources are unavailable: `kb_semantic_advisor` returns a `propositions[]` ledger and `semantic_inventory`; submit typed `interpretations` when wording has more than one plausible logical reading; validate modeled conditions through `kibi.logic.v1`; and preserve unresolved propositions as explicit gaps. Do not read or edit files inside `.kb` directly.
|
|
111
|
-
|
|
112
|
-
Requirement proof also requires fresh execution evidence. Read the available `verificationSnapshot` from `kb_status`, run the scenario-backed E2E command, and append a `kibi.verification-receipt.v1` carrying test ID, typed scope, runner, command, snapshot, environment hash, timestamps, outcome, and artifact digest. Never rewrite receipt history or treat durable `status: passing` as execution proof; re-run coverage and repair every receipt-specific gap.
|
|
113
|
-
|
|
114
|
-
Requirement-mode `kb_coverage` also returns `kibi.repair-plan.v1`. Use it only when `scope.complete` is true; a partial plan means pagination hid actionable requirements. Apply only the earliest `ready` batch for each requirement, query before mutation, create endpoints before relationships, validate every payload, and keep `kb_upsert` calls sequential. Batches are deliberately `autoApplicable: false`: semantic resolution, contradiction supersession, E2E execution, and source ownership always require review. Re-run coverage after every batch instead of continuing from a stale plan.
|
|
115
|
-
|
|
116
|
-
When `.kb/usage.log` exists, treat `kibi.telemetry-acceptance.v1` as the process-evidence lane. Run `kibi usage-metrics --format json --require-acceptance` before completion and inspect unfiltered `kb_check.qualityDiagnostics[]` for ranked `category: telemetry` repairs. The rolling report requires fresh evidence for advisor-before-requirement-write, exact validation-before-upsert, source-linked lookup results, proof-gap recovery, receipt freshness, and mutation retry discipline. `insufficient_evidence` is not a pass: capture current complete coverage and diagnostic events rather than waiving stale, partial, or pre-upgrade logs. A missing usage log means diagnostic logging is not active; do not invent telemetry evidence.
|
|
117
|
-
|
|
118
|
-
## Strict Fact Lane
|
|
119
|
-
|
|
120
|
-
Normative requirements that must participate in contradiction blocking use the strict fact lane. Create a `fact_kind: subject` fact and link it from the requirement via `constrains`. Create a `fact_kind: property_value` fact and link it via `requires_property`.
|
|
121
|
-
|
|
122
|
-
```yaml
|
|
123
|
-
id: FACT-USER-ROLE
|
|
124
|
-
fact_kind: subject
|
|
125
|
-
subject_key: user.role_assignment
|
|
126
|
-
```
|
|
127
|
-
|
|
128
|
-
```yaml
|
|
129
|
-
id: REQ-019
|
|
130
|
-
relationships:
|
|
131
|
-
- type: constrains
|
|
132
|
-
from: REQ-019
|
|
133
|
-
to: FACT-USER-ROLE
|
|
134
|
-
- type: requires_property
|
|
135
|
-
from: REQ-019
|
|
136
|
-
to: FACT-LIMIT-3
|
|
137
|
-
```
|
|
138
|
-
|
|
139
|
-
Model one semantic claim per strict `property_value` fact. Reusing the same `subject_key` and `property_key` lets `domain-contradictions` compare requirements mechanically. If a new requirement intentionally changes a value, create a replacement requirement and link the old requirement to the new one with `supersedes` instead of leaving two current contradictory requirements.
|
|
140
|
-
|
|
141
|
-
Use `kb_model_requirement` for automated strict-fact modeling when available. It generates subject and property_value facts, links them with `constrains` and `requires_property`, and handles low-confidence downgrades to observation facts automatically.
|
|
142
|
-
|
|
143
|
-
Granular fact examples for coherence checks include `REQ-ROLE-SET-2` versus `REQ-ROLE-SET-3` on `user.roles.allowed_set` (`user,admin` versus `user,admin,superadmin`) and `REQ-ADMIN-CAN-MANAGE-BILLING` versus `REQ-ONLY-SUPERADMIN-MANAGES-BILLING` on `billing.manage.allowed_actor`. See `resources/fact-lanes.md`; `domain-contradictions` uses these canonical keys.
|
|
144
|
-
|
|
145
|
-
## UI / Visual Requirement Modeling
|
|
146
|
-
|
|
147
|
-
Optional, per-project lane for recording what the screen should look like so UI edits cannot silently drift from the spec. Non-UI projects skip it; no check rule requires it.
|
|
148
|
-
|
|
149
|
-
Use three layers: a prose `req` as the searchable anchor, strict `property_value` facts for checkable positions/alignment/order (linked `constrains` / `requires_property`, so incompatible values on the same subject/property are rejected on write unless `supersedes`), and relational predicates linked with `requires_predicate` (built-in `visual_layout_rule(subject, relation, target)` for "X must remain visually aligned with Y"). Model UI components as `symbol` entities with `sourceFile` and `symbol_role: behavioral`, linked `implements` to the requirement, so component edits surface the visual spec in impact diagnostics. Full payloads and workflow: `resources/ui-requirements.md`.
|
|
130
|
+
Represent implementation ownership with a `symbol` entity and an `implements`
|
|
131
|
+
relationship from the symbol to the requirement. Do not rely on legacy
|
|
132
|
+
`// implements REQ-xxx` comments as the traceability record.
|
|
150
133
|
|
|
151
134
|
## Complete Logical Coverage
|
|
152
135
|
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
4. Ground each key through exactly one suitable logical lane: `requires_property` to one strict `property_value` fact, `requires_predicate` to one ground `predicate` fact, or `requires_rule` to one safe `rule` fact. A subject fact supports a strict claim but does not ground a key by itself. Observation, meta, ambiguity, and ontology-gap facts explicitly remain unresolved and do not count as logical coverage.
|
|
159
|
-
5. Run `kb_check` with `logic-coverage`, `rule-safety`, `rule-verifiability`, `semantic-completeness`, `predicate-verifiability`, and `domain-contradictions`. `logic-coverage` enforces a one-claim/one-ground-fact mapping and rejects distinct claim keys that encode the same logical term; human or agent review still confirms that the atomic clauses exhaust the prose and that each ground term preserves its meaning.
|
|
160
|
-
|
|
161
|
-
Kibi emits a non-blocking logical-coverage debt diagnostic for every current requirement without a manifest, independent of title wording. The `logic-coverage` rule is enabled by default for requirements that do declare manifests, so an unfiltered final check catches missing or orphaned ground claims while legacy requirements remain explicit backfill work.
|
|
162
|
-
|
|
163
|
-
A complete `logic_claims` manifest alone is not a complete model. Preserve the advisor's `inventory_contract` as `semantic_inventory_version`, `semantic_source_field`, and `semantic_source_hash`; every ledger span must select its exact claim text from that field. For new or migrated requirements, use requirement-only `semantic_text` for normalized authored prose and keep `text_ref` available for independent code or document evidence. Legacy direct payloads may still declare `text_ref` or `title`; an explicitly declared but empty semantic source fails closed instead of falling through. Mutation rejects duplicate or omitted propositions and requires every `modeled` entry to resolve through exactly one logical edge to a fact with the same claim key. Explicit unresolved entries remain ingestible but cannot prove the requirement.
|
|
164
|
-
|
|
165
|
-
Never invent, reuse across different clauses, or manually alter a claim key. Kibi derives it from `claim_text` and rejects mismatched mutation and Markdown inputs.
|
|
166
|
-
|
|
167
|
-
For a compound requirement, the manifest and linked facts form a clause-completeness contract:
|
|
168
|
-
|
|
169
|
-
```yaml
|
|
170
|
-
requirement:
|
|
171
|
-
id: REQ-CHECKOUT-RETENTION
|
|
172
|
-
logic_claims: [CLAIM-A1B2C3D4E5F60718, CLAIM-18273645AABBCCDD]
|
|
173
|
-
facts:
|
|
174
|
-
- fact_kind: predicate
|
|
175
|
-
claim_key: CLAIM-A1B2C3D4E5F60718
|
|
176
|
-
claim_text: Checkout requires payment authorization before submission.
|
|
177
|
-
- fact_kind: property_value
|
|
178
|
-
claim_key: CLAIM-18273645AABBCCDD
|
|
179
|
-
claim_text: Customer data must be retained for 7 years.
|
|
180
|
-
```
|
|
181
|
-
|
|
182
|
-
The example keys are illustrative; use only keys returned for the exact clause text.
|
|
183
|
-
|
|
184
|
-
## Predicate Ontology Decision Tree
|
|
185
|
-
|
|
186
|
-
Preserve the readable requirement prose. Facts add a machine-queryable model; they do not replace prose, and stored predicate facts are data queried by Kibi's Prolog layer rather than executable Prolog supplied by the agent.
|
|
187
|
-
|
|
188
|
-
1. Call `kb_semantic_advisor` on the complete prose, verify its atomic clause inventory, and choose one lane per clause.
|
|
189
|
-
2. For each relational clause, call `kb_suggest_predicates` with that clause and the current `existingLogicClaims`. Read each candidate as a Prolog-shaped ground term `predicate_name(arg1,...,argN)`: the schema fixes the predicate name, arity, argument roles, and argument order.
|
|
190
|
-
3. Accept a candidate only when its meaning and every ordered argument fit the prose. If lexical rank order prefers a false positive, retry with the reviewed candidate's exact `schema.id` as `schemaId`; do not mutate the candidate or treat a missing schema reference as an ontology gap. If it returns `binding_status: incomplete`, retry with exact `argumentBindings` for every `unbound_arguments` name; its empty `applyPlan` is a safety gate, and the literal `unknown` must never be persisted. Use `polarityHint` only when review of the complete claim proves that surface negation does not deny the selected predicate. Once complete, use the returned `applyPlan`, including its exact `predicate_name`, `predicate_args`, `canonical_key`, and `polarity`; never invent a predicate name, reorder arguments, add variables, or write a raw Prolog clause.
|
|
191
|
-
4. Create or confirm the requirement and `fact_kind: predicate` endpoints, preserve `claim_key` and `claim_text`, merge the returned `logicClaims` into the requirement, then link requirement -> predicate fact with `requires_predicate`. Treat the requirement's logical representation as the conjunction of every linked ground term. Encode a prohibition with `polarity: deny` on the fitting positive schema, not a made-up negative predicate. An `assert` and `deny` requirement over the same namespace, name, and ordered arguments are a blocking `domain-contradictions` conflict, so requirements must reuse the same canonical schema and argument vocabulary for equivalent domain claims.
|
|
192
|
-
5. Use an existing built-in or project-local `fact_kind: predicate_schema`. Create a new schema only when the task explicitly authorizes ontology extension and supplies a stable name, arity, `argument_names`, and `argument_types`; otherwise record `fact_kind: observation` with `review:ontology-gap`.
|
|
193
|
-
6. For each scalar, threshold, duration, boolean, enum-set, or cardinality clause, use `kb_model_requirement` with the current `existingLogicClaims` and the strict subject/property lane instead. For ambiguity or a lexical false positive, preserve the prose as a review observation, apply its returned `relates_to` review anchor when present, and report the requirement as logically incomplete. Use `review:ambiguity` for unresolved scope or interpretation and `review:keyword-false-positive` when a vocabulary match is not a domain assertion.
|
|
194
|
-
7. Validate every payload, create endpoints first, apply `kb_upsert` calls sequentially, read back all affected IDs, and run targeted `rule-safety`, `rule-verifiability`, `semantic-completeness`, `logic-coverage`, `predicate-verifiability`, and `domain-contradictions` checks before the final unfiltered `kb_check`. Exact query output can return an array when one relationship type has multiple targets; verify every target rather than reading only one edge.
|
|
195
|
-
|
|
196
|
-
### Schema-aware proposition boundary
|
|
197
|
-
|
|
198
|
-
A declared project-local predicate schema can encode one complete relation whose ordered arguments name several facets of the same claim. Do not split those arguments into separate propositions, invent one predicate per noun, or pass an explicit `clauses` array merely to enumerate the schema arguments. First ask `kb_semantic_advisor` about the complete sentence; add clauses only for independently asserted propositions that are not represented by the selected relation. For a schema-backed relation, preserve the one claim key for the complete relation, create the supporting `predicate_schema` with its minimal declared signature (supporting schemas do not carry `claim_key` or `logic_claims`), call `kb_suggest_predicates` on the complete claim, and apply its exact plan to create one ground predicate fact with the ordered schema arguments and that claim key. If `kb_model_requirement` returns an apply plan, execute that plan sequentially; do not fall back to observation facts when an explicitly declared schema fits. If a schema write is rejected, use `kb_validate_upsert` to reduce it to the supported signature, then retry once before considering an ontology gap.
|
|
199
|
-
|
|
200
|
-
### Hard lane gates for unresolved prose and supplied schemas
|
|
201
|
-
|
|
202
|
-
The advisor's proposition `status` is a safety gate, not a confidence hint. A `nonlogical` proposition (including `subjective`, rationale, example, heading, or commentary) never receives a `logic_claims` entry and never goes through `kb_suggest_predicates` or `kb_model_requirement`; preserve the complete prose as one `fact_kind: observation` only when an auditable record is useful. Do not manufacture atomic clauses from a subjective sentence merely because it contains `when`, a domain noun, or the word `predicate`. An `ambiguous` proposition remains an ambiguity observation until the operator supplies a typed interpretation. An `ontology_gap` remains unresolved unless an approved schema or validated IR is actually available.
|
|
203
|
-
|
|
204
|
-
When authorized task input contains `projectLocalSchemas`, those declarations are the schema authority even if the first advisor or predicate lookup calls them an ontology gap. Do not treat an empty candidate list as final: create the minimal declared `predicate_schema` endpoint first, then call `kb_suggest_predicates` again on the one complete claim (with the current `existingLogicClaims`) and apply the resulting ground predicate plan. Preserve the single claim key for that relation; do not add keys for schema arguments. If the lookup still cannot return a plan after the declared schema exists, validate the exact schema-backed predicate payload once and report the remaining blocker rather than inventing a different predicate. For prohibition cues (`must not`, `never`, `cannot`, `forbidden`), use the positive schema with `polarity: deny`; never silently change it to `assert` or encode the negation in a new predicate name.
|
|
205
|
-
|
|
206
|
-
Example: “Checkout requires payment authorization before order submission” fits `dependency_rule(subject, prerequisite, dependent)`. The ground model is `dependency_rule(checkout,payment_authorization,order_submission)`, stored as:
|
|
207
|
-
|
|
208
|
-
```yaml
|
|
209
|
-
fact_kind: predicate
|
|
210
|
-
predicate_name: dependency_rule
|
|
211
|
-
predicate_args: [checkout, payment_authorization, order_submission]
|
|
212
|
-
canonical_key: dependency_rule(checkout,payment_authorization,order_submission)
|
|
213
|
-
polarity: assert
|
|
214
|
-
claim_key: <claim key returned by kb_semantic_advisor>
|
|
215
|
-
claim_text: Checkout requires payment authorization before order submission.
|
|
216
|
-
```
|
|
217
|
-
|
|
218
|
-
Link the requirement to that predicate fact with `requires_predicate`. Do not use `verified_by`, `requires_predicate`, or another relationship type as the `predicate_name`; graph relationships and ontology predicates are different layers.
|
|
219
|
-
|
|
220
|
-
Detailed built-in, project-local, deny, strict-scalar, ambiguous, false-positive, and ontology-gap examples are immutable reference material in `resources/fact-lanes.md` and `resources/workflows.md`.
|
|
221
|
-
|
|
222
|
-
## Fact vs Flag
|
|
223
|
-
|
|
224
|
-
Use `flag` for runtime or config gates only, such as feature flags, kill-switches, and deferred capabilities.
|
|
225
|
-
|
|
226
|
-
Bugs, incidents, and workarounds belong in `fact` entities with `fact_kind: observation` or `meta`. These fact kinds are excluded from contradiction inference, making them appropriate for non-blocking evidence. Do not create a `flag` named like a bug to track a defect.
|
|
227
|
-
|
|
228
|
-
## Create Before Link
|
|
229
|
-
|
|
230
|
-
Always confirm or create endpoint entities before linking them. Query target IDs with `kb_query` first. If an endpoint does not exist, create it with `kb_upsert` before creating the relationship. Relationships to missing entities produce dangling references that `kb_check` will flag.
|
|
231
|
-
|
|
232
|
-
For `kb_upsert`, keep relationship rows anchored to the entity being upserted: each row's `from` must equal the upserted entity ID. If you need a `SYM -> REQ` link, upsert the symbol endpoint first, then link that symbol to the requirement.
|
|
233
|
-
|
|
234
|
-
Keep symbol payloads minimal: include only fields needed to identify the symbol, status, and source traceability. Put extra prose, examples, or audit notes in documentation or evidence artifacts instead of custom `kb_upsert.properties`; strict `kb_upsert.properties` rejects unknown fields.
|
|
235
|
-
|
|
236
|
-
When a generic `Query failed` appears, do not keep retrying the same payload. First call `kb_validate_upsert`, query or create missing endpoints, reduce the payload to required fields, and retry once. If it still fails, report the blocker.
|
|
237
|
-
|
|
238
|
-
## Small Behavior Fix Impact Evidence
|
|
239
|
-
|
|
240
|
-
For a behavior-changing source edit, first query for an existing requirement. If no requirement exists, create one for the corrected behavior. Model strict facts from that requirement when the invariant is contradiction-sensitive.
|
|
241
|
-
|
|
242
|
-
Do not link facts directly to tests. Facts describe invariants; requirements or scenarios are verified by executable tests. Use `REQ -> TEST` with `verified_by` or `TEST -> REQ` with `validates`, then link the requirement to facts with `constrains` and `requires_property`. Link touched production symbols to requirements with `implements` and to tests with `covered_by` when coverage evidence is needed.
|
|
243
|
-
|
|
244
|
-
Kibi operation writes do not automatically stage markdown evidence. When a staged hook requires impact evidence, ensure tracked documentation artifacts for requirements, facts, tests, symbol metadata, or coordinate refreshes are authored and staged alongside source changes.
|
|
245
|
-
|
|
246
|
-
## Sequential Upserts
|
|
247
|
-
|
|
248
|
-
Never fire `kb_upsert` calls in parallel. Execute them sequentially to avoid lock contention and ensure deterministic ordering, especially when creating chains of related entities.
|
|
249
|
-
|
|
250
|
-
## Checks
|
|
251
|
-
|
|
252
|
-
Run `kb_check` with specific rules during iteration for fast feedback. For normative requirement modeling, include `rules: ["rule-safety", "rule-verifiability", "semantic-completeness", "logic-coverage", "predicate-verifiability", "domain-contradictions"]`; add `required-fields` and `no-dangling-refs` after writes. Run a full `kb_check` without rule filters before declaring Kibi work complete.
|
|
253
|
-
|
|
254
|
-
The `domain-contradictions` rule detects conflicts between strict-lane facts linked to requirements. When a contradiction is found, the supported escape hatch is `supersedes`: create a new requirement that supersedes the old one, then link the new requirement to updated facts.
|
|
255
|
-
|
|
256
|
-
## Stale or Dirty KB Handling
|
|
257
|
-
|
|
258
|
-
Call `kb_status` when branch KB context may be stale or after switching context. Report freshness findings to the user rather than relying on outdated KB context. If `kb_status` indicates a schema migration is needed, ask the user or operator to handle it outside the agent session.
|
|
136
|
+
Decompose all atomic normative clauses into `claim_key`/`claim_text` entries in
|
|
137
|
+
`logic_claims`; human or agent review still confirms that the atomic clauses
|
|
138
|
+
exhaust the prose. Run `logic-coverage` and `domain-contradictions` after
|
|
139
|
+
modeling. Use `status: implemented` only as historical input; use a valid status
|
|
140
|
+
such as `closed`, add an `implemented` tag, and link evidence instead.
|
|
259
141
|
|
|
260
142
|
## Anti-Patterns and Remediation
|
|
261
143
|
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
| `relates_to` for strict modeling | Loses contradiction safety | Use `constrains` and `requires_property` instead |
|
|
272
|
-
| One fact for a compound requirement | Leaves untracked prose outside contradiction checks | Decompose all atomic clauses, preserve claim keys, and validate `logic_claims` with `logic-coverage` |
|
|
273
|
-
| Keeping stale `logic_claims` after prose changes | Makes the manifest disagree with the source ledger | Replace it atomically with exactly the current assertive keys while preserving unrelated metadata |
|
|
274
|
-
| Observation counted as coverage | Ambiguity or ontology gaps appear machine-checkable | Keep the claim unresolved until a strict or predicate ground fact exists |
|
|
275
|
-
| Relationship type used as predicate name | Confuses graph edges with ontology terms | Select a declared predicate schema and keep `requires_predicate` as the req -> fact edge |
|
|
276
|
-
| `status: implemented` on requirements | Not a valid lifecycle status | Use a valid status such as `closed`, add an `implemented` tag, and link evidence instead |
|
|
144
|
+
Reject reversed relationship direction, a Bug-as-flag record without a runtime
|
|
145
|
+
gate, direct KB-store edits, and a generic `strict kb_upsert.properties` field.
|
|
146
|
+
Keep symbol payloads minimal. When a generic `Query failed` appears, do not keep
|
|
147
|
+
retrying the same payload; inspect the typed error and `nextActions`.
|
|
148
|
+
|
|
149
|
+
Kibi may now author tracked Markdown/YAML evidence transactionally. The former
|
|
150
|
+
statement “Kibi operation writes do not automatically stage markdown evidence”
|
|
151
|
+
means Kibi writes do not Git-stage it: review and commit remain ordinary Git
|
|
152
|
+
workflows.
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# Branch lifecycle
|
|
2
|
+
|
|
3
|
+
Kibi attaches to the exact Git ref: `KIBI_BRANCH` when set, otherwise Git's
|
|
4
|
+
symbolic HEAD. Names are not normalized, and `main`, `master`, detached HEAD,
|
|
5
|
+
slash names, `@`, and Unicode refs remain distinct identities.
|
|
6
|
+
|
|
7
|
+
Compiled state lives under `.kb/branches/<sha256-hash>/branch.json`. The
|
|
8
|
+
manifest records the exact ref and hash; a mismatch is a hard attachment
|
|
9
|
+
failure. A missing store is compiled by `kibi sync` from the current checkout's
|
|
10
|
+
tracked sources. `branch ensure` may create only the empty identity fence; use
|
|
11
|
+
`kibi sync` before relying on compiled state. Kibi never copies another
|
|
12
|
+
branch's store and never chooses merge winners. Git owns merges; unresolved
|
|
13
|
+
conflicts in authored files block compilation.
|
|
14
|
+
|
|
15
|
+
Legacy literal-path stores are read-only compatibility attachments. Preview an
|
|
16
|
+
explicit migration with both identities, then apply it only with the exact
|
|
17
|
+
preview hash (`kibi branch migrate --from <old> --to <new> --apply
|
|
18
|
+
--approval-hash <preview-hash>`) while attached to the exact new ref. The
|
|
19
|
+
approval is mandatory and binds the source bytes and identities; do not infer a
|
|
20
|
+
rename from commits. For a legacy literal store on the current branch, `<old>`
|
|
21
|
+
and `<new>` must be the same exact identity. Every cross-identity pair is
|
|
22
|
+
refused, including `main` to `master`; migration changes only the storage
|
|
23
|
+
format from literal to hashed for the active exact branch. Deleted local branches may be quarantined for the
|
|
24
|
+
configured retention period; `branch restore --branch <exact-ref> --apply` is
|
|
25
|
+
reversible during retention and purge is explicit. Remote-only refs do not keep
|
|
26
|
+
a local compiled store alive.
|
|
27
|
+
|
|
28
|
+
If migration is interrupted, use the journal's exact recovery action:
|
|
29
|
+
`kibi branch migrate --recover-journal <id>` previews the deterministic
|
|
30
|
+
roll-forward or verified-backup restore, and `--apply` performs it. Do not
|
|
31
|
+
resolve the live branch attachment while the migration journal is ambiguous.
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# Existing Product KB Improvement
|
|
2
|
+
|
|
3
|
+
Use this resource when an existing product KB already has REQ → SCEN → TEST →
|
|
4
|
+
symbol traceability and the task is to add typed facts so normative claims are
|
|
5
|
+
queryable and contradiction-checkable.
|
|
6
|
+
|
|
7
|
+
Keep the original requirement prose readable. Facts add semantics; they do not
|
|
8
|
+
replace the requirement body. Lane choice, field names, and predicate routing
|
|
9
|
+
are in `resources/fact-lanes.md` and the Predicate-First workflow in
|
|
10
|
+
`resources/workflows.md`.
|
|
11
|
+
|
|
12
|
+
## Claim routing
|
|
13
|
+
|
|
14
|
+
| Claim type | Model as | Relationship |
|
|
15
|
+
| --- | --- | --- |
|
|
16
|
+
| Measurable normative property | `subject` + `property_value` | `constrains` + `requires_property` |
|
|
17
|
+
| Domain invariant or behavior relation | `predicate` | `requires_predicate` |
|
|
18
|
+
| Bug, workaround, or observed evidence | `observation` | usually `relates_to` |
|
|
19
|
+
| Process or governance note | `meta` | usually `relates_to` |
|
|
20
|
+
| Runtime or config gate | `flag` | `guards` |
|
|
21
|
+
|
|
22
|
+
Call `kb_semantic_advisor` on the complete requirement body before encoding a
|
|
23
|
+
clause. Apply a predicate only when a returned schema fits; otherwise leave an
|
|
24
|
+
ontology-gap observation.
|
|
25
|
+
|
|
26
|
+
## Source and RDF reconciliation
|
|
27
|
+
|
|
28
|
+
After each approved write:
|
|
29
|
+
|
|
30
|
+
1. Query the exact fact IDs.
|
|
31
|
+
2. Confirm `fact_kind`, `predicate_name` or `property_key`, and `canonical_key`
|
|
32
|
+
appear through Kibi tools, not only in authored Markdown.
|
|
33
|
+
3. Graph from the requirement with `requires_predicate` and `requires_property`.
|
|
34
|
+
4. If Markdown has predicate or property fields but queries do not, report a
|
|
35
|
+
sync or import issue before creating duplicates.
|
|
36
|
+
|
|
37
|
+
Treat active tool query results as operational truth. Authored Markdown is
|
|
38
|
+
evidence of intent, not proof of active KB state.
|
|
@@ -1,44 +1,42 @@
|
|
|
1
1
|
# Kibi Operation Access Catalog
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
|
8
|
-
|
|
9
|
-
| `
|
|
10
|
-
| `
|
|
11
|
-
| `
|
|
12
|
-
| `
|
|
13
|
-
| `
|
|
14
|
-
| `
|
|
15
|
-
| `
|
|
16
|
-
| `
|
|
17
|
-
| `
|
|
18
|
-
| `
|
|
19
|
-
| `
|
|
20
|
-
| `
|
|
21
|
-
| `
|
|
22
|
-
| `
|
|
23
|
-
| `
|
|
24
|
-
| `
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
3
|
+
Generated from the public `OperationSpec` catalog. CLI JSON and MCP structured
|
|
4
|
+
content use the same `KibiResult` envelope (protocol 1); result data is versioned
|
|
5
|
+
per operation. Effects are authoritative for mutability and adapter annotations.
|
|
6
|
+
|
|
7
|
+
| MCP tool name | CLI route | Input mode | Mutability | Requires Prolog | Effects | Interface | Result version | Destructive | Retry safety | Open-world | Output schema |
|
|
8
|
+
|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
9
|
+
| `kb_skills_list` | `skills-list` | --input JSON | read | no | local-read | peer; capability-selected | kibi.kb_skills_list.v1 | no | safe | no | yes |
|
|
10
|
+
| `kb_skills_load` | `skills-load` | --input JSON | read | no | local-read | peer; capability-selected | kibi.kb_skills_load.v1 | no | safe | no | yes |
|
|
11
|
+
| `kb_skills_read` | `skills-read` | --input JSON | read | no | local-read | peer; capability-selected | kibi.kb_skills_read.v1 | no | safe | no | yes |
|
|
12
|
+
| `kb_query` | `query` | --input JSON or flags | read | yes | kb-read | peer; capability-selected | kibi.kb_query.v1 | no | safe | no | yes |
|
|
13
|
+
| `kb_search` | `search` | --input JSON or flags | read | yes | kb-read | peer; capability-selected | kibi.kb_search.v1 | no | safe | no | yes |
|
|
14
|
+
| `kb_status` | `status` | --input JSON or flags | read | no | kb-read, workspace-read | peer; capability-selected | kibi.kb_status.v1 | no | safe | no | yes |
|
|
15
|
+
| `kb_find_gaps` | `find-gaps` | --input JSON or flags | read | yes | kb-read | peer; capability-selected | kibi.kb_find_gaps.v1 | no | safe | no | yes |
|
|
16
|
+
| `kb_coverage` | `coverage` | --input JSON or flags | read | yes | kb-read | peer; capability-selected | kibi.kb_coverage.v1 | no | safe | no | yes |
|
|
17
|
+
| `kb_graph` | `graph` | --input JSON or flags | read | yes | kb-read | peer; capability-selected | kibi.kb_graph.v1 | no | safe | no | yes |
|
|
18
|
+
| `kb_semantic_advisor` | `semantic-advisor` | --input JSON | read | no | local-read | peer; capability-selected | kibi.kb_semantic_advisor.v1 | no | safe | no | yes |
|
|
19
|
+
| `kb_model_requirement` | `model-requirement` | --input JSON | read | yes | kb-read | peer; capability-selected | kibi.kb_model_requirement.v1 | no | safe | no | yes |
|
|
20
|
+
| `kb_suggest_predicates` | `suggest-predicates` | --input JSON | read | yes | kb-read | peer; capability-selected | kibi.kb_suggest_predicates.v1 | no | safe | no | yes |
|
|
21
|
+
| `kb_plan_bootstrap` | `plan-bootstrap` | --input JSON | read | no | workspace-read | peer; capability-selected | kibi.kb_plan_bootstrap.v1 | no | safe | no | yes |
|
|
22
|
+
| `kb_validate_upsert` | `validate-upsert` | --input JSON | read | yes | kb-read | peer; capability-selected | kibi.kb_validate_upsert.v1 | no | safe | no | yes |
|
|
23
|
+
| `kb_upsert` | `upsert` | --input JSON | write | yes | kb-write, workspace-write | peer; capability-selected | kibi.kb_upsert.v1 | yes | unsafe | no | yes |
|
|
24
|
+
| `kb_delete` | `delete` | --input JSON | write | yes | kb-write, workspace-write | peer; capability-selected | kibi.kb_delete.v1 | yes | unsafe | no | yes |
|
|
25
|
+
| `kb_check` | `check` | --input JSON or flags | read | yes | kb-read, workspace-read | peer; capability-selected | kibi.kb_check.v1 | no | safe | no | yes |
|
|
26
|
+
| `kb_sparql_remote` | `sparql-remote` | --input JSON | read | no | network-read | peer; capability-selected | kibi.kb_sparql_remote.v1 | no | safe | yes | yes |
|
|
27
|
+
| `kb_compile_intent` | `compile-intent` | --input JSON | read | yes | kb-read, workspace-read | peer; capability-selected | kibi.kb_compile_intent.v1 | no | safe | no | yes |
|
|
28
|
+
| `kb_apply_plan` | `apply-plan` | --input JSON | write | yes | kb-read, kb-write, workspace-read, workspace-write | peer; capability-selected | kibi.kb_apply_plan.v1 | yes | unsafe | no | yes |
|
|
29
|
+
| `kb_ingest_verification` | `ingest-verification` | --input JSON | write | yes | kb-read, kb-write, workspace-read | peer; capability-selected | kibi.kb_ingest_verification.v1 | yes | unsafe | no | yes |
|
|
30
|
+
|
|
31
|
+
## JSON execution recipe
|
|
32
|
+
|
|
33
|
+
Use a trusted project-local, non-installing runner. Stdin contains one UTF-8 JSON
|
|
34
|
+
object and stdout contains the versioned result envelope:
|
|
33
35
|
|
|
34
36
|
```bash
|
|
35
|
-
|
|
37
|
+
printf '%s\n' '{"query":"authentication","limit":10}' | npx --no-install kibi search --input -
|
|
36
38
|
```
|
|
37
39
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
## Telemetry handling
|
|
43
|
-
|
|
44
|
-
`_diagnostic_telemetry` is adapter metadata, not business input. In CLI JSON mode the adapter may validate and extract it for CLI usage logging before shared execution. In MCP diagnostic mode the adapter enforces its configured telemetry requirement and strips the field before shared execution. Never copy telemetry into entity properties or operation business input.
|
|
40
|
+
`_diagnostic_telemetry` is adapter metadata, not business input. Never copy it
|
|
41
|
+
into entity properties. On `committed_with_repairs`, follow typed required
|
|
42
|
+
`nextActions` and do not retry the original mutation.
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
| `executable_for` | symbol -> test | Test symbol (code) is executable code for a test entity |
|
|
12
12
|
| `constrains` | req -> fact(subject) | Requirement constrains a strict-lane domain fact |
|
|
13
13
|
| `requires_property` | req -> fact(property_value) | Requirement requires a specific property value fact |
|
|
14
|
-
| `supersedes` |
|
|
14
|
+
| `supersedes` | new-req -> old-req | New requirement formally replaces an old requirement |
|
|
15
15
|
| `covered_by` | symbol -> test | Production symbol has test coverage evidence |
|
|
16
16
|
|
|
17
17
|
## Valid Payload Examples
|
|
@@ -76,8 +76,8 @@ relationships:
|
|
|
76
76
|
```yaml
|
|
77
77
|
relationships:
|
|
78
78
|
- type: supersedes
|
|
79
|
-
from: REQ-001
|
|
80
|
-
to: REQ-001
|
|
79
|
+
from: REQ-001-v2
|
|
80
|
+
to: REQ-001
|
|
81
81
|
```
|
|
82
82
|
|
|
83
83
|
### covered_by
|