@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
package/lineups.json
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"schema_version":1,"lineups":{}}
|
|
@@ -1,145 +0,0 @@
|
|
|
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
|
-
}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: navigator
|
|
3
|
-
description: >
|
|
4
|
-
Compatibility diagnostic for plans that still name Navigator. Use when an
|
|
5
|
-
existing plan assigns Navigator or asks to sequence expedition waves as
|
|
6
|
-
navigator. Do not use for new Journeys, packet work, planning, assurance,
|
|
7
|
-
or publication.
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# Navigator
|
|
11
|
-
|
|
12
|
-
Compatibility only. Router now owns cross-wave sequencing and conflict
|
|
13
|
-
resolution.
|
|
14
|
-
|
|
15
|
-
## Inputs and match
|
|
16
|
-
|
|
17
|
-
- **Inputs:** a plan that still assigns `Navigator`, plus the recorded Journey
|
|
18
|
-
snapshot.
|
|
19
|
-
- **Match:** an existing plan names Navigator as an assigned role.
|
|
20
|
-
- **Non-match:** new Journeys, Explorer waves, Crewmate packets, or assurance.
|
|
21
|
-
|
|
22
|
-
## Algorithm
|
|
23
|
-
|
|
24
|
-
1. Do not sequence waves, reread the artifact set, dispatch Explorers, or
|
|
25
|
-
run assurance. Read identities only from the recorded Journey snapshot,
|
|
26
|
-
never from the current global defaults file.
|
|
27
|
-
2. Return `REROUTED` to the Router with a diagnostic that Navigator is not a
|
|
28
|
-
normal role; treat the assignment as unused and continue under Router.
|
|
29
|
-
3. Preserve the checkout lease. Do not write planning state.
|
|
30
|
-
|
|
31
|
-
## Return and recovery
|
|
32
|
-
|
|
33
|
-
Return `REROUTED` with verdict, candidate_ref, changed_paths, tests, findings,
|
|
34
|
-
and blocker. Findings name the compatibility path.
|
|
35
|
-
|
|
36
|
-
Never implement, self-assure, select models, or mutate remotes.
|
package/skills/surveyor/SKILL.md
DELETED
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: surveyor
|
|
3
|
-
description: >
|
|
4
|
-
Independently compare one stable integrated candidate with the approved
|
|
5
|
-
user-facing outcome in a fresh session at the end. Use for Surveyor or
|
|
6
|
-
outcome acceptance. Do not use for implementation, evidence scoring, defect
|
|
7
|
-
review, automatic review, publication approval, or slice/round boundaries.
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# Surveyor
|
|
11
|
-
|
|
12
|
-
Independent outcome assurance, outside the mutation-authority ladder.
|
|
13
|
-
|
|
14
|
-
## Inputs and match
|
|
15
|
-
|
|
16
|
-
- **Inputs:** approved specification/review baseline, exact integrated candidate,
|
|
17
|
-
author identities, user-facing evidence, declared phase or wave end boundary,
|
|
18
|
-
prior required assurance, and compact return schema.
|
|
19
|
-
- **Match:** Surveyor is declared and the declared phase or wave's integrated
|
|
20
|
-
candidate is ready for user-facing comparison at that end.
|
|
21
|
-
- **Non-match:** unfinished packet, slice or round boundary, unstable candidate,
|
|
22
|
-
Assurance Test Engineer sufficiency, Park Ranger defect review, or owner-only
|
|
23
|
-
release decision.
|
|
24
|
-
|
|
25
|
-
## Algorithm
|
|
26
|
-
|
|
27
|
-
1. Start a fresh session; reject author ancestry; verify candidate continuity,
|
|
28
|
-
independence, completed prerequisite assurance, and the declared phase or
|
|
29
|
-
wave end boundary.
|
|
30
|
-
Consume Requirements Engineering, SysML Modeling, and Test Engineering
|
|
31
|
-
read-only. Do not rewrite requirements, repair models, author tests, or
|
|
32
|
-
repeat assurance.
|
|
33
|
-
2. Exercise or inspect every observable approved outcome, including failure and
|
|
34
|
-
recovery behavior relevant to the Journey.
|
|
35
|
-
3. Map each gap to an exact requirement and evidence location. Separate observed
|
|
36
|
-
behavior from inference.
|
|
37
|
-
4. Return acceptance or gaps without repairing the candidate.
|
|
38
|
-
|
|
39
|
-
## Return and recovery
|
|
40
|
-
|
|
41
|
-
Return `ACCEPT`, `GAPS`, or `OWNER_DECISION_REQUIRED` with verdict,
|
|
42
|
-
candidate_ref, changed_paths, tests, findings, and blocker.
|
|
43
|
-
Coordinators enforce `max_assurance_rounds` of 1 per declared phase or wave. A
|
|
44
|
-
gap may receive one repair followed by deterministic coordinator verification
|
|
45
|
-
without another review; do not reassess that declared unit.
|
|
46
|
-
The next distinct declared phase or wave carries its own budget.
|
|
47
|
-
|
|
48
|
-
Never implement, substitute for another assurance role, or approve publication.
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: validator
|
|
3
|
-
description: >
|
|
4
|
-
Compatibility diagnostic for plans that still name Validator. Use when
|
|
5
|
-
an existing plan assigns Validator. Do not use for new Journeys,
|
|
6
|
-
evidence validation, or as an active assurance role.
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# Validator
|
|
10
|
-
|
|
11
|
-
Compatibility only. Not an active assurance role. Assurance Test Engineer
|
|
12
|
-
owns VALIDATING. Router reroutes Validator assignments.
|
|
13
|
-
|
|
14
|
-
## Inputs and match
|
|
15
|
-
|
|
16
|
-
- **Inputs:** a plan that still assigns `Validator`, plus the recorded
|
|
17
|
-
Journey snapshot.
|
|
18
|
-
- **Match:** an existing plan names Validator as an assigned role.
|
|
19
|
-
- **Non-match:** new Journeys, Test Engineer sessions, Park Ranger,
|
|
20
|
-
Surveyor.
|
|
21
|
-
|
|
22
|
-
## Algorithm
|
|
23
|
-
|
|
24
|
-
1. Do not validate evidence, score rubrics, or run assurance. Read
|
|
25
|
-
identities only from the recorded Journey snapshot, never from the
|
|
26
|
-
current global defaults file.
|
|
27
|
-
2. Return `REROUTED` to the Router with a diagnostic that Validator is
|
|
28
|
-
compatibility-only and is not an active assurance role; treat the
|
|
29
|
-
assignment as unused and continue under Assurance Test Engineer.
|
|
30
|
-
3. Preserve the checkout lease. Do not write planning state.
|
|
31
|
-
|
|
32
|
-
## Return and recovery
|
|
33
|
-
|
|
34
|
-
Return `REROUTED` with verdict, candidate_ref, changed_paths, tests,
|
|
35
|
-
findings, and blocker. Findings name the compatibility path.
|
|
36
|
-
|
|
37
|
-
Never implement, self-assure, select models, or mutate remotes.
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
# Grading rubric (optional Assurance Test Engineer scoring)
|
|
2
|
-
|
|
3
|
-
Use only when the task, owner, or phase gate requests **explicit rubric scoring**.
|
|
4
|
-
Sufficiency checks always run when Assurance Test Engineer is active. Scoring is
|
|
5
|
-
optional and never makes independent assurance automatic. Validator is
|
|
6
|
-
compatibility-only and does not score active Journeys.
|
|
7
|
-
|
|
8
|
-
## Dimensions (equal weight unless the plan overrides)
|
|
9
|
-
|
|
10
|
-
| ID | Dimension | Complete (2) | Partial (1) | Missing (0) |
|
|
11
|
-
| --- | --- | --- | --- | --- |
|
|
12
|
-
| D1 | Contract coverage | Acceptance criteria and requirement IDs are evidenced | Some criteria evidenced | Major criteria unaddressed |
|
|
13
|
-
| D2 | Scope discipline | Diff stays inside declared authority and allowed paths | Minor unexplained adjacency | Out-of-set or authority expansion |
|
|
14
|
-
| D3 | Evidence quality | Commands, observed results, and inferences labeled separately | Mixed labels | Fabricated, missing, or unlabeled claims |
|
|
15
|
-
| D4 | Command completeness | Declared command IDs have results | Partial command set | Required commands absent |
|
|
16
|
-
| D5 | Residual risk | Remaining risks and non-goals disclosed | Vague residual notes | Silent risk omission on material change |
|
|
17
|
-
| D6 | Handoff integrity | Return fields match the task block; `candidate_ref` is exact | Incomplete fields | Stale subject or candidate mismatch |
|
|
18
|
-
|
|
19
|
-
## Score
|
|
20
|
-
|
|
21
|
-
Sum dimension scores (0–12).
|
|
22
|
-
|
|
23
|
-
- **10–12** and no required dimension is 0: scoring supports `PASS` only if sufficiency also passes.
|
|
24
|
-
- **8–9** or any required dimension is 0: `NEEDS_MORE_EVIDENCE` unless severity is fatal.
|
|
25
|
-
- **Below 8**, fabricated evidence, or author self-certification: `FAIL`.
|
|
26
|
-
|
|
27
|
-
## Composition with sufficiency
|
|
28
|
-
|
|
29
|
-
1. Run sufficiency on the exact candidate first.
|
|
30
|
-
2. If scoring is requested, score the same candidate with this rubric.
|
|
31
|
-
3. Final Assurance Test Engineer outcome:
|
|
32
|
-
- `FAIL` if either check fails
|
|
33
|
-
- `NEEDS_MORE_EVIDENCE` if either needs more proof
|
|
34
|
-
- `PASS` only when sufficiency passes and (scoring was not requested, or scoring supports PASS)
|
|
35
|
-
4. Never edit the candidate. Never score a candidate you authored or materially repaired.
|
|
36
|
-
|
|
37
|
-
## Non-goals
|
|
38
|
-
|
|
39
|
-
This rubric does not replace Park Ranger defect review or Surveyor acceptance.
|
|
40
|
-
It does not install tools, widen diffs, or select models.
|