kibi-cli 0.19.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli-errors.d.ts +3 -1
- package/dist/cli-errors.d.ts.map +1 -1
- package/dist/cli-errors.js +4 -1
- package/dist/cli-json-command.d.ts +1 -0
- package/dist/cli-json-command.d.ts.map +1 -1
- package/dist/cli-json-command.js +13 -4
- package/dist/cli-operation-loader.d.ts.map +1 -1
- package/dist/cli-operation-loader.js +53 -20
- package/dist/cli-operation-metadata.d.ts +21 -8
- package/dist/cli-operation-metadata.d.ts.map +1 -1
- package/dist/cli-operation-metadata.js +27 -10
- package/dist/cli-protocol.d.ts.map +1 -1
- package/dist/cli-protocol.js +38 -8
- package/dist/cli-register-foundation.d.ts.map +1 -1
- package/dist/cli-register-foundation.js +14 -2
- package/dist/cli-register-maintenance.d.ts.map +1 -1
- package/dist/cli-register-maintenance.js +33 -4
- package/dist/cli-register-proof.d.ts +3 -0
- package/dist/cli-register-proof.d.ts.map +1 -0
- package/dist/cli-register-proof.js +103 -0
- package/dist/cli-register-reporting.d.ts.map +1 -1
- package/dist/cli-register-reporting.js +11 -0
- package/dist/cli.d.ts +4 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +17 -8
- package/dist/commands/aggregated-checks.d.ts +1 -2
- package/dist/commands/aggregated-checks.d.ts.map +1 -1
- package/dist/commands/aggregated-checks.js +14 -9
- package/dist/commands/branch.d.ts +37 -0
- package/dist/commands/branch.d.ts.map +1 -1
- package/dist/commands/branch.js +375 -40
- package/dist/commands/check.d.ts +14 -0
- package/dist/commands/check.d.ts.map +1 -1
- package/dist/commands/check.js +209 -110
- package/dist/commands/coverage.d.ts +1 -0
- package/dist/commands/coverage.d.ts.map +1 -1
- package/dist/commands/coverage.js +6 -0
- package/dist/commands/discovery-shared.d.ts.map +1 -1
- package/dist/commands/discovery-shared.js +10 -19
- package/dist/commands/doctor.d.ts +26 -1
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +291 -30
- package/dist/commands/engine.d.ts +12 -0
- package/dist/commands/engine.d.ts.map +1 -1
- package/dist/commands/engine.js +50 -7
- package/dist/commands/gc.d.ts +5 -2
- package/dist/commands/gc.d.ts.map +1 -1
- package/dist/commands/gc.js +140 -71
- package/dist/commands/github-init.d.ts +57 -0
- package/dist/commands/github-init.d.ts.map +1 -0
- package/dist/commands/github-init.js +314 -0
- package/dist/commands/init-helpers.d.ts +1 -1
- package/dist/commands/init-helpers.d.ts.map +1 -1
- package/dist/commands/init-helpers.js +109 -28
- package/dist/commands/init.d.ts +2 -0
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +79 -24
- package/dist/commands/legacy-storage-migration.d.ts +54 -0
- package/dist/commands/legacy-storage-migration.d.ts.map +1 -0
- package/dist/commands/legacy-storage-migration.js +277 -0
- package/dist/commands/migrate.d.ts +11 -0
- package/dist/commands/migrate.d.ts.map +1 -1
- package/dist/commands/migrate.js +249 -96
- package/dist/commands/proof-migrate-legacy.d.ts +7 -0
- package/dist/commands/proof-migrate-legacy.d.ts.map +1 -0
- package/dist/commands/proof-migrate-legacy.js +45 -0
- package/dist/commands/proof-prune.d.ts +8 -0
- package/dist/commands/proof-prune.d.ts.map +1 -0
- package/dist/commands/proof-prune.js +53 -0
- package/dist/commands/prove.d.ts +37 -0
- package/dist/commands/prove.d.ts.map +1 -0
- package/dist/commands/prove.js +470 -0
- package/dist/commands/report.d.ts +24 -0
- package/dist/commands/report.d.ts.map +1 -0
- package/dist/commands/report.js +191 -0
- package/dist/commands/sync/cache.d.ts +16 -3
- package/dist/commands/sync/cache.d.ts.map +1 -1
- package/dist/commands/sync/cache.js +111 -4
- package/dist/commands/sync/discovery.d.ts +26 -2
- package/dist/commands/sync/discovery.d.ts.map +1 -1
- package/dist/commands/sync/discovery.js +204 -15
- package/dist/commands/sync/extraction.d.ts +8 -1
- package/dist/commands/sync/extraction.d.ts.map +1 -1
- package/dist/commands/sync/extraction.js +38 -4
- package/dist/commands/sync/manifest.d.ts +9 -6
- package/dist/commands/sync/manifest.d.ts.map +1 -1
- package/dist/commands/sync/manifest.js +195 -60
- package/dist/commands/sync/persistence.d.ts +4 -1
- package/dist/commands/sync/persistence.d.ts.map +1 -1
- package/dist/commands/sync/persistence.js +26 -12
- package/dist/commands/sync/staging.d.ts +1 -0
- package/dist/commands/sync/staging.d.ts.map +1 -1
- package/dist/commands/sync/staging.js +5 -2
- package/dist/commands/sync/untracked-targets.d.ts +24 -0
- package/dist/commands/sync/untracked-targets.d.ts.map +1 -0
- package/dist/commands/sync/untracked-targets.js +108 -0
- package/dist/commands/sync.d.ts +17 -1
- package/dist/commands/sync.d.ts.map +1 -1
- package/dist/commands/sync.js +375 -106
- package/dist/diagnostics.d.ts +1 -1
- package/dist/diagnostics.d.ts.map +1 -1
- package/dist/engine-daemon.d.ts +3 -1
- package/dist/engine-daemon.d.ts.map +1 -1
- package/dist/engine-daemon.js +49 -20
- package/dist/engine.d.ts +34 -3
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js +578 -42
- package/dist/env.d.ts.map +1 -1
- package/dist/env.js +5 -6
- package/dist/extractors/manifest.d.ts +13 -1
- package/dist/extractors/manifest.d.ts.map +1 -1
- package/dist/extractors/manifest.js +97 -10
- package/dist/extractors/markdown.d.ts +5 -2
- package/dist/extractors/markdown.d.ts.map +1 -1
- package/dist/extractors/markdown.js +47 -12
- package/dist/extractors/playwright-cases.d.ts +24 -0
- package/dist/extractors/playwright-cases.d.ts.map +1 -0
- package/dist/extractors/playwright-cases.js +126 -0
- package/dist/extractors/relationships.d.ts +6 -0
- package/dist/extractors/relationships.d.ts.map +1 -1
- package/dist/extractors/relationships.js +2 -1
- package/dist/extractors/symbol-coordinates.d.ts +81 -3
- package/dist/extractors/symbol-coordinates.d.ts.map +1 -1
- package/dist/extractors/symbol-coordinates.js +389 -51
- package/dist/extractors/symbols-coordinator.js +11 -1
- package/dist/extractors/symbols-ts.d.ts +1 -0
- package/dist/extractors/symbols-ts.d.ts.map +1 -1
- package/dist/extractors/symbols-ts.js +142 -67
- package/dist/intent-search.d.ts +61 -0
- package/dist/intent-search.d.ts.map +1 -0
- package/dist/intent-search.js +437 -0
- package/dist/logic/ir.d.ts +1 -0
- package/dist/logic/ir.d.ts.map +1 -1
- package/dist/logic/ir.js +1 -1
- package/dist/operations/bootstrap/activation.d.ts +5 -0
- package/dist/operations/bootstrap/activation.d.ts.map +1 -0
- package/dist/operations/{autopilot → bootstrap}/activation.js +58 -33
- package/dist/operations/{autopilot → bootstrap}/candidate-helpers.d.ts.map +1 -1
- package/dist/operations/bootstrap/candidates.d.ts +4 -0
- package/dist/operations/{autopilot → bootstrap}/candidates.d.ts.map +1 -1
- package/dist/operations/{autopilot → bootstrap}/candidates.js +22 -8
- package/dist/operations/{autopilot → bootstrap}/discovery-evidence.d.ts +2 -2
- package/dist/operations/{autopilot → bootstrap}/discovery-evidence.d.ts.map +1 -1
- package/dist/operations/{autopilot → bootstrap}/discovery-evidence.js +46 -6
- package/dist/operations/{autopilot → bootstrap}/discovery.d.ts +1 -1
- package/dist/operations/bootstrap/discovery.d.ts.map +1 -0
- package/dist/operations/{autopilot → bootstrap}/discovery.js +21 -14
- package/dist/operations/bootstrap/generate.d.ts +9 -0
- package/dist/operations/bootstrap/generate.d.ts.map +1 -0
- package/dist/operations/bootstrap/generate.js +207 -0
- package/dist/operations/{autopilot → bootstrap}/guidance-actions.d.ts +2 -2
- package/dist/operations/{autopilot → bootstrap}/guidance-actions.d.ts.map +1 -1
- package/dist/operations/{autopilot → bootstrap}/guidance-actions.js +4 -4
- package/dist/operations/{autopilot → bootstrap}/guidance.d.ts +3 -2
- package/dist/operations/bootstrap/guidance.d.ts.map +1 -0
- package/dist/operations/{autopilot → bootstrap}/guidance.js +3 -1
- package/dist/operations/{autopilot → bootstrap}/markdown-candidates.d.ts +2 -2
- package/dist/operations/{autopilot → bootstrap}/markdown-candidates.d.ts.map +1 -1
- package/dist/operations/{autopilot → bootstrap}/markdown-candidates.js +4 -3
- package/dist/operations/bootstrap/presentation.d.ts +15 -0
- package/dist/operations/bootstrap/presentation.d.ts.map +1 -0
- package/dist/operations/bootstrap/presentation.js +177 -0
- package/dist/operations/{autopilot → bootstrap}/requirement-claims.d.ts.map +1 -1
- package/dist/operations/{autopilot → bootstrap}/types.d.ts +63 -21
- package/dist/operations/bootstrap/types.d.ts.map +1 -0
- package/dist/operations/bootstrap/types.js +25 -0
- package/dist/operations/modeling/model-requirement.d.ts +5 -0
- package/dist/operations/modeling/model-requirement.d.ts.map +1 -1
- package/dist/operations/modeling/model-requirement.js +57 -63
- package/dist/operations/modeling/predicate-applicability.d.ts +16 -0
- package/dist/operations/modeling/predicate-applicability.d.ts.map +1 -0
- package/dist/operations/modeling/predicate-applicability.js +375 -0
- package/dist/operations/modeling/predicate-applyplan.d.ts +13 -2
- package/dist/operations/modeling/predicate-applyplan.d.ts.map +1 -1
- package/dist/operations/modeling/predicate-applyplan.js +100 -3
- package/dist/operations/modeling/predicate-bindings.d.ts +6 -0
- package/dist/operations/modeling/predicate-bindings.d.ts.map +1 -0
- package/dist/operations/modeling/predicate-bindings.js +122 -0
- package/dist/operations/modeling/predicate-catalog-2.d.ts.map +1 -1
- package/dist/operations/modeling/predicate-catalog-2.js +18 -2
- package/dist/operations/modeling/predicate-catalog-3.d.ts.map +1 -1
- package/dist/operations/modeling/predicate-catalog-3.js +17 -1
- package/dist/operations/modeling/predicate-catalog-4.d.ts.map +1 -1
- package/dist/operations/modeling/predicate-catalog-4.js +155 -0
- package/dist/operations/modeling/predicate-catalog-5.d.ts +10 -0
- package/dist/operations/modeling/predicate-catalog-5.d.ts.map +1 -0
- package/dist/operations/modeling/predicate-catalog-5.js +291 -0
- package/dist/operations/modeling/predicate-catalog.d.ts.map +1 -1
- package/dist/operations/modeling/predicate-catalog.js +4 -0
- package/dist/operations/modeling/predicate-inference-1.d.ts.map +1 -1
- package/dist/operations/modeling/predicate-inference-1.js +8 -0
- package/dist/operations/modeling/predicate-inference-launcher.d.ts +10 -0
- package/dist/operations/modeling/predicate-inference-launcher.d.ts.map +1 -0
- package/dist/operations/modeling/predicate-inference-launcher.js +13 -0
- package/dist/operations/modeling/predicate-inference.d.ts.map +1 -1
- package/dist/operations/modeling/predicate-inference.js +4 -0
- package/dist/operations/modeling/predicate-loader.d.ts +1 -0
- package/dist/operations/modeling/predicate-loader.d.ts.map +1 -1
- package/dist/operations/modeling/predicate-loader.js +11 -3
- package/dist/operations/modeling/predicate-ranker.d.ts +8 -1
- package/dist/operations/modeling/predicate-ranker.d.ts.map +1 -1
- package/dist/operations/modeling/predicate-ranker.js +159 -24
- package/dist/operations/modeling/predicate-score-3.d.ts.map +1 -1
- package/dist/operations/modeling/predicate-score-3.js +6 -0
- package/dist/operations/modeling/predicate-types.d.ts +35 -1
- package/dist/operations/modeling/predicate-types.d.ts.map +1 -1
- package/dist/operations/modeling/predicate-usage-hints-3.d.ts.map +1 -1
- package/dist/operations/modeling/predicate-usage-hints-3.js +40 -0
- package/dist/operations/modeling/predicate-usage-hints-4.d.ts +3 -0
- package/dist/operations/modeling/predicate-usage-hints-4.d.ts.map +1 -0
- package/dist/operations/modeling/predicate-usage-hints-4.js +84 -0
- package/dist/operations/modeling/predicate-utils.d.ts.map +1 -1
- package/dist/operations/modeling/predicate-utils.js +2 -0
- package/dist/operations/modeling/suggest-predicates.d.ts +4 -2
- package/dist/operations/modeling/suggest-predicates.d.ts.map +1 -1
- package/dist/operations/modeling/suggest-predicates.js +203 -32
- package/dist/operations/mutation/contradictions.d.ts +2 -1
- package/dist/operations/mutation/contradictions.d.ts.map +1 -1
- package/dist/operations/mutation/contradictions.js +26 -5
- package/dist/operations/mutation/delete.d.ts +3 -0
- package/dist/operations/mutation/delete.d.ts.map +1 -1
- package/dist/operations/mutation/delete.js +483 -19
- package/dist/operations/mutation/entity-projection.d.ts +11 -0
- package/dist/operations/mutation/entity-projection.d.ts.map +1 -0
- package/dist/operations/mutation/entity-projection.js +14 -0
- package/dist/operations/mutation/relationships.d.ts +11 -0
- package/dist/operations/mutation/relationships.d.ts.map +1 -1
- package/dist/operations/mutation/relationships.js +77 -5
- package/dist/operations/mutation/saga.d.ts +51 -0
- package/dist/operations/mutation/saga.d.ts.map +1 -0
- package/dist/operations/mutation/saga.js +67 -0
- package/dist/operations/mutation/serialization.d.ts.map +1 -1
- package/dist/operations/mutation/serialization.js +3 -1
- package/dist/operations/mutation/source-authoring.d.ts +65 -0
- package/dist/operations/mutation/source-authoring.d.ts.map +1 -0
- package/dist/operations/mutation/source-authoring.js +576 -0
- package/dist/operations/mutation/strict-fact.d.ts +1 -0
- package/dist/operations/mutation/strict-fact.d.ts.map +1 -1
- package/dist/operations/mutation/strict-fact.js +8 -5
- package/dist/operations/mutation/symbol-compiler-lock.d.ts +54 -0
- package/dist/operations/mutation/symbol-compiler-lock.d.ts.map +1 -0
- package/dist/operations/mutation/symbol-compiler-lock.js +337 -0
- package/dist/operations/mutation/symbol-granularity.d.ts.map +1 -1
- package/dist/operations/mutation/symbol-granularity.js +35 -4
- package/dist/operations/mutation/symbol-refresh.d.ts +19 -1
- package/dist/operations/mutation/symbol-refresh.d.ts.map +1 -1
- package/dist/operations/mutation/symbol-refresh.js +227 -63
- package/dist/operations/mutation/types.d.ts +57 -1
- package/dist/operations/mutation/types.d.ts.map +1 -1
- package/dist/operations/mutation/upsert.d.ts +18 -2
- package/dist/operations/mutation/upsert.d.ts.map +1 -1
- package/dist/operations/mutation/upsert.js +403 -32
- package/dist/operations/mutation/validate-upsert.js +2 -2
- package/dist/operations/mutation/validation.d.ts.map +1 -1
- package/dist/operations/mutation/validation.js +47 -4
- package/dist/operations/mutation/warnings.d.ts +1 -0
- package/dist/operations/mutation/warnings.d.ts.map +1 -1
- package/dist/operations/mutation/warnings.js +7 -5
- package/dist/operations/mutation/workspace-mutation-lock.d.ts +60 -0
- package/dist/operations/mutation/workspace-mutation-lock.d.ts.map +1 -0
- package/dist/operations/mutation/workspace-mutation-lock.js +362 -0
- package/dist/operations/planning/apply-plan.d.ts +19 -0
- package/dist/operations/planning/apply-plan.d.ts.map +1 -0
- package/dist/operations/planning/apply-plan.js +1514 -0
- package/dist/operations/planning/compile-intent.d.ts +108 -0
- package/dist/operations/planning/compile-intent.d.ts.map +1 -0
- package/dist/operations/planning/compile-intent.js +618 -0
- package/dist/operations/proof/ingest-proof.d.ts +34 -0
- package/dist/operations/proof/ingest-proof.d.ts.map +1 -0
- package/dist/operations/proof/ingest-proof.js +307 -0
- package/dist/operations/proof/migrate-legacy-receipts.d.ts +30 -0
- package/dist/operations/proof/migrate-legacy-receipts.d.ts.map +1 -0
- package/dist/operations/proof/migrate-legacy-receipts.js +88 -0
- package/dist/operations/proof/prune-receipts.d.ts +35 -0
- package/dist/operations/proof/prune-receipts.d.ts.map +1 -0
- package/dist/operations/proof/prune-receipts.js +91 -0
- package/dist/operations/proof/receipt-document.d.ts +29 -0
- package/dist/operations/proof/receipt-document.d.ts.map +1 -0
- package/dist/operations/proof/receipt-document.js +117 -0
- package/dist/operations/semantic-advisor/analyze-prose.d.ts +1 -0
- package/dist/operations/semantic-advisor/analyze-prose.d.ts.map +1 -1
- package/dist/operations/semantic-advisor/analyze-prose.js +52 -28
- package/dist/operations/semantic-advisor/clauses.d.ts.map +1 -1
- package/dist/operations/semantic-advisor/clauses.js +35 -9
- package/dist/operations/semantic-advisor/ingestion-boundary.d.ts.map +1 -1
- package/dist/operations/semantic-advisor/ingestion-boundary.js +7 -3
- package/dist/operations/semantic-advisor/predicate-rules-launcher.d.ts +51 -0
- package/dist/operations/semantic-advisor/predicate-rules-launcher.d.ts.map +1 -0
- package/dist/operations/semantic-advisor/predicate-rules-launcher.js +96 -0
- package/dist/operations/semantic-advisor/strict-count-rules.d.ts +2 -0
- package/dist/operations/semantic-advisor/strict-count-rules.d.ts.map +1 -1
- package/dist/operations/semantic-advisor/strict-count-rules.js +40 -25
- package/dist/operations/semantic-advisor/types.d.ts +13 -5
- package/dist/operations/semantic-advisor/types.d.ts.map +1 -1
- package/dist/prolog/codec.d.ts +13 -1
- package/dist/prolog/codec.d.ts.map +1 -1
- package/dist/prolog/codec.js +269 -153
- package/dist/prolog/error-terms.d.ts +47 -0
- package/dist/prolog/error-terms.d.ts.map +1 -0
- package/dist/prolog/error-terms.js +334 -0
- package/dist/prolog/janitor.d.ts +50 -0
- package/dist/prolog/janitor.d.ts.map +1 -0
- package/dist/prolog/janitor.js +154 -0
- package/dist/prolog/store-lock.d.ts +45 -0
- package/dist/prolog/store-lock.d.ts.map +1 -0
- package/dist/prolog/store-lock.js +195 -0
- package/dist/prolog.d.ts +7 -0
- package/dist/prolog.d.ts.map +1 -1
- package/dist/prolog.js +82 -25
- package/dist/proof/evaluate.d.ts +27 -0
- package/dist/proof/evaluate.d.ts.map +1 -0
- package/dist/proof/evaluate.js +151 -0
- package/dist/proof/inspect.d.ts +12 -0
- package/dist/proof/inspect.d.ts.map +1 -0
- package/dist/proof/inspect.js +236 -0
- package/dist/proof/integrations.d.ts +35 -0
- package/dist/proof/integrations.d.ts.map +1 -0
- package/dist/proof/integrations.js +123 -0
- package/dist/proof/producers/junit-adapter.d.ts +26 -0
- package/dist/proof/producers/junit-adapter.d.ts.map +1 -0
- package/dist/proof/producers/junit-adapter.js +186 -0
- package/dist/proof/producers/playwright-case-id.d.ts +8 -0
- package/dist/proof/producers/playwright-case-id.d.ts.map +1 -0
- package/dist/proof/producers/playwright-case-id.js +25 -0
- package/dist/proof/producers/playwright-reporter.d.ts +27 -0
- package/dist/proof/producers/playwright-reporter.d.ts.map +1 -0
- package/dist/proof/producers/playwright-reporter.js +138 -0
- package/dist/proof/producers/tap-adapter.d.ts +10 -0
- package/dist/proof/producers/tap-adapter.d.ts.map +1 -0
- package/dist/proof/producers/tap-adapter.js +200 -0
- package/dist/proof/receipt-outcome.d.ts +2 -0
- package/dist/proof/receipt-outcome.d.ts.map +1 -0
- package/dist/proof/receipt-outcome.js +1 -0
- package/dist/public/branch-resolver.d.ts +1 -0
- package/dist/public/branch-resolver.d.ts.map +1 -1
- package/dist/public/branch-resolver.js +1 -0
- package/dist/public/check-types.d.ts +2 -2
- package/dist/public/check-types.d.ts.map +1 -1
- package/dist/public/check-types.js +16 -16
- package/dist/public/diagnostic-usage.d.ts.map +1 -1
- package/dist/public/diagnostic-usage.js +74 -6
- package/dist/public/distribution-parity.d.ts +7 -1
- package/dist/public/distribution-parity.d.ts.map +1 -1
- package/dist/public/distribution-parity.js +15 -9
- package/dist/public/ignore-policy.d.ts.map +1 -1
- package/dist/public/ignore-policy.js +16 -4
- package/dist/public/impact/coverage-depth-quality.d.ts +7 -1
- package/dist/public/impact/coverage-depth-quality.d.ts.map +1 -1
- package/dist/public/impact/coverage-depth-quality.js +22 -4
- package/dist/public/impact/diagnostics.d.ts.map +1 -1
- package/dist/public/impact/diagnostics.js +2 -2
- package/dist/public/impact/diff-meaning.d.ts +1 -0
- package/dist/public/impact/diff-meaning.d.ts.map +1 -1
- package/dist/public/impact/diff-meaning.js +5 -2
- package/dist/public/impact/full-kb-quality.d.ts +7 -2
- package/dist/public/impact/full-kb-quality.d.ts.map +1 -1
- package/dist/public/impact/full-kb-quality.js +364 -39
- package/dist/public/impact/manifest.d.ts.map +1 -1
- package/dist/public/impact/manifest.js +2 -5
- package/dist/public/operational-artifacts.d.ts.map +1 -1
- package/dist/public/operational-artifacts.js +7 -1
- package/dist/public/operations/catalog.d.ts +900 -34
- package/dist/public/operations/catalog.d.ts.map +1 -1
- package/dist/public/operations/catalog.js +130 -6
- package/dist/public/operations/check-executor.d.ts +2 -2
- package/dist/public/operations/check-executor.d.ts.map +1 -1
- package/dist/public/operations/check-executor.js +68 -13
- package/dist/public/operations/check-format-shared.d.ts +3 -0
- package/dist/public/operations/check-format-shared.d.ts.map +1 -1
- package/dist/public/operations/check-format-shared.js +3 -0
- package/dist/public/operations/check-helpers.d.ts +27 -2
- package/dist/public/operations/check-helpers.d.ts.map +1 -1
- package/dist/public/operations/check-helpers.js +62 -26
- package/dist/public/operations/contracts.d.ts +18 -0
- package/dist/public/operations/contracts.d.ts.map +1 -0
- package/dist/public/operations/contracts.js +334 -0
- package/dist/public/operations/discovery-entities.d.ts +3 -0
- package/dist/public/operations/discovery-entities.d.ts.map +1 -1
- package/dist/public/operations/discovery-entities.js +4 -0
- package/dist/public/operations/discovery-executors.d.ts +43 -7
- package/dist/public/operations/discovery-executors.d.ts.map +1 -1
- package/dist/public/operations/discovery-executors.js +216 -13
- package/dist/public/operations/index.d.ts +9 -4
- package/dist/public/operations/index.d.ts.map +1 -1
- package/dist/public/operations/index.js +8 -3
- package/dist/public/operations/migration-plan.d.ts +102 -0
- package/dist/public/operations/migration-plan.d.ts.map +1 -0
- package/dist/public/operations/migration-plan.js +539 -0
- package/dist/public/operations/node-ports.d.ts.map +1 -1
- package/dist/public/operations/node-ports.js +71 -11
- package/dist/public/operations/prolog-json.d.ts +14 -0
- package/dist/public/operations/prolog-json.d.ts.map +1 -1
- package/dist/public/operations/prolog-json.js +44 -5
- package/dist/public/operations/repair-plan.d.ts +3 -3
- package/dist/public/operations/repair-plan.d.ts.map +1 -1
- package/dist/public/operations/repair-plan.js +49 -18
- package/dist/public/operations/result-envelope.d.ts +14 -0
- package/dist/public/operations/result-envelope.d.ts.map +1 -0
- package/dist/public/operations/result-envelope.js +106 -0
- package/dist/public/operations/runtime-types.d.ts +102 -7
- package/dist/public/operations/runtime-types.d.ts.map +1 -1
- package/dist/public/operations/source-relationship-parity.d.ts +13 -0
- package/dist/public/operations/source-relationship-parity.d.ts.map +1 -0
- package/dist/public/operations/source-relationship-parity.js +162 -0
- package/dist/public/operations/specs/{autopilot.d.ts → bootstrap.d.ts} +9 -9
- package/dist/public/operations/specs/bootstrap.d.ts.map +1 -0
- package/dist/public/operations/specs/{autopilot.js → bootstrap.js} +8 -7
- package/dist/public/operations/specs/check-rules.generated.d.ts +5 -0
- package/dist/public/operations/specs/check-rules.generated.d.ts.map +1 -0
- package/dist/public/operations/specs/check-rules.generated.js +34 -0
- package/dist/public/operations/specs/check.d.ts +9 -4
- package/dist/public/operations/specs/check.d.ts.map +1 -1
- package/dist/public/operations/specs/check.js +10 -21
- package/dist/public/operations/specs/discovery.d.ts +87 -3
- package/dist/public/operations/specs/discovery.d.ts.map +1 -1
- package/dist/public/operations/specs/discovery.js +53 -3
- package/dist/public/operations/specs/modeling.d.ts +3 -3
- package/dist/public/operations/specs/modeling.js +3 -3
- package/dist/public/operations/specs/mutation-schemas.d.ts +251 -14
- package/dist/public/operations/specs/mutation-schemas.d.ts.map +1 -1
- package/dist/public/operations/specs/mutation-schemas.js +16 -6
- package/dist/public/operations/specs/mutation.d.ts +42 -2
- package/dist/public/operations/specs/mutation.d.ts.map +1 -1
- package/dist/public/operations/specs/mutation.js +26 -2
- package/dist/public/operations/specs/planning.d.ts +279 -0
- package/dist/public/operations/specs/planning.d.ts.map +1 -0
- package/dist/public/operations/specs/planning.js +197 -0
- package/dist/public/operations/specs/proof.d.ts +212 -0
- package/dist/public/operations/specs/proof.d.ts.map +1 -0
- package/dist/public/operations/specs/proof.js +30 -0
- package/dist/public/operations/specs/reporting.d.ts +23 -1
- package/dist/public/operations/specs/reporting.d.ts.map +1 -1
- package/dist/public/operations/specs/reporting.js +156 -11
- package/dist/public/operations/specs/upsert.d.ts +265 -14
- package/dist/public/operations/specs/upsert.d.ts.map +1 -1
- package/dist/public/operations/specs/upsert.js +9 -0
- package/dist/public/operations/symbol-repair-plan.d.ts +22 -0
- package/dist/public/operations/symbol-repair-plan.d.ts.map +1 -0
- package/dist/public/operations/symbol-repair-plan.js +238 -0
- package/dist/public/operations/types.d.ts +52 -1
- package/dist/public/operations/types.d.ts.map +1 -1
- package/dist/public/proof-fingerprint.d.ts +54 -0
- package/dist/public/proof-fingerprint.d.ts.map +1 -0
- package/dist/public/proof-fingerprint.js +141 -0
- package/dist/public/proof-protocol.d.ts +354 -0
- package/dist/public/proof-protocol.d.ts.map +1 -0
- package/dist/public/proof-protocol.js +454 -0
- package/dist/public/proof-receipt.d.ts +279 -0
- package/dist/public/proof-receipt.d.ts.map +1 -0
- package/dist/public/proof-receipt.js +377 -0
- package/dist/public/schemas/entity.d.ts.map +1 -1
- package/dist/public/schemas/entity.js +22 -6
- package/dist/public/skills/kibi-bootstrap/SKILL.md +58 -0
- package/dist/public/skills/kibi-bootstrap/resources/bootstrap.md +11 -0
- package/dist/public/skills/kibi-bootstrap/resources/branch-lifecycle.md +7 -0
- package/dist/public/skills/kibi-bootstrap/resources/operation-access.md +5 -0
- package/dist/public/skills/kibi-bootstrap/resources/source-authoring.md +8 -0
- package/dist/public/skills/kibi-freshness/SKILL.md +39 -9
- package/dist/public/skills/kibi-freshness/resources/branch-lifecycle.md +7 -0
- package/dist/public/skills/kibi-freshness/resources/operation-access.md +6 -0
- package/dist/public/skills/kibi-freshness/resources/source-authoring.md +7 -0
- package/dist/public/skills/kibi-traceability/SKILL.md +47 -47
- package/dist/public/skills/kibi-traceability/resources/branch-lifecycle.md +7 -0
- package/dist/public/skills/kibi-traceability/resources/operation-access.md +5 -0
- package/dist/public/skills/kibi-traceability/resources/source-authoring.md +6 -0
- package/dist/public/skills/kibi-traceability/resources/traceability.md +8 -0
- package/dist/public/skills/kibi-usage/SKILL.md +136 -231
- package/dist/public/skills/kibi-usage/resources/branch-lifecycle.md +31 -0
- package/dist/public/skills/kibi-usage/resources/kb-improvement.md +38 -0
- package/dist/public/skills/kibi-usage/resources/operation-access.md +36 -38
- package/dist/public/skills/kibi-usage/resources/proof.md +105 -0
- package/dist/public/skills/kibi-usage/resources/relationship-directions.md +3 -3
- package/dist/public/skills/kibi-usage/resources/source-authoring.md +31 -0
- package/dist/public/skills/kibi-usage/resources/workflows.md +57 -4
- package/dist/public/symbol-granularity.d.ts +3 -14
- package/dist/public/symbol-granularity.d.ts.map +1 -1
- package/dist/public/symbol-granularity.generated.d.ts +16 -0
- package/dist/public/symbol-granularity.generated.d.ts.map +1 -0
- package/dist/public/symbol-granularity.generated.js +20 -0
- package/dist/public/symbol-granularity.js +6 -46
- package/dist/public/telemetry-acceptance.d.ts +3 -70
- package/dist/public/telemetry-acceptance.d.ts.map +1 -1
- package/dist/public/telemetry-acceptance.js +11 -2
- package/dist/public/telemetry-remediation.js +1 -1
- package/dist/relationships/shards.d.ts +16 -0
- package/dist/relationships/shards.d.ts.map +1 -1
- package/dist/relationships/shards.js +87 -2
- package/dist/report/brand.d.ts +19 -0
- package/dist/report/brand.d.ts.map +1 -0
- package/dist/report/brand.js +112 -0
- package/dist/report/html-report.css +282 -0
- package/dist/report/html-report.d.ts +21 -0
- package/dist/report/html-report.d.ts.map +1 -0
- package/dist/report/html-report.js +700 -0
- package/dist/report/relative-time.d.ts +4 -0
- package/dist/report/relative-time.d.ts.map +1 -0
- package/dist/report/relative-time.js +46 -0
- package/dist/report/report-view.d.ts +17 -0
- package/dist/report/report-view.d.ts.map +1 -0
- package/dist/report/report-view.js +33 -0
- package/dist/report/repository.d.ts +35 -0
- package/dist/report/repository.d.ts.map +1 -0
- package/dist/report/repository.js +151 -0
- package/dist/runtime/cli-runtime.d.ts +2 -0
- package/dist/runtime/cli-runtime.d.ts.map +1 -1
- package/dist/runtime/cli-runtime.js +90 -23
- package/dist/schemas/entity.schema.json +1254 -239
- package/dist/search-ranking.d.ts +1 -0
- package/dist/search-ranking.d.ts.map +1 -1
- package/dist/search-ranking.js +3 -0
- package/dist/traceability/evidence-model.d.ts +30 -2
- package/dist/traceability/evidence-model.d.ts.map +1 -1
- package/dist/traceability/evidence-model.js +2 -2
- package/dist/traceability/git-staged.d.ts +20 -0
- package/dist/traceability/git-staged.d.ts.map +1 -1
- package/dist/traceability/git-staged.js +156 -37
- package/dist/traceability/markdown-validate.d.ts.map +1 -1
- package/dist/traceability/markdown-validate.js +12 -7
- package/dist/traceability/staged-diagnostics.d.ts +7 -0
- package/dist/traceability/staged-diagnostics.d.ts.map +1 -1
- package/dist/traceability/staged-diagnostics.js +78 -7
- package/dist/traceability/staged-file-coverage.d.ts +33 -0
- package/dist/traceability/staged-file-coverage.d.ts.map +1 -0
- package/dist/traceability/staged-file-coverage.js +284 -0
- package/dist/traceability/staged-impact-contract.d.ts +3 -3
- package/dist/traceability/staged-impact-contract.d.ts.map +1 -1
- package/dist/traceability/staged-impact-contract.js +12 -40
- package/dist/traceability/staged-symbols-manifest.d.ts +13 -0
- package/dist/traceability/staged-symbols-manifest.d.ts.map +1 -1
- package/dist/traceability/staged-symbols-manifest.js +142 -26
- package/dist/traceability/symbol-extract.d.ts +5 -0
- package/dist/traceability/symbol-extract.d.ts.map +1 -1
- package/dist/traceability/symbol-extract.js +1 -1
- package/dist/traceability/temp-kb.d.ts +2 -0
- package/dist/traceability/temp-kb.d.ts.map +1 -1
- package/dist/traceability/temp-kb.js +14 -2
- package/dist/types/entities.d.ts +5 -0
- package/dist/types/entities.d.ts.map +1 -1
- package/dist/utils/branch-resolver.d.ts +25 -10
- package/dist/utils/branch-resolver.d.ts.map +1 -1
- package/dist/utils/branch-resolver.js +124 -38
- package/dist/utils/branch-store-locator.d.ts +23 -0
- package/dist/utils/branch-store-locator.d.ts.map +1 -0
- package/dist/utils/branch-store-locator.js +90 -0
- package/dist/utils/branch-store.d.ts +21 -0
- package/dist/utils/branch-store.d.ts.map +1 -0
- package/dist/utils/branch-store.js +157 -0
- package/dist/utils/config.d.ts +39 -37
- package/dist/utils/config.d.ts.map +1 -1
- package/dist/utils/config.js +107 -119
- package/dist/utils/kb-manifest.d.ts +35 -0
- package/dist/utils/kb-manifest.d.ts.map +1 -0
- package/dist/utils/kb-manifest.js +154 -0
- package/dist/utils/kb-paths.d.ts +54 -0
- package/dist/utils/kb-paths.d.ts.map +1 -0
- package/dist/utils/kb-paths.js +125 -0
- package/dist/utils/manifest-paths.d.ts +4 -4
- package/dist/utils/manifest-paths.d.ts.map +1 -1
- package/dist/utils/manifest-paths.js +8 -56
- package/dist/utils/rule-registry.d.ts +42 -24
- package/dist/utils/rule-registry.d.ts.map +1 -1
- package/dist/utils/rule-registry.generated.d.ts +97 -0
- package/dist/utils/rule-registry.generated.d.ts.map +1 -0
- package/dist/utils/rule-registry.generated.js +125 -0
- package/dist/utils/rule-registry.js +52 -148
- package/dist/utils/schema-version.d.ts +5 -5
- package/dist/utils/schema-version.d.ts.map +1 -1
- package/dist/utils/schema-version.js +26 -6
- package/dist/utils/strict-modeling.d.ts +1 -4
- package/dist/utils/strict-modeling.d.ts.map +1 -1
- package/dist/utils/strict-modeling.js +8 -9
- package/package.json +47 -11
- package/schema/config.json +2 -2
- package/schema/manifest.json +26 -0
- package/src/public/branch-resolver.ts +1 -0
- package/src/public/check-types.ts +22 -19
- package/src/public/diagnostic-usage.ts +84 -6
- package/src/public/distribution-parity.ts +17 -9
- package/src/public/ignore-policy.ts +16 -10
- package/src/public/impact/coverage-depth-quality.ts +37 -1
- package/src/public/impact/diagnostics.ts +2 -1
- package/src/public/impact/diff-meaning.ts +11 -4
- package/src/public/impact/full-kb-quality.ts +545 -41
- package/src/public/impact/manifest.ts +2 -4
- package/src/public/operational-artifacts.ts +9 -1
- package/src/public/operations/catalog.ts +153 -10
- package/src/public/operations/check-executor.ts +98 -15
- package/src/public/operations/check-format-shared.ts +6 -0
- package/src/public/operations/check-helpers.ts +74 -35
- package/src/public/operations/contracts.ts +382 -0
- package/src/public/operations/discovery-entities.ts +7 -0
- package/src/public/operations/discovery-executors.ts +315 -25
- package/src/public/operations/index.ts +9 -4
- package/src/public/operations/migration-plan.ts +747 -0
- package/src/public/operations/node-ports.ts +87 -13
- package/src/public/operations/prolog-json.ts +60 -5
- package/src/public/operations/repair-plan.ts +60 -22
- package/src/public/operations/result-envelope.ts +141 -0
- package/src/public/operations/runtime-types.ts +96 -5
- package/src/public/operations/source-relationship-parity.ts +226 -0
- package/src/public/operations/specs/{autopilot.ts → bootstrap.ts} +17 -16
- package/src/public/operations/specs/check-rules.generated.ts +37 -0
- package/src/public/operations/specs/check.ts +14 -22
- package/src/public/operations/specs/discovery.ts +57 -3
- package/src/public/operations/specs/modeling.ts +3 -3
- package/src/public/operations/specs/mutation-schemas.ts +24 -6
- package/src/public/operations/specs/mutation.ts +27 -2
- package/src/public/operations/specs/planning.ts +241 -0
- package/src/public/operations/specs/proof.ts +43 -0
- package/src/public/operations/specs/reporting.ts +193 -12
- package/src/public/operations/specs/upsert.ts +10 -0
- package/src/public/operations/symbol-repair-plan.ts +324 -0
- package/src/public/operations/types.ts +62 -1
- package/src/public/proof-fingerprint.ts +216 -0
- package/src/public/proof-protocol-types.d.ts +96 -0
- package/src/public/proof-protocol.ts +589 -0
- package/src/public/proof-receipt.ts +499 -0
- package/src/public/schemas/entity.ts +27 -6
- package/src/public/skills/kibi-bootstrap/SKILL.md +58 -0
- package/src/public/skills/kibi-bootstrap/resources/bootstrap.md +11 -0
- package/src/public/skills/kibi-bootstrap/resources/branch-lifecycle.md +7 -0
- package/src/public/skills/kibi-bootstrap/resources/operation-access.md +5 -0
- package/src/public/skills/kibi-bootstrap/resources/source-authoring.md +8 -0
- package/src/public/skills/kibi-freshness/SKILL.md +39 -9
- package/src/public/skills/kibi-freshness/resources/branch-lifecycle.md +7 -0
- package/src/public/skills/kibi-freshness/resources/operation-access.md +6 -0
- package/src/public/skills/kibi-freshness/resources/source-authoring.md +7 -0
- package/src/public/skills/kibi-traceability/SKILL.md +47 -47
- package/src/public/skills/kibi-traceability/resources/branch-lifecycle.md +7 -0
- package/src/public/skills/kibi-traceability/resources/operation-access.md +5 -0
- package/src/public/skills/kibi-traceability/resources/source-authoring.md +6 -0
- package/src/public/skills/kibi-traceability/resources/traceability.md +8 -0
- package/src/public/skills/kibi-usage/SKILL.md +136 -231
- package/src/public/skills/kibi-usage/resources/branch-lifecycle.md +31 -0
- package/src/public/skills/kibi-usage/resources/kb-improvement.md +38 -0
- package/src/public/skills/kibi-usage/resources/operation-access.md +36 -38
- package/src/public/skills/kibi-usage/resources/proof.md +105 -0
- package/src/public/skills/kibi-usage/resources/relationship-directions.md +3 -3
- package/src/public/skills/kibi-usage/resources/source-authoring.md +31 -0
- package/src/public/skills/kibi-usage/resources/workflows.md +57 -4
- package/src/public/symbol-granularity.generated.ts +41 -0
- package/src/public/symbol-granularity.ts +35 -59
- package/src/public/telemetry-acceptance-types.d.ts +98 -0
- package/src/public/telemetry-acceptance.ts +30 -93
- package/src/public/telemetry-remediation.ts +1 -1
- package/src/schemas/entity.schema.json +1254 -239
- package/templates/github/kibi-badge.yml +86 -0
- package/templates/github/kibi-report.yml +84 -0
- package/dist/operations/autopilot/activation.d.ts +0 -4
- package/dist/operations/autopilot/activation.d.ts.map +0 -1
- package/dist/operations/autopilot/candidates.d.ts +0 -4
- package/dist/operations/autopilot/discovery.d.ts.map +0 -1
- package/dist/operations/autopilot/generate.d.ts +0 -8
- package/dist/operations/autopilot/generate.d.ts.map +0 -1
- package/dist/operations/autopilot/generate.js +0 -112
- package/dist/operations/autopilot/guidance.d.ts.map +0 -1
- package/dist/operations/autopilot/presentation.d.ts +0 -13
- package/dist/operations/autopilot/presentation.d.ts.map +0 -1
- package/dist/operations/autopilot/presentation.js +0 -91
- package/dist/operations/autopilot/types.d.ts.map +0 -1
- package/dist/operations/autopilot/types.js +0 -8
- package/dist/public/operations/specs/autopilot.d.ts.map +0 -1
- package/dist/public/skills/init-kibi/SKILL.md +0 -62
- package/dist/public/verification-receipt.d.ts +0 -75
- package/dist/public/verification-receipt.d.ts.map +0 -1
- package/dist/public/verification-receipt.js +0 -129
- package/src/public/skills/init-kibi/SKILL.md +0 -62
- package/src/public/verification-receipt.ts +0 -170
- /package/dist/operations/{autopilot → bootstrap}/candidate-helpers.d.ts +0 -0
- /package/dist/operations/{autopilot → bootstrap}/candidate-helpers.js +0 -0
- /package/dist/operations/{autopilot → bootstrap}/requirement-claims.d.ts +0 -0
- /package/dist/operations/{autopilot → bootstrap}/requirement-claims.js +0 -0
|
@@ -19,6 +19,7 @@ import * as crypto from "node:crypto";
|
|
|
19
19
|
import * as fs from "node:fs";
|
|
20
20
|
import * as path from "node:path";
|
|
21
21
|
import { load as parseYAML } from "js-yaml";
|
|
22
|
+
import { parseDocument } from "yaml";
|
|
22
23
|
/**
|
|
23
24
|
* Gets the path to the relationships directory for a given KB root.
|
|
24
25
|
*/
|
|
@@ -132,7 +133,80 @@ export function writeShard(shardPath, records) {
|
|
|
132
133
|
unique.push(record);
|
|
133
134
|
}
|
|
134
135
|
const yamlContent = serializeToYAML(unique);
|
|
135
|
-
|
|
136
|
+
atomicWriteText(shardPath, yamlContent);
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Publish one canonical shard replacement atomically. Relationship shards are
|
|
140
|
+
* authored source, so a torn write must never leave a half-valid YAML file
|
|
141
|
+
* for the next sync or Git operation.
|
|
142
|
+
*/
|
|
143
|
+
function atomicWriteText(targetPath, body) {
|
|
144
|
+
const temporary = `${targetPath}.kibi-write-${process.pid}-${Date.now()}-${Math.random()
|
|
145
|
+
.toString(16)
|
|
146
|
+
.slice(2)}`;
|
|
147
|
+
try {
|
|
148
|
+
fs.writeFileSync(temporary, body, { encoding: "utf8", mode: 0o600 });
|
|
149
|
+
fs.renameSync(temporary, targetPath);
|
|
150
|
+
}
|
|
151
|
+
catch (error) {
|
|
152
|
+
try {
|
|
153
|
+
if (fs.existsSync(temporary))
|
|
154
|
+
fs.unlinkSync(temporary);
|
|
155
|
+
}
|
|
156
|
+
catch {
|
|
157
|
+
// Preserve the original publication failure.
|
|
158
|
+
}
|
|
159
|
+
throw error;
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Remove exact legacy-shard relationships using an atomic temp-file rename.
|
|
164
|
+
* The caller is responsible for retracting the compiled RDF edge afterwards.
|
|
165
|
+
*/
|
|
166
|
+
export function removeRelationshipsFromShards(kbRoot, selectors) {
|
|
167
|
+
const wanted = new Set(selectors.map((selector) => `${selector.type}\0${selector.from}\0${selector.to}`));
|
|
168
|
+
const removed = new Map();
|
|
169
|
+
for (const shardPath of listShards(kbRoot)) {
|
|
170
|
+
const records = readShard(shardPath);
|
|
171
|
+
const matching = records.filter((record) => wanted.has(`${record.type}\0${record.from}\0${record.to}`));
|
|
172
|
+
if (matching.length === 0)
|
|
173
|
+
continue;
|
|
174
|
+
// Patch the YAML sequence in place so comments, ordering, and unrelated
|
|
175
|
+
// records survive a relationship deletion. The compiled store is never
|
|
176
|
+
// the mutation target; this shard remains the canonical source artifact.
|
|
177
|
+
const document = parseDocument(fs.readFileSync(shardPath, "utf8"));
|
|
178
|
+
const sequence = document.get("relationships", true);
|
|
179
|
+
if (!sequence || typeof sequence !== "object" || !("items" in sequence)) {
|
|
180
|
+
throw new Error(`Invalid shard file: missing 'relationships' array at ${shardPath}`);
|
|
181
|
+
}
|
|
182
|
+
const items = sequence.items;
|
|
183
|
+
for (let index = items.length - 1; index >= 0; index -= 1) {
|
|
184
|
+
const item = items[index];
|
|
185
|
+
if (!item || typeof item !== "object" || !("get" in item))
|
|
186
|
+
continue;
|
|
187
|
+
const get = item.get.bind(item);
|
|
188
|
+
if (wanted.has(`${String(get("type"))}\0${String(get("from"))}\0${String(get("to"))}`)) {
|
|
189
|
+
document.deleteIn(["relationships", index]);
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
atomicWriteText(shardPath, document.toString());
|
|
193
|
+
for (const record of matching) {
|
|
194
|
+
const key = `${record.type}\0${record.from}\0${record.to}`;
|
|
195
|
+
const entry = removed.get(key) ?? { paths: [], sources: [] };
|
|
196
|
+
entry.paths.push(shardPath);
|
|
197
|
+
entry.sources.push(record.source);
|
|
198
|
+
removed.set(key, entry);
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
return selectors.map((selector) => {
|
|
202
|
+
const entry = removed.get(`${selector.type}\0${selector.from}\0${selector.to}`);
|
|
203
|
+
return {
|
|
204
|
+
selector,
|
|
205
|
+
shardPaths: entry?.paths ?? [],
|
|
206
|
+
sources: entry?.sources ?? [],
|
|
207
|
+
removed: entry !== undefined,
|
|
208
|
+
};
|
|
209
|
+
});
|
|
136
210
|
}
|
|
137
211
|
/**
|
|
138
212
|
* Serializes records to YAML format.
|
|
@@ -185,7 +259,18 @@ export function appendRelationship(kbRoot, relationship) {
|
|
|
185
259
|
...relationship,
|
|
186
260
|
id: recordId,
|
|
187
261
|
};
|
|
188
|
-
|
|
262
|
+
if (fs.existsSync(shardPath)) {
|
|
263
|
+
const document = parseDocument(fs.readFileSync(shardPath, "utf8"));
|
|
264
|
+
const sequence = document.get("relationships", true);
|
|
265
|
+
if (!sequence || typeof sequence !== "object" || !("items" in sequence)) {
|
|
266
|
+
throw new Error(`Invalid shard file: missing 'relationships' array at ${shardPath}`);
|
|
267
|
+
}
|
|
268
|
+
sequence.items.push(newRecord);
|
|
269
|
+
atomicWriteText(shardPath, document.toString());
|
|
270
|
+
}
|
|
271
|
+
else {
|
|
272
|
+
writeShard(shardPath, [newRecord]);
|
|
273
|
+
}
|
|
189
274
|
}
|
|
190
275
|
return { shardPath, recordId };
|
|
191
276
|
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export declare const KIBI_BRAND: {
|
|
2
|
+
readonly carbon: "#1d1e23";
|
|
3
|
+
readonly deepCarbon: "#111318";
|
|
4
|
+
readonly panel: "#191c22";
|
|
5
|
+
readonly ice: "#a2d3f4";
|
|
6
|
+
readonly signal: "#3e8ed6";
|
|
7
|
+
readonly snow: "#f4f8fb";
|
|
8
|
+
readonly mist: "#aab8c2";
|
|
9
|
+
readonly rail: "#34434f";
|
|
10
|
+
readonly success: "#63c99a";
|
|
11
|
+
readonly warning: "#f2b84b";
|
|
12
|
+
readonly danger: "#f07178";
|
|
13
|
+
};
|
|
14
|
+
export declare function renderKibiLogo(className?: string): string;
|
|
15
|
+
export declare function renderKibiWordmark(className?: string): string;
|
|
16
|
+
export declare function renderKibiFaviconSvg(): string;
|
|
17
|
+
export declare function renderKibiFaviconDataUri(): string;
|
|
18
|
+
export declare function renderKibiBadge(message: string, statusColor: string): string;
|
|
19
|
+
//# sourceMappingURL=brand.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"brand.d.ts","sourceRoot":"","sources":["../../src/report/brand.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU;;;;;;;;;;;;CAYb,CAAC;AAmBX,wBAAgB,cAAc,CAAC,SAAS,SAAK,GAAG,MAAM,CAErD;AAGD,wBAAgB,kBAAkB,CAAC,SAAS,SAAK,GAAG,MAAM,CAEzD;AAGD,wBAAgB,oBAAoB,IAAI,MAAM,CAE7C;AAGD,wBAAgB,wBAAwB,IAAI,MAAM,CAEjD;AAgDD,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CA+B5E"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
export const KIBI_BRAND = {
|
|
2
|
+
carbon: "#1d1e23",
|
|
3
|
+
deepCarbon: "#111318",
|
|
4
|
+
panel: "#191c22",
|
|
5
|
+
ice: "#a2d3f4",
|
|
6
|
+
signal: "#3e8ed6",
|
|
7
|
+
snow: "#f4f8fb",
|
|
8
|
+
mist: "#aab8c2",
|
|
9
|
+
rail: "#34434f",
|
|
10
|
+
success: "#63c99a",
|
|
11
|
+
warning: "#f2b84b",
|
|
12
|
+
danger: "#f07178",
|
|
13
|
+
};
|
|
14
|
+
// Visible path/ellipse markup from assets/logo.svg and assets/wordmark.svg.
|
|
15
|
+
// Packed reports stay self-contained; the e2e fingerprint compares these marks
|
|
16
|
+
// to the canonical files, so keep the geometry in lockstep with those assets.
|
|
17
|
+
const LOGO_BODY = `<path d="M59.403564453125,0.548828125C67.20257568359375,-0.47119140625,80.16162109375,0.2437744140625,88.4605712890625,0.24078369140625L146.50048828125,0.227783203125L214.8255615234375,0.23577880859375C240.16748046875,0.2437744140625,262.236572265625,-2.67620849609375,283.3775634765625,14.2947998046875C311.0205078125,36.48480224609375,307.6495361328125,66.8988037109375,307.671630859375,98.5548095703125L307.6895751953125,162.74783325195312L307.66552734375,217.54684448242188C307.6585693359375,226.07479858398438,307.653564453125,234.5628662109375,307.504638671875,243.0877685546875C306.8895263671875,278.2227783203125,283.66259765625,304.5137939453125,248.32958984375,308.1297607421875C240.6875,308.9278564453125,226.1695556640625,308.5008544921875,217.8525390625,308.4927978515625L161.468505859375,308.4508056640625L93.9794921875,308.5028076171875C68.57257080078125,308.5147705078125,46.83258056640625,311.5418701171875,25.39654541015625,295.0338134765625C-2.66644287109375,273.423828125,0.13555908203125,245.0108642578125,0.10955810546875,213.40182495117188L0.0855712890625,154.30581665039062L0.10357666015625,95.5968017578125C0.112548828125,81.48980712890625,-0.62841796875,66.85577392578125,1.7275390625,52.96478271484375C6.78955078125,23.11376953125,30.14154052734375,3.88580322265625,59.403564453125,0.548828125Z" fill="${KIBI_BRAND.carbon}"/><ellipse cx="113.3257670641164" cy="150.86303791579667" rx="51.325767064116405" ry="51.52454059083652" fill="${KIBI_BRAND.ice}"/><path d="M228.05255126953125,197.78256225585938L227.611572265625,165.51681518554688L156.5028076171875,165.69512939453125L95.43316650390625,165.28231811523438L95.4334716796875,135.09622192382812L156.503173828125,135.26748657226562L227.535888671875,135.08938598632812L227.53631591796875,101.200927734375L252.20697021484375,101.20071411132812L252.20599365234375,197.78225708007812" fill="${KIBI_BRAND.ice}"/>`;
|
|
18
|
+
const WORDMARK_BODY = `<ellipse cx="337.16000366210943" cy="30.99999999999997" rx="20.000000000000057" ry="19.99999999999997" fill="${KIBI_BRAND.signal}"/><path d="M381.8653869628906,49.212493896484375L381.6935119628906,36.688079833984375L353.9847106933594,36.757293701171875L330.1878356933594,36.5970458984375L330.1879577636719,24.8798828125L353.9848327636719,24.94635009765625L381.6640319824219,24.877227783203125L381.6641540527344,11.722930908203125L391.2775573730469,11.72283935546875L391.2771301269531,49.212371826171875" fill="${KIBI_BRAND.signal}"/><path d="M0,155.33001708984375L0,22.1300048828125L19.6199951171875,22.1300048828125L19.6199951171875,102.58999633789062L20.519989013671875,102.58999633789062L35.100006103515625,87.6500244140625L61.20001220703125,62.45001220703125L84.42001342773438,62.45001220703125L46.800018310546875,98.989990234375L88.55999755859375,155.33001708984375L64.98001098632812,155.33001708984375L32.579986572265625,110.1500244140625L19.6199951171875,122.21002197265625L19.6199951171875,155.33001708984375L0,155.33001708984375L0,155.33001708984375M110.33999633789062,155.33001708984375L110.33999633789062,139.49002075195312L132.01998901367188,139.49002075195312L132.01998901367188,78.28997802734375L100.33999633789062,78.28997802734375L100.33999633789062,62.45001220703125L151.63998413085938,62.45001220703125L151.63998413085938,139.49002075195312L171.33999633789062,139.49002075195312L171.33999633789062,155.33001708984375L110.33999633789062,155.33001708984375L110.33999633789062,155.33001708984375M194.3800048828125,155.33001708984375L194.3800048828125,22.1300048828125L214,22.1300048828125L214.08001708984375,70L215.16000366210938,70C221.16000366210938,65,220.16000366210938,66,224.16000366210938,64C229.1324462890625,61.513824462890625,236.32000732421875,60.28997802734375,243.16000366210938,60.28997802734375L243.16000366210938,60.28997802734375C254.08004760742188,60.28997802734375,262.7799987792969,64.3699951171875,269.2599792480469,72.52999877929688C275.7399597167969,80.69000244140625,278.9800109863281,92.80999755859375,278.9800109863281,108.8900146484375L278.9800109863281,108.8900146484375C278.9800109863281,124.97000122070312,275.7399597167969,137.08999633789062,269.2599792480469,145.25C262.7799987792969,153.41000366210938,254.08004760742188,157.49002075195312,243.16000366210938,157.49002075195312L243.16000366210938,157.49002075195312C236.32000732421875,157.49002075195312,227.92709350585938,156.8602294921875,223.16000366210938,154C218.16000366210938,151,219.16000366210938,152,215.16000366210938,147L215.16000366210938,147L214.08001708984375,147L214,155.33001708984375L194.3800048828125,155.33001708984375L194.3800048828125,155.33001708984375M235.05999755859375,141.47000122070312L235.05999755859375,141.47000122070312C242.5,141.47000122070312,248.23001098632812,139.19000244140625,252.24996948242188,134.6300048828125C256.2699890136719,130.07000732421875,258.2799987792969,124.010009765625,258.2799987792969,116.45001220703125L258.2799987792969,116.45001220703125L258.2799987792969,101.33001708984375C258.2799987792969,93.77001953125,256.2699890136719,87.71002197265625,252.24996948242188,83.1500244140625C248.23001098632812,78.59002685546875,242.5,76.30999755859375,235.05999755859375,76.30999755859375L235.05999755859375,76.30999755859375C232.18002319335938,76.30999755859375,229.48001098632812,76.66998291015625,226.95999145507812,77.3900146484375C224.44000244140625,78.1099853515625,222.22000122070312,79.19000244140625,220.30001831054688,80.6300048828125C218.3800048828125,82.07000732421875,216.85000610351562,83.84002685546875,215.70999145507812,85.94000244140625C214.57000732421875,88.03997802734375,214,90.52999877929688,214,93.41000366210938L214,93.41000366210938L214,124.3699951171875C214,127.25,214.57000732421875,129.74002075195312,215.70999145507812,131.83999633789062C216.85000610351562,133.94000244140625,218.3800048828125,135.70999145507812,220.30001831054688,137.14999389648438C222.22000122070312,138.58999633789062,224.44000244140625,139.67001342773438,226.95999145507812,140.3900146484375C229.48001098632812,141.11001586914062,232.18002319335938,141.47000122070312,235.05999755859375,141.47000122070312L235.05999755859375,141.47000122070312M306.3399963378906,155.33001708984375L306.3399963378906,139.49002075195312L328.0199890136719,139.49002075195312L328.0199890136719,78.28997802734375L296.3399963378906,78.28997802734375L296.3399963378906,62.45001220703125L347.6399841308594,62.45001220703125L347.6399841308594,139.49002075195312L367.3399963378906,139.49002075195312L367.3399963378906,155.33001708984375L306.3399963378906,155.33001708984375L306.3399963378906,155.33001708984375" fill="${KIBI_BRAND.ice}"/><ellipse cx="141.66000366210938" cy="31.5" rx="12.5" ry="12.5" fill="${KIBI_BRAND.ice}"/>`;
|
|
19
|
+
function xml(value) {
|
|
20
|
+
return value
|
|
21
|
+
.replaceAll("&", "&")
|
|
22
|
+
.replaceAll("<", "<")
|
|
23
|
+
.replaceAll(">", ">")
|
|
24
|
+
.replaceAll('"', """)
|
|
25
|
+
.replaceAll("'", "'");
|
|
26
|
+
}
|
|
27
|
+
// implements REQ-kibi-branded-health-report
|
|
28
|
+
export function renderKibiLogo(className = "") {
|
|
29
|
+
return `<svg${className ? ` class="${xml(className)}"` : ""} viewBox="0 0 308 309" role="img" aria-label="Kibi logo">${LOGO_BODY}</svg>`;
|
|
30
|
+
}
|
|
31
|
+
// implements REQ-kibi-branded-health-report
|
|
32
|
+
export function renderKibiWordmark(className = "") {
|
|
33
|
+
return `<svg${className ? ` class="${xml(className)}"` : ""} viewBox="-2 10 395 148" role="img" aria-label="Kibi">${WORDMARK_BODY}</svg>`;
|
|
34
|
+
}
|
|
35
|
+
// implements REQ-kibi-branded-health-report
|
|
36
|
+
export function renderKibiFaviconSvg() {
|
|
37
|
+
return `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 308 309">${LOGO_BODY}</svg>`;
|
|
38
|
+
}
|
|
39
|
+
// implements REQ-kibi-branded-health-report
|
|
40
|
+
export function renderKibiFaviconDataUri() {
|
|
41
|
+
return `data:image/svg+xml;utf8,${encodeURIComponent(renderKibiFaviconSvg())}`;
|
|
42
|
+
}
|
|
43
|
+
const BADGE_HEIGHT = 20;
|
|
44
|
+
const BADGE_LABEL = "kibi";
|
|
45
|
+
const BADGE_FONT = "DejaVu Sans,Verdana,Geneva,sans-serif";
|
|
46
|
+
const BADGE_LOGO = 14;
|
|
47
|
+
const BADGE_LOGO_LEFT = 5;
|
|
48
|
+
const BADGE_LOGO_GAP = 3;
|
|
49
|
+
const BADGE_TEXT_PAD = 8;
|
|
50
|
+
const BADGE_LABEL_FILL = "#555";
|
|
51
|
+
const BADGE_TEXT_FILL = "#fff";
|
|
52
|
+
const BADGE_TEXT_SHADOW = "#010101";
|
|
53
|
+
const BADGE_LOGO_BODY = LOGO_BODY.replaceAll(`fill="${KIBI_BRAND.carbon}"`, `fill="${BADGE_LABEL_FILL}"`);
|
|
54
|
+
function badgeTextWidth(text) {
|
|
55
|
+
let width = 0;
|
|
56
|
+
for (const char of text) {
|
|
57
|
+
if (char === " ")
|
|
58
|
+
width += 4;
|
|
59
|
+
else if (char === "%")
|
|
60
|
+
width += 9;
|
|
61
|
+
else
|
|
62
|
+
width += 7;
|
|
63
|
+
}
|
|
64
|
+
return Math.ceil(width);
|
|
65
|
+
}
|
|
66
|
+
function badgeLabelWidth(label) {
|
|
67
|
+
return (BADGE_LOGO_LEFT +
|
|
68
|
+
BADGE_LOGO +
|
|
69
|
+
BADGE_LOGO_GAP +
|
|
70
|
+
badgeTextWidth(label) +
|
|
71
|
+
BADGE_TEXT_PAD);
|
|
72
|
+
}
|
|
73
|
+
function badgeMessageWidth(message) {
|
|
74
|
+
return BADGE_TEXT_PAD + badgeTextWidth(message) + BADGE_TEXT_PAD;
|
|
75
|
+
}
|
|
76
|
+
function badgeCaption(x, text) {
|
|
77
|
+
const safe = xml(text);
|
|
78
|
+
return `<text x="${x}" y="15" fill="${BADGE_TEXT_SHADOW}" fill-opacity=".3">${safe}</text>
|
|
79
|
+
<text x="${x}" y="14" fill="${BADGE_TEXT_FILL}">${safe}</text>`;
|
|
80
|
+
}
|
|
81
|
+
// implements REQ-kibi-branded-health-report
|
|
82
|
+
export function renderKibiBadge(message, statusColor) {
|
|
83
|
+
const accessible = `Kibi requirement health: ${message}`;
|
|
84
|
+
const labelWidth = badgeLabelWidth(BADGE_LABEL);
|
|
85
|
+
const messageWidth = badgeMessageWidth(message);
|
|
86
|
+
const width = labelWidth + messageWidth;
|
|
87
|
+
const logoX = BADGE_LOGO_LEFT;
|
|
88
|
+
const logoY = (BADGE_HEIGHT - BADGE_LOGO) / 2;
|
|
89
|
+
const labelTextX = BADGE_LOGO_LEFT +
|
|
90
|
+
BADGE_LOGO +
|
|
91
|
+
BADGE_LOGO_GAP +
|
|
92
|
+
badgeTextWidth(BADGE_LABEL) / 2;
|
|
93
|
+
const messageTextX = labelWidth + messageWidth / 2;
|
|
94
|
+
return `<svg xmlns="http://www.w3.org/2000/svg" role="img" aria-label="${xml(accessible)}" width="${width}" height="${BADGE_HEIGHT}" viewBox="0 0 ${width} ${BADGE_HEIGHT}">
|
|
95
|
+
<title>${xml(accessible)}</title>
|
|
96
|
+
<linearGradient id="kibi-badge-s" x2="0" y2="100%">
|
|
97
|
+
<stop offset="0" stop-color="#bbb" stop-opacity=".1"/>
|
|
98
|
+
<stop offset="1" stop-opacity=".1"/>
|
|
99
|
+
</linearGradient>
|
|
100
|
+
<clipPath id="kibi-badge"><rect width="${width}" height="${BADGE_HEIGHT}" rx="3" fill="#fff"/></clipPath>
|
|
101
|
+
<g clip-path="url(#kibi-badge)">
|
|
102
|
+
<rect width="${labelWidth}" height="${BADGE_HEIGHT}" fill="${BADGE_LABEL_FILL}"/>
|
|
103
|
+
<rect x="${labelWidth}" width="${messageWidth}" height="${BADGE_HEIGHT}" fill="${xml(statusColor)}"/>
|
|
104
|
+
<rect width="${width}" height="${BADGE_HEIGHT}" fill="url(#kibi-badge-s)"/>
|
|
105
|
+
</g>
|
|
106
|
+
<g fill="${BADGE_TEXT_FILL}" text-anchor="middle" font-family="${BADGE_FONT}" font-size="11">
|
|
107
|
+
${badgeCaption(labelTextX, BADGE_LABEL)}
|
|
108
|
+
${badgeCaption(messageTextX, message)}
|
|
109
|
+
</g>
|
|
110
|
+
<svg x="${logoX}" y="${logoY}" width="${BADGE_LOGO}" height="${BADGE_LOGO}" viewBox="0 0 308 309" aria-hidden="true">${BADGE_LOGO_BODY}</svg>
|
|
111
|
+
</svg>`;
|
|
112
|
+
}
|
|
@@ -0,0 +1,282 @@
|
|
|
1
|
+
:root {
|
|
2
|
+
color-scheme: dark;
|
|
3
|
+
--bg: #090d18;
|
|
4
|
+
--surface: rgba(20, 27, 45, .86);
|
|
5
|
+
--surface-strong: #151d30;
|
|
6
|
+
--line: rgba(157, 171, 206, .16);
|
|
7
|
+
--text: #f4f7ff;
|
|
8
|
+
--muted: #9ba7c3;
|
|
9
|
+
--violet: #9d84ff;
|
|
10
|
+
--cyan: #5ce1e6;
|
|
11
|
+
--green: #62e6a7;
|
|
12
|
+
--amber: #ffc96b;
|
|
13
|
+
--red: #ff7d90;
|
|
14
|
+
--shadow: 0 30px 80px rgba(0, 0, 0, .35);
|
|
15
|
+
font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
16
|
+
}
|
|
17
|
+
* { box-sizing: border-box; }
|
|
18
|
+
html { scroll-behavior: smooth; }
|
|
19
|
+
body {
|
|
20
|
+
margin: 0;
|
|
21
|
+
min-width: 320px;
|
|
22
|
+
color: var(--text);
|
|
23
|
+
background:
|
|
24
|
+
radial-gradient(circle at 12% -10%, rgba(93, 74, 190, .32), transparent 34rem),
|
|
25
|
+
radial-gradient(circle at 88% 8%, rgba(33, 153, 166, .19), transparent 30rem),
|
|
26
|
+
var(--bg);
|
|
27
|
+
}
|
|
28
|
+
body::before {
|
|
29
|
+
position: fixed;
|
|
30
|
+
inset: 0;
|
|
31
|
+
z-index: -1;
|
|
32
|
+
content: "";
|
|
33
|
+
opacity: .18;
|
|
34
|
+
background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
|
|
35
|
+
background-size: 38px 38px;
|
|
36
|
+
mask-image: linear-gradient(to bottom, black, transparent 75%);
|
|
37
|
+
}
|
|
38
|
+
.shell { width: min(1160px, calc(100% - 40px)); margin: 0 auto; }
|
|
39
|
+
.topbar { display: flex; align-items: center; justify-content: space-between; padding: 34px 0 16px; }
|
|
40
|
+
.brand { display: flex; align-items: center; gap: 12px; font-weight: 900; letter-spacing: .3em; }
|
|
41
|
+
.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); }
|
|
42
|
+
.snapshot { color: var(--muted); font: 500 12px/1.4 ui-monospace, SFMono-Regular, Menlo, monospace; }
|
|
43
|
+
.hero { display: grid; grid-template-columns: 1.15fr .85fr; gap: 30px; align-items: stretch; padding: 42px 0 26px; }
|
|
44
|
+
.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); }
|
|
45
|
+
.hero__copy { padding: clamp(30px, 5vw, 62px); }
|
|
46
|
+
.eyebrow { margin: 0 0 17px; color: var(--cyan); font-size: 12px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
|
|
47
|
+
h1 { max-width: 720px; margin: 0; font-size: clamp(42px, 7vw, 76px); font-weight: 760; letter-spacing: -.055em; line-height: .98; }
|
|
48
|
+
h1 span { display: block; color: var(--muted); font-size: .42em; font-weight: 620; letter-spacing: -.025em; line-height: 1.4; }
|
|
49
|
+
.hero__lede { max-width: 620px; margin: 25px 0 0; color: #bdc6dc; font-size: 17px; line-height: 1.65; }
|
|
50
|
+
.score-card { display: grid; min-height: 340px; padding: 38px; place-items: center; text-align: center; }
|
|
51
|
+
.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); }
|
|
52
|
+
.score-ring::before { position: absolute; width: 178px; aspect-ratio: 1; content: ""; border: 1px solid var(--line); border-radius: inherit; background: #111827; }
|
|
53
|
+
.score-ring__value { position: relative; font-size: 52px; font-weight: 820; letter-spacing: -.06em; }
|
|
54
|
+
.score-ring__value span { margin-left: 2px; color: var(--muted); font-size: 22px; }
|
|
55
|
+
.score-card p { position: relative; margin: 13px 0 0; color: var(--muted); font-size: 13px; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
|
|
56
|
+
.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); }
|
|
57
|
+
.snapshot-notice strong { flex: none; color: var(--amber); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; }
|
|
58
|
+
.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); }
|
|
59
|
+
.metric { min-width: 0; padding: 22px 20px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
|
|
60
|
+
.metric:last-child { border-right: 0; }
|
|
61
|
+
.metric span { display: block; min-height: 32px; color: var(--muted); font-size: 12px; line-height: 1.35; }
|
|
62
|
+
.metric strong { display: block; margin-top: 6px; font-size: 30px; letter-spacing: -.035em; }
|
|
63
|
+
.metric--good strong { color: var(--green); }
|
|
64
|
+
.metric--warn strong { color: var(--amber); }
|
|
65
|
+
.metric--bad strong { color: var(--red); }
|
|
66
|
+
.section-header { display: flex; gap: 24px; align-items: end; justify-content: space-between; margin-bottom: 24px; }
|
|
67
|
+
.section-header h2 { margin: 0; font-size: clamp(29px, 4vw, 42px); letter-spacing: -.04em; }
|
|
68
|
+
.section-header p { max-width: 590px; margin: 8px 0 0; color: var(--muted); line-height: 1.55; }
|
|
69
|
+
.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); }
|
|
70
|
+
.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; }
|
|
71
|
+
.search:focus { border-color: var(--violet); box-shadow: 0 0 0 3px rgba(157,132,255,.12); }
|
|
72
|
+
.filters { display: flex; gap: 7px; overflow-x: auto; }
|
|
73
|
+
.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; }
|
|
74
|
+
.filter:hover { color: var(--text); background: rgba(255,255,255,.05); }
|
|
75
|
+
.filter[aria-pressed="true"] { border-color: rgba(157,132,255,.38); color: #ddd5ff; background: rgba(157,132,255,.14); }
|
|
76
|
+
.requirements { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; padding-bottom: 80px; }
|
|
77
|
+
.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); }
|
|
78
|
+
.requirement::before { position: absolute; inset: 0 auto 0 0; width: 3px; content: ""; background: var(--amber); }
|
|
79
|
+
.requirement--proven::before { background: var(--green); }
|
|
80
|
+
.requirement--unresolved::before { background: var(--red); }
|
|
81
|
+
.requirement[hidden] { display: none; }
|
|
82
|
+
.requirement__header { display: flex; gap: 18px; align-items: start; justify-content: space-between; }
|
|
83
|
+
.requirement__id { margin-bottom: 7px; color: var(--muted); font: 700 11px/1.2 ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .05em; }
|
|
84
|
+
.requirement h3 { margin: 0; font-size: 20px; line-height: 1.25; letter-spacing: -.02em; }
|
|
85
|
+
.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; }
|
|
86
|
+
.proof-badge--proven { border-color: rgba(98,230,167,.25); color: var(--green); background: rgba(98,230,167,.08); }
|
|
87
|
+
.proof-badge--unresolved { border-color: rgba(255,125,144,.25); color: var(--red); background: rgba(255,125,144,.08); }
|
|
88
|
+
.stages { display: grid; gap: 9px; margin: 24px 0 0; padding: 0; list-style: none; }
|
|
89
|
+
.stage { display: grid; grid-template-columns: 20px minmax(100px, .7fr) 1.3fr; gap: 8px; align-items: baseline; }
|
|
90
|
+
.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; }
|
|
91
|
+
.stage--warning .stage__icon { color: #241602; background: var(--amber); }
|
|
92
|
+
.stage--failed .stage__icon { color: #24080c; background: var(--red); }
|
|
93
|
+
.stage--muted .stage__icon { color: var(--muted); background: rgba(255,255,255,.08); }
|
|
94
|
+
.stage__label { font-size: 13px; font-weight: 720; }
|
|
95
|
+
.stage__detail { color: var(--muted); font-size: 12px; line-height: 1.45; }
|
|
96
|
+
.contradiction { margin-top: 21px; padding: 16px; border: 1px solid rgba(255,125,144,.24); border-radius: 14px; background: rgba(255,125,144,.07); }
|
|
97
|
+
.contradiction__eyebrow { color: var(--red); font-size: 10px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
|
|
98
|
+
.contradiction__values { display: flex; gap: 11px; align-items: center; margin-top: 9px; font: 750 15px/1.4 ui-monospace, SFMono-Regular, Menlo, monospace; }
|
|
99
|
+
.contradiction__values b { color: var(--red); }
|
|
100
|
+
.contradiction p { margin: 8px 0 0; color: #d9a9b1; font-size: 12px; line-height: 1.5; }
|
|
101
|
+
.proof-gaps { margin-top: 18px; border-top: 1px solid var(--line); color: var(--muted); font-size: 12px; }
|
|
102
|
+
.proof-advisories { margin-top: 12px; border-top: 1px solid var(--line); color: var(--muted); font-size: 12px; }
|
|
103
|
+
.proof-gaps summary, .proof-advisories summary { padding-top: 14px; cursor: pointer; font-weight: 700; }
|
|
104
|
+
.proof-gaps ul, .proof-advisories ul { columns: 2; margin: 11px 0 0; padding-left: 18px; }
|
|
105
|
+
.proof-gaps li, .proof-advisories li { margin-bottom: 7px; break-inside: avoid; }
|
|
106
|
+
.empty { display: none; padding: 70px 20px; border: 1px dashed var(--line); border-radius: 20px; color: var(--muted); text-align: center; }
|
|
107
|
+
.empty[data-visible="true"] { display: block; }
|
|
108
|
+
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; }
|
|
109
|
+
@media (max-width: 960px) {
|
|
110
|
+
.hero { grid-template-columns: 1fr; }
|
|
111
|
+
.score-card { min-height: 290px; }
|
|
112
|
+
.metrics { grid-template-columns: repeat(3, 1fr); }
|
|
113
|
+
.metric:nth-child(3) { border-right: 0; }
|
|
114
|
+
.metric:nth-child(-n+3) { border-bottom: 1px solid var(--line); }
|
|
115
|
+
}
|
|
116
|
+
@media (max-width: 760px) {
|
|
117
|
+
.shell { width: min(100% - 24px, 1160px); }
|
|
118
|
+
.topbar { padding-top: 22px; }
|
|
119
|
+
.hero { padding-top: 20px; }
|
|
120
|
+
.hero__copy, .score-card { border-radius: 22px; }
|
|
121
|
+
.requirements { grid-template-columns: 1fr; }
|
|
122
|
+
.section-header { align-items: start; flex-direction: column; }
|
|
123
|
+
.controls { align-items: stretch; flex-direction: column; }
|
|
124
|
+
.filters { padding-bottom: 2px; }
|
|
125
|
+
footer { flex-direction: column; }
|
|
126
|
+
}
|
|
127
|
+
@media (max-width: 520px) {
|
|
128
|
+
.metrics { grid-template-columns: repeat(2, 1fr); }
|
|
129
|
+
.metric { border-bottom: 1px solid var(--line); }
|
|
130
|
+
.metric:nth-child(2n) { border-right: 0; }
|
|
131
|
+
.metric:nth-last-child(-n+2) { border-bottom: 0; }
|
|
132
|
+
.stage { grid-template-columns: 20px 1fr; }
|
|
133
|
+
.stage__detail { grid-column: 2; }
|
|
134
|
+
.proof-gaps ul { columns: 1; }
|
|
135
|
+
}
|
|
136
|
+
@media print {
|
|
137
|
+
body { background: #fff; color: #111827; }
|
|
138
|
+
body::before, .controls { display: none; }
|
|
139
|
+
.hero__copy, .score-card, .metrics, .requirement { border-color: #d9deea; color: #111827; background: #fff; box-shadow: none; break-inside: avoid; }
|
|
140
|
+
.requirements { display: block; }
|
|
141
|
+
.requirement { margin-bottom: 14px; }
|
|
142
|
+
.hero__lede, .metric span, .stage__detail, .section-header p, footer { color: #59647a; }
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
/* Kibi proof-rail identity. Tokens mirror assets/logo.svg and assets/wordmark.svg. */
|
|
146
|
+
:root {
|
|
147
|
+
--carbon: __KIBI_CARBON__;
|
|
148
|
+
--deep-carbon: __KIBI_DEEP_CARBON__;
|
|
149
|
+
--panel: __KIBI_PANEL__;
|
|
150
|
+
--ice: __KIBI_ICE__;
|
|
151
|
+
--signal: __KIBI_SIGNAL__;
|
|
152
|
+
--snow: __KIBI_SNOW__;
|
|
153
|
+
--mist: __KIBI_MIST__;
|
|
154
|
+
--rail: __KIBI_RAIL__;
|
|
155
|
+
--success: __KIBI_SUCCESS__;
|
|
156
|
+
--warning: __KIBI_WARNING__;
|
|
157
|
+
--danger: __KIBI_DANGER__;
|
|
158
|
+
--line: rgba(162, 211, 244, .16);
|
|
159
|
+
--mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
|
|
160
|
+
font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
161
|
+
}
|
|
162
|
+
body { color: var(--snow); background: var(--deep-carbon); }
|
|
163
|
+
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; }
|
|
164
|
+
.shell { width: min(1180px, calc(100% - 40px)); }
|
|
165
|
+
.topbar { padding: 30px 0 20px; border-bottom: 1px solid var(--line); }
|
|
166
|
+
.brand { gap: 13px; letter-spacing: normal; }
|
|
167
|
+
.brand__logo { width: 42px; height: 42px; flex: none; }
|
|
168
|
+
.brand__wordmark { width: 86px; height: auto; }
|
|
169
|
+
.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; }
|
|
170
|
+
.snapshot { max-width: min(52vw, 420px); overflow: hidden; color: var(--mist); font: 500 11px/1.4 var(--mono); text-align: right; text-overflow: ellipsis; }
|
|
171
|
+
.snapshot a, .source-link, .cta { color: var(--ice); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 2px; }
|
|
172
|
+
.snapshot a:hover, .source-link:hover, .cta:hover { color: var(--snow); }
|
|
173
|
+
.relative-age::before { content: " · "; }
|
|
174
|
+
.relative-age:empty::before { content: none; }
|
|
175
|
+
.overview { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 36px; align-items: end; padding: clamp(38px, 7vw, 76px) 0 32px; }
|
|
176
|
+
.eyebrow { margin: 0 0 12px; color: var(--ice); font: 750 11px/1.4 var(--mono); letter-spacing: .12em; }
|
|
177
|
+
h1 { margin: 0; font-size: clamp(38px, 6vw, 68px); font-weight: 720; letter-spacing: -.052em; line-height: 1; }
|
|
178
|
+
.overview__copy { max-width: 700px; }
|
|
179
|
+
.overview__copy p:last-child { max-width: 660px; margin: 19px 0 0; color: var(--mist); font-size: 16px; line-height: 1.65; }
|
|
180
|
+
.score { min-width: 220px; padding-left: 30px; border-left: 2px solid var(--signal); text-align: right; }
|
|
181
|
+
.score__value { color: var(--snow); font: 760 clamp(62px, 9vw, 104px)/.84 var(--mono); letter-spacing: -.09em; }
|
|
182
|
+
.score__value span { color: var(--ice); font-size: .38em; letter-spacing: -.04em; }
|
|
183
|
+
.score__label { margin-top: 17px; color: var(--ice); font-size: 12px; font-weight: 760; letter-spacing: .12em; text-transform: uppercase; }
|
|
184
|
+
.score__ratio { margin-top: 6px; color: var(--mist); font: 500 12px/1.4 var(--mono); }
|
|
185
|
+
.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; }
|
|
186
|
+
.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); }
|
|
187
|
+
.snapshot-notice strong { color: var(--warning); font: 750 11px/1.4 var(--mono); }
|
|
188
|
+
.proof-path { margin-bottom: 20px; padding: 24px 26px 22px; border: 1px solid var(--line); border-radius: 14px; background: var(--carbon); }
|
|
189
|
+
.proof-path__header { display: flex; gap: 24px; align-items: start; justify-content: space-between; margin-bottom: 25px; }
|
|
190
|
+
.proof-path__header h2 { margin: 0; font-size: 19px; letter-spacing: -.02em; }
|
|
191
|
+
.proof-path__header p { max-width: 510px; margin: 0; color: var(--mist); font-size: 12px; line-height: 1.55; text-align: right; }
|
|
192
|
+
.proof-rail { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; }
|
|
193
|
+
.proof-rail > li { min-width: 0; }
|
|
194
|
+
.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; }
|
|
195
|
+
.proof-gate:last-child, .proof-rail > li:last-child .proof-gate { padding-right: 0; }
|
|
196
|
+
.proof-gate:focus-visible { outline: 2px solid var(--ice); outline-offset: 4px; }
|
|
197
|
+
.proof-gate[aria-pressed="true"] { background: rgba(62, 142, 214, .1); }
|
|
198
|
+
.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); }
|
|
199
|
+
.proof-gate--blocked { border-top-color: var(--rail); }
|
|
200
|
+
.proof-gate--blocked .proof-gate__node { border-color: var(--danger); color: var(--danger); background: var(--carbon); }
|
|
201
|
+
.proof-gate__count { font: 750 28px/1 var(--mono); letter-spacing: -.05em; }
|
|
202
|
+
.proof-gate__label { margin-top: 8px; font-size: 13px; font-weight: 720; }
|
|
203
|
+
.proof-gate__drop { min-height: 17px; margin-top: 5px; color: var(--warning); font: 650 10px/1.4 var(--mono); }
|
|
204
|
+
.proof-gate p { margin: 7px 0 0; color: var(--mist); font-size: 11px; line-height: 1.45; }
|
|
205
|
+
.metrics { margin: 0 0 62px; border-color: var(--line); border-radius: 12px; background: var(--panel); box-shadow: none; }
|
|
206
|
+
.metric { position: relative; padding: 18px 17px; border-color: var(--line); }
|
|
207
|
+
.metric::before { position: absolute; top: 0; left: 17px; width: 28px; height: 2px; content: ""; background: var(--signal); }
|
|
208
|
+
.metric span { min-height: 31px; color: var(--mist); font-size: 11px; }
|
|
209
|
+
.metric strong { margin-top: 4px; font: 720 26px/1 var(--mono); letter-spacing: -.04em; }
|
|
210
|
+
.metric--good strong { color: var(--success); }
|
|
211
|
+
.metric--warn strong { color: var(--warning); }
|
|
212
|
+
.metric--bad strong { color: var(--danger); }
|
|
213
|
+
.section-header p { color: var(--mist); }
|
|
214
|
+
.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); }
|
|
215
|
+
.search { padding: 11px 13px; border-color: var(--rail); border-radius: 8px; color: var(--snow); background: var(--carbon); }
|
|
216
|
+
.search:focus { border-color: var(--ice); box-shadow: 0 0 0 3px rgba(162,211,244,.1); }
|
|
217
|
+
.filters { gap: 6px; }
|
|
218
|
+
.filter { padding: 9px 11px; border-radius: 7px; color: var(--mist); font: 650 11px/1.4 var(--mono); }
|
|
219
|
+
.filter:hover { color: var(--snow); background: rgba(162,211,244,.06); }
|
|
220
|
+
.filter[aria-pressed="true"] { border-color: rgba(162,211,244,.35); color: var(--ice); background: rgba(62,142,214,.13); }
|
|
221
|
+
.filter:focus-visible { outline: 2px solid var(--ice); outline-offset: 2px; }
|
|
222
|
+
.cta:focus-visible, .source-link:focus-visible, .snapshot a:focus-visible { outline: 2px solid var(--ice); outline-offset: 2px; }
|
|
223
|
+
.requirements { grid-template-columns: 1fr; gap: 13px; }
|
|
224
|
+
.requirement { padding: 22px 24px 20px; border-color: var(--line); border-radius: 12px; background: var(--panel); box-shadow: none; }
|
|
225
|
+
.requirement::before { background: var(--warning); }
|
|
226
|
+
.requirement--proven::before { background: var(--success); }
|
|
227
|
+
.requirement--unresolved::before { background: var(--danger); }
|
|
228
|
+
.requirement__id { color: var(--ice); font: 700 10px/1.2 var(--mono); letter-spacing: .07em; }
|
|
229
|
+
.requirement h3 { font-size: 18px; line-height: 1.3; }
|
|
230
|
+
.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); }
|
|
231
|
+
.proof-badge--proven { border-color: rgba(99,201,154,.3); color: var(--success); background: rgba(99,201,154,.07); }
|
|
232
|
+
.proof-badge--unresolved { border-color: rgba(240,113,120,.3); color: var(--danger); background: rgba(240,113,120,.07); }
|
|
233
|
+
.stages { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0; }
|
|
234
|
+
.stage { position: relative; display: block; min-width: 0; padding: 20px 13px 0 0; border-top: 1px solid var(--rail); }
|
|
235
|
+
.stage:last-child { padding-right: 0; }
|
|
236
|
+
.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); }
|
|
237
|
+
.stage--warning .stage__icon { border-color: var(--warning); color: var(--warning); background: var(--panel); }
|
|
238
|
+
.stage--failed .stage__icon { border-color: var(--danger); color: var(--danger); background: var(--panel); }
|
|
239
|
+
.stage--muted .stage__icon { border-color: var(--rail); color: var(--mist); background: var(--panel); }
|
|
240
|
+
.stage__label { display: block; font-size: 12px; }
|
|
241
|
+
.stage__detail { display: block; margin-top: 5px; color: var(--mist); font-size: 11px; }
|
|
242
|
+
.contradiction { border-color: rgba(240,113,120,.32); border-radius: 9px; background: rgba(240,113,120,.07); }
|
|
243
|
+
.contradiction__eyebrow, .contradiction__values b { color: var(--danger); }
|
|
244
|
+
.contradiction p, .proof-gaps, .proof-advisories { color: var(--mist); }
|
|
245
|
+
.proof-gaps, .proof-advisories { border-color: var(--line); }
|
|
246
|
+
.proof-gaps ul, .proof-advisories ul { columns: 3; }
|
|
247
|
+
.empty { border-color: var(--rail); border-radius: 12px; color: var(--mist); }
|
|
248
|
+
footer { border-color: var(--line); color: var(--mist); font: 500 11px/1.5 var(--mono); }
|
|
249
|
+
.filter__count { margin-left: 6px; color: var(--ice); }
|
|
250
|
+
.requirement h3 .source-link { color: inherit; }
|
|
251
|
+
@media (max-width: 960px) {
|
|
252
|
+
.proof-rail { grid-template-columns: repeat(5, 180px); overflow-x: auto; padding-top: 8px; }
|
|
253
|
+
.snapshot { max-width: 100%; }
|
|
254
|
+
}
|
|
255
|
+
@media (max-width: 760px) {
|
|
256
|
+
.shell { width: min(100% - 24px, 1180px); }
|
|
257
|
+
.topbar { align-items: start; flex-wrap: wrap; gap: 12px; }
|
|
258
|
+
.snapshot { max-width: 100%; text-align: left; }
|
|
259
|
+
.overview { grid-template-columns: 1fr; gap: 28px; padding-top: 38px; }
|
|
260
|
+
.score { min-width: 0; padding: 20px 0 0; border-top: 2px solid var(--signal); border-left: 0; text-align: left; }
|
|
261
|
+
.score__value { font-size: 66px; }
|
|
262
|
+
.score__note { margin-left: 0; }
|
|
263
|
+
.proof-path__header { align-items: start; flex-direction: column; }
|
|
264
|
+
.proof-path__header p { text-align: left; }
|
|
265
|
+
.stages { grid-template-columns: 1fr; }
|
|
266
|
+
.stage { min-height: 66px; margin-left: 8px; padding: 0 0 18px 30px; border-top: 0; border-left: 1px solid var(--rail); }
|
|
267
|
+
.stage__icon { top: 0; left: -8px; }
|
|
268
|
+
.proof-gaps ul, .proof-advisories ul { columns: 2; }
|
|
269
|
+
}
|
|
270
|
+
@media (max-width: 520px) {
|
|
271
|
+
.brand__product { display: none; }
|
|
272
|
+
.proof-path { padding-inline: 18px; }
|
|
273
|
+
.proof-gaps ul, .proof-advisories ul { columns: 1; }
|
|
274
|
+
}
|
|
275
|
+
@media print {
|
|
276
|
+
:root { color-scheme: light; }
|
|
277
|
+
body { color: #17202a; background: #fff; }
|
|
278
|
+
.topbar, .proof-path, .metrics, .requirement { border-color: #cbd5dc; color: #17202a; background: #fff; }
|
|
279
|
+
.proof-gate, .stage { border-color: #7b8b96; background: transparent; }
|
|
280
|
+
.proof-gate p, .proof-path__header p, .metric span, .stage__detail, .section-header p, footer, .score__note { color: #4e606c; }
|
|
281
|
+
.source-link, .cta, .snapshot a { color: inherit; }
|
|
282
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { type ProofGateKey } from "./report-view.js";
|
|
2
|
+
import { type ReportRepository } from "./repository.js";
|
|
3
|
+
export type UnknownRecord = Readonly<Record<string, unknown>>;
|
|
4
|
+
export declare const REPORT_CSP = "default-src 'none'; img-src data:; style-src 'unsafe-inline'; script-src 'unsafe-inline'";
|
|
5
|
+
export declare const KIBI_GETTING_STARTED_URL = "https://github.com/Looted/kibi/blob/develop/docs/install.md";
|
|
6
|
+
export type HtmlReportCoverage = Readonly<{
|
|
7
|
+
summary: UnknownRecord;
|
|
8
|
+
rows: readonly UnknownRecord[];
|
|
9
|
+
meta?: UnknownRecord;
|
|
10
|
+
}>;
|
|
11
|
+
export type HtmlReportInput = Readonly<{
|
|
12
|
+
requirements: HtmlReportCoverage;
|
|
13
|
+
symbols: HtmlReportCoverage;
|
|
14
|
+
branch: string;
|
|
15
|
+
generatedAt: Date;
|
|
16
|
+
repository?: ReportRepository;
|
|
17
|
+
}>;
|
|
18
|
+
export declare function firstFailingProofGate(gates: readonly ProofGateKey[], passes: (gate: ProofGateKey) => boolean): ProofGateKey | "proven";
|
|
19
|
+
export declare function earliestUnmetGate(row: UnknownRecord): ProofGateKey | "proven";
|
|
20
|
+
export declare function renderHtmlReport(input: HtmlReportInput): string;
|
|
21
|
+
//# sourceMappingURL=html-report.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|