@alphazede/bearing-lite 0.1.11 → 0.2.1
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 +46 -14
- package/hooks/assurance-budget.cjs +149 -0
- package/hooks/closeout.cjs +16 -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/plan-package.cjs +177 -0
- package/hooks/planning-review.cjs +9 -14
- package/hooks/policy.cjs +45 -0
- package/hooks/reconcile.cjs +145 -0
- package/hooks/te-capability.cjs +137 -0
- package/hooks/te-host.cjs +644 -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/event.schema.json +59 -0
- package/schemas/implementation.schema.json +150 -0
- package/schemas/journey.schema.json +101 -0
- package/schemas/lineups.schema.json +145 -0
- package/schemas/seit.schema.json +108 -0
- package/skills/bearing-lite/SKILL.md +20 -21
- package/skills/bearing-lite/references/assurance-policy.md +66 -0
- package/skills/bearing-lite/references/lineups.md +107 -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/task.md +20 -11
- 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/light-implementer/SKILL.md +53 -0
- package/skills/map-the-route/SKILL.md +9 -7
- package/skills/map-the-route/references/artifact-grammar.md +67 -32
- package/skills/park-ranger/SKILL.md +14 -9
- package/skills/plan-integrator/SKILL.md +46 -0
- package/skills/requirements-engineer/SKILL.md +57 -0
- package/skills/scribe/SKILL.md +34 -0
- package/skills/set-bearings/SKILL.md +16 -7
- package/skills/set-bearings/templates/workspace.md +28 -0
- package/skills/surveyor/SKILL.md +15 -9
- package/skills/systems-modeler/SKILL.md +35 -0
- package/skills/test-engineer/SKILL.md +48 -0
- package/skills/validator/SKILL.md +20 -27
- package/skills/validator/references/grading-rubric.md +5 -4
- package/skills/bearing-lite/templates/default-role-lineup.md +0 -26
|
@@ -10,37 +10,36 @@ 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.
|
|
14
|
-
|
|
15
|
-
never infer identity values. The
|
|
16
|
-
Later edits to
|
|
17
|
-
`~/.agents/bearing-lite/
|
|
13
|
+
3. Lineup comes only from `~/.agents/bearing-lite/lineups.json` per
|
|
14
|
+
`references/lineups.md`; a missing catalog returns `no_named_profiles`,
|
|
15
|
+
never a generated file; never infer identity values. The Router is observed, not selected.
|
|
16
|
+
The recorded snapshot is authoritative for this Journey. Later edits to
|
|
17
|
+
`~/.agents/bearing-lite/lineups.json` have no effect on it except through an
|
|
18
18
|
explicit owner-confirmed dated visible amendment. Dispatch uses lineup identity from the recorded snapshot.
|
|
19
19
|
4. Run Repository Fit → Set Bearings → Gather Supplies; unresolved material intent blocks Map the Route.
|
|
20
20
|
5. Invoke Map the Route after settled intent. Do not ask for lineup or route
|
|
21
21
|
before it; carry owner-supplied lineup and `review_cadence: at-end` as proposals.
|
|
22
|
-
6.
|
|
23
|
-
unique independent slots, one round and aggregated repair, deterministic PASS,
|
|
24
|
-
no rereview. Journey snapshots bind slots; validation never dispatches. Show one integrated
|
|
22
|
+
6. Enforce `references/review-policy.md`. Show one integrated
|
|
25
23
|
approval-or-change gate for outcome, design, route, lineup, role states,
|
|
26
|
-
reasoning, cadence, and plan. Record the approved Journey type and snapshot
|
|
24
|
+
reasoning, cadence, and plan. Record the approved Journey type and snapshot.
|
|
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. `work_class: light` slices go to the
|
|
28
|
+
Light Implementer; a `reclassify: judgement` return re-dispatches to the Crewmate.
|
|
29
|
+
Use the visible wave receipt and update implementation and review once per wave.
|
|
32
30
|
|
|
33
|
-
Return `READY`, `WAITING_ON`, `OWNER_DECISION_REQUIRED`, or `COMPLETE`.
|
|
34
|
-
|
|
35
|
-
|
|
31
|
+
Return `READY`, `WAITING_ON`, `OWNER_DECISION_REQUIRED`, or `COMPLETE`.
|
|
32
|
+
`max_assurance_rounds` is 1 per declared phase or wave-end, not per Journey;
|
|
33
|
+
Direct route checks `assurance_rounds`, never
|
|
36
34
|
dispatch Navigator, and one review may authorize one repair. Verify repair
|
|
37
35
|
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.
|
|
36
|
+
`OWNER_DECISION_REQUIRED` naming the candidate and count. `COMPLETE` ends Bearing assurance.
|
|
37
|
+
Authorized deployment without reopening review.
|
|
41
38
|
Planning review is a separate pre-dispatch gate; it never consumes implementation
|
|
42
|
-
|
|
39
|
+
assurance.
|
|
43
40
|
Release the lease once: release the checkout lease exactly once on `COMPLETE` or `CANCELLED`;
|
|
44
|
-
recovery needs explicit recorded generation increment.
|
|
45
|
-
|
|
41
|
+
recovery needs explicit recorded generation increment and 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
|
+
Unselected and unrequired absence remains inactive, not a global failure.
|
|
46
45
|
Never implement, self-assure, select models, or publish.
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# Assurance budget policy
|
|
2
|
+
|
|
3
|
+
Decision source: `OWNER-EMV-REVIEW-CADENCE-UNIFICATION-001` through
|
|
4
|
+
`ROUTER-EMV-CADENCE-IMPLEMENTATION-001`.
|
|
5
|
+
|
|
6
|
+
The implementation assurance budget is scoped to each **declared phase or
|
|
7
|
+
wave**, not to the Journey and not to a slice. Automatic review is dispatched
|
|
8
|
+
at the end of each declared phase or wave. `hooks/assurance-budget.cjs` is the
|
|
9
|
+
exact runtime mirror of the block below; the block is authoritative.
|
|
10
|
+
|
|
11
|
+
```json
|
|
12
|
+
{
|
|
13
|
+
"budget_scope": "per_declared_phase_or_wave",
|
|
14
|
+
"review_rounds": 1,
|
|
15
|
+
"aggregated_repairs_max": 1,
|
|
16
|
+
"post_repair_gate": "deterministic_PASS",
|
|
17
|
+
"automatic_phase_or_wave_end_review": "required",
|
|
18
|
+
"automatic_per_slice_review": "prohibited",
|
|
19
|
+
"post_repair_rereview": "prohibited",
|
|
20
|
+
"automatic_rereview_of_same_unit": "prohibited",
|
|
21
|
+
"budget_reset_on_candidate_change": false,
|
|
22
|
+
"budget_reset_on_model_change": false,
|
|
23
|
+
"budget_reset_on_harness_change": false,
|
|
24
|
+
"budget_reset_on_role_change": false,
|
|
25
|
+
"budget_reset_on_session_change": false,
|
|
26
|
+
"budget_reset_on_resume": false,
|
|
27
|
+
"budget_reset_on_alias_or_rename": false,
|
|
28
|
+
"budget_reset_condition": "next_distinct_declared_phase_or_wave_present_in_the_frozen_declaration"
|
|
29
|
+
}
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## Unit identity
|
|
33
|
+
|
|
34
|
+
Budget identity is `journey + unit_kind + unit_id`. The unit id is resolved
|
|
35
|
+
from the frozen declaration: `waves[].id`, else `phases[].phaseId`, else the
|
|
36
|
+
single `direct` sentinel when neither is declared. A unit id absent from the
|
|
37
|
+
frozen declaration fails closed as `undeclared_review_unit`; renaming a
|
|
38
|
+
declared unit's display name never mints a fresh budget.
|
|
39
|
+
|
|
40
|
+
The budget key
|
|
41
|
+
records no route, provider, model, harness, account, or agent identity.
|
|
42
|
+
Candidate revision, lease generation, assigned role, session, and
|
|
43
|
+
slice id are likewise never key components, and none of them lowers a spent
|
|
44
|
+
count.
|
|
45
|
+
|
|
46
|
+
## Spending the budget
|
|
47
|
+
|
|
48
|
+
- One review round per declared phase or wave. A second round on the same unit
|
|
49
|
+
halts with `assurance_round_limit`.
|
|
50
|
+
- A repairable verdict permits at most one aggregate repair. A second repair
|
|
51
|
+
halts with `assurance_repair_limit`.
|
|
52
|
+
- After that repair the coordinator closes the unit on a deterministic `PASS`
|
|
53
|
+
gate; a missing or non-`PASS` gate halts with
|
|
54
|
+
`deterministic_post_repair_gate_required`.
|
|
55
|
+
- The repaired unit is never reviewed again. `automatic_rereview_requested` and
|
|
56
|
+
`review_after_repair` both require an owner amendment.
|
|
57
|
+
- A transport receipt of `WAITING_ON` or `UNAVAILABLE` is not a spent round; it
|
|
58
|
+
returns `NEEDS_MORE_EVIDENCE`.
|
|
59
|
+
- The next distinct declared phase or wave carries its own budget.
|
|
60
|
+
|
|
61
|
+
## Planning review stays separate
|
|
62
|
+
|
|
63
|
+
Planning review is a separate pre-dispatch gate with its own 1/1 allowance in
|
|
64
|
+
`references/review-policy.md`. It never consumes implementation
|
|
65
|
+
`required_assurance`, `assurance_rounds`, or `max_assurance_rounds`, and this
|
|
66
|
+
budget never consumes the planning gate.
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
# Named lineup catalog
|
|
2
|
+
|
|
3
|
+
Candidate procedure for the user-owned JSON catalog. It is not a staged
|
|
4
|
+
lineup or route-review gate. Selection is not an authority grant.
|
|
5
|
+
|
|
6
|
+
## Location
|
|
7
|
+
|
|
8
|
+
The live user catalog is exactly one file:
|
|
9
|
+
|
|
10
|
+
`<absolute home>/.agents/bearing-lite/lineups.json`
|
|
11
|
+
|
|
12
|
+
Resolve `<absolute home>` as a nonempty absolute `HOME`, else a nonempty
|
|
13
|
+
absolute `USERPROFILE` on its platform; otherwise fail closed with
|
|
14
|
+
`home_unresolved`. Do not use cwd, the package root, XDG, a relative
|
|
15
|
+
`lineups.json`, or a second search root.
|
|
16
|
+
|
|
17
|
+
The packaged catalog is package-root `lineups.json`. Never read it as user
|
|
18
|
+
data. Never write the packaged catalog, including resolved symlink aliases
|
|
19
|
+
of that file.
|
|
20
|
+
|
|
21
|
+
Missing user file means no named profiles. Do not auto-create the live
|
|
22
|
+
catalog. An empty `lineups` object is valid and is not an error. A
|
|
23
|
+
malformed unused catalog cannot override explicit inline owner choices.
|
|
24
|
+
|
|
25
|
+
## Configurable roles
|
|
26
|
+
|
|
27
|
+
Catalog entries assign Explorer, Crewmate, Light Implementer, Test Engineer,
|
|
28
|
+
Scribe, Plan Integrator, Systems Modeler, Integration Engineer, Requirements
|
|
29
|
+
Engineer, Park Ranger, and Surveyor. The Light Implementer takes only slices
|
|
30
|
+
whose `work_class` is `light` (criteria in `skills/light-implementer`); it
|
|
31
|
+
has its own primary and fallbacks, usually a lighter and cheaper route. Navigator and Validator are not lineup roles;
|
|
32
|
+
existing plans that still assign them use the compatibility diagnostics and
|
|
33
|
+
treat the assignment as unused. Never fill agent, model, or reasoning values
|
|
34
|
+
on the user's behalf. `review_cadence` is `at-end`.
|
|
35
|
+
|
|
36
|
+
The Router is not a configurable role: it is whatever session is running
|
|
37
|
+
planning. The Journey snapshot records the observed Router identity
|
|
38
|
+
(harness, model, reasoning at that time). A catalog or snapshot entry with
|
|
39
|
+
`role: Router` is ignored with the typed note `router_row_ignored`; it is
|
|
40
|
+
never a deviation.
|
|
41
|
+
|
|
42
|
+
Only verified primary unavailability activates its approved fallback. If
|
|
43
|
+
both are unavailable, return `OWNER_DECISION_REQUIRED`.
|
|
44
|
+
|
|
45
|
+
This catalog is the single lineup source. A legacy
|
|
46
|
+
`~/.agents/bearing-lite/default-role-lineup.md` is never read or created;
|
|
47
|
+
when one is present it is ignored with the typed note
|
|
48
|
+
`legacy_lineup_md_ignored`. A missing catalog returns the typed outcome
|
|
49
|
+
`no_named_profiles` and an inline-selection prompt.
|
|
50
|
+
|
|
51
|
+
## Validity
|
|
52
|
+
|
|
53
|
+
Named selection and save require a valid catalog. Bind
|
|
54
|
+
`schemas/lineups.schema.json` Draft 2020-12 validation before named
|
|
55
|
+
selection or save. That schema is the validation document, not a second
|
|
56
|
+
search root for user data. Do not add a runtime catalog library.
|
|
57
|
+
|
|
58
|
+
On load and on save, inspect raw object members first. Reject duplicate
|
|
59
|
+
raw JSON keys; do not silently collapse. Then parse and apply Draft 2020-12
|
|
60
|
+
validation against package-root `schemas/lineups.schema.json`. Fail closed
|
|
61
|
+
as follows even when the schema cannot express the check:
|
|
62
|
+
|
|
63
|
+
- Reject duplicate role assignments within each phase.
|
|
64
|
+
- Reject ASCII case-fold collisions on both load and save. Do not trim
|
|
65
|
+
or case-fold names.
|
|
66
|
+
- Defaults keys must resolve exactly. Unresolved defaults fail closed.
|
|
67
|
+
- Invalid structure or name fails closed on both load and save.
|
|
68
|
+
|
|
69
|
+
Refuse named selection or save on any of those failures. Do not invent a
|
|
70
|
+
fallback profile and do not read packaged bytes as user data.
|
|
71
|
+
|
|
72
|
+
## Selection
|
|
73
|
+
|
|
74
|
+
Explicit inline owner choices require no catalog lookup and no extra
|
|
75
|
+
confirmation. Consume them as already explicit.
|
|
76
|
+
|
|
77
|
+
A named choice needs a valid catalog and an exact selected key. Do not trim
|
|
78
|
+
or case-fold the name. Independent planning and implementation selections
|
|
79
|
+
remain separate; the owner may pick two names, one name twice, or inline on
|
|
80
|
+
either side.
|
|
81
|
+
|
|
82
|
+
Optional user `defaults.planning` and `defaults.implementation` are
|
|
83
|
+
recommendations requiring selection or confirmation. They are never a silent
|
|
84
|
+
grant and not an authority grant. Do not apply them without that
|
|
85
|
+
confirmation. Do not invent a packaged default.
|
|
86
|
+
|
|
87
|
+
Copy selected entries into the Journey snapshot as a frozen snapshot copy.
|
|
88
|
+
Preserve fallback array order. Bind a SHA-256 configuration digest of that
|
|
89
|
+
frozen snapshot copy. Digest that copy only: selected entries with fallback
|
|
90
|
+
order and selection sources. Exclude N/K/C, review cadence, route, and
|
|
91
|
+
authority. Canonical JSON: UTF-8, sort_keys, compact separators.
|
|
92
|
+
Later catalog edits do not mutate the frozen snapshot copy or its digest.
|
|
93
|
+
|
|
94
|
+
## Save
|
|
95
|
+
|
|
96
|
+
Save only on explicit owner request. Never save this Journey as a side
|
|
97
|
+
effect of selection, freeze, or routing.
|
|
98
|
+
|
|
99
|
+
Create versus replace: if replace is already explicit, do not ask again;
|
|
100
|
+
otherwise preview the selected-entry replacement and confirm. Create must
|
|
101
|
+
not overwrite an existing exact key. Replace updates only that key.
|
|
102
|
+
|
|
103
|
+
Preserve unrelated valid keys and defaults. Refuse changed-input overwrite.
|
|
104
|
+
Use a safe atomic update (sibling temp file, then rename).
|
|
105
|
+
|
|
106
|
+
Do not write N/K/C, review cadence, route, or authority into catalog
|
|
107
|
+
entries.
|
|
@@ -10,10 +10,14 @@ copy peer text, runtimes, state stores, or authority assumptions.
|
|
|
10
10
|
| Repository Fit | [Kiro steering](https://kiro.dev/docs/steering/) | verified workspace and explicit global/workspace scope |
|
|
11
11
|
| Set Bearings | [Kiro steering](https://kiro.dev/docs/steering/) | durable human-readable workspace context |
|
|
12
12
|
| Gather Supplies | [Matt Pocock grilling](https://github.com/mattpocock/skills/blob/main/skills/productivity/grilling/SKILL.md) | relentless dependency-ordered interview, one recommended question at a time |
|
|
13
|
-
| Map the Route | [Kiro Quick Spec](https://kiro.dev/docs/specs/quick-spec/) and [GitHub Spec Kit](https://github.com/github/spec-kit/blob/main/workflows/speckit/workflow.yml) |
|
|
13
|
+
| Map the Route | [Kiro Quick Spec](https://kiro.dev/docs/specs/quick-spec/) and [GitHub Spec Kit](https://github.com/github/spec-kit/blob/main/workflows/speckit/workflow.yml) | technical-plan, design.md, seit.json, implementation.json, two-state review.html |
|
|
14
14
|
| Navigator | compatibility diagnostic | unused on new Journeys; Router owns sequencing |
|
|
15
15
|
| Explorer | LangChain subagents | bounded worker dispatch, proven-independent lane coordination, and result integration |
|
|
16
|
-
| Crewmate | Spec Kit implement step | bounded execution after approved planning |
|
|
17
|
-
|
|
|
16
|
+
| Crewmate | Spec Kit implement step | bounded execution after approved planning; split test-writing versus product |
|
|
17
|
+
| Scribe | event side lane | transcribes; cannot activate authority |
|
|
18
|
+
| Plan Integrator | Spec Kit tasks gate | reconciles five artifacts; generates implementation.json and review.html |
|
|
19
|
+
| Systems Modeler | MBSE view selection | after requirements; before design finalization |
|
|
20
|
+
| Integration Engineer | assembly method | dual planning and execution sessions |
|
|
21
|
+
| Test Engineer | Spec Kit gate | Planning and Assurance sessions; Validator absent from active roles |
|
|
18
22
|
| Park Ranger | LangChain reviewer subagent | independent defect review with a typed return |
|
|
19
23
|
| Surveyor | Spec Kit review gate | outcome comparison before completion |
|
|
@@ -13,8 +13,8 @@ flowchart TD
|
|
|
13
13
|
I -->|approve Explorer Journey: one wave| E[Explorer may continue in-wave]
|
|
14
14
|
I -->|approve Expedition: Router sequences waves| E
|
|
15
15
|
E --> C
|
|
16
|
-
C --> A{
|
|
17
|
-
A -->|
|
|
16
|
+
C --> A{Declared phase or wave end candidate?}
|
|
17
|
+
A -->|Assurance Test Engineer declared| V[Fresh Assurance Test Engineer]
|
|
18
18
|
A -->|Park Ranger declared| PK[Fresh Park Ranger]
|
|
19
19
|
A -->|Surveyor declared| S[Fresh Surveyor]
|
|
20
20
|
A -->|not yet| E
|
|
@@ -11,7 +11,7 @@ The project's human-readable plan is the only task-state record. Diagrams explai
|
|
|
11
11
|
| `WAITING_ON` | Parent coordinator | Named prerequisite, checkout-lease conflict, or independent-assurance dispatch unavailable |
|
|
12
12
|
| `IN_PROGRESS` | Assigned worker or coordinator | Assigned action is being performed |
|
|
13
13
|
| `EVIDENCE_READY` | Parent coordinator | Candidate and evidence ready for next missing assurance |
|
|
14
|
-
| `VALIDATING` |
|
|
14
|
+
| `VALIDATING` | Assurance Test Engineer | Evidence sufficiency under validation |
|
|
15
15
|
| `REVIEWING` | Park Ranger when required | Independent defect review active |
|
|
16
16
|
| `ACCEPTANCE` | Surveyor, Owner Authority, or parent coordinator when `required_assurance` is `none` | User-facing acceptance or coordinator completion confirmation is active |
|
|
17
17
|
| `CORRECTION_REQUIRED` | Router or nearest parent coordinator | Agent-owned in-authority correction required |
|
|
@@ -27,7 +27,7 @@ The project's human-readable plan is the only task-state record. Diagrams explai
|
|
|
27
27
|
- `IN_PROGRESS` → `EVIDENCE_READY` with candidate and handoff; → `CORRECTION_REQUIRED` on correctable failure; → `OWNER_DECISION_REQUIRED` on security, authority, or integrity guard.
|
|
28
28
|
- `CORRECTION_REQUIRED` → `READY` on attempt 1 or 2 with a new hypothesis and evidence; → `OWNER_DECISION_REQUIRED` on the third failed correction or out-of-contract amendment.
|
|
29
29
|
- `EVIDENCE_READY` → `VALIDATING` | `REVIEWING` | `ACCEPTANCE` for the next missing required role; → `WAITING_ON` if assurance dispatch is unavailable.
|
|
30
|
-
- During the single assurance round, an accepted
|
|
30
|
+
- During the single assurance round, an accepted Assurance Test Engineer or Park Ranger handoff returns to `EVIDENCE_READY` to select the next missing assurance role in declared order.
|
|
31
31
|
- `VALIDATING` → `CORRECTION_REQUIRED` when more evidence or repair is needed; otherwise back through `EVIDENCE_READY` for remaining assurance.
|
|
32
32
|
- `REVIEWING` → `CORRECTION_REQUIRED` | `EVIDENCE_READY` | `OWNER_DECISION_REQUIRED` by verdict.
|
|
33
33
|
- `ACCEPTANCE` → `COMPLETE` when every required assurance accepted the same candidate; when `required_assurance` is `none`, parent-coordinator confirmation satisfies the assurance requirement; → `CORRECTION_REQUIRED` on acceptance gap.
|
|
@@ -38,9 +38,9 @@ The project's human-readable plan is the only task-state record. Diagrams explai
|
|
|
38
38
|
- One parent coordinator writes each task block and its transitions.
|
|
39
39
|
- Router alone writes cross-wave dependencies and Expedition-wide sequencing.
|
|
40
40
|
- Workers and assurance roles return handoffs; they do not race plan edits.
|
|
41
|
-
- Candidate authors never provide their own
|
|
41
|
+
- Candidate authors never provide their own Assurance Test Engineer, Park Ranger, or Surveyor verdict.
|
|
42
42
|
- Waiting on a prerequisite consumes no correction attempt. Each task has its own three-attempt correction counter; identical retries without new evidence are invalid.
|
|
43
|
-
-
|
|
43
|
+
- Each declared phase or wave receives at most one assurance round and one review-directed repair. Replacement candidates do not reset the count within that declared unit; the next distinct declared phase or wave carries its own 1/1 budget. The coordinator verifies that repair deterministically and does not dispatch assurance again.
|
|
44
44
|
- `COMPLETE` is terminal for Bearing assurance. An already authorized deployment keeps operational verification and rollback readiness but does not reopen review; candidate-changing deployment work requires separate scope.
|
|
45
45
|
|
|
46
46
|
## Checkout lease
|
|
@@ -12,7 +12,7 @@ stateDiagram-v2
|
|
|
12
12
|
IN_PROGRESS --> OWNER_DECISION_REQUIRED
|
|
13
13
|
CORRECTION_REQUIRED --> READY
|
|
14
14
|
CORRECTION_REQUIRED --> OWNER_DECISION_REQUIRED: third failed correction
|
|
15
|
-
EVIDENCE_READY --> VALIDATING:
|
|
15
|
+
EVIDENCE_READY --> VALIDATING: Assurance Test Engineer required
|
|
16
16
|
EVIDENCE_READY --> REVIEWING: Park Ranger required
|
|
17
17
|
EVIDENCE_READY --> ACCEPTANCE: Surveyor, owner, or coordinator when required_assurance is none
|
|
18
18
|
EVIDENCE_READY --> WAITING_ON: assurance dispatch unavailable
|
|
@@ -30,16 +30,20 @@ pre-Map lineup or route-review gate is allowed.
|
|
|
30
30
|
- deterministic_gate: <PASS after repair; otherwise omitted>
|
|
31
31
|
```
|
|
32
32
|
|
|
33
|
-
`review_cadence` is `at-end`
|
|
34
|
-
|
|
33
|
+
`review_cadence` is `at-end` for each declared phase or wave. The single
|
|
34
|
+
independent review runs on that unit's integrated candidate at its end, not at
|
|
35
|
+
a slice or round boundary, and not as
|
|
35
36
|
task-level tests or author self-checks. Never infer it from
|
|
36
37
|
`required_assurance` on an individual task. The proposal is visible in
|
|
37
|
-
`implementation.
|
|
38
|
+
`implementation.json` and `review.html`, then becomes authoritative only after
|
|
38
39
|
the integrated owner approval; do not offer `per-slice` or `per-round`.
|
|
39
40
|
`journey` stays a proposal until the mapped implementation graph exists and the
|
|
40
41
|
integrated owner review approves it. `lineup_snapshot` is authoritative after
|
|
41
42
|
that approval. Later
|
|
42
|
-
edits to `~/.agents/bearing-lite/
|
|
43
|
+
edits to `~/.agents/bearing-lite/lineups.json` have no effect. The `Router`
|
|
44
|
+
row of the snapshot is the observed identity of the session that ran planning
|
|
45
|
+
(harness, model, reasoning at that time); it is never a catalog selection and
|
|
46
|
+
never a deviation.
|
|
43
47
|
Replace it only through an explicit owner-confirmed dated visible amendment.
|
|
44
48
|
Record the amendment date beside the replacement values. Dispatch identities
|
|
45
49
|
come from this snapshot, not from the current global defaults file.
|
|
@@ -122,10 +126,14 @@ Field rules:
|
|
|
122
126
|
```markdown
|
|
123
127
|
- scope: <allowed paths, systems, and boundaries>
|
|
124
128
|
- authority: <approved envelope; protected actions remain owner-only>
|
|
125
|
-
- required_assurance: [
|
|
129
|
+
- required_assurance: [Assurance Test Engineer]
|
|
126
130
|
```
|
|
127
131
|
|
|
128
|
-
`required_assurance` lists only roles that must accept the same candidate (for example `
|
|
132
|
+
`required_assurance` lists only roles that must accept the same candidate (for example `Assurance Test Engineer`, and `Park Ranger` or `Surveyor` when their triggers apply).
|
|
133
|
+
|
|
134
|
+
test-writing Crewmate write set is tests and approved fixtures only. Product
|
|
135
|
+
write set excludes tests and must not weaken independently authored tests.
|
|
136
|
+
Neither self-certifies.
|
|
129
137
|
|
|
130
138
|
## After candidate work (add when evidence exists)
|
|
131
139
|
|
|
@@ -135,14 +143,15 @@ Field rules:
|
|
|
135
143
|
- tests: <commands run and observed results>
|
|
136
144
|
- findings: <labeled inferences and gaps>
|
|
137
145
|
- verdict: <closed role-return token>
|
|
138
|
-
- assurance_rounds: <0-1 completed assurance rounds for this
|
|
146
|
+
- assurance_rounds: <0-1 completed assurance rounds for this declared phase or wave>
|
|
139
147
|
```
|
|
140
148
|
|
|
141
149
|
`verdict` is one of `ACCEPT`, `ACCEPT_WITH_FINDINGS`, `BLOCK`, `CANDIDATE_READY`, `FAIL`, `GAPS`, `NEEDS_MORE_EVIDENCE`, `OWNER_DECISION_REQUIRED`, `PARTIAL`, `PASS`, `READY`, `REPAIR_REQUIRED`, `REROUTED`, `WAITING_ON`. Do not copy task `outcome` into `verdict`.
|
|
142
150
|
`candidate_ref` must not claim stronger provenance than the client can prove.
|
|
143
|
-
`assurance_rounds` counts
|
|
144
|
-
against Bearing Lite `max_assurance_rounds`. A repair or
|
|
145
|
-
does not reset it;
|
|
151
|
+
`assurance_rounds` counts this declared phase or wave's single submission to
|
|
152
|
+
required assurance against Bearing Lite `max_assurance_rounds`. A repair or
|
|
153
|
+
replacement candidate does not reset it; the next distinct declared phase or
|
|
154
|
+
wave carries its own budget. The parent
|
|
146
155
|
coordinator writes the count before dispatch. If the review permits correction, spend at
|
|
147
156
|
most one remaining `attempts` repair, run deterministic coordinator verification,
|
|
148
157
|
and close the gate without another review. A failed repair or scope change
|
|
@@ -163,4 +172,4 @@ review. Any source or candidate change during deployment is separately scoped.
|
|
|
163
172
|
|
|
164
173
|
## Single-writer reminder
|
|
165
174
|
|
|
166
|
-
Only the parent coordinator updates this block after rereading it. Crewmate,
|
|
175
|
+
Only the parent coordinator updates this block after rereading it. Crewmate, Test Engineer, Park Ranger, and Surveyor return compact receipts (`verdict`, `candidate_ref`, `changed_paths`, `tests`, `findings`, `blocker`); the coordinator records transitions. Router alone changes cross-wave dependencies or global sequencing. Update `implementation.json` and `review.html` once per wave, plus owner-decision or blocker changes.
|
package/skills/crewmate/SKILL.md
CHANGED
|
@@ -20,6 +20,9 @@ Lowest mutation authority and highest hands-on work in the Bearing ladder.
|
|
|
20
20
|
- **Match:** one packet is `READY` and every input is fixed.
|
|
21
21
|
- **Non-match:** multi-packet coordination, design gaps, missing authority,
|
|
22
22
|
assurance, or owner-only action.
|
|
23
|
+
- **Split:** test-writing Crewmate may change only tests and approved
|
|
24
|
+
fixtures. Product Crewmate write set excludes tests and must not weaken
|
|
25
|
+
independently authored tests. Neither self-certifies.
|
|
23
26
|
|
|
24
27
|
## Algorithm
|
|
25
28
|
|
package/skills/explorer/SKILL.md
CHANGED
|
@@ -40,14 +40,15 @@ Wave authority. Coordinates more and implements less than Crewmate.
|
|
|
40
40
|
conversation history. Independent work, a changed envelope, or owner choice
|
|
41
41
|
starts a fresh Crewmate.
|
|
42
42
|
4. Inspect compact returns against write sets and acceptance; integrate
|
|
43
|
-
evidence without implementing. Update `implementation.
|
|
43
|
+
evidence without implementing. Update `implementation.json` and `review.html`
|
|
44
44
|
once per wave, plus owner-decision or blocker changes.
|
|
45
|
-
5. Dispatch declared assurance
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
45
|
+
5. Dispatch declared assurance automatically at wave-end on this wave's
|
|
46
|
+
integrated candidate. Deterministic checks always run. Honor
|
|
47
|
+
`max_assurance_rounds` of 1 per declared phase or wave from visible
|
|
48
|
+
`assurance_rounds`. If the review is repairable, spend at most one
|
|
49
49
|
remaining `attempts` repair, run deterministic coordinator verification,
|
|
50
|
-
and close the gate without another review.
|
|
50
|
+
and close the gate without another review. The next distinct declared
|
|
51
|
+
phase or wave carries its own budget. A failed repair or scope change
|
|
51
52
|
returns `OWNER_DECISION_REQUIRED` with candidate and count. After Journey
|
|
52
53
|
`COMPLETE`, deployment checks do not reopen assurance.
|
|
53
54
|
|
|
@@ -25,7 +25,13 @@ Planning node, not a persona or plan-state writer.
|
|
|
25
25
|
## Algorithm
|
|
26
26
|
|
|
27
27
|
1. Inspect the repository and available evidence before asking. Never ask the
|
|
28
|
-
owner for a fact tools can establish.
|
|
28
|
+
owner for a fact tools can establish. Maintain a coverage ledger from
|
|
29
|
+
required roles and artifacts. Cells are `DISCOVERABLE`, `OPEN`, `DECIDED`,
|
|
30
|
+
`DEFERRED`, `NOT_APPLICABLE`, or `BLOCKED`. Exit is falsifiable: zero
|
|
31
|
+
`OPEN`; `DECIDED` cites owner decision and source; `DEFERRED` has a bounded
|
|
32
|
+
owner-approved destination or trigger; `NOT_APPLICABLE` has a reason;
|
|
33
|
+
`BLOCKED` is surfaced. Planning is a fan-out/fan-in DAG with Scribe as an
|
|
34
|
+
event side lane.
|
|
29
35
|
2. Select the earliest unresolved decision whose dependencies are satisfied.
|
|
30
36
|
3. Ask exactly one question, relayed to the owner through the Router. Lead
|
|
31
37
|
with the recommended answer and why, then explain only material
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: integration-engineer
|
|
3
|
+
description: >
|
|
4
|
+
Dual-session Integration Engineer for planning assembly strategy and
|
|
5
|
+
execution assembly of the exact integrated candidate. Use for Planning
|
|
6
|
+
Integration Engineer or Execution Integration Engineer. Do not
|
|
7
|
+
implement missing product behavior or self-certify.
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Integration Engineer
|
|
11
|
+
|
|
12
|
+
Planning and execution sessions are separate because authority differs.
|
|
13
|
+
|
|
14
|
+
## Inputs and match
|
|
15
|
+
|
|
16
|
+
- **Inputs:** items/versions, compatibility, order, entry criteria,
|
|
17
|
+
configuration identity, authorized glue, interfaces.
|
|
18
|
+
- **Match:** progressive assembly is required.
|
|
19
|
+
- **Non-match:** product implementation, requirement rewrite, test
|
|
20
|
+
authorship.
|
|
21
|
+
|
|
22
|
+
## Algorithm
|
|
23
|
+
|
|
24
|
+
1. Planning Integration Engineer defines items/versions, compatibility,
|
|
25
|
+
order, entry criteria, stubs, configuration identity, post-step V&V
|
|
26
|
+
handoffs, anomaly/rollback/recovery, and the final integrated
|
|
27
|
+
candidate after requirements, views, and design interfaces stabilize.
|
|
28
|
+
2. Execution Integration Engineer confirms identities and readiness,
|
|
29
|
+
assembles approved elements, applies only authorized integration
|
|
30
|
+
glue, exercises interfaces, records anomalies or rollback, produces
|
|
31
|
+
the exact integrated candidate, and hands to Assurance Test Engineer.
|
|
32
|
+
3. Missing Integration Engineering method skill is a typed capability
|
|
33
|
+
gap, not invented behavior.
|
|
34
|
+
|
|
35
|
+
## Return and recovery
|
|
36
|
+
|
|
37
|
+
Return `CANDIDATE_READY` or `OWNER_DECISION_REQUIRED` with verdict,
|
|
38
|
+
candidate_ref, changed_paths, tests, findings, and blocker.
|
|
39
|
+
|
|
40
|
+
Never implement missing product, revise requirements or design, weaken
|
|
41
|
+
tests, or self-certify.
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: light-implementer
|
|
3
|
+
description: >
|
|
4
|
+
Execute one approved light slice exactly as its packet states, verified by
|
|
5
|
+
the packet's deterministic command. Use for Light Implementer, light,
|
|
6
|
+
mechanical, scaffold, bind, assemble, regenerate, or runbook packets. Do
|
|
7
|
+
not use for judgement work, authoring, repair, review, or any decision.
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Light Implementer
|
|
11
|
+
|
|
12
|
+
The cheapest route in the ladder. Inputs fully determine the output, a
|
|
13
|
+
command decides pass or fail, and nothing is decided in-session.
|
|
14
|
+
|
|
15
|
+
## Inputs and match
|
|
16
|
+
|
|
17
|
+
- **Inputs:** the Crewmate packet contract (baseline, objective, exact write
|
|
18
|
+
set, authority, commands, stop rule, return schema, visible wave receipt,
|
|
19
|
+
lineup identity from the recorded snapshot) for a slice whose
|
|
20
|
+
`work_class` is `light`.
|
|
21
|
+
- **Match:** every criterion holds:
|
|
22
|
+
1. Inputs are all named and present: paths, digests, UIDs, a runbook.
|
|
23
|
+
Nothing is discovered or interpreted.
|
|
24
|
+
2. The transformation is mechanical: copy, assemble, format, fill a
|
|
25
|
+
template, append rows, run a documented command, record its output.
|
|
26
|
+
3. The packet names the command whose exit status verifies the output.
|
|
27
|
+
4. No decision: no value chosen, ambiguity resolved, candidate selected,
|
|
28
|
+
requirement, contract, rationale, or verification case written.
|
|
29
|
+
5. Bounded blast radius: one write set, no product source, no host or
|
|
30
|
+
runtime mutation beyond a documented read-only or prepare call.
|
|
31
|
+
- **Non-match:** a `judgement` slice; a packet whose LOOP says repair your
|
|
32
|
+
own findings; an `[OPEN]` value; a register conflict to weigh.
|
|
33
|
+
|
|
34
|
+
## Algorithm
|
|
35
|
+
|
|
36
|
+
1. Revalidate the checkout lease exactly as the Crewmate does. On mismatch
|
|
37
|
+
return `WAITING_ON` without writing.
|
|
38
|
+
2. Do exactly what the packet states, inside the write set, and nothing else.
|
|
39
|
+
3. Run the packet's verification command at the candidate revision. Record
|
|
40
|
+
exit status, output digest, and changed paths.
|
|
41
|
+
4. If any step needs a choice the packet did not make, stop before writing
|
|
42
|
+
further and return `NEEDS_MORE_EVIDENCE` with `reclassify: judgement`
|
|
43
|
+
and the exact question. Never guess, never escalate silently.
|
|
44
|
+
5. There is no in-wave repair loop. A failing command returns the typed
|
|
45
|
+
failure with its output; the Router decides.
|
|
46
|
+
|
|
47
|
+
## Return and recovery
|
|
48
|
+
|
|
49
|
+
Return `CANDIDATE_READY`, `NEEDS_MORE_EVIDENCE`, `WAITING_ON`, or
|
|
50
|
+
`OWNER_DECISION_REQUIRED` with verdict, candidate_ref, changed_paths, tests,
|
|
51
|
+
findings, blocker, and `reclassify` when set.
|
|
52
|
+
|
|
53
|
+
Never author, repair, self-certify, expand the write set, or publish.
|
|
@@ -13,35 +13,37 @@ Fresh planning node. The Router writes Journey state and owns owner conversation
|
|
|
13
13
|
|
|
14
14
|
## Match, inputs, and non-match
|
|
15
15
|
|
|
16
|
-
- **Match:** material intent is settled and any
|
|
16
|
+
- **Match:** material intent is settled and any technical-plan, design, SEIT,
|
|
17
17
|
implementation graph, or review HTML is missing.
|
|
18
|
-
- **Inputs:** confirmed decisions,
|
|
18
|
+
- **Inputs:** confirmed decisions, workspace.md and evidence, artifact status,
|
|
19
19
|
requirements register, repository rules, proposed owner-supplied lineup and
|
|
20
20
|
`review_cadence: at-end`, plus the return schema.
|
|
21
21
|
- **Non-match:** unresolved material scope, behavior, authority, risk, or
|
|
22
22
|
acceptance intent returns `REROUTE_GATHER_SUPPLIES`; generate no
|
|
23
|
-
`implementation.
|
|
23
|
+
`implementation.json` or `review.html`.
|
|
24
24
|
|
|
25
25
|
## Procedure
|
|
26
26
|
|
|
27
|
-
1. Derive `<journey-topic>-
|
|
27
|
+
1. Derive `<journey-topic>-technical-plan.md` from the confirmed title; ask only on
|
|
28
28
|
ambiguity or collision. Establish whether a requirements register exists;
|
|
29
29
|
if repository evidence cannot decide, return `NEEDS_OWNER_DECISION`. Never
|
|
30
30
|
infer one. Registered identities remain references; author only Journey-local
|
|
31
31
|
criteria; author the needed Journey-level proof or return
|
|
32
32
|
`NEEDS_OWNER_DECISION` when register authority is unclear.
|
|
33
33
|
2. Author and prospectively check, in dependency order, the testable
|
|
34
|
-
|
|
34
|
+
technical-plan, `design.md`, and `seit.json`. Preserve IDs and do not drop
|
|
35
35
|
Journey-level proof or published-standard clause coverage.
|
|
36
36
|
3. Map the implementation graph and propose the Explorer Journey or Expedition,
|
|
37
37
|
active/standby/unused role states, lineup, reasoning, and
|
|
38
38
|
`review_cadence: at-end`. Bind the planning-review slots to owner-supplied
|
|
39
39
|
primary and ordered fallback route references under one candidate ref,
|
|
40
40
|
revision, and digest. Use supplied identities; never invent them.
|
|
41
|
-
4. After those stable source inputs,
|
|
41
|
+
4. After those stable source inputs, freeze: `node <plugin root>/hooks/plan-package.cjs <plan dir>`
|
|
42
|
+
must PASS; any finding halts. Then generate `implementation.json` and the
|
|
42
43
|
self-contained offline `review.html` together. Each includes the proposed
|
|
43
44
|
route, lineup, role states, reasoning, cadence, traceability, waves,
|
|
44
|
-
recovery, approval boundaries, and register references versus Journey-local
|
|
45
|
+
recovery, approval boundaries, and register references versus Journey-local
|
|
46
|
+
requirements. Two `review.html` states: `planning-review` and `final-closeout`.
|
|
45
47
|
5. Give every slice stable requirement/design/SEIT IDs, dependencies, exact
|
|
46
48
|
write set, authority, role, session rule, evidence, recovery, and stop rule.
|
|
47
49
|
6. Open and verify final HTML, then request exactly one integrated owner review
|