kibi-cli 1.0.1 → 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.js +3 -3
- package/dist/cli-operation-metadata.d.ts +4 -3
- package/dist/cli-operation-metadata.d.ts.map +1 -1
- package/dist/cli-operation-metadata.js +7 -5
- package/dist/cli-protocol.js +1 -1
- 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 +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 +1 -0
- package/dist/cli.d.ts +4 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +17 -10
- package/dist/commands/branch.d.ts +1 -0
- package/dist/commands/branch.d.ts.map +1 -1
- package/dist/commands/branch.js +8 -4
- package/dist/commands/check.d.ts +14 -0
- package/dist/commands/check.d.ts.map +1 -1
- package/dist/commands/check.js +190 -44
- 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/doctor.d.ts +22 -0
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +48 -22
- package/dist/commands/engine.d.ts +12 -0
- package/dist/commands/engine.d.ts.map +1 -1
- package/dist/commands/engine.js +40 -0
- package/dist/commands/github-init.d.ts +1 -0
- package/dist/commands/github-init.d.ts.map +1 -1
- package/dist/commands/github-init.js +9 -5
- package/dist/commands/init-helpers.d.ts.map +1 -1
- package/dist/commands/init-helpers.js +38 -5
- package/dist/commands/migrate.d.ts +4 -0
- package/dist/commands/migrate.d.ts.map +1 -1
- package/dist/commands/migrate.js +7 -7
- 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.js +1 -1
- package/dist/commands/sync/discovery.d.ts +3 -0
- package/dist/commands/sync/discovery.d.ts.map +1 -1
- package/dist/commands/sync/discovery.js +36 -28
- package/dist/commands/sync/manifest.d.ts +1 -1
- package/dist/commands/sync/manifest.d.ts.map +1 -1
- package/dist/commands/sync/manifest.js +53 -21
- 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 +25 -14
- 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 +11 -1
- package/dist/commands/sync.d.ts.map +1 -1
- package/dist/commands/sync.js +74 -30
- 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 +14 -76
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js +197 -30
- package/dist/extractors/manifest.d.ts +5 -0
- package/dist/extractors/manifest.d.ts.map +1 -1
- package/dist/extractors/manifest.js +46 -1
- package/dist/extractors/markdown.d.ts +5 -3
- package/dist/extractors/markdown.d.ts.map +1 -1
- package/dist/extractors/markdown.js +41 -24
- package/dist/extractors/playwright-cases.js +1 -1
- package/dist/extractors/relationships.d.ts +6 -0
- package/dist/extractors/relationships.d.ts.map +1 -1
- package/dist/extractors/relationships.js +1 -1
- package/dist/extractors/symbol-coordinates.d.ts.map +1 -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 +1 -0
- package/dist/intent-search.d.ts.map +1 -1
- package/dist/intent-search.js +7 -3
- 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 +2 -1
- package/dist/operations/bootstrap/activation.d.ts.map +1 -1
- package/dist/operations/bootstrap/activation.js +11 -3
- package/dist/operations/bootstrap/generate.d.ts +2 -1
- package/dist/operations/bootstrap/generate.d.ts.map +1 -1
- package/dist/operations/bootstrap/generate.js +6 -3
- package/dist/operations/bootstrap/guidance.d.ts +1 -0
- package/dist/operations/bootstrap/guidance.d.ts.map +1 -1
- package/dist/operations/bootstrap/guidance.js +1 -1
- 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 +53 -46
- package/dist/operations/modeling/predicate-applicability.d.ts.map +1 -1
- package/dist/operations/modeling/predicate-applicability.js +103 -4
- 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-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-loader.d.ts +1 -0
- package/dist/operations/modeling/predicate-loader.d.ts.map +1 -1
- package/dist/operations/modeling/predicate-loader.js +4 -3
- package/dist/operations/modeling/predicate-ranker.d.ts.map +1 -1
- package/dist/operations/modeling/predicate-ranker.js +4 -1
- package/dist/operations/modeling/predicate-types.d.ts +1 -1
- package/dist/operations/modeling/predicate-types.d.ts.map +1 -1
- 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/suggest-predicates.d.ts +3 -1
- package/dist/operations/modeling/suggest-predicates.d.ts.map +1 -1
- package/dist/operations/modeling/suggest-predicates.js +52 -19
- 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 +100 -32
- package/dist/operations/mutation/relationships.d.ts +1 -0
- package/dist/operations/mutation/relationships.d.ts.map +1 -1
- package/dist/operations/mutation/relationships.js +6 -4
- 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 -2
- package/dist/operations/mutation/source-authoring.d.ts +5 -1
- package/dist/operations/mutation/source-authoring.d.ts.map +1 -1
- package/dist/operations/mutation/source-authoring.js +79 -46
- 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 +5 -2
- package/dist/operations/mutation/symbol-compiler-lock.d.ts.map +1 -1
- package/dist/operations/mutation/symbol-compiler-lock.js +65 -2
- package/dist/operations/mutation/symbol-granularity.d.ts.map +1 -1
- package/dist/operations/mutation/symbol-granularity.js +2 -2
- package/dist/operations/mutation/symbol-refresh.d.ts +1 -0
- package/dist/operations/mutation/symbol-refresh.d.ts.map +1 -1
- package/dist/operations/mutation/symbol-refresh.js +10 -8
- 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 +86 -54
- 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 +46 -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 +8 -106
- package/dist/operations/planning/apply-plan.d.ts.map +1 -1
- package/dist/operations/planning/apply-plan.js +113 -36
- package/dist/operations/planning/compile-intent.d.ts +2 -0
- package/dist/operations/planning/compile-intent.d.ts.map +1 -1
- package/dist/operations/planning/compile-intent.js +70 -14
- 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 +46 -26
- package/dist/operations/semantic-advisor/clauses.d.ts.map +1 -1
- package/dist/operations/semantic-advisor/clauses.js +20 -7
- 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/prolog/codec.d.ts +13 -1
- package/dist/prolog/codec.d.ts.map +1 -1
- package/dist/prolog/codec.js +269 -154
- 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 +55 -17
- 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/{public → proof/producers}/playwright-case-id.d.ts +1 -1
- package/dist/proof/producers/playwright-case-id.d.ts.map +1 -0
- package/dist/{public → proof/producers}/playwright-case-id.js +3 -3
- 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/diagnostic-usage.js +6 -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 -10
- package/dist/public/impact/coverage-depth-quality.d.ts +1 -0
- package/dist/public/impact/coverage-depth-quality.d.ts.map +1 -1
- package/dist/public/impact/coverage-depth-quality.js +1 -1
- 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 +5 -2
- package/dist/public/impact/full-kb-quality.d.ts.map +1 -1
- package/dist/public/impact/full-kb-quality.js +329 -64
- package/dist/public/operations/catalog.d.ts +447 -196
- package/dist/public/operations/catalog.d.ts.map +1 -1
- package/dist/public/operations/catalog.js +6 -4
- package/dist/public/operations/check-executor.d.ts.map +1 -1
- package/dist/public/operations/check-executor.js +3 -7
- package/dist/public/operations/contracts.d.ts +7 -0
- package/dist/public/operations/contracts.d.ts.map +1 -1
- package/dist/public/operations/contracts.js +31 -22
- 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 +9 -9
- package/dist/public/operations/discovery-executors.d.ts.map +1 -1
- package/dist/public/operations/discovery-executors.js +17 -14
- package/dist/public/operations/index.d.ts +1 -1
- package/dist/public/operations/index.d.ts.map +1 -1
- package/dist/public/operations/index.js +1 -1
- package/dist/public/operations/migration-plan.d.ts +4 -3
- package/dist/public/operations/migration-plan.d.ts.map +1 -1
- package/dist/public/operations/migration-plan.js +23 -21
- package/dist/public/operations/node-ports.js +6 -6
- 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 -19
- package/dist/public/operations/result-envelope.d.ts +1 -0
- package/dist/public/operations/result-envelope.d.ts.map +1 -1
- package/dist/public/operations/result-envelope.js +12 -10
- package/dist/public/operations/runtime-types.d.ts +5 -0
- package/dist/public/operations/runtime-types.d.ts.map +1 -1
- 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 +7 -2
- package/dist/public/operations/specs/check.d.ts.map +1 -1
- package/dist/public/operations/specs/check.js +8 -20
- package/dist/public/operations/specs/mutation-schemas.d.ts +257 -163
- package/dist/public/operations/specs/mutation-schemas.d.ts.map +1 -1
- package/dist/public/operations/specs/mutation-schemas.js +15 -7
- package/dist/public/operations/specs/planning.d.ts +9 -0
- package/dist/public/operations/specs/planning.d.ts.map +1 -1
- package/dist/public/operations/specs/planning.js +6 -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 +19 -0
- package/dist/public/operations/specs/reporting.d.ts.map +1 -1
- package/dist/public/operations/specs/reporting.js +112 -12
- package/dist/public/operations/specs/upsert.d.ts +257 -163
- package/dist/public/operations/specs/upsert.d.ts.map +1 -1
- package/dist/public/operations/symbol-repair-plan.d.ts +11 -0
- package/dist/public/operations/symbol-repair-plan.d.ts.map +1 -1
- package/dist/public/operations/symbol-repair-plan.js +118 -3
- package/dist/public/operations/types.d.ts +1 -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 +21 -7
- package/dist/public/skills/kibi-freshness/SKILL.md +1 -1
- package/dist/public/skills/kibi-usage/SKILL.md +41 -12
- package/dist/public/skills/kibi-usage/resources/operation-access.md +1 -1
- package/dist/public/skills/kibi-usage/resources/proof.md +105 -0
- package/dist/public/skills/kibi-usage/resources/workflows.md +6 -6
- 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 -47
- package/dist/public/telemetry-acceptance.d.ts +3 -77
- package/dist/public/telemetry-acceptance.d.ts.map +1 -1
- package/dist/public/telemetry-acceptance.js +4 -2
- package/dist/public/telemetry-remediation.js +1 -1
- package/dist/report/html-report.css +282 -0
- package/dist/report/html-report.d.ts +4 -2
- package/dist/report/html-report.d.ts.map +1 -1
- package/dist/report/html-report.js +37 -300
- 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 +14 -7
- package/dist/schemas/entity.schema.json +355 -215
- 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 +28 -0
- package/dist/traceability/evidence-model.d.ts.map +1 -1
- 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 +145 -1
- 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.js +4 -4
- 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 +138 -27
- 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 +13 -4
- package/dist/types/entities.d.ts +5 -3
- package/dist/types/entities.d.ts.map +1 -1
- package/dist/utils/branch-resolver.d.ts +1 -0
- package/dist/utils/branch-resolver.d.ts.map +1 -1
- package/dist/utils/branch-resolver.js +7 -4
- package/dist/utils/branch-store.d.ts +6 -0
- package/dist/utils/branch-store.d.ts.map +1 -1
- package/dist/utils/branch-store.js +27 -0
- package/dist/utils/kb-paths.d.ts +1 -1
- package/dist/utils/kb-paths.d.ts.map +1 -1
- package/dist/utils/kb-paths.js +1 -1
- package/dist/utils/rule-registry.d.ts +1 -11
- 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 +12 -113
- package/dist/utils/strict-modeling.d.ts +1 -0
- package/dist/utils/strict-modeling.d.ts.map +1 -1
- package/dist/utils/strict-modeling.js +1 -1
- package/package.json +8 -11
- package/src/public/diagnostic-usage.ts +6 -6
- package/src/public/distribution-parity.ts +17 -10
- package/src/public/impact/coverage-depth-quality.ts +1 -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 +463 -72
- package/src/public/operations/catalog.ts +10 -4
- package/src/public/operations/check-executor.ts +3 -7
- package/src/public/operations/contracts.ts +38 -22
- package/src/public/operations/discovery-entities.ts +7 -0
- package/src/public/operations/discovery-executors.ts +26 -23
- package/src/public/operations/index.ts +1 -1
- package/src/public/operations/migration-plan.ts +32 -25
- package/src/public/operations/node-ports.ts +6 -6
- package/src/public/operations/repair-plan.ts +60 -23
- package/src/public/operations/result-envelope.ts +15 -10
- package/src/public/operations/runtime-types.ts +5 -0
- package/src/public/operations/specs/check-rules.generated.ts +37 -0
- package/src/public/operations/specs/check.ts +12 -21
- package/src/public/operations/specs/mutation-schemas.ts +22 -9
- package/src/public/operations/specs/planning.ts +7 -0
- package/src/public/operations/specs/proof.ts +43 -0
- package/src/public/operations/specs/reporting.ts +140 -13
- package/src/public/operations/symbol-repair-plan.ts +163 -3
- package/src/public/operations/types.ts +1 -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 +26 -10
- package/src/public/skills/kibi-freshness/SKILL.md +1 -1
- package/src/public/skills/kibi-usage/SKILL.md +41 -12
- package/src/public/skills/kibi-usage/resources/operation-access.md +1 -1
- package/src/public/skills/kibi-usage/resources/proof.md +105 -0
- package/src/public/skills/kibi-usage/resources/workflows.md +6 -6
- package/src/public/symbol-granularity.generated.ts +41 -0
- package/src/public/symbol-granularity.ts +35 -60
- package/src/public/telemetry-acceptance-types.d.ts +98 -0
- package/src/public/telemetry-acceptance.ts +22 -100
- package/src/public/telemetry-remediation.ts +1 -1
- package/src/schemas/entity.schema.json +355 -215
- package/dist/cli-register-verification.d.ts +0 -3
- package/dist/cli-register-verification.d.ts.map +0 -1
- package/dist/cli-register-verification.js +0 -16
- package/dist/commands/verify.d.ts +0 -10
- package/dist/commands/verify.d.ts.map +0 -1
- package/dist/commands/verify.js +0 -126
- package/dist/operations/verification/ingest-verification.d.ts +0 -29
- package/dist/operations/verification/ingest-verification.d.ts.map +0 -1
- package/dist/operations/verification/ingest-verification.js +0 -192
- package/dist/public/operations/specs/verification.d.ts +0 -78
- package/dist/public/operations/specs/verification.d.ts.map +0 -1
- package/dist/public/operations/specs/verification.js +0 -62
- package/dist/public/playwright-case-id.d.ts.map +0 -1
- package/dist/public/verification-receipt.d.ts +0 -242
- package/dist/public/verification-receipt.d.ts.map +0 -1
- package/dist/public/verification-receipt.js +0 -296
- package/dist/verification/playwright-reporter.d.ts +0 -21
- package/dist/verification/playwright-reporter.d.ts.map +0 -1
- package/dist/verification/playwright-reporter.js +0 -114
- package/src/public/operations/specs/verification.ts +0 -78
- package/src/public/playwright-case-id.ts +0 -35
- package/src/public/verification-receipt.ts +0 -412
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"playwright-reporter.d.ts","sourceRoot":"","sources":["../../../src/proof/producers/playwright-reporter.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,iBAAiB,EAIlB,MAAM,gCAAgC,CAAC;AAOxC,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAG7B,MAAM,MAAM,6BAA6B,GAAG,QAAQ,CAAC;IACnD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;CAClB,CAAC,CAAC;AAwCH;;;;;GAKG;AACH,qBAAa,sBAAsB;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgC;IACxD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkC;IAC1D,OAAO,CAAC,SAAS,CAAS;gBAEd,OAAO,GAAE,6BAAkC;IAMvD,OAAO,IAAI,IAAI;IAKf,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI;IAoDzC,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;CAkC7C;AAED,eAAe,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import { mkdir, writeFile } from "node:fs/promises";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { PROOF_RUN_VERSION, } from "../../public/proof-protocol.js";
|
|
4
|
+
import { normalizePlaywrightSourceFile, playwrightCaseId, } from "./playwright-case-id.js";
|
|
5
|
+
// implements REQ-kibi-proof-evidence-protocol
|
|
6
|
+
export { PROOF_RUN_VERSION };
|
|
7
|
+
function outputPath(options) {
|
|
8
|
+
const configured = options.outputPath ?? process.env.KIBI_PROOF_OUTPUT;
|
|
9
|
+
if (!configured)
|
|
10
|
+
throw new Error("KIBI_PROOF_OUTPUT is required");
|
|
11
|
+
return path.resolve(configured);
|
|
12
|
+
}
|
|
13
|
+
function titlePath(test) {
|
|
14
|
+
const candidate = test;
|
|
15
|
+
const value = candidate.titlePath?.();
|
|
16
|
+
return Array.isArray(value) ? value.map(String).filter(Boolean) : [];
|
|
17
|
+
}
|
|
18
|
+
function sourceLocation(test) {
|
|
19
|
+
const location = test
|
|
20
|
+
.location;
|
|
21
|
+
return {
|
|
22
|
+
file: typeof location?.file === "string" ? location.file : "unknown",
|
|
23
|
+
line: Number.isInteger(location?.line) ? Number(location?.line) : 1,
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
function targetName(test, result) {
|
|
27
|
+
const project = test.project?.();
|
|
28
|
+
if (typeof project?.name === "string" && project.name)
|
|
29
|
+
return project.name;
|
|
30
|
+
const resultProject = result.projectName;
|
|
31
|
+
return typeof resultProject === "string" && resultProject
|
|
32
|
+
? resultProject
|
|
33
|
+
: "default";
|
|
34
|
+
}
|
|
35
|
+
function environment() {
|
|
36
|
+
return {
|
|
37
|
+
os: process.platform,
|
|
38
|
+
arch: process.arch,
|
|
39
|
+
runtime: { name: "node", version: process.version },
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* First-party Playwright producer. It reports what happened as a
|
|
44
|
+
* kibi.proof-run.v1 artifact with complete attempt history; Kibi evaluates
|
|
45
|
+
* proof obligations and policies. Structural callback surface only — no
|
|
46
|
+
* Playwright dependency.
|
|
47
|
+
*/
|
|
48
|
+
export class KibiPlaywrightProducer {
|
|
49
|
+
options;
|
|
50
|
+
results = new Map();
|
|
51
|
+
startedAt;
|
|
52
|
+
constructor(options = {}) {
|
|
53
|
+
this.options = options;
|
|
54
|
+
this.startedAt = (options.now ?? (() => new Date()))().toISOString();
|
|
55
|
+
}
|
|
56
|
+
// implements REQ-kibi-proof-evidence-protocol
|
|
57
|
+
onBegin() {
|
|
58
|
+
this.startedAt = (this.options.now ?? (() => new Date()))().toISOString();
|
|
59
|
+
}
|
|
60
|
+
// implements REQ-kibi-proof-evidence-protocol
|
|
61
|
+
onTestEnd(test, result) {
|
|
62
|
+
const resultValue = result;
|
|
63
|
+
const titles = titlePath(test);
|
|
64
|
+
const title = titles.join(" > ");
|
|
65
|
+
const status = resultValue.status;
|
|
66
|
+
const attempt = {
|
|
67
|
+
outcome: status === "passed"
|
|
68
|
+
? "passed"
|
|
69
|
+
: status === "timedOut"
|
|
70
|
+
? "timed_out"
|
|
71
|
+
: status === "skipped"
|
|
72
|
+
? "skipped"
|
|
73
|
+
: status === "interrupted"
|
|
74
|
+
? "interrupted"
|
|
75
|
+
: "failed",
|
|
76
|
+
...(Number.isInteger(resultValue.duration)
|
|
77
|
+
? { duration_ms: Number(resultValue.duration) }
|
|
78
|
+
: {}),
|
|
79
|
+
};
|
|
80
|
+
const location = sourceLocation(test);
|
|
81
|
+
const sourceFile = normalizePlaywrightSourceFile(location.file, this.options.workspaceRoot ?? process.cwd());
|
|
82
|
+
const symbol_id = playwrightCaseId(sourceFile, title);
|
|
83
|
+
const target = targetName(test, result);
|
|
84
|
+
const key = `${target}\0${symbol_id}`;
|
|
85
|
+
const existing = this.results.get(key);
|
|
86
|
+
if (existing && existing.attempts.status === "complete") {
|
|
87
|
+
this.results.set(key, {
|
|
88
|
+
...existing,
|
|
89
|
+
attempts: {
|
|
90
|
+
status: "complete",
|
|
91
|
+
entries: [...existing.attempts.entries, attempt],
|
|
92
|
+
},
|
|
93
|
+
});
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
this.results.set(key, {
|
|
97
|
+
symbol_id,
|
|
98
|
+
target,
|
|
99
|
+
outcome: attempt.outcome,
|
|
100
|
+
binding: "native_case",
|
|
101
|
+
attempts: { status: "complete", entries: [attempt] },
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
// implements REQ-kibi-proof-evidence-protocol
|
|
105
|
+
async onEnd(result) {
|
|
106
|
+
const now = this.options.now ?? (() => new Date());
|
|
107
|
+
const status = result?.status;
|
|
108
|
+
const commandArgv = this.options.commandArgv ??
|
|
109
|
+
(process.env.KIBI_PROOF_COMMAND_ARGV
|
|
110
|
+
? JSON.parse(process.env.KIBI_PROOF_COMMAND_ARGV)
|
|
111
|
+
: []);
|
|
112
|
+
const artifact = {
|
|
113
|
+
version: PROOF_RUN_VERSION,
|
|
114
|
+
producer: { name: "kibi-playwright-producer" },
|
|
115
|
+
executor: { name: "playwright" },
|
|
116
|
+
...((this.options.integration ?? process.env.KIBI_PROOF_INTEGRATION)
|
|
117
|
+
? {
|
|
118
|
+
integration: (this.options.integration ??
|
|
119
|
+
process.env.KIBI_PROOF_INTEGRATION),
|
|
120
|
+
}
|
|
121
|
+
: {}),
|
|
122
|
+
command_argv: [...commandArgv],
|
|
123
|
+
code_snapshot: this.options.codeSnapshot ?? process.env.KIBI_PROOF_SNAPSHOT ?? "",
|
|
124
|
+
environment: environment(),
|
|
125
|
+
run: {
|
|
126
|
+
outcome: status === "passed" ? "passed" : "failed",
|
|
127
|
+
exit_code: status === "passed" ? 0 : 1,
|
|
128
|
+
started_at: this.startedAt,
|
|
129
|
+
finished_at: now().toISOString(),
|
|
130
|
+
},
|
|
131
|
+
proof_results: [...this.results.values()],
|
|
132
|
+
};
|
|
133
|
+
const target = outputPath(this.options);
|
|
134
|
+
await mkdir(path.dirname(target), { recursive: true });
|
|
135
|
+
await writeFile(target, `${JSON.stringify(artifact, null, 2)}\n`, "utf8");
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
export default KibiPlaywrightProducer;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type NativeBinding, type NativeConversion } from "./junit-adapter.js";
|
|
2
|
+
/**
|
|
3
|
+
* TAP converter: maps assertions to bound proof symbols. Indented subtests
|
|
4
|
+
* retain their `parent > child` identity, while a leaf binding remains a
|
|
5
|
+
* compatibility fallback for reports that did not publish the hierarchy.
|
|
6
|
+
* Plans are checked per indentation scope; bailouts, malformed plans, and
|
|
7
|
+
* conflicting duplicate observations discard the whole projection.
|
|
8
|
+
*/
|
|
9
|
+
export declare function convertTap(tap: string, bindings: readonly NativeBinding[]): NativeConversion;
|
|
10
|
+
//# sourceMappingURL=tap-adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tap-adapter.d.ts","sourceRoot":"","sources":["../../../src/proof/producers/tap-adapter.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,gBAAgB,EAGtB,MAAM,oBAAoB,CAAC;AAmE5B;;;;;;GAMG;AAEH,wBAAgB,UAAU,CACxB,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,SAAS,aAAa,EAAE,GACjC,gBAAgB,CAqKlB"}
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
import { ambiguousNativeBindings, bindingLookup, } from "./junit-adapter.js";
|
|
2
|
+
function splitDirective(line) {
|
|
3
|
+
const match = line.match(/\s+#\s*(SKIP|TODO)\b(?:.*)$/i);
|
|
4
|
+
if (!match || match.index === undefined)
|
|
5
|
+
return { body: line };
|
|
6
|
+
return {
|
|
7
|
+
body: line.slice(0, match.index).trimEnd(),
|
|
8
|
+
directive: match[1]?.toUpperCase(),
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
function parseAssertion(line) {
|
|
12
|
+
const directive = splitDirective(line);
|
|
13
|
+
const match = directive.body.match(/^(not ok|ok)\b(?:\s+\d+)?(?:\s*-?\s*(.*))?$/i);
|
|
14
|
+
if (!match)
|
|
15
|
+
return null;
|
|
16
|
+
const outcome = directive.directive === "SKIP" || directive.directive === "TODO"
|
|
17
|
+
? "skipped"
|
|
18
|
+
: match[1]?.toLowerCase() === "ok"
|
|
19
|
+
? "passed"
|
|
20
|
+
: "failed";
|
|
21
|
+
return { outcome, name: (match[2] ?? "").trim() };
|
|
22
|
+
}
|
|
23
|
+
function parsePlan(line) {
|
|
24
|
+
const match = line.match(/^(\d+)\.\.(\d+)(?:\s+#\s*(SKIP|TODO)\b.*)?$/i);
|
|
25
|
+
if (!match)
|
|
26
|
+
return null;
|
|
27
|
+
const start = Number(match[1]);
|
|
28
|
+
const end = Number(match[2]);
|
|
29
|
+
const directive = match[3]?.toUpperCase();
|
|
30
|
+
if (start === 1 && end === 0 && directive === "SKIP")
|
|
31
|
+
return 0;
|
|
32
|
+
if (start > end || (start !== 0 && start !== 1))
|
|
33
|
+
return -1;
|
|
34
|
+
return end;
|
|
35
|
+
}
|
|
36
|
+
function indentOf(line) {
|
|
37
|
+
const match = line.match(/^[ \t]*/)?.[0] ?? "";
|
|
38
|
+
return match.replace(/\t/g, " ").length;
|
|
39
|
+
}
|
|
40
|
+
function nativeIdCandidates(path, name) {
|
|
41
|
+
if (!path)
|
|
42
|
+
return [name];
|
|
43
|
+
const full = `${path} > ${name}`;
|
|
44
|
+
return full === name ? [name] : [full, name];
|
|
45
|
+
}
|
|
46
|
+
function failClosed(diagnostics) {
|
|
47
|
+
return { results: [], diagnostics, fatal: true };
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* TAP converter: maps assertions to bound proof symbols. Indented subtests
|
|
51
|
+
* retain their `parent > child` identity, while a leaf binding remains a
|
|
52
|
+
* compatibility fallback for reports that did not publish the hierarchy.
|
|
53
|
+
* Plans are checked per indentation scope; bailouts, malformed plans, and
|
|
54
|
+
* conflicting duplicate observations discard the whole projection.
|
|
55
|
+
*/
|
|
56
|
+
// implements REQ-kibi-verification-evidence-contract
|
|
57
|
+
export function convertTap(tap, bindings) {
|
|
58
|
+
const lookup = bindingLookup(bindings);
|
|
59
|
+
const diagnostics = [];
|
|
60
|
+
const results = [];
|
|
61
|
+
const seen = new Map();
|
|
62
|
+
const root = { indent: -1, path: "", assertions: 0 };
|
|
63
|
+
const contexts = [root];
|
|
64
|
+
const allContexts = [root];
|
|
65
|
+
let pendingSubtest = null;
|
|
66
|
+
let sawTap = false;
|
|
67
|
+
let fatal = false;
|
|
68
|
+
for (const rawLine of tap.split(/\r?\n/)) {
|
|
69
|
+
const indent = indentOf(rawLine);
|
|
70
|
+
const line = rawLine.trim();
|
|
71
|
+
if (line === "")
|
|
72
|
+
continue;
|
|
73
|
+
while (contexts.length > 1 &&
|
|
74
|
+
indent <= (contexts[contexts.length - 1]?.indent ?? -1)) {
|
|
75
|
+
contexts.pop();
|
|
76
|
+
}
|
|
77
|
+
if (/^TAP version\s+\d+$/i.test(line)) {
|
|
78
|
+
sawTap = true;
|
|
79
|
+
continue;
|
|
80
|
+
}
|
|
81
|
+
if (pendingSubtest && indent > pendingSubtest.indent) {
|
|
82
|
+
const child = {
|
|
83
|
+
indent: pendingSubtest.indent,
|
|
84
|
+
path: pendingSubtest.path,
|
|
85
|
+
assertions: 0,
|
|
86
|
+
};
|
|
87
|
+
contexts.push(child);
|
|
88
|
+
allContexts.push(child);
|
|
89
|
+
pendingSubtest = null;
|
|
90
|
+
}
|
|
91
|
+
const subtest = line.match(/^#\s*Subtest:\s*(.+)$/i);
|
|
92
|
+
if (subtest) {
|
|
93
|
+
pendingSubtest = null;
|
|
94
|
+
const parent = contexts[contexts.length - 1] ?? root;
|
|
95
|
+
const name = subtest[1]?.trim() ?? "";
|
|
96
|
+
pendingSubtest = {
|
|
97
|
+
indent,
|
|
98
|
+
path: parent.path ? `${parent.path} > ${name}` : name,
|
|
99
|
+
};
|
|
100
|
+
sawTap = true;
|
|
101
|
+
continue;
|
|
102
|
+
}
|
|
103
|
+
if (pendingSubtest)
|
|
104
|
+
pendingSubtest = null;
|
|
105
|
+
const context = contexts[contexts.length - 1] ?? root;
|
|
106
|
+
if (/^Bail out!/i.test(line)) {
|
|
107
|
+
diagnostics.push(`TAP bailout${context.path ? ` in ${context.path}` : ""}: ${line.slice(9).trim() || "no reason"}`);
|
|
108
|
+
fatal = true;
|
|
109
|
+
sawTap = true;
|
|
110
|
+
continue;
|
|
111
|
+
}
|
|
112
|
+
const plan = parsePlan(line);
|
|
113
|
+
if (plan !== null) {
|
|
114
|
+
sawTap = true;
|
|
115
|
+
if (plan < 0) {
|
|
116
|
+
diagnostics.push(`invalid TAP plan${context.path ? ` in ${context.path}` : ""}: ${line}`);
|
|
117
|
+
fatal = true;
|
|
118
|
+
}
|
|
119
|
+
else if (context.plan !== undefined) {
|
|
120
|
+
diagnostics.push(`duplicate TAP plan${context.path ? ` in ${context.path}` : ""}`);
|
|
121
|
+
fatal = true;
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
context.plan = plan;
|
|
125
|
+
}
|
|
126
|
+
continue;
|
|
127
|
+
}
|
|
128
|
+
if (line.startsWith("#") || /^---$/.test(line) || /^\.\.\.$/.test(line))
|
|
129
|
+
continue;
|
|
130
|
+
const parsed = parseAssertion(line);
|
|
131
|
+
if (!parsed)
|
|
132
|
+
continue;
|
|
133
|
+
sawTap = true;
|
|
134
|
+
context.assertions += 1;
|
|
135
|
+
if (!parsed.name) {
|
|
136
|
+
diagnostics.push("TAP assertion has no test name; ignored");
|
|
137
|
+
continue;
|
|
138
|
+
}
|
|
139
|
+
const candidates = nativeIdCandidates(context.path, parsed.name);
|
|
140
|
+
const nativeId = candidates.find((candidate) => lookup(candidate) !== null);
|
|
141
|
+
if (!nativeId) {
|
|
142
|
+
diagnostics.push(`unbound TAP assertion ignored: ${candidates[0]}`);
|
|
143
|
+
continue;
|
|
144
|
+
}
|
|
145
|
+
const bound = lookup(nativeId);
|
|
146
|
+
if (!bound) {
|
|
147
|
+
diagnostics.push(`ambiguous TAP binding for ${nativeId}`);
|
|
148
|
+
fatal = true;
|
|
149
|
+
continue;
|
|
150
|
+
}
|
|
151
|
+
const key = `${bound.target}\0${bound.symbol_id}`;
|
|
152
|
+
const previous = seen.get(key);
|
|
153
|
+
if (previous) {
|
|
154
|
+
if (previous.nativeId !== nativeId ||
|
|
155
|
+
previous.outcome !== parsed.outcome) {
|
|
156
|
+
diagnostics.push(`ambiguous duplicate TAP result for ${nativeId}`);
|
|
157
|
+
fatal = true;
|
|
158
|
+
}
|
|
159
|
+
else {
|
|
160
|
+
diagnostics.push(`duplicate TAP result for ${nativeId}; ignored`);
|
|
161
|
+
}
|
|
162
|
+
continue;
|
|
163
|
+
}
|
|
164
|
+
seen.set(key, { nativeId, outcome: parsed.outcome });
|
|
165
|
+
results.push({
|
|
166
|
+
symbol_id: bound.symbol_id,
|
|
167
|
+
target: bound.target,
|
|
168
|
+
outcome: parsed.outcome,
|
|
169
|
+
binding: "native_case",
|
|
170
|
+
native_id: nativeId,
|
|
171
|
+
attempts: { status: "unavailable" },
|
|
172
|
+
});
|
|
173
|
+
}
|
|
174
|
+
if (!sawTap)
|
|
175
|
+
return failClosed(["not a TAP report"]);
|
|
176
|
+
if (pendingSubtest) {
|
|
177
|
+
diagnostics.push(`TAP subtest has no indented body: ${pendingSubtest.path}`);
|
|
178
|
+
fatal = true;
|
|
179
|
+
}
|
|
180
|
+
for (const context of allContexts) {
|
|
181
|
+
if (context.plan === undefined) {
|
|
182
|
+
if (context.assertions > 0) {
|
|
183
|
+
diagnostics.push(`missing TAP plan${context.path ? ` in ${context.path}` : ""}`);
|
|
184
|
+
fatal = true;
|
|
185
|
+
}
|
|
186
|
+
continue;
|
|
187
|
+
}
|
|
188
|
+
if (context.plan !== context.assertions) {
|
|
189
|
+
diagnostics.push(`TAP plan mismatch${context.path ? ` in ${context.path}` : ""}: expected ${context.plan} assertion(s), observed ${context.assertions}`);
|
|
190
|
+
fatal = true;
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
const ambiguous = ambiguousNativeBindings(bindings);
|
|
194
|
+
if (ambiguous.length > 0) {
|
|
195
|
+
for (const nativeId of ambiguous)
|
|
196
|
+
diagnostics.push(`ambiguous TAP binding for ${nativeId}`);
|
|
197
|
+
fatal = true;
|
|
198
|
+
}
|
|
199
|
+
return fatal ? failClosed(diagnostics) : { results, diagnostics };
|
|
200
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"receipt-outcome.d.ts","sourceRoot":"","sources":["../../src/proof/receipt-outcome.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,mBAAmB,GAC3B,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,WAAW,GACX,WAAW,GACX,aAAa,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -59,12 +59,12 @@ function appendSemanticFields(fields, receipt) {
|
|
|
59
59
|
}
|
|
60
60
|
}
|
|
61
61
|
const RECEIPT_GAP_CODES = new Set([
|
|
62
|
-
"
|
|
63
|
-
"
|
|
64
|
-
"
|
|
65
|
-
"
|
|
66
|
-
"
|
|
67
|
-
"
|
|
62
|
+
"missing_proof_receipt",
|
|
63
|
+
"stale_proof_receipt",
|
|
64
|
+
"failed_proof_receipt",
|
|
65
|
+
"invalid_proof_receipt",
|
|
66
|
+
"proof_contract_mismatch",
|
|
67
|
+
"proof_snapshot_unavailable",
|
|
68
68
|
]);
|
|
69
69
|
const MAX_COVERAGE_RECEIPT_GAPS = 50;
|
|
70
70
|
function coverageReceiptGapDetails(rows) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export declare const DISTRIBUTION_PARITY_VERSION: "kibi.distribution-parity.v1";
|
|
2
|
-
export declare const REQUIREMENT_COMPILER_CAPABILITIES: readonly ["semantic_inventory", "contradiction_witnesses", "conservative_proof", "repair_plan", "
|
|
2
|
+
export declare const REQUIREMENT_COMPILER_CAPABILITIES: readonly ["semantic_inventory", "contradiction_witnesses", "conservative_proof", "repair_plan", "proof_receipts", "proof_contract", "telemetry_acceptance"];
|
|
3
3
|
export type RequirementCompilerCapability = (typeof REQUIREMENT_COMPILER_CAPABILITIES)[number];
|
|
4
4
|
export type DistributionRuntimeKind = "source_checkout" | "packed_artifact" | "project_resolved";
|
|
5
5
|
export type DistributionSurface = "cli" | "mcp";
|
|
@@ -83,8 +83,14 @@ export interface DistributionParityOptions {
|
|
|
83
83
|
readonly workspaceRoots?: readonly string[];
|
|
84
84
|
readonly volatileKeys?: ReadonlySet<string>;
|
|
85
85
|
}
|
|
86
|
+
export declare function nextAncestorDirectory(current: string): string | undefined;
|
|
87
|
+
export declare function nearestPackageInfo(entrypoint: string): {
|
|
88
|
+
readonly packageRoot?: string;
|
|
89
|
+
readonly version?: string;
|
|
90
|
+
};
|
|
86
91
|
export declare function resolveDistributionRuntimeProvenance(executable: string): DistributionRuntimeProvenance;
|
|
87
92
|
export declare function normalizeDistributionParityValue(value: unknown, options?: DistributionParityOptions): unknown;
|
|
93
|
+
export declare function sortedUnique(values: readonly string[] | undefined): string[];
|
|
88
94
|
export declare function buildDistributionParityReport(runtimes: readonly DistributionRuntime[], observations: readonly DistributionParityObservation[], options?: DistributionParityOptions): DistributionParityReport;
|
|
89
95
|
export declare function runDistributionParityMatrix(adapters: readonly DistributionRuntimeAdapter[], options?: DistributionParityOptions): Promise<DistributionParityReport>;
|
|
90
96
|
//# sourceMappingURL=distribution-parity.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"distribution-parity.d.ts","sourceRoot":"","sources":["../../src/public/distribution-parity.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,2BAA2B,EACtC,6BAAsC,CAAC;AAEzC,eAAO,MAAM,iCAAiC,
|
|
1
|
+
{"version":3,"file":"distribution-parity.d.ts","sourceRoot":"","sources":["../../src/public/distribution-parity.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,8 +15,8 @@ export const REQUIREMENT_COMPILER_CAPABILITIES = [
|
|
|
15
15
|
"contradiction_witnesses",
|
|
16
16
|
"conservative_proof",
|
|
17
17
|
"repair_plan",
|
|
18
|
-
"
|
|
19
|
-
"
|
|
18
|
+
"proof_receipts",
|
|
19
|
+
"proof_contract",
|
|
20
20
|
"telemetry_acceptance",
|
|
21
21
|
];
|
|
22
22
|
const DEFAULT_VOLATILE_KEYS = new Set([
|
|
@@ -46,11 +46,18 @@ const DEFAULT_VOLATILE_KEYS = new Set([
|
|
|
46
46
|
"updated_at",
|
|
47
47
|
"updatedAt",
|
|
48
48
|
"usageLogLineNumber",
|
|
49
|
-
"
|
|
49
|
+
"proofSnapshot",
|
|
50
|
+
// Per-workspace filesystem identity; CLI and MCP parity runs use two temp trees.
|
|
51
|
+
"attachedIno",
|
|
52
|
+
"attachedDev",
|
|
50
53
|
]);
|
|
51
|
-
function
|
|
54
|
+
export function nextAncestorDirectory(current) {
|
|
55
|
+
const parent = path.dirname(current);
|
|
56
|
+
return parent === current ? undefined : parent;
|
|
57
|
+
}
|
|
58
|
+
export function nearestPackageInfo(entrypoint) {
|
|
52
59
|
let current = path.dirname(entrypoint);
|
|
53
|
-
while (
|
|
60
|
+
while (current !== undefined) {
|
|
54
61
|
const manifestPath = path.join(current, "package.json");
|
|
55
62
|
if (existsSync(manifestPath)) {
|
|
56
63
|
try {
|
|
@@ -66,11 +73,9 @@ function nearestPackageInfo(entrypoint) {
|
|
|
66
73
|
return { packageRoot: current };
|
|
67
74
|
}
|
|
68
75
|
}
|
|
69
|
-
|
|
70
|
-
if (parent === current)
|
|
71
|
-
return {};
|
|
72
|
-
current = parent;
|
|
76
|
+
current = nextAncestorDirectory(current);
|
|
73
77
|
}
|
|
78
|
+
return {};
|
|
74
79
|
}
|
|
75
80
|
function declaredEntrypoint(contents) {
|
|
76
81
|
const shimTarget = contents.match(/^# cmd-shim-target=(.+)$/m)?.[1]?.trim();
|
|
@@ -149,7 +154,7 @@ export function normalizeDistributionParityValue(value, options = {}) {
|
|
|
149
154
|
function semanticFingerprint(value) {
|
|
150
155
|
return JSON.stringify(value);
|
|
151
156
|
}
|
|
152
|
-
function sortedUnique(values) {
|
|
157
|
+
export function sortedUnique(values) {
|
|
153
158
|
return [...new Set(values ?? [])].sort((left, right) => left.localeCompare(right));
|
|
154
159
|
}
|
|
155
160
|
function currentRuntime(runtimes, kind, surface) {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { ExtractionResult } from "../../extractors/markdown.js";
|
|
2
2
|
import type { QualityDiagnostic } from "./types.js";
|
|
3
|
+
export declare function uniqueStrings(values: readonly string[]): readonly string[];
|
|
3
4
|
export declare function createCoverageDepthQualityDiagnostics(manifestResults: readonly ExtractionResult[], proofByRequirement?: ReadonlyMap<string, Readonly<{
|
|
4
5
|
readonly proofStatus?: string;
|
|
5
6
|
readonly passingE2eStatus?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coverage-depth-quality.d.ts","sourceRoot":"","sources":["../../../src/public/impact/coverage-depth-quality.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,gBAAgB,EACjB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"coverage-depth-quality.d.ts","sourceRoot":"","sources":["../../../src/public/impact/coverage-depth-quality.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,gBAAgB,EACjB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAsIpD,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,MAAM,EAAE,CAI1E;AAwID,wBAAgB,qCAAqC,CACnD,eAAe,EAAE,SAAS,gBAAgB,EAAE,EAC5C,kBAAkB,GAAE,WAAW,CAC7B,MAAM,EACN,QAAQ,CAAC;IACP,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7C,QAAQ,CAAC,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC9C,CAAC,CACS,GACZ,SAAS,iBAAiB,EAAE,CAc9B"}
|
|
@@ -71,7 +71,7 @@ function isReviewableCoverageDepth(coverageDepth) {
|
|
|
71
71
|
coverageDepth === "scenario_only_no_test" ||
|
|
72
72
|
coverageDepth === "no_test_evidence");
|
|
73
73
|
}
|
|
74
|
-
function uniqueStrings(values) {
|
|
74
|
+
export function uniqueStrings(values) {
|
|
75
75
|
return [...new Set(values)].toSorted((left, right) => left.localeCompare(right));
|
|
76
76
|
}
|
|
77
77
|
function coverageDepthSuggestion(coverageDepth) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../../src/public/impact/diagnostics.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;
|
|
1
|
+
{"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../../src/public/impact/diagnostics.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AAYrF,OAAO,KAAK,EACV,iBAAiB,EACjB,gCAAgC,EAChC,mCAAmC,EACpC,MAAM,YAAY,CAAC;AA2FpB,wBAAgB,kCAAkC,CAChD,OAAO,EAAE,mCAAmC,GAC3C,oBAAoB,EAAE,CA+CxB;AAED,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,gCAAgC,GACxC,oBAAoB,EAAE,CAsBxB;AAED,wBAAgB,4BAA4B,CAC1C,WAAW,EAAE,SAAS,oBAAoB,EAAE,GAC3C,OAAO,CAET;AAED,wBAAgB,6BAA6B,CAC3C,WAAW,EAAE,SAAS,iBAAiB,EAAE,GACxC,OAAO,CAIT"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { existsSync, readFileSync } from "node:fs";
|
|
2
2
|
import * as path from "node:path";
|
|
3
3
|
import { extractSymbolsFromStagedFile, } from "../../traceability/symbol-extract.js";
|
|
4
|
-
import { getBehavioralSymbolNames, getNonBehavioralSymbolNames, isAllowedGranularityReason, isTraceabilityRelationshipType, } from "../symbol-granularity.js";
|
|
4
|
+
import { ALLOWED_GRANULARITY_REASONS_PROSE, getBehavioralSymbolNames, getNonBehavioralSymbolNames, isAllowedGranularityReason, isTraceabilityRelationshipType, } from "../symbol-granularity.js";
|
|
5
5
|
function isNarrowerSymbol(manifestSymbolName, candidate, sourceSymbols) {
|
|
6
6
|
if (candidate.name === manifestSymbolName)
|
|
7
7
|
return false;
|
|
@@ -92,7 +92,7 @@ export function createSymbolGranularityDiagnostics(options) {
|
|
|
92
92
|
files: [result.entity.source, result.sourceFile],
|
|
93
93
|
docs: ["docs/symbol-traceability-taxonomy.md"],
|
|
94
94
|
message: `Symbol ${result.entity.id} links ${result.sourceFile} coarsely while granular symbols are available (behavioral only): ${behavioralNames.join(", ")}`,
|
|
95
|
-
suggestion: `Move ownership/coverage/test relationships to the narrow behavioral symbol, add a manifest behavioral anchor, or add granularity_reason with
|
|
95
|
+
suggestion: `Move ownership/coverage/test relationships to the narrow behavioral symbol, add a manifest behavioral anchor, or add granularity_reason with ${ALLOWED_GRANULARITY_REASONS_PROSE} when the coarse symbol is intentional.${ignoredSymbolsSuggestion}`,
|
|
96
96
|
});
|
|
97
97
|
}
|
|
98
98
|
return diagnostics;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diff-meaning.d.ts","sourceRoot":"","sources":["../../../src/public/impact/diff-meaning.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"diff-meaning.d.ts","sourceRoot":"","sources":["../../../src/public/impact/diff-meaning.ts"],"names":[],"mappings":"AAAA,wBAAgB,2BAA2B,CACzC,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,GAAG,SAAS,GAChC,OAAO,CAKT;AAwGD,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAejE"}
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
export function isTrailingCommaBeforeCloser(character, nextCharacter) {
|
|
2
|
+
return (character === "," &&
|
|
3
|
+
(nextCharacter === ")" || nextCharacter === "]" || nextCharacter === "}"));
|
|
4
|
+
}
|
|
1
5
|
function normalizeDiffContent(line) {
|
|
2
6
|
let normalized = "";
|
|
3
7
|
let quote = null;
|
|
@@ -55,8 +59,7 @@ function removeSyntacticTrailingCommas(content) {
|
|
|
55
59
|
continue;
|
|
56
60
|
}
|
|
57
61
|
const nextCharacter = content[index + 1];
|
|
58
|
-
if (character
|
|
59
|
-
(nextCharacter === ")" || nextCharacter === "]" || nextCharacter === "}")) {
|
|
62
|
+
if (isTrailingCommaBeforeCloser(character, nextCharacter)) {
|
|
60
63
|
continue;
|
|
61
64
|
}
|
|
62
65
|
normalized += character;
|
|
@@ -1,14 +1,17 @@
|
|
|
1
|
+
import type { ExtractionResult } from "../../extractors/markdown.js";
|
|
1
2
|
import type { PrologPort } from "../operations/runtime-types.js";
|
|
2
3
|
import type { QualityDiagnostic } from "./types.js";
|
|
3
4
|
type FullKbQualityDiagnosticsOptions = {
|
|
4
|
-
readonly prolog: Pick<PrologPort, "query">;
|
|
5
|
+
readonly prolog: Pick<PrologPort, "query" | "queryEntities">;
|
|
5
6
|
readonly hardViolationEntityIds?: ReadonlySet<string>;
|
|
6
7
|
readonly maxDiagnostics?: number;
|
|
7
8
|
readonly workspaceRoot?: string;
|
|
8
9
|
readonly now?: Date;
|
|
9
|
-
readonly
|
|
10
|
+
readonly proofSnapshot?: string;
|
|
10
11
|
readonly checkedAt?: string;
|
|
11
12
|
};
|
|
13
|
+
export declare function loadKbExtractionResults(prolog: Pick<PrologPort, "query" | "queryEntities">): Promise<ExtractionResult[]>;
|
|
14
|
+
export declare function passingE2eStage(passingE2e: unknown): Readonly<Record<string, unknown>> | undefined;
|
|
12
15
|
export declare function collectFullKbQualityDiagnostics(options: FullKbQualityDiagnosticsOptions): Promise<readonly QualityDiagnostic[]>;
|
|
13
16
|
export {};
|
|
14
17
|
//# sourceMappingURL=full-kb-quality.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"full-kb-quality.d.ts","sourceRoot":"","sources":["../../../src/public/impact/full-kb-quality.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"full-kb-quality.d.ts","sourceRoot":"","sources":["../../../src/public/impact/full-kb-quality.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,gBAAgB,EACjB,MAAM,8BAA8B,CAAC;AAatC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAWjE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AASpD,KAAK,+BAA+B,GAAG;IACrC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,OAAO,GAAG,eAAe,CAAC,CAAC;IAC7D,QAAQ,CAAC,sBAAsB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACtD,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC;AAmgBF,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,OAAO,GAAG,eAAe,CAAC,GAClD,OAAO,CAAC,gBAAgB,EAAE,CAAC,CA0D7B;AAED,wBAAgB,eAAe,CAC7B,UAAU,EAAE,OAAO,GAClB,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,SAAS,CAM/C;AA2ID,wBAAsB,+BAA+B,CACnD,OAAO,EAAE,+BAA+B,GACvC,OAAO,CAAC,SAAS,iBAAiB,EAAE,CAAC,CAkCvC"}
|