open-research-protocol 0.4.4 → 0.4.6

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.
@@ -0,0 +1,286 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://openresearchprotocol.com/spec/v1/kernel.schema.json",
4
+ "title": "ORP Reasoning Kernel Artifact",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": [
8
+ "schema_version",
9
+ "artifact_class"
10
+ ],
11
+ "properties": {
12
+ "schema_version": {
13
+ "type": "string",
14
+ "const": "1.0.0"
15
+ },
16
+ "artifact_class": {
17
+ "type": "string",
18
+ "enum": [
19
+ "task",
20
+ "decision",
21
+ "hypothesis",
22
+ "experiment",
23
+ "checkpoint",
24
+ "policy",
25
+ "result"
26
+ ]
27
+ },
28
+ "object": {
29
+ "$ref": "#/$defs/text_or_text_list"
30
+ },
31
+ "goal": {
32
+ "$ref": "#/$defs/text_or_text_list"
33
+ },
34
+ "boundary": {
35
+ "$ref": "#/$defs/text_or_text_list"
36
+ },
37
+ "constraints": {
38
+ "$ref": "#/$defs/text_or_text_list"
39
+ },
40
+ "invariants": {
41
+ "$ref": "#/$defs/text_or_text_list"
42
+ },
43
+ "failure_modes": {
44
+ "$ref": "#/$defs/text_or_text_list"
45
+ },
46
+ "evidence_expectations": {
47
+ "$ref": "#/$defs/text_or_text_list"
48
+ },
49
+ "success_criteria": {
50
+ "$ref": "#/$defs/text_or_text_list"
51
+ },
52
+ "next_action": {
53
+ "$ref": "#/$defs/text_or_text_list"
54
+ },
55
+ "canonical_target": {
56
+ "$ref": "#/$defs/text_or_text_list"
57
+ },
58
+ "artifact_refs": {
59
+ "$ref": "#/$defs/text_list"
60
+ },
61
+ "question": {
62
+ "$ref": "#/$defs/text_or_text_list"
63
+ },
64
+ "chosen_path": {
65
+ "$ref": "#/$defs/text_or_text_list"
66
+ },
67
+ "rejected_alternatives": {
68
+ "$ref": "#/$defs/text_or_text_list"
69
+ },
70
+ "rationale": {
71
+ "$ref": "#/$defs/text_or_text_list"
72
+ },
73
+ "consequences": {
74
+ "$ref": "#/$defs/text_or_text_list"
75
+ },
76
+ "claim": {
77
+ "$ref": "#/$defs/text_or_text_list"
78
+ },
79
+ "assumptions": {
80
+ "$ref": "#/$defs/text_or_text_list"
81
+ },
82
+ "test_path": {
83
+ "$ref": "#/$defs/text_or_text_list"
84
+ },
85
+ "falsifiers": {
86
+ "$ref": "#/$defs/text_or_text_list"
87
+ },
88
+ "objective": {
89
+ "$ref": "#/$defs/text_or_text_list"
90
+ },
91
+ "method": {
92
+ "$ref": "#/$defs/text_or_text_list"
93
+ },
94
+ "inputs": {
95
+ "$ref": "#/$defs/text_or_text_list"
96
+ },
97
+ "outputs": {
98
+ "$ref": "#/$defs/text_or_text_list"
99
+ },
100
+ "interpretation_limits": {
101
+ "$ref": "#/$defs/text_or_text_list"
102
+ },
103
+ "completed_unit": {
104
+ "$ref": "#/$defs/text_or_text_list"
105
+ },
106
+ "current_state": {
107
+ "$ref": "#/$defs/text_or_text_list"
108
+ },
109
+ "risks": {
110
+ "$ref": "#/$defs/text_or_text_list"
111
+ },
112
+ "next_handoff_target": {
113
+ "$ref": "#/$defs/text_or_text_list"
114
+ },
115
+ "scope": {
116
+ "$ref": "#/$defs/text_or_text_list"
117
+ },
118
+ "rule": {
119
+ "$ref": "#/$defs/text_or_text_list"
120
+ },
121
+ "enforcement_surface": {
122
+ "$ref": "#/$defs/text_or_text_list"
123
+ },
124
+ "evidence_paths": {
125
+ "$ref": "#/$defs/text_list"
126
+ },
127
+ "status": {
128
+ "$ref": "#/$defs/non_empty_text"
129
+ },
130
+ "next_follow_up": {
131
+ "$ref": "#/$defs/text_or_text_list"
132
+ }
133
+ },
134
+ "allOf": [
135
+ {
136
+ "if": {
137
+ "properties": {
138
+ "artifact_class": {
139
+ "const": "task"
140
+ }
141
+ }
142
+ },
143
+ "then": {
144
+ "required": [
145
+ "object",
146
+ "goal",
147
+ "boundary",
148
+ "constraints",
149
+ "success_criteria"
150
+ ]
151
+ }
152
+ },
153
+ {
154
+ "if": {
155
+ "properties": {
156
+ "artifact_class": {
157
+ "const": "decision"
158
+ }
159
+ }
160
+ },
161
+ "then": {
162
+ "required": [
163
+ "question",
164
+ "chosen_path",
165
+ "rejected_alternatives",
166
+ "rationale",
167
+ "consequences"
168
+ ]
169
+ }
170
+ },
171
+ {
172
+ "if": {
173
+ "properties": {
174
+ "artifact_class": {
175
+ "const": "hypothesis"
176
+ }
177
+ }
178
+ },
179
+ "then": {
180
+ "required": [
181
+ "claim",
182
+ "boundary",
183
+ "assumptions",
184
+ "test_path",
185
+ "falsifiers"
186
+ ]
187
+ }
188
+ },
189
+ {
190
+ "if": {
191
+ "properties": {
192
+ "artifact_class": {
193
+ "const": "experiment"
194
+ }
195
+ }
196
+ },
197
+ "then": {
198
+ "required": [
199
+ "objective",
200
+ "method",
201
+ "inputs",
202
+ "outputs",
203
+ "evidence_expectations",
204
+ "interpretation_limits"
205
+ ]
206
+ }
207
+ },
208
+ {
209
+ "if": {
210
+ "properties": {
211
+ "artifact_class": {
212
+ "const": "checkpoint"
213
+ }
214
+ }
215
+ },
216
+ "then": {
217
+ "required": [
218
+ "completed_unit",
219
+ "current_state",
220
+ "risks",
221
+ "next_handoff_target",
222
+ "artifact_refs"
223
+ ]
224
+ }
225
+ },
226
+ {
227
+ "if": {
228
+ "properties": {
229
+ "artifact_class": {
230
+ "const": "policy"
231
+ }
232
+ }
233
+ },
234
+ "then": {
235
+ "required": [
236
+ "scope",
237
+ "rule",
238
+ "rationale",
239
+ "invariants",
240
+ "enforcement_surface"
241
+ ]
242
+ }
243
+ },
244
+ {
245
+ "if": {
246
+ "properties": {
247
+ "artifact_class": {
248
+ "const": "result"
249
+ }
250
+ }
251
+ },
252
+ "then": {
253
+ "required": [
254
+ "claim",
255
+ "evidence_paths",
256
+ "status",
257
+ "interpretation_limits",
258
+ "next_follow_up"
259
+ ]
260
+ }
261
+ }
262
+ ],
263
+ "$defs": {
264
+ "non_empty_text": {
265
+ "type": "string",
266
+ "minLength": 1
267
+ },
268
+ "text_list": {
269
+ "type": "array",
270
+ "minItems": 1,
271
+ "items": {
272
+ "$ref": "#/$defs/non_empty_text"
273
+ }
274
+ },
275
+ "text_or_text_list": {
276
+ "oneOf": [
277
+ {
278
+ "$ref": "#/$defs/non_empty_text"
279
+ },
280
+ {
281
+ "$ref": "#/$defs/text_list"
282
+ }
283
+ ]
284
+ }
285
+ }
286
+ }
@@ -230,6 +230,9 @@
230
230
  "evidence": {
231
231
  "$ref": "#/$defs/evidence"
232
232
  },
233
+ "kernel": {
234
+ "$ref": "#/$defs/kernel_gate"
235
+ },
233
236
  "on_fail": {
234
237
  "type": "string",
235
238
  "enum": [
@@ -240,6 +243,62 @@
240
243
  }
241
244
  }
242
245
  },
246
+ "kernel_gate": {
247
+ "type": "object",
248
+ "additionalProperties": false,
249
+ "required": [
250
+ "artifacts"
251
+ ],
252
+ "properties": {
253
+ "mode": {
254
+ "type": "string",
255
+ "enum": [
256
+ "soft",
257
+ "hard"
258
+ ]
259
+ },
260
+ "artifacts": {
261
+ "type": "array",
262
+ "minItems": 1,
263
+ "items": {
264
+ "$ref": "#/$defs/kernel_artifact_ref"
265
+ }
266
+ }
267
+ }
268
+ },
269
+ "kernel_artifact_ref": {
270
+ "type": "object",
271
+ "additionalProperties": false,
272
+ "required": [
273
+ "path"
274
+ ],
275
+ "properties": {
276
+ "path": {
277
+ "type": "string"
278
+ },
279
+ "artifact_class": {
280
+ "type": "string",
281
+ "enum": [
282
+ "task",
283
+ "decision",
284
+ "hypothesis",
285
+ "experiment",
286
+ "checkpoint",
287
+ "policy",
288
+ "result"
289
+ ]
290
+ },
291
+ "required": {
292
+ "type": "boolean"
293
+ },
294
+ "extra_required_fields": {
295
+ "type": "array",
296
+ "items": {
297
+ "type": "string"
298
+ }
299
+ }
300
+ }
301
+ },
243
302
  "pass_rule": {
244
303
  "type": "object",
245
304
  "additionalProperties": false,
@@ -430,6 +430,103 @@
430
430
  },
431
431
  "evidence_note": {
432
432
  "type": "string"
433
+ },
434
+ "kernel_validation": {
435
+ "$ref": "#/$defs/kernel_validation"
436
+ }
437
+ }
438
+ },
439
+ "kernel_validation": {
440
+ "type": "object",
441
+ "additionalProperties": false,
442
+ "required": [
443
+ "mode",
444
+ "valid",
445
+ "artifacts_total",
446
+ "artifacts_valid",
447
+ "issues",
448
+ "artifacts"
449
+ ],
450
+ "properties": {
451
+ "mode": {
452
+ "type": "string",
453
+ "enum": [
454
+ "soft",
455
+ "hard"
456
+ ]
457
+ },
458
+ "valid": {
459
+ "type": "boolean"
460
+ },
461
+ "artifacts_total": {
462
+ "type": "integer",
463
+ "minimum": 0
464
+ },
465
+ "artifacts_valid": {
466
+ "type": "integer",
467
+ "minimum": 0
468
+ },
469
+ "issues": {
470
+ "type": "array",
471
+ "items": {
472
+ "type": "string"
473
+ }
474
+ },
475
+ "artifacts": {
476
+ "type": "array",
477
+ "items": {
478
+ "$ref": "#/$defs/kernel_artifact_validation"
479
+ }
480
+ }
481
+ }
482
+ },
483
+ "kernel_artifact_validation": {
484
+ "type": "object",
485
+ "additionalProperties": false,
486
+ "required": [
487
+ "path",
488
+ "exists",
489
+ "required",
490
+ "optional_skipped",
491
+ "artifact_class",
492
+ "expected_artifact_class",
493
+ "valid",
494
+ "missing_fields",
495
+ "issues"
496
+ ],
497
+ "properties": {
498
+ "path": {
499
+ "type": "string"
500
+ },
501
+ "exists": {
502
+ "type": "boolean"
503
+ },
504
+ "required": {
505
+ "type": "boolean"
506
+ },
507
+ "optional_skipped": {
508
+ "type": "boolean"
509
+ },
510
+ "artifact_class": {
511
+ "type": "string"
512
+ },
513
+ "expected_artifact_class": {
514
+ "type": "string"
515
+ },
516
+ "valid": {
517
+ "type": "boolean"
518
+ },
519
+ "missing_fields": {
520
+ "type": "array",
521
+ "items": {
522
+ "type": "string"
523
+ }
524
+ },
525
+ "issues": {
526
+ "type": "array",
527
+ "items": {
528
+ "type": "string"
529
+ }
433
530
  }
434
531
  }
435
532
  },