owlrunkit 0.17.1 → 0.18.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.
@@ -8,7 +8,7 @@
8
8
  "properties": {
9
9
  "schemaVersion": { "const": "OwlCodaRunKitTeamProjectEventV1" },
10
10
  "eventId": { "$ref": "#/$defs/id" },
11
- "type": { "enum": ["agent_assigned", "checkpoint_recorded", "handoff_recorded", "decision_opened", "decision_resolved", "integration_gate_passed", "data_candidate_recorded"] },
11
+ "type": { "enum": ["agent_assigned", "checkpoint_recorded", "handoff_recorded", "decision_opened", "decision_resolved", "integration_gate_passed", "verification_deferred", "verification_closed", "data_candidate_recorded"] },
12
12
  "occurredAt": { "type": "string", "minLength": 24 },
13
13
  "assignmentId": { "$ref": "#/$defs/id" },
14
14
  "supersedesAssignmentId": { "$ref": "#/$defs/id" },
@@ -35,6 +35,12 @@
35
35
  "resolution": { "type": "string", "minLength": 1 },
36
36
  "rationale": { "type": "string", "minLength": 1 },
37
37
  "gateId": { "$ref": "#/$defs/id" },
38
+ "verificationId": { "$ref": "#/$defs/id" },
39
+ "checkIds": { "$ref": "#/$defs/ids" },
40
+ "reason": { "type": "string", "minLength": 1 },
41
+ "dueGateId": { "$ref": "#/$defs/id" },
42
+ "disposition": { "enum": ["verified", "no_longer_required"] },
43
+ "decisionIds": { "$ref": "#/$defs/ids" },
38
44
  "candidateId": { "$ref": "#/$defs/id" },
39
45
  "sourceRef": { "type": "string", "minLength": 1 },
40
46
  "rights": { "type": "string", "minLength": 1 },
@@ -76,6 +82,14 @@
76
82
  "if": { "properties": { "type": { "const": "integration_gate_passed" } }, "required": ["type"] },
77
83
  "then": { "required": ["gateId", "summary", "evidenceRefs"] }
78
84
  },
85
+ {
86
+ "if": { "properties": { "type": { "const": "verification_deferred" } }, "required": ["type"] },
87
+ "then": { "required": ["verificationId", "workItemId", "ownerAgentId", "checkIds", "reason", "dueGateId"] }
88
+ },
89
+ {
90
+ "if": { "properties": { "type": { "const": "verification_closed" } }, "required": ["type"] },
91
+ "then": { "required": ["verificationId", "disposition", "summary", "evidenceRefs", "decisionIds"] }
92
+ },
79
93
  {
80
94
  "if": { "properties": { "type": { "const": "data_candidate_recorded" } }, "required": ["type"] },
81
95
  "then": { "required": ["candidateId", "sourceRef", "rights", "inputRef", "outputRef", "decisionRef", "verificationRefs", "outcomeRef", "version"] }
@@ -83,6 +97,7 @@
83
97
  ],
84
98
  "$defs": {
85
99
  "id": { "type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*$" },
100
+ "ids": { "type": "array", "uniqueItems": true, "items": { "$ref": "#/$defs/id" } },
86
101
  "strings": { "type": "array", "uniqueItems": true, "items": { "type": "string", "minLength": 1 } }
87
102
  },
88
103
  "examples": [{
@@ -4,7 +4,7 @@
4
4
  "title": "OwlCoda RunKit Team Project Status V1",
5
5
  "type": "object",
6
6
  "additionalProperties": false,
7
- "required": ["schemaVersion", "status", "projectId", "objective", "overall", "counts", "milestones", "workstreams", "workItems", "agents", "readyQueue", "criticalWorkItems", "openDecisions", "resolvedDecisions", "integrationGates", "dataCandidates", "projectTruthHash", "authorizationGranted", "exitCode"],
7
+ "required": ["schemaVersion", "status", "projectId", "objective", "overall", "counts", "milestones", "workstreams", "workItems", "agents", "readyQueue", "criticalWorkItems", "openDecisions", "resolvedDecisions", "deferredVerifications", "openDeferredVerificationIds", "integrationGates", "dataCandidates", "projectTruthHash", "authorizationGranted", "headline", "dominantGap", "nextAction", "nextActorId", "exitCode"],
8
8
  "properties": {
9
9
  "schemaVersion": { "const": "OwlCodaRunKitTeamProjectStatusV1" },
10
10
  "status": { "const": "team_project_status" },
@@ -20,10 +20,29 @@
20
20
  "criticalWorkItems": { "type": "array", "items": { "type": "string" } },
21
21
  "openDecisions": { "type": "array", "items": { "type": "object" } },
22
22
  "resolvedDecisions": { "type": "array", "items": { "type": "object" } },
23
+ "deferredVerifications": { "type": "array", "items": { "type": "object" } },
24
+ "openDeferredVerificationIds": { "type": "array", "items": { "type": "string" } },
23
25
  "integrationGates": { "type": "array", "items": { "type": "object" } },
24
26
  "dataCandidates": { "type": "array", "items": { "type": "object" } },
25
27
  "projectTruthHash": { "type": "string", "pattern": "^[a-f0-9]{64}$" },
26
28
  "authorizationGranted": { "const": false },
29
+ "headline": { "type": "string", "minLength": 1 },
30
+ "dominantGap": {
31
+ "type": "object",
32
+ "additionalProperties": false,
33
+ "required": ["kind", "id", "title", "workItemId", "agentId", "reason", "truthRefs"],
34
+ "properties": {
35
+ "kind": { "enum": ["decision", "failed_work", "work_item", "deferred_verification", "integration_gate", "none"] },
36
+ "id": { "type": ["string", "null"] },
37
+ "title": { "type": ["string", "null"] },
38
+ "workItemId": { "type": ["string", "null"] },
39
+ "agentId": { "type": ["string", "null"] },
40
+ "reason": { "type": ["string", "null"] },
41
+ "truthRefs": { "type": "array", "uniqueItems": true, "items": { "type": "string", "minLength": 1 } }
42
+ }
43
+ },
44
+ "nextAction": { "type": ["string", "null"] },
45
+ "nextActorId": { "type": ["string", "null"] },
27
46
  "exitCode": { "const": 0 }
28
47
  },
29
48
  "examples": [{
@@ -41,10 +60,24 @@
41
60
  "criticalWorkItems": [],
42
61
  "openDecisions": [],
43
62
  "resolvedDecisions": [],
63
+ "deferredVerifications": [],
64
+ "openDeferredVerificationIds": [],
44
65
  "integrationGates": [],
45
66
  "dataCandidates": [],
46
67
  "projectTruthHash": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
47
68
  "authorizationGranted": false,
69
+ "headline": "Dominant gap: none; owner: unassigned; blocker: none; next: none.",
70
+ "dominantGap": {
71
+ "kind": "none",
72
+ "id": null,
73
+ "title": null,
74
+ "workItemId": null,
75
+ "agentId": null,
76
+ "reason": null,
77
+ "truthRefs": ["project/definition.json"]
78
+ },
79
+ "nextAction": null,
80
+ "nextActorId": null,
48
81
  "exitCode": 0
49
82
  }]
50
83
  }
@@ -0,0 +1,204 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://owlcoda.com/schemas/runkit/team-project-successor-receipt-v1.schema.json",
4
+ "title": "OwlCoda RunKit Team Project Successor Receipt V1",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": [
8
+ "schemaVersion",
9
+ "status",
10
+ "transitionId",
11
+ "phase",
12
+ "occurredAt",
13
+ "reason",
14
+ "requestSha256",
15
+ "receiptPath",
16
+ "from",
17
+ "to",
18
+ "archive",
19
+ "repositoryActions",
20
+ "authorizationGranted",
21
+ "receiptSha256"
22
+ ],
23
+ "properties": {
24
+ "schemaVersion": { "const": "OwlCodaRunKitTeamProjectSuccessorReceiptV1" },
25
+ "status": { "const": "team_project_successor" },
26
+ "transitionId": { "$ref": "#/$defs/id" },
27
+ "phase": { "enum": ["prepared", "archived", "active_installed", "completed"] },
28
+ "occurredAt": { "type": "string", "format": "date-time" },
29
+ "reason": { "type": "string", "minLength": 1 },
30
+ "requestSha256": { "$ref": "#/$defs/hash" },
31
+ "receiptPath": { "type": "string", "minLength": 1 },
32
+ "from": { "$ref": "#/$defs/projectFrom" },
33
+ "to": { "$ref": "#/$defs/projectTo" },
34
+ "archive": { "$ref": "#/$defs/archive" },
35
+ "repositoryActions": { "$ref": "#/$defs/actions" },
36
+ "authorizationGranted": { "const": false },
37
+ "receiptSha256": { "$ref": "#/$defs/hash" }
38
+ },
39
+ "$defs": {
40
+ "id": {
41
+ "type": "string",
42
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*$"
43
+ },
44
+ "hash": {
45
+ "type": "string",
46
+ "pattern": "^[a-f0-9]{64}$"
47
+ },
48
+ "definition": {
49
+ "type": "object"
50
+ },
51
+ "projectFrom": {
52
+ "type": "object",
53
+ "additionalProperties": false,
54
+ "required": [
55
+ "projectId",
56
+ "definition",
57
+ "definitionRawSha256",
58
+ "definitionCanonicalSha256",
59
+ "projectTruthHash",
60
+ "eventCount"
61
+ ],
62
+ "properties": {
63
+ "projectId": { "$ref": "#/$defs/id" },
64
+ "definition": { "$ref": "#/$defs/definition" },
65
+ "definitionRawSha256": { "$ref": "#/$defs/hash" },
66
+ "definitionCanonicalSha256": { "$ref": "#/$defs/hash" },
67
+ "projectTruthHash": { "$ref": "#/$defs/hash" },
68
+ "eventCount": { "type": "integer", "minimum": 0 }
69
+ }
70
+ },
71
+ "projectTo": {
72
+ "type": "object",
73
+ "additionalProperties": false,
74
+ "required": [
75
+ "projectId",
76
+ "definitionSourcePath",
77
+ "definitionSourceSha256",
78
+ "definition",
79
+ "definitionRawSha256",
80
+ "definitionCanonicalSha256",
81
+ "projectTruthHash",
82
+ "eventCount"
83
+ ],
84
+ "properties": {
85
+ "projectId": { "$ref": "#/$defs/id" },
86
+ "definitionSourcePath": { "type": "string", "minLength": 1 },
87
+ "definitionSourceSha256": { "$ref": "#/$defs/hash" },
88
+ "definition": { "$ref": "#/$defs/definition" },
89
+ "definitionRawSha256": { "$ref": "#/$defs/hash" },
90
+ "definitionCanonicalSha256": { "$ref": "#/$defs/hash" },
91
+ "projectTruthHash": { "$ref": "#/$defs/hash" },
92
+ "eventCount": { "const": 0 }
93
+ }
94
+ },
95
+ "archiveFile": {
96
+ "type": "object",
97
+ "additionalProperties": false,
98
+ "required": ["path", "byteLength", "sha256"],
99
+ "properties": {
100
+ "path": { "type": "string", "minLength": 1 },
101
+ "byteLength": { "type": "integer", "minimum": 0 },
102
+ "sha256": { "$ref": "#/$defs/hash" }
103
+ }
104
+ },
105
+ "archive": {
106
+ "type": "object",
107
+ "additionalProperties": false,
108
+ "required": ["path", "manifestAlgorithm", "manifestSha256", "directories", "files", "sealPolicy"],
109
+ "properties": {
110
+ "path": { "type": "string", "minLength": 1 },
111
+ "manifestAlgorithm": { "const": "sha256-canonical-json-v1" },
112
+ "manifestSha256": { "$ref": "#/$defs/hash" },
113
+ "directories": {
114
+ "type": "array",
115
+ "uniqueItems": true,
116
+ "items": { "type": "string", "minLength": 1 }
117
+ },
118
+ "files": {
119
+ "type": "array",
120
+ "minItems": 1,
121
+ "items": { "$ref": "#/$defs/archiveFile" }
122
+ },
123
+ "sealPolicy": { "$ref": "#/$defs/sealPolicy" }
124
+ }
125
+ },
126
+ "sealPolicy": {
127
+ "type": "object",
128
+ "additionalProperties": false,
129
+ "required": ["policy", "regularFileMode", "directoryMode"],
130
+ "properties": {
131
+ "policy": { "const": "posix-owner-write-denied-v1" },
132
+ "regularFileMode": { "const": "0444" },
133
+ "directoryMode": { "const": "0555" }
134
+ }
135
+ },
136
+ "actions": {
137
+ "type": "object",
138
+ "additionalProperties": false,
139
+ "required": ["staged", "committed", "pushed", "tagged", "published", "deployed"],
140
+ "properties": {
141
+ "staged": { "const": false },
142
+ "committed": { "const": false },
143
+ "pushed": { "const": false },
144
+ "tagged": { "const": false },
145
+ "published": { "const": false },
146
+ "deployed": { "const": false }
147
+ }
148
+ }
149
+ },
150
+ "examples": [{
151
+ "schemaVersion": "OwlCodaRunKitTeamProjectSuccessorReceiptV1",
152
+ "status": "team_project_successor",
153
+ "transitionId": "transition-001",
154
+ "phase": "completed",
155
+ "occurredAt": "2026-08-09T08:00:00.000Z",
156
+ "reason": "Begin the next bounded project.",
157
+ "requestSha256": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
158
+ "receiptPath": ".owlcoda/runkit/project-successor-transitions/transition-001.json",
159
+ "from": {
160
+ "projectId": "project-old",
161
+ "definition": {},
162
+ "definitionRawSha256": "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
163
+ "definitionCanonicalSha256": "cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc",
164
+ "projectTruthHash": "dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd",
165
+ "eventCount": 3
166
+ },
167
+ "to": {
168
+ "projectId": "project-new",
169
+ "definitionSourcePath": "/workspace/next-project.json",
170
+ "definitionSourceSha256": "eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",
171
+ "definition": {},
172
+ "definitionRawSha256": "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
173
+ "definitionCanonicalSha256": "1111111111111111111111111111111111111111111111111111111111111111",
174
+ "projectTruthHash": "2222222222222222222222222222222222222222222222222222222222222222",
175
+ "eventCount": 0
176
+ },
177
+ "archive": {
178
+ "path": ".owlcoda/runkit/project-archives/project-old-dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd-4444444444444444444444444444444444444444444444444444444444444444",
179
+ "manifestAlgorithm": "sha256-canonical-json-v1",
180
+ "manifestSha256": "4444444444444444444444444444444444444444444444444444444444444444",
181
+ "directories": ["events"],
182
+ "files": [{
183
+ "path": "definition.json",
184
+ "byteLength": 512,
185
+ "sha256": "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
186
+ }],
187
+ "sealPolicy": {
188
+ "policy": "posix-owner-write-denied-v1",
189
+ "regularFileMode": "0444",
190
+ "directoryMode": "0555"
191
+ }
192
+ },
193
+ "repositoryActions": {
194
+ "staged": false,
195
+ "committed": false,
196
+ "pushed": false,
197
+ "tagged": false,
198
+ "published": false,
199
+ "deployed": false
200
+ },
201
+ "authorizationGranted": false,
202
+ "receiptSha256": "5555555555555555555555555555555555555555555555555555555555555555"
203
+ }]
204
+ }