kibi-cli 1.0.1 → 2.1.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 +127 -0
- package/dist/cli-register-reporting.d.ts.map +1 -1
- package/dist/cli-register-reporting.js +7 -0
- package/dist/cli.d.ts +4 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +19 -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-generated.d.ts +7 -0
- package/dist/commands/check-generated.d.ts.map +1 -0
- package/dist/commands/check-generated.js +192 -0
- package/dist/commands/check.d.ts +14 -0
- package/dist/commands/check.d.ts.map +1 -1
- package/dist/commands/check.js +193 -46
- 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 +170 -23
- package/dist/commands/engine.d.ts +12 -0
- package/dist/commands/engine.d.ts.map +1 -1
- package/dist/commands/engine.js +42 -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 +49 -10
- 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-explain.d.ts +10 -0
- package/dist/commands/proof-explain.d.ts.map +1 -0
- package/dist/commands/proof-explain.js +45 -0
- package/dist/commands/proof-impact.d.ts +7 -0
- package/dist/commands/proof-impact.d.ts.map +1 -0
- package/dist/commands/proof-impact.js +39 -0
- 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.map +1 -1
- package/dist/commands/report.js +18 -3
- 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 +2 -1
- package/dist/commands/sync/manifest.d.ts.map +1 -1
- package/dist/commands/sync/manifest.js +55 -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 +31 -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 +17 -77
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js +331 -91
- package/dist/env/bootstrap.d.ts +84 -0
- package/dist/env/bootstrap.d.ts.map +1 -0
- package/dist/env/bootstrap.js +310 -0
- 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 +7 -3
- package/dist/extractors/markdown.d.ts.map +1 -1
- package/dist/extractors/markdown.js +60 -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-coordinator.d.ts +8 -0
- package/dist/extractors/symbols-coordinator.d.ts.map +1 -1
- package/dist/extractors/symbols-coordinator.js +40 -0
- package/dist/extractors/symbols-ts.d.ts +9 -19
- package/dist/extractors/symbols-ts.d.ts.map +1 -1
- package/dist/extractors/symbols-ts.js +34 -429
- package/dist/intent-search.d.ts +1 -0
- package/dist/intent-search.d.ts.map +1 -1
- package/dist/intent-search.js +11 -8
- 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 +57 -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 +4 -2
- package/dist/operations/modeling/suggest-predicates.d.ts.map +1 -1
- package/dist/operations/modeling/suggest-predicates.js +82 -22
- 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 +11 -89
- 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 +51 -0
- package/dist/operations/planning/compile-intent.d.ts.map +1 -1
- package/dist/operations/planning/compile-intent.js +133 -17
- package/dist/operations/proof/baseline-diff.d.ts +41 -0
- package/dist/operations/proof/baseline-diff.d.ts.map +1 -0
- package/dist/operations/proof/baseline-diff.js +153 -0
- package/dist/operations/proof/explain.d.ts +75 -0
- package/dist/operations/proof/explain.d.ts.map +1 -0
- package/dist/operations/proof/explain.js +294 -0
- package/dist/operations/proof/impact.d.ts +45 -0
- package/dist/operations/proof/impact.d.ts.map +1 -0
- package/dist/operations/proof/impact.js +118 -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 +348 -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 +92 -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/analysis-receipt.d.ts.map +1 -1
- package/dist/operations/semantic-advisor/analysis-receipt.js +3 -9
- 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 +64 -93
- 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/plugin-orchestration.d.ts +63 -0
- package/dist/operations/semantic-advisor/plugin-orchestration.d.ts.map +1 -0
- package/dist/operations/semantic-advisor/plugin-orchestration.js +489 -0
- package/dist/operations/semantic-advisor/predicate-rules-core.d.ts +15 -2
- package/dist/operations/semantic-advisor/predicate-rules-core.d.ts.map +1 -1
- package/dist/operations/semantic-advisor/predicate-rules-core.js +7 -140
- package/dist/operations/semantic-advisor/predicate-rules-launcher.d.ts +11 -12
- package/dist/operations/semantic-advisor/predicate-rules-launcher.d.ts.map +1 -1
- package/dist/operations/semantic-advisor/predicate-rules-launcher.js +6 -94
- package/dist/operations/semantic-advisor/predicate-rules-policy.d.ts +16 -0
- package/dist/operations/semantic-advisor/predicate-rules-policy.d.ts.map +1 -1
- package/dist/operations/semantic-advisor/predicate-rules-policy.js +7 -150
- package/dist/operations/semantic-advisor/predicate-rules-product-tail.d.ts +9 -0
- package/dist/operations/semantic-advisor/predicate-rules-product-tail.d.ts.map +1 -1
- package/dist/operations/semantic-advisor/predicate-rules-product-tail.js +7 -102
- package/dist/operations/semantic-advisor/predicate-rules-product.d.ts +13 -0
- package/dist/operations/semantic-advisor/predicate-rules-product.d.ts.map +1 -1
- package/dist/operations/semantic-advisor/predicate-rules-product.js +7 -133
- 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 +1 -0
- package/dist/operations/semantic-advisor/types.d.ts.map +1 -1
- package/dist/plugins/compose-ontology-packs.d.ts +51 -0
- package/dist/plugins/compose-ontology-packs.d.ts.map +1 -0
- package/dist/plugins/compose-ontology-packs.js +257 -0
- package/dist/plugins/compose-semantic-classifier.d.ts +42 -0
- package/dist/plugins/compose-semantic-classifier.d.ts.map +1 -0
- package/dist/plugins/compose-semantic-classifier.js +211 -0
- package/dist/plugins/external-allowlist.d.ts +10 -0
- package/dist/plugins/external-allowlist.d.ts.map +1 -0
- package/dist/plugins/external-allowlist.js +16 -0
- package/dist/plugins/index.d.ts +9 -0
- package/dist/plugins/index.d.ts.map +1 -0
- package/dist/plugins/index.js +33 -0
- package/dist/plugins/load-plugin.d.ts +19 -0
- package/dist/plugins/load-plugin.d.ts.map +1 -0
- package/dist/plugins/load-plugin.js +59 -0
- package/dist/plugins/project-config.d.ts +28 -0
- package/dist/plugins/project-config.d.ts.map +1 -0
- package/dist/plugins/project-config.js +90 -0
- package/dist/plugins/registry.d.ts +93 -0
- package/dist/plugins/registry.d.ts.map +1 -0
- package/dist/plugins/registry.js +338 -0
- package/dist/plugins/resolve-package.d.ts +47 -0
- package/dist/plugins/resolve-package.d.ts.map +1 -0
- package/dist/plugins/resolve-package.js +262 -0
- package/dist/plugins/source-analysis-service.d.ts +44 -0
- package/dist/plugins/source-analysis-service.d.ts.map +1 -0
- package/dist/plugins/source-analysis-service.js +232 -0
- 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 +1 -1
- 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/extractors/symbols-coordinator.d.ts +1 -1
- package/dist/public/extractors/symbols-coordinator.d.ts.map +1 -1
- package/dist/public/extractors/symbols-coordinator.js +1 -1
- package/dist/public/impact/analyzer.d.ts +1 -1
- package/dist/public/impact/analyzer.d.ts.map +1 -1
- package/dist/public/impact/analyzer.js +6 -4
- 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 +450 -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 +4 -8
- package/dist/public/operations/check-helpers.d.ts +1 -1
- package/dist/public/operations/check-helpers.d.ts.map +1 -1
- package/dist/public/operations/check-helpers.js +1 -1
- 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 +66 -34
- package/dist/public/operations/discovery-entities.d.ts +15 -0
- package/dist/public/operations/discovery-entities.d.ts.map +1 -1
- package/dist/public/operations/discovery-entities.js +38 -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 +39 -31
- 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/prolog-json.d.ts +1 -1
- package/dist/public/operations/prolog-json.d.ts.map +1 -1
- package/dist/public/operations/prolog-json.js +7 -7
- 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 +21 -1
- 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 +35 -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/discovery.d.ts +3 -0
- package/dist/public/operations/specs/discovery.d.ts.map +1 -1
- package/dist/public/operations/specs/discovery.js +3 -0
- 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 +20 -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/semantic.d.ts +1 -1
- package/dist/public/operations/specs/semantic.d.ts.map +1 -1
- package/dist/public/operations/specs/semantic.js +54 -4
- 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 +121 -4
- package/dist/public/operations/types.d.ts +6 -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 +44 -12
- package/dist/public/skills/kibi-usage/resources/operation-access.md +1 -1
- package/dist/public/skills/kibi-usage/resources/proof.md +150 -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 +53 -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 +1240 -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 +32 -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 +24 -2
- package/dist/traceability/symbol-extract.d.ts.map +1 -1
- package/dist/traceability/symbol-extract.js +64 -208
- 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 +102 -0
- package/dist/utils/rule-registry.generated.d.ts.map +1 -0
- package/dist/utils/rule-registry.generated.js +131 -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 +20 -20
- package/src/public/diagnostic-usage.ts +6 -6
- package/src/public/distribution-parity.ts +17 -10
- package/src/public/extractors/symbols-coordinator.ts +1 -0
- package/src/public/impact/analyzer.ts +15 -12
- 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 +4 -8
- package/src/public/operations/check-helpers.ts +2 -2
- package/src/public/operations/contracts.ts +78 -34
- package/src/public/operations/discovery-entities.ts +53 -0
- package/src/public/operations/discovery-executors.ts +64 -48
- 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/prolog-json.ts +13 -5
- 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 +26 -2
- package/src/public/operations/specs/check-rules.generated.ts +38 -0
- package/src/public/operations/specs/check.ts +12 -21
- package/src/public/operations/specs/discovery.ts +3 -0
- 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/specs/semantic.ts +79 -17
- package/src/public/operations/symbol-repair-plan.ts +166 -7
- package/src/public/operations/types.ts +6 -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 +44 -12
- package/src/public/skills/kibi-usage/resources/operation-access.md +1 -1
- package/src/public/skills/kibi-usage/resources/proof.md +150 -0
- package/src/public/skills/kibi-usage/resources/workflows.md +6 -6
- package/src/public/symbol-granularity.generated.ts +74 -0
- package/src/public/symbol-granularity.ts +34 -59
- 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
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import { type ProofGateKey } from "./report-view.js";
|
|
1
2
|
import { type ReportRepository } from "./repository.js";
|
|
2
|
-
type UnknownRecord = Readonly<Record<string, unknown>>;
|
|
3
|
+
export type UnknownRecord = Readonly<Record<string, unknown>>;
|
|
3
4
|
export declare const REPORT_CSP = "default-src 'none'; img-src data:; style-src 'unsafe-inline'; script-src 'unsafe-inline'";
|
|
4
5
|
export declare const KIBI_GETTING_STARTED_URL = "https://github.com/Looted/kibi/blob/develop/docs/install.md";
|
|
5
6
|
export type HtmlReportCoverage = Readonly<{
|
|
@@ -14,6 +15,7 @@ export type HtmlReportInput = Readonly<{
|
|
|
14
15
|
generatedAt: Date;
|
|
15
16
|
repository?: ReportRepository;
|
|
16
17
|
}>;
|
|
18
|
+
export declare function firstFailingProofGate(gates: readonly ProofGateKey[], passes: (gate: ProofGateKey) => boolean): ProofGateKey | "proven";
|
|
19
|
+
export declare function earliestUnmetGate(row: UnknownRecord): ProofGateKey | "proven";
|
|
17
20
|
export declare function renderHtmlReport(input: HtmlReportInput): string;
|
|
18
|
-
export {};
|
|
19
21
|
//# sourceMappingURL=html-report.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"html-report.d.ts","sourceRoot":"","sources":["../../src/report/html-report.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"html-report.d.ts","sourceRoot":"","sources":["../../src/report/html-report.ts"],"names":[],"mappings":"AAUA,OAAO,EACL,KAAK,YAAY,EAGlB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,KAAK,gBAAgB,EAMtB,MAAM,iBAAiB,CAAC;AAGzB,MAAM,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAuB9D,eAAO,MAAM,UAAU,6FACqE,CAAC;AAG7F,eAAO,MAAM,wBAAwB,gEAC0B,CAAC;AAEhE,MAAM,MAAM,kBAAkB,GAAG,QAAQ,CAAC;IACxC,OAAO,EAAE,aAAa,CAAC;IACvB,IAAI,EAAE,SAAS,aAAa,EAAE,CAAC;IAC/B,IAAI,CAAC,EAAE,aAAa,CAAC;CACtB,CAAC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,QAAQ,CAAC;IACrC,YAAY,EAAE,kBAAkB,CAAC;IACjC,OAAO,EAAE,kBAAkB,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,IAAI,CAAC;IAClB,UAAU,CAAC,EAAE,gBAAgB,CAAC;CAC/B,CAAC,CAAC;AAsMH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,SAAS,YAAY,EAAE,EAC9B,MAAM,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,OAAO,GACtC,YAAY,GAAG,QAAQ,CAKzB;AAID,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,aAAa,GAAG,YAAY,GAAG,QAAQ,CAM7E;AA8YD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,eAAe,GAAG,MAAM,CAuM/D"}
|
|
@@ -1,8 +1,27 @@
|
|
|
1
|
+
import { readFileSync } from "node:fs";
|
|
2
|
+
import { join } from "node:path";
|
|
3
|
+
import { fileURLToPath } from "node:url";
|
|
1
4
|
import { KIBI_BRAND, renderKibiFaviconDataUri, renderKibiLogo, renderKibiWordmark, } from "./brand.js";
|
|
2
5
|
import { formatAbsoluteUtc, parseTimestamp } from "./relative-time.js";
|
|
3
6
|
import { REPORT_FILTERS, reportFilterCounts, } from "./report-view.js";
|
|
4
7
|
import { commitWebUrl, formatSourceCoordinate, shortCommitSha, sourceWebUrl, } from "./repository.js";
|
|
5
8
|
// implements REQ-kibi-html-health-report
|
|
9
|
+
function reportStyles() {
|
|
10
|
+
const raw = readFileSync(join(fileURLToPath(new URL(".", import.meta.url)), "html-report.css"), "utf8");
|
|
11
|
+
return raw
|
|
12
|
+
.replaceAll("__KIBI_CARBON__", KIBI_BRAND.carbon)
|
|
13
|
+
.replaceAll("__KIBI_DEEP_CARBON__", KIBI_BRAND.deepCarbon)
|
|
14
|
+
.replaceAll("__KIBI_PANEL__", KIBI_BRAND.panel)
|
|
15
|
+
.replaceAll("__KIBI_ICE__", KIBI_BRAND.ice)
|
|
16
|
+
.replaceAll("__KIBI_SIGNAL__", KIBI_BRAND.signal)
|
|
17
|
+
.replaceAll("__KIBI_SNOW__", KIBI_BRAND.snow)
|
|
18
|
+
.replaceAll("__KIBI_MIST__", KIBI_BRAND.mist)
|
|
19
|
+
.replaceAll("__KIBI_RAIL__", KIBI_BRAND.rail)
|
|
20
|
+
.replaceAll("__KIBI_SUCCESS__", KIBI_BRAND.success)
|
|
21
|
+
.replaceAll("__KIBI_WARNING__", KIBI_BRAND.warning)
|
|
22
|
+
.replaceAll("__KIBI_DANGER__", KIBI_BRAND.danger);
|
|
23
|
+
}
|
|
24
|
+
// implements REQ-kibi-html-health-report
|
|
6
25
|
export const REPORT_CSP = "default-src 'none'; img-src data:; style-src 'unsafe-inline'; script-src 'unsafe-inline'";
|
|
7
26
|
// implements REQ-kibi-html-health-report
|
|
8
27
|
export const KIBI_GETTING_STARTED_URL = "https://github.com/Looted/kibi/blob/develop/docs/install.md";
|
|
@@ -160,21 +179,22 @@ function proofGates(rows) {
|
|
|
160
179
|
return gate;
|
|
161
180
|
});
|
|
162
181
|
}
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
for (const gate of
|
|
167
|
-
|
|
168
|
-
"scenario",
|
|
169
|
-
"implementation",
|
|
170
|
-
"e2e",
|
|
171
|
-
"evidence",
|
|
172
|
-
]) {
|
|
173
|
-
if (!passesProofGate(row, gate))
|
|
182
|
+
// implements REQ-kibi-html-health-report
|
|
183
|
+
// covered_by TEST-kibi-html-health-report
|
|
184
|
+
export function firstFailingProofGate(gates, passes) {
|
|
185
|
+
for (const gate of gates) {
|
|
186
|
+
if (!passes(gate))
|
|
174
187
|
return gate;
|
|
175
188
|
}
|
|
176
189
|
return "proven";
|
|
177
190
|
}
|
|
191
|
+
// implements REQ-kibi-html-health-report
|
|
192
|
+
// covered_by TEST-kibi-html-health-report
|
|
193
|
+
export function earliestUnmetGate(row) {
|
|
194
|
+
if (row.proofStatus === "proven")
|
|
195
|
+
return "proven";
|
|
196
|
+
return firstFailingProofGate(["semantic", "scenario", "implementation", "e2e", "evidence"], (gate) => passesProofGate(row, gate));
|
|
197
|
+
}
|
|
178
198
|
function evidenceStage(passingE2e, testSources, repository) {
|
|
179
199
|
const evidence = records(passingE2e.receiptEvidence);
|
|
180
200
|
const passed = evidence.find((item) => item.state === "passed");
|
|
@@ -368,7 +388,7 @@ function rowSeverity(row) {
|
|
|
368
388
|
const gaps = strings(row.proofGaps);
|
|
369
389
|
if (gaps.includes("blocking_contradiction"))
|
|
370
390
|
return 0;
|
|
371
|
-
if (gaps.includes("
|
|
391
|
+
if (gaps.includes("stale_proof_receipt"))
|
|
372
392
|
return 1;
|
|
373
393
|
if (row.proofStatus !== "proven")
|
|
374
394
|
return 2;
|
|
@@ -381,7 +401,7 @@ function rowStates(row) {
|
|
|
381
401
|
states.add("proven");
|
|
382
402
|
else
|
|
383
403
|
states.add("attention");
|
|
384
|
-
if (gaps.includes("
|
|
404
|
+
if (gaps.includes("stale_proof_receipt"))
|
|
385
405
|
states.add("stale");
|
|
386
406
|
if (gaps.includes("blocking_contradiction"))
|
|
387
407
|
states.add("contradiction");
|
|
@@ -451,7 +471,7 @@ function reportNotice(input) {
|
|
|
451
471
|
const notices = [];
|
|
452
472
|
if (meta.dirty === true)
|
|
453
473
|
notices.push("The Kibi knowledge snapshot is stale.");
|
|
454
|
-
if (meta.
|
|
474
|
+
if (meta.proofSnapshotDirty === true) {
|
|
455
475
|
notices.push("Proof was evaluated against a dirty workspace.");
|
|
456
476
|
}
|
|
457
477
|
if (notices.length === 0)
|
|
@@ -511,12 +531,12 @@ export function renderHtmlReport(input) {
|
|
|
511
531
|
? 0
|
|
512
532
|
: Math.round((proven / currentRequirements) * 100);
|
|
513
533
|
const missingScenarios = currentRows.filter((row) => strings(row.proofGaps).includes("missing_scenario")).length;
|
|
514
|
-
const staleEvidence = currentRows.filter((row) => strings(row.proofGaps).includes("
|
|
534
|
+
const staleEvidence = currentRows.filter((row) => strings(row.proofGaps).includes("stale_proof_receipt")).length;
|
|
515
535
|
const withoutImplementation = currentRows.filter((row) => strings(row.proofGaps).includes("missing_production_symbol")).length;
|
|
516
536
|
const contradictions = contradictionRows(currentRows);
|
|
517
537
|
const unmappedProductionSymbols = Math.max(0, count(symbolSummary.uncovered) - count(symbolSummary.mixedRole));
|
|
518
538
|
const generatedAt = input.generatedAt.toISOString();
|
|
519
|
-
const snapshot = text(input.requirements.meta?.
|
|
539
|
+
const snapshot = text(input.requirements.meta?.proofSnapshot);
|
|
520
540
|
const branch = text(input.branch, "unknown");
|
|
521
541
|
const repository = {
|
|
522
542
|
...input.repository,
|
|
@@ -546,290 +566,7 @@ export function renderHtmlReport(input) {
|
|
|
546
566
|
<meta http-equiv="Content-Security-Policy" content="${REPORT_CSP}">
|
|
547
567
|
<link rel="icon" type="image/svg+xml" href="${escapeHtml(faviconHref)}">
|
|
548
568
|
<title>${escapeHtml(identity.title)}</title>
|
|
549
|
-
<style>
|
|
550
|
-
:root {
|
|
551
|
-
color-scheme: dark;
|
|
552
|
-
--bg: #090d18;
|
|
553
|
-
--surface: rgba(20, 27, 45, .86);
|
|
554
|
-
--surface-strong: #151d30;
|
|
555
|
-
--line: rgba(157, 171, 206, .16);
|
|
556
|
-
--text: #f4f7ff;
|
|
557
|
-
--muted: #9ba7c3;
|
|
558
|
-
--violet: #9d84ff;
|
|
559
|
-
--cyan: #5ce1e6;
|
|
560
|
-
--green: #62e6a7;
|
|
561
|
-
--amber: #ffc96b;
|
|
562
|
-
--red: #ff7d90;
|
|
563
|
-
--shadow: 0 30px 80px rgba(0, 0, 0, .35);
|
|
564
|
-
font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
565
|
-
}
|
|
566
|
-
* { box-sizing: border-box; }
|
|
567
|
-
html { scroll-behavior: smooth; }
|
|
568
|
-
body {
|
|
569
|
-
margin: 0;
|
|
570
|
-
min-width: 320px;
|
|
571
|
-
color: var(--text);
|
|
572
|
-
background:
|
|
573
|
-
radial-gradient(circle at 12% -10%, rgba(93, 74, 190, .32), transparent 34rem),
|
|
574
|
-
radial-gradient(circle at 88% 8%, rgba(33, 153, 166, .19), transparent 30rem),
|
|
575
|
-
var(--bg);
|
|
576
|
-
}
|
|
577
|
-
body::before {
|
|
578
|
-
position: fixed;
|
|
579
|
-
inset: 0;
|
|
580
|
-
z-index: -1;
|
|
581
|
-
content: "";
|
|
582
|
-
opacity: .18;
|
|
583
|
-
background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
|
|
584
|
-
background-size: 38px 38px;
|
|
585
|
-
mask-image: linear-gradient(to bottom, black, transparent 75%);
|
|
586
|
-
}
|
|
587
|
-
.shell { width: min(1160px, calc(100% - 40px)); margin: 0 auto; }
|
|
588
|
-
.topbar { display: flex; align-items: center; justify-content: space-between; padding: 34px 0 16px; }
|
|
589
|
-
.brand { display: flex; align-items: center; gap: 12px; font-weight: 900; letter-spacing: .3em; }
|
|
590
|
-
.brand__mark { display: grid; width: 34px; height: 34px; place-items: center; border: 1px solid rgba(157,132,255,.55); border-radius: 11px; color: var(--violet); background: rgba(157,132,255,.12); box-shadow: inset 0 0 18px rgba(157,132,255,.12); }
|
|
591
|
-
.snapshot { color: var(--muted); font: 500 12px/1.4 ui-monospace, SFMono-Regular, Menlo, monospace; }
|
|
592
|
-
.hero { display: grid; grid-template-columns: 1.15fr .85fr; gap: 30px; align-items: stretch; padding: 42px 0 26px; }
|
|
593
|
-
.hero__copy, .score-card { border: 1px solid var(--line); border-radius: 28px; background: linear-gradient(145deg, rgba(25,33,54,.92), rgba(13,18,31,.82)); box-shadow: var(--shadow); }
|
|
594
|
-
.hero__copy { padding: clamp(30px, 5vw, 62px); }
|
|
595
|
-
.eyebrow { margin: 0 0 17px; color: var(--cyan); font-size: 12px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
|
|
596
|
-
h1 { max-width: 720px; margin: 0; font-size: clamp(42px, 7vw, 76px); font-weight: 760; letter-spacing: -.055em; line-height: .98; }
|
|
597
|
-
h1 span { display: block; color: var(--muted); font-size: .42em; font-weight: 620; letter-spacing: -.025em; line-height: 1.4; }
|
|
598
|
-
.hero__lede { max-width: 620px; margin: 25px 0 0; color: #bdc6dc; font-size: 17px; line-height: 1.65; }
|
|
599
|
-
.score-card { display: grid; min-height: 340px; padding: 38px; place-items: center; text-align: center; }
|
|
600
|
-
.score-ring { --score: 0%; position: relative; display: grid; width: 220px; aspect-ratio: 1; place-items: center; border-radius: 50%; background: conic-gradient(var(--green) var(--score), rgba(255,255,255,.08) 0); box-shadow: 0 0 60px rgba(98,230,167,.12); }
|
|
601
|
-
.score-ring::before { position: absolute; width: 178px; aspect-ratio: 1; content: ""; border: 1px solid var(--line); border-radius: inherit; background: #111827; }
|
|
602
|
-
.score-ring__value { position: relative; font-size: 52px; font-weight: 820; letter-spacing: -.06em; }
|
|
603
|
-
.score-ring__value span { margin-left: 2px; color: var(--muted); font-size: 22px; }
|
|
604
|
-
.score-card p { position: relative; margin: 13px 0 0; color: var(--muted); font-size: 13px; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
|
|
605
|
-
.snapshot-notice { display: flex; gap: 14px; align-items: center; margin: 3px 0 23px; padding: 15px 18px; border: 1px solid rgba(255,201,107,.3); border-radius: 15px; color: #f8dfb2; background: rgba(255,201,107,.08); }
|
|
606
|
-
.snapshot-notice strong { flex: none; color: var(--amber); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; }
|
|
607
|
-
.metrics { display: grid; grid-template-columns: repeat(auto-fit, minmax(148px, 1fr)); overflow: hidden; margin: 0 0 62px; border: 1px solid var(--line); border-radius: 20px; background: rgba(18,25,42,.74); box-shadow: var(--shadow); }
|
|
608
|
-
.metric { min-width: 0; padding: 22px 20px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
|
|
609
|
-
.metric:last-child { border-right: 0; }
|
|
610
|
-
.metric span { display: block; min-height: 32px; color: var(--muted); font-size: 12px; line-height: 1.35; }
|
|
611
|
-
.metric strong { display: block; margin-top: 6px; font-size: 30px; letter-spacing: -.035em; }
|
|
612
|
-
.metric--good strong { color: var(--green); }
|
|
613
|
-
.metric--warn strong { color: var(--amber); }
|
|
614
|
-
.metric--bad strong { color: var(--red); }
|
|
615
|
-
.section-header { display: flex; gap: 24px; align-items: end; justify-content: space-between; margin-bottom: 24px; }
|
|
616
|
-
.section-header h2 { margin: 0; font-size: clamp(29px, 4vw, 42px); letter-spacing: -.04em; }
|
|
617
|
-
.section-header p { max-width: 590px; margin: 8px 0 0; color: var(--muted); line-height: 1.55; }
|
|
618
|
-
.controls { position: sticky; top: 12px; z-index: 4; display: flex; gap: 12px; margin: 0 0 24px; padding: 12px; border: 1px solid var(--line); border-radius: 18px; background: rgba(9,13,24,.86); box-shadow: 0 16px 40px rgba(0,0,0,.25); backdrop-filter: blur(18px); }
|
|
619
|
-
.search { min-width: 180px; flex: 1; padding: 12px 15px; border: 1px solid var(--line); border-radius: 12px; outline: none; color: var(--text); background: rgba(255,255,255,.045); font: inherit; }
|
|
620
|
-
.search:focus { border-color: var(--violet); box-shadow: 0 0 0 3px rgba(157,132,255,.12); }
|
|
621
|
-
.filters { display: flex; gap: 7px; overflow-x: auto; }
|
|
622
|
-
.filter { padding: 10px 13px; border: 1px solid transparent; border-radius: 11px; color: var(--muted); background: transparent; cursor: pointer; font: inherit; font-size: 12px; font-weight: 650; white-space: nowrap; }
|
|
623
|
-
.filter:hover { color: var(--text); background: rgba(255,255,255,.05); }
|
|
624
|
-
.filter[aria-pressed="true"] { border-color: rgba(157,132,255,.38); color: #ddd5ff; background: rgba(157,132,255,.14); }
|
|
625
|
-
.requirements { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; padding-bottom: 80px; }
|
|
626
|
-
.requirement { position: relative; overflow: hidden; padding: 25px; border: 1px solid var(--line); border-radius: 20px; background: linear-gradient(145deg, rgba(22,30,50,.94), rgba(15,21,36,.9)); box-shadow: 0 16px 45px rgba(0,0,0,.2); }
|
|
627
|
-
.requirement::before { position: absolute; inset: 0 auto 0 0; width: 3px; content: ""; background: var(--amber); }
|
|
628
|
-
.requirement--proven::before { background: var(--green); }
|
|
629
|
-
.requirement--unresolved::before { background: var(--red); }
|
|
630
|
-
.requirement[hidden] { display: none; }
|
|
631
|
-
.requirement__header { display: flex; gap: 18px; align-items: start; justify-content: space-between; }
|
|
632
|
-
.requirement__id { margin-bottom: 7px; color: var(--muted); font: 700 11px/1.2 ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .05em; }
|
|
633
|
-
.requirement h3 { margin: 0; font-size: 20px; line-height: 1.25; letter-spacing: -.02em; }
|
|
634
|
-
.proof-badge { flex: none; padding: 7px 9px; border: 1px solid rgba(255,201,107,.25); border-radius: 999px; color: var(--amber); background: rgba(255,201,107,.08); font-size: 10px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
|
|
635
|
-
.proof-badge--proven { border-color: rgba(98,230,167,.25); color: var(--green); background: rgba(98,230,167,.08); }
|
|
636
|
-
.proof-badge--unresolved { border-color: rgba(255,125,144,.25); color: var(--red); background: rgba(255,125,144,.08); }
|
|
637
|
-
.stages { display: grid; gap: 9px; margin: 24px 0 0; padding: 0; list-style: none; }
|
|
638
|
-
.stage { display: grid; grid-template-columns: 20px minmax(100px, .7fr) 1.3fr; gap: 8px; align-items: baseline; }
|
|
639
|
-
.stage__icon { display: grid; width: 17px; height: 17px; place-items: center; border-radius: 50%; color: #08130e; background: var(--green); font-size: 11px; font-weight: 900; }
|
|
640
|
-
.stage--warning .stage__icon { color: #241602; background: var(--amber); }
|
|
641
|
-
.stage--failed .stage__icon { color: #24080c; background: var(--red); }
|
|
642
|
-
.stage--muted .stage__icon { color: var(--muted); background: rgba(255,255,255,.08); }
|
|
643
|
-
.stage__label { font-size: 13px; font-weight: 720; }
|
|
644
|
-
.stage__detail { color: var(--muted); font-size: 12px; line-height: 1.45; }
|
|
645
|
-
.contradiction { margin-top: 21px; padding: 16px; border: 1px solid rgba(255,125,144,.24); border-radius: 14px; background: rgba(255,125,144,.07); }
|
|
646
|
-
.contradiction__eyebrow { color: var(--red); font-size: 10px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
|
|
647
|
-
.contradiction__values { display: flex; gap: 11px; align-items: center; margin-top: 9px; font: 750 15px/1.4 ui-monospace, SFMono-Regular, Menlo, monospace; }
|
|
648
|
-
.contradiction__values b { color: var(--red); }
|
|
649
|
-
.contradiction p { margin: 8px 0 0; color: #d9a9b1; font-size: 12px; line-height: 1.5; }
|
|
650
|
-
.proof-gaps { margin-top: 18px; border-top: 1px solid var(--line); color: var(--muted); font-size: 12px; }
|
|
651
|
-
.proof-advisories { margin-top: 12px; border-top: 1px solid var(--line); color: var(--muted); font-size: 12px; }
|
|
652
|
-
.proof-gaps summary, .proof-advisories summary { padding-top: 14px; cursor: pointer; font-weight: 700; }
|
|
653
|
-
.proof-gaps ul, .proof-advisories ul { columns: 2; margin: 11px 0 0; padding-left: 18px; }
|
|
654
|
-
.proof-gaps li, .proof-advisories li { margin-bottom: 7px; break-inside: avoid; }
|
|
655
|
-
.empty { display: none; padding: 70px 20px; border: 1px dashed var(--line); border-radius: 20px; color: var(--muted); text-align: center; }
|
|
656
|
-
.empty[data-visible="true"] { display: block; }
|
|
657
|
-
footer { display: flex; gap: 20px; justify-content: space-between; padding: 30px 0 48px; border-top: 1px solid var(--line); color: var(--muted); font-size: 12px; }
|
|
658
|
-
@media (max-width: 960px) {
|
|
659
|
-
.hero { grid-template-columns: 1fr; }
|
|
660
|
-
.score-card { min-height: 290px; }
|
|
661
|
-
.metrics { grid-template-columns: repeat(3, 1fr); }
|
|
662
|
-
.metric:nth-child(3) { border-right: 0; }
|
|
663
|
-
.metric:nth-child(-n+3) { border-bottom: 1px solid var(--line); }
|
|
664
|
-
}
|
|
665
|
-
@media (max-width: 760px) {
|
|
666
|
-
.shell { width: min(100% - 24px, 1160px); }
|
|
667
|
-
.topbar { padding-top: 22px; }
|
|
668
|
-
.hero { padding-top: 20px; }
|
|
669
|
-
.hero__copy, .score-card { border-radius: 22px; }
|
|
670
|
-
.requirements { grid-template-columns: 1fr; }
|
|
671
|
-
.section-header { align-items: start; flex-direction: column; }
|
|
672
|
-
.controls { align-items: stretch; flex-direction: column; }
|
|
673
|
-
.filters { padding-bottom: 2px; }
|
|
674
|
-
footer { flex-direction: column; }
|
|
675
|
-
}
|
|
676
|
-
@media (max-width: 520px) {
|
|
677
|
-
.metrics { grid-template-columns: repeat(2, 1fr); }
|
|
678
|
-
.metric { border-bottom: 1px solid var(--line); }
|
|
679
|
-
.metric:nth-child(2n) { border-right: 0; }
|
|
680
|
-
.metric:nth-last-child(-n+2) { border-bottom: 0; }
|
|
681
|
-
.stage { grid-template-columns: 20px 1fr; }
|
|
682
|
-
.stage__detail { grid-column: 2; }
|
|
683
|
-
.proof-gaps ul { columns: 1; }
|
|
684
|
-
}
|
|
685
|
-
@media print {
|
|
686
|
-
body { background: #fff; color: #111827; }
|
|
687
|
-
body::before, .controls { display: none; }
|
|
688
|
-
.hero__copy, .score-card, .metrics, .requirement { border-color: #d9deea; color: #111827; background: #fff; box-shadow: none; break-inside: avoid; }
|
|
689
|
-
.requirements { display: block; }
|
|
690
|
-
.requirement { margin-bottom: 14px; }
|
|
691
|
-
.hero__lede, .metric span, .stage__detail, .section-header p, footer { color: #59647a; }
|
|
692
|
-
}
|
|
693
|
-
|
|
694
|
-
/* Kibi proof-rail identity. Tokens mirror assets/logo.svg and assets/wordmark.svg. */
|
|
695
|
-
:root {
|
|
696
|
-
--carbon: ${KIBI_BRAND.carbon};
|
|
697
|
-
--deep-carbon: ${KIBI_BRAND.deepCarbon};
|
|
698
|
-
--panel: ${KIBI_BRAND.panel};
|
|
699
|
-
--ice: ${KIBI_BRAND.ice};
|
|
700
|
-
--signal: ${KIBI_BRAND.signal};
|
|
701
|
-
--snow: ${KIBI_BRAND.snow};
|
|
702
|
-
--mist: ${KIBI_BRAND.mist};
|
|
703
|
-
--rail: ${KIBI_BRAND.rail};
|
|
704
|
-
--success: ${KIBI_BRAND.success};
|
|
705
|
-
--warning: ${KIBI_BRAND.warning};
|
|
706
|
-
--danger: ${KIBI_BRAND.danger};
|
|
707
|
-
--line: rgba(162, 211, 244, .16);
|
|
708
|
-
--mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
|
|
709
|
-
font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
710
|
-
}
|
|
711
|
-
body { color: var(--snow); background: var(--deep-carbon); }
|
|
712
|
-
body::before { position: fixed; inset: 0 0 auto; z-index: -1; height: 4px; content: ""; opacity: 1; background: linear-gradient(90deg, var(--ice) 0 17%, var(--signal) 17% 100%); mask-image: none; }
|
|
713
|
-
.shell { width: min(1180px, calc(100% - 40px)); }
|
|
714
|
-
.topbar { padding: 30px 0 20px; border-bottom: 1px solid var(--line); }
|
|
715
|
-
.brand { gap: 13px; letter-spacing: normal; }
|
|
716
|
-
.brand__logo { width: 42px; height: 42px; flex: none; }
|
|
717
|
-
.brand__wordmark { width: 86px; height: auto; }
|
|
718
|
-
.brand__product { padding-left: 14px; border-left: 1px solid var(--rail); color: var(--mist); font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
|
|
719
|
-
.snapshot { max-width: min(52vw, 420px); overflow: hidden; color: var(--mist); font: 500 11px/1.4 var(--mono); text-align: right; text-overflow: ellipsis; }
|
|
720
|
-
.snapshot a, .source-link, .cta { color: var(--ice); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 2px; }
|
|
721
|
-
.snapshot a:hover, .source-link:hover, .cta:hover { color: var(--snow); }
|
|
722
|
-
.relative-age::before { content: " · "; }
|
|
723
|
-
.relative-age:empty::before { content: none; }
|
|
724
|
-
.overview { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 36px; align-items: end; padding: clamp(38px, 7vw, 76px) 0 32px; }
|
|
725
|
-
.eyebrow { margin: 0 0 12px; color: var(--ice); font: 750 11px/1.4 var(--mono); letter-spacing: .12em; }
|
|
726
|
-
h1 { margin: 0; font-size: clamp(38px, 6vw, 68px); font-weight: 720; letter-spacing: -.052em; line-height: 1; }
|
|
727
|
-
.overview__copy { max-width: 700px; }
|
|
728
|
-
.overview__copy p:last-child { max-width: 660px; margin: 19px 0 0; color: var(--mist); font-size: 16px; line-height: 1.65; }
|
|
729
|
-
.score { min-width: 220px; padding-left: 30px; border-left: 2px solid var(--signal); text-align: right; }
|
|
730
|
-
.score__value { color: var(--snow); font: 760 clamp(62px, 9vw, 104px)/.84 var(--mono); letter-spacing: -.09em; }
|
|
731
|
-
.score__value span { color: var(--ice); font-size: .38em; letter-spacing: -.04em; }
|
|
732
|
-
.score__label { margin-top: 17px; color: var(--ice); font-size: 12px; font-weight: 760; letter-spacing: .12em; text-transform: uppercase; }
|
|
733
|
-
.score__ratio { margin-top: 6px; color: var(--mist); font: 500 12px/1.4 var(--mono); }
|
|
734
|
-
.score__note { max-width: 260px; margin: 10px 0 0 auto; color: var(--mist); font-size: 11px; font-weight: 500; letter-spacing: 0; line-height: 1.45; text-transform: none; }
|
|
735
|
-
.snapshot-notice { margin: 0 0 22px; padding: 14px 16px; border-color: rgba(242,184,75,.4); border-radius: 9px; color: var(--snow); background: rgba(242,184,75,.08); }
|
|
736
|
-
.snapshot-notice strong { color: var(--warning); font: 750 11px/1.4 var(--mono); }
|
|
737
|
-
.proof-path { margin-bottom: 20px; padding: 24px 26px 22px; border: 1px solid var(--line); border-radius: 14px; background: var(--carbon); }
|
|
738
|
-
.proof-path__header { display: flex; gap: 24px; align-items: start; justify-content: space-between; margin-bottom: 25px; }
|
|
739
|
-
.proof-path__header h2 { margin: 0; font-size: 19px; letter-spacing: -.02em; }
|
|
740
|
-
.proof-path__header p { max-width: 510px; margin: 0; color: var(--mist); font-size: 12px; line-height: 1.55; text-align: right; }
|
|
741
|
-
.proof-rail { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; }
|
|
742
|
-
.proof-rail > li { min-width: 0; }
|
|
743
|
-
.proof-gate { position: relative; display: block; width: 100%; min-width: 0; margin: 0; padding: 25px 18px 0 0; border: 0; border-top: 2px solid var(--signal); border-radius: 0; color: inherit; background: transparent; font: inherit; text-align: left; cursor: pointer; }
|
|
744
|
-
.proof-gate:last-child, .proof-rail > li:last-child .proof-gate { padding-right: 0; }
|
|
745
|
-
.proof-gate:focus-visible { outline: 2px solid var(--ice); outline-offset: 4px; }
|
|
746
|
-
.proof-gate[aria-pressed="true"] { background: rgba(62, 142, 214, .1); }
|
|
747
|
-
.proof-gate__node { position: absolute; top: -10px; left: 0; display: grid; width: 19px; height: 19px; place-items: center; border: 2px solid var(--ice); border-radius: 50%; color: var(--deep-carbon); background: var(--ice); font: 800 9px/1 var(--mono); }
|
|
748
|
-
.proof-gate--blocked { border-top-color: var(--rail); }
|
|
749
|
-
.proof-gate--blocked .proof-gate__node { border-color: var(--danger); color: var(--danger); background: var(--carbon); }
|
|
750
|
-
.proof-gate__count { font: 750 28px/1 var(--mono); letter-spacing: -.05em; }
|
|
751
|
-
.proof-gate__label { margin-top: 8px; font-size: 13px; font-weight: 720; }
|
|
752
|
-
.proof-gate__drop { min-height: 17px; margin-top: 5px; color: var(--warning); font: 650 10px/1.4 var(--mono); }
|
|
753
|
-
.proof-gate p { margin: 7px 0 0; color: var(--mist); font-size: 11px; line-height: 1.45; }
|
|
754
|
-
.metrics { margin: 0 0 62px; border-color: var(--line); border-radius: 12px; background: var(--panel); box-shadow: none; }
|
|
755
|
-
.metric { position: relative; padding: 18px 17px; border-color: var(--line); }
|
|
756
|
-
.metric::before { position: absolute; top: 0; left: 17px; width: 28px; height: 2px; content: ""; background: var(--signal); }
|
|
757
|
-
.metric span { min-height: 31px; color: var(--mist); font-size: 11px; }
|
|
758
|
-
.metric strong { margin-top: 4px; font: 720 26px/1 var(--mono); letter-spacing: -.04em; }
|
|
759
|
-
.metric--good strong { color: var(--success); }
|
|
760
|
-
.metric--warn strong { color: var(--warning); }
|
|
761
|
-
.metric--bad strong { color: var(--danger); }
|
|
762
|
-
.section-header p { color: var(--mist); }
|
|
763
|
-
.controls { margin-bottom: 18px; padding: 10px; border-color: var(--line); border-radius: 12px; background: rgba(17,19,24,.94); box-shadow: none; backdrop-filter: blur(14px); }
|
|
764
|
-
.search { padding: 11px 13px; border-color: var(--rail); border-radius: 8px; color: var(--snow); background: var(--carbon); }
|
|
765
|
-
.search:focus { border-color: var(--ice); box-shadow: 0 0 0 3px rgba(162,211,244,.1); }
|
|
766
|
-
.filters { gap: 6px; }
|
|
767
|
-
.filter { padding: 9px 11px; border-radius: 7px; color: var(--mist); font: 650 11px/1.4 var(--mono); }
|
|
768
|
-
.filter:hover { color: var(--snow); background: rgba(162,211,244,.06); }
|
|
769
|
-
.filter[aria-pressed="true"] { border-color: rgba(162,211,244,.35); color: var(--ice); background: rgba(62,142,214,.13); }
|
|
770
|
-
.filter:focus-visible { outline: 2px solid var(--ice); outline-offset: 2px; }
|
|
771
|
-
.cta:focus-visible, .source-link:focus-visible, .snapshot a:focus-visible { outline: 2px solid var(--ice); outline-offset: 2px; }
|
|
772
|
-
.requirements { grid-template-columns: 1fr; gap: 13px; }
|
|
773
|
-
.requirement { padding: 22px 24px 20px; border-color: var(--line); border-radius: 12px; background: var(--panel); box-shadow: none; }
|
|
774
|
-
.requirement::before { background: var(--warning); }
|
|
775
|
-
.requirement--proven::before { background: var(--success); }
|
|
776
|
-
.requirement--unresolved::before { background: var(--danger); }
|
|
777
|
-
.requirement__id { color: var(--ice); font: 700 10px/1.2 var(--mono); letter-spacing: .07em; }
|
|
778
|
-
.requirement h3 { font-size: 18px; line-height: 1.3; }
|
|
779
|
-
.proof-badge { padding: 6px 8px; border-color: rgba(242,184,75,.3); border-radius: 6px; color: var(--warning); background: rgba(242,184,75,.07); font: 800 9px/1.2 var(--mono); }
|
|
780
|
-
.proof-badge--proven { border-color: rgba(99,201,154,.3); color: var(--success); background: rgba(99,201,154,.07); }
|
|
781
|
-
.proof-badge--unresolved { border-color: rgba(240,113,120,.3); color: var(--danger); background: rgba(240,113,120,.07); }
|
|
782
|
-
.stages { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0; }
|
|
783
|
-
.stage { position: relative; display: block; min-width: 0; padding: 20px 13px 0 0; border-top: 1px solid var(--rail); }
|
|
784
|
-
.stage:last-child { padding-right: 0; }
|
|
785
|
-
.stage__icon { position: absolute; top: -8px; left: 0; width: 16px; height: 16px; border: 1px solid var(--success); color: var(--deep-carbon); background: var(--success); font: 900 10px/1 var(--mono); }
|
|
786
|
-
.stage--warning .stage__icon { border-color: var(--warning); color: var(--warning); background: var(--panel); }
|
|
787
|
-
.stage--failed .stage__icon { border-color: var(--danger); color: var(--danger); background: var(--panel); }
|
|
788
|
-
.stage--muted .stage__icon { border-color: var(--rail); color: var(--mist); background: var(--panel); }
|
|
789
|
-
.stage__label { display: block; font-size: 12px; }
|
|
790
|
-
.stage__detail { display: block; margin-top: 5px; color: var(--mist); font-size: 11px; }
|
|
791
|
-
.contradiction { border-color: rgba(240,113,120,.32); border-radius: 9px; background: rgba(240,113,120,.07); }
|
|
792
|
-
.contradiction__eyebrow, .contradiction__values b { color: var(--danger); }
|
|
793
|
-
.contradiction p, .proof-gaps, .proof-advisories { color: var(--mist); }
|
|
794
|
-
.proof-gaps, .proof-advisories { border-color: var(--line); }
|
|
795
|
-
.proof-gaps ul, .proof-advisories ul { columns: 3; }
|
|
796
|
-
.empty { border-color: var(--rail); border-radius: 12px; color: var(--mist); }
|
|
797
|
-
footer { border-color: var(--line); color: var(--mist); font: 500 11px/1.5 var(--mono); }
|
|
798
|
-
.filter__count { margin-left: 6px; color: var(--ice); }
|
|
799
|
-
.requirement h3 .source-link { color: inherit; }
|
|
800
|
-
@media (max-width: 960px) {
|
|
801
|
-
.proof-rail { grid-template-columns: repeat(5, 180px); overflow-x: auto; padding-top: 8px; }
|
|
802
|
-
.snapshot { max-width: 100%; }
|
|
803
|
-
}
|
|
804
|
-
@media (max-width: 760px) {
|
|
805
|
-
.shell { width: min(100% - 24px, 1180px); }
|
|
806
|
-
.topbar { align-items: start; flex-wrap: wrap; gap: 12px; }
|
|
807
|
-
.snapshot { max-width: 100%; text-align: left; }
|
|
808
|
-
.overview { grid-template-columns: 1fr; gap: 28px; padding-top: 38px; }
|
|
809
|
-
.score { min-width: 0; padding: 20px 0 0; border-top: 2px solid var(--signal); border-left: 0; text-align: left; }
|
|
810
|
-
.score__value { font-size: 66px; }
|
|
811
|
-
.score__note { margin-left: 0; }
|
|
812
|
-
.proof-path__header { align-items: start; flex-direction: column; }
|
|
813
|
-
.proof-path__header p { text-align: left; }
|
|
814
|
-
.stages { grid-template-columns: 1fr; }
|
|
815
|
-
.stage { min-height: 66px; margin-left: 8px; padding: 0 0 18px 30px; border-top: 0; border-left: 1px solid var(--rail); }
|
|
816
|
-
.stage__icon { top: 0; left: -8px; }
|
|
817
|
-
.proof-gaps ul, .proof-advisories ul { columns: 2; }
|
|
818
|
-
}
|
|
819
|
-
@media (max-width: 520px) {
|
|
820
|
-
.brand__product { display: none; }
|
|
821
|
-
.proof-path { padding-inline: 18px; }
|
|
822
|
-
.proof-gaps ul, .proof-advisories ul { columns: 1; }
|
|
823
|
-
}
|
|
824
|
-
@media print {
|
|
825
|
-
:root { color-scheme: light; }
|
|
826
|
-
body { color: #17202a; background: #fff; }
|
|
827
|
-
.topbar, .proof-path, .metrics, .requirement { border-color: #cbd5dc; color: #17202a; background: #fff; }
|
|
828
|
-
.proof-gate, .stage { border-color: #7b8b96; background: transparent; }
|
|
829
|
-
.proof-gate p, .proof-path__header p, .metric span, .stage__detail, .section-header p, footer, .score__note { color: #4e606c; }
|
|
830
|
-
.source-link, .cta, .snapshot a { color: inherit; }
|
|
831
|
-
}
|
|
832
|
-
</style>
|
|
569
|
+
<style>\n${reportStyles()}\n </style>
|
|
833
570
|
</head>
|
|
834
571
|
<body>
|
|
835
572
|
<div class="shell">
|
|
@@ -1,3 +1,5 @@
|
|
|
1
1
|
import type { OperationRuntime, RuntimeOptions } from "../public/operations/runtime-types.js";
|
|
2
|
+
import { type BranchResolutionError } from "../utils/branch-resolver.js";
|
|
3
|
+
export declare function attachmentFailureMessage(attachment: BranchResolutionError): string;
|
|
2
4
|
export declare function createCliRuntime(options?: RuntimeOptions): OperationRuntime;
|
|
3
5
|
//# sourceMappingURL=cli-runtime.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-runtime.d.ts","sourceRoot":"","sources":["../../src/runtime/cli-runtime.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cli-runtime.d.ts","sourceRoot":"","sources":["../../src/runtime/cli-runtime.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAKV,gBAAgB,EAEhB,cAAc,EACf,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACL,KAAK,qBAAqB,EAE3B,MAAM,6BAA6B,CAAC;AAErC,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,qBAAqB,GAChC,MAAM,CAOR;AAkFD,wBAAgB,gBAAgB,CAC9B,OAAO,GAAE,cAAmB,GAC3B,gBAAgB,CAwHlB"}
|
|
@@ -1,7 +1,16 @@
|
|
|
1
1
|
import path from "node:path";
|
|
2
|
+
import { retryAttachAfterBreakingStaleLock } from "../prolog/store-lock.js";
|
|
2
3
|
import { EngineClient } from "../engine.js";
|
|
4
|
+
import { CapabilityRegistryCache, ensureCapabilityRegistry, } from "../plugins/registry.js";
|
|
3
5
|
import { nodeFilesystem, nodeGit, nodeNetwork, } from "../public/operations/node-ports.js";
|
|
4
|
-
import { resolveBranchAttachment } from "../utils/branch-resolver.js";
|
|
6
|
+
import { resolveBranchAttachment, } from "../utils/branch-resolver.js";
|
|
7
|
+
export function attachmentFailureMessage(attachment) {
|
|
8
|
+
const isNonGitContext = attachment.code === "NOT_A_GIT_REPO" ||
|
|
9
|
+
attachment.code === "GIT_NOT_AVAILABLE";
|
|
10
|
+
return isNonGitContext
|
|
11
|
+
? "Kibi requires an active Git branch outside a repository; set KIBI_BRANCH explicitly for a standalone workspace."
|
|
12
|
+
: `Failed to resolve active branch: ${attachment.error}`;
|
|
13
|
+
}
|
|
5
14
|
function createDefaultProlog(root, branch) {
|
|
6
15
|
const engine = new EngineClient({
|
|
7
16
|
workspaceRoot: root,
|
|
@@ -49,9 +58,18 @@ function enginePort(port, signal) {
|
|
|
49
58
|
execute: (command, commandSignal) => execute.call(port, command, commandSignal ?? signal),
|
|
50
59
|
};
|
|
51
60
|
}
|
|
61
|
+
function resolvePluginsOption(plugins) {
|
|
62
|
+
if (plugins === undefined)
|
|
63
|
+
return undefined;
|
|
64
|
+
if (typeof plugins === "function")
|
|
65
|
+
return plugins;
|
|
66
|
+
return async () => plugins;
|
|
67
|
+
}
|
|
52
68
|
// implements REQ-kibi-operation-interface-parity
|
|
53
69
|
export function createCliRuntime(options = {}) {
|
|
54
70
|
const ownedPrologs = new WeakMap();
|
|
71
|
+
// Per-runtime cache — not a process-global singleton.
|
|
72
|
+
const pluginCache = new CapabilityRegistryCache();
|
|
55
73
|
return {
|
|
56
74
|
open: async (spec, invocationOptions = {}) => {
|
|
57
75
|
const merged = {
|
|
@@ -62,6 +80,12 @@ export function createCliRuntime(options = {}) {
|
|
|
62
80
|
const signal = merged.signal ?? new AbortController().signal;
|
|
63
81
|
const clock = merged.clock ?? (() => new Date());
|
|
64
82
|
const git = merged.git ?? nodeGit;
|
|
83
|
+
const injectedPlugins = resolvePluginsOption(merged.plugins);
|
|
84
|
+
const ensurePlugins = async () => {
|
|
85
|
+
if (injectedPlugins)
|
|
86
|
+
return injectedPlugins();
|
|
87
|
+
return ensureCapabilityRegistry(root, { cache: pluginCache });
|
|
88
|
+
};
|
|
65
89
|
const contextBase = {
|
|
66
90
|
workspaceRoot: root,
|
|
67
91
|
signal,
|
|
@@ -69,6 +93,8 @@ export function createCliRuntime(options = {}) {
|
|
|
69
93
|
fs: merged.fs ?? nodeFilesystem,
|
|
70
94
|
git,
|
|
71
95
|
net: merged.net ?? nodeNetwork,
|
|
96
|
+
ensurePlugins,
|
|
97
|
+
...(merged.plugins !== undefined ? { plugins: merged.plugins } : {}),
|
|
72
98
|
};
|
|
73
99
|
if (!spec.requiresProlog) {
|
|
74
100
|
// Read-only operations such as status may choose to use an explicitly
|
|
@@ -106,12 +132,8 @@ export function createCliRuntime(options = {}) {
|
|
|
106
132
|
}
|
|
107
133
|
const attachment = resolveBranchAttachment(root);
|
|
108
134
|
if ("error" in attachment) {
|
|
109
|
-
const isNonGitContext = attachment.code === "NOT_A_GIT_REPO" ||
|
|
110
|
-
attachment.code === "GIT_NOT_AVAILABLE";
|
|
111
135
|
await merged.prolog?.terminate?.();
|
|
112
|
-
throw new Error(
|
|
113
|
-
? "Kibi requires an active Git branch outside a repository; set KIBI_BRANCH explicitly for a standalone workspace."
|
|
114
|
-
: `Failed to resolve active branch: ${attachment.error}`);
|
|
136
|
+
throw new Error(attachmentFailureMessage(attachment));
|
|
115
137
|
}
|
|
116
138
|
if (attachment.migrationRequired) {
|
|
117
139
|
console.warn(`[KIBI] Legacy branch attachment: Git '${attachment.gitBranch}' is reading KB '${attachment.kbBranch}'. Migrate with 'kibi branch migrate --from ${attachment.kbBranch} --to ${attachment.gitBranch} --apply'; writes are blocked until then.`);
|
|
@@ -123,7 +145,10 @@ export function createCliRuntime(options = {}) {
|
|
|
123
145
|
await prolog.start?.();
|
|
124
146
|
const kbPath = attachment.storePath;
|
|
125
147
|
if (!usesEngine) {
|
|
126
|
-
|
|
148
|
+
let attached = await prolog.query(`kb_attach('${quoteProlog(kbPath)}')`);
|
|
149
|
+
if (!attached.success) {
|
|
150
|
+
attached = await retryAttachAfterBreakingStaleLock(prolog, kbPath, attached);
|
|
151
|
+
}
|
|
127
152
|
if (!attached.success) {
|
|
128
153
|
throw new Error(attached.error ?? "Failed to attach branch KB");
|
|
129
154
|
}
|