kibi-cli 2.31.1 → 2.35.1
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-register-proof.d.ts.map +1 -1
- package/dist/cli-register-proof.js +19 -7
- package/dist/cli-register-reporting.d.ts.map +1 -1
- package/dist/cli-register-reporting.js +2 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +5 -1
- package/dist/commands/check-generated.d.ts +5 -1
- package/dist/commands/check-generated.d.ts.map +1 -1
- package/dist/commands/check-generated.js +24 -35
- package/dist/commands/check.d.ts +1 -0
- package/dist/commands/check.d.ts.map +1 -1
- package/dist/commands/check.js +14 -5
- package/dist/commands/discovery-table.d.ts.map +1 -1
- package/dist/commands/discovery-table.js +51 -4
- package/dist/commands/doctor.js +19 -4
- package/dist/commands/init-helpers.d.ts.map +1 -1
- package/dist/commands/init-helpers.js +8 -5
- package/dist/commands/migrate.d.ts.map +1 -1
- package/dist/commands/migrate.js +109 -5
- package/dist/commands/prove.d.ts +48 -1
- package/dist/commands/prove.d.ts.map +1 -1
- package/dist/commands/prove.js +293 -8
- package/dist/commands/report.d.ts +1 -0
- package/dist/commands/report.d.ts.map +1 -1
- package/dist/commands/report.js +70 -5
- package/dist/commands/signoff.d.ts.map +1 -1
- package/dist/commands/signoff.js +20 -1
- package/dist/commands/sync/manifest.d.ts +10 -1
- package/dist/commands/sync/manifest.d.ts.map +1 -1
- package/dist/commands/sync/manifest.js +106 -17
- package/dist/commands/sync/persistence.d.ts.map +1 -1
- package/dist/commands/sync/persistence.js +16 -5
- package/dist/commands/sync.d.ts.map +1 -1
- package/dist/commands/sync.js +19 -0
- package/dist/diagnostics.js +1 -1
- package/dist/engine.js +1 -1
- package/dist/extractors/markdown.d.ts +4 -2
- package/dist/extractors/markdown.d.ts.map +1 -1
- package/dist/extractors/markdown.js +17 -0
- package/dist/extractors/symbol-coordinates.js +2 -2
- package/dist/extractors/symbols-coordinator.d.ts +2 -4
- package/dist/extractors/symbols-coordinator.d.ts.map +1 -1
- package/dist/extractors/symbols-coordinator.js +1 -2
- package/dist/operations/bootstrap/candidate-helpers.d.ts +3 -0
- package/dist/operations/bootstrap/candidate-helpers.d.ts.map +1 -1
- package/dist/operations/bootstrap/candidate-helpers.js +4 -0
- package/dist/operations/migration/evidence-floor.d.ts +41 -0
- package/dist/operations/migration/evidence-floor.d.ts.map +1 -0
- package/dist/operations/migration/evidence-floor.js +230 -0
- package/dist/operations/migration/proof-contract-claims.d.ts +72 -0
- package/dist/operations/migration/proof-contract-claims.d.ts.map +1 -0
- package/dist/operations/migration/proof-contract-claims.js +215 -0
- package/dist/operations/migration/schema6.d.ts +6 -0
- package/dist/operations/migration/schema6.d.ts.map +1 -1
- package/dist/operations/migration/schema6.js +92 -0
- package/dist/operations/migration/symbol-coordinates-refresh.d.ts +3 -2
- package/dist/operations/migration/symbol-coordinates-refresh.d.ts.map +1 -1
- package/dist/operations/migration/symbol-coordinates-refresh.js +4 -3
- package/dist/operations/migration/untrack-symbol-coordinates.d.ts +23 -0
- package/dist/operations/migration/untrack-symbol-coordinates.d.ts.map +1 -0
- package/dist/operations/migration/untrack-symbol-coordinates.js +67 -0
- package/dist/operations/modeling/requirement-modeler.d.ts.map +1 -1
- package/dist/operations/modeling/requirement-modeler.js +48 -1
- package/dist/operations/modeling/requirement-types.d.ts +2 -1
- package/dist/operations/modeling/requirement-types.d.ts.map +1 -1
- package/dist/operations/modeling/requirement-utils.d.ts +1 -1
- package/dist/operations/modeling/requirement-utils.d.ts.map +1 -1
- package/dist/operations/modeling/requirement-utils.js +8 -1
- package/dist/operations/mutation/omitted-properties.d.ts +11 -0
- package/dist/operations/mutation/omitted-properties.d.ts.map +1 -0
- package/dist/operations/mutation/omitted-properties.js +76 -0
- package/dist/operations/mutation/serialization.d.ts.map +1 -1
- package/dist/operations/mutation/serialization.js +1 -0
- package/dist/operations/mutation/source-authoring.d.ts.map +1 -1
- package/dist/operations/mutation/source-authoring.js +39 -20
- package/dist/operations/mutation/strict-fact.d.ts.map +1 -1
- package/dist/operations/mutation/strict-fact.js +6 -2
- package/dist/operations/mutation/symbol-granularity.d.ts.map +1 -1
- package/dist/operations/mutation/symbol-granularity.js +5 -3
- package/dist/operations/mutation/upsert.d.ts.map +1 -1
- package/dist/operations/mutation/upsert.js +7 -1
- package/dist/operations/mutation/validation.d.ts +2 -0
- package/dist/operations/mutation/validation.d.ts.map +1 -1
- package/dist/operations/mutation/validation.js +4 -0
- package/dist/operations/proof/claim-bindings.d.ts +41 -0
- package/dist/operations/proof/claim-bindings.d.ts.map +1 -0
- package/dist/operations/proof/claim-bindings.js +364 -0
- package/dist/operations/proof/code-certificates.d.ts +155 -0
- package/dist/operations/proof/code-certificates.d.ts.map +1 -0
- package/dist/operations/proof/code-certificates.js +894 -0
- package/dist/operations/proof/code-models.d.ts +96 -0
- package/dist/operations/proof/code-models.d.ts.map +1 -0
- package/dist/operations/proof/code-models.js +601 -0
- package/dist/operations/proof/code-runner.d.ts +40 -0
- package/dist/operations/proof/code-runner.d.ts.map +1 -0
- package/dist/operations/proof/code-runner.js +164 -0
- package/dist/operations/proof/code-scope.d.ts +14 -1
- package/dist/operations/proof/code-scope.d.ts.map +1 -1
- package/dist/operations/proof/code-scope.js +44 -2
- package/dist/operations/proof/compact-receipts.d.ts.map +1 -1
- package/dist/operations/proof/compact-receipts.js +4 -3
- package/dist/operations/proof/explain.d.ts +32 -0
- package/dist/operations/proof/explain.d.ts.map +1 -1
- package/dist/operations/proof/explain.js +91 -0
- package/dist/operations/proof/ingest-proof.d.ts +9 -1
- package/dist/operations/proof/ingest-proof.d.ts.map +1 -1
- package/dist/operations/proof/ingest-proof.js +42 -2
- package/dist/operations/proof/receipt-compaction.d.ts +2 -0
- package/dist/operations/proof/receipt-compaction.d.ts.map +1 -1
- package/dist/operations/proof/receipt-compaction.js +6 -2
- package/dist/operations/proof/regular-language.d.ts +89 -0
- package/dist/operations/proof/regular-language.d.ts.map +1 -0
- package/dist/operations/proof/regular-language.js +943 -0
- package/dist/operations/proof/source-code-readers.d.ts +12 -0
- package/dist/operations/proof/source-code-readers.d.ts.map +1 -0
- package/dist/operations/proof/source-code-readers.js +699 -0
- package/dist/operations/semantic-advisor/analyze-prose.d.ts.map +1 -1
- package/dist/operations/semantic-advisor/analyze-prose.js +2 -1
- package/dist/operations/semantic-advisor/shared.d.ts.map +1 -1
- package/dist/operations/semantic-advisor/shared.js +4 -0
- package/dist/operations/semantic-advisor/strict-count-rules.d.ts.map +1 -1
- package/dist/operations/semantic-advisor/strict-count-rules.js +8 -2
- package/dist/operations/semantic-advisor/strict-rules.d.ts +8 -0
- package/dist/operations/semantic-advisor/strict-rules.d.ts.map +1 -1
- package/dist/operations/semantic-advisor/strict-rules.js +234 -4
- package/dist/operations/semantic-advisor/types.d.ts +3 -2
- package/dist/operations/semantic-advisor/types.d.ts.map +1 -1
- package/dist/plugins/approved-source-analyzers.generated.d.ts +6 -6
- package/dist/plugins/approved-source-analyzers.generated.js +6 -6
- package/dist/prolog.d.ts.map +1 -1
- package/dist/prolog.js +13 -3
- package/dist/proof/command-test-report.d.ts +4 -3
- package/dist/proof/command-test-report.d.ts.map +1 -1
- package/dist/proof/command-test-report.js +4 -10
- package/dist/proof/evaluate.d.ts.map +1 -1
- package/dist/proof/evaluate.js +18 -2
- package/dist/proof/inspect.d.ts.map +1 -1
- package/dist/proof/inspect.js +58 -0
- package/dist/proof/producers/playwright-reporter.d.ts +3 -0
- package/dist/proof/producers/playwright-reporter.d.ts.map +1 -1
- package/dist/proof/producers/playwright-reporter.js +25 -2
- package/dist/proof/step-runner.d.ts +36 -0
- package/dist/proof/step-runner.d.ts.map +1 -0
- package/dist/proof/step-runner.js +234 -0
- package/dist/public/evidence-levels.d.ts +12 -0
- package/dist/public/evidence-levels.d.ts.map +1 -0
- package/dist/public/evidence-levels.js +19 -0
- package/dist/public/impact/coverage-depth-quality.d.ts +7 -0
- package/dist/public/impact/coverage-depth-quality.d.ts.map +1 -1
- package/dist/public/impact/coverage-depth-quality.js +59 -0
- package/dist/public/impact/full-kb-quality.d.ts.map +1 -1
- package/dist/public/impact/full-kb-quality.js +3 -1
- package/dist/public/operations/catalog.d.ts +315 -11
- package/dist/public/operations/catalog.d.ts.map +1 -1
- package/dist/public/operations/check-executor.d.ts +2 -0
- package/dist/public/operations/check-executor.d.ts.map +1 -1
- package/dist/public/operations/check-executor.js +6 -0
- package/dist/public/operations/evidence-floor.d.ts +48 -0
- package/dist/public/operations/evidence-floor.d.ts.map +1 -0
- package/dist/public/operations/evidence-floor.js +143 -0
- package/dist/public/operations/migration-plan.d.ts +19 -5
- package/dist/public/operations/migration-plan.d.ts.map +1 -1
- package/dist/public/operations/migration-plan.js +22 -5
- package/dist/public/operations/node-ports.d.ts.map +1 -1
- package/dist/public/operations/node-ports.js +4 -1
- package/dist/public/operations/proof-contract-claims.d.ts +26 -0
- package/dist/public/operations/proof-contract-claims.d.ts.map +1 -0
- package/dist/public/operations/proof-contract-claims.js +71 -0
- package/dist/public/operations/specs/check-rules.generated.d.ts +1 -1
- package/dist/public/operations/specs/check-rules.generated.d.ts.map +1 -1
- package/dist/public/operations/specs/check-rules.generated.js +3 -1
- package/dist/public/operations/specs/check.d.ts +1 -1
- package/dist/public/operations/specs/composite.d.ts +16 -3
- package/dist/public/operations/specs/composite.d.ts.map +1 -1
- package/dist/public/operations/specs/modeling.d.ts +16 -3
- package/dist/public/operations/specs/modeling.d.ts.map +1 -1
- package/dist/public/operations/specs/modeling.js +22 -3
- package/dist/public/operations/specs/mutation-schemas.d.ts +289 -7
- package/dist/public/operations/specs/mutation-schemas.d.ts.map +1 -1
- package/dist/public/operations/specs/mutation-schemas.js +28 -4
- package/dist/public/operations/specs/proof.d.ts +9 -0
- package/dist/public/operations/specs/proof.d.ts.map +1 -1
- package/dist/public/operations/specs/reporting.d.ts.map +1 -1
- package/dist/public/operations/specs/reporting.js +19 -10
- package/dist/public/operations/specs/upsert.d.ts +289 -7
- package/dist/public/operations/specs/upsert.d.ts.map +1 -1
- package/dist/public/proof-certificates.d.ts +163 -0
- package/dist/public/proof-certificates.d.ts.map +1 -0
- package/dist/public/proof-certificates.js +419 -0
- package/dist/public/proof-protocol.d.ts +259 -3
- package/dist/public/proof-protocol.d.ts.map +1 -1
- package/dist/public/proof-protocol.js +524 -3
- package/dist/public/proof-receipt.d.ts +90 -6
- package/dist/public/proof-receipt.d.ts.map +1 -1
- package/dist/public/proof-receipt.js +88 -7
- package/dist/public/proof-sources.d.ts +102 -0
- package/dist/public/proof-sources.d.ts.map +1 -0
- package/dist/public/proof-sources.js +1292 -0
- package/dist/public/schemas/entity.d.ts.map +1 -1
- package/dist/public/schemas/entity.js +39 -2
- package/dist/public/skills/kibi-bootstrap/SKILL.md +2 -2
- package/dist/public/skills/kibi-commit-review/SKILL.md +8 -8
- package/dist/public/skills/kibi-commit-review/resources/staged-gate.md +12 -7
- package/dist/public/skills/kibi-decisions/SKILL.md +13 -2
- package/dist/public/skills/kibi-decisions/resources/decision-records.md +9 -1
- package/dist/public/skills/kibi-freshness/SKILL.md +5 -1
- package/dist/public/skills/kibi-traceability/SKILL.md +12 -1
- package/dist/public/skills/kibi-usage/SKILL.md +8 -4
- package/dist/public/skills/kibi-usage/resources/proof.md +221 -20
- package/dist/public/skills/kibi-usage/resources/workflows.md +4 -4
- package/dist/report/html-report.css +83 -11
- package/dist/report/html-report.d.ts +8 -0
- package/dist/report/html-report.d.ts.map +1 -1
- package/dist/report/html-report.js +214 -22
- package/dist/report/report-view.d.ts +2 -2
- package/dist/report/report-view.d.ts.map +1 -1
- package/dist/report/report-view.js +8 -0
- package/dist/schemas/entity.schema.json +404 -5
- package/dist/search-answer.d.ts.map +1 -1
- package/dist/search-answer.js +1 -0
- package/dist/signoff/html.d.ts.map +1 -1
- package/dist/signoff/html.js +3 -0
- package/dist/signoff/markdown.d.ts.map +1 -1
- package/dist/signoff/markdown.js +3 -0
- package/dist/signoff/model.d.ts +20 -0
- package/dist/signoff/model.d.ts.map +1 -1
- package/dist/signoff/model.js +20 -1
- package/dist/traceability/evidence-model.d.ts +13 -12
- package/dist/traceability/evidence-model.d.ts.map +1 -1
- package/dist/traceability/evidence-model.js +1 -1
- package/dist/traceability/impact-knowledge.d.ts.map +1 -1
- package/dist/traceability/impact-knowledge.js +1 -0
- package/dist/traceability/staged-diagnostics.d.ts.map +1 -1
- package/dist/traceability/staged-diagnostics.js +24 -20
- package/dist/traceability/staged-impact-contract.d.ts +4 -4
- package/dist/traceability/staged-impact-contract.js +9 -9
- package/dist/traceability/staged-symbols-manifest.d.ts +11 -3
- package/dist/traceability/staged-symbols-manifest.d.ts.map +1 -1
- package/dist/traceability/staged-symbols-manifest.js +47 -140
- package/dist/traceability/temp-kb.d.ts.map +1 -1
- package/dist/traceability/temp-kb.js +1 -0
- package/dist/types/entities.d.ts +5 -2
- package/dist/types/entities.d.ts.map +1 -1
- package/dist/utils/merge-driver-setup.d.ts +8 -1
- package/dist/utils/merge-driver-setup.d.ts.map +1 -1
- package/dist/utils/merge-driver-setup.js +23 -2
- package/dist/utils/rule-registry.generated.d.ts +10 -0
- package/dist/utils/rule-registry.generated.d.ts.map +1 -1
- package/dist/utils/rule-registry.generated.js +12 -0
- package/dist/utils/schema-version.d.ts +1 -1
- package/dist/utils/schema-version.d.ts.map +1 -1
- package/dist/utils/schema-version.js +7 -1
- package/dist/utils/strict-modeling.d.ts +3 -2
- package/dist/utils/strict-modeling.d.ts.map +1 -1
- package/dist/utils/strict-modeling.js +37 -4
- package/dist/workspace-cwd.d.ts +15 -0
- package/dist/workspace-cwd.d.ts.map +1 -0
- package/dist/workspace-cwd.js +86 -0
- package/package.json +6 -2
- package/schema/entities.pl +6 -0
- package/schema/validation.pl +7 -2
- package/src/public/evidence-levels.ts +23 -0
- package/src/public/impact/coverage-depth-quality.ts +73 -0
- package/src/public/impact/full-kb-quality.ts +6 -1
- package/src/public/operations/check-executor.ts +13 -0
- package/src/public/operations/evidence-floor.ts +203 -0
- package/src/public/operations/migration-plan.ts +39 -6
- package/src/public/operations/node-ports.ts +3 -1
- package/src/public/operations/proof-contract-claims.ts +103 -0
- package/src/public/operations/specs/check-rules.generated.ts +3 -1
- package/src/public/operations/specs/modeling.ts +24 -5
- package/src/public/operations/specs/mutation-schemas.ts +30 -4
- package/src/public/operations/specs/reporting.ts +20 -10
- package/src/public/proof-certificates.ts +566 -0
- package/src/public/proof-protocol-types.d.ts +69 -1
- package/src/public/proof-protocol.ts +694 -3
- package/src/public/proof-receipt.ts +133 -7
- package/src/public/proof-sources.ts +1656 -0
- package/src/public/schemas/entity.ts +51 -3
- package/src/public/skills/kibi-bootstrap/SKILL.md +2 -2
- package/src/public/skills/kibi-commit-review/SKILL.md +8 -8
- package/src/public/skills/kibi-commit-review/resources/staged-gate.md +12 -7
- package/src/public/skills/kibi-decisions/SKILL.md +13 -2
- package/src/public/skills/kibi-decisions/resources/decision-records.md +9 -1
- package/src/public/skills/kibi-freshness/SKILL.md +5 -1
- package/src/public/skills/kibi-traceability/SKILL.md +12 -1
- package/src/public/skills/kibi-usage/SKILL.md +8 -4
- package/src/public/skills/kibi-usage/resources/proof.md +221 -20
- package/src/public/skills/kibi-usage/resources/workflows.md +4 -4
- package/src/schemas/entity.schema.json +404 -5
- package/dist/commands/proof-impact.d.ts +0 -7
- package/dist/commands/proof-impact.d.ts.map +0 -1
- package/dist/commands/proof-impact.js +0 -39
- package/dist/operations/proof/baseline-diff.d.ts +0 -41
- package/dist/operations/proof/baseline-diff.d.ts.map +0 -1
- package/dist/operations/proof/baseline-diff.js +0 -153
- package/dist/operations/proof/impact.d.ts +0 -51
- package/dist/operations/proof/impact.d.ts.map +0 -1
- package/dist/operations/proof/impact.js +0 -138
- package/dist/traceability/reviewed-coordinate-refresh.d.ts +0 -10
- package/dist/traceability/reviewed-coordinate-refresh.d.ts.map +0 -1
- package/dist/traceability/reviewed-coordinate-refresh.js +0 -49
|
@@ -625,11 +625,24 @@ export declare const OPERATION_CATALOG: readonly [{
|
|
|
625
625
|
};
|
|
626
626
|
readonly operator: {
|
|
627
627
|
readonly type: "string";
|
|
628
|
-
readonly enum: readonly ["eq", "gt", "gte", "lt", "lte", "neq", "bool", "polarity"];
|
|
629
|
-
readonly description: "Optional extracted semantic claim operator. Use gt/lt for strict bounds ('greater than zero' is gt 0, not gte 0). Example: 'eq'.";
|
|
628
|
+
readonly enum: readonly ["eq", "gt", "gte", "lt", "lte", "neq", "bool", "polarity", "matches", "includes", "subset_of", "excludes"];
|
|
629
|
+
readonly description: "Optional extracted semantic claim operator. Use gt/lt for strict bounds ('greater than zero' is gt 0, not gte 0). A set claim takes a list value with eq (exactly these), includes (at least these), subset_of (only these) or excludes (none of these); matches takes a regular expression string. Example: 'eq'.";
|
|
630
630
|
};
|
|
631
631
|
readonly value: {
|
|
632
|
-
readonly
|
|
632
|
+
readonly anyOf: readonly [{
|
|
633
|
+
readonly type: "string";
|
|
634
|
+
}, {
|
|
635
|
+
readonly type: "number";
|
|
636
|
+
}, {
|
|
637
|
+
readonly type: "boolean";
|
|
638
|
+
}, {
|
|
639
|
+
readonly type: "array";
|
|
640
|
+
readonly items: {
|
|
641
|
+
readonly type: "string";
|
|
642
|
+
};
|
|
643
|
+
readonly minItems: 1;
|
|
644
|
+
}];
|
|
645
|
+
readonly description: "Optional extracted semantic claim value: a string, number or boolean, or a list of strings for a set claim. Example: ['requireAuth'] with operator includes.";
|
|
633
646
|
};
|
|
634
647
|
readonly provenance: {
|
|
635
648
|
readonly type: "string";
|
|
@@ -1147,6 +1160,11 @@ export declare const OPERATION_CATALOG: readonly [{
|
|
|
1147
1160
|
readonly enum: readonly ["firm", "default", "exploratory"];
|
|
1148
1161
|
readonly description: "req/adr only. firm = a human stated it as a rule (needs origin.ref to their words); its title, meaning or firmness changes only with new human words (a new origin.ref) or by supersede. default = delegated or agent choice; exploratory = flagged guess. Absent = default if an agent wrote it, else firm.";
|
|
1149
1162
|
};
|
|
1163
|
+
readonly required_evidence: {
|
|
1164
|
+
readonly type: "string";
|
|
1165
|
+
readonly enum: readonly ["proved", "tested", "asserted", "unverified"];
|
|
1166
|
+
readonly description: "Requirement-only. Weakest evidence level it accepts; the evidence-floor rule fails below it. Absent = tested if firm, else unverified.";
|
|
1167
|
+
};
|
|
1150
1168
|
readonly rationale: {
|
|
1151
1169
|
readonly type: "string";
|
|
1152
1170
|
readonly minLength: 1;
|
|
@@ -1226,7 +1244,217 @@ export declare const OPERATION_CATALOG: readonly [{
|
|
|
1226
1244
|
};
|
|
1227
1245
|
readonly success_policy: {
|
|
1228
1246
|
readonly type: "string";
|
|
1229
|
-
readonly enum: readonly ["all_required_first_attempt"];
|
|
1247
|
+
readonly enum: readonly ["all_required_first_attempt", "own_results_first_attempt"];
|
|
1248
|
+
};
|
|
1249
|
+
readonly kind: {
|
|
1250
|
+
readonly type: "string";
|
|
1251
|
+
readonly enum: readonly ["e2e", "example", "property", "exhaustive", "typecheck", "arithmetic", "smt", "rule", "state_machine", "regex", "source"];
|
|
1252
|
+
readonly description: "What the checker establishes; absent means e2e. exhaustive, typecheck, arithmetic, smt, rule, state_machine and regex must leave a kibi.code-certificate.v1 that Kibi re-checks before the receipt counts as proved. source reads the contract's source itself: the run may leave {version, kind: source, test_id, source} or nothing, and Kibi stores its own read as the certificate.";
|
|
1253
|
+
};
|
|
1254
|
+
readonly source: {
|
|
1255
|
+
readonly description: "source: the project source a source proof reads. A project source Kibi reads by itself. reader json or yaml: {file, path?, select?: keys|values|items}. glob: {pattern, capture?, ignore?} (capture true reads what each * matched). openapi: {file, select?: operations|unsecured_operations|security_schemes|responses}. references: {files, extract: env|imports|calls|string_args|thrown|property, callee?, key?, ignore?}. schema: {format: drizzle|prisma|sql, file (drizzle, prisma) or files (sql migrations), exports?, table?, select?: tables|columns|required_columns|nullable_columns|foreign_keys}. routes: {file, export, framework?: hono|express, path_prefix?, names_from?, select?: routes|middleware}. validator: {file, export, select?: fields|required_fields|optional_fields}. Paths are repository-relative. A member Kibi cannot read statically fails the read with its location.";
|
|
1256
|
+
readonly type: "object";
|
|
1257
|
+
readonly required: readonly ["reader"];
|
|
1258
|
+
readonly properties: {
|
|
1259
|
+
readonly reader: {
|
|
1260
|
+
readonly type: "string";
|
|
1261
|
+
readonly enum: readonly ["json", "yaml", "glob", "openapi", "references", "schema", "routes", "validator"];
|
|
1262
|
+
};
|
|
1263
|
+
};
|
|
1264
|
+
readonly additionalProperties: true;
|
|
1265
|
+
};
|
|
1266
|
+
readonly domain_source: {
|
|
1267
|
+
readonly type: "object";
|
|
1268
|
+
readonly description: "exhaustive and typecheck: the symbol that defines the finite domain (typecheck: also the type whose fields a required_fields fact names). state_machine: the transition table or next-state function. The proof must import it from its source file; a hand-listed domain downgrades the receipt to example. Kibi reads the export named `export`, or the symbol's title when `export` is absent.";
|
|
1269
|
+
readonly required: readonly ["symbol_id"];
|
|
1270
|
+
readonly properties: {
|
|
1271
|
+
readonly symbol_id: {
|
|
1272
|
+
readonly type: "string";
|
|
1273
|
+
readonly minLength: 1;
|
|
1274
|
+
};
|
|
1275
|
+
readonly export: {
|
|
1276
|
+
readonly type: "string";
|
|
1277
|
+
readonly minLength: 1;
|
|
1278
|
+
readonly description: "The name the domain is exported under in the symbol's source file, when the symbol's title is not that name.";
|
|
1279
|
+
};
|
|
1280
|
+
};
|
|
1281
|
+
readonly additionalProperties: false;
|
|
1282
|
+
};
|
|
1283
|
+
readonly witness: {
|
|
1284
|
+
readonly type: "object";
|
|
1285
|
+
readonly description: "typecheck: the repository-relative witness file Kibi compiles (an exhaustive switch ending in never, or a mapped type over the domain).";
|
|
1286
|
+
readonly required: readonly ["path"];
|
|
1287
|
+
readonly properties: {
|
|
1288
|
+
readonly path: {
|
|
1289
|
+
readonly type: "string";
|
|
1290
|
+
readonly minLength: 1;
|
|
1291
|
+
};
|
|
1292
|
+
};
|
|
1293
|
+
readonly additionalProperties: false;
|
|
1294
|
+
};
|
|
1295
|
+
readonly proves: {
|
|
1296
|
+
readonly type: "array";
|
|
1297
|
+
readonly description: "Certificate kinds: the requirement claim keys (CLAIM-...) this certificate proves. Each must be a modeled claim of a current requirement the test reaches through its scenarios. Kibi derives what the certificate must establish from the claim's grounding fact (a set fact for exhaustive or typecheck, a numeric fact for arithmetic or smt, a rule, predicate or set fact for rule and state_machine, a string fact for regex); a claim with no such derivation is only attested and never counts as proved.";
|
|
1298
|
+
readonly minItems: 1;
|
|
1299
|
+
readonly items: {
|
|
1300
|
+
readonly type: "string";
|
|
1301
|
+
readonly pattern: "^CLAIM-";
|
|
1302
|
+
};
|
|
1303
|
+
readonly uniqueItems: true;
|
|
1304
|
+
};
|
|
1305
|
+
readonly value_source: {
|
|
1306
|
+
readonly type: "array";
|
|
1307
|
+
readonly description: "arithmetic and smt: code constants the assumptions read. Kibi evaluates each export at ingest and requires the certificate to assume the variable equals that value, so the proof is about the code and not only the knowledge base. With measure count the value is the size of a list, set, map or object export, so a count claim reads the collection itself. An entry {source, measure: count} counts the members Kibi reads from a project source (routes, tables, environment variables).";
|
|
1308
|
+
readonly minItems: 1;
|
|
1309
|
+
readonly items: {
|
|
1310
|
+
readonly type: "object";
|
|
1311
|
+
readonly properties: {
|
|
1312
|
+
readonly symbol_id: {
|
|
1313
|
+
readonly type: "string";
|
|
1314
|
+
readonly minLength: 1;
|
|
1315
|
+
};
|
|
1316
|
+
readonly export: {
|
|
1317
|
+
readonly type: "string";
|
|
1318
|
+
readonly minLength: 1;
|
|
1319
|
+
};
|
|
1320
|
+
readonly source: {
|
|
1321
|
+
readonly type: "object";
|
|
1322
|
+
readonly description: "A project source Kibi reads by itself. reader json or yaml: {file, path?, select?: keys|values|items}. glob: {pattern, capture?, ignore?} (capture true reads what each * matched). openapi: {file, select?: operations|unsecured_operations|security_schemes|responses}. references: {files, extract: env|imports|calls|string_args|thrown|property, callee?, key?, ignore?}. schema: {format: drizzle|prisma|sql, file (drizzle, prisma) or files (sql migrations), exports?, table?, select?: tables|columns|required_columns|nullable_columns|foreign_keys}. routes: {file, export, framework?: hono|express, path_prefix?, names_from?, select?: routes|middleware}. validator: {file, export, select?: fields|required_fields|optional_fields}. Paths are repository-relative. A member Kibi cannot read statically fails the read with its location.";
|
|
1323
|
+
readonly required: readonly ["reader"];
|
|
1324
|
+
readonly properties: {
|
|
1325
|
+
readonly reader: {
|
|
1326
|
+
readonly type: "string";
|
|
1327
|
+
readonly enum: readonly ["json", "yaml", "glob", "openapi", "references", "schema", "routes", "validator"];
|
|
1328
|
+
};
|
|
1329
|
+
};
|
|
1330
|
+
readonly additionalProperties: true;
|
|
1331
|
+
};
|
|
1332
|
+
readonly measure: {
|
|
1333
|
+
readonly type: "string";
|
|
1334
|
+
readonly enum: readonly ["value", "count"];
|
|
1335
|
+
readonly description: "value (default for an export): the export is a number. count (the only measure of a source): the number of members of a list, set, map or object export, or of a source.";
|
|
1336
|
+
};
|
|
1337
|
+
};
|
|
1338
|
+
readonly additionalProperties: false;
|
|
1339
|
+
};
|
|
1340
|
+
};
|
|
1341
|
+
readonly predicate_source: {
|
|
1342
|
+
readonly type: "object";
|
|
1343
|
+
readonly description: "rule: the code function behind each predicate a claim's rule, predicate or set fact names, keyed by predicate name. Each export takes the predicate's arguments in order and returns a boolean; Kibi calls it on every combination of its argument domains.";
|
|
1344
|
+
readonly minProperties: 1;
|
|
1345
|
+
readonly additionalProperties: {
|
|
1346
|
+
readonly type: "object";
|
|
1347
|
+
readonly required: readonly ["symbol_id"];
|
|
1348
|
+
readonly properties: {
|
|
1349
|
+
readonly symbol_id: {
|
|
1350
|
+
readonly type: "string";
|
|
1351
|
+
readonly minLength: 1;
|
|
1352
|
+
};
|
|
1353
|
+
readonly export: {
|
|
1354
|
+
readonly type: "string";
|
|
1355
|
+
readonly minLength: 1;
|
|
1356
|
+
readonly description: "The exported function's name in the symbol's source file. Without it Kibi reads the export named by the symbol's title.";
|
|
1357
|
+
};
|
|
1358
|
+
readonly harness_for: {
|
|
1359
|
+
readonly type: "array";
|
|
1360
|
+
readonly minItems: 1;
|
|
1361
|
+
readonly items: {
|
|
1362
|
+
readonly type: "string";
|
|
1363
|
+
readonly minLength: 1;
|
|
1364
|
+
};
|
|
1365
|
+
readonly description: "The predicate is a test harness that decides the predicate by driving these code symbols (for example by calling the handler with each role). The symbols must be covered_by the test; a claim the harness proves is bound with scope harness.";
|
|
1366
|
+
};
|
|
1367
|
+
};
|
|
1368
|
+
readonly additionalProperties: false;
|
|
1369
|
+
};
|
|
1370
|
+
};
|
|
1371
|
+
readonly domains: {
|
|
1372
|
+
readonly type: "object";
|
|
1373
|
+
readonly description: "rule: the finite domain of each argument type, keyed by type name (an array, Set, Map or object export, or a Python list, set, dict or Enum), or {source} for the members Kibi reads from a project source (every route, every table, every environment variable). state_machine with a next-state function: the `state` and `event` domains it is called on.";
|
|
1374
|
+
readonly minProperties: 1;
|
|
1375
|
+
readonly additionalProperties: {
|
|
1376
|
+
readonly anyOf: readonly [{
|
|
1377
|
+
readonly type: "object";
|
|
1378
|
+
readonly required: readonly ["symbol_id"];
|
|
1379
|
+
readonly properties: {
|
|
1380
|
+
readonly symbol_id: {
|
|
1381
|
+
readonly type: "string";
|
|
1382
|
+
readonly minLength: 1;
|
|
1383
|
+
};
|
|
1384
|
+
readonly export: {
|
|
1385
|
+
readonly type: "string";
|
|
1386
|
+
readonly minLength: 1;
|
|
1387
|
+
};
|
|
1388
|
+
};
|
|
1389
|
+
readonly additionalProperties: false;
|
|
1390
|
+
}, {
|
|
1391
|
+
readonly type: "object";
|
|
1392
|
+
readonly required: readonly ["source"];
|
|
1393
|
+
readonly properties: {
|
|
1394
|
+
readonly source: {
|
|
1395
|
+
readonly type: "object";
|
|
1396
|
+
readonly description: "A project source Kibi reads by itself. reader json or yaml: {file, path?, select?: keys|values|items}. glob: {pattern, capture?, ignore?} (capture true reads what each * matched). openapi: {file, select?: operations|unsecured_operations|security_schemes|responses}. references: {files, extract: env|imports|calls|string_args|thrown|property, callee?, key?, ignore?}. schema: {format: drizzle|prisma|sql, file (drizzle, prisma) or files (sql migrations), exports?, table?, select?: tables|columns|required_columns|nullable_columns|foreign_keys}. routes: {file, export, framework?: hono|express, path_prefix?, names_from?, select?: routes|middleware}. validator: {file, export, select?: fields|required_fields|optional_fields}. Paths are repository-relative. A member Kibi cannot read statically fails the read with its location.";
|
|
1397
|
+
readonly required: readonly ["reader"];
|
|
1398
|
+
readonly properties: {
|
|
1399
|
+
readonly reader: {
|
|
1400
|
+
readonly type: "string";
|
|
1401
|
+
readonly enum: readonly ["json", "yaml", "glob", "openapi", "references", "schema", "routes", "validator"];
|
|
1402
|
+
};
|
|
1403
|
+
};
|
|
1404
|
+
readonly additionalProperties: true;
|
|
1405
|
+
};
|
|
1406
|
+
};
|
|
1407
|
+
readonly additionalProperties: false;
|
|
1408
|
+
}];
|
|
1409
|
+
};
|
|
1410
|
+
};
|
|
1411
|
+
readonly initial_source: {
|
|
1412
|
+
readonly description: "state_machine: the export holding the initial state (or states), needed for initial_states and reachable_states facts.";
|
|
1413
|
+
readonly type: "object";
|
|
1414
|
+
readonly required: readonly ["symbol_id"];
|
|
1415
|
+
readonly properties: {
|
|
1416
|
+
readonly symbol_id: {
|
|
1417
|
+
readonly type: "string";
|
|
1418
|
+
readonly minLength: 1;
|
|
1419
|
+
};
|
|
1420
|
+
readonly export: {
|
|
1421
|
+
readonly type: "string";
|
|
1422
|
+
readonly minLength: 1;
|
|
1423
|
+
};
|
|
1424
|
+
};
|
|
1425
|
+
readonly additionalProperties: false;
|
|
1426
|
+
};
|
|
1427
|
+
readonly pattern_source: {
|
|
1428
|
+
readonly description: "regex: the export holding the code's pattern (a RegExp, or a Python re.Pattern) or string constant that a string fact is about.";
|
|
1429
|
+
readonly type: "object";
|
|
1430
|
+
readonly required: readonly ["symbol_id"];
|
|
1431
|
+
readonly properties: {
|
|
1432
|
+
readonly symbol_id: {
|
|
1433
|
+
readonly type: "string";
|
|
1434
|
+
readonly minLength: 1;
|
|
1435
|
+
};
|
|
1436
|
+
readonly export: {
|
|
1437
|
+
readonly type: "string";
|
|
1438
|
+
readonly minLength: 1;
|
|
1439
|
+
};
|
|
1440
|
+
};
|
|
1441
|
+
readonly additionalProperties: false;
|
|
1442
|
+
};
|
|
1443
|
+
readonly constraint_source: {
|
|
1444
|
+
readonly type: "object";
|
|
1445
|
+
readonly description: "arithmetic and smt: the typed numeric property_value facts the certificate's assumptions come from. Kibi checks the assumptions (or the query's assertions) are exactly these facts' constraints, so the proof is about the knowledge base, not numbers the test chose.";
|
|
1446
|
+
readonly required: readonly ["fact_ids"];
|
|
1447
|
+
readonly properties: {
|
|
1448
|
+
readonly fact_ids: {
|
|
1449
|
+
readonly type: "array";
|
|
1450
|
+
readonly minItems: 1;
|
|
1451
|
+
readonly items: {
|
|
1452
|
+
readonly type: "string";
|
|
1453
|
+
readonly minLength: 1;
|
|
1454
|
+
};
|
|
1455
|
+
};
|
|
1456
|
+
};
|
|
1457
|
+
readonly additionalProperties: false;
|
|
1230
1458
|
};
|
|
1231
1459
|
};
|
|
1232
1460
|
readonly additionalProperties: false;
|
|
@@ -1274,12 +1502,12 @@ export declare const OPERATION_CATALOG: readonly [{
|
|
|
1274
1502
|
readonly maxItems: 50;
|
|
1275
1503
|
readonly items: {
|
|
1276
1504
|
readonly type: "object";
|
|
1277
|
-
readonly description: "Kibi-derived kibi.proof-receipt.v1. Receipts are never caller-authored; kb_ingest_proof derives them from kibi.proof-run.v1 artifacts.";
|
|
1505
|
+
readonly description: "Kibi-derived kibi.proof-receipt.v2 (kibi.proof-receipt.v1 entries are still read). Receipts are never caller-authored; kb_ingest_proof derives them from kibi.proof-run.v1 artifacts.";
|
|
1278
1506
|
readonly required: readonly ["version", "receipt_id", "test_id", "scope", "outcome", "code_snapshot", "environment_hash", "started_at", "finished_at", "artifact_digest", "contract_hash", "fingerprint", "fingerprint_components", "integration_id", "producer", "command_argv", "run_outcome", "proof_results"];
|
|
1279
1507
|
readonly properties: {
|
|
1280
1508
|
readonly version: {
|
|
1281
1509
|
readonly type: "string";
|
|
1282
|
-
readonly
|
|
1510
|
+
readonly enum: readonly ["kibi.proof-receipt.v1", "kibi.proof-receipt.v2"];
|
|
1283
1511
|
};
|
|
1284
1512
|
readonly receipt_id: {
|
|
1285
1513
|
readonly type: "string";
|
|
@@ -1461,6 +1689,63 @@ export declare const OPERATION_CATALOG: readonly [{
|
|
|
1461
1689
|
readonly additionalProperties: false;
|
|
1462
1690
|
};
|
|
1463
1691
|
};
|
|
1692
|
+
readonly kind: {
|
|
1693
|
+
readonly type: "string";
|
|
1694
|
+
readonly enum: readonly ["e2e", "example", "property", "exhaustive", "typecheck", "arithmetic", "smt", "rule", "state_machine", "regex", "source"];
|
|
1695
|
+
};
|
|
1696
|
+
readonly evidence_level: {
|
|
1697
|
+
readonly type: "string";
|
|
1698
|
+
readonly enum: readonly ["proved", "tested"];
|
|
1699
|
+
};
|
|
1700
|
+
readonly certificate: {
|
|
1701
|
+
readonly type: "object";
|
|
1702
|
+
};
|
|
1703
|
+
readonly certificate_digest: {
|
|
1704
|
+
readonly type: "string";
|
|
1705
|
+
readonly pattern: "^[a-f0-9]{64}$";
|
|
1706
|
+
};
|
|
1707
|
+
readonly certificate_rejection: {
|
|
1708
|
+
readonly type: "string";
|
|
1709
|
+
readonly minLength: 1;
|
|
1710
|
+
};
|
|
1711
|
+
readonly claim_bindings: {
|
|
1712
|
+
readonly type: "array";
|
|
1713
|
+
readonly description: "Certificate kinds: how the certificate binds to each claim its contract names in proves, judged at ingest. derived means Kibi derived the certificate's obligation from the claim's grounding fact and the certificate satisfies it; attested means no derivation exists and the author vouches for it (never proved); rejected names why.";
|
|
1714
|
+
readonly items: {
|
|
1715
|
+
readonly type: "object";
|
|
1716
|
+
readonly required: readonly ["claim_key", "binding"];
|
|
1717
|
+
readonly properties: {
|
|
1718
|
+
readonly claim_key: {
|
|
1719
|
+
readonly type: "string";
|
|
1720
|
+
readonly minLength: 1;
|
|
1721
|
+
};
|
|
1722
|
+
readonly requirement_id: {
|
|
1723
|
+
readonly type: "string";
|
|
1724
|
+
readonly minLength: 1;
|
|
1725
|
+
};
|
|
1726
|
+
readonly fact_id: {
|
|
1727
|
+
readonly type: "string";
|
|
1728
|
+
readonly minLength: 1;
|
|
1729
|
+
};
|
|
1730
|
+
readonly binding: {
|
|
1731
|
+
readonly type: "string";
|
|
1732
|
+
readonly enum: readonly ["derived", "attested", "rejected"];
|
|
1733
|
+
};
|
|
1734
|
+
readonly scope: {
|
|
1735
|
+
readonly type: "string";
|
|
1736
|
+
readonly enum: readonly ["code", "source", "harness", "intent"];
|
|
1737
|
+
};
|
|
1738
|
+
readonly obligation: {
|
|
1739
|
+
readonly type: "object";
|
|
1740
|
+
};
|
|
1741
|
+
readonly reason: {
|
|
1742
|
+
readonly type: "string";
|
|
1743
|
+
readonly minLength: 1;
|
|
1744
|
+
};
|
|
1745
|
+
};
|
|
1746
|
+
readonly additionalProperties: false;
|
|
1747
|
+
};
|
|
1748
|
+
};
|
|
1464
1749
|
readonly gaps: {
|
|
1465
1750
|
readonly type: "array";
|
|
1466
1751
|
readonly items: {
|
|
@@ -1503,13 +1788,13 @@ export declare const OPERATION_CATALOG: readonly [{
|
|
|
1503
1788
|
};
|
|
1504
1789
|
readonly operator: {
|
|
1505
1790
|
readonly type: "string";
|
|
1506
|
-
readonly enum: readonly ["eq", "neq", "lt", "lte", "gt", "gte"];
|
|
1507
|
-
readonly description: "Optional comparison operator for property_value facts. Example: 'eq'.";
|
|
1791
|
+
readonly enum: readonly ["eq", "neq", "lt", "lte", "gt", "gte", "matches", "includes", "subset_of", "excludes"];
|
|
1792
|
+
readonly description: "Optional comparison operator for property_value facts. Example: 'eq'. 'matches' (string facts only): value_string is a JavaScript regular expression (u flag) every value must match as a whole. Set facts only: 'includes' means every member of value_set has the property and other members may have it too; 'subset_of' means every member that has the property is in value_set ('every env var the server reads is one of ...'); 'excludes' means no member of value_set has it ('never imports md5'); 'eq' on a set means exactly those members.";
|
|
1508
1793
|
};
|
|
1509
1794
|
readonly value_type: {
|
|
1510
1795
|
readonly type: "string";
|
|
1511
|
-
readonly enum: readonly ["string", "int", "number", "bool"];
|
|
1512
|
-
readonly description: "Optional typed value discriminator for property_value facts. Pair with exactly one value_string, value_int, value_number, or
|
|
1796
|
+
readonly enum: readonly ["string", "int", "number", "bool", "set"];
|
|
1797
|
+
readonly description: "Optional typed value discriminator for property_value facts. Pair with exactly one value_string, value_int, value_number, value_bool, or value_set (set: a list of members, with operator eq, includes, subset_of or excludes); do not use generic value.";
|
|
1513
1798
|
};
|
|
1514
1799
|
readonly value_string: {
|
|
1515
1800
|
readonly type: "string";
|
|
@@ -1527,6 +1812,16 @@ export declare const OPERATION_CATALOG: readonly [{
|
|
|
1527
1812
|
readonly type: "boolean";
|
|
1528
1813
|
readonly description: "Optional boolean value for property_value facts.";
|
|
1529
1814
|
};
|
|
1815
|
+
readonly value_set: {
|
|
1816
|
+
readonly type: "array";
|
|
1817
|
+
readonly items: {
|
|
1818
|
+
readonly type: "string";
|
|
1819
|
+
readonly minLength: 1;
|
|
1820
|
+
};
|
|
1821
|
+
readonly minItems: 1;
|
|
1822
|
+
readonly uniqueItems: true;
|
|
1823
|
+
readonly description: "Optional exact set of values for property_value facts with value_type set, such as the members a domain must have.";
|
|
1824
|
+
};
|
|
1530
1825
|
readonly unit: {
|
|
1531
1826
|
readonly type: "string";
|
|
1532
1827
|
readonly description: "Optional unit for numeric property_value facts.";
|
|
@@ -1859,7 +2154,7 @@ export declare const OPERATION_CATALOG: readonly [{
|
|
|
1859
2154
|
readonly type: "string";
|
|
1860
2155
|
readonly enum: readonly string[];
|
|
1861
2156
|
};
|
|
1862
|
-
readonly description: "Optional rule subset. Allowed: must-priority-coverage, symbol-coverage, symbol-traceability, symbol-granularity, no-dangling-refs, source-relationship-parity, branch-store-not-compiled, source-path-dangling, no-cycles, required-fields, deprecated-adr-no-successor, superseded-requirement-open, scenario-feasibility, scenario-feasibility-unknown, exception-claim-keys, numeric-string-value, rule-key-arguments-missing, domain-contradictions, logic-coverage, rule-safety, rule-verifiability, query-plan-safety, req-status-vocabulary, strict-fact-shape, strict-req-fact-pairing, predicate-verifiability, strict-readiness, semantic-completeness, related-requirement-unmodeled, proof-contract-symbols, entity-id-style, domain-redundancy, domain-implication, subject-key-identity, subject-key-shape, ontology-quality, exception-unapproved, exception-approval-self-attested, agent-requirement-unapproved, requirement-rationale-missing, symbol-owner-superseded, adr-unlinked, adr-proposed, predicate-schema-conformance, entity-context-missing, entity-context-acknowledged, decision-firm-unreferenced, decision-firm-superseded, decision-firm-edited, supersedes-reason-missing, supersedes-reason-acknowledged, policy-ownership, policy-markers, kb-consistency, kb-consistency-unresolved. If omitted, server runs canonical and advisory rules plus the full-KB qualityDiagnostics audit scan, including usage telemetry acceptance when evidence exists; migration rules run only when explicitly selected. Advisory and migration findings are non-blocking qualityDiagnostics. If supplied, server preserves scoped validation and skips the full-KB advisory scan.";
|
|
2157
|
+
readonly description: "Optional rule subset. Allowed: must-priority-coverage, symbol-coverage, symbol-traceability, symbol-granularity, no-dangling-refs, source-relationship-parity, branch-store-not-compiled, source-path-dangling, no-cycles, required-fields, deprecated-adr-no-successor, superseded-requirement-open, scenario-feasibility, scenario-feasibility-unknown, exception-claim-keys, numeric-string-value, rule-key-arguments-missing, domain-contradictions, logic-coverage, rule-safety, rule-verifiability, query-plan-safety, req-status-vocabulary, strict-fact-shape, strict-req-fact-pairing, predicate-verifiability, strict-readiness, semantic-completeness, related-requirement-unmodeled, proof-contract-symbols, entity-id-style, domain-redundancy, domain-implication, subject-key-identity, subject-key-shape, ontology-quality, exception-unapproved, exception-approval-self-attested, agent-requirement-unapproved, requirement-rationale-missing, symbol-owner-superseded, adr-unlinked, adr-proposed, predicate-schema-conformance, entity-context-missing, entity-context-acknowledged, decision-firm-unreferenced, decision-firm-superseded, decision-firm-edited, supersedes-reason-missing, supersedes-reason-acknowledged, policy-ownership, policy-markers, kb-consistency, kb-consistency-unresolved, evidence-floor, proof-contract-claims. If omitted, server runs canonical and advisory rules plus the full-KB qualityDiagnostics audit scan, including usage telemetry acceptance when evidence exists; migration rules run only when explicitly selected. Advisory and migration findings are non-blocking qualityDiagnostics. If supplied, server preserves scoped validation and skips the full-KB advisory scan.";
|
|
1863
2158
|
};
|
|
1864
2159
|
readonly sourceFiles: {
|
|
1865
2160
|
readonly type: "array";
|
|
@@ -2472,6 +2767,15 @@ export declare const OPERATION_CATALOG: readonly [{
|
|
|
2472
2767
|
readonly minLength: 1;
|
|
2473
2768
|
};
|
|
2474
2769
|
};
|
|
2770
|
+
readonly certificates: {
|
|
2771
|
+
readonly type: "array";
|
|
2772
|
+
readonly description: "kibi.code-certificate.v1 objects the run left for certificate-kind contracts, one per test. Kibi re-checks each before a receipt counts as proved.";
|
|
2773
|
+
readonly maxItems: 1000;
|
|
2774
|
+
readonly items: {
|
|
2775
|
+
readonly type: "object";
|
|
2776
|
+
readonly required: readonly ["version", "kind", "test_id"];
|
|
2777
|
+
};
|
|
2778
|
+
};
|
|
2475
2779
|
};
|
|
2476
2780
|
readonly additionalProperties: false;
|
|
2477
2781
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../../src/public/operations/catalog.ts"],"names":[],"mappings":"AA6BA,OAAO,KAAK,EACV,aAAa,EACb,aAAa,EACb,qBAAqB,EACtB,MAAM,YAAY,CAAC;AAEpB,eAAO,MAAM,iBAAiB
|
|
1
|
+
{"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../../src/public/operations/catalog.ts"],"names":[],"mappings":"AA6BA,OAAO,KAAK,EACV,aAAa,EACb,aAAa,EACb,qBAAqB,EACtB,MAAM,YAAY,CAAC;AAEpB,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyBe,CAAC;AAyF9C,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,aAAa,GAClB,qBAAqB,CA+BvB;AAQD,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,qBAAqB,GAAG,SAAS,EACvC,IAAI,EAAE,aAAa,GAClB,qBAAqB,CAKvB;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,aAAa,GAAG,qBAAqB,CAElE;AAGD,wBAAgB,SAAS,IAAI,SAAS,qBAAqB,EAAE,CAE5D"}
|
|
@@ -11,6 +11,8 @@ export type CheckInput = {
|
|
|
11
11
|
readonly includeWorkingTreeDiff?: boolean;
|
|
12
12
|
readonly includeImpactDiagnostics?: boolean;
|
|
13
13
|
readonly maxDiagnostics?: number;
|
|
14
|
+
/** evidence-floor judges receipts as they are and needs a clean snapshot. */
|
|
15
|
+
readonly freshEvidence?: boolean;
|
|
14
16
|
};
|
|
15
17
|
export type CheckPayload = CheckStructuredContent;
|
|
16
18
|
export type { CheckDiagnostic, CheckEvaluated, CheckStructuredContent };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check-executor.d.ts","sourceRoot":"","sources":["../../../src/public/operations/check-executor.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAC3B,sBAAsB,EACtB,YAAY,EACb,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAIL,iBAAiB,EAGjB,iBAAiB,EAGlB,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"check-executor.d.ts","sourceRoot":"","sources":["../../../src/public/operations/check-executor.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAC3B,sBAAsB,EACtB,YAAY,EACb,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAIL,iBAAiB,EAGjB,iBAAiB,EAGlB,MAAM,oBAAoB,CAAC;AAc5B,OAAO,KAAK,EAAE,gBAAgB,EAAc,MAAM,oBAAoB,CAAC;AAOvE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAIlD,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IAC1C,QAAQ,CAAC,wBAAwB,CAAC,EAAE,OAAO,CAAC;IAC5C,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,6EAA6E;IAC7E,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,sBAAsB,CAAC;AAClD,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,sBAAsB,EAAE,CAAC;AACxE,OAAO,EACL,sBAAsB,EACtB,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,GAClB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,CAAC,6CAA6C,CAAC,EAAE,OAAO,CAAC;IACjE;;;;;;OAMG;IACH,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAC;CACxC,CAAC;AAoFF;;;;;GAKG;AAEH,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,gBAAgB,EACzB,aAAa,EAAE,MAAM,GACpB,SAAS,GAAG,IAAI,CAgClB;AAGD,wBAAsB,YAAY,CAChC,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,gBAAgB,EACzB,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,CAwQxC"}
|
|
@@ -8,9 +8,11 @@ import { collectCheckPolicyViolations } from "./check-policy-rules.js";
|
|
|
8
8
|
import { collectDecisionFirmnessViolations } from "./decision-firmness.js";
|
|
9
9
|
import { executeStatus } from "./discovery-executors.js";
|
|
10
10
|
import { collectEntityContextViolations } from "./entity-context.js";
|
|
11
|
+
import { collectEvidenceFloorViolations } from "./evidence-floor.js";
|
|
11
12
|
import { buildActionsFromCheck, buildMigrationPlan, mergeMigrationPlans, } from "./migration-plan.js";
|
|
12
13
|
import { collectOriginReviewViolations } from "./origin-review.js";
|
|
13
14
|
import { collectPredicateSchemaConformanceViolations } from "./predicate-schema-conformance.js";
|
|
15
|
+
import { collectProofContractClaimViolations } from "./proof-contract-claims.js";
|
|
14
16
|
import { SOURCE_PATH_DANGLING_RULE, collectSourcePathDanglingViolations, } from "./source-path-dangling.js";
|
|
15
17
|
import { collectSourceRelationshipParityViolations } from "./source-relationship-parity.js";
|
|
16
18
|
import { collectSymbolGranularityViolations } from "./symbol-granularity-check.js";
|
|
@@ -242,6 +244,8 @@ export async function executeCheck(args, context, options = {}) {
|
|
|
242
244
|
const entityContextFindings = collectEntityContextViolations(rulesAllowlist, workspaceRoot);
|
|
243
245
|
const decisionFirmnessFindings = collectDecisionFirmnessViolations(rulesAllowlist, workspaceRoot);
|
|
244
246
|
const checkPolicyFindings = await collectCheckPolicyViolations(prolog, rulesAllowlist, workspaceRoot);
|
|
247
|
+
const evidenceFloorFindings = await collectEvidenceFloorViolations(context, rulesAllowlist, { freshEvidence: args.freshEvidence === true });
|
|
248
|
+
const proofContractClaimFindings = await collectProofContractClaimViolations(context, rulesAllowlist);
|
|
245
249
|
const partitioned = partitionCheckFindings([
|
|
246
250
|
...aggregatedFindings,
|
|
247
251
|
...queryPlanViolations,
|
|
@@ -253,6 +257,8 @@ export async function executeCheck(args, context, options = {}) {
|
|
|
253
257
|
...entityContextFindings,
|
|
254
258
|
...decisionFirmnessFindings,
|
|
255
259
|
...checkPolicyFindings,
|
|
260
|
+
...evidenceFloorFindings,
|
|
261
|
+
...proofContractClaimFindings,
|
|
256
262
|
]);
|
|
257
263
|
const violations = partitioned.violations;
|
|
258
264
|
const evaluated = await describeEvaluation(prolog, rulesAllowlist);
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import type { Violation } from "../../utils/rule-registry.js";
|
|
2
|
+
import type { OperationContext } from "./runtime-types.js";
|
|
3
|
+
import { readWorkspaceSnapshot } from "./workspace-snapshot.js";
|
|
4
|
+
/**
|
|
5
|
+
* The schema version from which a current requirement's evidence level must
|
|
6
|
+
* reach its floor; older KBs get the floor with their schema upgrade, whose
|
|
7
|
+
* migration records the floor of firm requirements without a proof path.
|
|
8
|
+
*/
|
|
9
|
+
export declare const EVIDENCE_FLOOR_SCHEMA_VERSION = 11;
|
|
10
|
+
/** A current requirement's evidence level must reach its floor. */
|
|
11
|
+
export declare const EVIDENCE_FLOOR_RULE = "evidence-floor";
|
|
12
|
+
export type EvidenceFloorRow = Readonly<{
|
|
13
|
+
id: string;
|
|
14
|
+
evidenceLevel: string;
|
|
15
|
+
requiredEvidence: string;
|
|
16
|
+
requiredEvidenceSource: string;
|
|
17
|
+
status: "below" | "pending_reproof";
|
|
18
|
+
proofStatus: string;
|
|
19
|
+
proofGaps: readonly string[];
|
|
20
|
+
/** The tests and symbols behind the gaps; empty lists are left out. */
|
|
21
|
+
gapDetails?: Readonly<Record<string, readonly string[]>>;
|
|
22
|
+
}>;
|
|
23
|
+
export type EvidenceFloorOptions = Readonly<{
|
|
24
|
+
/**
|
|
25
|
+
* Judge receipts as they are: stale receipts no longer count as pending
|
|
26
|
+
* re-proof, and the proof snapshot must be clean. CI uses it right after
|
|
27
|
+
* `kibi prove --all`.
|
|
28
|
+
*/
|
|
29
|
+
freshEvidence?: boolean;
|
|
30
|
+
}>;
|
|
31
|
+
/** The entities behind the gaps, for a person reading kibi check's text. */
|
|
32
|
+
export declare function gapDetailLines(row: EvidenceFloorRow): string[];
|
|
33
|
+
/** One finding per current requirement whose evidence is below its floor. */
|
|
34
|
+
export declare function evidenceFloorViolations(rows: readonly EvidenceFloorRow[], options?: EvidenceFloorOptions): Violation[];
|
|
35
|
+
/**
|
|
36
|
+
* Every current requirement whose evidence is below its floor (status below
|
|
37
|
+
* or pending_reproof), judged on the attached store with the same
|
|
38
|
+
* per-contract receipt binding kb_coverage uses. Unlike the check rule this
|
|
39
|
+
* ignores the schema version, so a migration can read the floor the ladder
|
|
40
|
+
* will apply before it records the new schema.
|
|
41
|
+
*/
|
|
42
|
+
export declare function readEvidenceFloorRows(context: OperationContext, snapshotEvidence?: Awaited<ReturnType<typeof readWorkspaceSnapshot>>): Promise<readonly EvidenceFloorRow[]>;
|
|
43
|
+
/**
|
|
44
|
+
* Evaluate the evidence-floor rule against the attached store, with the same
|
|
45
|
+
* per-contract receipt binding kb_coverage uses.
|
|
46
|
+
*/
|
|
47
|
+
export declare function collectEvidenceFloorViolations(context: OperationContext, rules: ReadonlySet<string>, options?: EvidenceFloorOptions): Promise<Violation[]>;
|
|
48
|
+
//# sourceMappingURL=evidence-floor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evidence-floor.d.ts","sourceRoot":"","sources":["../../../src/public/operations/evidence-floor.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAG9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE;;;;GAIG;AAEH,eAAO,MAAM,6BAA6B,KAAK,CAAC;AAEhD,mEAAmE;AAEnE,eAAO,MAAM,mBAAmB,mBAAmB,CAAC;AAGpD,MAAM,MAAM,gBAAgB,GAAG,QAAQ,CAAC;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,MAAM,EAAE,OAAO,GAAG,iBAAiB,CAAC;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7B,uEAAuE;IACvE,UAAU,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC,CAAC;CAC1D,CAAC,CAAC;AAOH,MAAM,MAAM,oBAAoB,GAAG,QAAQ,CAAC;IAC1C;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC,CAAC;AAqBH,4EAA4E;AAE5E,wBAAgB,cAAc,CAAC,GAAG,EAAE,gBAAgB,GAAG,MAAM,EAAE,CAQ9D;AAeD,6EAA6E;AAE7E,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,SAAS,gBAAgB,EAAE,EACjC,OAAO,GAAE,oBAAyB,GACjC,SAAS,EAAE,CAqBb;AAED;;;;;;GAMG;AAEH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,gBAAgB,EACzB,gBAAgB,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAC,GACnE,OAAO,CAAC,SAAS,gBAAgB,EAAE,CAAC,CAgBtC;AAED;;;GAGG;AAEH,wBAAsB,8BAA8B,CAClD,OAAO,EAAE,gBAAgB,EACzB,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,EAC1B,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,SAAS,EAAE,CAAC,CA4BtB"}
|