kibi-core 0.22.5 → 0.24.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/schema/entities.pl +6 -0
- package/schema/validation.pl +4 -1
- package/src/certificate_check.pl +783 -0
- package/src/certificates.pl +245 -0
- package/src/checks.pl +23 -5
- package/src/claim_obligations.pl +378 -0
- package/src/code_certificates.pl +297 -0
- package/src/discovery.pl +176 -9
- package/src/intervals.pl +11 -0
- package/src/kb.pl +7 -0
- package/src/kb_consistency.pl +213 -0
- package/src/requirement_proof.pl +628 -33
- package/src/rule_registry.pl +20 -0
- package/src/semantic_quality.pl +1 -1
package/package.json
CHANGED
package/schema/entities.pl
CHANGED
|
@@ -56,6 +56,9 @@ entity_property(req, exempts_claims, list).
|
|
|
56
56
|
% Absent reads as default.
|
|
57
57
|
entity_property(req, firmness, atom).
|
|
58
58
|
entity_property(adr, firmness, atom).
|
|
59
|
+
% The weakest evidence level a current requirement accepts: proved, tested,
|
|
60
|
+
% asserted or unverified. Absent: tested when firm, otherwise unverified.
|
|
61
|
+
entity_property(req, required_evidence, atom).
|
|
59
62
|
% Intended outcome of a scenario: success, rejection or error.
|
|
60
63
|
entity_property(scenario, expects, atom).
|
|
61
64
|
|
|
@@ -69,6 +72,8 @@ entity_property(fact, value_string, string).
|
|
|
69
72
|
entity_property(fact, value_int, integer).
|
|
70
73
|
entity_property(fact, value_number, number).
|
|
71
74
|
entity_property(fact, value_bool, boolean).
|
|
75
|
+
% The exact members of a set fact (value_type set).
|
|
76
|
+
entity_property(fact, value_set, list).
|
|
72
77
|
entity_property(fact, unit, string).
|
|
73
78
|
entity_property(fact, scope, string).
|
|
74
79
|
entity_property(fact, polarity, atom).
|
|
@@ -150,6 +155,7 @@ optional_property(req, rationale).
|
|
|
150
155
|
optional_property(req, exempts_claims).
|
|
151
156
|
optional_property(req, firmness).
|
|
152
157
|
optional_property(adr, firmness).
|
|
158
|
+
optional_property(req, required_evidence).
|
|
153
159
|
optional_property(test, verification_scope).
|
|
154
160
|
optional_property(test, verification_perspective).
|
|
155
161
|
optional_property(test, proof_contract).
|
package/schema/validation.pl
CHANGED
|
@@ -108,6 +108,7 @@ is_fact_only_field(value_string).
|
|
|
108
108
|
is_fact_only_field(value_int).
|
|
109
109
|
is_fact_only_field(value_number).
|
|
110
110
|
is_fact_only_field(value_bool).
|
|
111
|
+
is_fact_only_field(value_set).
|
|
111
112
|
is_fact_only_field(unit).
|
|
112
113
|
is_fact_only_field(scope).
|
|
113
114
|
is_fact_only_field(polarity).
|
|
@@ -227,7 +228,7 @@ text_atom(Value, Atom) :- string(Value), atom_string(Atom, Value).
|
|
|
227
228
|
valid_operator(Op) :- memberchk(Op, [eq, neq, lt, lte, gt, gte]), !.
|
|
228
229
|
|
|
229
230
|
% valid_value_type(+VT)
|
|
230
|
-
valid_value_type(ValueType) :- memberchk(ValueType, [string, int, number, bool]), !.
|
|
231
|
+
valid_value_type(ValueType) :- memberchk(ValueType, [string, int, number, bool, set]), !.
|
|
231
232
|
|
|
232
233
|
% valid_polarity_in_props(+Props)
|
|
233
234
|
% Validates polarity if present; succeeds if no polarity in props
|
|
@@ -299,6 +300,7 @@ is_value_field(value_string).
|
|
|
299
300
|
is_value_field(value_int).
|
|
300
301
|
is_value_field(value_number).
|
|
301
302
|
is_value_field(value_bool).
|
|
303
|
+
is_value_field(value_set).
|
|
302
304
|
|
|
303
305
|
% value_type_matches_field(+ValueType, +Props)
|
|
304
306
|
% Ensures that value_type matches the actual value field present
|
|
@@ -306,6 +308,7 @@ value_type_matches_field(string, Props) :- memberchk(value_string=_, Props), !.
|
|
|
306
308
|
value_type_matches_field(int, Props) :- memberchk(value_int=_, Props), !.
|
|
307
309
|
value_type_matches_field(number, Props) :- memberchk(value_number=_, Props), !.
|
|
308
310
|
value_type_matches_field(bool, Props) :- memberchk(value_bool=_, Props), !.
|
|
311
|
+
value_type_matches_field(set, Props) :- memberchk(value_set=_, Props), !.
|
|
309
312
|
|
|
310
313
|
% valid_origin_in_props(+Props)
|
|
311
314
|
% Entity provenance travels as a JSON object string (or a dict). When present
|