@alphazede/bearing-lite 0.2.2 → 1.0.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/CONTRIBUTING.md +11 -6
- package/README.md +224 -131
- package/com.github.copilot/hooks/hooks.json +33 -0
- package/hooks/assurance-budget.cjs +33 -11
- package/hooks/com.anthropic.claude-code/mapping.md +35 -16
- package/hooks/plan-package.cjs +5 -4
- package/hooks/policy.cjs +10 -4
- package/hooks/profiles.cjs +119 -0
- package/hooks/te-host.cjs +40 -5
- package/hooks/transition-order.cjs +12 -4
- package/hooks/verification.cjs +358 -0
- package/package.json +6 -3
- package/plugin.json +2 -34
- package/profiles.json +1 -0
- package/schemas/implementation.schema.json +204 -5
- package/schemas/journey.schema.json +3 -3
- package/schemas/profiles.schema.json +359 -0
- package/schemas/verification.schema.json +126 -0
- package/skills/{set-bearings → architectural-alignment}/SKILL.md +17 -13
- package/skills/{set-bearings → architectural-alignment}/templates/workspace.md +1 -1
- package/skills/bearing-lite/SKILL.md +22 -22
- package/skills/bearing-lite/references/assurance-policy.md +32 -16
- package/skills/bearing-lite/references/lineups.md +7 -110
- package/skills/bearing-lite/references/owner-stops.md +13 -13
- package/skills/bearing-lite/references/peer-synthesis.md +11 -12
- package/skills/bearing-lite/references/profiles.md +149 -0
- package/skills/bearing-lite/references/resume.md +30 -0
- package/skills/bearing-lite/references/review-policy.md +3 -3
- package/skills/bearing-lite/references/role-routing.mmd +14 -14
- package/skills/bearing-lite/references/task-state.md +10 -10
- package/skills/bearing-lite/references/task-state.mmd +2 -2
- package/skills/bearing-lite/references/verification.md +52 -0
- package/skills/bearing-lite/templates/task.md +29 -28
- package/skills/{explorer → coordinator}/SKILL.md +16 -16
- package/skills/{crewmate → implementer}/SKILL.md +17 -15
- package/skills/{repository-fit → intake}/SKILL.md +10 -9
- package/skills/integration-engineer/SKILL.md +17 -12
- package/skills/light-implementer/SKILL.md +6 -5
- package/skills/onboard-bearing/SKILL.md +46 -0
- package/skills/plan-integrator/SKILL.md +14 -14
- package/skills/{map-the-route → planning-and-design}/SKILL.md +27 -27
- package/skills/{map-the-route → planning-and-design}/references/artifact-grammar.md +29 -27
- package/skills/prompt/SKILL.md +245 -0
- package/skills/requirements-engineer/SKILL.md +11 -11
- package/skills/{park-ranger → reviewer}/SKILL.md +16 -13
- package/skills/{gather-supplies → scope-definition}/SKILL.md +13 -13
- package/skills/scribe/SKILL.md +8 -8
- package/skills/systems-modeler/SKILL.md +5 -3
- package/skills/test-engineer/SKILL.md +16 -13
- package/templates/dod-manifest-v1.html +648 -0
- package/tools/render-dod-manifest.mjs +1743 -0
- package/lineups.json +0 -1
- package/schemas/lineups.schema.json +0 -145
- package/skills/navigator/SKILL.md +0 -36
- package/skills/surveyor/SKILL.md +0 -48
- package/skills/validator/SKILL.md +0 -37
- package/skills/validator/references/grading-rubric.md +0 -40
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
3
|
"$id": "https://github.com/alphazede/bearing-lite/schemas/journey.schema.json",
|
|
4
4
|
"title": "Bearing Lite journey.json",
|
|
5
|
-
"description": "Append-only decisions and authority-event history plus the generation-bound checkout lease. The full mutable file digest is not the stable SEIT execution baseline. Extra lifecycle metadata is allowed at the document root. Lease identity fields stay closed.",
|
|
5
|
+
"description": "Append-only decisions and authority-event history plus the generation-bound checkout lease for a Bearing Lifecycle. The full mutable file digest is not the stable SEIT execution baseline. Extra lifecycle metadata is allowed at the document root. Lease identity fields stay closed. lineup_selection is not a live field; profile_selection is required.",
|
|
6
6
|
"type": "object",
|
|
7
7
|
"additionalProperties": true,
|
|
8
|
-
"required": ["schema_version", "journey", "checkout_lease", "decisions", "open_decisions", "planning_receipts", "
|
|
8
|
+
"required": ["schema_version", "journey", "checkout_lease", "decisions", "open_decisions", "planning_receipts", "profile_selection"],
|
|
9
9
|
"properties": {
|
|
10
10
|
"schema_version": {"type": "string", "minLength": 1},
|
|
11
11
|
"journey": {
|
|
@@ -91,7 +91,7 @@
|
|
|
91
91
|
}
|
|
92
92
|
},
|
|
93
93
|
"planning_receipts": {"type": "array", "items": {"type": "object", "additionalProperties": true}},
|
|
94
|
-
"
|
|
94
|
+
"profile_selection": {"type": "object", "additionalProperties": true},
|
|
95
95
|
"owner_wait_tracking": {"type": "boolean", "description": "Explicit coverage marker; absence is unavailable, never zero owner wait."},
|
|
96
96
|
"owner_blocked_intervals": {
|
|
97
97
|
"type": "array",
|
|
@@ -0,0 +1,359 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://github.com/alphazede/bearing-lite/schemas/profiles.schema.json",
|
|
4
|
+
"title": "Bearing Lite profiles.json",
|
|
5
|
+
"description": "User-owned named profile catalog. Packaged bytes stay an empty catalog with no defaults. Selection is not an authority grant. Normal runtime never reads lineups.json or default-role-lineup.md.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"additionalProperties": false,
|
|
8
|
+
"required": [
|
|
9
|
+
"schema_version",
|
|
10
|
+
"profiles"
|
|
11
|
+
],
|
|
12
|
+
"properties": {
|
|
13
|
+
"schema_version": {
|
|
14
|
+
"type": "integer",
|
|
15
|
+
"const": 1,
|
|
16
|
+
"description": "Integer 1. The string \"1\" used by Lifecycle artifacts is invalid here."
|
|
17
|
+
},
|
|
18
|
+
"profiles": {
|
|
19
|
+
"type": "object",
|
|
20
|
+
"description": "Named profiles. Empty object is valid. Unlimited keys; no maxProperties.",
|
|
21
|
+
"propertyNames": {
|
|
22
|
+
"type": "string",
|
|
23
|
+
"pattern": "^[A-Za-z][A-Za-z0-9_-]*$"
|
|
24
|
+
},
|
|
25
|
+
"additionalProperties": {
|
|
26
|
+
"$ref": "#/$defs/profile"
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
"defaults": {
|
|
30
|
+
"type": "object",
|
|
31
|
+
"description": "Optional user-owned recommendations. Not a grant.",
|
|
32
|
+
"additionalProperties": false,
|
|
33
|
+
"properties": {
|
|
34
|
+
"planning": {
|
|
35
|
+
"type": "string",
|
|
36
|
+
"minLength": 1
|
|
37
|
+
},
|
|
38
|
+
"implementation": {
|
|
39
|
+
"type": "string",
|
|
40
|
+
"minLength": 1
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
"$defs": {
|
|
46
|
+
"identity": {
|
|
47
|
+
"type": "object",
|
|
48
|
+
"additionalProperties": false,
|
|
49
|
+
"required": [
|
|
50
|
+
"harness",
|
|
51
|
+
"model",
|
|
52
|
+
"reasoning"
|
|
53
|
+
],
|
|
54
|
+
"properties": {
|
|
55
|
+
"harness": {
|
|
56
|
+
"type": "string",
|
|
57
|
+
"minLength": 1
|
|
58
|
+
},
|
|
59
|
+
"model": {
|
|
60
|
+
"type": "string",
|
|
61
|
+
"minLength": 1
|
|
62
|
+
},
|
|
63
|
+
"reasoning": {
|
|
64
|
+
"type": "string",
|
|
65
|
+
"minLength": 1
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
},
|
|
69
|
+
"fallback": {
|
|
70
|
+
"type": "object",
|
|
71
|
+
"additionalProperties": false,
|
|
72
|
+
"required": [
|
|
73
|
+
"condition",
|
|
74
|
+
"harness",
|
|
75
|
+
"model",
|
|
76
|
+
"reasoning"
|
|
77
|
+
],
|
|
78
|
+
"properties": {
|
|
79
|
+
"condition": {
|
|
80
|
+
"type": "string",
|
|
81
|
+
"minLength": 1
|
|
82
|
+
},
|
|
83
|
+
"harness": {
|
|
84
|
+
"type": "string",
|
|
85
|
+
"minLength": 1
|
|
86
|
+
},
|
|
87
|
+
"model": {
|
|
88
|
+
"type": "string",
|
|
89
|
+
"minLength": 1
|
|
90
|
+
},
|
|
91
|
+
"reasoning": {
|
|
92
|
+
"type": "string",
|
|
93
|
+
"minLength": 1
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
},
|
|
97
|
+
"cadence": {
|
|
98
|
+
"type": "string",
|
|
99
|
+
"enum": [
|
|
100
|
+
"slice",
|
|
101
|
+
"phase",
|
|
102
|
+
"lifecycle"
|
|
103
|
+
]
|
|
104
|
+
},
|
|
105
|
+
"route": {
|
|
106
|
+
"type": "object",
|
|
107
|
+
"additionalProperties": false,
|
|
108
|
+
"required": [
|
|
109
|
+
"enabled",
|
|
110
|
+
"primary",
|
|
111
|
+
"ordered_fallbacks"
|
|
112
|
+
],
|
|
113
|
+
"properties": {
|
|
114
|
+
"enabled": {
|
|
115
|
+
"type": "boolean"
|
|
116
|
+
},
|
|
117
|
+
"primary": {
|
|
118
|
+
"$ref": "#/$defs/identity"
|
|
119
|
+
},
|
|
120
|
+
"ordered_fallbacks": {
|
|
121
|
+
"type": "array",
|
|
122
|
+
"items": {
|
|
123
|
+
"$ref": "#/$defs/fallback"
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
},
|
|
128
|
+
"reviewerRoute": {
|
|
129
|
+
"type": "object",
|
|
130
|
+
"additionalProperties": false,
|
|
131
|
+
"required": [
|
|
132
|
+
"enabled",
|
|
133
|
+
"primary",
|
|
134
|
+
"ordered_fallbacks"
|
|
135
|
+
],
|
|
136
|
+
"properties": {
|
|
137
|
+
"enabled": {
|
|
138
|
+
"type": "boolean"
|
|
139
|
+
},
|
|
140
|
+
"primary": {
|
|
141
|
+
"$ref": "#/$defs/identity"
|
|
142
|
+
},
|
|
143
|
+
"ordered_fallbacks": {
|
|
144
|
+
"type": "array",
|
|
145
|
+
"items": {
|
|
146
|
+
"$ref": "#/$defs/fallback"
|
|
147
|
+
}
|
|
148
|
+
},
|
|
149
|
+
"cadence": {
|
|
150
|
+
"$ref": "#/$defs/cadence"
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
},
|
|
154
|
+
"assuranceSession": {
|
|
155
|
+
"type": "object",
|
|
156
|
+
"additionalProperties": false,
|
|
157
|
+
"required": [
|
|
158
|
+
"enabled",
|
|
159
|
+
"primary",
|
|
160
|
+
"ordered_fallbacks"
|
|
161
|
+
],
|
|
162
|
+
"properties": {
|
|
163
|
+
"enabled": {
|
|
164
|
+
"type": "boolean"
|
|
165
|
+
},
|
|
166
|
+
"primary": {
|
|
167
|
+
"$ref": "#/$defs/identity"
|
|
168
|
+
},
|
|
169
|
+
"ordered_fallbacks": {
|
|
170
|
+
"type": "array",
|
|
171
|
+
"items": {
|
|
172
|
+
"$ref": "#/$defs/fallback"
|
|
173
|
+
}
|
|
174
|
+
},
|
|
175
|
+
"cadence": {
|
|
176
|
+
"$ref": "#/$defs/cadence"
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
},
|
|
180
|
+
"sessionedRole": {
|
|
181
|
+
"type": "object",
|
|
182
|
+
"additionalProperties": false,
|
|
183
|
+
"required": [
|
|
184
|
+
"sessions"
|
|
185
|
+
],
|
|
186
|
+
"properties": {
|
|
187
|
+
"sessions": {
|
|
188
|
+
"type": "object",
|
|
189
|
+
"minProperties": 1,
|
|
190
|
+
"additionalProperties": false,
|
|
191
|
+
"properties": {
|
|
192
|
+
"planning": {
|
|
193
|
+
"$ref": "#/$defs/route"
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
},
|
|
199
|
+
"testEngineerRole": {
|
|
200
|
+
"type": "object",
|
|
201
|
+
"additionalProperties": false,
|
|
202
|
+
"required": [
|
|
203
|
+
"sessions"
|
|
204
|
+
],
|
|
205
|
+
"properties": {
|
|
206
|
+
"sessions": {
|
|
207
|
+
"type": "object",
|
|
208
|
+
"minProperties": 1,
|
|
209
|
+
"additionalProperties": false,
|
|
210
|
+
"properties": {
|
|
211
|
+
"planning": {
|
|
212
|
+
"$ref": "#/$defs/route"
|
|
213
|
+
},
|
|
214
|
+
"assurance": {
|
|
215
|
+
"$ref": "#/$defs/assuranceSession"
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
},
|
|
221
|
+
"integrationEngineerRole": {
|
|
222
|
+
"type": "object",
|
|
223
|
+
"additionalProperties": false,
|
|
224
|
+
"required": [
|
|
225
|
+
"sessions"
|
|
226
|
+
],
|
|
227
|
+
"properties": {
|
|
228
|
+
"sessions": {
|
|
229
|
+
"type": "object",
|
|
230
|
+
"minProperties": 1,
|
|
231
|
+
"additionalProperties": false,
|
|
232
|
+
"properties": {
|
|
233
|
+
"planning": {
|
|
234
|
+
"$ref": "#/$defs/route"
|
|
235
|
+
},
|
|
236
|
+
"execution": {
|
|
237
|
+
"$ref": "#/$defs/assuranceSession"
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
},
|
|
243
|
+
"profile": {
|
|
244
|
+
"type": "object",
|
|
245
|
+
"additionalProperties": false,
|
|
246
|
+
"required": [
|
|
247
|
+
"roles"
|
|
248
|
+
],
|
|
249
|
+
"properties": {
|
|
250
|
+
"roles": {
|
|
251
|
+
"type": "object",
|
|
252
|
+
"additionalProperties": false,
|
|
253
|
+
"properties": {
|
|
254
|
+
"implementer": {
|
|
255
|
+
"$ref": "#/$defs/route"
|
|
256
|
+
},
|
|
257
|
+
"light_implementer": {
|
|
258
|
+
"$ref": "#/$defs/route"
|
|
259
|
+
},
|
|
260
|
+
"coordinator": {
|
|
261
|
+
"$ref": "#/$defs/route"
|
|
262
|
+
},
|
|
263
|
+
"reviewer": {
|
|
264
|
+
"$ref": "#/$defs/reviewerRoute"
|
|
265
|
+
},
|
|
266
|
+
"scribe": {
|
|
267
|
+
"$ref": "#/$defs/route"
|
|
268
|
+
},
|
|
269
|
+
"plan_integrator": {
|
|
270
|
+
"$ref": "#/$defs/route"
|
|
271
|
+
},
|
|
272
|
+
"systems_modeler": {
|
|
273
|
+
"$ref": "#/$defs/sessionedRole"
|
|
274
|
+
},
|
|
275
|
+
"test_engineer": {
|
|
276
|
+
"$ref": "#/$defs/testEngineerRole"
|
|
277
|
+
},
|
|
278
|
+
"integration_engineer": {
|
|
279
|
+
"$ref": "#/$defs/integrationEngineerRole"
|
|
280
|
+
},
|
|
281
|
+
"requirements_engineer": {
|
|
282
|
+
"$ref": "#/$defs/sessionedRole"
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
},
|
|
286
|
+
"development_strategy": {
|
|
287
|
+
"type": "object",
|
|
288
|
+
"additionalProperties": false,
|
|
289
|
+
"required": [
|
|
290
|
+
"mode"
|
|
291
|
+
],
|
|
292
|
+
"properties": {
|
|
293
|
+
"mode": {
|
|
294
|
+
"type": "string",
|
|
295
|
+
"enum": [
|
|
296
|
+
"single_implementer",
|
|
297
|
+
"tdd"
|
|
298
|
+
]
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
},
|
|
302
|
+
"planning_to_implementation_clean_session": {
|
|
303
|
+
"type": "boolean"
|
|
304
|
+
},
|
|
305
|
+
"concurrency": {
|
|
306
|
+
"type": "object",
|
|
307
|
+
"additionalProperties": false,
|
|
308
|
+
"properties": {
|
|
309
|
+
"dispatch_ready_independent_work": {
|
|
310
|
+
"type": "boolean"
|
|
311
|
+
},
|
|
312
|
+
"preserve_order_for_dependencies_interfaces_write_overlap_and_shared_mutable_resources": {
|
|
313
|
+
"type": "boolean"
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
},
|
|
317
|
+
"holds": {
|
|
318
|
+
"type": "array",
|
|
319
|
+
"items": {
|
|
320
|
+
"type": "object",
|
|
321
|
+
"additionalProperties": true,
|
|
322
|
+
"required": [
|
|
323
|
+
"id",
|
|
324
|
+
"effect"
|
|
325
|
+
],
|
|
326
|
+
"properties": {
|
|
327
|
+
"id": {
|
|
328
|
+
"type": "string",
|
|
329
|
+
"minLength": 1
|
|
330
|
+
},
|
|
331
|
+
"effect": {
|
|
332
|
+
"type": "string",
|
|
333
|
+
"minLength": 1
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
}
|
|
337
|
+
},
|
|
338
|
+
"deterministic_verification": {
|
|
339
|
+
"type": "object",
|
|
340
|
+
"additionalProperties": false,
|
|
341
|
+
"properties": {
|
|
342
|
+
"reverify": {
|
|
343
|
+
"type": "object",
|
|
344
|
+
"additionalProperties": false,
|
|
345
|
+
"required": [
|
|
346
|
+
"enabled"
|
|
347
|
+
],
|
|
348
|
+
"properties": {
|
|
349
|
+
"enabled": {
|
|
350
|
+
"type": "boolean"
|
|
351
|
+
}
|
|
352
|
+
}
|
|
353
|
+
}
|
|
354
|
+
}
|
|
355
|
+
}
|
|
356
|
+
}
|
|
357
|
+
}
|
|
358
|
+
}
|
|
359
|
+
}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://github.com/alphazede/bearing-lite/schemas/verification.schema.json",
|
|
4
|
+
"title": "Bearing Lite deterministic verification request and receipt",
|
|
5
|
+
"description": "DES-BDL-008 / AC-BDL-009. A request binds candidate, claim, backend, stage, authority, expected result, and command/configuration. A receipt binds the same candidate, claim, backend, version, command/configuration, and evidence digest. Schema validates structure only; hooks/verification.cjs enforces diagnostic-versus-assurance, independence, and gate eligibility. Extra lifecycle metadata is not allowed.",
|
|
6
|
+
"oneOf": [
|
|
7
|
+
{ "$ref": "#/$defs/request" },
|
|
8
|
+
{ "$ref": "#/$defs/receipt" }
|
|
9
|
+
],
|
|
10
|
+
"$defs": {
|
|
11
|
+
"nonempty": {
|
|
12
|
+
"type": "string",
|
|
13
|
+
"minLength": 1
|
|
14
|
+
},
|
|
15
|
+
"sha256": {
|
|
16
|
+
"type": "string",
|
|
17
|
+
"pattern": "^[0-9a-f]{64}$"
|
|
18
|
+
},
|
|
19
|
+
"authority": {
|
|
20
|
+
"type": "string",
|
|
21
|
+
"enum": ["diagnostic", "assurance"]
|
|
22
|
+
},
|
|
23
|
+
"stage": {
|
|
24
|
+
"type": "string",
|
|
25
|
+
"enum": [
|
|
26
|
+
"implementation",
|
|
27
|
+
"integration",
|
|
28
|
+
"assurance",
|
|
29
|
+
"review",
|
|
30
|
+
"post_repair_closure"
|
|
31
|
+
]
|
|
32
|
+
},
|
|
33
|
+
"status": {
|
|
34
|
+
"type": "string",
|
|
35
|
+
"enum": ["VERIFIED", "REFUTED", "INCONCLUSIVE", "ERROR"]
|
|
36
|
+
},
|
|
37
|
+
"expected_result": {
|
|
38
|
+
"type": "string",
|
|
39
|
+
"enum": ["VERIFIED", "REFUTED"]
|
|
40
|
+
},
|
|
41
|
+
"command_configuration": {
|
|
42
|
+
"type": "object",
|
|
43
|
+
"minProperties": 1,
|
|
44
|
+
"additionalProperties": true
|
|
45
|
+
},
|
|
46
|
+
"produced_by": {
|
|
47
|
+
"type": "object",
|
|
48
|
+
"additionalProperties": false,
|
|
49
|
+
"required": ["role", "identity", "session"],
|
|
50
|
+
"properties": {
|
|
51
|
+
"role": { "$ref": "#/$defs/nonempty" },
|
|
52
|
+
"identity": { "$ref": "#/$defs/nonempty" },
|
|
53
|
+
"session": { "$ref": "#/$defs/nonempty" }
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
"request": {
|
|
57
|
+
"type": "object",
|
|
58
|
+
"additionalProperties": false,
|
|
59
|
+
"required": [
|
|
60
|
+
"schema_version",
|
|
61
|
+
"kind",
|
|
62
|
+
"candidate_ref",
|
|
63
|
+
"candidate_revision",
|
|
64
|
+
"claim_id",
|
|
65
|
+
"claim_type",
|
|
66
|
+
"backend",
|
|
67
|
+
"stage",
|
|
68
|
+
"authority",
|
|
69
|
+
"expected_result",
|
|
70
|
+
"command_configuration",
|
|
71
|
+
"selected",
|
|
72
|
+
"required"
|
|
73
|
+
],
|
|
74
|
+
"properties": {
|
|
75
|
+
"schema_version": { "type": "string", "const": "1" },
|
|
76
|
+
"kind": { "type": "string", "const": "request" },
|
|
77
|
+
"candidate_ref": { "$ref": "#/$defs/nonempty" },
|
|
78
|
+
"candidate_revision": { "$ref": "#/$defs/nonempty" },
|
|
79
|
+
"candidate_digest": { "$ref": "#/$defs/sha256" },
|
|
80
|
+
"claim_id": { "$ref": "#/$defs/nonempty" },
|
|
81
|
+
"claim_type": { "$ref": "#/$defs/nonempty" },
|
|
82
|
+
"backend": { "$ref": "#/$defs/nonempty" },
|
|
83
|
+
"stage": { "$ref": "#/$defs/stage" },
|
|
84
|
+
"authority": { "$ref": "#/$defs/authority" },
|
|
85
|
+
"expected_result": { "$ref": "#/$defs/expected_result" },
|
|
86
|
+
"command_configuration": { "$ref": "#/$defs/command_configuration" },
|
|
87
|
+
"selected": { "type": "boolean" },
|
|
88
|
+
"required": { "type": "boolean" }
|
|
89
|
+
}
|
|
90
|
+
},
|
|
91
|
+
"receipt": {
|
|
92
|
+
"type": "object",
|
|
93
|
+
"additionalProperties": false,
|
|
94
|
+
"required": [
|
|
95
|
+
"schema_version",
|
|
96
|
+
"kind",
|
|
97
|
+
"status",
|
|
98
|
+
"candidate_ref",
|
|
99
|
+
"candidate_revision",
|
|
100
|
+
"claim_id",
|
|
101
|
+
"backend",
|
|
102
|
+
"backend_version",
|
|
103
|
+
"command_configuration",
|
|
104
|
+
"evidence_digest",
|
|
105
|
+
"authority",
|
|
106
|
+
"produced_by"
|
|
107
|
+
],
|
|
108
|
+
"properties": {
|
|
109
|
+
"schema_version": { "type": "string", "const": "1" },
|
|
110
|
+
"kind": { "type": "string", "const": "receipt" },
|
|
111
|
+
"status": { "$ref": "#/$defs/status" },
|
|
112
|
+
"candidate_ref": { "$ref": "#/$defs/nonempty" },
|
|
113
|
+
"candidate_revision": { "$ref": "#/$defs/nonempty" },
|
|
114
|
+
"candidate_digest": { "$ref": "#/$defs/sha256" },
|
|
115
|
+
"claim_id": { "$ref": "#/$defs/nonempty" },
|
|
116
|
+
"backend": { "$ref": "#/$defs/nonempty" },
|
|
117
|
+
"backend_version": { "$ref": "#/$defs/nonempty" },
|
|
118
|
+
"command_configuration": { "$ref": "#/$defs/command_configuration" },
|
|
119
|
+
"evidence_digest": { "$ref": "#/$defs/sha256" },
|
|
120
|
+
"authority": { "$ref": "#/$defs/authority" },
|
|
121
|
+
"produced_by": { "$ref": "#/$defs/produced_by" },
|
|
122
|
+
"stage": { "$ref": "#/$defs/stage" }
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
}
|
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
2
|
+
name: architectural-alignment
|
|
3
3
|
description: >
|
|
4
|
-
Create or resume the visible
|
|
5
|
-
after
|
|
6
|
-
context. Do not use before fit, for owner decisions, design,
|
|
7
|
-
hidden state, or deleting historical plans.
|
|
4
|
+
Create or resume the visible Lifecycle workspace and bounded repository map
|
|
5
|
+
after Intake is confirmed. Use for Architectural Alignment or stale
|
|
6
|
+
project context. Do not use before fit, for owner decisions, design,
|
|
7
|
+
implementation, hidden state, or deleting historical plans.
|
|
8
8
|
---
|
|
9
9
|
|
|
10
|
-
#
|
|
10
|
+
# Architectural Alignment
|
|
11
11
|
|
|
12
|
-
Fresh planning node. The
|
|
12
|
+
Fresh planning node. The Orchestrator announces `Aligning architecture in <repo>.`
|
|
13
13
|
|
|
14
14
|
## Inputs and match
|
|
15
15
|
|
|
16
|
-
- **Inputs:** confirmed repository root, owner-confirmed plan directory,
|
|
16
|
+
- **Inputs:** confirmed repository root, owner-confirmed plan directory, Lifecycle
|
|
17
17
|
title, visible existing artifacts, repository rules, and return schema.
|
|
18
|
-
- **Match:** the workspace
|
|
19
|
-
- **Non-match:** both are current and usable by
|
|
18
|
+
- **Match:** the workspace, repository map, or architecture extract is missing or stale.
|
|
19
|
+
- **Non-match:** both are current and usable by Scope Definition or Planning and Design.
|
|
20
20
|
|
|
21
21
|
## Algorithm
|
|
22
22
|
|
|
@@ -30,13 +30,17 @@ Fresh planning node. The Router announces `Setting Our Bearings in <repo>.`
|
|
|
30
30
|
root manifest, task runner, CI entrypoint, top-level instructions, and root
|
|
31
31
|
test configs. Strictly prohibit discovery traversal into repo-relative
|
|
32
32
|
`src/`, `lib/`, `vendor/`, and `docs/`.
|
|
33
|
-
4.
|
|
33
|
+
4. Extract existing architecture covering the affected scope. If none exists or
|
|
34
|
+
evidence does not cover it, record that gap, establish minimum system context
|
|
35
|
+
from repository facts and owner intent, and activate Systems Modeler rather
|
|
36
|
+
than inventing architecture.
|
|
37
|
+
5. If bounds are exhausted before required anchors are found, return
|
|
34
38
|
`NEEDS_EVIDENCE` naming the missing anchor. Never compose unobserved commands.
|
|
35
|
-
|
|
39
|
+
6. Create missing plan directory or update `workspace.md` in place, preserving
|
|
36
40
|
existing recorded evidence and unrelated edits. Initialize a missing file
|
|
37
41
|
from `templates/workspace.md`. Quote validation commands with source and mark
|
|
38
42
|
`[observed, not run]`. Drop detail before Constraints and Unknowns.
|
|
39
|
-
|
|
43
|
+
7. Verify written paths remain inside authority and return `WORKSPACE_READY`.
|
|
40
44
|
|
|
41
45
|
## Return and recovery
|
|
42
46
|
|
|
@@ -1,35 +1,35 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: bearing-lite
|
|
3
|
-
description: Bearing Lite
|
|
3
|
+
description: Bearing Lite Orchestrator for Lifecycles. Not for ordinary work, assigned packets, implementation, or publication.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
planning nodes return owner questions. Plugin hosts are partial; skill-copy is skills-only.
|
|
6
|
+
Orchestrator alone writes Lifecycle planning state, owns owner conversation, and owns
|
|
7
|
+
sequencing; planning nodes return owner questions. Plugin hosts are partial; skill-copy is skills-only.
|
|
8
8
|
|
|
9
|
-
1. Say `Preparing this
|
|
9
|
+
1. Say `Preparing this Lifecycle.` Acquire or resume a generation-bound checkout lease before
|
|
10
10
|
planning or dispatch. A live same-checkout competitor returns `WAITING_ON` with sanitized identity.
|
|
11
11
|
2. Resume the next incomplete stage in the same generation; refresh `candidate_revision`.
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
12
|
+
One host-native liveness check classifies RUNNING, COMPLETED, INACTIVE, or UNKNOWN.
|
|
13
|
+
Never replay accepted stages or duplicate dispatch.
|
|
14
|
+
UNKNOWN without owner-requested resume returns `WAITING_ON`. Invalid leases fail closed.
|
|
15
|
+
3. Profile comes only from `~/.agents/bearing-lite/profiles.json` per
|
|
16
|
+
`references/profiles.md`; a missing catalog returns `no_named_profiles`,
|
|
17
|
+
never a generated file; never infer identity values. A leftover user lineup
|
|
18
|
+
returns `MIGRATION_REQUIRED`. The Orchestrator is observed, not selected.
|
|
19
|
+
The recorded snapshot is authoritative for this Lifecycle. Later edits to
|
|
20
|
+
`~/.agents/bearing-lite/profiles.json` have no effect on it except through an
|
|
21
|
+
explicit owner-confirmed dated visible amendment. Dispatch uses that snapshot.
|
|
22
|
+
4. Run Intake → Architectural Alignment → Scope Definition; unresolved material intent blocks Planning and Design.
|
|
23
|
+
5. Invoke Planning and Design after settled intent. Do not ask for profile or route
|
|
24
|
+
before it; carry owner-supplied profile and cadence.
|
|
22
25
|
6. Enforce `references/review-policy.md` and `references/owner-stops.md`. Show one integrated
|
|
23
|
-
approval-or-change gate
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
7. Crewmate and Explorer may continue in-wave. `work_class: light` slices go to the
|
|
28
|
-
Light Implementer; a `reclassify: judgement` return re-dispatches to the Crewmate.
|
|
29
|
-
Use visible wave receipts and update implementation and review once per wave.
|
|
26
|
+
approval-or-change gate. Record the approved Lifecycle type and snapshot.
|
|
27
|
+
Never add a staged profile or route-review gate. Dispatch only after approval.
|
|
28
|
+
7. Implementer and Coordinator may continue in-wave. `work_class: light` slices go to Light
|
|
29
|
+
Implementer; `reclassify: judgement` re-dispatches to Implementer. Use visible wave receipts and update implementation and DoD Manifest once per wave.
|
|
30
30
|
|
|
31
31
|
Return `READY`, `WAITING_ON`, `OWNER_DECISION_REQUIRED`, or `COMPLETE`.
|
|
32
|
-
`max_assurance_rounds` is 1 per declared phase or wave-end, not per
|
|
32
|
+
`max_assurance_rounds` is 1 per declared phase or wave-end, not per Lifecycle;
|
|
33
33
|
Direct route checks `assurance_rounds`, never
|
|
34
34
|
dispatch Navigator, and one review may authorize one repair. Verify repair
|
|
35
35
|
deterministically without another review; failed repair/scope change returns
|