kibi-cli 0.19.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli-errors.d.ts +3 -1
- package/dist/cli-errors.d.ts.map +1 -1
- package/dist/cli-errors.js +4 -1
- package/dist/cli-json-command.d.ts +1 -0
- package/dist/cli-json-command.d.ts.map +1 -1
- package/dist/cli-json-command.js +13 -4
- package/dist/cli-operation-loader.d.ts.map +1 -1
- package/dist/cli-operation-loader.js +53 -20
- package/dist/cli-operation-metadata.d.ts +21 -8
- package/dist/cli-operation-metadata.d.ts.map +1 -1
- package/dist/cli-operation-metadata.js +27 -10
- 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 +33 -4
- package/dist/cli-register-proof.d.ts +3 -0
- package/dist/cli-register-proof.d.ts.map +1 -0
- package/dist/cli-register-proof.js +103 -0
- package/dist/cli-register-reporting.d.ts.map +1 -1
- package/dist/cli-register-reporting.js +11 -0
- package/dist/cli.d.ts +4 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +17 -8
- 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 +37 -0
- package/dist/commands/branch.d.ts.map +1 -1
- package/dist/commands/branch.js +375 -40
- package/dist/commands/check.d.ts +14 -0
- package/dist/commands/check.d.ts.map +1 -1
- package/dist/commands/check.js +209 -110
- package/dist/commands/coverage.d.ts +1 -0
- package/dist/commands/coverage.d.ts.map +1 -1
- package/dist/commands/coverage.js +6 -0
- package/dist/commands/discovery-shared.d.ts.map +1 -1
- package/dist/commands/discovery-shared.js +10 -19
- package/dist/commands/doctor.d.ts +26 -1
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +291 -30
- package/dist/commands/engine.d.ts +12 -0
- package/dist/commands/engine.d.ts.map +1 -1
- package/dist/commands/engine.js +50 -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 +57 -0
- package/dist/commands/github-init.d.ts.map +1 -0
- package/dist/commands/github-init.js +314 -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 +109 -28
- 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 +11 -0
- package/dist/commands/migrate.d.ts.map +1 -1
- package/dist/commands/migrate.js +249 -96
- package/dist/commands/proof-migrate-legacy.d.ts +7 -0
- package/dist/commands/proof-migrate-legacy.d.ts.map +1 -0
- package/dist/commands/proof-migrate-legacy.js +45 -0
- package/dist/commands/proof-prune.d.ts +8 -0
- package/dist/commands/proof-prune.d.ts.map +1 -0
- package/dist/commands/proof-prune.js +53 -0
- package/dist/commands/prove.d.ts +37 -0
- package/dist/commands/prove.d.ts.map +1 -0
- package/dist/commands/prove.js +470 -0
- package/dist/commands/report.d.ts +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 +26 -2
- package/dist/commands/sync/discovery.d.ts.map +1 -1
- package/dist/commands/sync/discovery.js +204 -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 +9 -6
- package/dist/commands/sync/manifest.d.ts.map +1 -1
- package/dist/commands/sync/manifest.js +195 -60
- package/dist/commands/sync/persistence.d.ts +4 -1
- package/dist/commands/sync/persistence.d.ts.map +1 -1
- package/dist/commands/sync/persistence.js +26 -12
- package/dist/commands/sync/staging.d.ts +1 -0
- package/dist/commands/sync/staging.d.ts.map +1 -1
- package/dist/commands/sync/staging.js +5 -2
- package/dist/commands/sync/untracked-targets.d.ts +24 -0
- package/dist/commands/sync/untracked-targets.d.ts.map +1 -0
- package/dist/commands/sync/untracked-targets.js +108 -0
- package/dist/commands/sync.d.ts +17 -1
- package/dist/commands/sync.d.ts.map +1 -1
- package/dist/commands/sync.js +375 -106
- package/dist/diagnostics.d.ts +1 -1
- package/dist/diagnostics.d.ts.map +1 -1
- package/dist/engine-daemon.d.ts +3 -1
- package/dist/engine-daemon.d.ts.map +1 -1
- package/dist/engine-daemon.js +49 -20
- package/dist/engine.d.ts +34 -3
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js +578 -42
- package/dist/env.d.ts.map +1 -1
- package/dist/env.js +5 -6
- package/dist/extractors/manifest.d.ts +13 -1
- package/dist/extractors/manifest.d.ts.map +1 -1
- package/dist/extractors/manifest.js +97 -10
- package/dist/extractors/markdown.d.ts +5 -2
- package/dist/extractors/markdown.d.ts.map +1 -1
- package/dist/extractors/markdown.js +47 -12
- 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 +6 -0
- package/dist/extractors/relationships.d.ts.map +1 -1
- package/dist/extractors/relationships.js +2 -1
- 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/extractors/symbols-ts.d.ts +1 -0
- package/dist/extractors/symbols-ts.d.ts.map +1 -1
- package/dist/extractors/symbols-ts.js +142 -67
- package/dist/intent-search.d.ts +61 -0
- package/dist/intent-search.d.ts.map +1 -0
- package/dist/intent-search.js +437 -0
- package/dist/logic/ir.d.ts +1 -0
- package/dist/logic/ir.d.ts.map +1 -1
- package/dist/logic/ir.js +1 -1
- package/dist/operations/bootstrap/activation.d.ts +5 -0
- package/dist/operations/bootstrap/activation.d.ts.map +1 -0
- package/dist/operations/{autopilot → bootstrap}/activation.js +58 -33
- 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 +9 -0
- package/dist/operations/bootstrap/generate.d.ts.map +1 -0
- package/dist/operations/bootstrap/generate.js +207 -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 +3 -2
- package/dist/operations/bootstrap/guidance.d.ts.map +1 -0
- package/dist/operations/{autopilot → bootstrap}/guidance.js +3 -1
- 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 +5 -0
- package/dist/operations/modeling/model-requirement.d.ts.map +1 -1
- package/dist/operations/modeling/model-requirement.js +57 -63
- 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 +375 -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-2.d.ts.map +1 -1
- package/dist/operations/modeling/predicate-catalog-2.js +18 -2
- package/dist/operations/modeling/predicate-catalog-3.d.ts.map +1 -1
- package/dist/operations/modeling/predicate-catalog-3.js +17 -1
- package/dist/operations/modeling/predicate-catalog-4.d.ts.map +1 -1
- package/dist/operations/modeling/predicate-catalog-4.js +155 -0
- package/dist/operations/modeling/predicate-catalog-5.d.ts +10 -0
- package/dist/operations/modeling/predicate-catalog-5.d.ts.map +1 -0
- package/dist/operations/modeling/predicate-catalog-5.js +291 -0
- package/dist/operations/modeling/predicate-catalog.d.ts.map +1 -1
- package/dist/operations/modeling/predicate-catalog.js +4 -0
- package/dist/operations/modeling/predicate-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 +1 -0
- package/dist/operations/modeling/predicate-loader.d.ts.map +1 -1
- package/dist/operations/modeling/predicate-loader.js +11 -3
- 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 +159 -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 +35 -1
- 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-usage-hints-4.d.ts +3 -0
- package/dist/operations/modeling/predicate-usage-hints-4.d.ts.map +1 -0
- package/dist/operations/modeling/predicate-usage-hints-4.js +84 -0
- package/dist/operations/modeling/predicate-utils.d.ts.map +1 -1
- package/dist/operations/modeling/predicate-utils.js +2 -0
- package/dist/operations/modeling/suggest-predicates.d.ts +4 -2
- package/dist/operations/modeling/suggest-predicates.d.ts.map +1 -1
- package/dist/operations/modeling/suggest-predicates.js +203 -32
- package/dist/operations/mutation/contradictions.d.ts +2 -1
- package/dist/operations/mutation/contradictions.d.ts.map +1 -1
- package/dist/operations/mutation/contradictions.js +26 -5
- package/dist/operations/mutation/delete.d.ts +3 -0
- package/dist/operations/mutation/delete.d.ts.map +1 -1
- package/dist/operations/mutation/delete.js +483 -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 +11 -0
- package/dist/operations/mutation/relationships.d.ts.map +1 -1
- package/dist/operations/mutation/relationships.js +77 -5
- package/dist/operations/mutation/saga.d.ts +51 -0
- package/dist/operations/mutation/saga.d.ts.map +1 -0
- package/dist/operations/mutation/saga.js +67 -0
- package/dist/operations/mutation/serialization.d.ts.map +1 -1
- package/dist/operations/mutation/serialization.js +3 -1
- package/dist/operations/mutation/source-authoring.d.ts +65 -0
- package/dist/operations/mutation/source-authoring.d.ts.map +1 -0
- package/dist/operations/mutation/source-authoring.js +576 -0
- package/dist/operations/mutation/strict-fact.d.ts +1 -0
- package/dist/operations/mutation/strict-fact.d.ts.map +1 -1
- package/dist/operations/mutation/strict-fact.js +8 -5
- package/dist/operations/mutation/symbol-compiler-lock.d.ts +54 -0
- package/dist/operations/mutation/symbol-compiler-lock.d.ts.map +1 -0
- package/dist/operations/mutation/symbol-compiler-lock.js +337 -0
- package/dist/operations/mutation/symbol-granularity.d.ts.map +1 -1
- package/dist/operations/mutation/symbol-granularity.js +35 -4
- package/dist/operations/mutation/symbol-refresh.d.ts +19 -1
- package/dist/operations/mutation/symbol-refresh.d.ts.map +1 -1
- package/dist/operations/mutation/symbol-refresh.js +227 -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 +18 -2
- package/dist/operations/mutation/upsert.d.ts.map +1 -1
- package/dist/operations/mutation/upsert.js +403 -32
- package/dist/operations/mutation/validate-upsert.js +2 -2
- package/dist/operations/mutation/validation.d.ts.map +1 -1
- package/dist/operations/mutation/validation.js +47 -4
- package/dist/operations/mutation/warnings.d.ts +1 -0
- package/dist/operations/mutation/warnings.d.ts.map +1 -1
- package/dist/operations/mutation/warnings.js +7 -5
- package/dist/operations/mutation/workspace-mutation-lock.d.ts +60 -0
- package/dist/operations/mutation/workspace-mutation-lock.d.ts.map +1 -0
- package/dist/operations/mutation/workspace-mutation-lock.js +362 -0
- package/dist/operations/planning/apply-plan.d.ts +19 -0
- package/dist/operations/planning/apply-plan.d.ts.map +1 -0
- package/dist/operations/planning/apply-plan.js +1514 -0
- package/dist/operations/planning/compile-intent.d.ts +108 -0
- package/dist/operations/planning/compile-intent.d.ts.map +1 -0
- package/dist/operations/planning/compile-intent.js +618 -0
- package/dist/operations/proof/ingest-proof.d.ts +34 -0
- package/dist/operations/proof/ingest-proof.d.ts.map +1 -0
- package/dist/operations/proof/ingest-proof.js +307 -0
- package/dist/operations/proof/migrate-legacy-receipts.d.ts +30 -0
- package/dist/operations/proof/migrate-legacy-receipts.d.ts.map +1 -0
- package/dist/operations/proof/migrate-legacy-receipts.js +88 -0
- package/dist/operations/proof/prune-receipts.d.ts +35 -0
- package/dist/operations/proof/prune-receipts.d.ts.map +1 -0
- package/dist/operations/proof/prune-receipts.js +91 -0
- package/dist/operations/proof/receipt-document.d.ts +29 -0
- package/dist/operations/proof/receipt-document.d.ts.map +1 -0
- package/dist/operations/proof/receipt-document.js +117 -0
- package/dist/operations/semantic-advisor/analyze-prose.d.ts +1 -0
- package/dist/operations/semantic-advisor/analyze-prose.d.ts.map +1 -1
- package/dist/operations/semantic-advisor/analyze-prose.js +52 -28
- package/dist/operations/semantic-advisor/clauses.d.ts.map +1 -1
- package/dist/operations/semantic-advisor/clauses.js +35 -9
- 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/strict-count-rules.d.ts +2 -0
- package/dist/operations/semantic-advisor/strict-count-rules.d.ts.map +1 -1
- package/dist/operations/semantic-advisor/strict-count-rules.js +40 -25
- package/dist/operations/semantic-advisor/types.d.ts +13 -5
- package/dist/operations/semantic-advisor/types.d.ts.map +1 -1
- package/dist/prolog/codec.d.ts +13 -1
- package/dist/prolog/codec.d.ts.map +1 -1
- package/dist/prolog/codec.js +269 -153
- package/dist/prolog/error-terms.d.ts +47 -0
- package/dist/prolog/error-terms.d.ts.map +1 -0
- package/dist/prolog/error-terms.js +334 -0
- package/dist/prolog/janitor.d.ts +50 -0
- package/dist/prolog/janitor.d.ts.map +1 -0
- package/dist/prolog/janitor.js +154 -0
- package/dist/prolog/store-lock.d.ts +45 -0
- package/dist/prolog/store-lock.d.ts.map +1 -0
- package/dist/prolog/store-lock.js +195 -0
- package/dist/prolog.d.ts +7 -0
- package/dist/prolog.d.ts.map +1 -1
- package/dist/prolog.js +82 -25
- package/dist/proof/evaluate.d.ts +27 -0
- package/dist/proof/evaluate.d.ts.map +1 -0
- package/dist/proof/evaluate.js +151 -0
- package/dist/proof/inspect.d.ts +12 -0
- package/dist/proof/inspect.d.ts.map +1 -0
- package/dist/proof/inspect.js +236 -0
- package/dist/proof/integrations.d.ts +35 -0
- package/dist/proof/integrations.d.ts.map +1 -0
- package/dist/proof/integrations.js +123 -0
- package/dist/proof/producers/junit-adapter.d.ts +26 -0
- package/dist/proof/producers/junit-adapter.d.ts.map +1 -0
- package/dist/proof/producers/junit-adapter.js +186 -0
- package/dist/proof/producers/playwright-case-id.d.ts +8 -0
- package/dist/proof/producers/playwright-case-id.d.ts.map +1 -0
- package/dist/proof/producers/playwright-case-id.js +25 -0
- package/dist/proof/producers/playwright-reporter.d.ts +27 -0
- package/dist/proof/producers/playwright-reporter.d.ts.map +1 -0
- package/dist/proof/producers/playwright-reporter.js +138 -0
- package/dist/proof/producers/tap-adapter.d.ts +10 -0
- package/dist/proof/producers/tap-adapter.d.ts.map +1 -0
- package/dist/proof/producers/tap-adapter.js +200 -0
- package/dist/proof/receipt-outcome.d.ts +2 -0
- package/dist/proof/receipt-outcome.d.ts.map +1 -0
- package/dist/proof/receipt-outcome.js +1 -0
- package/dist/public/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 +74 -6
- package/dist/public/distribution-parity.d.ts +7 -1
- package/dist/public/distribution-parity.d.ts.map +1 -1
- package/dist/public/distribution-parity.js +15 -9
- 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 +7 -1
- package/dist/public/impact/coverage-depth-quality.d.ts.map +1 -1
- package/dist/public/impact/coverage-depth-quality.js +22 -4
- package/dist/public/impact/diagnostics.d.ts.map +1 -1
- package/dist/public/impact/diagnostics.js +2 -2
- package/dist/public/impact/diff-meaning.d.ts +1 -0
- package/dist/public/impact/diff-meaning.d.ts.map +1 -1
- package/dist/public/impact/diff-meaning.js +5 -2
- package/dist/public/impact/full-kb-quality.d.ts +7 -2
- package/dist/public/impact/full-kb-quality.d.ts.map +1 -1
- package/dist/public/impact/full-kb-quality.js +364 -39
- 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 +900 -34
- package/dist/public/operations/catalog.d.ts.map +1 -1
- package/dist/public/operations/catalog.js +130 -6
- 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 +68 -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 +18 -0
- package/dist/public/operations/contracts.d.ts.map +1 -0
- package/dist/public/operations/contracts.js +334 -0
- package/dist/public/operations/discovery-entities.d.ts +3 -0
- package/dist/public/operations/discovery-entities.d.ts.map +1 -1
- package/dist/public/operations/discovery-entities.js +4 -0
- package/dist/public/operations/discovery-executors.d.ts +43 -7
- package/dist/public/operations/discovery-executors.d.ts.map +1 -1
- package/dist/public/operations/discovery-executors.js +216 -13
- 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 +102 -0
- package/dist/public/operations/migration-plan.d.ts.map +1 -0
- package/dist/public/operations/migration-plan.js +539 -0
- package/dist/public/operations/node-ports.d.ts.map +1 -1
- package/dist/public/operations/node-ports.js +71 -11
- 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 +3 -3
- package/dist/public/operations/repair-plan.d.ts.map +1 -1
- package/dist/public/operations/repair-plan.js +49 -18
- package/dist/public/operations/result-envelope.d.ts +14 -0
- package/dist/public/operations/result-envelope.d.ts.map +1 -0
- package/dist/public/operations/result-envelope.js +106 -0
- package/dist/public/operations/runtime-types.d.ts +102 -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-rules.generated.d.ts +5 -0
- package/dist/public/operations/specs/check-rules.generated.d.ts.map +1 -0
- package/dist/public/operations/specs/check-rules.generated.js +34 -0
- package/dist/public/operations/specs/check.d.ts +9 -4
- package/dist/public/operations/specs/check.d.ts.map +1 -1
- package/dist/public/operations/specs/check.js +10 -21
- 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 +251 -14
- package/dist/public/operations/specs/mutation-schemas.d.ts.map +1 -1
- package/dist/public/operations/specs/mutation-schemas.js +16 -6
- 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 +279 -0
- package/dist/public/operations/specs/planning.d.ts.map +1 -0
- package/dist/public/operations/specs/planning.js +197 -0
- package/dist/public/operations/specs/proof.d.ts +212 -0
- package/dist/public/operations/specs/proof.d.ts.map +1 -0
- package/dist/public/operations/specs/proof.js +30 -0
- package/dist/public/operations/specs/reporting.d.ts +23 -1
- package/dist/public/operations/specs/reporting.d.ts.map +1 -1
- package/dist/public/operations/specs/reporting.js +156 -11
- package/dist/public/operations/specs/upsert.d.ts +265 -14
- package/dist/public/operations/specs/upsert.d.ts.map +1 -1
- package/dist/public/operations/specs/upsert.js +9 -0
- package/dist/public/operations/symbol-repair-plan.d.ts +22 -0
- package/dist/public/operations/symbol-repair-plan.d.ts.map +1 -0
- package/dist/public/operations/symbol-repair-plan.js +238 -0
- package/dist/public/operations/types.d.ts +52 -1
- package/dist/public/operations/types.d.ts.map +1 -1
- package/dist/public/proof-fingerprint.d.ts +54 -0
- package/dist/public/proof-fingerprint.d.ts.map +1 -0
- package/dist/public/proof-fingerprint.js +141 -0
- package/dist/public/proof-protocol.d.ts +354 -0
- package/dist/public/proof-protocol.d.ts.map +1 -0
- package/dist/public/proof-protocol.js +454 -0
- package/dist/public/proof-receipt.d.ts +279 -0
- package/dist/public/proof-receipt.d.ts.map +1 -0
- package/dist/public/proof-receipt.js +377 -0
- package/dist/public/schemas/entity.d.ts.map +1 -1
- package/dist/public/schemas/entity.js +22 -6
- 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 +136 -231
- 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/proof.md +105 -0
- 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 +57 -4
- package/dist/public/symbol-granularity.d.ts +3 -14
- package/dist/public/symbol-granularity.d.ts.map +1 -1
- package/dist/public/symbol-granularity.generated.d.ts +16 -0
- package/dist/public/symbol-granularity.generated.d.ts.map +1 -0
- package/dist/public/symbol-granularity.generated.js +20 -0
- package/dist/public/symbol-granularity.js +6 -46
- package/dist/public/telemetry-acceptance.d.ts +3 -70
- package/dist/public/telemetry-acceptance.d.ts.map +1 -1
- package/dist/public/telemetry-acceptance.js +11 -2
- package/dist/public/telemetry-remediation.js +1 -1
- 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.css +282 -0
- package/dist/report/html-report.d.ts +21 -0
- package/dist/report/html-report.d.ts.map +1 -0
- package/dist/report/html-report.js +700 -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 +2 -0
- package/dist/runtime/cli-runtime.d.ts.map +1 -1
- package/dist/runtime/cli-runtime.js +90 -23
- package/dist/schemas/entity.schema.json +1254 -239
- package/dist/search-ranking.d.ts +1 -0
- package/dist/search-ranking.d.ts.map +1 -1
- package/dist/search-ranking.js +3 -0
- package/dist/traceability/evidence-model.d.ts +30 -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 +20 -0
- package/dist/traceability/git-staged.d.ts.map +1 -1
- package/dist/traceability/git-staged.js +156 -37
- package/dist/traceability/markdown-validate.d.ts.map +1 -1
- package/dist/traceability/markdown-validate.js +12 -7
- package/dist/traceability/staged-diagnostics.d.ts +7 -0
- package/dist/traceability/staged-diagnostics.d.ts.map +1 -1
- package/dist/traceability/staged-diagnostics.js +78 -7
- package/dist/traceability/staged-file-coverage.d.ts +33 -0
- package/dist/traceability/staged-file-coverage.d.ts.map +1 -0
- package/dist/traceability/staged-file-coverage.js +284 -0
- package/dist/traceability/staged-impact-contract.d.ts +3 -3
- package/dist/traceability/staged-impact-contract.d.ts.map +1 -1
- package/dist/traceability/staged-impact-contract.js +12 -40
- package/dist/traceability/staged-symbols-manifest.d.ts +13 -0
- package/dist/traceability/staged-symbols-manifest.d.ts.map +1 -1
- package/dist/traceability/staged-symbols-manifest.js +142 -26
- package/dist/traceability/symbol-extract.d.ts +5 -0
- package/dist/traceability/symbol-extract.d.ts.map +1 -1
- package/dist/traceability/symbol-extract.js +1 -1
- package/dist/traceability/temp-kb.d.ts +2 -0
- package/dist/traceability/temp-kb.d.ts.map +1 -1
- package/dist/traceability/temp-kb.js +14 -2
- package/dist/types/entities.d.ts +5 -0
- package/dist/types/entities.d.ts.map +1 -1
- package/dist/utils/branch-resolver.d.ts +25 -10
- package/dist/utils/branch-resolver.d.ts.map +1 -1
- package/dist/utils/branch-resolver.js +124 -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 +21 -0
- package/dist/utils/branch-store.d.ts.map +1 -0
- package/dist/utils/branch-store.js +157 -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 +42 -24
- package/dist/utils/rule-registry.d.ts.map +1 -1
- package/dist/utils/rule-registry.generated.d.ts +97 -0
- package/dist/utils/rule-registry.generated.d.ts.map +1 -0
- package/dist/utils/rule-registry.generated.js +125 -0
- package/dist/utils/rule-registry.js +52 -148
- 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 +1 -4
- package/dist/utils/strict-modeling.d.ts.map +1 -1
- package/dist/utils/strict-modeling.js +8 -9
- package/package.json +47 -11
- 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 +84 -6
- package/src/public/distribution-parity.ts +17 -9
- package/src/public/ignore-policy.ts +16 -10
- package/src/public/impact/coverage-depth-quality.ts +37 -1
- package/src/public/impact/diagnostics.ts +2 -1
- package/src/public/impact/diff-meaning.ts +11 -4
- package/src/public/impact/full-kb-quality.ts +545 -41
- package/src/public/impact/manifest.ts +2 -4
- package/src/public/operational-artifacts.ts +9 -1
- package/src/public/operations/catalog.ts +153 -10
- package/src/public/operations/check-executor.ts +98 -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 +382 -0
- package/src/public/operations/discovery-entities.ts +7 -0
- package/src/public/operations/discovery-executors.ts +315 -25
- package/src/public/operations/index.ts +9 -4
- package/src/public/operations/migration-plan.ts +747 -0
- package/src/public/operations/node-ports.ts +87 -13
- package/src/public/operations/prolog-json.ts +60 -5
- package/src/public/operations/repair-plan.ts +60 -22
- package/src/public/operations/result-envelope.ts +141 -0
- package/src/public/operations/runtime-types.ts +96 -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-rules.generated.ts +37 -0
- package/src/public/operations/specs/check.ts +14 -22
- 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 +24 -6
- package/src/public/operations/specs/mutation.ts +27 -2
- package/src/public/operations/specs/planning.ts +241 -0
- package/src/public/operations/specs/proof.ts +43 -0
- package/src/public/operations/specs/reporting.ts +193 -12
- package/src/public/operations/specs/upsert.ts +10 -0
- package/src/public/operations/symbol-repair-plan.ts +324 -0
- package/src/public/operations/types.ts +62 -1
- package/src/public/proof-fingerprint.ts +216 -0
- package/src/public/proof-protocol-types.d.ts +96 -0
- package/src/public/proof-protocol.ts +589 -0
- package/src/public/proof-receipt.ts +499 -0
- package/src/public/schemas/entity.ts +27 -6
- 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 +136 -231
- 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/proof.md +105 -0
- 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 +57 -4
- package/src/public/symbol-granularity.generated.ts +41 -0
- package/src/public/symbol-granularity.ts +35 -59
- package/src/public/telemetry-acceptance-types.d.ts +98 -0
- package/src/public/telemetry-acceptance.ts +30 -93
- package/src/public/telemetry-remediation.ts +1 -1
- package/src/schemas/entity.schema.json +1254 -239
- package/templates/github/kibi-badge.yml +86 -0
- package/templates/github/kibi-report.yml +84 -0
- package/dist/operations/autopilot/activation.d.ts +0 -4
- 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/guidance.d.ts.map +0 -1
- 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/dist/public/verification-receipt.d.ts +0 -75
- package/dist/public/verification-receipt.d.ts.map +0 -1
- package/dist/public/verification-receipt.js +0 -129
- package/src/public/skills/init-kibi/SKILL.md +0 -62
- package/src/public/verification-receipt.ts +0 -170
- /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,105 @@
|
|
|
1
|
+
# Proof and Verification Workflow
|
|
2
|
+
|
|
3
|
+
Use this resource when a requirement must be proven before handoff, when
|
|
4
|
+
wiring a proof-bearing test, or when `kb_ingest_proof` or `kibi prove`
|
|
5
|
+
rejected evidence.
|
|
6
|
+
|
|
7
|
+
Kibi does not support test runners. Kibi supports proof evidence. Any
|
|
8
|
+
producer (Playwright, pytest, JUnit, TAP, shell commands, database harnesses)
|
|
9
|
+
reports what happened as `kibi.proof-run.v1`; Kibi evaluates proof.
|
|
10
|
+
|
|
11
|
+
## Golden path
|
|
12
|
+
|
|
13
|
+
1. Query the test (`kb_query`, `type: test`) and read its
|
|
14
|
+
`kibi.proof-contract.v1`, `proof_bindings`, and `verification_scope`.
|
|
15
|
+
2. Run the configured producer through the canonical command:
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
kibi prove --test TEST-<id>
|
|
19
|
+
# or: kibi prove --requirement REQ-<id> | --integration <id> | --all
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
`kibi prove` captures the workspace snapshot, runs each integration's
|
|
23
|
+
producer once (`shell: false`), revalidates the snapshot, evaluates the
|
|
24
|
+
artifact against every selected contract, and appends idempotent
|
|
25
|
+
`kibi.proof-receipt.v1` receipts.
|
|
26
|
+
3. Confirm with `kb_status` (fresh, current snapshot) and `kb_coverage`.
|
|
27
|
+
|
|
28
|
+
Never hand-write receipts. Kibi derives them from validated
|
|
29
|
+
`kibi.proof-run.v1` artifacts only.
|
|
30
|
+
|
|
31
|
+
## Proof contracts
|
|
32
|
+
|
|
33
|
+
A proof-bearing test declares explicit obligations (never a Cartesian
|
|
34
|
+
cases-times-projects matrix):
|
|
35
|
+
|
|
36
|
+
```yaml
|
|
37
|
+
verification_scope: end_to_end
|
|
38
|
+
verification_perspective: consumer
|
|
39
|
+
proof_contract:
|
|
40
|
+
version: kibi.proof-contract.v1
|
|
41
|
+
integration: web-e2e # id from .kb/proof/integrations.json
|
|
42
|
+
required_proofs:
|
|
43
|
+
- symbol_id: SYM-PW-4F2A9C61B7D03E85
|
|
44
|
+
target: chromium # browser, runtime, db, device, or default
|
|
45
|
+
success_policy: all_required_first_attempt
|
|
46
|
+
proof_bindings: # optional provenance metadata
|
|
47
|
+
- symbol_id: SYM-PW-4F2A9C61B7D03E85
|
|
48
|
+
target: chromium
|
|
49
|
+
native_id: tests/checkout.spec.ts::accepts a card
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
Provenance lives in `proof_bindings`; the contract stays semantic.
|
|
53
|
+
|
|
54
|
+
## Integration configuration
|
|
55
|
+
|
|
56
|
+
`.kb/proof/integrations.json` (`kibi.proof-integration.v1`) is tracked,
|
|
57
|
+
Kibi-managed configuration describing evidence production only:
|
|
58
|
+
|
|
59
|
+
- `producer: command` — Kibi synthesizes the envelope from the process
|
|
60
|
+
outcome; obligations are bound with `aggregate_run` provenance and the
|
|
61
|
+
single process invocation counts as the known first attempt.
|
|
62
|
+
- `producer: playwright` (or custom) — the child emits `kibi.proof-run.v1`
|
|
63
|
+
itself (bundled reporter: `kibi-cli/playwright-reporter`).
|
|
64
|
+
- `producer: junit` / `tap` — Kibi converts the native report at `artifact`
|
|
65
|
+
using each test's `proof_bindings`; standard formats carry no retry
|
|
66
|
+
history, so attempts are reported as `unavailable` and fail the strict
|
|
67
|
+
first-attempt policy closed.
|
|
68
|
+
|
|
69
|
+
Cosmetic edits (descriptions, labels) never stale proof. Execution-relevant
|
|
70
|
+
edits (command, artifact, targets, options, bindings, contract) change the
|
|
71
|
+
effective fingerprint and do.
|
|
72
|
+
|
|
73
|
+
## Attempt semantics (factual, never optimistic)
|
|
74
|
+
|
|
75
|
+
- `attempts: {status: "complete", entries: [...]}` — known history; the
|
|
76
|
+
strict policy requires a passing **first** entry.
|
|
77
|
+
- `attempts: {status: "unavailable"}` — unknown native history; the strict
|
|
78
|
+
policy fails closed, except `aggregate_run` results, which are satisfied by
|
|
79
|
+
the Kibi-launched process attempt when the run passed with exit code 0.
|
|
80
|
+
- `run.outcome` is authoritative: a failed, errored, cancelled, interrupted,
|
|
81
|
+
or `no_results` run proves nothing, even with passing individual results.
|
|
82
|
+
|
|
83
|
+
## Common rejections
|
|
84
|
+
|
|
85
|
+
- `No proof integration configuration` — bootstrap has not configured proof
|
|
86
|
+
for this repository yet; do not hand-wave, run the bootstrap proof step.
|
|
87
|
+
- `captured snapshot is not the live workspace snapshot` — the tree changed
|
|
88
|
+
between capture and ingest; re-run `kibi prove`.
|
|
89
|
+
- `artifact command_argv does not match the configured command` — the
|
|
90
|
+
artifact came from a different command than `integrations.json` configures.
|
|
91
|
+
- `attempt history unavailable` — the producer could not prove first-attempt
|
|
92
|
+
success for a native-case obligation; use a producer with complete history
|
|
93
|
+
or accept aggregate provenance.
|
|
94
|
+
- `proof_receipts is append-only` — receipts are append-only; update tests
|
|
95
|
+
through the engine (which appends) or include the existing history when
|
|
96
|
+
authoring test files directly.
|
|
97
|
+
|
|
98
|
+
## After code changes
|
|
99
|
+
|
|
100
|
+
Receipts bind to the snapshot, contract hash, and execution fingerprint at
|
|
101
|
+
run time. Any code or source change moves the snapshot and stales receipts:
|
|
102
|
+
re-run `kibi prove` for the affected selection, then confirm `kb_status` and
|
|
103
|
+
`kb_coverage` before handoff.
|
|
104
|
+
|
|
105
|
+
Full reference: `docs/proving-requirements.md`.
|
|
@@ -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
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# Source-first authoring
|
|
2
|
+
|
|
3
|
+
Tracked Markdown, YAML, symbol manifests, and relationship shards are the
|
|
4
|
+
authoritative project memory. Prolog/RDF state is a rebuildable compiled
|
|
5
|
+
artifact. Kibi may transactionally write tracked files, but it never stages or
|
|
6
|
+
commits them; ordinary Git workflows remain responsible for review and merge.
|
|
7
|
+
|
|
8
|
+
`kb_upsert` accepts `document.path` and `document.body`. Existing entities use
|
|
9
|
+
their authored source by default and preserve body bytes when `body` is omitted.
|
|
10
|
+
New requirements use `semantic_text` as their body. If a new entity has zero or
|
|
11
|
+
multiple configured writable targets, provide an explicit workspace-relative
|
|
12
|
+
`document.path`; absolute, traversal, and symlink escapes are rejected.
|
|
13
|
+
|
|
14
|
+
New files are compiled only while their exact bytes are covered by a pending-
|
|
15
|
+
source receipt. Sync compiles Git-tracked files plus those hash-bound pending
|
|
16
|
+
files; arbitrary untracked files are ignored. Stage the file in Git to absorb
|
|
17
|
+
and remove its receipt. A changed or missing pending file is a blocking hash
|
|
18
|
+
drift diagnostic. Unresolved Git index conflicts are likewise blocking; Kibi
|
|
19
|
+
never chooses a merge winner.
|
|
20
|
+
|
|
21
|
+
Relationship upserts and relationship deletes patch only the canonical shard,
|
|
22
|
+
preserving unrelated records. Authored entity deletion returns a hash-bound
|
|
23
|
+
plan; approve that plan through `kb_apply_plan`. Evolve requirements with a new
|
|
24
|
+
requirement and `supersedes`, rather than deleting the old semantic claim.
|
|
25
|
+
|
|
26
|
+
On `committed_with_repairs`, inspect `effects` and execute the typed required
|
|
27
|
+
`nextActions`. Never retry the original mutation after its authoritative commit.
|
|
28
|
+
Cancellation follows the same rule: wait for the terminal journal state. A
|
|
29
|
+
pre-commit rollback is retryable, a committed source with a failed derivative
|
|
30
|
+
is repairable, and an indeterminate outcome is non-retryable until its recovery
|
|
31
|
+
action resolves the journal.
|
|
@@ -1,5 +1,38 @@
|
|
|
1
1
|
# Workflows
|
|
2
2
|
|
|
3
|
+
## Closeout contract
|
|
4
|
+
|
|
5
|
+
End every task with these five independent fields (not a single inferred
|
|
6
|
+
success flag):
|
|
7
|
+
|
|
8
|
+
```text
|
|
9
|
+
taskOutcome: complete | interim | blocked
|
|
10
|
+
kbState: clean_fresh | stale | dirty | legacy_compat | not_evaluated
|
|
11
|
+
verificationState: fresh | dirty | unavailable | not_evaluated
|
|
12
|
+
proofState: proven | mixed | unresolved | not_evaluated
|
|
13
|
+
limitationDisposition: none | accepted | unaccepted | not_applicable
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
`taskOutcome` describes whether the requested objective was completed. The
|
|
17
|
+
other fields describe observed system state. A clean check can coexist with a
|
|
18
|
+
stale or dirty KB; unresolved proof can coexist with a complete maintenance
|
|
19
|
+
task. An accepted limitation is an auditable operator decision, never logical
|
|
20
|
+
grounding, receipt editing, or proof. For every quality diagnostic, record its
|
|
21
|
+
ID, one of `fixed`, `accepted`, or `deferred`, and a rationale. Keep accepted
|
|
22
|
+
ontology gaps and historical telemetry limitations explicit.
|
|
23
|
+
|
|
24
|
+
Receipt reuse is safe only when the live verification snapshot, contract hash,
|
|
25
|
+
freshness window, and every required case result still match. Otherwise rerun
|
|
26
|
+
the contracted command. If the contract changed, retain every older receipt
|
|
27
|
+
unchanged, append evidence for the current contract, and keep proof unresolved
|
|
28
|
+
with `proof_contract_mismatch` until that current receipt exists.
|
|
29
|
+
Obsolete symbols require current extraction or Git evidence before
|
|
30
|
+
remap/deletion; transfer coverage only when existing test evidence supports it,
|
|
31
|
+
then sync and read back status. Same-version packages with different export
|
|
32
|
+
surfaces are a release defect: require a new package version and label any
|
|
33
|
+
project override temporary. This skill never selects a package manager or
|
|
34
|
+
edits dependency configuration.
|
|
35
|
+
|
|
3
36
|
## Discovery to Validation Sequence
|
|
4
37
|
|
|
5
38
|
The canonical workflow for any KB operation follows this pattern:
|
|
@@ -13,7 +46,7 @@ The canonical workflow for any KB operation follows this pattern:
|
|
|
13
46
|
7. **Create endpoints**: validated `kb_upsert` for new entities, sequentially
|
|
14
47
|
8. **Link**: validated `kb_upsert` with `requires_rule`, `requires_predicate`, `constrains`, or `requires_property`, sequentially
|
|
15
48
|
9. **Validate coverage and consistency**: targeted `rule-safety`, `rule-verifiability`, `semantic-completeness`, `logic-coverage`, `predicate-verifiability`, and `domain-contradictions`, then final full `kb_check`
|
|
16
|
-
10. **Prove execution**: read `kb_status.
|
|
49
|
+
10. **Prove execution**: read `kb_status.proofSnapshot`, run `kibi prove` so each configured integration executes once and its `kibi.proof-run.v1` artifact is evaluated against every selected test's `kibi.proof-contract.v1` obligations, appending idempotent `kibi.proof-receipt.v1` receipts; then re-run `kb_coverage`. Never promote durable test status into fresh evidence.
|
|
17
50
|
11. **Repair incrementally**: require `kb_coverage.repairPlan.scope.complete`, apply only one `ready` dependency batch per requirement, validate before every sequential write, and rerun coverage before selecting the next batch
|
|
18
51
|
12. **Gate workflow evidence**: when `.kb/usage.log` exists, run `kibi usage-metrics --format json --require-acceptance`; repair ranked telemetry diagnostics and never treat stale or insufficient evidence as a pass
|
|
19
52
|
|
|
@@ -23,6 +56,26 @@ Every current requirement without `logic_claims` remains visible as non-blocking
|
|
|
23
56
|
|
|
24
57
|
`kibi.telemetry-acceptance.v1` evaluates the latest 200 usage events and keeps process health separate from graph correctness. It requires at least 95% complete diagnostic telemetry and, when applicable, exact recent validation before every upsert and a same-requirement/current-hash advisor pass before requirement writes. It also evaluates source lookup misses, comparable complete-scope proof-gap recovery, receipt-specific coverage gaps, and mutation targets retried three or more times. Failed metrics become ranked `category: telemetry` quality diagnostics; missing current coverage fields or evidence older than seven days stays `insufficient_evidence`.
|
|
25
58
|
|
|
59
|
+
## Agent-guided migration
|
|
60
|
+
|
|
61
|
+
`kb_status`, unfiltered `kb_check`, and complete-scope `kb_coverage` may return
|
|
62
|
+
the shared `kibi.migration-plan.v2`. Treat it as a typed action graph: inspect
|
|
63
|
+
the canonical `planHash`, scope completeness, dependencies, safety class,
|
|
64
|
+
preconditions, postconditions, and evidence. Apply only ready automatic actions
|
|
65
|
+
with `autoApplicable: true` through an explicitly approved `kb_apply_plan` or
|
|
66
|
+
`kibi migrate --apply-safe` request containing the exact hash and action IDs.
|
|
67
|
+
Never infer an operation from a prose suggestion, and never apply a partial
|
|
68
|
+
plan's destructive symbol or relationship action.
|
|
69
|
+
|
|
70
|
+
The migration engine may normalize schema/config metadata, cut over validated
|
|
71
|
+
legacy storage with backups, migrate the exact historical branch attachment,
|
|
72
|
+
refresh coordinates, and perform provenance-proven stale cleanup. It does not
|
|
73
|
+
choose package managers, ground semantic claims, resolve contradictions, rerun
|
|
74
|
+
E2E tests, rewrite receipt history, remap authored symbols, or accept
|
|
75
|
+
limitations. Those actions remain explicit review/operator/execution steps.
|
|
76
|
+
|
|
77
|
+
For `e2e_receipt_freshness_low`, query each listed requirement/test gap and run `kibi prove --requirement <id>` (or the covering integration); this appends proof receipts idempotently and preserves history. If `coverage_depth_review` conflicts with a coverage row whose `proofStages.passingE2e.status` is `passed`, report the diagnostic as a stale heuristic and keep any independent proof gaps unresolved.
|
|
78
|
+
|
|
26
79
|
## Creating a New Feature
|
|
27
80
|
```
|
|
28
81
|
1. kb_search to discover existing requirements and related knowledge
|
|
@@ -48,12 +101,12 @@ Do not create a test-fact pair. Facts describe invariants; requirements or scena
|
|
|
48
101
|
## Fresh E2E Receipt Workflow
|
|
49
102
|
|
|
50
103
|
1. Confirm the exact `REQ -> SCEN -> TEST` path and require typed `verification_scope: end_to_end`; direct requirement-to-test links do not satisfy the conservative scenario stage.
|
|
51
|
-
2. Read `kb_status` and retain its available `
|
|
104
|
+
2. Read `kb_status` and retain its available `proofSnapshot`. Stop if the runtime reports `unknown`; proof must fail closed when the code identity cannot be computed.
|
|
52
105
|
3. Run the exact E2E command against that snapshot. Record runner, command, start/finish timestamps, outcome, an environment SHA-256, and an artifact/output SHA-256. Do not mint a passed receipt from an authored test status or from an unexecuted assertion.
|
|
53
|
-
4. Preserve every existing receipt byte-for-byte and append
|
|
106
|
+
4. Preserve every existing receipt byte-for-byte and append the derived `kibi.proof-receipt.v1` object with strictly later `finished_at`. Earlier receipts may bind older contracts or fingerprints; they remain audit history but cannot prove the current contract. Mutation and incremental sync reject history removal, rewriting, and reordering.
|
|
54
107
|
5. Re-read `kb_status`; if the snapshot changed during the run, discard the candidate as proof and rerun against the new snapshot. Then run `kb_coverage` and inspect `proofStages.passingE2e.receiptEvidence` plus gap codes.
|
|
55
108
|
|
|
56
|
-
Only the newest receipt
|
|
109
|
+
Only the newest receipt matching the live snapshot, current contract hash, and current execution fingerprint qualifies, and it must be passed, no more than seven days old, and no more than five minutes in the future. Wrong-snapshot and older-contract history is retained but cannot prove the current test. `missing_proof_receipt`, `stale_proof_receipt`, `failed_proof_receipt`, `invalid_proof_receipt`, `proof_contract_mismatch`, and `proof_snapshot_unavailable` are repair states, not warnings to waive.
|
|
57
110
|
|
|
58
111
|
## Predicate-First Requirement Modeling
|
|
59
112
|
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* This file is generated by scripts/generate-symbol-classification.mjs from
|
|
3
|
+
* packages/core/schema/symbol-classification.json. Do not edit directly.
|
|
4
|
+
*
|
|
5
|
+
* Single source for the symbol-classification vocabulary shared by the
|
|
6
|
+
* granularity validator, the staged manifest gate, the coordinate refresher,
|
|
7
|
+
* and proof production. Regenerate with: bun run symbols:generate
|
|
8
|
+
*/
|
|
9
|
+
// implements REQ-core-extractors
|
|
10
|
+
|
|
11
|
+
export const ALLOWED_GRANULARITY_REASONS = ["config-artifact","module-level-behavior","extractor-miss","legacy-link","test-suite"] as const;
|
|
12
|
+
|
|
13
|
+
export type GranularityReason =
|
|
14
|
+
(typeof ALLOWED_GRANULARITY_REASONS)[number];
|
|
15
|
+
|
|
16
|
+
export const COARSE_GRANULARITY_REASONS = ["config-artifact","module-level-behavior","extractor-miss","test-suite"] as const;
|
|
17
|
+
|
|
18
|
+
export type CoarseGranularityReason =
|
|
19
|
+
(typeof COARSE_GRANULARITY_REASONS)[number];
|
|
20
|
+
|
|
21
|
+
export const SYMBOL_ROLES = ["behavioral","structural","type-shape","config","module","unknown"] as const;
|
|
22
|
+
|
|
23
|
+
export type SymbolRole = (typeof SYMBOL_ROLES)[number];
|
|
24
|
+
|
|
25
|
+
export const ROLE_INFERENCE: Readonly<
|
|
26
|
+
Record<string, SymbolRole>
|
|
27
|
+
> = {"function":"behavioral","class":"behavioral","method":"behavioral","property":"behavioral","accessor":"behavioral","interface":"type-shape","type":"type-shape","enum":"type-shape","variable":"unknown","unknown":"unknown"};
|
|
28
|
+
|
|
29
|
+
export const TRACEABILITY_RELATIONSHIP_TYPES = ["implements","covered_by","executable_for"] as const;
|
|
30
|
+
|
|
31
|
+
export type TraceabilityRelationshipType =
|
|
32
|
+
(typeof TRACEABILITY_RELATIONSHIP_TYPES)[number];
|
|
33
|
+
|
|
34
|
+
/** Comma-or list of every allowed granularity reason ("a, b, or c"). */
|
|
35
|
+
export const ALLOWED_GRANULARITY_REASONS_PROSE = "config-artifact, module-level-behavior, extractor-miss, legacy-link, or test-suite";
|
|
36
|
+
|
|
37
|
+
/** Comma-or list of the coarse granularity reasons ("a, b, or c"). */
|
|
38
|
+
export const COARSE_GRANULARITY_REASONS_PROSE = "config-artifact, module-level-behavior, extractor-miss, or test-suite";
|
|
39
|
+
|
|
40
|
+
/** Parenthesized coarse list for inline suggestions ("(a, b, c, d)"). */
|
|
41
|
+
export const COARSE_GRANULARITY_REASONS_PARENTHESIZED = "(config-artifact, module-level-behavior, extractor-miss, test-suite)";
|
|
@@ -1,47 +1,37 @@
|
|
|
1
|
-
|
|
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
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
*/
|
|
36
|
-
export const COARSE_GRANULARITY_REASONS = [
|
|
37
|
-
"config-artifact",
|
|
38
|
-
"module-level-behavior",
|
|
39
|
-
"extractor-miss",
|
|
40
|
-
"test-suite",
|
|
41
|
-
] as const;
|
|
42
|
-
|
|
43
|
-
export type CoarseGranularityReason =
|
|
44
|
-
(typeof COARSE_GRANULARITY_REASONS)[number];
|
|
1
|
+
import {
|
|
2
|
+
ALLOWED_GRANULARITY_REASONS,
|
|
3
|
+
ALLOWED_GRANULARITY_REASONS_PROSE,
|
|
4
|
+
COARSE_GRANULARITY_REASONS,
|
|
5
|
+
COARSE_GRANULARITY_REASONS_PARENTHESIZED,
|
|
6
|
+
COARSE_GRANULARITY_REASONS_PROSE,
|
|
7
|
+
ROLE_INFERENCE,
|
|
8
|
+
SYMBOL_ROLES,
|
|
9
|
+
TRACEABILITY_RELATIONSHIP_TYPES,
|
|
10
|
+
type CoarseGranularityReason,
|
|
11
|
+
type GranularityReason,
|
|
12
|
+
type SymbolRole,
|
|
13
|
+
type TraceabilityRelationshipType,
|
|
14
|
+
} from "./symbol-granularity.generated.js";
|
|
15
|
+
|
|
16
|
+
// The vocabulary is GENERATED from packages/core/schema/symbol-classification.json
|
|
17
|
+
// (scripts/generate-symbol-classification.mjs) so the TS constants, the manifest
|
|
18
|
+
// gate copy, the sync failure suggestions, and the Prolog facts share one source.
|
|
19
|
+
export {
|
|
20
|
+
ALLOWED_GRANULARITY_REASONS,
|
|
21
|
+
ALLOWED_GRANULARITY_REASONS_PROSE,
|
|
22
|
+
COARSE_GRANULARITY_REASONS,
|
|
23
|
+
COARSE_GRANULARITY_REASONS_PARENTHESIZED,
|
|
24
|
+
COARSE_GRANULARITY_REASONS_PROSE,
|
|
25
|
+
ROLE_INFERENCE,
|
|
26
|
+
SYMBOL_ROLES,
|
|
27
|
+
TRACEABILITY_RELATIONSHIP_TYPES,
|
|
28
|
+
};
|
|
29
|
+
export type {
|
|
30
|
+
CoarseGranularityReason,
|
|
31
|
+
GranularityReason,
|
|
32
|
+
SymbolRole,
|
|
33
|
+
TraceabilityRelationshipType,
|
|
34
|
+
} from "./symbol-granularity.generated.js";
|
|
45
35
|
|
|
46
36
|
export type SymbolKind =
|
|
47
37
|
| "function"
|
|
@@ -74,21 +64,7 @@ const coarseGranularityReasonSet: ReadonlySet<string> = new Set(
|
|
|
74
64
|
);
|
|
75
65
|
|
|
76
66
|
export function inferSymbolRole(kind: SymbolKind): SymbolRole {
|
|
77
|
-
|
|
78
|
-
case "function":
|
|
79
|
-
case "class":
|
|
80
|
-
case "method":
|
|
81
|
-
case "property":
|
|
82
|
-
case "accessor":
|
|
83
|
-
return "behavioral";
|
|
84
|
-
case "interface":
|
|
85
|
-
case "type":
|
|
86
|
-
case "enum":
|
|
87
|
-
return "type-shape";
|
|
88
|
-
case "variable":
|
|
89
|
-
case "unknown":
|
|
90
|
-
return "unknown";
|
|
91
|
-
}
|
|
67
|
+
return ROLE_INFERENCE[kind] ?? "unknown";
|
|
92
68
|
}
|
|
93
69
|
|
|
94
70
|
export const inferSymbolRoleFromKind = inferSymbolRole;
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
// implements REQ-kibi-telemetry-acceptance-gate
|
|
2
|
+
export type TelemetryMetricStatus =
|
|
3
|
+
| "passed"
|
|
4
|
+
| "failed"
|
|
5
|
+
| "insufficient_evidence"
|
|
6
|
+
| "not_applicable";
|
|
7
|
+
|
|
8
|
+
export type TelemetryAcceptanceStatus =
|
|
9
|
+
| "passed"
|
|
10
|
+
| "failed"
|
|
11
|
+
| "insufficient_evidence";
|
|
12
|
+
|
|
13
|
+
export type TelemetryMetricId =
|
|
14
|
+
| "telemetry_completeness"
|
|
15
|
+
| "advisor_before_requirement_write"
|
|
16
|
+
| "validation_before_upsert"
|
|
17
|
+
| "source_lookup_zero_result_rate"
|
|
18
|
+
| "proof_gap_recovery"
|
|
19
|
+
| "e2e_receipt_freshness"
|
|
20
|
+
| "repeated_mutation_failures";
|
|
21
|
+
|
|
22
|
+
export interface TelemetryUsageEvent {
|
|
23
|
+
readonly timestamp?: string;
|
|
24
|
+
readonly request_id?: string;
|
|
25
|
+
readonly session_id?: string;
|
|
26
|
+
readonly actor_id?: string;
|
|
27
|
+
readonly tool?: string;
|
|
28
|
+
readonly status?: string;
|
|
29
|
+
readonly success?: boolean;
|
|
30
|
+
readonly telemetry?: unknown;
|
|
31
|
+
readonly telemetry_status?: string;
|
|
32
|
+
readonly business_args?: Readonly<Record<string, unknown>>;
|
|
33
|
+
readonly args?: Readonly<Record<string, unknown>>;
|
|
34
|
+
readonly mutation_fingerprint?: string;
|
|
35
|
+
readonly mutation_target?: string;
|
|
36
|
+
readonly validation_valid?: boolean;
|
|
37
|
+
readonly semantic_source_hash?: string;
|
|
38
|
+
readonly coverage_by?: string;
|
|
39
|
+
readonly coverage_scope_complete?: boolean;
|
|
40
|
+
readonly coverage_proof_gap_count?: number;
|
|
41
|
+
readonly coverage_receipt_gap_count?: number;
|
|
42
|
+
readonly coverage_receipt_gaps?: readonly Readonly<{
|
|
43
|
+
readonly requirementId: string;
|
|
44
|
+
readonly testIds: readonly string[];
|
|
45
|
+
readonly codes: readonly string[];
|
|
46
|
+
}>[];
|
|
47
|
+
readonly coverage_receipt_gap_total?: number;
|
|
48
|
+
readonly coverage_receipt_gaps_truncated?: boolean;
|
|
49
|
+
readonly zero_results?: boolean;
|
|
50
|
+
readonly result_count?: number;
|
|
51
|
+
readonly error_category?: string;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
export interface TelemetryAcceptancePolicy {
|
|
55
|
+
readonly eventLimit: number;
|
|
56
|
+
readonly minimumEvents: number;
|
|
57
|
+
readonly maxEvidenceAgeSeconds: number;
|
|
58
|
+
readonly maxFutureSkewSeconds: number;
|
|
59
|
+
readonly telemetryCompletenessMinimum: number;
|
|
60
|
+
readonly validationBeforeUpsertMinimum: number;
|
|
61
|
+
readonly advisorBeforeRequirementWriteMinimum: number;
|
|
62
|
+
readonly sourceLookupZeroResultMaximum: number;
|
|
63
|
+
readonly preflightMaxAgeSeconds: number;
|
|
64
|
+
readonly advisorMaxAgeSeconds: number;
|
|
65
|
+
readonly repeatedMutationFailureThreshold: number;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
export interface TelemetryAcceptanceMetric {
|
|
69
|
+
readonly id: TelemetryMetricId;
|
|
70
|
+
readonly status: TelemetryMetricStatus;
|
|
71
|
+
readonly numerator: number;
|
|
72
|
+
readonly denominator: number;
|
|
73
|
+
readonly rate?: number;
|
|
74
|
+
readonly threshold?: Readonly<{
|
|
75
|
+
operator: ">=" | "<=" | "<";
|
|
76
|
+
value: number;
|
|
77
|
+
}>;
|
|
78
|
+
readonly message: string;
|
|
79
|
+
readonly evidence?: Readonly<Record<string, unknown>>;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
export interface TelemetryAcceptanceReport {
|
|
83
|
+
readonly version: "kibi.telemetry-acceptance.v1";
|
|
84
|
+
readonly status: TelemetryAcceptanceStatus;
|
|
85
|
+
readonly evaluatedAt: string;
|
|
86
|
+
readonly policy: TelemetryAcceptancePolicy;
|
|
87
|
+
readonly scope: Readonly<{
|
|
88
|
+
totalEvents: number;
|
|
89
|
+
evaluatedEvents: number;
|
|
90
|
+
truncated: boolean;
|
|
91
|
+
firstTimestamp: string | null;
|
|
92
|
+
lastTimestamp: string | null;
|
|
93
|
+
evidenceAgeSeconds: number | null;
|
|
94
|
+
fresh: boolean;
|
|
95
|
+
}>;
|
|
96
|
+
readonly metrics: readonly TelemetryAcceptanceMetric[];
|
|
97
|
+
readonly diagnostics: readonly string[];
|
|
98
|
+
}
|
|
@@ -1,99 +1,27 @@
|
|
|
1
1
|
import type { QualityDiagnostic } from "./impact/types.js";
|
|
2
|
+
import type {
|
|
3
|
+
TelemetryAcceptanceMetric,
|
|
4
|
+
TelemetryAcceptancePolicy,
|
|
5
|
+
TelemetryAcceptanceReport,
|
|
6
|
+
TelemetryAcceptanceStatus,
|
|
7
|
+
TelemetryMetricId,
|
|
8
|
+
TelemetryMetricStatus,
|
|
9
|
+
TelemetryUsageEvent,
|
|
10
|
+
} from "./telemetry-acceptance-types.js";
|
|
11
|
+
|
|
12
|
+
export type {
|
|
13
|
+
TelemetryAcceptanceMetric,
|
|
14
|
+
TelemetryAcceptancePolicy,
|
|
15
|
+
TelemetryAcceptanceReport,
|
|
16
|
+
TelemetryAcceptanceStatus,
|
|
17
|
+
TelemetryMetricId,
|
|
18
|
+
TelemetryMetricStatus,
|
|
19
|
+
TelemetryUsageEvent,
|
|
20
|
+
} from "./telemetry-acceptance-types.js";
|
|
2
21
|
|
|
3
22
|
export const TELEMETRY_ACCEPTANCE_VERSION =
|
|
4
23
|
"kibi.telemetry-acceptance.v1" as const;
|
|
5
24
|
|
|
6
|
-
export type TelemetryMetricStatus =
|
|
7
|
-
| "passed"
|
|
8
|
-
| "failed"
|
|
9
|
-
| "insufficient_evidence"
|
|
10
|
-
| "not_applicable";
|
|
11
|
-
|
|
12
|
-
export type TelemetryAcceptanceStatus =
|
|
13
|
-
| "passed"
|
|
14
|
-
| "failed"
|
|
15
|
-
| "insufficient_evidence";
|
|
16
|
-
|
|
17
|
-
export type TelemetryMetricId =
|
|
18
|
-
| "telemetry_completeness"
|
|
19
|
-
| "advisor_before_requirement_write"
|
|
20
|
-
| "validation_before_upsert"
|
|
21
|
-
| "source_lookup_zero_result_rate"
|
|
22
|
-
| "proof_gap_recovery"
|
|
23
|
-
| "e2e_receipt_freshness"
|
|
24
|
-
| "repeated_mutation_failures";
|
|
25
|
-
|
|
26
|
-
export interface TelemetryUsageEvent {
|
|
27
|
-
readonly timestamp?: string;
|
|
28
|
-
readonly request_id?: string;
|
|
29
|
-
readonly session_id?: string;
|
|
30
|
-
readonly actor_id?: string;
|
|
31
|
-
readonly tool?: string;
|
|
32
|
-
readonly status?: string;
|
|
33
|
-
readonly success?: boolean;
|
|
34
|
-
readonly telemetry?: unknown;
|
|
35
|
-
readonly telemetry_status?: string;
|
|
36
|
-
readonly business_args?: Readonly<Record<string, unknown>>;
|
|
37
|
-
readonly args?: Readonly<Record<string, unknown>>;
|
|
38
|
-
readonly mutation_fingerprint?: string;
|
|
39
|
-
readonly mutation_target?: string;
|
|
40
|
-
readonly validation_valid?: boolean;
|
|
41
|
-
readonly semantic_source_hash?: string;
|
|
42
|
-
readonly coverage_by?: string;
|
|
43
|
-
readonly coverage_scope_complete?: boolean;
|
|
44
|
-
readonly coverage_proof_gap_count?: number;
|
|
45
|
-
readonly coverage_receipt_gap_count?: number;
|
|
46
|
-
readonly zero_results?: boolean;
|
|
47
|
-
readonly result_count?: number;
|
|
48
|
-
readonly error_category?: string;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
export interface TelemetryAcceptancePolicy {
|
|
52
|
-
readonly eventLimit: number;
|
|
53
|
-
readonly minimumEvents: number;
|
|
54
|
-
readonly maxEvidenceAgeSeconds: number;
|
|
55
|
-
readonly maxFutureSkewSeconds: number;
|
|
56
|
-
readonly telemetryCompletenessMinimum: number;
|
|
57
|
-
readonly validationBeforeUpsertMinimum: number;
|
|
58
|
-
readonly advisorBeforeRequirementWriteMinimum: number;
|
|
59
|
-
readonly sourceLookupZeroResultMaximum: number;
|
|
60
|
-
readonly preflightMaxAgeSeconds: number;
|
|
61
|
-
readonly advisorMaxAgeSeconds: number;
|
|
62
|
-
readonly repeatedMutationFailureThreshold: number;
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
export interface TelemetryAcceptanceMetric {
|
|
66
|
-
readonly id: TelemetryMetricId;
|
|
67
|
-
readonly status: TelemetryMetricStatus;
|
|
68
|
-
readonly numerator: number;
|
|
69
|
-
readonly denominator: number;
|
|
70
|
-
readonly rate?: number;
|
|
71
|
-
readonly threshold?: Readonly<{
|
|
72
|
-
operator: ">=" | "<=" | "<";
|
|
73
|
-
value: number;
|
|
74
|
-
}>;
|
|
75
|
-
readonly message: string;
|
|
76
|
-
readonly evidence?: Readonly<Record<string, unknown>>;
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
export interface TelemetryAcceptanceReport {
|
|
80
|
-
readonly version: typeof TELEMETRY_ACCEPTANCE_VERSION;
|
|
81
|
-
readonly status: TelemetryAcceptanceStatus;
|
|
82
|
-
readonly evaluatedAt: string;
|
|
83
|
-
readonly policy: TelemetryAcceptancePolicy;
|
|
84
|
-
readonly scope: Readonly<{
|
|
85
|
-
totalEvents: number;
|
|
86
|
-
evaluatedEvents: number;
|
|
87
|
-
truncated: boolean;
|
|
88
|
-
firstTimestamp: string | null;
|
|
89
|
-
lastTimestamp: string | null;
|
|
90
|
-
evidenceAgeSeconds: number | null;
|
|
91
|
-
fresh: boolean;
|
|
92
|
-
}>;
|
|
93
|
-
readonly metrics: readonly TelemetryAcceptanceMetric[];
|
|
94
|
-
readonly diagnostics: readonly string[];
|
|
95
|
-
}
|
|
96
|
-
|
|
97
25
|
export const DEFAULT_TELEMETRY_ACCEPTANCE_POLICY = {
|
|
98
26
|
eventLimit: 200,
|
|
99
27
|
minimumEvents: 20,
|
|
@@ -204,7 +132,7 @@ function rate(numerator: number, denominator: number): number | undefined {
|
|
|
204
132
|
return denominator === 0 ? undefined : numerator / denominator;
|
|
205
133
|
}
|
|
206
134
|
|
|
207
|
-
function thresholdStatus(
|
|
135
|
+
export function thresholdStatus(
|
|
208
136
|
actual: number | undefined,
|
|
209
137
|
operator: ">=" | "<=" | "<",
|
|
210
138
|
expected: number,
|
|
@@ -570,6 +498,14 @@ function receiptFreshnessMetric(recent: readonly TimedEvent[]): MutableMetric {
|
|
|
570
498
|
gapCount === 0
|
|
571
499
|
? "The latest complete requirement coverage event has no receipt-specific gaps."
|
|
572
500
|
: `The latest complete requirement coverage event has ${gapCount} missing, stale, failed, invalid, or uncheckable receipt gaps.`,
|
|
501
|
+
evidence: {
|
|
502
|
+
receiptGaps: latest.coverage_receipt_gaps ?? [],
|
|
503
|
+
receiptGapTotal:
|
|
504
|
+
latest.coverage_receipt_gap_total ??
|
|
505
|
+
latest.coverage_receipt_gaps?.length ??
|
|
506
|
+
0,
|
|
507
|
+
receiptGapsTruncated: latest.coverage_receipt_gaps_truncated ?? false,
|
|
508
|
+
},
|
|
573
509
|
};
|
|
574
510
|
}
|
|
575
511
|
|
|
@@ -765,7 +701,7 @@ const METRIC_DIAGNOSTICS: Readonly<
|
|
|
765
701
|
severity: "warning",
|
|
766
702
|
rank: 40,
|
|
767
703
|
suggestion:
|
|
768
|
-
"Run
|
|
704
|
+
"Run the configured proof integrations with kibi prove against the live snapshot; receipts append idempotently with preserved history, then rerun complete coverage.",
|
|
769
705
|
},
|
|
770
706
|
repeated_mutation_failures: {
|
|
771
707
|
id: "repeated_mutation_failures",
|
|
@@ -832,6 +768,7 @@ export function createTelemetryAcceptanceDiagnostics(
|
|
|
832
768
|
for (const metric of report.metrics) {
|
|
833
769
|
if (metric.status !== "failed") continue;
|
|
834
770
|
const definition = METRIC_DIAGNOSTICS[metric.id];
|
|
771
|
+
if (!definition) continue;
|
|
835
772
|
diagnostics.push({
|
|
836
773
|
id: definition.id,
|
|
837
774
|
severity: definition.severity,
|
|
@@ -393,7 +393,7 @@ export function buildTelemetryRemediationReport(
|
|
|
393
393
|
latestCoverage,
|
|
394
394
|
"coverage:req",
|
|
395
395
|
`The latest complete report has ${latestCoverage.event.coverage_receipt_gap_count} receipt gaps.`,
|
|
396
|
-
"Run the cited
|
|
396
|
+
"Run `kibi prove` for the cited requirements or integrations; receipts append idempotently with preserved history, then sync and rerun coverage.",
|
|
397
397
|
)
|
|
398
398
|
: reportItem(
|
|
399
399
|
"e2e_receipt_freshness",
|