Skip to content

Commit e6c383d

Browse files
Merge pull request #1 from qbicsoftware/qbic-extract-config-bundle
feat: initial config bundle with V2 manifest and presets
2 parents 78db57b + e26e639 commit e6c383d

9 files changed

Lines changed: 1268 additions & 0 deletions
Lines changed: 198 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,198 @@
1+
{
2+
"$schema": "https://json-schema.org/draft/2020-12/schema",
3+
"$id": ".opencode/schemas/handoff.schema.json",
4+
"title": "OpenCode Handoff Artifact",
5+
"type": "object",
6+
"additionalProperties": false,
7+
"required": [
8+
"version",
9+
"kind",
10+
"handoff_id",
11+
"parent_handoff_id",
12+
"from_agent",
13+
"to_agent",
14+
"created_at",
15+
"status",
16+
"payload"
17+
],
18+
"properties": {
19+
"version": {
20+
"type": "integer",
21+
"const": 1
22+
},
23+
"kind": {
24+
"type": "string",
25+
"enum": [
26+
"implementation_plan",
27+
"review_summary",
28+
"docs_plan",
29+
"docs_result"
30+
]
31+
},
32+
"handoff_id": {
33+
"type": "string",
34+
"minLength": 1
35+
},
36+
"parent_handoff_id": {
37+
"type": [
38+
"string",
39+
"null"
40+
]
41+
},
42+
"from_agent": {
43+
"type": "string",
44+
"minLength": 1
45+
},
46+
"to_agent": {
47+
"type": "string",
48+
"minLength": 1
49+
},
50+
"created_at": {
51+
"type": "string",
52+
"format": "date-time",
53+
"description": "Use a simple ISO 8601 UTC timestamp like 2026-03-16T18:31:00Z"
54+
},
55+
"status": {
56+
"type": "string",
57+
"enum": [
58+
"pending",
59+
"in_progress",
60+
"done",
61+
"blocked"
62+
]
63+
},
64+
"payload": {
65+
"type": "object",
66+
"additionalProperties": false,
67+
"required": [
68+
"goal",
69+
"why",
70+
"files_to_modify",
71+
"files_to_inspect_only",
72+
"do_not_modify",
73+
"inputs_already_verified",
74+
"changes",
75+
"tests",
76+
"done_when",
77+
"abort_if"
78+
],
79+
"properties": {
80+
"goal": {
81+
"type": "string",
82+
"minLength": 1
83+
},
84+
"why": {
85+
"type": "string",
86+
"minLength": 1
87+
},
88+
"files_to_modify": {
89+
"$ref": "#/$defs/stringList"
90+
},
91+
"files_to_inspect_only": {
92+
"$ref": "#/$defs/stringList"
93+
},
94+
"do_not_modify": {
95+
"$ref": "#/$defs/stringList"
96+
},
97+
"inputs_already_verified": {
98+
"$ref": "#/$defs/stringList"
99+
},
100+
"changes": {
101+
"$ref": "#/$defs/stringList"
102+
},
103+
"tests": {
104+
"$ref": "#/$defs/stringList"
105+
},
106+
"done_when": {
107+
"$ref": "#/$defs/stringList"
108+
},
109+
"abort_if": {
110+
"$ref": "#/$defs/stringList"
111+
},
112+
"architecture_decisions": {
113+
"$ref": "#/$defs/stringList"
114+
},
115+
"target_symbols_or_sections": {
116+
"$ref": "#/$defs/stringList"
117+
},
118+
"execution_order": {
119+
"$ref": "#/$defs/stringList"
120+
},
121+
"interfaces_or_contracts_affected": {
122+
"$ref": "#/$defs/stringList"
123+
},
124+
"edge_cases_or_failure_paths": {
125+
"$ref": "#/$defs/stringList"
126+
},
127+
"out_of_scope": {
128+
"$ref": "#/$defs/stringList"
129+
},
130+
"verification_expectations": {
131+
"$ref": "#/$defs/stringList"
132+
},
133+
"examples": {
134+
"$ref": "#/$defs/stringList"
135+
},
136+
"review_focus": {
137+
"$ref": "#/$defs/stringList"
138+
},
139+
"known_risks_or_limitations": {
140+
"$ref": "#/$defs/stringList"
141+
}
142+
}
143+
}
144+
},
145+
"allOf": [
146+
{
147+
"if": {
148+
"properties": {
149+
"kind": {
150+
"const": "implementation_plan"
151+
}
152+
}
153+
},
154+
"then": {
155+
"properties": {
156+
"payload": {
157+
"required": [
158+
"architecture_decisions",
159+
"target_symbols_or_sections",
160+
"execution_order",
161+
"interfaces_or_contracts_affected",
162+
"edge_cases_or_failure_paths",
163+
"out_of_scope",
164+
"verification_expectations"
165+
]
166+
}
167+
}
168+
}
169+
},
170+
{
171+
"if": {
172+
"properties": {
173+
"kind": {
174+
"const": "docs_plan"
175+
}
176+
}
177+
},
178+
"then": {
179+
"properties": {
180+
"payload": {
181+
"required": [
182+
"examples"
183+
]
184+
}
185+
}
186+
}
187+
}
188+
],
189+
"$defs": {
190+
"stringList": {
191+
"type": "array",
192+
"items": {
193+
"type": "string",
194+
"minLength": 1
195+
}
196+
}
197+
}
198+
}

0 commit comments

Comments
 (0)