@alphazede/bearing-lite 0.1.11 → 0.2.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 +25 -0
- package/README.md +39 -13
- package/hooks/assurance-budget.cjs +167 -0
- package/hooks/com.anthropic.claude-code/mapping.md +72 -0
- package/hooks/com.cursor/hooks.json +11 -1
- package/hooks/hooks.json +45 -1
- package/hooks/te-capability.cjs +137 -0
- package/hooks/te-host.cjs +620 -0
- package/hooks/transition-order.cjs +32 -2
- package/lineups.json +1 -0
- package/package.json +4 -2
- package/plugin.json +1 -1
- package/schemas/authority.schema.json +75 -0
- package/schemas/implementation.schema.json +127 -0
- package/schemas/journey.schema.json +88 -0
- package/schemas/lineups.schema.json +145 -0
- package/schemas/seit.schema.json +108 -0
- package/skills/bearing-lite/SKILL.md +15 -15
- package/skills/bearing-lite/references/assurance-policy.md +66 -0
- package/skills/bearing-lite/references/lineups.md +81 -0
- package/skills/bearing-lite/references/peer-synthesis.md +7 -3
- package/skills/bearing-lite/references/role-routing.mmd +2 -2
- package/skills/bearing-lite/references/task-state.md +4 -4
- package/skills/bearing-lite/references/task-state.mmd +1 -1
- package/skills/bearing-lite/templates/default-role-lineup.md +7 -1
- package/skills/bearing-lite/templates/task.md +16 -10
- package/skills/crewmate/SKILL.md +3 -0
- package/skills/explorer/SKILL.md +7 -6
- package/skills/gather-supplies/SKILL.md +7 -1
- package/skills/integration-engineer/SKILL.md +41 -0
- package/skills/map-the-route/SKILL.md +7 -6
- package/skills/map-the-route/references/artifact-grammar.md +47 -29
- package/skills/park-ranger/SKILL.md +14 -9
- package/skills/plan-integrator/SKILL.md +37 -0
- package/skills/scribe/SKILL.md +34 -0
- package/skills/surveyor/SKILL.md +15 -9
- package/skills/systems-modeler/SKILL.md +35 -0
- package/skills/test-engineer/SKILL.md +46 -0
- package/skills/validator/SKILL.md +20 -27
- package/skills/validator/references/grading-rubric.md +5 -4
package/plugin.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
|
|
3
3
|
"name": "bearing-lite",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.2.0",
|
|
5
5
|
"description": "Skills-first portable plugin that routes repository work through the smallest valid planning stages and agent roles, using project Markdown as the only task record.",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "William Rumph / AlphaZede",
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://github.com/alphazede/bearing-lite/schemas/authority.schema.json",
|
|
4
|
+
"title": "Bearing Lite authority.json",
|
|
5
|
+
"description": "Current machine-enforced authority envelope. Lineup or route selection is not a grant. CONTRACT-EMV-009 envelope fields are required. Canonical keys are granting_owner_decisions (array) and expiry_conditions (array of strings). effective is boolean only. Extra lifecycle metadata is allowed.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"additionalProperties": true,
|
|
8
|
+
"required": [
|
|
9
|
+
"schema_version",
|
|
10
|
+
"schema",
|
|
11
|
+
"id",
|
|
12
|
+
"state",
|
|
13
|
+
"subject",
|
|
14
|
+
"repositories",
|
|
15
|
+
"baseline",
|
|
16
|
+
"granting_owner_decisions",
|
|
17
|
+
"allowed",
|
|
18
|
+
"prohibited",
|
|
19
|
+
"role_grants",
|
|
20
|
+
"effective",
|
|
21
|
+
"expiry_conditions",
|
|
22
|
+
"supersedes",
|
|
23
|
+
"approval_receipt"
|
|
24
|
+
],
|
|
25
|
+
"properties": {
|
|
26
|
+
"schema_version": { "type": "string", "minLength": 1 },
|
|
27
|
+
"schema": { "type": "string", "minLength": 1, "description": "Envelope schema identity" },
|
|
28
|
+
"id": { "type": "string", "minLength": 1, "description": "Authority envelope ID" },
|
|
29
|
+
"state": { "type": "string", "minLength": 1 },
|
|
30
|
+
"subject": { "type": "object", "minProperties": 1, "additionalProperties": true },
|
|
31
|
+
"repositories": {
|
|
32
|
+
"type": "array",
|
|
33
|
+
"items": { "type": "object", "additionalProperties": true }
|
|
34
|
+
},
|
|
35
|
+
"baseline": { "type": "object", "minProperties": 1, "additionalProperties": true },
|
|
36
|
+
"granting_owner_decisions": {
|
|
37
|
+
"type": "array",
|
|
38
|
+
"items": { "type": "string", "minLength": 1 }
|
|
39
|
+
},
|
|
40
|
+
"allowed": {
|
|
41
|
+
"type": "object",
|
|
42
|
+
"additionalProperties": true,
|
|
43
|
+
"required": ["scope", "actions", "paths"],
|
|
44
|
+
"properties": {
|
|
45
|
+
"scope": { "type": "array", "items": { "type": "string" } },
|
|
46
|
+
"actions": { "type": "array", "items": { "type": "string" } },
|
|
47
|
+
"paths": { "type": "array", "items": { "type": "string" } }
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
"prohibited": {
|
|
51
|
+
"type": "object",
|
|
52
|
+
"additionalProperties": true,
|
|
53
|
+
"required": ["scope", "actions", "paths"],
|
|
54
|
+
"properties": {
|
|
55
|
+
"scope": { "type": "array", "items": { "type": "string" } },
|
|
56
|
+
"actions": { "type": "array", "items": { "type": "string" } },
|
|
57
|
+
"paths": { "type": "array", "items": { "type": "string" } }
|
|
58
|
+
}
|
|
59
|
+
},
|
|
60
|
+
"role_grants": {
|
|
61
|
+
"type": "array",
|
|
62
|
+
"items": { "type": "object", "additionalProperties": true }
|
|
63
|
+
},
|
|
64
|
+
"effective": { "type": "boolean", "description": "Machine-enforced effectiveness. Boolean only: a string is not an effectiveness decision." },
|
|
65
|
+
"expiry_conditions": {
|
|
66
|
+
"type": "array",
|
|
67
|
+
"items": { "type": "string", "minLength": 1 }
|
|
68
|
+
},
|
|
69
|
+
"supersedes": {
|
|
70
|
+
"type": "array",
|
|
71
|
+
"items": { "type": "string" }
|
|
72
|
+
},
|
|
73
|
+
"approval_receipt": { "type": "object", "additionalProperties": true }
|
|
74
|
+
}
|
|
75
|
+
}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://github.com/alphazede/bearing-lite/schemas/implementation.schema.json",
|
|
4
|
+
"title": "Bearing Lite implementation.json",
|
|
5
|
+
"description": "Nested execution authority. XLSX is never authority. Owner-configured n, k, and c have no assistant default integers. Every slice requires CONTRACT-EMV-008 fields including reasoning_level (object), not a sibling reasoning string. human_decision may be a string, object, or null. authority_id is a nonempty string on dispatchable slices and may be null only when dispatchable is false or slice_status is publication-blocked. Extra lifecycle metadata is allowed.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"additionalProperties": true,
|
|
8
|
+
"required": [
|
|
9
|
+
"schema_version",
|
|
10
|
+
"artifact",
|
|
11
|
+
"source_baseline",
|
|
12
|
+
"journey_settings",
|
|
13
|
+
"lineup_freeze",
|
|
14
|
+
"waves",
|
|
15
|
+
"dependencies",
|
|
16
|
+
"slices",
|
|
17
|
+
"traceability"
|
|
18
|
+
],
|
|
19
|
+
"$defs": {
|
|
20
|
+
"contentfulObject": {
|
|
21
|
+
"type": "object",
|
|
22
|
+
"minProperties": 1,
|
|
23
|
+
"additionalProperties": true
|
|
24
|
+
},
|
|
25
|
+
"stringList": {
|
|
26
|
+
"type": "array",
|
|
27
|
+
"items": { "type": "string" }
|
|
28
|
+
},
|
|
29
|
+
"slice": {
|
|
30
|
+
"type": "object",
|
|
31
|
+
"additionalProperties": true,
|
|
32
|
+
"required": [
|
|
33
|
+
"role",
|
|
34
|
+
"goal",
|
|
35
|
+
"type",
|
|
36
|
+
"requirement_ids",
|
|
37
|
+
"design_ids",
|
|
38
|
+
"seit_proof_rows",
|
|
39
|
+
"design_lenses",
|
|
40
|
+
"model_route",
|
|
41
|
+
"reasoning_level",
|
|
42
|
+
"review_path",
|
|
43
|
+
"write_set",
|
|
44
|
+
"command_ids",
|
|
45
|
+
"stop_condition",
|
|
46
|
+
"human_decision",
|
|
47
|
+
"authority_id"
|
|
48
|
+
],
|
|
49
|
+
"properties": {
|
|
50
|
+
"id": { "type": "string" },
|
|
51
|
+
"role": { "type": "string", "minLength": 1 },
|
|
52
|
+
"goal": { "type": "string", "minLength": 1, "maxLength": 512 },
|
|
53
|
+
"type": { "type": "string", "minLength": 1 },
|
|
54
|
+
"requirement_ids": { "$ref": "#/$defs/stringList" },
|
|
55
|
+
"design_ids": { "$ref": "#/$defs/stringList" },
|
|
56
|
+
"seit_proof_rows": { "$ref": "#/$defs/stringList" },
|
|
57
|
+
"design_lenses": { "$ref": "#/$defs/stringList" },
|
|
58
|
+
"model_route": { "$ref": "#/$defs/contentfulObject" },
|
|
59
|
+
"reasoning_level": { "$ref": "#/$defs/contentfulObject" },
|
|
60
|
+
"review_path": { "$ref": "#/$defs/contentfulObject" },
|
|
61
|
+
"write_set": { "$ref": "#/$defs/stringList" },
|
|
62
|
+
"command_ids": { "$ref": "#/$defs/stringList" },
|
|
63
|
+
"stop_condition": { "type": "string", "minLength": 1 },
|
|
64
|
+
"human_decision": { "type": ["string", "object", "null"] },
|
|
65
|
+
"authority_id": { "type": ["string", "null"] },
|
|
66
|
+
"dispatchable": { "type": "boolean" },
|
|
67
|
+
"slice_status": { "type": "string" }
|
|
68
|
+
},
|
|
69
|
+
"if": {
|
|
70
|
+
"not": {
|
|
71
|
+
"anyOf": [
|
|
72
|
+
{
|
|
73
|
+
"properties": { "dispatchable": { "const": false } },
|
|
74
|
+
"required": ["dispatchable"]
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
"properties": { "slice_status": { "const": "publication-blocked" } },
|
|
78
|
+
"required": ["slice_status"]
|
|
79
|
+
}
|
|
80
|
+
]
|
|
81
|
+
}
|
|
82
|
+
},
|
|
83
|
+
"then": {
|
|
84
|
+
"properties": {
|
|
85
|
+
"authority_id": { "type": "string", "minLength": 1 }
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
},
|
|
90
|
+
"properties": {
|
|
91
|
+
"schema_version": { "type": "string", "minLength": 1 },
|
|
92
|
+
"artifact": { "$ref": "#/$defs/contentfulObject" },
|
|
93
|
+
"source_baseline": { "$ref": "#/$defs/contentfulObject" },
|
|
94
|
+
"journey_settings": {
|
|
95
|
+
"type": "object",
|
|
96
|
+
"additionalProperties": true,
|
|
97
|
+
"required": ["review_cardinality"],
|
|
98
|
+
"properties": {
|
|
99
|
+
"review_cardinality": {
|
|
100
|
+
"type": "object",
|
|
101
|
+
"additionalProperties": true,
|
|
102
|
+
"description": "Owner-configured reviewer count n, repair bound k, and confirmation count c. No default integers.",
|
|
103
|
+
"required": ["n", "k", "c"],
|
|
104
|
+
"properties": {
|
|
105
|
+
"n": { "type": "integer", "minimum": 0 },
|
|
106
|
+
"k": { "type": "integer", "minimum": 0 },
|
|
107
|
+
"c": { "type": "integer", "minimum": 0 }
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
},
|
|
112
|
+
"lineup_freeze": { "$ref": "#/$defs/contentfulObject" },
|
|
113
|
+
"waves": {
|
|
114
|
+
"type": "array",
|
|
115
|
+
"items": { "type": "object", "additionalProperties": true }
|
|
116
|
+
},
|
|
117
|
+
"dependencies": {
|
|
118
|
+
"type": "array",
|
|
119
|
+
"items": { "type": "object", "additionalProperties": true }
|
|
120
|
+
},
|
|
121
|
+
"slices": {
|
|
122
|
+
"type": "array",
|
|
123
|
+
"items": { "$ref": "#/$defs/slice" }
|
|
124
|
+
},
|
|
125
|
+
"traceability": { "$ref": "#/$defs/contentfulObject" }
|
|
126
|
+
}
|
|
127
|
+
}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://github.com/alphazede/bearing-lite/schemas/journey.schema.json",
|
|
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.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"additionalProperties": true,
|
|
8
|
+
"required": [
|
|
9
|
+
"schema_version",
|
|
10
|
+
"journey",
|
|
11
|
+
"checkout_lease",
|
|
12
|
+
"decisions",
|
|
13
|
+
"open_decisions",
|
|
14
|
+
"planning_receipts",
|
|
15
|
+
"lineup_selection"
|
|
16
|
+
],
|
|
17
|
+
"properties": {
|
|
18
|
+
"schema_version": { "type": "string", "minLength": 1 },
|
|
19
|
+
"journey": {
|
|
20
|
+
"type": "object",
|
|
21
|
+
"additionalProperties": true,
|
|
22
|
+
"required": ["id", "title", "status", "planning_repository"],
|
|
23
|
+
"properties": {
|
|
24
|
+
"id": { "type": "string", "minLength": 1 },
|
|
25
|
+
"title": { "type": "string", "minLength": 1 },
|
|
26
|
+
"status": { "type": "string", "minLength": 1 },
|
|
27
|
+
"planning_repository": { "type": "string", "minLength": 1 }
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
"checkout_lease": {
|
|
31
|
+
"type": "object",
|
|
32
|
+
"additionalProperties": false,
|
|
33
|
+
"required": [
|
|
34
|
+
"journey",
|
|
35
|
+
"controller",
|
|
36
|
+
"repository",
|
|
37
|
+
"checkout",
|
|
38
|
+
"branch",
|
|
39
|
+
"candidate_revision",
|
|
40
|
+
"acquired_at",
|
|
41
|
+
"generation",
|
|
42
|
+
"state"
|
|
43
|
+
],
|
|
44
|
+
"properties": {
|
|
45
|
+
"journey": { "type": "string", "minLength": 1 },
|
|
46
|
+
"controller": { "type": "string", "minLength": 1 },
|
|
47
|
+
"repository": { "type": "string", "minLength": 1 },
|
|
48
|
+
"checkout": { "type": "string", "minLength": 1 },
|
|
49
|
+
"branch": { "type": "string", "minLength": 1 },
|
|
50
|
+
"candidate_revision": { "type": "string", "minLength": 1 },
|
|
51
|
+
"acquired_at": { "type": "string", "minLength": 1 },
|
|
52
|
+
"generation": { "type": "integer", "minimum": 1 },
|
|
53
|
+
"state": { "enum": ["active", "released"] }
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
"history": {
|
|
57
|
+
"type": "object",
|
|
58
|
+
"additionalProperties": true,
|
|
59
|
+
"description": "Optional append-only Journey history wrapper",
|
|
60
|
+
"properties": {
|
|
61
|
+
"decisions": { "type": "array", "items": { "type": "object", "additionalProperties": true } },
|
|
62
|
+
"authority_events": { "type": "array", "items": { "type": "object", "additionalProperties": true } }
|
|
63
|
+
}
|
|
64
|
+
},
|
|
65
|
+
"decisions": {
|
|
66
|
+
"type": "array",
|
|
67
|
+
"description": "Append-only confirmed owner decisions",
|
|
68
|
+
"items": { "type": "object", "additionalProperties": true }
|
|
69
|
+
},
|
|
70
|
+
"authority_events": {
|
|
71
|
+
"type": "array",
|
|
72
|
+
"description": "Append-only authority grant, amend, revoke, or supersede events",
|
|
73
|
+
"items": { "type": "object", "additionalProperties": true }
|
|
74
|
+
},
|
|
75
|
+
"open_decisions": {
|
|
76
|
+
"type": "array",
|
|
77
|
+
"items": { "type": "object", "additionalProperties": true }
|
|
78
|
+
},
|
|
79
|
+
"planning_receipts": {
|
|
80
|
+
"type": "array",
|
|
81
|
+
"items": { "type": "object", "additionalProperties": true }
|
|
82
|
+
},
|
|
83
|
+
"lineup_selection": {
|
|
84
|
+
"type": "object",
|
|
85
|
+
"additionalProperties": true
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://github.com/alphazede/bearing-lite/schemas/lineups.schema.json",
|
|
4
|
+
"title": "Bearing Lite lineups.json",
|
|
5
|
+
"description": "User-owned named lineup catalog. Packaged bytes stay an empty catalog with no defaults. Selection is not an authority grant.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"additionalProperties": false,
|
|
8
|
+
"required": [
|
|
9
|
+
"schema_version",
|
|
10
|
+
"lineups"
|
|
11
|
+
],
|
|
12
|
+
"properties": {
|
|
13
|
+
"schema_version": {
|
|
14
|
+
"type": "integer",
|
|
15
|
+
"const": 1,
|
|
16
|
+
"description": "Integer 1. The string \"1\" used by Journey artifacts is invalid here."
|
|
17
|
+
},
|
|
18
|
+
"lineups": {
|
|
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
|
+
"assignment": {
|
|
98
|
+
"type": "object",
|
|
99
|
+
"additionalProperties": false,
|
|
100
|
+
"required": [
|
|
101
|
+
"role",
|
|
102
|
+
"primary",
|
|
103
|
+
"ordered_fallbacks"
|
|
104
|
+
],
|
|
105
|
+
"properties": {
|
|
106
|
+
"role": {
|
|
107
|
+
"type": "string",
|
|
108
|
+
"minLength": 1
|
|
109
|
+
},
|
|
110
|
+
"primary": {
|
|
111
|
+
"$ref": "#/$defs/identity"
|
|
112
|
+
},
|
|
113
|
+
"ordered_fallbacks": {
|
|
114
|
+
"type": "array",
|
|
115
|
+
"items": {
|
|
116
|
+
"$ref": "#/$defs/fallback"
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
},
|
|
121
|
+
"phase": {
|
|
122
|
+
"type": "array",
|
|
123
|
+
"minItems": 1,
|
|
124
|
+
"items": {
|
|
125
|
+
"$ref": "#/$defs/assignment"
|
|
126
|
+
}
|
|
127
|
+
},
|
|
128
|
+
"profile": {
|
|
129
|
+
"type": "object",
|
|
130
|
+
"additionalProperties": false,
|
|
131
|
+
"required": [
|
|
132
|
+
"planned_planning_assignments",
|
|
133
|
+
"implementation_assignments"
|
|
134
|
+
],
|
|
135
|
+
"properties": {
|
|
136
|
+
"planned_planning_assignments": {
|
|
137
|
+
"$ref": "#/$defs/phase"
|
|
138
|
+
},
|
|
139
|
+
"implementation_assignments": {
|
|
140
|
+
"$ref": "#/$defs/phase"
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://github.com/alphazede/bearing-lite/schemas/seit.schema.json",
|
|
4
|
+
"title": "Bearing Lite seit.json",
|
|
5
|
+
"description": "Canonical JSON Schema-validated tailored V&V plan. CONTRACT-EMV-007 always-on sections must appear as named objects or lists with content, not as a labels-only always_on_sections array: scope/baseline; responsibility/change authority; applicable documents/precedence; requirements flowdown/architecture context; V&V methods; verification and validation matrices; levels/integration sequence; environments/fixtures/data/simulations/support; procedures/commands; evidence/pass-fail; anomaly/corrective/closure. System fields only where applicable. Proof cases require the full canonical field set including observable_evidence and pass_fail_rule. Extra lifecycle metadata is allowed.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"additionalProperties": true,
|
|
8
|
+
"required": [
|
|
9
|
+
"schema_version",
|
|
10
|
+
"source_baseline",
|
|
11
|
+
"decision_baseline",
|
|
12
|
+
"responsibility_and_change_authority",
|
|
13
|
+
"applicable_documents_and_precedence",
|
|
14
|
+
"system_description_and_requirements_flowdown",
|
|
15
|
+
"vv_methods",
|
|
16
|
+
"levels",
|
|
17
|
+
"environments_fixtures_data_simulations_support",
|
|
18
|
+
"procedures_and_commands",
|
|
19
|
+
"evidence_and_pass_fail",
|
|
20
|
+
"anomaly_corrective_closure",
|
|
21
|
+
"integration_vv_sequence",
|
|
22
|
+
"proof_cases"
|
|
23
|
+
],
|
|
24
|
+
"$defs": {
|
|
25
|
+
"contentfulObject": {
|
|
26
|
+
"type": "object",
|
|
27
|
+
"minProperties": 1,
|
|
28
|
+
"additionalProperties": true
|
|
29
|
+
},
|
|
30
|
+
"contentfulArray": {
|
|
31
|
+
"type": "array",
|
|
32
|
+
"minItems": 1
|
|
33
|
+
},
|
|
34
|
+
"contentfulString": {
|
|
35
|
+
"type": "string",
|
|
36
|
+
"minLength": 1
|
|
37
|
+
},
|
|
38
|
+
"proofCase": {
|
|
39
|
+
"type": "object",
|
|
40
|
+
"additionalProperties": true,
|
|
41
|
+
"required": [
|
|
42
|
+
"id",
|
|
43
|
+
"kind",
|
|
44
|
+
"requirement_id",
|
|
45
|
+
"design_id",
|
|
46
|
+
"command_id",
|
|
47
|
+
"method",
|
|
48
|
+
"preconditions",
|
|
49
|
+
"stimulus_or_procedure",
|
|
50
|
+
"expected_result",
|
|
51
|
+
"observable_evidence",
|
|
52
|
+
"pass_fail_rule",
|
|
53
|
+
"method_fields",
|
|
54
|
+
"negative_or_failure_case"
|
|
55
|
+
],
|
|
56
|
+
"properties": {
|
|
57
|
+
"id": { "$ref": "#/$defs/contentfulString" },
|
|
58
|
+
"kind": { "$ref": "#/$defs/contentfulString" },
|
|
59
|
+
"requirement_id": { "$ref": "#/$defs/contentfulString" },
|
|
60
|
+
"design_id": { "$ref": "#/$defs/contentfulString" },
|
|
61
|
+
"command_id": { "$ref": "#/$defs/contentfulString" },
|
|
62
|
+
"method": { "$ref": "#/$defs/contentfulString" },
|
|
63
|
+
"preconditions": {
|
|
64
|
+
"type": "array",
|
|
65
|
+
"minItems": 1,
|
|
66
|
+
"items": { "type": "string", "minLength": 1 }
|
|
67
|
+
},
|
|
68
|
+
"stimulus_or_procedure": { "$ref": "#/$defs/contentfulString" },
|
|
69
|
+
"expected_result": { "$ref": "#/$defs/contentfulString" },
|
|
70
|
+
"observable_evidence": { "$ref": "#/$defs/contentfulString" },
|
|
71
|
+
"pass_fail_rule": { "$ref": "#/$defs/contentfulString" },
|
|
72
|
+
"method_fields": { "$ref": "#/$defs/contentfulObject" },
|
|
73
|
+
"negative_or_failure_case": { "$ref": "#/$defs/contentfulString" }
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
},
|
|
77
|
+
"properties": {
|
|
78
|
+
"schema_version": { "$ref": "#/$defs/contentfulString" },
|
|
79
|
+
"artifact": { "$ref": "#/$defs/contentfulObject" },
|
|
80
|
+
"source_baseline": { "$ref": "#/$defs/contentfulObject" },
|
|
81
|
+
"decision_baseline": {
|
|
82
|
+
"type": "object",
|
|
83
|
+
"minProperties": 1,
|
|
84
|
+
"additionalProperties": true,
|
|
85
|
+
"description": "Stable decision-baseline projection of confirmed decision identities and open-item statuses. Not the whole-file journey.json digest.",
|
|
86
|
+
"properties": {
|
|
87
|
+
"kind": { "type": "string" },
|
|
88
|
+
"confirmed_decisions": { "type": "object", "additionalProperties": true },
|
|
89
|
+
"open_items": { "type": "array", "items": { "type": "object", "additionalProperties": true } }
|
|
90
|
+
}
|
|
91
|
+
},
|
|
92
|
+
"responsibility_and_change_authority": { "$ref": "#/$defs/contentfulObject" },
|
|
93
|
+
"applicable_documents_and_precedence": { "$ref": "#/$defs/contentfulObject" },
|
|
94
|
+
"system_description_and_requirements_flowdown": { "$ref": "#/$defs/contentfulObject" },
|
|
95
|
+
"vv_methods": { "$ref": "#/$defs/contentfulObject" },
|
|
96
|
+
"levels": { "$ref": "#/$defs/contentfulArray" },
|
|
97
|
+
"environments_fixtures_data_simulations_support": { "$ref": "#/$defs/contentfulObject" },
|
|
98
|
+
"procedures_and_commands": { "$ref": "#/$defs/contentfulArray" },
|
|
99
|
+
"evidence_and_pass_fail": { "$ref": "#/$defs/contentfulObject" },
|
|
100
|
+
"anomaly_corrective_closure": { "$ref": "#/$defs/contentfulObject" },
|
|
101
|
+
"integration_vv_sequence": { "$ref": "#/$defs/contentfulArray" },
|
|
102
|
+
"proof_cases": {
|
|
103
|
+
"type": "array",
|
|
104
|
+
"minItems": 1,
|
|
105
|
+
"items": { "$ref": "#/$defs/proofCase" }
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
@@ -10,37 +10,37 @@ planning nodes return owner questions. Plugin hosts are partial; skill-copy is s
|
|
|
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
12
|
Never replay accepted stages or duplicate dispatch. Invalid leases fail closed.
|
|
13
|
-
3. If `~/.agents/bearing-lite/default-role-lineup.md` is absent, create a
|
|
14
|
-
|
|
15
|
-
never infer identity values. The recorded snapshot is authoritative for this Journey.
|
|
13
|
+
3. If `~/.agents/bearing-lite/default-role-lineup.md` is absent, create a
|
|
14
|
+
proposed copy; never infer identity values. The recorded snapshot is authoritative for this Journey.
|
|
16
15
|
Later edits to
|
|
17
16
|
`~/.agents/bearing-lite/default-role-lineup.md` have no effect on it except through an
|
|
18
17
|
explicit owner-confirmed dated visible amendment. Dispatch uses lineup identity from the recorded snapshot.
|
|
19
18
|
4. Run Repository Fit → Set Bearings → Gather Supplies; unresolved material intent blocks Map the Route.
|
|
20
19
|
5. Invoke Map the Route after settled intent. Do not ask for lineup or route
|
|
21
20
|
before it; carry owner-supplied lineup and `review_cadence: at-end` as proposals.
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
no rereview. Journey snapshots bind slots; validation never dispatches. Show one integrated
|
|
21
|
+
Follow `references/lineups.md` for catalog selection and save.
|
|
22
|
+
6. Enforce `references/review-policy.md`. Show one integrated
|
|
25
23
|
approval-or-change gate for outcome, design, route, lineup, role states,
|
|
26
24
|
reasoning, cadence, and plan. Record the approved Journey type and snapshot; regenerate changes.
|
|
27
25
|
Never add a staged lineup or route-review gate.
|
|
28
26
|
Dispatch only after approval.
|
|
29
|
-
7.
|
|
30
|
-
|
|
31
|
-
and update implementation and review once per wave.
|
|
27
|
+
7. Crewmate and Explorer may continue in-wave.
|
|
28
|
+
Use the visible wave receipt and update implementation and review once per wave.
|
|
32
29
|
|
|
33
|
-
Return `READY`, `WAITING_ON`, `OWNER_DECISION_REQUIRED`, or `COMPLETE`.
|
|
34
|
-
|
|
35
|
-
|
|
30
|
+
Return `READY`, `WAITING_ON`, `OWNER_DECISION_REQUIRED`, or `COMPLETE`.
|
|
31
|
+
`max_assurance_rounds` is 1 per declared phase or wave-end, not per Journey;
|
|
32
|
+
Direct route checks `assurance_rounds`, never
|
|
36
33
|
dispatch Navigator, and one review may authorize one repair. Verify repair
|
|
37
34
|
deterministically without another review; failed repair/scope change returns
|
|
38
|
-
`OWNER_DECISION_REQUIRED` naming the candidate and count.
|
|
39
|
-
|
|
40
|
-
Authorized deployment keeps checks without reopening review.
|
|
35
|
+
`OWNER_DECISION_REQUIRED` naming the candidate and count. `COMPLETE` ends Bearing assurance.
|
|
36
|
+
Authorized deployment without reopening review.
|
|
41
37
|
Planning review is a separate pre-dispatch gate; it never consumes implementation
|
|
42
38
|
`required_assurance`, `assurance_rounds`, or `max_assurance_rounds`.
|
|
43
39
|
Release the lease once: release the checkout lease exactly once on `COMPLETE` or `CANCELLED`;
|
|
44
40
|
recovery needs explicit recorded generation increment.
|
|
45
41
|
Recovery cannot steal a live lease.
|
|
42
|
+
Selected or required capabilities activate. Unavailability of selected-or-required
|
|
43
|
+
capability is a typed capability gap, not success and not invented behavior.
|
|
44
|
+
Selected-only missing and required-only missing are typed gaps. Unselected
|
|
45
|
+
and unrequired absence remains inactive, not a global failure.
|
|
46
46
|
Never implement, self-assure, select models, or publish.
|