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
|
@@ -523,6 +523,16 @@
|
|
|
523
523
|
],
|
|
524
524
|
"description": "Requirement and ADR only. How firmly the decision was made. firm: a human stated it as a rule; it needs a ref (origin.ref, or approval_ref on a requirement) to their words, and only a human may change it. default: a delegated or agent choice; a later agent may supersede it with evidence. exploratory: a flagged guess, expected to be revisited. When absent, it reads as default if an agent wrote the entity (origin.kind agent) and as firm otherwise (a person's, imported or migrated decision); set it explicitly when recording a decision."
|
|
525
525
|
},
|
|
526
|
+
"required_evidence": {
|
|
527
|
+
"type": "string",
|
|
528
|
+
"enum": [
|
|
529
|
+
"proved",
|
|
530
|
+
"tested",
|
|
531
|
+
"asserted",
|
|
532
|
+
"unverified"
|
|
533
|
+
],
|
|
534
|
+
"description": "Requirement-only. The weakest evidence level this current requirement accepts; the evidence-floor check rule fails while its computed evidence level is lower. proved: a re-checkable certificate covers every case. tested: fresh passing E2E receipts cover every linked scenario. asserted: a person stands behind it. unverified: no floor. When absent, it is tested for a firm requirement and unverified otherwise."
|
|
535
|
+
},
|
|
526
536
|
"expects": {
|
|
527
537
|
"type": "string",
|
|
528
538
|
"enum": [
|
|
@@ -762,8 +772,286 @@
|
|
|
762
772
|
"success_policy": {
|
|
763
773
|
"type": "string",
|
|
764
774
|
"enum": [
|
|
765
|
-
"all_required_first_attempt"
|
|
775
|
+
"all_required_first_attempt",
|
|
776
|
+
"own_results_first_attempt"
|
|
766
777
|
]
|
|
778
|
+
},
|
|
779
|
+
"kind": {
|
|
780
|
+
"type": "string",
|
|
781
|
+
"enum": [
|
|
782
|
+
"e2e",
|
|
783
|
+
"example",
|
|
784
|
+
"property",
|
|
785
|
+
"exhaustive",
|
|
786
|
+
"typecheck",
|
|
787
|
+
"arithmetic",
|
|
788
|
+
"smt",
|
|
789
|
+
"rule",
|
|
790
|
+
"state_machine",
|
|
791
|
+
"regex",
|
|
792
|
+
"source"
|
|
793
|
+
],
|
|
794
|
+
"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."
|
|
795
|
+
},
|
|
796
|
+
"source": {
|
|
797
|
+
"type": "object",
|
|
798
|
+
"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.",
|
|
799
|
+
"required": [
|
|
800
|
+
"reader"
|
|
801
|
+
],
|
|
802
|
+
"properties": {
|
|
803
|
+
"reader": {
|
|
804
|
+
"type": "string",
|
|
805
|
+
"enum": [
|
|
806
|
+
"json",
|
|
807
|
+
"yaml",
|
|
808
|
+
"glob",
|
|
809
|
+
"openapi",
|
|
810
|
+
"references",
|
|
811
|
+
"schema",
|
|
812
|
+
"routes",
|
|
813
|
+
"validator"
|
|
814
|
+
]
|
|
815
|
+
}
|
|
816
|
+
},
|
|
817
|
+
"additionalProperties": true
|
|
818
|
+
},
|
|
819
|
+
"domain_source": {
|
|
820
|
+
"type": "object",
|
|
821
|
+
"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.",
|
|
822
|
+
"required": [
|
|
823
|
+
"symbol_id"
|
|
824
|
+
],
|
|
825
|
+
"properties": {
|
|
826
|
+
"symbol_id": {
|
|
827
|
+
"type": "string",
|
|
828
|
+
"minLength": 1
|
|
829
|
+
},
|
|
830
|
+
"export": {
|
|
831
|
+
"type": "string",
|
|
832
|
+
"minLength": 1,
|
|
833
|
+
"description": "The name the domain is exported under in the symbol's source file, when the symbol's title is not that name."
|
|
834
|
+
}
|
|
835
|
+
},
|
|
836
|
+
"additionalProperties": false
|
|
837
|
+
},
|
|
838
|
+
"witness": {
|
|
839
|
+
"type": "object",
|
|
840
|
+
"description": "typecheck: the repository-relative witness file Kibi compiles (an exhaustive switch ending in never, or a mapped type over the domain).",
|
|
841
|
+
"required": [
|
|
842
|
+
"path"
|
|
843
|
+
],
|
|
844
|
+
"properties": {
|
|
845
|
+
"path": {
|
|
846
|
+
"type": "string",
|
|
847
|
+
"minLength": 1
|
|
848
|
+
}
|
|
849
|
+
},
|
|
850
|
+
"additionalProperties": false
|
|
851
|
+
},
|
|
852
|
+
"proves": {
|
|
853
|
+
"type": "array",
|
|
854
|
+
"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.",
|
|
855
|
+
"minItems": 1,
|
|
856
|
+
"items": {
|
|
857
|
+
"type": "string",
|
|
858
|
+
"pattern": "^CLAIM-"
|
|
859
|
+
},
|
|
860
|
+
"uniqueItems": true
|
|
861
|
+
},
|
|
862
|
+
"value_source": {
|
|
863
|
+
"type": "array",
|
|
864
|
+
"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).",
|
|
865
|
+
"minItems": 1,
|
|
866
|
+
"items": {
|
|
867
|
+
"type": "object",
|
|
868
|
+
"properties": {
|
|
869
|
+
"symbol_id": {
|
|
870
|
+
"type": "string",
|
|
871
|
+
"minLength": 1
|
|
872
|
+
},
|
|
873
|
+
"export": {
|
|
874
|
+
"type": "string",
|
|
875
|
+
"minLength": 1
|
|
876
|
+
},
|
|
877
|
+
"source": {
|
|
878
|
+
"type": "object",
|
|
879
|
+
"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.",
|
|
880
|
+
"required": [
|
|
881
|
+
"reader"
|
|
882
|
+
],
|
|
883
|
+
"properties": {
|
|
884
|
+
"reader": {
|
|
885
|
+
"type": "string",
|
|
886
|
+
"enum": [
|
|
887
|
+
"json",
|
|
888
|
+
"yaml",
|
|
889
|
+
"glob",
|
|
890
|
+
"openapi",
|
|
891
|
+
"references",
|
|
892
|
+
"schema",
|
|
893
|
+
"routes",
|
|
894
|
+
"validator"
|
|
895
|
+
]
|
|
896
|
+
}
|
|
897
|
+
},
|
|
898
|
+
"additionalProperties": true
|
|
899
|
+
},
|
|
900
|
+
"measure": {
|
|
901
|
+
"type": "string",
|
|
902
|
+
"enum": [
|
|
903
|
+
"value",
|
|
904
|
+
"count"
|
|
905
|
+
],
|
|
906
|
+
"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."
|
|
907
|
+
}
|
|
908
|
+
},
|
|
909
|
+
"additionalProperties": false
|
|
910
|
+
}
|
|
911
|
+
},
|
|
912
|
+
"predicate_source": {
|
|
913
|
+
"type": "object",
|
|
914
|
+
"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.",
|
|
915
|
+
"minProperties": 1,
|
|
916
|
+
"additionalProperties": {
|
|
917
|
+
"type": "object",
|
|
918
|
+
"required": [
|
|
919
|
+
"symbol_id"
|
|
920
|
+
],
|
|
921
|
+
"properties": {
|
|
922
|
+
"symbol_id": {
|
|
923
|
+
"type": "string",
|
|
924
|
+
"minLength": 1
|
|
925
|
+
},
|
|
926
|
+
"export": {
|
|
927
|
+
"type": "string",
|
|
928
|
+
"minLength": 1,
|
|
929
|
+
"description": "The exported function's name in the symbol's source file. Without it Kibi reads the export named by the symbol's title."
|
|
930
|
+
},
|
|
931
|
+
"harness_for": {
|
|
932
|
+
"type": "array",
|
|
933
|
+
"minItems": 1,
|
|
934
|
+
"items": {
|
|
935
|
+
"type": "string",
|
|
936
|
+
"minLength": 1
|
|
937
|
+
},
|
|
938
|
+
"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."
|
|
939
|
+
}
|
|
940
|
+
},
|
|
941
|
+
"additionalProperties": false
|
|
942
|
+
}
|
|
943
|
+
},
|
|
944
|
+
"domains": {
|
|
945
|
+
"type": "object",
|
|
946
|
+
"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.",
|
|
947
|
+
"minProperties": 1,
|
|
948
|
+
"additionalProperties": {
|
|
949
|
+
"anyOf": [
|
|
950
|
+
{
|
|
951
|
+
"type": "object",
|
|
952
|
+
"required": [
|
|
953
|
+
"symbol_id"
|
|
954
|
+
],
|
|
955
|
+
"properties": {
|
|
956
|
+
"symbol_id": {
|
|
957
|
+
"type": "string",
|
|
958
|
+
"minLength": 1
|
|
959
|
+
},
|
|
960
|
+
"export": {
|
|
961
|
+
"type": "string",
|
|
962
|
+
"minLength": 1
|
|
963
|
+
}
|
|
964
|
+
},
|
|
965
|
+
"additionalProperties": false
|
|
966
|
+
},
|
|
967
|
+
{
|
|
968
|
+
"type": "object",
|
|
969
|
+
"required": [
|
|
970
|
+
"source"
|
|
971
|
+
],
|
|
972
|
+
"properties": {
|
|
973
|
+
"source": {
|
|
974
|
+
"type": "object",
|
|
975
|
+
"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.",
|
|
976
|
+
"required": [
|
|
977
|
+
"reader"
|
|
978
|
+
],
|
|
979
|
+
"properties": {
|
|
980
|
+
"reader": {
|
|
981
|
+
"type": "string",
|
|
982
|
+
"enum": [
|
|
983
|
+
"json",
|
|
984
|
+
"yaml",
|
|
985
|
+
"glob",
|
|
986
|
+
"openapi",
|
|
987
|
+
"references",
|
|
988
|
+
"schema",
|
|
989
|
+
"routes",
|
|
990
|
+
"validator"
|
|
991
|
+
]
|
|
992
|
+
}
|
|
993
|
+
},
|
|
994
|
+
"additionalProperties": true
|
|
995
|
+
}
|
|
996
|
+
},
|
|
997
|
+
"additionalProperties": false
|
|
998
|
+
}
|
|
999
|
+
]
|
|
1000
|
+
}
|
|
1001
|
+
},
|
|
1002
|
+
"initial_source": {
|
|
1003
|
+
"type": "object",
|
|
1004
|
+
"required": [
|
|
1005
|
+
"symbol_id"
|
|
1006
|
+
],
|
|
1007
|
+
"properties": {
|
|
1008
|
+
"symbol_id": {
|
|
1009
|
+
"type": "string",
|
|
1010
|
+
"minLength": 1
|
|
1011
|
+
},
|
|
1012
|
+
"export": {
|
|
1013
|
+
"type": "string",
|
|
1014
|
+
"minLength": 1
|
|
1015
|
+
}
|
|
1016
|
+
},
|
|
1017
|
+
"additionalProperties": false,
|
|
1018
|
+
"description": "state_machine: the export holding the initial state (or states), needed for initial_states and reachable_states facts."
|
|
1019
|
+
},
|
|
1020
|
+
"pattern_source": {
|
|
1021
|
+
"type": "object",
|
|
1022
|
+
"required": [
|
|
1023
|
+
"symbol_id"
|
|
1024
|
+
],
|
|
1025
|
+
"properties": {
|
|
1026
|
+
"symbol_id": {
|
|
1027
|
+
"type": "string",
|
|
1028
|
+
"minLength": 1
|
|
1029
|
+
},
|
|
1030
|
+
"export": {
|
|
1031
|
+
"type": "string",
|
|
1032
|
+
"minLength": 1
|
|
1033
|
+
}
|
|
1034
|
+
},
|
|
1035
|
+
"additionalProperties": false,
|
|
1036
|
+
"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."
|
|
1037
|
+
},
|
|
1038
|
+
"constraint_source": {
|
|
1039
|
+
"type": "object",
|
|
1040
|
+
"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.",
|
|
1041
|
+
"required": [
|
|
1042
|
+
"fact_ids"
|
|
1043
|
+
],
|
|
1044
|
+
"properties": {
|
|
1045
|
+
"fact_ids": {
|
|
1046
|
+
"type": "array",
|
|
1047
|
+
"minItems": 1,
|
|
1048
|
+
"items": {
|
|
1049
|
+
"type": "string",
|
|
1050
|
+
"minLength": 1
|
|
1051
|
+
}
|
|
1052
|
+
}
|
|
1053
|
+
},
|
|
1054
|
+
"additionalProperties": false
|
|
767
1055
|
}
|
|
768
1056
|
},
|
|
769
1057
|
"additionalProperties": false
|
|
@@ -813,7 +1101,7 @@
|
|
|
813
1101
|
"type": "array",
|
|
814
1102
|
"items": {
|
|
815
1103
|
"type": "object",
|
|
816
|
-
"description": "Kibi-derived kibi.proof-receipt.v1. Receipts are never caller-authored; kb_ingest_proof derives them from kibi.proof-run.v1 artifacts.",
|
|
1104
|
+
"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.",
|
|
817
1105
|
"required": [
|
|
818
1106
|
"version",
|
|
819
1107
|
"receipt_id",
|
|
@@ -837,7 +1125,10 @@
|
|
|
837
1125
|
"properties": {
|
|
838
1126
|
"version": {
|
|
839
1127
|
"type": "string",
|
|
840
|
-
"
|
|
1128
|
+
"enum": [
|
|
1129
|
+
"kibi.proof-receipt.v1",
|
|
1130
|
+
"kibi.proof-receipt.v2"
|
|
1131
|
+
]
|
|
841
1132
|
},
|
|
842
1133
|
"receipt_id": {
|
|
843
1134
|
"type": "string",
|
|
@@ -1080,6 +1371,90 @@
|
|
|
1080
1371
|
"additionalProperties": false
|
|
1081
1372
|
}
|
|
1082
1373
|
},
|
|
1374
|
+
"kind": {
|
|
1375
|
+
"type": "string",
|
|
1376
|
+
"enum": [
|
|
1377
|
+
"e2e",
|
|
1378
|
+
"example",
|
|
1379
|
+
"property",
|
|
1380
|
+
"exhaustive",
|
|
1381
|
+
"typecheck",
|
|
1382
|
+
"arithmetic",
|
|
1383
|
+
"smt",
|
|
1384
|
+
"rule",
|
|
1385
|
+
"state_machine",
|
|
1386
|
+
"regex",
|
|
1387
|
+
"source"
|
|
1388
|
+
]
|
|
1389
|
+
},
|
|
1390
|
+
"evidence_level": {
|
|
1391
|
+
"type": "string",
|
|
1392
|
+
"enum": [
|
|
1393
|
+
"proved",
|
|
1394
|
+
"tested"
|
|
1395
|
+
]
|
|
1396
|
+
},
|
|
1397
|
+
"certificate": {
|
|
1398
|
+
"type": "object"
|
|
1399
|
+
},
|
|
1400
|
+
"certificate_digest": {
|
|
1401
|
+
"type": "string",
|
|
1402
|
+
"pattern": "^[a-f0-9]{64}$"
|
|
1403
|
+
},
|
|
1404
|
+
"certificate_rejection": {
|
|
1405
|
+
"type": "string",
|
|
1406
|
+
"minLength": 1
|
|
1407
|
+
},
|
|
1408
|
+
"claim_bindings": {
|
|
1409
|
+
"type": "array",
|
|
1410
|
+
"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.",
|
|
1411
|
+
"items": {
|
|
1412
|
+
"type": "object",
|
|
1413
|
+
"required": [
|
|
1414
|
+
"claim_key",
|
|
1415
|
+
"binding"
|
|
1416
|
+
],
|
|
1417
|
+
"properties": {
|
|
1418
|
+
"claim_key": {
|
|
1419
|
+
"type": "string",
|
|
1420
|
+
"minLength": 1
|
|
1421
|
+
},
|
|
1422
|
+
"requirement_id": {
|
|
1423
|
+
"type": "string",
|
|
1424
|
+
"minLength": 1
|
|
1425
|
+
},
|
|
1426
|
+
"fact_id": {
|
|
1427
|
+
"type": "string",
|
|
1428
|
+
"minLength": 1
|
|
1429
|
+
},
|
|
1430
|
+
"binding": {
|
|
1431
|
+
"type": "string",
|
|
1432
|
+
"enum": [
|
|
1433
|
+
"derived",
|
|
1434
|
+
"attested",
|
|
1435
|
+
"rejected"
|
|
1436
|
+
]
|
|
1437
|
+
},
|
|
1438
|
+
"scope": {
|
|
1439
|
+
"type": "string",
|
|
1440
|
+
"enum": [
|
|
1441
|
+
"code",
|
|
1442
|
+
"source",
|
|
1443
|
+
"harness",
|
|
1444
|
+
"intent"
|
|
1445
|
+
]
|
|
1446
|
+
},
|
|
1447
|
+
"obligation": {
|
|
1448
|
+
"type": "object"
|
|
1449
|
+
},
|
|
1450
|
+
"reason": {
|
|
1451
|
+
"type": "string",
|
|
1452
|
+
"minLength": 1
|
|
1453
|
+
}
|
|
1454
|
+
},
|
|
1455
|
+
"additionalProperties": false
|
|
1456
|
+
}
|
|
1457
|
+
},
|
|
1083
1458
|
"gaps": {
|
|
1084
1459
|
"type": "array",
|
|
1085
1460
|
"items": {
|
|
@@ -1150,7 +1525,11 @@
|
|
|
1150
1525
|
"lt",
|
|
1151
1526
|
"lte",
|
|
1152
1527
|
"gt",
|
|
1153
|
-
"gte"
|
|
1528
|
+
"gte",
|
|
1529
|
+
"matches",
|
|
1530
|
+
"includes",
|
|
1531
|
+
"subset_of",
|
|
1532
|
+
"excludes"
|
|
1154
1533
|
]
|
|
1155
1534
|
},
|
|
1156
1535
|
"value_type": {
|
|
@@ -1159,12 +1538,22 @@
|
|
|
1159
1538
|
"string",
|
|
1160
1539
|
"int",
|
|
1161
1540
|
"number",
|
|
1162
|
-
"bool"
|
|
1541
|
+
"bool",
|
|
1542
|
+
"set"
|
|
1163
1543
|
]
|
|
1164
1544
|
},
|
|
1165
1545
|
"value_string": {
|
|
1166
1546
|
"type": "string"
|
|
1167
1547
|
},
|
|
1548
|
+
"value_set": {
|
|
1549
|
+
"type": "array",
|
|
1550
|
+
"items": {
|
|
1551
|
+
"type": "string",
|
|
1552
|
+
"minLength": 1
|
|
1553
|
+
},
|
|
1554
|
+
"minItems": 1,
|
|
1555
|
+
"uniqueItems": true
|
|
1556
|
+
},
|
|
1168
1557
|
"value_int": {
|
|
1169
1558
|
"type": "integer"
|
|
1170
1559
|
},
|
|
@@ -1395,6 +1784,11 @@
|
|
|
1395
1784
|
"value_bool"
|
|
1396
1785
|
]
|
|
1397
1786
|
},
|
|
1787
|
+
{
|
|
1788
|
+
"required": [
|
|
1789
|
+
"value_set"
|
|
1790
|
+
]
|
|
1791
|
+
},
|
|
1398
1792
|
{
|
|
1399
1793
|
"required": [
|
|
1400
1794
|
"unit"
|
|
@@ -1661,6 +2055,11 @@
|
|
|
1661
2055
|
"required": [
|
|
1662
2056
|
"exempts_claims"
|
|
1663
2057
|
]
|
|
2058
|
+
},
|
|
2059
|
+
{
|
|
2060
|
+
"required": [
|
|
2061
|
+
"required_evidence"
|
|
2062
|
+
]
|
|
1664
2063
|
}
|
|
1665
2064
|
]
|
|
1666
2065
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-answer.d.ts","sourceRoot":"","sources":["../src/search-answer.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"search-answer.d.ts","sourceRoot":"","sources":["../src/search-answer.ts"],"names":[],"mappings":"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"}
|
package/dist/search-answer.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"html.d.ts","sourceRoot":"","sources":["../../src/signoff/html.ts"],"names":[],"mappings":"AAMA,OAAO,EAOL,KAAK,WAAW,EAQjB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"html.d.ts","sourceRoot":"","sources":["../../src/signoff/html.ts"],"names":[],"mappings":"AAMA,OAAO,EAOL,KAAK,WAAW,EAQjB,MAAM,YAAY,CAAC;AAqPpB,2EAA2E;AAC3E,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,CAoC3D"}
|
package/dist/signoff/html.js
CHANGED
|
@@ -103,6 +103,9 @@ function requirementCard(requirement, number) {
|
|
|
103
103
|
for (const conflict of requirement.proof?.contradictions ?? []) {
|
|
104
104
|
details.push(row("Contradiction", `<span class="conflict">${escapeHtml(conflict)}</span>`));
|
|
105
105
|
}
|
|
106
|
+
for (const rejection of requirement.proof?.certificateRejections ?? []) {
|
|
107
|
+
details.push(row("Certificate", `<span class="conflict">${escapeHtml(rejection)}</span>`));
|
|
108
|
+
}
|
|
106
109
|
}
|
|
107
110
|
return `<article class="card" id="${escapeHtml(requirement.id)}">
|
|
108
111
|
<div class="card__head"><span class="num">${number}.</span><span class="id">${escapeHtml(requirement.id)}</span>${firmnessBadge(requirement.firmness)}<span class="title">${escapeHtml(requirement.title)}</span>${awaitsApproval(requirement) ? '<span class="badge badge--approval">awaits your approval</span>' : ""}</div>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../src/signoff/markdown.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,gBAAgB,EAErB,KAAK,cAAc,EACnB,KAAK,WAAW,EAQjB,MAAM,YAAY,CAAC;AAEpB,mEAAmE;AACnE,eAAO,MAAM,sBAAsB,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../src/signoff/markdown.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,gBAAgB,EAErB,KAAK,cAAc,EACnB,KAAK,WAAW,EAQjB,MAAM,YAAY,CAAC;AAEpB,mEAAmE;AACnE,eAAO,MAAM,sBAAsB,KAAK,CAAC;AAgIzC,8DAA8D;AAC9D,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,cAAc,EACvB,KAAK,SAAyB,GAC7B,MAAM,CAmCR;AAGD,sEAAsE;AACtE,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,gBAAgB,GAAG,MAAM,CA8C1E;AAGD;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,CAInE;AAGD;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,CAM/D"}
|
package/dist/signoff/markdown.js
CHANGED
|
@@ -89,6 +89,9 @@ function requirementBlock(requirement, number) {
|
|
|
89
89
|
for (const conflict of requirement.proof?.contradictions ?? []) {
|
|
90
90
|
lines.push(`- Contradiction: ${conflict}`);
|
|
91
91
|
}
|
|
92
|
+
for (const rejection of requirement.proof?.certificateRejections ?? []) {
|
|
93
|
+
lines.push(`- Certificate: ${rejection}`);
|
|
94
|
+
}
|
|
92
95
|
}
|
|
93
96
|
return lines;
|
|
94
97
|
}
|
package/dist/signoff/model.d.ts
CHANGED
|
@@ -40,7 +40,21 @@ export type SignoffProof = Readonly<{
|
|
|
40
40
|
* behind it, nothing current checks it) or unverified.
|
|
41
41
|
*/
|
|
42
42
|
evidenceLevel?: string;
|
|
43
|
+
/**
|
|
44
|
+
* The weakest level the requirement accepts (required_evidence, or tested
|
|
45
|
+
* for a firm requirement), where it comes from, and whether it is met.
|
|
46
|
+
*/
|
|
47
|
+
evidenceFloor?: SignoffEvidenceFloor;
|
|
43
48
|
contradictions: readonly string[];
|
|
49
|
+
/** Certificates or claim bindings that no longer re-check, one line each. */
|
|
50
|
+
certificateRejections?: readonly string[];
|
|
51
|
+
}>;
|
|
52
|
+
export type SignoffEvidenceFloor = Readonly<{
|
|
53
|
+
required: string;
|
|
54
|
+
/** explicit (required_evidence) or firmness (the firm default). */
|
|
55
|
+
source: string;
|
|
56
|
+
/** met, below or pending_reproof. */
|
|
57
|
+
status: string;
|
|
44
58
|
}>;
|
|
45
59
|
export type SignoffRequirement = Readonly<{
|
|
46
60
|
id: string;
|
|
@@ -111,6 +125,12 @@ export declare const SIGNOFF_CHANGE_LABELS: Readonly<Record<SignoffChange, strin
|
|
|
111
125
|
export declare const SIGNOFF_GATE_LABELS: Readonly<Record<string, string>>;
|
|
112
126
|
/** A short proof label for one requirement. */
|
|
113
127
|
export declare function proofLabel(proof: SignoffProof | undefined): string;
|
|
128
|
+
/**
|
|
129
|
+
* The evidence floor as a reviewer reads it. A floor set by
|
|
130
|
+
* required_evidence says so, since lowering it is a decision the person
|
|
131
|
+
* approving the requirement is also accepting.
|
|
132
|
+
*/
|
|
133
|
+
export declare function floorLabel(floor: SignoffEvidenceFloor | undefined): string | undefined;
|
|
114
134
|
/** Whether a question still waits for the person. */
|
|
115
135
|
export declare function questionOpen(question: SignoffQuestionInput): boolean;
|
|
116
136
|
/** The kind of decision a question asks for. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/signoff/model.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,eAAO,MAAM,eAAe,oBAAoB,CAAC;AAEjD,oDAAoD;AACpD,eAAO,MAAM,cAAc;;;CAGjB,CAAC;AAEX,2EAA2E;AAC3E,eAAO,MAAM,iBAAiB,uBAAuB,CAAC;AACtD,eAAO,MAAM,mBAAmB,mCAAqC,CAAC;AACtE,6EAA6E;AAC7E,eAAO,MAAM,uBAAuB,iCAAmC,CAAC;AACxE,2EAA2E;AAC3E,eAAO,MAAM,mBAAmB,mCAAqC,CAAC;AAEtE,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,SAAS,GAAG,aAAa,CAAC;AAEjE,4CAA4C;AAC5C,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC;AAEvE,MAAM,MAAM,mBAAmB,GAAG,QAAQ,CAAC;IACzC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,eAAe,CAAC;CAC5B,CAAC,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,QAAQ,CAAC;IAClC,4EAA4E;IAC5E,MAAM,EAAE,MAAM,CAAC;IACf,kDAAkD;IAClD,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/signoff/model.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,eAAO,MAAM,eAAe,oBAAoB,CAAC;AAEjD,oDAAoD;AACpD,eAAO,MAAM,cAAc;;;CAGjB,CAAC;AAEX,2EAA2E;AAC3E,eAAO,MAAM,iBAAiB,uBAAuB,CAAC;AACtD,eAAO,MAAM,mBAAmB,mCAAqC,CAAC;AACtE,6EAA6E;AAC7E,eAAO,MAAM,uBAAuB,iCAAmC,CAAC;AACxE,2EAA2E;AAC3E,eAAO,MAAM,mBAAmB,mCAAqC,CAAC;AAEtE,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,SAAS,GAAG,aAAa,CAAC;AAEjE,4CAA4C;AAC5C,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC;AAEvE,MAAM,MAAM,mBAAmB,GAAG,QAAQ,CAAC;IACzC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,eAAe,CAAC;CAC5B,CAAC,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,QAAQ,CAAC;IAClC,4EAA4E;IAC5E,MAAM,EAAE,MAAM,CAAC;IACf,kDAAkD;IAClD,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,aAAa,CAAC,EAAE,oBAAoB,CAAC;IACrC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,6EAA6E;IAC7E,qBAAqB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC3C,CAAC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,QAAQ,CAAC;IAC1C,QAAQ,EAAE,MAAM,CAAC;IACjB,mEAAmE;IACnE,MAAM,EAAE,MAAM,CAAC;IACf,qCAAqC;IACrC,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,QAAQ,CAAC;IACxC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,aAAa,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,oEAAoE;IACpE,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,SAAS,mBAAmB,EAAE,CAAC;IAC3C,SAAS,EAAE,SAAS,QAAQ,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE,CAAC;IAC9D,sEAAsE;IACtE,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,QAAQ,CAAC;IACpC,OAAO,EAAE,OAAO,eAAe,CAAC;IAChC,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,SAAS,kBAAkB,EAAE,CAAC;IAC5C,gEAAgE;IAChE,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;CAC1B,CAAC,CAAC;AAEH,yDAAyD;AACzD,MAAM,MAAM,oBAAoB,GAAG,QAAQ,CAAC;IAC1C,2CAA2C;IAC3C,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wCAAwC;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,sDAAsD;IACtD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,yCAAyC;IACzC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,qDAAqD;IACrD,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,gEAAgE;IAChE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uCAAuC;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,oBAAoB,GAChD,QAAQ,CAAC;IACP,MAAM,EAAE,MAAM,CAAC;IACf,2DAA2D;IAC3D,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAC9B,SAAS,EAAE,SAAS,mBAAmB,EAAE,CAAC;CAC3C,CAAC,CAAC;AAEL,MAAM,MAAM,gBAAgB,GAAG,QAAQ,CAAC;IACtC,OAAO,EAAE,OAAO,eAAe,CAAC;IAChC,IAAI,EAAE,WAAW,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,SAAS,eAAe,EAAE,CAAC;IACtC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;CAC1B,CAAC,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,cAAc,GAAG,gBAAgB,CAAC;AAE5D,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,CAKzE,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAOhE,CAAC;AAEF,+CAA+C;AAE/C,wBAAgB,UAAU,CAAC,KAAK,EAAE,YAAY,GAAG,SAAS,GAAG,MAAM,CAalE;AAED;;;;GAIG;AAEH,wBAAgB,UAAU,CACxB,KAAK,EAAE,oBAAoB,GAAG,SAAS,GACtC,MAAM,GAAG,SAAS,CAUpB;AAED,qDAAqD;AACrD,wBAAgB,YAAY,CAAC,QAAQ,EAAE,oBAAoB,GAAG,OAAO,CAEpE;AAED,gDAAgD;AAChD,wBAAgB,YAAY,CAAC,QAAQ,EAAE,eAAe,GAAG,MAAM,CAI9D;AAGD,4EAA4E;AAC5E,MAAM,MAAM,iBAAiB,GAAG,QAAQ,CAAC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;CACtC,CAAC,CAAC;AAWH;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAChB,SAAS,iBAAiB,EAAE,GAAG,SAAS,CAqC1C;AAGD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,kBAAkB,GAAG,OAAO,CAMvE;AAGD,yEAAyE;AACzE,wBAAgB,eAAe,CAC7B,OAAO,EAAE,SAAS,kBAAkB,EAAE,GACrC,MAAM,EAAE,CAIV;AAGD,qEAAqE;AACrE,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CASnE"}
|
package/dist/signoff/model.js
CHANGED
|
@@ -44,9 +44,28 @@ export function proofLabel(proof) {
|
|
|
44
44
|
const gate = SIGNOFF_GATE_LABELS[proof.gate] ?? proof.gate;
|
|
45
45
|
const tests = `${proof.testCount} ${proof.testCount === 1 ? "test" : "tests"}`;
|
|
46
46
|
const label = proof.gate === "tested" ? `tested, ${tests}` : `${gate}, ${tests}`;
|
|
47
|
-
|
|
47
|
+
const evidence = proof.evidenceLevel === undefined || proof.evidenceLevel === "tested"
|
|
48
48
|
? label
|
|
49
49
|
: `${label}; evidence ${proof.evidenceLevel}`;
|
|
50
|
+
const floor = floorLabel(proof.evidenceFloor);
|
|
51
|
+
return floor === undefined ? evidence : `${evidence}; ${floor}`;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* The evidence floor as a reviewer reads it. A floor set by
|
|
55
|
+
* required_evidence says so, since lowering it is a decision the person
|
|
56
|
+
* approving the requirement is also accepting.
|
|
57
|
+
*/
|
|
58
|
+
// implements REQ-kibi-evidence-floors
|
|
59
|
+
export function floorLabel(floor) {
|
|
60
|
+
if (floor === undefined || floor.required === "unverified")
|
|
61
|
+
return undefined;
|
|
62
|
+
const status = floor.status === "pending_reproof"
|
|
63
|
+
? "pending re-proof"
|
|
64
|
+
: floor.status === "met"
|
|
65
|
+
? "met"
|
|
66
|
+
: "below";
|
|
67
|
+
const origin = floor.source === "explicit" ? " set by required_evidence" : "";
|
|
68
|
+
return `floor ${floor.required}${origin} (${status})`;
|
|
50
69
|
}
|
|
51
70
|
/** Whether a question still waits for the person. */
|
|
52
71
|
export function questionOpen(question) {
|