@tiic-tech/openworkflow 0.1.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.
Files changed (145) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +37 -0
  3. package/dist/adapters/codex/src/doctorCodexAdapter.d.ts +6 -0
  4. package/dist/adapters/codex/src/doctorCodexAdapter.js +124 -0
  5. package/dist/adapters/codex/src/doctorCodexAdapter.js.map +1 -0
  6. package/dist/adapters/codex/src/generateAgents.d.ts +2 -0
  7. package/dist/adapters/codex/src/generateAgents.js +40 -0
  8. package/dist/adapters/codex/src/generateAgents.js.map +1 -0
  9. package/dist/adapters/codex/src/generateCodexAdapter.d.ts +9 -0
  10. package/dist/adapters/codex/src/generateCodexAdapter.js +59 -0
  11. package/dist/adapters/codex/src/generateCodexAdapter.js.map +1 -0
  12. package/dist/adapters/codex/src/generateCommands.d.ts +6 -0
  13. package/dist/adapters/codex/src/generateCommands.js +205 -0
  14. package/dist/adapters/codex/src/generateCommands.js.map +1 -0
  15. package/dist/adapters/codex/src/generateSkills.d.ts +7 -0
  16. package/dist/adapters/codex/src/generateSkills.js +60 -0
  17. package/dist/adapters/codex/src/generateSkills.js.map +1 -0
  18. package/dist/adapters/codex/src/generatedFiles.d.ts +4 -0
  19. package/dist/adapters/codex/src/generatedFiles.js +67 -0
  20. package/dist/adapters/codex/src/generatedFiles.js.map +1 -0
  21. package/dist/adapters/codex/src/manifest.d.ts +4 -0
  22. package/dist/adapters/codex/src/manifest.js +40 -0
  23. package/dist/adapters/codex/src/manifest.js.map +1 -0
  24. package/dist/adapters/codex/src/templates.d.ts +7 -0
  25. package/dist/adapters/codex/src/templates.js +6 -0
  26. package/dist/adapters/codex/src/templates.js.map +1 -0
  27. package/dist/cli/src/args.d.ts +8 -0
  28. package/dist/cli/src/args.js +34 -0
  29. package/dist/cli/src/args.js.map +1 -0
  30. package/dist/cli/src/commands/doctor.d.ts +1 -0
  31. package/dist/cli/src/commands/doctor.js +26 -0
  32. package/dist/cli/src/commands/doctor.js.map +1 -0
  33. package/dist/cli/src/commands/init.d.ts +1 -0
  34. package/dist/cli/src/commands/init.js +52 -0
  35. package/dist/cli/src/commands/init.js.map +1 -0
  36. package/dist/cli/src/commands/shared.d.ts +4 -0
  37. package/dist/cli/src/commands/shared.js +19 -0
  38. package/dist/cli/src/commands/shared.js.map +1 -0
  39. package/dist/cli/src/commands/sync.d.ts +1 -0
  40. package/dist/cli/src/commands/sync.js +27 -0
  41. package/dist/cli/src/commands/sync.js.map +1 -0
  42. package/dist/cli/src/commands/validate.d.ts +1 -0
  43. package/dist/cli/src/commands/validate.js +17 -0
  44. package/dist/cli/src/commands/validate.js.map +1 -0
  45. package/dist/cli/src/dev/validateRepositoryContractsCli.d.ts +2 -0
  46. package/dist/cli/src/dev/validateRepositoryContractsCli.js +37 -0
  47. package/dist/cli/src/dev/validateRepositoryContractsCli.js.map +1 -0
  48. package/dist/cli/src/dev/verifyRuntimeSurface.d.ts +2 -0
  49. package/dist/cli/src/dev/verifyRuntimeSurface.js +344 -0
  50. package/dist/cli/src/dev/verifyRuntimeSurface.js.map +1 -0
  51. package/dist/cli/src/dev/verifyWorkflowE2E.d.ts +2 -0
  52. package/dist/cli/src/dev/verifyWorkflowE2E.js +366 -0
  53. package/dist/cli/src/dev/verifyWorkflowE2E.js.map +1 -0
  54. package/dist/cli/src/index.d.ts +2 -0
  55. package/dist/cli/src/index.js +51 -0
  56. package/dist/cli/src/index.js.map +1 -0
  57. package/dist/core/src/artifacts/registry.d.ts +53 -0
  58. package/dist/core/src/artifacts/registry.js +483 -0
  59. package/dist/core/src/artifacts/registry.js.map +1 -0
  60. package/dist/core/src/commands/registry.d.ts +36 -0
  61. package/dist/core/src/commands/registry.js +539 -0
  62. package/dist/core/src/commands/registry.js.map +1 -0
  63. package/dist/core/src/contracts/index.d.ts +23 -0
  64. package/dist/core/src/contracts/index.js +16 -0
  65. package/dist/core/src/contracts/index.js.map +1 -0
  66. package/dist/core/src/contracts/yaml.d.ts +2 -0
  67. package/dist/core/src/contracts/yaml.js +12 -0
  68. package/dist/core/src/contracts/yaml.js.map +1 -0
  69. package/dist/core/src/contracts.d.ts +23 -0
  70. package/dist/core/src/contracts.js +15 -0
  71. package/dist/core/src/contracts.js.map +1 -0
  72. package/dist/core/src/fs/index.d.ts +4 -0
  73. package/dist/core/src/fs/index.js +28 -0
  74. package/dist/core/src/fs/index.js.map +1 -0
  75. package/dist/core/src/fs.d.ts +4 -0
  76. package/dist/core/src/fs.js +28 -0
  77. package/dist/core/src/fs.js.map +1 -0
  78. package/dist/core/src/initOpenWorkflow.d.ts +7 -0
  79. package/dist/core/src/initOpenWorkflow.js +220 -0
  80. package/dist/core/src/initOpenWorkflow.js.map +1 -0
  81. package/dist/core/src/validateOpenWorkflow.d.ts +5 -0
  82. package/dist/core/src/validateOpenWorkflow.js +145 -0
  83. package/dist/core/src/validateOpenWorkflow.js.map +1 -0
  84. package/dist/core/src/validators/validateOpenWorkflow.d.ts +5 -0
  85. package/dist/core/src/validators/validateOpenWorkflow.js +551 -0
  86. package/dist/core/src/validators/validateOpenWorkflow.js.map +1 -0
  87. package/dist/core/src/validators/validateRepositoryContracts.d.ts +2 -0
  88. package/dist/core/src/validators/validateRepositoryContracts.js +827 -0
  89. package/dist/core/src/validators/validateRepositoryContracts.js.map +1 -0
  90. package/dist/core/src/workflow/initOpenWorkflow.d.ts +7 -0
  91. package/dist/core/src/workflow/initOpenWorkflow.js +182 -0
  92. package/dist/core/src/workflow/initOpenWorkflow.js.map +1 -0
  93. package/dist/core/src/yaml.d.ts +2 -0
  94. package/dist/core/src/yaml.js +12 -0
  95. package/dist/core/src/yaml.js.map +1 -0
  96. package/package.json +55 -0
  97. package/references/artifact-authoring-templates.md +78 -0
  98. package/references/audit-first-discovery-loop.md +85 -0
  99. package/references/contract-graph.md +129 -0
  100. package/references/discovery-artifact-contracts.md +155 -0
  101. package/references/engineering-skill-reference-research.md +204 -0
  102. package/references/npm-cli-architecture.md +63 -0
  103. package/references/runtime-command-surface.md +169 -0
  104. package/schemas/artifact-contracts.schema.json +130 -0
  105. package/schemas/change.schema.json +71 -0
  106. package/schemas/contract-graph.schema.json +80 -0
  107. package/schemas/decision-record.schema.json +92 -0
  108. package/schemas/disclosure-levels.schema.json +66 -0
  109. package/schemas/openworkflow-contract.schema.json +88 -0
  110. package/schemas/product-design.schema.json +356 -0
  111. package/schemas/prototype-evidence.schema.json +325 -0
  112. package/schemas/prototype.schema.json +149 -0
  113. package/schemas/validation-target.schema.json +127 -0
  114. package/schemas/validation.schema.json +123 -0
  115. package/schemas/vision-session.schema.json +78 -0
  116. package/schemas/work-items.schema.json +87 -0
  117. package/schemas/workflow-index.schema.json +70 -0
  118. package/skills/build-prototype/SKILL.md +87 -0
  119. package/skills/build-prototype/agents/openai.yaml +4 -0
  120. package/skills/build-prototype/references/prototype-protocol.md +56 -0
  121. package/skills/build-prototype/scripts/init_prototype.py +260 -0
  122. package/skills/build-team/SKILL.md +292 -0
  123. package/skills/build-team/agents/openai.yaml +4 -0
  124. package/skills/build-team/references/runtime-schema.md +275 -0
  125. package/skills/build-team/references/team-protocol.md +244 -0
  126. package/skills/build-team/scripts/init_team_runtime.py +431 -0
  127. package/skills/build-validation/SKILL.md +81 -0
  128. package/skills/build-validation/agents/openai.yaml +4 -0
  129. package/skills/build-validation/references/validation-protocol.md +51 -0
  130. package/skills/build-validation/scripts/init_validation.py +194 -0
  131. package/skills/build-workflow/SKILL.md +65 -0
  132. package/skills/build-workflow/agents/openai.yaml +4 -0
  133. package/skills/build-workflow/references/workflow-layout.md +57 -0
  134. package/skills/build-workflow/scripts/init_workflow.py +423 -0
  135. package/skills/run-team/SKILL.md +93 -0
  136. package/skills/run-team/agents/openai.yaml +4 -0
  137. package/skills/run-team/references/delegation-and-agent-lifecycle.md +78 -0
  138. package/skills/run-team/references/run-loop.md +73 -0
  139. package/skills/run-team/references/runtime-audit.md +56 -0
  140. package/skills/run-team/references/scope-selection.md +64 -0
  141. package/skills/run-team/scripts/audit_team_runtime.py +173 -0
  142. package/skills/run-team/scripts/init_next_scope.py +304 -0
  143. package/templates/README.md +5 -0
  144. package/templates/codex/README.md +4 -0
  145. package/templates/openworkflow/README.md +4 -0
@@ -0,0 +1,356 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://openworkflow.local/schemas/product-design.schema.json",
4
+ "title": "OpenWorkflow Product Design Artifact",
5
+ "type": "object",
6
+ "required": [
7
+ "schema_version",
8
+ "contract_id",
9
+ "contract_type",
10
+ "artifact_type",
11
+ "title",
12
+ "status",
13
+ "accepted_prototype_evidence",
14
+ "personas",
15
+ "journey_map",
16
+ "user_stories",
17
+ "feature_matrix",
18
+ "kano_classification",
19
+ "behavior_model",
20
+ "ux_states",
21
+ "scope",
22
+ "open_questions",
23
+ "conditional_packets",
24
+ "spec_readiness"
25
+ ],
26
+ "properties": {
27
+ "schema_version": {
28
+ "type": "string"
29
+ },
30
+ "contract_id": {
31
+ "type": "string"
32
+ },
33
+ "contract_type": {
34
+ "const": "design"
35
+ },
36
+ "artifact_type": {
37
+ "const": "product_design"
38
+ },
39
+ "title": {
40
+ "type": "string"
41
+ },
42
+ "status": {
43
+ "type": "string"
44
+ },
45
+ "accepted_prototype_evidence": {
46
+ "type": "array",
47
+ "items": {
48
+ "type": "object",
49
+ "required": [
50
+ "ref",
51
+ "decision_ref",
52
+ "accepted_outcome"
53
+ ],
54
+ "properties": {
55
+ "ref": {
56
+ "type": "string"
57
+ },
58
+ "decision_ref": {
59
+ "type": "string"
60
+ },
61
+ "accepted_outcome": {
62
+ "type": "string",
63
+ "enum": [
64
+ "continue",
65
+ "accepted"
66
+ ]
67
+ },
68
+ "notes": {
69
+ "type": "string"
70
+ }
71
+ },
72
+ "additionalProperties": true
73
+ }
74
+ },
75
+ "personas": {
76
+ "type": "array",
77
+ "items": {
78
+ "type": "object",
79
+ "required": [
80
+ "id",
81
+ "name",
82
+ "goals",
83
+ "pain_points"
84
+ ],
85
+ "properties": {
86
+ "id": {
87
+ "type": "string"
88
+ },
89
+ "name": {
90
+ "type": "string"
91
+ },
92
+ "goals": {
93
+ "$ref": "#/$defs/stringList"
94
+ },
95
+ "pain_points": {
96
+ "$ref": "#/$defs/stringList"
97
+ }
98
+ },
99
+ "additionalProperties": true
100
+ }
101
+ },
102
+ "journey_map": {
103
+ "type": "array",
104
+ "items": {
105
+ "type": "object",
106
+ "required": [
107
+ "stage",
108
+ "user_goal",
109
+ "actions",
110
+ "system_response"
111
+ ],
112
+ "properties": {
113
+ "stage": {
114
+ "type": "string"
115
+ },
116
+ "user_goal": {
117
+ "type": "string"
118
+ },
119
+ "actions": {
120
+ "$ref": "#/$defs/stringList"
121
+ },
122
+ "system_response": {
123
+ "$ref": "#/$defs/stringList"
124
+ },
125
+ "risks": {
126
+ "$ref": "#/$defs/stringList"
127
+ }
128
+ },
129
+ "additionalProperties": true
130
+ }
131
+ },
132
+ "user_stories": {
133
+ "type": "array",
134
+ "items": {
135
+ "type": "object",
136
+ "required": [
137
+ "id",
138
+ "persona",
139
+ "story",
140
+ "acceptance"
141
+ ],
142
+ "properties": {
143
+ "id": {
144
+ "type": "string"
145
+ },
146
+ "persona": {
147
+ "type": "string"
148
+ },
149
+ "story": {
150
+ "type": "string"
151
+ },
152
+ "acceptance": {
153
+ "$ref": "#/$defs/stringList"
154
+ }
155
+ },
156
+ "additionalProperties": true
157
+ }
158
+ },
159
+ "feature_matrix": {
160
+ "type": "array",
161
+ "items": {
162
+ "type": "object",
163
+ "required": [
164
+ "feature",
165
+ "priority",
166
+ "evidence_refs",
167
+ "included"
168
+ ],
169
+ "properties": {
170
+ "feature": {
171
+ "type": "string"
172
+ },
173
+ "priority": {
174
+ "type": "string"
175
+ },
176
+ "evidence_refs": {
177
+ "$ref": "#/$defs/stringList"
178
+ },
179
+ "included": {
180
+ "type": "boolean"
181
+ }
182
+ },
183
+ "additionalProperties": true
184
+ }
185
+ },
186
+ "kano_classification": {
187
+ "type": "object",
188
+ "required": [
189
+ "must_have",
190
+ "performance",
191
+ "delighters",
192
+ "indifferent",
193
+ "reverse"
194
+ ],
195
+ "properties": {
196
+ "must_have": {
197
+ "$ref": "#/$defs/stringList"
198
+ },
199
+ "performance": {
200
+ "$ref": "#/$defs/stringList"
201
+ },
202
+ "delighters": {
203
+ "$ref": "#/$defs/stringList"
204
+ },
205
+ "indifferent": {
206
+ "$ref": "#/$defs/stringList"
207
+ },
208
+ "reverse": {
209
+ "$ref": "#/$defs/stringList"
210
+ }
211
+ },
212
+ "additionalProperties": true
213
+ },
214
+ "behavior_model": {
215
+ "type": "object",
216
+ "required": [
217
+ "entities",
218
+ "states",
219
+ "transitions",
220
+ "rules"
221
+ ],
222
+ "properties": {
223
+ "entities": {
224
+ "$ref": "#/$defs/stringList"
225
+ },
226
+ "states": {
227
+ "$ref": "#/$defs/stringList"
228
+ },
229
+ "transitions": {
230
+ "$ref": "#/$defs/stringList"
231
+ },
232
+ "rules": {
233
+ "$ref": "#/$defs/stringList"
234
+ }
235
+ },
236
+ "additionalProperties": true
237
+ },
238
+ "ux_states": {
239
+ "type": "object",
240
+ "required": [
241
+ "empty",
242
+ "loading",
243
+ "success",
244
+ "error",
245
+ "edge_cases"
246
+ ],
247
+ "properties": {
248
+ "empty": {
249
+ "$ref": "#/$defs/stringList"
250
+ },
251
+ "loading": {
252
+ "$ref": "#/$defs/stringList"
253
+ },
254
+ "success": {
255
+ "$ref": "#/$defs/stringList"
256
+ },
257
+ "error": {
258
+ "$ref": "#/$defs/stringList"
259
+ },
260
+ "edge_cases": {
261
+ "$ref": "#/$defs/stringList"
262
+ }
263
+ },
264
+ "additionalProperties": true
265
+ },
266
+ "scope": {
267
+ "type": "object",
268
+ "required": [
269
+ "in",
270
+ "out",
271
+ "deferred"
272
+ ],
273
+ "properties": {
274
+ "in": {
275
+ "$ref": "#/$defs/stringList"
276
+ },
277
+ "out": {
278
+ "$ref": "#/$defs/stringList"
279
+ },
280
+ "deferred": {
281
+ "$ref": "#/$defs/stringList"
282
+ }
283
+ },
284
+ "additionalProperties": true
285
+ },
286
+ "open_questions": {
287
+ "$ref": "#/$defs/stringList"
288
+ },
289
+ "conditional_packets": {
290
+ "type": "array",
291
+ "items": {
292
+ "type": "object",
293
+ "required": [
294
+ "artifact_type",
295
+ "path",
296
+ "included",
297
+ "reason"
298
+ ],
299
+ "properties": {
300
+ "artifact_type": {
301
+ "type": "string",
302
+ "enum": [
303
+ "tech_spec",
304
+ "frontend_spec",
305
+ "backend_spec",
306
+ "api_contract",
307
+ "db_schema_model"
308
+ ]
309
+ },
310
+ "path": {
311
+ "type": "string"
312
+ },
313
+ "included": {
314
+ "type": "boolean"
315
+ },
316
+ "reason": {
317
+ "type": "string"
318
+ }
319
+ },
320
+ "additionalProperties": true
321
+ }
322
+ },
323
+ "spec_readiness": {
324
+ "type": "object",
325
+ "required": [
326
+ "ready",
327
+ "blockers",
328
+ "next_command"
329
+ ],
330
+ "properties": {
331
+ "ready": {
332
+ "type": "boolean"
333
+ },
334
+ "blockers": {
335
+ "$ref": "#/$defs/stringList"
336
+ },
337
+ "next_command": {
338
+ "type": [
339
+ "string",
340
+ "null"
341
+ ]
342
+ }
343
+ },
344
+ "additionalProperties": true
345
+ }
346
+ },
347
+ "$defs": {
348
+ "stringList": {
349
+ "type": "array",
350
+ "items": {
351
+ "type": "string"
352
+ }
353
+ }
354
+ },
355
+ "additionalProperties": true
356
+ }
@@ -0,0 +1,325 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://openworkflow.local/schemas/prototype-evidence.schema.json",
4
+ "title": "OpenWorkflow Prototype Evidence Artifact",
5
+ "type": "object",
6
+ "required": [
7
+ "schema_version",
8
+ "contract_id",
9
+ "contract_type",
10
+ "artifact_type",
11
+ "title",
12
+ "status",
13
+ "validation_target",
14
+ "core_question",
15
+ "prototype_mode",
16
+ "reference_analysis",
17
+ "visual_direction",
18
+ "visual_concept_policy",
19
+ "concept_evidence",
20
+ "prototype_artifact",
21
+ "run",
22
+ "implementation_evidence",
23
+ "observations",
24
+ "evidence",
25
+ "verification",
26
+ "self_critique",
27
+ "known_limits",
28
+ "result",
29
+ "handoff"
30
+ ],
31
+ "properties": {
32
+ "schema_version": {
33
+ "type": "string"
34
+ },
35
+ "contract_id": {
36
+ "type": "string"
37
+ },
38
+ "contract_type": {
39
+ "const": "prototype"
40
+ },
41
+ "artifact_type": {
42
+ "const": "prototype_evidence"
43
+ },
44
+ "title": {
45
+ "type": "string"
46
+ },
47
+ "status": {
48
+ "type": "string"
49
+ },
50
+ "validation_target": {
51
+ "type": "string"
52
+ },
53
+ "core_question": {
54
+ "type": "string"
55
+ },
56
+ "prototype_mode": {
57
+ "type": "string",
58
+ "enum": [
59
+ "visual",
60
+ "interaction",
61
+ "technical_feasibility",
62
+ "3d_material",
63
+ "workflow",
64
+ "data_logic"
65
+ ]
66
+ },
67
+ "reference_analysis": {
68
+ "type": "array",
69
+ "items": {
70
+ "type": "object",
71
+ "required": [
72
+ "kind",
73
+ "ref"
74
+ ],
75
+ "properties": {
76
+ "kind": {
77
+ "type": "string"
78
+ },
79
+ "ref": {
80
+ "type": "string"
81
+ },
82
+ "patterns": {
83
+ "type": "array",
84
+ "items": {
85
+ "type": "string"
86
+ }
87
+ },
88
+ "anti_patterns": {
89
+ "type": "array",
90
+ "items": {
91
+ "type": "string"
92
+ }
93
+ }
94
+ },
95
+ "additionalProperties": true
96
+ }
97
+ },
98
+ "visual_direction": {
99
+ "type": "object",
100
+ "properties": {
101
+ "source": {
102
+ "type": [
103
+ "string",
104
+ "null"
105
+ ]
106
+ },
107
+ "summary": {
108
+ "type": "string"
109
+ },
110
+ "tokens": {
111
+ "type": "object",
112
+ "additionalProperties": {
113
+ "type": "string"
114
+ }
115
+ }
116
+ },
117
+ "additionalProperties": true
118
+ },
119
+ "visual_concept_policy": {
120
+ "type": "object",
121
+ "required": [
122
+ "image_generation",
123
+ "skip_reason"
124
+ ],
125
+ "properties": {
126
+ "image_generation": {
127
+ "type": "string",
128
+ "enum": [
129
+ "generated",
130
+ "skipped_by_user",
131
+ "not_applicable"
132
+ ]
133
+ },
134
+ "skip_reason": {
135
+ "type": [
136
+ "string",
137
+ "null"
138
+ ]
139
+ }
140
+ },
141
+ "additionalProperties": true
142
+ },
143
+ "concept_evidence": {
144
+ "type": "array",
145
+ "items": {
146
+ "type": "object",
147
+ "required": [
148
+ "kind",
149
+ "ref"
150
+ ],
151
+ "properties": {
152
+ "kind": {
153
+ "type": "string"
154
+ },
155
+ "ref": {
156
+ "type": "string"
157
+ },
158
+ "status": {
159
+ "type": "string"
160
+ }
161
+ },
162
+ "additionalProperties": true
163
+ }
164
+ },
165
+ "prototype_artifact": {
166
+ "type": "object",
167
+ "required": [
168
+ "path",
169
+ "type"
170
+ ],
171
+ "properties": {
172
+ "path": {
173
+ "type": "string"
174
+ },
175
+ "type": {
176
+ "type": "string"
177
+ }
178
+ },
179
+ "additionalProperties": true
180
+ },
181
+ "run": {
182
+ "type": "object",
183
+ "additionalProperties": true
184
+ },
185
+ "implementation_evidence": {
186
+ "type": "array",
187
+ "items": {
188
+ "type": "object",
189
+ "required": [
190
+ "kind",
191
+ "ref"
192
+ ],
193
+ "properties": {
194
+ "kind": {
195
+ "type": "string"
196
+ },
197
+ "ref": {
198
+ "type": "string"
199
+ }
200
+ },
201
+ "additionalProperties": true
202
+ }
203
+ },
204
+ "observations": {
205
+ "type": "array",
206
+ "items": {
207
+ "type": "string"
208
+ }
209
+ },
210
+ "evidence": {
211
+ "type": "array",
212
+ "items": {
213
+ "type": "object",
214
+ "required": [
215
+ "kind",
216
+ "ref"
217
+ ],
218
+ "properties": {
219
+ "kind": {
220
+ "type": "string"
221
+ },
222
+ "ref": {
223
+ "type": "string"
224
+ }
225
+ },
226
+ "additionalProperties": true
227
+ }
228
+ },
229
+ "verification": {
230
+ "type": "object",
231
+ "properties": {
232
+ "browser_checks": {
233
+ "type": "array",
234
+ "items": {
235
+ "type": "string"
236
+ }
237
+ },
238
+ "screenshots": {
239
+ "type": "array",
240
+ "items": {
241
+ "type": "string"
242
+ }
243
+ },
244
+ "logs": {
245
+ "type": "array",
246
+ "items": {
247
+ "type": "string"
248
+ }
249
+ }
250
+ },
251
+ "additionalProperties": true
252
+ },
253
+ "self_critique": {
254
+ "type": "object",
255
+ "required": [
256
+ "philosophy",
257
+ "hierarchy",
258
+ "execution",
259
+ "specificity",
260
+ "restraint",
261
+ "accessibility",
262
+ "responsive_behavior",
263
+ "repairs"
264
+ ],
265
+ "properties": {
266
+ "philosophy": {
267
+ "type": "string"
268
+ },
269
+ "hierarchy": {
270
+ "type": "string"
271
+ },
272
+ "execution": {
273
+ "type": "string"
274
+ },
275
+ "specificity": {
276
+ "type": "string"
277
+ },
278
+ "restraint": {
279
+ "type": "string"
280
+ },
281
+ "accessibility": {
282
+ "type": "string"
283
+ },
284
+ "responsive_behavior": {
285
+ "type": "string"
286
+ },
287
+ "repairs": {
288
+ "type": "array",
289
+ "items": {
290
+ "type": "string"
291
+ }
292
+ }
293
+ },
294
+ "additionalProperties": true
295
+ },
296
+ "known_limits": {
297
+ "type": "array",
298
+ "items": {
299
+ "type": "string"
300
+ }
301
+ },
302
+ "result": {
303
+ "type": "string",
304
+ "enum": [
305
+ "pass",
306
+ "fail",
307
+ "unclear",
308
+ "not_reviewed"
309
+ ]
310
+ },
311
+ "handoff": {
312
+ "type": "object",
313
+ "required": [
314
+ "next_command"
315
+ ],
316
+ "properties": {
317
+ "next_command": {
318
+ "type": "string"
319
+ }
320
+ },
321
+ "additionalProperties": true
322
+ }
323
+ },
324
+ "additionalProperties": true
325
+ }