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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kibi-core",
3
- "version": "0.22.5",
3
+ "version": "0.24.0",
4
4
  "private": false,
5
5
  "description": "Core Prolog modules and RDF graph logic for Kibi",
6
6
  "type": "module",
@@ -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).
@@ -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