kibi-cli 2.3.0 → 2.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli-json-command.d.ts +6 -0
- package/dist/cli-json-command.d.ts.map +1 -1
- package/dist/cli-json-command.js +39 -11
- package/dist/cli-operation-loader.d.ts.map +1 -1
- package/dist/cli-operation-loader.js +7 -0
- package/dist/cli-operation-metadata.d.ts +13 -5
- package/dist/cli-operation-metadata.d.ts.map +1 -1
- package/dist/cli-operation-metadata.js +15 -5
- package/dist/cli-protocol.d.ts +14 -0
- package/dist/cli-protocol.d.ts.map +1 -1
- package/dist/cli-protocol.js +31 -2
- package/dist/cli-register-maintenance.d.ts.map +1 -1
- package/dist/cli-register-maintenance.js +7 -0
- package/dist/cli-register-proof.d.ts.map +1 -1
- package/dist/cli-register-proof.js +13 -0
- package/dist/commands/check.d.ts.map +1 -1
- package/dist/commands/check.js +11 -2
- package/dist/commands/discovery-shared.d.ts.map +1 -1
- package/dist/commands/discovery-shared.js +8 -2
- package/dist/commands/engine.d.ts.map +1 -1
- package/dist/commands/engine.js +4 -2
- package/dist/commands/gc.d.ts.map +1 -1
- package/dist/commands/gc.js +7 -0
- package/dist/commands/init-helpers.d.ts.map +1 -1
- package/dist/commands/init-helpers.js +0 -1
- package/dist/commands/merge-driver.d.ts +31 -0
- package/dist/commands/merge-driver.d.ts.map +1 -0
- package/dist/commands/merge-driver.js +268 -0
- package/dist/commands/migrate.d.ts.map +1 -1
- package/dist/commands/migrate.js +281 -14
- package/dist/commands/proof-compact.d.ts +9 -0
- package/dist/commands/proof-compact.d.ts.map +1 -0
- package/dist/commands/proof-compact.js +58 -0
- package/dist/commands/prove.d.ts +38 -0
- package/dist/commands/prove.d.ts.map +1 -1
- package/dist/commands/prove.js +222 -47
- package/dist/commands/sync/persistence.d.ts.map +1 -1
- package/dist/commands/sync/persistence.js +61 -16
- package/dist/commands/sync.d.ts +8 -0
- package/dist/commands/sync.d.ts.map +1 -1
- package/dist/commands/sync.js +42 -16
- package/dist/diagnostics.js +1 -1
- package/dist/engine-limits.d.ts +74 -0
- package/dist/engine-limits.d.ts.map +1 -0
- package/dist/engine-limits.js +201 -0
- package/dist/engine.d.ts +10 -0
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js +57 -9
- package/dist/extractors/manifest.d.ts +8 -0
- package/dist/extractors/manifest.d.ts.map +1 -1
- package/dist/extractors/manifest.js +34 -5
- package/dist/extractors/markdown.d.ts +8 -0
- package/dist/extractors/markdown.d.ts.map +1 -1
- package/dist/extractors/markdown.js +57 -0
- package/dist/extractors/relationships.d.ts.map +1 -1
- package/dist/extractors/relationships.js +2 -0
- package/dist/intent-search.d.ts +4 -1
- package/dist/intent-search.d.ts.map +1 -1
- package/dist/intent-search.js +186 -33
- package/dist/operations/bootstrap/candidate-helpers.d.ts.map +1 -1
- package/dist/operations/bootstrap/candidate-helpers.js +8 -1
- package/dist/operations/bootstrap/candidates.d.ts.map +1 -1
- package/dist/operations/bootstrap/candidates.js +55 -39
- package/dist/operations/bootstrap/discovery.js +1 -1
- package/dist/operations/bootstrap/generate.d.ts +2 -0
- package/dist/operations/bootstrap/generate.d.ts.map +1 -1
- package/dist/operations/bootstrap/generate.js +107 -37
- package/dist/operations/bootstrap/guidance-actions.d.ts.map +1 -1
- package/dist/operations/bootstrap/guidance-actions.js +3 -0
- package/dist/operations/bootstrap/guidance.d.ts.map +1 -1
- package/dist/operations/bootstrap/guidance.js +7 -1
- package/dist/operations/bootstrap/intent-claims.d.ts +17 -0
- package/dist/operations/bootstrap/intent-claims.d.ts.map +1 -0
- package/dist/operations/bootstrap/intent-claims.js +103 -0
- package/dist/operations/bootstrap/markdown-candidates.d.ts +2 -0
- package/dist/operations/bootstrap/markdown-candidates.d.ts.map +1 -1
- package/dist/operations/bootstrap/markdown-candidates.js +32 -10
- package/dist/operations/bootstrap/presentation.d.ts +2 -0
- package/dist/operations/bootstrap/presentation.d.ts.map +1 -1
- package/dist/operations/bootstrap/presentation.js +66 -3
- package/dist/operations/bootstrap/requirement-claims.d.ts +1 -0
- package/dist/operations/bootstrap/requirement-claims.d.ts.map +1 -1
- package/dist/operations/bootstrap/requirement-claims.js +13 -1
- package/dist/operations/bootstrap/types.d.ts +28 -0
- package/dist/operations/bootstrap/types.d.ts.map +1 -1
- package/dist/operations/bootstrap/types.js +16 -0
- package/dist/operations/bootstrap/validation.d.ts +4 -0
- package/dist/operations/bootstrap/validation.d.ts.map +1 -0
- package/dist/operations/bootstrap/validation.js +20 -0
- package/dist/operations/migration/inventory-rederive.d.ts +81 -0
- package/dist/operations/migration/inventory-rederive.d.ts.map +1 -0
- package/dist/operations/migration/inventory-rederive.js +484 -0
- package/dist/operations/migration/kb-sources.d.ts +53 -0
- package/dist/operations/migration/kb-sources.d.ts.map +1 -0
- package/dist/operations/migration/kb-sources.js +233 -0
- package/dist/operations/migration/origin-backfill.d.ts +39 -0
- package/dist/operations/migration/origin-backfill.d.ts.map +1 -0
- package/dist/operations/migration/origin-backfill.js +164 -0
- package/dist/operations/migration/polarity-values.d.ts +10 -0
- package/dist/operations/migration/polarity-values.d.ts.map +1 -0
- package/dist/operations/migration/polarity-values.js +60 -0
- package/dist/operations/migration/schema6.d.ts +59 -0
- package/dist/operations/migration/schema6.d.ts.map +1 -0
- package/dist/operations/migration/schema6.js +379 -0
- package/dist/operations/migration/source-paths.d.ts +131 -0
- package/dist/operations/migration/source-paths.d.ts.map +1 -0
- package/dist/operations/migration/source-paths.js +308 -0
- package/dist/operations/migration/superseded-closure.d.ts +54 -0
- package/dist/operations/migration/superseded-closure.d.ts.map +1 -0
- package/dist/operations/migration/superseded-closure.js +187 -0
- package/dist/operations/modeling/logic-modeling.d.ts.map +1 -1
- package/dist/operations/modeling/logic-modeling.js +3 -5
- package/dist/operations/modeling/model-requirement.d.ts.map +1 -1
- package/dist/operations/modeling/model-requirement.js +225 -67
- package/dist/operations/mutation/contradictions.d.ts +16 -0
- package/dist/operations/mutation/contradictions.d.ts.map +1 -1
- package/dist/operations/mutation/contradictions.js +32 -0
- package/dist/operations/mutation/delete.d.ts.map +1 -1
- package/dist/operations/mutation/delete.js +15 -7
- package/dist/operations/mutation/origin.d.ts +21 -0
- package/dist/operations/mutation/origin.d.ts.map +1 -0
- package/dist/operations/mutation/origin.js +78 -0
- package/dist/operations/mutation/plan-apply-journal.d.ts +182 -0
- package/dist/operations/mutation/plan-apply-journal.d.ts.map +1 -0
- package/dist/operations/mutation/plan-apply-journal.js +613 -0
- package/dist/operations/mutation/predicate-vocabulary-guard.d.ts +3 -1
- package/dist/operations/mutation/predicate-vocabulary-guard.d.ts.map +1 -1
- package/dist/operations/mutation/predicate-vocabulary-guard.js +13 -2
- package/dist/operations/mutation/relationships.d.ts +5 -5
- package/dist/operations/mutation/relationships.d.ts.map +1 -1
- package/dist/operations/mutation/relationships.js +31 -11
- package/dist/operations/mutation/serialization.d.ts.map +1 -1
- package/dist/operations/mutation/serialization.js +3 -1
- package/dist/operations/mutation/source-authoring.d.ts +6 -0
- package/dist/operations/mutation/source-authoring.d.ts.map +1 -1
- package/dist/operations/mutation/source-authoring.js +7 -1
- package/dist/operations/mutation/symbol-refresh.d.ts.map +1 -1
- package/dist/operations/mutation/symbol-refresh.js +4 -1
- package/dist/operations/mutation/types.d.ts +14 -0
- package/dist/operations/mutation/types.d.ts.map +1 -1
- package/dist/operations/mutation/upsert.d.ts +30 -3
- package/dist/operations/mutation/upsert.d.ts.map +1 -1
- package/dist/operations/mutation/upsert.js +105 -35
- package/dist/operations/mutation/validate-upsert.d.ts +6 -0
- package/dist/operations/mutation/validate-upsert.d.ts.map +1 -1
- package/dist/operations/mutation/validate-upsert.js +34 -30
- package/dist/operations/planning/apply-plan.d.ts.map +1 -1
- package/dist/operations/planning/apply-plan.js +751 -144
- package/dist/operations/planning/compile-intent.d.ts +34 -1
- package/dist/operations/planning/compile-intent.d.ts.map +1 -1
- package/dist/operations/planning/compile-intent.js +314 -98
- package/dist/operations/proof/code-scope.d.ts +28 -0
- package/dist/operations/proof/code-scope.d.ts.map +1 -1
- package/dist/operations/proof/code-scope.js +72 -0
- package/dist/operations/proof/compact-receipts.d.ts +49 -0
- package/dist/operations/proof/compact-receipts.d.ts.map +1 -0
- package/dist/operations/proof/compact-receipts.js +160 -0
- package/dist/operations/proof/ingest-proof.d.ts +2 -0
- package/dist/operations/proof/ingest-proof.d.ts.map +1 -1
- package/dist/operations/proof/ingest-proof.js +44 -23
- package/dist/operations/proof/prune-receipts.d.ts.map +1 -1
- package/dist/operations/proof/prune-receipts.js +5 -9
- package/dist/operations/proof/receipt-compaction.d.ts +48 -0
- package/dist/operations/proof/receipt-compaction.d.ts.map +1 -0
- package/dist/operations/proof/receipt-compaction.js +121 -0
- package/dist/operations/semantic-advisor/analysis-receipt.d.ts.map +1 -1
- package/dist/operations/semantic-advisor/analysis-receipt.js +12 -1
- package/dist/operations/semantic-advisor/analyze-prose.d.ts +2 -1
- package/dist/operations/semantic-advisor/analyze-prose.d.ts.map +1 -1
- package/dist/operations/semantic-advisor/analyze-prose.js +51 -5
- package/dist/operations/semantic-advisor/clauses.d.ts +1 -0
- package/dist/operations/semantic-advisor/clauses.d.ts.map +1 -1
- package/dist/operations/semantic-advisor/clauses.js +11 -1
- package/dist/operations/semantic-advisor/conditional-rules.d.ts +33 -0
- package/dist/operations/semantic-advisor/conditional-rules.d.ts.map +1 -0
- package/dist/operations/semantic-advisor/conditional-rules.js +262 -0
- package/dist/operations/semantic-advisor/ingestion-boundary.d.ts +3 -1
- package/dist/operations/semantic-advisor/ingestion-boundary.d.ts.map +1 -1
- package/dist/operations/semantic-advisor/ingestion-boundary.js +14 -6
- package/dist/operations/semantic-advisor/plugin-orchestration.js +1 -1
- package/dist/prolog/codec.d.ts.map +1 -1
- package/dist/prolog/codec.js +2 -1
- package/dist/prolog.d.ts +9 -0
- package/dist/prolog.d.ts.map +1 -1
- package/dist/prolog.js +56 -10
- package/dist/proof/command-test-report.d.ts +74 -0
- package/dist/proof/command-test-report.d.ts.map +1 -0
- package/dist/proof/command-test-report.js +206 -0
- package/dist/public/branch-resolver.d.ts +1 -0
- package/dist/public/branch-resolver.d.ts.map +1 -1
- package/dist/public/branch-resolver.js +1 -0
- package/dist/public/diagnostic-usage.d.ts +14 -0
- package/dist/public/diagnostic-usage.d.ts.map +1 -1
- package/dist/public/diagnostic-usage.js +55 -1
- package/dist/public/entity-origin.d.ts +69 -0
- package/dist/public/entity-origin.d.ts.map +1 -0
- package/dist/public/entity-origin.js +142 -0
- package/dist/public/impact/full-kb-quality.d.ts.map +1 -1
- package/dist/public/impact/full-kb-quality.js +1 -0
- package/dist/public/impact/requirement-quality.js +1 -1
- package/dist/public/operations/catalog.d.ts +203 -20
- package/dist/public/operations/catalog.d.ts.map +1 -1
- package/dist/public/operations/catalog.js +3 -0
- package/dist/public/operations/check-executor.d.ts.map +1 -1
- package/dist/public/operations/check-executor.js +8 -0
- package/dist/public/operations/contracts.d.ts +0 -5
- package/dist/public/operations/contracts.d.ts.map +1 -1
- package/dist/public/operations/contracts.js +63 -14
- package/dist/public/operations/discovery-entities.d.ts +15 -0
- package/dist/public/operations/discovery-entities.d.ts.map +1 -1
- package/dist/public/operations/discovery-entities.js +59 -0
- package/dist/public/operations/discovery-executors.d.ts +6 -1
- package/dist/public/operations/discovery-executors.d.ts.map +1 -1
- package/dist/public/operations/discovery-executors.js +65 -6
- package/dist/public/operations/index.d.ts +1 -0
- package/dist/public/operations/index.d.ts.map +1 -1
- package/dist/public/operations/index.js +1 -0
- package/dist/public/operations/migration-plan.d.ts +5 -0
- package/dist/public/operations/migration-plan.d.ts.map +1 -1
- package/dist/public/operations/migration-plan.js +26 -1
- package/dist/public/operations/node-ports.d.ts.map +1 -1
- package/dist/public/operations/node-ports.js +24 -3
- package/dist/public/operations/origin-review.d.ts +51 -0
- package/dist/public/operations/origin-review.d.ts.map +1 -0
- package/dist/public/operations/origin-review.js +307 -0
- package/dist/public/operations/predicate-schema-conformance.js +1 -1
- package/dist/public/operations/repair-plan.d.ts.map +1 -1
- package/dist/public/operations/repair-plan.js +4 -0
- package/dist/public/operations/result-envelope.d.ts.map +1 -1
- package/dist/public/operations/result-envelope.js +17 -5
- package/dist/public/operations/runtime-types.d.ts +9 -0
- package/dist/public/operations/runtime-types.d.ts.map +1 -1
- package/dist/public/operations/schema6-check-actions.d.ts +127 -0
- package/dist/public/operations/schema6-check-actions.d.ts.map +1 -0
- package/dist/public/operations/schema6-check-actions.js +575 -0
- package/dist/public/operations/source-path-dangling.d.ts +17 -0
- package/dist/public/operations/source-path-dangling.d.ts.map +1 -0
- package/dist/public/operations/source-path-dangling.js +66 -0
- package/dist/public/operations/specs/bootstrap.d.ts +73 -1
- package/dist/public/operations/specs/bootstrap.d.ts.map +1 -1
- package/dist/public/operations/specs/bootstrap.js +66 -1
- package/dist/public/operations/specs/check-rules.generated.d.ts +1 -1
- package/dist/public/operations/specs/check-rules.generated.d.ts.map +1 -1
- package/dist/public/operations/specs/check-rules.generated.js +15 -1
- package/dist/public/operations/specs/check.d.ts +2 -2
- package/dist/public/operations/specs/check.js +1 -1
- package/dist/public/operations/specs/composite.d.ts +351 -0
- package/dist/public/operations/specs/composite.d.ts.map +1 -0
- package/dist/public/operations/specs/composite.js +96 -0
- package/dist/public/operations/specs/discovery.d.ts +8 -3
- package/dist/public/operations/specs/discovery.d.ts.map +1 -1
- package/dist/public/operations/specs/discovery.js +8 -3
- package/dist/public/operations/specs/modeling.d.ts +2 -2
- package/dist/public/operations/specs/modeling.js +2 -2
- package/dist/public/operations/specs/mutation-schemas.d.ts +73 -8
- package/dist/public/operations/specs/mutation-schemas.d.ts.map +1 -1
- package/dist/public/operations/specs/mutation-schemas.js +43 -7
- package/dist/public/operations/specs/mutation.d.ts +1 -1
- package/dist/public/operations/specs/mutation.js +1 -1
- package/dist/public/operations/specs/planning.d.ts +2 -2
- package/dist/public/operations/specs/planning.js +4 -4
- package/dist/public/operations/specs/reporting.d.ts.map +1 -1
- package/dist/public/operations/specs/reporting.js +13 -26
- package/dist/public/operations/specs/upsert.d.ts +79 -9
- package/dist/public/operations/specs/upsert.d.ts.map +1 -1
- package/dist/public/operations/specs/upsert.js +6 -1
- package/dist/public/operations/symbol-repair-plan.d.ts.map +1 -1
- package/dist/public/operations/symbol-repair-plan.js +3 -1
- package/dist/public/operations/types.d.ts +1 -1
- package/dist/public/operations/types.d.ts.map +1 -1
- package/dist/public/proof-receipt.d.ts +1 -0
- package/dist/public/proof-receipt.d.ts.map +1 -1
- package/dist/public/schemas/entity.d.ts.map +1 -1
- package/dist/public/schemas/entity.js +52 -0
- package/dist/public/schemas/relationship.d.ts.map +1 -1
- package/dist/public/schemas/relationship.js +2 -0
- package/dist/public/skills/kibi-bootstrap/SKILL.md +52 -11
- package/dist/public/skills/kibi-bootstrap/resources/bootstrap.md +12 -1
- package/dist/public/skills/kibi-usage/SKILL.md +82 -18
- package/dist/public/skills/kibi-usage/resources/fact-lanes.md +5 -5
- package/dist/public/skills/kibi-usage/resources/kb-improvement.md +1 -1
- package/dist/public/skills/kibi-usage/resources/logic-ir.md +2 -2
- package/dist/public/skills/kibi-usage/resources/operation-access.md +29 -1
- package/dist/public/skills/kibi-usage/resources/ui-requirements.md +4 -4
- package/dist/public/skills/kibi-usage/resources/workflows.md +42 -25
- package/dist/public/telemetry-acceptance.d.ts +64 -0
- package/dist/public/telemetry-acceptance.d.ts.map +1 -1
- package/dist/public/telemetry-acceptance.js +143 -7
- package/dist/public/telemetry-remediation.d.ts.map +1 -1
- package/dist/public/telemetry-remediation.js +26 -10
- package/dist/relationships/shards.d.ts +13 -0
- package/dist/relationships/shards.d.ts.map +1 -1
- package/dist/relationships/shards.js +54 -28
- package/dist/runtime/cli-runtime.d.ts.map +1 -1
- package/dist/runtime/cli-runtime.js +44 -3
- package/dist/runtime/detached-snapshot.d.ts +38 -0
- package/dist/runtime/detached-snapshot.d.ts.map +1 -0
- package/dist/runtime/detached-snapshot.js +92 -0
- package/dist/schemas/entity.schema.json +122 -0
- package/dist/search-answer.d.ts +157 -0
- package/dist/search-answer.d.ts.map +1 -0
- package/dist/search-answer.js +846 -0
- package/dist/traceability/impact-knowledge.d.ts.map +1 -1
- package/dist/traceability/impact-knowledge.js +7 -0
- package/dist/traceability/symbol-extract.js +3 -3
- package/dist/traceability/temp-kb.d.ts.map +1 -1
- package/dist/traceability/temp-kb.js +12 -0
- package/dist/types/entities.d.ts +13 -0
- package/dist/types/entities.d.ts.map +1 -1
- package/dist/types/relationships.d.ts +1 -1
- package/dist/types/relationships.d.ts.map +1 -1
- package/dist/utils/branch-resolver.d.ts +37 -1
- package/dist/utils/branch-resolver.d.ts.map +1 -1
- package/dist/utils/branch-resolver.js +130 -3
- package/dist/utils/repo-relative-path.d.ts +18 -0
- package/dist/utils/repo-relative-path.d.ts.map +1 -0
- package/dist/utils/repo-relative-path.js +58 -0
- package/dist/utils/rule-registry.generated.d.ts +75 -3
- package/dist/utils/rule-registry.generated.d.ts.map +1 -1
- package/dist/utils/rule-registry.generated.js +89 -3
- package/dist/utils/schema-version.d.ts +1 -1
- package/dist/utils/schema-version.d.ts.map +1 -1
- package/dist/utils/schema-version.js +4 -3
- package/dist/utils/strict-modeling.d.ts +1 -1
- package/dist/utils/strict-modeling.d.ts.map +1 -1
- package/dist/utils/strict-modeling.js +23 -3
- package/package.json +3 -3
- package/schema/entities.pl +22 -0
- package/schema/relationships.pl +14 -0
- package/schema/validation.pl +45 -1
- package/src/public/branch-resolver.ts +1 -0
- package/src/public/diagnostic-usage.ts +59 -1
- package/src/public/entity-origin.ts +175 -0
- package/src/public/impact/full-kb-quality.ts +1 -0
- package/src/public/impact/requirement-quality.ts +1 -1
- package/src/public/operations/catalog.ts +3 -0
- package/src/public/operations/check-executor.ts +15 -0
- package/src/public/operations/contracts.ts +75 -15
- package/src/public/operations/discovery-entities.ts +74 -0
- package/src/public/operations/discovery-executors.ts +88 -10
- package/src/public/operations/index.ts +1 -0
- package/src/public/operations/migration-plan.ts +30 -1
- package/src/public/operations/node-ports.ts +24 -3
- package/src/public/operations/origin-review.ts +375 -0
- package/src/public/operations/predicate-schema-conformance.ts +1 -1
- package/src/public/operations/repair-plan.ts +4 -0
- package/src/public/operations/result-envelope.ts +18 -6
- package/src/public/operations/runtime-types.ts +9 -0
- package/src/public/operations/schema6-check-actions.ts +699 -0
- package/src/public/operations/source-path-dangling.ts +81 -0
- package/src/public/operations/specs/bootstrap.ts +78 -4
- package/src/public/operations/specs/check-rules.generated.ts +15 -1
- package/src/public/operations/specs/check.ts +1 -1
- package/src/public/operations/specs/composite.ts +141 -0
- package/src/public/operations/specs/discovery.ts +9 -3
- package/src/public/operations/specs/modeling.ts +2 -2
- package/src/public/operations/specs/mutation-schemas.ts +49 -7
- package/src/public/operations/specs/mutation.ts +1 -1
- package/src/public/operations/specs/planning.ts +4 -4
- package/src/public/operations/specs/reporting.ts +13 -38
- package/src/public/operations/specs/upsert.ts +7 -1
- package/src/public/operations/symbol-repair-plan.ts +3 -1
- package/src/public/operations/types.ts +2 -0
- package/src/public/proof-receipt.ts +1 -0
- package/src/public/schemas/entity.ts +57 -0
- package/src/public/schemas/relationship.ts +2 -0
- package/src/public/skills/kibi-bootstrap/SKILL.md +52 -11
- package/src/public/skills/kibi-bootstrap/resources/bootstrap.md +12 -1
- package/src/public/skills/kibi-usage/SKILL.md +82 -18
- package/src/public/skills/kibi-usage/resources/fact-lanes.md +5 -5
- package/src/public/skills/kibi-usage/resources/kb-improvement.md +1 -1
- package/src/public/skills/kibi-usage/resources/logic-ir.md +2 -2
- package/src/public/skills/kibi-usage/resources/operation-access.md +29 -1
- package/src/public/skills/kibi-usage/resources/ui-requirements.md +4 -4
- package/src/public/skills/kibi-usage/resources/workflows.md +42 -25
- package/src/public/telemetry-acceptance-types.d.ts +4 -1
- package/src/public/telemetry-acceptance.ts +210 -7
- package/src/public/telemetry-remediation.ts +39 -10
- package/src/schemas/entity.schema.json +122 -0
- package/src/schemas/relationship.schema.json +2 -0
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
id: kibi-usage
|
|
3
3
|
name: Kibi Usage
|
|
4
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.
|
|
5
|
+
version: 2.3.1
|
|
6
6
|
kibiCompatibility: ">=1.0.0"
|
|
7
7
|
tags:
|
|
8
8
|
- kibi
|
|
@@ -47,6 +47,18 @@ Use whichever capability is visible and approved. The surfaces are equal peers:
|
|
|
47
47
|
Hosts may expose prefixed identifiers such as `kibi_kb_search`,
|
|
48
48
|
`kibi_kb_query`, and `kibi_kb_upsert`; map them to the canonical MCP names.
|
|
49
49
|
|
|
50
|
+
The MCP server keeps its tool list short. Load skills with `kb_skills`
|
|
51
|
+
(`action: "list" | "load" | "read"`; CLI `kibi skill` or `kibi skills
|
|
52
|
+
list|load|read`). Model prose with `kb_model` (`mode: "analyze"` for the
|
|
53
|
+
semantic advisor, `"requirement"` for strict claims, `"predicates"` for
|
|
54
|
+
ontology predicates; CLI `kibi model` or `semantic-advisor`,
|
|
55
|
+
`model-requirement`, `suggest-predicates`). Preflight a write with
|
|
56
|
+
`kb_upsert` plus `dryRun: true` (CLI `upsert` with `"dryRun": true` or
|
|
57
|
+
`validate-upsert`); it validates and writes nothing. Result payloads still name
|
|
58
|
+
catalog operations such as `kb_model_requirement` or `kb_validate_upsert` in
|
|
59
|
+
`recommended_tools` and repair steps; translate them with the list in
|
|
60
|
+
`resources/operation-access.md`.
|
|
61
|
+
|
|
50
62
|
The CLI JSON route accepts the same business object as MCP:
|
|
51
63
|
|
|
52
64
|
```bash
|
|
@@ -56,16 +68,36 @@ printf '%s\n' '{"query":"checkout","limit":10}' | npx --no-install kibi search -
|
|
|
56
68
|
Read `resources/operation-access.md` for the route, result version, effects,
|
|
57
69
|
mutability, and Prolog requirements of each operation.
|
|
58
70
|
|
|
71
|
+
## Working in a git worktree or another directory
|
|
72
|
+
|
|
73
|
+
Kibi MCP servers start in one project and answer from its knowledge base.
|
|
74
|
+
Every Kibi MCP tool accepts `workspaceRoot`: when your working directory is not
|
|
75
|
+
the project the server started in (a git worktree, a sibling checkout), pass
|
|
76
|
+
your working directory as `workspaceRoot` on every call. Host plugins with
|
|
77
|
+
pre-tool hooks add it for you. The server answers from that workspace when it
|
|
78
|
+
is a worktree of the same repository or lies under the client's MCP roots.
|
|
79
|
+
|
|
80
|
+
If a result carries a `workspace_mismatch` diagnostic, the answer came from a
|
|
81
|
+
different workspace than the one you asked for; its `detail.reason` says why.
|
|
82
|
+
Use the CLI from your working directory instead: `npx --no-install kibi ...`
|
|
83
|
+
runs where you are and needs no `workspaceRoot`.
|
|
84
|
+
|
|
59
85
|
## Safe workflow
|
|
60
86
|
|
|
61
87
|
1. Always discover before you mutate: start with `kb_search`, then exact-filter with `kb_query`. Use
|
|
62
|
-
`kb_status` when branch or freshness confidence matters. `kb_search`
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
88
|
+
`kb_status` when branch or freshness confidence matters. `kb_search`
|
|
89
|
+
defaults to intent ranking, so you can ask it a question ("what governs
|
|
90
|
+
checkout rounding?"); its `data.answer` layer lists the current governing
|
|
91
|
+
requirements with linked facts, scenarios, tests, and ADRs, separates
|
|
92
|
+
superseded requirements, and labels observations as notes. Each governing
|
|
93
|
+
requirement also carries a `verdict` (`contradiction`, `infeasible`,
|
|
94
|
+
`unknown`, or `none`, which is not proof), the `exceptions` that exempt it,
|
|
95
|
+
and the `unknowns` the checks could not decide. Those links and verdicts are
|
|
96
|
+
discovery, not proof. Pass `sourceLocations` before changing a source file,
|
|
97
|
+
and `rankingMode: "legacy"` for literal identifier lookups. See
|
|
98
|
+
`resources/workflows.md` for the mode recipe.
|
|
99
|
+
2. Resolve genuine ambiguity with the human; use `kb_model` for deterministic
|
|
100
|
+
interpretation and typed facts.
|
|
69
101
|
3. Create endpoints before relationships and upsert small batches sequentially.
|
|
70
102
|
Keep the canonical `REQ-* -> SCEN-* -> TEST-*` chain.
|
|
71
103
|
4. Author tracked Markdown/YAML/manifests and relationship shards through Kibi;
|
|
@@ -77,9 +109,9 @@ mutability, and Prolog requirements of each operation.
|
|
|
77
109
|
Run `kb_check` with specific rules during iteration and the unfiltered final
|
|
78
110
|
check. Never fire `kb_upsert` calls in parallel; create or confirm endpoint
|
|
79
111
|
entities before linking them. The canonical MCP names are `kb_search`,
|
|
80
|
-
`kb_query`, `kb_upsert`, and `kb_check`.
|
|
112
|
+
`kb_query`, `kb_model`, `kb_upsert`, and `kb_check`.
|
|
81
113
|
|
|
82
|
-
For a task that explicitly supplies a malformed concrete mutation payload, locate and read that public request artifact before choosing an entity, preserving its exact entity ID, type, requested changes, and every intended relationship and endpoint. Do not substitute a seeded or convenient entity for the requested target. Start with kb_search, then exact-filter those targets with kb_query, and run
|
|
114
|
+
For a task that explicitly supplies a malformed concrete mutation payload, locate and read that public request artifact before choosing an entity, preserving its exact entity ID, type, requested changes, and every intended relationship and endpoint. Do not substitute a seeded or convenient entity for the requested target. Start with kb_search, then exact-filter those targets with kb_query, and run kb_upsert with dryRun: true on that same payload (CLI: validate-upsert); validation is not completion. Correct only diagnosed pre-commit errors and revalidate the corrected payload. Once authorized, apply the identical corrected and authorized payload with kb_upsert. If it returns committed_with_repairs, treat the mutation as committed, follow only the required repair actions, and neither retry it nor trigger unrelated semantic backfill for a schema-only repair. Exact-read every changed entity and relationship endpoint with kb_query, then finish with an unfiltered kb_check followed by a final kb_status.
|
|
83
115
|
|
|
84
116
|
## Closeout fields
|
|
85
117
|
|
|
@@ -110,8 +142,13 @@ migration, worktrees, quarantine, restore, and purge.
|
|
|
110
142
|
## Typed results and recovery
|
|
111
143
|
|
|
112
144
|
Every CLI JSON/MCP result has `kibiProtocol`, `operation`, `resultVersion`,
|
|
113
|
-
`status`, `data`, `effects`, `diagnostics`, and typed `nextActions`.
|
|
114
|
-
`status: error`
|
|
145
|
+
`status`, `data`, `effects`, `diagnostics`, and typed `nextActions`.
|
|
146
|
+
`status: error` normally means a failed pre-commit operation. The bootstrap
|
|
147
|
+
error `BOOTSTRAP_PLAN_REJECTED` can follow earlier committed actions: inspect
|
|
148
|
+
`data.actionResults` and `data.applied`, then re-plan from the current state.
|
|
149
|
+
Its journal is terminal; never recover or replay it. `BOOTSTRAP_PLAN_INVALID`
|
|
150
|
+
fails preflight before bootstrap writes or a new journal; obtain a corrected
|
|
151
|
+
plan. If the status is
|
|
115
152
|
`committed_with_repairs`, the mutation already committed: inspect failed effects,
|
|
116
153
|
execute each required repair action in order, and never retry the original
|
|
117
154
|
operation. Record effect failures, followed actions, and unsafe retries in
|
|
@@ -124,8 +161,35 @@ Existing entities preserve body bytes when `document.body` is omitted; new
|
|
|
124
161
|
requirements default their body to `semantic_text`. Relationship mutations
|
|
125
162
|
patch canonical shards while preserving unrelated records. Authored entity
|
|
126
163
|
deletion returns a hash-bound approval plan; requirements normally evolve via a
|
|
127
|
-
new entity linked with `supersedes
|
|
128
|
-
|
|
164
|
+
new entity linked with `supersedes`; set the replaced requirement to
|
|
165
|
+
`status: closed` in the same change, because `kb_check` blocks an open
|
|
166
|
+
superseded requirement and supersession cycles. Kibi compiles `source` from
|
|
167
|
+
the entity's own file and never writes an authored `source` field, so
|
|
168
|
+
`kb_upsert` cannot change one. When `kb_check` blocks a leftover value
|
|
169
|
+
(`source-path-dangling`), run `kibi migrate`: its automatic
|
|
170
|
+
`source_path_rewrite` action removes the value, or rewrites it when the file
|
|
171
|
+
moved. Never hand-edit `.kb/` for it. Read `resources/source-authoring.md`
|
|
172
|
+
before source writes, deletion approval, or recovery.
|
|
173
|
+
|
|
174
|
+
`kb_apply_plan` applies a whole plan atomically: a failure changes nothing.
|
|
175
|
+
An interrupted plan is settled by the next `kb_apply_plan`, `kb_upsert`, or
|
|
176
|
+
`kb_delete` call, or by `kb_apply_plan` with its `recoveryJournalId`; never
|
|
177
|
+
re-apply the original plan. On a detached HEAD, reads answer from a read-only
|
|
178
|
+
snapshot and writes are refused; check out a branch before mutating.
|
|
179
|
+
|
|
180
|
+
## Origin and approvals
|
|
181
|
+
|
|
182
|
+
Entities record `origin` (`kind`: `human`, `agent`, `migration`, or `import`,
|
|
183
|
+
plus optional `ref` and `approved_by`). `kb_upsert` records `kind: agent` on
|
|
184
|
+
entities you create; leave `origin.approved_by` to the person who reviews them.
|
|
185
|
+
An exception (a requirement that `exempts` another) exempts nothing until a
|
|
186
|
+
human sets `approved_by`; `kb_check` flags approvals an agent recorded without
|
|
187
|
+
corroboration. Never fill in an approval yourself. Record why a requirement
|
|
188
|
+
exists in `rationale`, or link the ADR that explains it.
|
|
189
|
+
|
|
190
|
+
Conditional clauses ("only when", "only if", "must not ... unless") compile
|
|
191
|
+
into typed `forbid` rules linked by `requires_rule`, not property facts; one
|
|
192
|
+
`kb_model` or `kb_compile_intent` cannot translate stays an `ontology_gap`.
|
|
129
193
|
|
|
130
194
|
## Semantic and proof guardrails
|
|
131
195
|
|
|
@@ -143,20 +207,20 @@ to committed `proof/baseline.json` with `kibi proof impact`.
|
|
|
143
207
|
|
|
144
208
|
## Predicate Ontology Decision Tree
|
|
145
209
|
|
|
146
|
-
Call `
|
|
210
|
+
Call `kb_model` with `mode: "analyze"` on the complete prose before encoding a clause.
|
|
147
211
|
Set requirement `logic_claims` to exactly the assertive `claim_key` values.
|
|
148
|
-
For each relational clause, call `
|
|
212
|
+
For each relational clause, call `kb_model` with `mode: "predicates"`, that clause, and
|
|
149
213
|
`existingLogicClaims`. If lexical rank is a false positive, retry with the
|
|
150
214
|
reviewed `schemaId`. If `binding_status` is `incomplete`, supply
|
|
151
215
|
`argumentBindings` and retry. Persist `fact_kind: predicate` with the same
|
|
152
216
|
`claim_key` / `claim_text`, then link `REQ -> fact` with `requires_predicate`.
|
|
153
|
-
Use `
|
|
217
|
+
Use `kb_model` with `mode: "requirement"` for strict scalar clauses. Use
|
|
154
218
|
`fact_kind: observation` only for a true ontology gap. The manifest is not
|
|
155
219
|
grounding: run `logic-coverage` so each key binds to one ground fact.
|
|
156
220
|
Relationship direction is fixed, and every `from` in a relationship batch
|
|
157
221
|
must equal the upserted entity ID.
|
|
158
222
|
|
|
159
|
-
For conditional relational claims, after the initial `
|
|
223
|
+
For conditional relational claims, after the initial `kb_model` predicates call and before any `kb_upsert`—including one needed for a missing schema—call read-only `kb_model` with `mode: "requirement"` to preview suitable scalar or typed-rule modeling. Treat the preview as advisory: do not apply an irrelevant result or create unrequested facts, and retain an approved ground-predicate plan when it captures the whole claim. Preserve supplied arity, ordered argument roles, polarity, bound values, and one claim key per actual assertion; never split arguments across clauses or schemas or alter values to force uniqueness.
|
|
160
224
|
|
|
161
225
|
## Symbol-First Traceability
|
|
162
226
|
|
|
@@ -4,7 +4,7 @@ Requirement prose remains the human-readable source. Facts add queryable semanti
|
|
|
4
4
|
|
|
5
5
|
## Atomic Claim Coverage
|
|
6
6
|
|
|
7
|
-
Logical coverage is clause-based, not entity-based. Give `
|
|
7
|
+
Logical coverage is clause-based, not entity-based. Give `kb_model` (`mode: "analyze"`) the complete requirement body and verify that its `clauses` list contains every atomic obligation. Supply the `clauses` input yourself when automatic splitting would combine or omit obligations. For every normative clause:
|
|
8
8
|
|
|
9
9
|
- preserve the returned stable key as `claim_key` and the exact clause as `claim_text` on its ground fact;
|
|
10
10
|
- add the key to the exact current `logic_claims` set, removing only stale keys whose propositions no longer exist in the source;
|
|
@@ -17,7 +17,7 @@ Example compound prose: “Checkout requires payment authorization before order
|
|
|
17
17
|
|
|
18
18
|
## Predicate Lane (Relational Claims)
|
|
19
19
|
|
|
20
|
-
Call `
|
|
20
|
+
Call `kb_model` with `mode: "analyze"`, then with `mode: "predicates"`. Apply a candidate only when its schema meaning and ordered arguments fit the claim. Use the returned `applyPlan` rather than hand-writing unsupported predicate names, and link the requirement to the predicate fact with `requires_predicate`.
|
|
21
21
|
|
|
22
22
|
Treat the result as a Prolog-shaped ground term, not executable source: `predicate_name(arg1,...,argN)`. The selected `predicate_schema` fixes the name, arity, argument roles, and order. Store that model through `predicate_name`, `predicate_args`, `canonical_key`, and `polarity`; never interpolate prose into raw Prolog, introduce variables, or use a graph relationship such as `verified_by` as the predicate name.
|
|
23
23
|
|
|
@@ -84,15 +84,15 @@ The full logical representation of a requirement is the conjunction of all of it
|
|
|
84
84
|
|
|
85
85
|
Treat the advisor's proposition status as a hard routing decision. `nonlogical`/`subjective` prose is not a logical claim: keep it as one observation when needed and do not add its key to `logic_claims`. `ambiguous` prose stays an ambiguity observation. `ontology_gap` prose stays unresolved unless an approved schema or validated Logic IR is available. Never split a subjective or commentary sentence into synthetic clauses just because it contains conditional words or domain vocabulary.
|
|
86
86
|
|
|
87
|
-
If authorized input supplies `projectLocalSchemas`, use those signatures as the authority. Create the minimal `predicate_schema` endpoint before lookup, then rerun `
|
|
87
|
+
If authorized input supplies `projectLocalSchemas`, use those signatures as the authority. Create the minimal `predicate_schema` endpoint before lookup, then rerun `kb_model` with `mode: "predicates"` on the complete relation if the first lookup had no candidate. Apply exactly one ground predicate and one claim key for that relation. For `must not`, `never`, `cannot`, or `forbidden` wording, preserve the positive schema and set `polarity: deny`; do not turn the result into an asserted predicate or invent a negative name. An empty lookup before the declared schema exists is a retry condition, not proof of an ontology gap.
|
|
88
88
|
|
|
89
89
|
## Typed rule lane
|
|
90
90
|
|
|
91
|
-
Use a validated `kibi.logic.v1` object for a proposition whose meaning includes a condition, exception, obligation, prohibition, permission, quantifier, cardinality bound, or bounded temporal relation. `
|
|
91
|
+
Use a validated `kibi.logic.v1` object for a proposition whose meaning includes a condition, exception, obligation, prohibition, permission, quantifier, cardinality bound, or bounded temporal relation. `kb_model` with `mode: "requirement"` returns the `rule_schema` and `rule` facts plus a `requires_rule` edge. The rule stores canonical JSON and a deterministic hash; any rendered Prolog is an audit view and is never executed. Reject raw goals, function symbols, cuts, meta-calls, dynamic predicates, I/O, unsafe variables, unstratified negation, and unbounded aggregation. Keep the exact proposition in `claim_text`, its advisor key in `claim_key`, and its byte span in the semantic ledger. Run `rule-safety` and `rule-verifiability` before treating the rule as modeled.
|
|
92
92
|
|
|
93
93
|
### Strict scalar
|
|
94
94
|
|
|
95
|
-
Claim: “Sessions expire after at most 30 minutes.” This is a scalar limit, not a predicate. Route it through `
|
|
95
|
+
Claim: “Sessions expire after at most 30 minutes.” This is a scalar limit, not a predicate. Route it through `kb_model` with `mode: "requirement"` to a subject plus `property_value` with `operator: lte`, `value_type: int`, and `value_int: 30`, linked by `constrains` and `requires_property`.
|
|
96
96
|
|
|
97
97
|
### Ambiguous claim
|
|
98
98
|
|
|
@@ -19,7 +19,7 @@ are in `resources/fact-lanes.md` and the Predicate-First workflow in
|
|
|
19
19
|
| Process or governance note | `meta` | usually `relates_to` |
|
|
20
20
|
| Runtime or config gate | `flag` | `guards` |
|
|
21
21
|
|
|
22
|
-
Call `
|
|
22
|
+
Call `kb_model` with `mode: "analyze"` on the complete requirement body before encoding a
|
|
23
23
|
clause. Apply a predicate only when a returned schema fits; otherwise leave an
|
|
24
24
|
ontology-gap observation.
|
|
25
25
|
|
|
@@ -4,12 +4,12 @@ Kibi stores human prose as readable requirement text, but verifiable meaning bel
|
|
|
4
4
|
|
|
5
5
|
## Two-pass extraction
|
|
6
6
|
|
|
7
|
-
1. Run `
|
|
7
|
+
1. Run `kb_model` with `mode: "analyze"` over the complete text. Supply explicit `clauses` when sentence splitting could hide a condition, exception, definition, descriptive assertion, threshold, quantity, or temporal qualifier.
|
|
8
8
|
2. Audit the returned `propositions` against the original UTF-8 text. Every assertive span must be `modeled`, `ambiguous`, `ontology_gap`, or `missing`; rationale, examples, and subjective commentary are `nonlogical` and remain readable prose.
|
|
9
9
|
3. For each assertive proposition, submit up to three typed `interpretations` when alternatives are plausible. Kibi compares canonical semantic keys; materially different valid interpretations remain unresolved regardless of confidence.
|
|
10
10
|
4. Apply only a validated plan, then read back the requirement, rule schema, rule fact, and all relationship targets. Run `rule-safety`, `rule-verifiability`, `semantic-completeness`, `logic-coverage`, and `domain-contradictions` before the final unfiltered check.
|
|
11
11
|
|
|
12
|
-
When a project-local schema names several ordered arguments, those arguments are facets of one relation, not separate propositions. Preserve the advisor claim key for the complete relation and do not manufacture clauses for each argument. Supporting `predicate_schema` facts carry the declared signature only; the ground predicate fact carries the claim provenance. Apply the exact `
|
|
12
|
+
When a project-local schema names several ordered arguments, those arguments are facets of one relation, not separate propositions. Preserve the advisor claim key for the complete relation and do not manufacture clauses for each argument. Supporting `predicate_schema` facts carry the declared signature only; the ground predicate fact carries the claim provenance. Apply the exact `kb_model` predicates/requirement plan, reducing a rejected schema payload through `kb_upsert` with `dryRun: true` rather than silently downgrading a fitting declared relation to an observation.
|
|
13
13
|
|
|
14
14
|
## Logic IR shape
|
|
15
15
|
|
|
@@ -4,11 +4,12 @@ Generated from the public `OperationSpec` catalog. CLI JSON and MCP structured
|
|
|
4
4
|
content use the same `KibiResult` envelope (protocol 1); result data is versioned
|
|
5
5
|
per operation. Effects are authoritative for mutability and adapter annotations.
|
|
6
6
|
|
|
7
|
-
|
|
|
7
|
+
| Operation | CLI route | Input mode | Mutability | Requires Prolog | Effects | Interface | Result version | Destructive | Retry safety | Open-world | Output schema |
|
|
8
8
|
|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
9
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
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
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_skills` | `skill` | --input JSON | read | no | local-read | peer; capability-selected | kibi.kb_skills.v1 | no | safe | no | yes |
|
|
12
13
|
| `kb_query` | `query` | --input JSON or flags | read | yes | kb-read | peer; capability-selected | kibi.kb_query.v1 | no | safe | no | yes |
|
|
13
14
|
| `kb_search` | `search` | --input JSON or flags | read | yes | kb-read | peer; capability-selected | kibi.kb_search.v1 | no | safe | no | yes |
|
|
14
15
|
| `kb_status` | `status` | --input JSON or flags | read | no | kb-read, workspace-read | peer; capability-selected | kibi.kb_status.v1 | no | safe | no | yes |
|
|
@@ -18,6 +19,7 @@ per operation. Effects are authoritative for mutability and adapter annotations.
|
|
|
18
19
|
| `kb_semantic_advisor` | `semantic-advisor` | --input JSON | read | no | local-read | peer; capability-selected | kibi.kb_semantic_advisor.v1 | no | safe | no | yes |
|
|
19
20
|
| `kb_model_requirement` | `model-requirement` | --input JSON | read | yes | kb-read | peer; capability-selected | kibi.kb_model_requirement.v1 | no | safe | no | yes |
|
|
20
21
|
| `kb_suggest_predicates` | `suggest-predicates` | --input JSON | read | yes | kb-read | peer; capability-selected | kibi.kb_suggest_predicates.v1 | no | safe | no | yes |
|
|
22
|
+
| `kb_model` | `model` | --input JSON | read | yes | kb-read | peer; capability-selected | kibi.kb_model.v1 | no | safe | no | yes |
|
|
21
23
|
| `kb_plan_bootstrap` | `plan-bootstrap` | --input JSON | read | no | workspace-read | peer; capability-selected | kibi.kb_plan_bootstrap.v1 | no | safe | no | yes |
|
|
22
24
|
| `kb_validate_upsert` | `validate-upsert` | --input JSON | read | yes | kb-read | peer; capability-selected | kibi.kb_validate_upsert.v1 | no | safe | no | yes |
|
|
23
25
|
| `kb_upsert` | `upsert` | --input JSON | write | yes | kb-write, workspace-write | peer; capability-selected | kibi.kb_upsert.v1 | yes | unsafe | no | yes |
|
|
@@ -29,6 +31,28 @@ per operation. Effects are authoritative for mutability and adapter annotations.
|
|
|
29
31
|
| `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 |
|
|
30
32
|
| `kb_ingest_proof` | `ingest-proof` | --input JSON | write | yes | kb-read, kb-write, workspace-read | peer; capability-selected | kibi.kb_ingest_proof.v1 | yes | unsafe | no | yes |
|
|
31
33
|
|
|
34
|
+
## MCP tools versus catalog operations
|
|
35
|
+
|
|
36
|
+
The MCP server registers 16 tools. Most carry their catalog operation name; the
|
|
37
|
+
operations below are reached through a consolidated MCP call instead, while the
|
|
38
|
+
CLI keeps their dedicated routes. Result payloads (for example
|
|
39
|
+
`recommended_tools`, `suggested_next_tool`, or repair-plan steps) still name
|
|
40
|
+
catalog operations, so translate them with this list.
|
|
41
|
+
|
|
42
|
+
- `kb_skills_list`: MCP `kb_skills` with `action: "list"`; CLI `kibi skills list` (`skills-list`)
|
|
43
|
+
- `kb_skills_load`: MCP `kb_skills` with `action: "load"`; CLI `kibi skills load` (`skills-load`)
|
|
44
|
+
- `kb_skills_read`: MCP `kb_skills` with `action: "read"`; CLI `kibi skills read` (`skills-read`)
|
|
45
|
+
- `kb_semantic_advisor`: MCP `kb_model` with `mode: "analyze"`; CLI `kibi semantic-advisor` (`semantic-advisor`)
|
|
46
|
+
- `kb_model_requirement`: MCP `kb_model` with `mode: "requirement"`; CLI `kibi model-requirement` (`model-requirement`)
|
|
47
|
+
- `kb_suggest_predicates`: MCP `kb_model` with `mode: "predicates"`; CLI `kibi suggest-predicates` (`suggest-predicates`)
|
|
48
|
+
- `kb_validate_upsert`: MCP `kb_upsert` with `dryRun: true`; CLI `kibi validate-upsert` (`validate-upsert`)
|
|
49
|
+
- `kb_sparql_remote`: MCP `kb_sparql_remote`, registered only when `KIBI_MCP_OPTIONAL_TOOLS` names it; CLI `kibi sparql-remote` (`sparql-remote`)
|
|
50
|
+
|
|
51
|
+
The consolidated tools also have their own CLI routes: `kibi skill` for
|
|
52
|
+
`kb_skills` and `kibi model` for `kb_model`. `kb_job_status` is likewise
|
|
53
|
+
opt-in through `KIBI_MCP_OPTIONAL_TOOLS`; without it, `kb_check` with
|
|
54
|
+
`async: true` runs synchronously.
|
|
55
|
+
|
|
32
56
|
## JSON execution recipe
|
|
33
57
|
|
|
34
58
|
Use a trusted project-local, non-installing runner. Stdin contains one UTF-8 JSON
|
|
@@ -41,3 +65,7 @@ printf '%s\n' '{"query":"authentication","limit":10}' | npx --no-install kibi se
|
|
|
41
65
|
`_diagnostic_telemetry` is adapter metadata, not business input. Never copy it
|
|
42
66
|
into entity properties. On `committed_with_repairs`, follow typed required
|
|
43
67
|
`nextActions` and do not retry the original mutation.
|
|
68
|
+
|
|
69
|
+
`workspaceRoot` is an MCP-only routing argument naming the directory a call is
|
|
70
|
+
about (see the kibi-usage skill). The CLI JSON routes do not accept it; they
|
|
71
|
+
always run in the current directory.
|
|
@@ -82,14 +82,14 @@ diagnostics (`symbol_semantic_review_needed`).
|
|
|
82
82
|
|
|
83
83
|
## Workflow
|
|
84
84
|
|
|
85
|
-
1. `
|
|
86
|
-
2. Relational clauses: `
|
|
85
|
+
1. `kb_model` (`mode: "analyze"`) on the full description; audit or supply `clauses`.
|
|
86
|
+
2. Relational clauses: `kb_model` (`mode: "predicates"`), apply the predicate plan and
|
|
87
87
|
`requires_predicate`.
|
|
88
|
-
3. Scalar placement/alignment/order clauses: `
|
|
88
|
+
3. Scalar placement/alignment/order clauses: `kb_model` (`mode: "requirement"`), apply the strict
|
|
89
89
|
subject/property plan and `constrains` / `requires_property`.
|
|
90
90
|
4. Preserve `claim_key` / `claim_text`; merge every key into the requirement
|
|
91
91
|
`logic_claims` manifest.
|
|
92
|
-
5. `
|
|
92
|
+
5. `kb_upsert` with `dryRun: true`, create endpoints first, then sequential `kb_upsert`.
|
|
93
93
|
6. `kb_check` with `logic-coverage`, `predicate-verifiability`, `domain-contradictions`,
|
|
94
94
|
then a final unfiltered `kb_check`.
|
|
95
95
|
|
|
@@ -35,21 +35,22 @@ edits dependency configuration.
|
|
|
35
35
|
|
|
36
36
|
## Choosing a discovery mode
|
|
37
37
|
|
|
38
|
-
`kb_search`
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
decide
|
|
38
|
+
`kb_search` defaults to deterministic intent ranking (`rankingMode:
|
|
39
|
+
"intent-v1"`), so a natural-language question is a valid query. Pass
|
|
40
|
+
`rankingMode: "legacy"` for the older lexical ranking. The inputs, not the tool
|
|
41
|
+
name, decide how results are ranked.
|
|
42
42
|
|
|
43
43
|
- **Exact identity** — you already know the ID. Use `kb_query`, not search.
|
|
44
44
|
- **Literal token** — a symbol, file, or error string that appears verbatim.
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
45
|
+
Keep the query close to the literal text; `rankingMode: "legacy"` ranks it
|
|
46
|
+
lexically.
|
|
47
|
+
- **Question or behavior** — "what governs how checkout handles a declined
|
|
48
|
+
card?". Ask it directly, and ground it with facets from what you actually
|
|
49
|
+
know:
|
|
48
50
|
|
|
49
51
|
```json
|
|
50
52
|
{
|
|
51
|
-
"query": "declined card during checkout",
|
|
52
|
-
"rankingMode": "intent-v1",
|
|
53
|
+
"query": "what governs a declined card during checkout?",
|
|
53
54
|
"semanticFacets": {
|
|
54
55
|
"actors": ["shopper"],
|
|
55
56
|
"actions": ["pay"],
|
|
@@ -66,7 +67,6 @@ decide the path.
|
|
|
66
67
|
```json
|
|
67
68
|
{
|
|
68
69
|
"query": "checkout total rounding",
|
|
69
|
-
"rankingMode": "intent-v1",
|
|
70
70
|
"sourceLocations": [{ "path": "src/checkout.ts", "symbol": "computeTotal" }]
|
|
71
71
|
}
|
|
72
72
|
```
|
|
@@ -75,8 +75,25 @@ Supply facets only from the request, the code, or prior results. Inventing
|
|
|
75
75
|
facets fabricates evidence and biases ranking. Intent mode abstains below
|
|
76
76
|
`minScore` instead of returning weak matches; an abstention is an explicit
|
|
77
77
|
no-answer, so widen the query or drop to lexical search rather than treating it
|
|
78
|
-
as "nothing exists".
|
|
79
|
-
|
|
78
|
+
as "nothing exists". A literal identifier lookup is still best served
|
|
79
|
+
lexically.
|
|
80
|
+
|
|
81
|
+
On the first page, intent mode also returns an answer layer in `data.answer`
|
|
82
|
+
(`kibi.search-answer.v1`; turn it off with `answer: false`):
|
|
83
|
+
|
|
84
|
+
- `governing` — current requirements matched by the query or linked to a
|
|
85
|
+
matched entity, each with `via` (how it was reached) and its linked `facts`,
|
|
86
|
+
`scenarios`, `tests`, and `adrs`.
|
|
87
|
+
- `rationale` — ADRs that explain the decisions.
|
|
88
|
+
- `notGoverning` — superseded or deprecated requirements, with `supersededBy`
|
|
89
|
+
when known. Never read these as current policy; superseded entities are also
|
|
90
|
+
demoted in the ranked results.
|
|
91
|
+
- `observations` — observation/meta facts, which are notes, not rules.
|
|
92
|
+
- `truncated` and `note` — the layer is size-bounded; an empty `governing`
|
|
93
|
+
list is not evidence that nothing governs the change.
|
|
94
|
+
|
|
95
|
+
The answer layer is graph traversal: discovery, not proof. Use `kb_check` and
|
|
96
|
+
`kb_coverage` for consistency and proof status.
|
|
80
97
|
|
|
81
98
|
Results are summaries by default: identifying metadata, score, reasons, and a
|
|
82
99
|
snippet. Read them to pick candidates, then `kb_query` those IDs for full
|
|
@@ -88,12 +105,12 @@ planning a behavior change; a search receipt is not comprehension.
|
|
|
88
105
|
|
|
89
106
|
The canonical workflow for any KB operation follows this pattern:
|
|
90
107
|
|
|
91
|
-
1. **Discover**: `kb_search` with focused probes; pick the mode above
|
|
108
|
+
1. **Discover**: `kb_search` with focused probes or a direct question; read `data.answer`, and pick the mode above
|
|
92
109
|
2. **Confirm**: `kb_query` for exact IDs and state
|
|
93
110
|
3. **Inspect**: `kb_status` when freshness matters
|
|
94
|
-
4. **Decompose**: `
|
|
95
|
-
5. **Choose per-clause lanes**: strict facts for scalar claims; `
|
|
96
|
-
6. **Preflight**: `
|
|
111
|
+
4. **Decompose**: `kb_model` (`mode: "analyze"`) on the complete normative prose; verify or supply every atomic clause
|
|
112
|
+
5. **Choose per-clause lanes**: strict facts for scalar claims; `kb_model` `mode: "predicates"` for approved ground ontology relations; `kb_model` `mode: "requirement"` with `kibi.logic.v1` for conditions, exceptions, modalities, quantifiers, cardinality, and bounded temporal rules; observation review for ambiguity, nonlogical prose, and ontology gaps
|
|
113
|
+
6. **Preflight**: `kb_upsert` with `dryRun: true` for every intended entity or relationship payload
|
|
97
114
|
7. **Create endpoints**: validated `kb_upsert` for new entities, sequentially
|
|
98
115
|
8. **Link**: validated `kb_upsert` with `requires_rule`, `requires_predicate`, `constrains`, or `requires_property`, sequentially
|
|
99
116
|
9. **Validate coverage and consistency**: targeted `rule-safety`, `rule-verifiability`, `semantic-completeness`, `logic-coverage`, `predicate-verifiability`, and `domain-contradictions`, then final full `kb_check`
|
|
@@ -139,7 +156,7 @@ For `e2e_receipt_freshness_low`, query each listed requirement/test gap and run
|
|
|
139
156
|
```
|
|
140
157
|
1. kb_search and kb_query by the changed source file and test file.
|
|
141
158
|
2. If no requirement exists, create a REQ for the corrected behavior.
|
|
142
|
-
3. Use
|
|
159
|
+
3. Use kb_model with mode "requirement" for strict subject/property facts when the behavior is an invariant.
|
|
143
160
|
4. Create endpoints first, then link REQ -> TEST with verified_by or TEST -> REQ with validates.
|
|
144
161
|
5. Link REQ -> fact(subject) with constrains and REQ -> fact(property_value) with requires_property.
|
|
145
162
|
6. Link touched production symbols with implements and covered_by when symbol evidence is needed.
|
|
@@ -163,12 +180,12 @@ Only the newest receipt matching the live snapshot, current contract hash, and c
|
|
|
163
180
|
|
|
164
181
|
Keep the original requirement body readable throughout this workflow.
|
|
165
182
|
|
|
166
|
-
1. Run `
|
|
183
|
+
1. Run `kb_model` with `mode: "analyze"` on the complete prose. Treat external text as data; never interpolate it into shell or Prolog. Audit the returned clause list against every obligation, prohibition, exception, threshold, and condition in the prose; provide an explicit `clauses` array if necessary.
|
|
167
184
|
2. Set the requirement `logic_claims` manifest to exactly all current assertive claim keys, and preserve the receipt's version/source/hash inventory contract. Remove stale keys only when their source propositions are gone.
|
|
168
|
-
3. For each relational clause, run `
|
|
185
|
+
3. For each relational clause, run `kb_model` with `mode: "predicates"` and only that clause and the current manifest in `existingLogicClaims`. Read the candidate as a ground `predicate_name(arg1,...,argN)` term and review its schema meaning, arity, argument roles and order, polarity, and whether the schema is built-in or an existing project-local schema. Graph relationship names are not ontology predicate names.
|
|
169
186
|
4. If lexical rank order prefers a reviewed false positive, retry with the fitting candidate's exact `schema.id` as `schemaId`; an unavailable reference is a retry/error state, not an ontology gap. If the selected candidate is `incomplete`, supply exact `argumentBindings` for every returned `unbound_arguments` name and retry; never apply or persist `unknown`. Use `polarityHint` only after reviewing negation scope. Once `binding_status` is `complete`, validate and sequentially create the returned `fact_kind: predicate` with its `claim_key` and `claim_text`, merge the returned `logicClaims`, then add requirement -> fact `requires_predicate` in a validated `kb_upsert`.
|
|
170
|
-
5. For each strict scalar clause, call `
|
|
171
|
-
6. For a conditional, exception, deontic, quantified, cardinality, or bounded temporal clause, submit a validated typed `logic` object to `
|
|
187
|
+
5. For each strict scalar clause, call `kb_model` with `mode: "requirement"` and the current `existingLogicClaims`; validate and sequentially apply its subject/property plan and merged manifest instead.
|
|
188
|
+
6. For a conditional, exception, deontic, quantified, cardinality, or bounded temporal clause, submit a validated typed `logic` object to `kb_model` with `mode: "requirement"`. Apply its `rule_schema` and `rule` facts sequentially and link the requirement with `requires_rule`; rendered Prolog is for inspection only.
|
|
172
189
|
7. If wording is ambiguous, a candidate is only a lexical false positive, or no schema/IR interpretation fits, create the advised observation review artifact and apply its returned `relates_to` review anchor when present; report that claim key as unresolved. Use `review:ambiguity` for unresolved interpretation, `review:keyword-false-positive` for a vocabulary match that is not a domain assertion, and `review:ontology-gap` only for a true catalog gap. Define a new `predicate_schema` only when the task explicitly authorizes ontology extension and provides a stable signature.
|
|
173
190
|
8. Read back the requirement, proposition ledger, and all facts. Confirm every manifest key occurs on exactly one intended ground fact/rule, no punctuation variant minted a second claim, and no two claim keys encode the same logical term. Exact query output may represent repeated relationship types as arrays, so inspect every target. Then run `kb_check` with `rule-safety`, `rule-verifiability`, `semantic-completeness`, `logic-coverage`, `predicate-verifiability`, and `domain-contradictions`. Finish with an unfiltered `kb_check`.
|
|
174
191
|
|
|
@@ -183,12 +200,12 @@ On resume after interruption, repeat `kb_query` for exact endpoints and apply on
|
|
|
183
200
|
Optional per-project workflow for recording what the screen should look like. Non-UI projects skip this lane entirely.
|
|
184
201
|
|
|
185
202
|
1. Create a prose `req` holding the full visual description; it is the searchable anchor agents discover before touching a UI file.
|
|
186
|
-
2. Run `
|
|
187
|
-
3. For relational layout clauses ("X must remain visually aligned with Y"), call `
|
|
188
|
-
4. For scalar placement, alignment, and ordering clauses, call `
|
|
203
|
+
2. Run `kb_model` with `mode: "analyze"` on the description; audit or supply `clauses`.
|
|
204
|
+
3. For relational layout clauses ("X must remain visually aligned with Y"), call `kb_model` with `mode: "predicates"`, apply the returned `fact_kind: predicate` plan with `predicate_name: visual_layout_rule` and `requires_predicate`.
|
|
205
|
+
4. For scalar placement, alignment, and ordering clauses, call `kb_model` with `mode: "requirement"` and apply strict `fact_kind: subject` / `fact_kind: property_value` facts linked with `constrains` / `requires_property`. Model header order as indexed property keys (`nav_order_1`, `nav_order_2`, ...) against one subject region.
|
|
189
206
|
5. Preserve `claim_key` / `claim_text` on every ground fact and merge every key into the requirement `logic_claims` manifest.
|
|
190
207
|
6. Model UI components as `symbol` entities with `sourceFile` and `symbol_role: behavioral`, linked `implements` to the requirement.
|
|
191
|
-
7. `
|
|
208
|
+
7. `kb_upsert` with `dryRun: true`, create endpoints first, then sequential `kb_upsert`. Run `kb_check` with `logic-coverage`, `predicate-verifiability`, and `domain-contradictions`, then a final unfiltered `kb_check`.
|
|
192
209
|
|
|
193
210
|
Incompatible values on the same subject/property from two current requirements are rejected on write; change an intentional value via a replacement requirement linked with `supersedes`. Full payloads are in `resources/ui-requirements.md`.
|
|
194
211
|
|
|
@@ -10,13 +10,77 @@ export declare const DEFAULT_TELEMETRY_ACCEPTANCE_POLICY: {
|
|
|
10
10
|
readonly telemetryCompletenessMinimum: 0.95;
|
|
11
11
|
readonly validationBeforeUpsertMinimum: 1;
|
|
12
12
|
readonly advisorBeforeRequirementWriteMinimum: 1;
|
|
13
|
+
readonly lookupBeforeFirstEditMinimum: 1;
|
|
13
14
|
readonly sourceLookupZeroResultMaximum: 0.2;
|
|
14
15
|
readonly preflightMaxAgeSeconds: number;
|
|
15
16
|
readonly advisorMaxAgeSeconds: number;
|
|
16
17
|
readonly repeatedMutationFailureThreshold: 3;
|
|
17
18
|
};
|
|
19
|
+
/**
|
|
20
|
+
* A row written by a host plugin hook (`interface: "hook"`). Hooks record
|
|
21
|
+
* agent activity around Kibi calls: which Kibi operation a tool call ran
|
|
22
|
+
* (`hook_action: "kb_usage"`) and which files an edit tool changed, with the
|
|
23
|
+
* requirements those files' symbols implement (`hook_action: "edited"`).
|
|
24
|
+
*/
|
|
25
|
+
export interface TelemetryHookEvent extends TelemetryUsageEvent {
|
|
26
|
+
readonly interface?: string;
|
|
27
|
+
readonly host?: string;
|
|
28
|
+
readonly hook_action?: string;
|
|
29
|
+
readonly path?: string | null;
|
|
30
|
+
readonly requirement_ids?: readonly string[];
|
|
31
|
+
readonly kb_operation?: string | null;
|
|
32
|
+
}
|
|
33
|
+
/** A host hook row and where it sits relative to the operation events. */
|
|
34
|
+
export interface TelemetryHookRow {
|
|
35
|
+
readonly event: TelemetryHookEvent;
|
|
36
|
+
/** 1-based `.kb/usage.log` line (array position for in-memory events). */
|
|
37
|
+
readonly logLine: number;
|
|
38
|
+
/** Operation events that precede this row in the log. */
|
|
39
|
+
readonly operationsBefore: number;
|
|
40
|
+
}
|
|
41
|
+
/** Operation events and host hook rows of one usage log, kept apart. */
|
|
42
|
+
export interface TelemetryUsagePartition {
|
|
43
|
+
readonly operations: readonly TelemetryUsageEvent[];
|
|
44
|
+
/** 1-based `.kb/usage.log` line of each operation event. */
|
|
45
|
+
readonly operationLines: readonly number[];
|
|
46
|
+
readonly hookRows: readonly TelemetryHookRow[];
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Parse Kibi operation events from `.kb/usage.log`.
|
|
50
|
+
*
|
|
51
|
+
* Host plugin hooks share the log and tag their rows `interface: "hook"`.
|
|
52
|
+
* Those rows describe agent activity around Kibi calls, not Kibi operations,
|
|
53
|
+
* so they are left out of the returned array: otherwise a busy editing
|
|
54
|
+
* session would push every operation out of the bounded acceptance window.
|
|
55
|
+
* They stay attached to the array for `partitionTelemetryUsage`, which is how
|
|
56
|
+
* the `lookup_before_first_edit` metric reads them.
|
|
57
|
+
*/
|
|
18
58
|
export declare function parseTelemetryUsageLog(contents: string): TelemetryUsageEvent[];
|
|
59
|
+
/**
|
|
60
|
+
* Split events into Kibi operations and host hook rows. Arrays from
|
|
61
|
+
* `parseTelemetryUsageLog` carry their hook rows and log lines; any other
|
|
62
|
+
* array is split on `interface: "hook"`, with positions as line numbers.
|
|
63
|
+
*/
|
|
64
|
+
export declare function partitionTelemetryUsage(events: readonly TelemetryUsageEvent[]): TelemetryUsagePartition;
|
|
19
65
|
export declare function thresholdStatus(actual: number | undefined, operator: ">=" | "<=" | "<", expected: number): TelemetryMetricStatus;
|
|
66
|
+
/** Kibi operations that count as looking up requirements before an edit. */
|
|
67
|
+
export declare const LOOKUP_BEFORE_EDIT_OPERATIONS: readonly ["kb_query", "kb_search"];
|
|
68
|
+
/** The first requirement-linked edit of one host session. */
|
|
69
|
+
export interface FirstLinkedEdit {
|
|
70
|
+
/** `<host>:<session_id>` of the session. */
|
|
71
|
+
readonly session: string;
|
|
72
|
+
readonly edit: TelemetryHookRow;
|
|
73
|
+
/** True when kb_search or kb_query ran earlier in the same session. */
|
|
74
|
+
readonly lookedUp: boolean;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* For each host session, its first edit of a file whose symbols implement a
|
|
78
|
+
* requirement and whether a Kibi lookup (MCP or CLI) preceded it. Rows
|
|
79
|
+
* without a session id cannot be ordered within a session and are skipped;
|
|
80
|
+
* sessions whose first linked edit predates the evaluated window are left
|
|
81
|
+
* out.
|
|
82
|
+
*/
|
|
83
|
+
export declare function firstLinkedEdits(hookRows: readonly TelemetryHookRow[], recentStart: number): FirstLinkedEdit[];
|
|
20
84
|
export declare function analyzeTelemetryAcceptance(events: readonly TelemetryUsageEvent[], now?: Date, policy?: TelemetryAcceptancePolicy): TelemetryAcceptanceReport;
|
|
21
85
|
export declare function createTelemetryAcceptanceDiagnostics(report: TelemetryAcceptanceReport): readonly QualityDiagnostic[];
|
|
22
86
|
//# sourceMappingURL=telemetry-acceptance.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"telemetry-acceptance.d.ts","sourceRoot":"","sources":["../../src/public/telemetry-acceptance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,KAAK,EAEV,yBAAyB,EACzB,yBAAyB,EAGzB,qBAAqB,EACrB,mBAAmB,EACpB,MAAM,iCAAiC,CAAC;AAEzC,YAAY,EACV,yBAAyB,EACzB,yBAAyB,EACzB,yBAAyB,EACzB,yBAAyB,EACzB,iBAAiB,EACjB,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,iCAAiC,CAAC;AAEzC,eAAO,MAAM,4BAA4B,EACvC,8BAAuC,CAAC;AAE1C,eAAO,MAAM,mCAAmC
|
|
1
|
+
{"version":3,"file":"telemetry-acceptance.d.ts","sourceRoot":"","sources":["../../src/public/telemetry-acceptance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,KAAK,EAEV,yBAAyB,EACzB,yBAAyB,EAGzB,qBAAqB,EACrB,mBAAmB,EACpB,MAAM,iCAAiC,CAAC;AAEzC,YAAY,EACV,yBAAyB,EACzB,yBAAyB,EACzB,yBAAyB,EACzB,yBAAyB,EACzB,iBAAiB,EACjB,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,iCAAiC,CAAC;AAEzC,eAAO,MAAM,4BAA4B,EACvC,8BAAuC,CAAC;AAE1C,eAAO,MAAM,mCAAmC;;;;;;;;;;;;;CAaF,CAAC;AAiB/C;;;;;GAKG;AACH,MAAM,WAAW,kBAAmB,SAAQ,mBAAmB;IAC7D,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7C,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvC;AAGD,0EAA0E;AAC1E,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,EAAE,kBAAkB,CAAC;IACnC,0EAA0E;IAC1E,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,yDAAyD;IACzD,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;CACnC;AAGD,wEAAwE;AACxE,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,UAAU,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACpD,4DAA4D;IAC5D,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3C,QAAQ,CAAC,QAAQ,EAAE,SAAS,gBAAgB,EAAE,CAAC;CAChD;AAYD;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,GACf,mBAAmB,EAAE,CAkCvB;AAGD;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,SAAS,mBAAmB,EAAE,GACrC,uBAAuB,CAmBzB;AA0DD,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,QAAQ,EAAE,IAAI,GAAG,IAAI,GAAG,GAAG,EAC3B,QAAQ,EAAE,MAAM,GACf,qBAAqB,CAKvB;AA+ND,4EAA4E;AAC5E,eAAO,MAAM,6BAA6B,oCAAqC,CAAC;AAGhF,6DAA6D;AAC7D,MAAM,WAAW,eAAe;IAC9B,4CAA4C;IAC5C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,uEAAuE;IACvE,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B;AASD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,SAAS,gBAAgB,EAAE,EACrC,WAAW,EAAE,MAAM,GAClB,eAAe,EAAE,CA4BnB;AAkSD,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,SAAS,mBAAmB,EAAE,EACtC,GAAG,GAAE,IAAiB,EACtB,MAAM,GAAE,yBAA+D,GACtE,yBAAyB,CA+D3B;AAsED,wBAAgB,oCAAoC,CAClD,MAAM,EAAE,yBAAyB,GAChC,SAAS,iBAAiB,EAAE,CA+E9B"}
|