kibi-core 0.23.0 → 0.26.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/package.json +1 -1
- package/schema/entities.pl +6 -0
- package/schema/validation.pl +7 -2
- package/src/certificate_check.pl +62 -1
- package/src/certificates.pl +17 -1
- package/src/checks.pl +4 -1
- package/src/claim_obligations.pl +706 -0
- package/src/code_certificates.pl +532 -0
- package/src/discovery.pl +160 -2
- package/src/intervals.pl +11 -0
- package/src/kb.pl +55 -1
- package/src/model_check.pl +728 -0
- package/src/requirement_proof.pl +561 -42
- package/src/rule_registry.pl +8 -0
- package/src/semantic_quality.pl +1 -1
package/src/rule_registry.pl
CHANGED
|
@@ -69,6 +69,8 @@ known_rule('policy-ownership').
|
|
|
69
69
|
known_rule('policy-markers').
|
|
70
70
|
known_rule('kb-consistency').
|
|
71
71
|
known_rule('kb-consistency-unresolved').
|
|
72
|
+
known_rule('evidence-floor').
|
|
73
|
+
known_rule('proof-contract-claims').
|
|
72
74
|
|
|
73
75
|
rule_enforcement_class('must-priority-coverage', canonical).
|
|
74
76
|
rule_enforcement_class('symbol-coverage', canonical).
|
|
@@ -125,6 +127,8 @@ rule_enforcement_class('policy-ownership', canonical).
|
|
|
125
127
|
rule_enforcement_class('policy-markers', canonical).
|
|
126
128
|
rule_enforcement_class('kb-consistency', canonical).
|
|
127
129
|
rule_enforcement_class('kb-consistency-unresolved', advisory).
|
|
130
|
+
rule_enforcement_class('evidence-floor', canonical).
|
|
131
|
+
rule_enforcement_class('proof-contract-claims', canonical).
|
|
128
132
|
|
|
129
133
|
rule_implementation('must-priority-coverage', prolog).
|
|
130
134
|
rule_implementation('symbol-coverage', prolog).
|
|
@@ -181,6 +185,8 @@ rule_implementation('policy-ownership', typescript).
|
|
|
181
185
|
rule_implementation('policy-markers', typescript).
|
|
182
186
|
rule_implementation('kb-consistency', prolog).
|
|
183
187
|
rule_implementation('kb-consistency-unresolved', prolog).
|
|
188
|
+
rule_implementation('evidence-floor', typescript).
|
|
189
|
+
rule_implementation('proof-contract-claims', typescript).
|
|
184
190
|
|
|
185
191
|
rule_predicate('must-priority-coverage', check_must_priority_coverage).
|
|
186
192
|
rule_predicate('symbol-coverage', check_symbol_coverage).
|
|
@@ -311,3 +317,5 @@ rule_description('policy-ownership', 'When a plugin activated for kibi.check-pol
|
|
|
311
317
|
rule_description('policy-markers', 'When a plugin activated for kibi.check-policy.v1 declares marker rules, every file implementing a requirement grounded in the rule\'s pattern predicate (with its declared sibling files) must contain each marker the KB declares for that pattern').
|
|
312
318
|
rule_description('kb-consistency', 'The facts current requirements name must hold together, jointly and not only pairwise: every property context needs a value that satisfies all its facts, every atom and decision key one truth value, and stored rules a stratification. Each finding is a contradiction certificate (an irreducible core, two disagreeing facts or a negation cycle) re-verified by the independent checker, or a certificate that checker rejects').
|
|
313
319
|
rule_description('kb-consistency-unresolved', 'Advisory: a property context, atom or decision key whose facts the consistency checker cannot compare (mixed value types or units, an unsupported operator or polarity, or a contradiction whose validity windows never overlap); it never counts as consistent').
|
|
320
|
+
rule_description('evidence-floor', 'Every current requirement\'s computed evidence level (proved, tested, asserted, unverified) must reach its floor: required_evidence when set, otherwise tested for a firm requirement and no floor for any other. Receipts that are only older than the code count as pending re-proof and pass, unless kibi check runs with --fresh-evidence, which also needs a clean proof snapshot').
|
|
321
|
+
rule_description('proof-contract-claims', 'From schema 12, every certificate-kind proof contract (exhaustive, typecheck, arithmetic, smt, rule, state_machine, regex) must name the claims it proves in proves, and each named claim must be a modeled claim of a current requirement the test reaches through its scenarios, grounded by a fact that proof kind can express or attest').
|
package/src/semantic_quality.pl
CHANGED
|
@@ -506,7 +506,7 @@ identity_live_fact(FactId) :-
|
|
|
506
506
|
property_value_signature(Props, Signature) :-
|
|
507
507
|
findall(
|
|
508
508
|
Field-Value,
|
|
509
|
-
( member(Field, [value_type, value_string, value_int, value_number, value_bool, unit]),
|
|
509
|
+
( member(Field, [value_type, value_string, value_int, value_number, value_bool, value_set, unit]),
|
|
510
510
|
memberchk(Field=Raw, Props),
|
|
511
511
|
signature_value(Raw, Value),
|
|
512
512
|
Value \== ''
|