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.
@@ -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').
@@ -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 \== ''