@alphazede/bearing-lite 0.1.9 → 0.1.11

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.
@@ -3,47 +3,44 @@ name: bearing-lite
3
3
  description: Bearing Lite Router for Journeys. Not for ordinary work, assigned packets, implementation, or publication.
4
4
  ---
5
5
 
6
- The Router alone writes Journey planning state and owns owner conversation;
7
- planning nodes return owner questions. No second start confirmation, `.bearing`,
8
- or hidden ledger. plugin hosts are partial; skill-copy is skills-only.
6
+ The Router alone writes Journey planning state, owns owner conversation, and owns Expedition sequencing;
7
+ planning nodes return owner questions. Plugin hosts are partial; skill-copy is skills-only.
9
8
 
10
- 1. Say `Preparing this Journey.` Inventory visible nonterminal Journeys; acquire or
11
- resume a generation-bound checkout lease before any planning write or dispatch.
12
- A live same-checkout competitor returns `WAITING_ON` with sanitized competing identity;
13
- Distinct explicitly approved compatible worktrees may proceed.
14
- 2. New Journey: recommend Explorer Journey or Expedition with reason; say when
15
- the other fits. Ask exactly: `What Journey shall
16
- we Embark on—an Explorer Journey or an Expedition?`
17
- 3. On resume, keep the same lease generation and next incomplete stage. Parent-proven
18
- same-Journey progress refreshes `candidate_revision` on that generation.
19
- Never replay accepted stages or duplicate a dispatch.
20
- 4. If `~/.agents/bearing-lite/default-role-lineup.md` is absent, create a
21
- proposed copy from `templates/default-role-lineup.md`; confirm one role at a
22
- time. Never infer identity values.
23
- 5. Run one missing stage in order: Repository Fit → Set Bearings → Gather
24
- Supplies. The Router holds every owner conversation inline; Gather Supplies
25
- is a Router-led interview, never dispatched. Dispatch a fresh session only
26
- for bounded mechanical legwork (mapping, drafting) after stage intent is
27
- clear, on a cheaper lower-reasoning model than the Router; integrate returns.
28
- 6. Before Map the Route, display each role's primary/fallback, model, reasoning,
29
- and active/standby/unused state. Ask `Is this a
30
- good lineup for the roles on this Journey?`; never choose. Recommend cadence
31
- with a reason plus one cheaper and one more expensive alternative stating
32
- what each gives up or buys. Ask `How often would you like an independent
33
- review—per slice, per round, or at the end?`
34
- 7. Record route, lineup, and cadence before task mapping; if declined, record the named default explicitly.
35
- The recorded snapshot is authoritative for this Journey. Later edits to
36
- `~/.agents/bearing-lite/default-role-lineup.md` have no effect on it. Replace
37
- only through an explicit owner-confirmed dated visible amendment. Invoke Map the Route with the snapshot.
38
- 8. Every ready node gets a fresh session with lineup identity from the recorded snapshot.
9
+ 1. Say `Preparing this Journey.` Acquire or resume a generation-bound checkout lease before
10
+ planning or dispatch. A live same-checkout competitor returns `WAITING_ON` with sanitized identity.
11
+ 2. Resume the next incomplete stage in the same generation; refresh `candidate_revision`.
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 proposed copy
14
+ from `templates/default-role-lineup.md`;
15
+ never infer identity values. The recorded snapshot is authoritative for this Journey.
16
+ Later edits to
17
+ `~/.agents/bearing-lite/default-role-lineup.md` have no effect on it except through an
18
+ explicit owner-confirmed dated visible amendment. Dispatch uses lineup identity from the recorded snapshot.
19
+ 4. Run Repository Fit Set Bearings → Gather Supplies; unresolved material intent blocks Map the Route.
20
+ 5. Invoke Map the Route after settled intent. Do not ask for lineup or route
21
+ before it; carry owner-supplied lineup and `review_cadence: at-end` as proposals.
22
+ 6. On `PLAN_REVIEW_READY`, enforce `references/review-policy.md`: one candidate,
23
+ unique independent slots, one round and aggregated repair, deterministic PASS,
24
+ no rereview. Journey snapshots bind slots; validation never dispatches. Show one integrated
25
+ approval-or-change gate for outcome, design, route, lineup, role states,
26
+ reasoning, cadence, and plan. Record the approved Journey type and snapshot; regenerate changes.
27
+ Never add a staged lineup or route-review gate.
28
+ Dispatch only after approval.
29
+ 7. Dispatch from the snapshot. Crewmate and Explorer may continue in-wave unchanged.
30
+ Validate the lease at wave start, after drift, and before commit; use the visible wave receipt
31
+ and update implementation and review once per wave.
39
32
 
40
- Return `READY`, `WAITING_ON`, `OWNER_DECISION_REQUIRED`, or `COMPLETE`. Fallback
41
- follows primary unavailability; both failing returns to owner.
42
- Allow three evidence-changing corrections. `max_assurance_rounds` is 3 per
43
- candidate lineage; Direct route checks `assurance_rounds`; Navigator is not required. At the
44
- bound, do not dispatch another review. If a repairable result has a remaining
45
- `attempts` repair, spend it and close the gate; otherwise return
46
- `OWNER_DECISION_REQUIRED` naming the candidate and count; new candidate lineage resets;
47
- release the checkout lease exactly once on `COMPLETE` or `CANCELLED`. Recover by
48
- explicit recorded generation increment that cannot steal a live lease. Process discovery
49
- cannot replace the lease. Never implement, self-assure, select models, or publish.
33
+ Return `READY`, `WAITING_ON`, `OWNER_DECISION_REQUIRED`, or `COMPLETE`. Three
34
+ evidence-changing corrections outside assurance.
35
+ `max_assurance_rounds` is 1 per Journey; Direct route checks `assurance_rounds`, never
36
+ dispatch Navigator, and one review may authorize one repair. Verify repair
37
+ deterministically without another review; failed repair/scope change returns
38
+ `OWNER_DECISION_REQUIRED` naming the candidate and count. Only a separately scoped,
39
+ materially changed new Journey resets review allowance. `COMPLETE` ends Bearing assurance.
40
+ Authorized deployment keeps checks without reopening review.
41
+ Planning review is a separate pre-dispatch gate; it never consumes implementation
42
+ `required_assurance`, `assurance_rounds`, or `max_assurance_rounds`.
43
+ Release the lease once: release the checkout lease exactly once on `COMPLETE` or `CANCELLED`;
44
+ recovery needs explicit recorded generation increment.
45
+ Recovery cannot steal a live lease.
46
+ Never implement, self-assure, select models, or publish.
@@ -1,7 +1,7 @@
1
1
  interface:
2
2
  display_name: "Bearing Lite"
3
3
  short_description: "Route a stateful repository Journey"
4
- default_prompt: "Use $bearing-lite to start or resume this Journey, resolve planning one stage at a time, confirm the lineup and review cadence, then dispatch fresh bounded sessions."
4
+ default_prompt: "Use $bearing-lite to start or resume this Journey, resolve planning one stage at a time, confirm the lineup, record at-end review, then dispatch bounded sessions."
5
5
 
6
6
  policy:
7
7
  allow_implicit_invocation: false
@@ -11,7 +11,7 @@ copy peer text, runtimes, state stores, or authority assumptions.
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
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) | staged requirements/design/tasks and explicit gates |
14
- | Navigator | LangChain subagents | central sequencing, context isolation, and conflict-aware wave integration |
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
16
  | Crewmate | Spec Kit implement step | bounded execution after approved planning |
17
17
  | Validator | Spec Kit gate | evidence gate on a stable candidate |
@@ -0,0 +1,37 @@
1
+ # Planning review policy
2
+
3
+ This machine-readable block is the single declarative authority for
4
+ planning-review constraints. `hooks/planning-review.cjs` exports its runtime
5
+ mirror; focused tests require an exact match. Changing these bounds needs
6
+ an explicit owner amendment. This policy records no route, provider, model,
7
+ harness, account, or agent identity.
8
+
9
+ ```json
10
+ {
11
+ "reviewer_slots_min": 2,
12
+ "reviewer_slots_max": 2,
13
+ "independence_required": true,
14
+ "isolated_findings_until_aggregation": true,
15
+ "candidate_fields": ["candidate_ref", "candidate_revision", "candidate_digest"],
16
+ "shared_candidate_required": true,
17
+ "review_rounds": 1,
18
+ "aggregated_repairs_max": 1,
19
+ "post_repair_gate": "deterministic_PASS",
20
+ "automatic_rereview": "prohibited",
21
+ "slot_exhaustion_outcome": "FAIL_ROUND",
22
+ "terminal_outcomes": ["HALT", "OWNER_AMENDMENT_REQUIRED"]
23
+ }
24
+ ```
25
+
26
+ Map the Route writes the separate Journey binding in the approved lineup
27
+ snapshot. It lists unique abstract `slot_id` values, each slot's owner-selected
28
+ `primary_route_ref`, and ordered `fallback_route_refs`. Each receipt records a
29
+ distinct selected route from its slot. All receipts bind to the same non-empty
30
+ candidate ref, revision, and digest. Exhausting any slot
31
+ returns `FAIL_ROUND`. Candidate or independence mismatch, a second round or
32
+ repair, or a missing deterministic PASS after repair returns `HALT`. Automatic
33
+ confirmation or rereview returns `OWNER_AMENDMENT_REQUIRED`.
34
+
35
+ This gate reviews planning artifacts before dispatch. It never invokes a
36
+ reviewer. Implementation assurance remains governed separately by
37
+ `max_assurance_rounds` and task `required_assurance` / `assurance_rounds`.
@@ -1,21 +1,21 @@
1
1
  flowchart TD
2
2
  O[Owner Authority] <--> R[Stateful Bearing Lite Router]
3
- R --> J{Explorer Journey or Expedition?}
4
3
  R --> P{Next missing planning stage?}
5
4
  P -->|Repository Fit| PF[Fresh Repository Fit]
6
5
  P -->|Set Bearings| SB[Fresh Set Bearings]
7
6
  P -->|Gather Supplies| GS[Fresh Gather Supplies]
8
7
  P -->|Map the Route| MR[Fresh Map the Route]
9
- PF & SB & GS & MR -->|typed return| R
10
- R --> L[Owner confirms lineup and review cadence]
11
- J -->|Explorer Journey: one packet| C[Fresh Crewmate]
12
- J -->|Explorer Journey: one wave| E[Fresh Explorer]
13
- J -->|Expedition| N[Fresh Navigator]
14
- N --> E
8
+ PF & SB & GS -->|typed return| R
9
+ R --> MR
10
+ MR -->|five artifacts with proposed route, lineup, role states, reasoning, cadence| I{One integrated owner review}
11
+ I -->|change| MR
12
+ I -->|approve Explorer Journey: one packet| C[Crewmate may continue in-wave]
13
+ I -->|approve Explorer Journey: one wave| E[Explorer may continue in-wave]
14
+ I -->|approve Expedition: Router sequences waves| E
15
15
  E --> C
16
- C --> A{Selected cadence boundary?}
16
+ C --> A{Final integrated candidate at-end?}
17
17
  A -->|Validator declared| V[Fresh Validator]
18
18
  A -->|Park Ranger declared| PK[Fresh Park Ranger]
19
19
  A -->|Surveyor declared| S[Fresh Surveyor]
20
20
  A -->|not yet| E
21
- V & PK & S -->|typed verdict| R
21
+ V & PK & S -->|compact receipt| R
@@ -14,7 +14,7 @@ The project's human-readable plan is the only task-state record. Diagrams explai
14
14
  | `VALIDATING` | Validator | 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
- | `CORRECTION_REQUIRED` | Navigator or nearest parent coordinator | Agent-owned in-authority correction required |
17
+ | `CORRECTION_REQUIRED` | Router or nearest parent coordinator | Agent-owned in-authority correction required |
18
18
  | `OWNER_DECISION_REQUIRED` | Owner Authority | Authority, scope, security, or replacement-path judgment required |
19
19
  | `COMPLETE` | Parent coordinator after assurance | Outcome and required assurance satisfied |
20
20
  | `CANCELLED` | Owner Authority or authorized parent | Task will not proceed |
@@ -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
- - After accepted Validator or Park Ranger handoff, return to `EVIDENCE_READY` and select the next missing assurance role in declared order.
30
+ - During the single assurance round, an accepted Validator 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.
@@ -36,10 +36,12 @@ The project's human-readable plan is the only task-state record. Diagrams explai
36
36
  ## Ownership rules
37
37
 
38
38
  - One parent coordinator writes each task block and its transitions.
39
- - Navigator alone writes cross-wave dependencies and Expedition-wide sequencing.
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
41
  - Candidate authors never provide their own Validator, 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
+ - One Journey receives at most one assurance round and one review-directed repair. Replacement candidates do not reset the count. The coordinator verifies that repair deterministically and does not dispatch assurance again.
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.
43
45
 
44
46
  ## Checkout lease
45
47
 
@@ -6,12 +6,11 @@ implementation and asks whether it is good for the current Journey. Never fill
6
6
  agent, model, or reasoning values on the user's behalf.
7
7
 
8
8
  ```markdown
9
- review_cadence: <per-slice | per-round | at-end>
9
+ review_cadence: at-end
10
10
 
11
11
  | Role | Primary agent/harness | Primary model | Primary reasoning | Fallback agent/harness | Fallback model | Fallback reasoning |
12
12
  | --- | --- | --- | --- | --- | --- | --- |
13
13
  | Router | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET |
14
- | Navigator | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET |
15
14
  | Explorer | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET |
16
15
  | Crewmate | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET |
17
16
  | Validator | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET |
@@ -19,6 +18,9 @@ review_cadence: <per-slice | per-round | at-end>
19
18
  | Surveyor | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET |
20
19
  ```
21
20
 
21
+ Navigator is not a normal lineup role. Existing plans that still assign it use
22
+ the Navigator compatibility diagnostic; treat the assignment as unused.
23
+
22
24
  Journey artifacts copy the confirmed values and mark named instances active,
23
25
  standby, or unused. Only verified primary unavailability activates its approved
24
26
  fallback. If both are unavailable, return `OWNER_DECISION_REQUIRED`.
@@ -2,28 +2,53 @@
2
2
 
3
3
  Use one compact Markdown block per task in the project's existing plan or progress document. Omit unused conditional fields. Prefer the project's format; add only missing fields. Do not create a Bearing-owned state file or hidden ledger.
4
4
 
5
- ## Journey settings (record before task mapping)
5
+ ## Journey settings
6
6
 
7
- Record these plan-level choices once, above the task blocks:
7
+ Map the Route records these plan-level proposals above the task blocks in the
8
+ complete five-artifact package. The integrated owner review approves or changes
9
+ the journey, lineup, role states, reasoning, cadence, and plan together; no
10
+ pre-Map lineup or route-review gate is allowed.
8
11
 
9
12
  ```markdown
10
13
  - journey: <Explorer Journey | Expedition>
11
- - review_cadence: <per-slice | per-round | at-end>
12
- - choice_basis: <owner-confirmed recommendation and reason>
13
- - lineup_snapshot: <named active, standby, and unused role instances>
14
+ - review_cadence: at-end
15
+ - choice_basis: <proposed recommendation and reason; owner-approved at integrated review>
16
+ - lineup_snapshot: <named implementation/assurance instances plus the planning_review binding below>
17
+ - planning_review:
18
+ - policy_ref: skills/bearing-lite/references/review-policy.md
19
+ - candidate_ref: <shared planning-package reference>
20
+ - candidate_revision: <shared planning-package revision>
21
+ - candidate_digest: <shared planning-package digest>
22
+ - reviewer_slots:
23
+ - slot_id: <abstract unique slot>
24
+ primary_route_ref: <owner-selected lineup route reference>
25
+ fallback_route_refs: [<ordered owner-selected route references>]
26
+ - round_number: 1
27
+ - completed_rounds: <0-1>
28
+ - receipts: <one isolated receipt per slot, including the distinct selected_route_ref>
29
+ - aggregated_repairs: <0-1>
30
+ - deterministic_gate: <PASS after repair; otherwise omitted>
14
31
  ```
15
32
 
16
- `review_cadence` controls independent review frequency, not task-level tests or
17
- author self-checks. Never infer it from `required_assurance` on an individual
18
- task. `per-round` means after each integrated execution or correction round;
19
- `at-end` means one review of the final integrated candidate. The Router asks the
20
- owner to confirm both the applicable lineup and cadence before implementation.
21
- `lineup_snapshot` is authoritative for this Journey after recording. Later
33
+ `review_cadence` is `at-end` only. The single independent review runs on the
34
+ final integrated candidate, not at a slice or round boundary, and not as
35
+ task-level tests or author self-checks. Never infer it from
36
+ `required_assurance` on an individual task. The proposal is visible in
37
+ `implementation.md` and `review.html`, then becomes authoritative only after
38
+ the integrated owner approval; do not offer `per-slice` or `per-round`.
39
+ `journey` stays a proposal until the mapped implementation graph exists and the
40
+ integrated owner review approves it. `lineup_snapshot` is authoritative after
41
+ that approval. Later
22
42
  edits to `~/.agents/bearing-lite/default-role-lineup.md` have no effect.
23
43
  Replace it only through an explicit owner-confirmed dated visible amendment.
24
44
  Record the amendment date beside the replacement values. Dispatch identities
25
45
  come from this snapshot, not from the current global defaults file.
26
46
 
47
+ Every configured planning-review slot uses the same candidate ref, revision,
48
+ and digest. Findings stay isolated until one aggregation. Slot exhaustion is
49
+ `FAIL_ROUND`; policy violations halt or require an owner amendment. The binding
50
+ does not populate `required_assurance` and does not dispatch reviewers.
51
+
27
52
  ## Checkout lease (record before any planning write)
28
53
 
29
54
  The Router's first write is this visible lease. Inventory nonterminal Journeys
@@ -52,6 +77,26 @@ same generation. `COMPLETE` or `CANCELLED` releases the lease exactly
52
77
  once. Stale recovery is explicit, recorded, increments generation, and cannot
53
78
  steal a live lease. Process discovery cannot replace this durable lease.
54
79
 
80
+ ## Wave receipt (record at wave start)
81
+
82
+ Continuations reuse this visible record beside the checkout lease. Validate at
83
+ wave start, after detected drift, and before commit — not before every
84
+ mutation. Resume from it; do not reread every accepted artifact or redispatch
85
+ completed slices.
86
+
87
+ ```markdown
88
+ - wave_receipt:
89
+ - wave: <wave id>
90
+ - lease_generation: <generation>
91
+ - branch: <branch>
92
+ - candidate_revision: <revision at last check>
93
+ - authority: <envelope>
94
+ - checked_at: <wave_start | external_change | commit>
95
+ ```
96
+
97
+ Stale, forged, or drifted receipts fail closed. Changed HEAD, authority,
98
+ generation, route, or writer overlap forces revalidation or a fresh session.
99
+
55
100
  ## Always present
56
101
 
57
102
  ```markdown
@@ -66,7 +111,7 @@ steal a live lease. Process discovery cannot replace this durable lease.
66
111
  Field rules:
67
112
 
68
113
  - `task_id` — stable identifier unique within the plan.
69
- - `outcome` — approved intent for this task only.
114
+ - `outcome` — approved intent for this task only. Never a role-return token and never copied into `verdict`.
70
115
  - `status` — one of `PROPOSED`, `READY`, `WAITING_ON`, `IN_PROGRESS`, `EVIDENCE_READY`, `VALIDATING`, `REVIEWING`, `ACCEPTANCE`, `CORRECTION_REQUIRED`, `OWNER_DECISION_REQUIRED`, `COMPLETE`, `CANCELLED`.
71
116
  - `assigned_role` — current role contract for the active step, or unassigned while proposing.
72
117
  - `depends_on` — list of other `task_id` values only, never prose.
@@ -86,19 +131,22 @@ Field rules:
86
131
 
87
132
  ```markdown
88
133
  - candidate_ref: <strongest native revision or changed-path reference available>
89
- - evidence: <commands run, results observed, and inferences labeled separately>
90
- - assurance_rounds: <0-3 completed assurance rounds for this candidate lineage>
134
+ - changed_paths: <paths changed in this candidate>
135
+ - tests: <commands run and observed results>
136
+ - findings: <labeled inferences and gaps>
137
+ - verdict: <closed role-return token>
138
+ - assurance_rounds: <0-1 completed assurance rounds for this Journey>
91
139
  ```
92
140
 
141
+ `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`.
93
142
  `candidate_ref` must not claim stronger provenance than the client can prove.
94
- `assurance_rounds` counts each candidate version submitted to required assurance
95
- in one candidate lineage against Bearing Lite `max_assurance_rounds`. A repair
96
- of the same work stays in the lineage. A new candidate lineage resets the count
97
- to 0. The parent coordinator writes the count and checks it before redispatched
98
- assurance. Review and repair rounds are separate budgets, and the cycle ends on
99
- a repair: `assurance_rounds` counts reviews while `attempts` counts repairs.
100
- When the last review permits a remaining repair, spend it and close the gate
101
- without another review.
143
+ `assurance_rounds` counts the Journey's single submission to required assurance
144
+ against Bearing Lite `max_assurance_rounds`. A repair or replacement candidate
145
+ does not reset it; only a separately scoped, materially changed new Journey starts at 0, and a new Journey is not a way around the bound. The parent
146
+ coordinator writes the count before dispatch. If the review permits correction, spend at
147
+ most one remaining `attempts` repair, run deterministic coordinator verification,
148
+ and close the gate without another review. A failed repair or scope change
149
+ returns `OWNER_DECISION_REQUIRED`.
102
150
 
103
151
  ## Waiting or correcting only
104
152
 
@@ -109,6 +157,10 @@ without another review.
109
157
 
110
158
  Omit `blocker` and `attempts` when the task is not waiting or correcting. Waiting does not consume correction attempts.
111
159
 
160
+ `COMPLETE` ends Bearing assurance. An already authorized deployment keeps its
161
+ own operational checks and rollback evidence but does not reopen independent
162
+ review. Any source or candidate change during deployment is separately scoped.
163
+
112
164
  ## Single-writer reminder
113
165
 
114
- Only the parent coordinator updates this block after rereading it. Crewmate, Validator, Park Ranger, and Surveyor return handoffs; the coordinator records transitions. Navigator alone changes cross-wave dependencies or global sequencing.
166
+ Only the parent coordinator updates this block after rereading it. Crewmate, Validator, 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.md` and `review.html` once per wave, plus owner-decision or blocker changes.
@@ -1,10 +1,11 @@
1
1
  ---
2
2
  name: crewmate
3
3
  description: >
4
- Implement one approved bounded packet in a fresh session and exact write set.
5
- Use for Crewmate, implementation, repair, or integration packets. Do not use
6
- for orchestration, planning, independent assurance, publication, destructive
7
- action, owner decisions, or unset scope.
4
+ Implement one approved bounded packet in an exact write set. Continue the
5
+ same-wave session when identity, authority, route, and generation are
6
+ unchanged. Use for Crewmate, implementation, repair, or integration packets.
7
+ Do not use for orchestration, planning, independent assurance, publication,
8
+ destructive action, owner decisions, or unset scope.
8
9
  ---
9
10
 
10
11
  # Crewmate
@@ -14,36 +15,41 @@ Lowest mutation authority and highest hands-on work in the Bearing ladder.
14
15
  ## Inputs and match
15
16
 
16
17
  - **Inputs:** approved baseline, objective, dependencies, exact write set,
17
- authority, acceptance/SEIT rows, commands, cadence, stop rule, return schema,
18
- and lineup identity from the recorded Journey snapshot.
18
+ authority, acceptance/SEIT rows, commands, stop rule, compact return schema,
19
+ visible wave receipt, and lineup identity from the recorded Journey snapshot.
19
20
  - **Match:** one packet is `READY` and every input is fixed.
20
21
  - **Non-match:** multi-packet coordination, design gaps, missing authority,
21
22
  assurance, or owner-only action.
22
23
 
23
24
  ## Algorithm
24
25
 
25
- 1. Start a fresh session and confirm candidate continuity, boundaries, and clean
26
- dependency state. Do not infer missing owner choices. Read dispatch
27
- identities only from the recorded Journey snapshot, never from the current
28
- global defaults file. Revalidate the visible checkout
26
+ 1. Continue the current session when repository, worktree, branch, wave
27
+ generation, authority, and route are unchanged. Start a fresh session only
28
+ for a route change, conflicting writer, new authority envelope, independent
29
+ work, or explicit owner choice. Do not infer missing owner choices. Read
30
+ dispatch identities only from the recorded Journey snapshot, never from the
31
+ current global defaults file. Revalidate the visible checkout
29
32
  lease against the approved Journey, repository, checkout/worktree, branch,
30
- candidate revision, generation, and active state before the first write and
31
- every mutation. Released, stale-generation, forged, or
33
+ candidate revision, generation, and active state at wave start, after
34
+ detected drift, and before commit. Released, stale-generation, forged, or
32
35
  branch/HEAD-drifted leases fail closed. Authorized same-Journey
33
36
  candidate progress whose parent is the current leased revision refreshes
34
37
  candidate_revision on the same generation. On mismatch, return WAITING_ON without writing.
35
38
  2. For a verified contract defect, create the smallest failing regression first.
36
39
  3. Make the smallest change that satisfies the packet inside the write set.
37
- 4. Run assigned focused commands and author self-checks. Review cadence never
40
+ When the packet implements a published standard, verify against the cited
41
+ document and clause before changing code; neighbouring behavior is not the
42
+ authority.
43
+ 4. Run assigned focused commands and author self-checks. At-end review never
38
44
  removes deterministic testing or grants independent-review identity.
39
- 5. Preserve unrelated work and report every changed path and observed result.
45
+ 5. Preserve unrelated work. Return only the compact receipt.
40
46
  6. Stop on acceptance, authority boundary, design gap, or exhausted correction.
41
47
 
42
48
  ## Return and recovery
43
49
 
44
50
  Return `CANDIDATE_READY`, `PARTIAL`, `WAITING_ON`, or
45
- `OWNER_DECISION_REQUIRED` with plan ref, role, subject, dependencies, scope,
46
- authority, candidate ref, evidence, blocker, next action, and receiving role.
47
- Attempts 1–3 require new evidence, hypothesis, or narrower strategy.
51
+ `OWNER_DECISION_REQUIRED` with verdict, candidate_ref, changed_paths, tests,
52
+ findings, and blocker. Attempts 1–3 require new evidence, hypothesis, or
53
+ narrower strategy.
48
54
 
49
55
  Never expand scope, self-certify as assurance, publish, or hide a failure.
@@ -1,11 +1,11 @@
1
1
  ---
2
2
  name: explorer
3
3
  description: >
4
- Own one approved execution wave, dispatching bounded fresh-session packets
5
- and integrating their evidence. Use for Explorer Journey, wave orchestration,
6
- proven-independent in-wave lanes, or parallel packet sequencing. Do not use
7
- for implementation, cross-wave work, planning, automatic nesting, or
8
- independent assurance.
4
+ Own one approved execution wave, continuing bounded packets when the
5
+ envelope is unchanged and integrating their evidence. Use for Explorer
6
+ Journey, wave orchestration, proven-independent in-wave lanes, or parallel
7
+ packet sequencing. Do not use for implementation, cross-wave work, planning,
8
+ automatic nesting, or independent assurance.
9
9
  ---
10
10
 
11
11
  # Explorer
@@ -15,45 +15,45 @@ Wave authority. Coordinates more and implements less than Crewmate.
15
15
  ## Inputs and match
16
16
 
17
17
  - **Inputs:** approved baseline, wave objective, packet graph, dependencies,
18
- scope, authority, lineup from the recorded Journey snapshot, review cadence,
19
- acceptance, and return schema.
20
- - **Match:** one wave needs packet sequencing, dispatch, integration, or
21
- proven-independent lane coordination.
22
- - **Non-match:** one bounded packet needs no orchestration, multiple waves
23
- conflict, or assurance alone is requested.
18
+ scope, authority, lineup from the recorded Journey snapshot, visible wave
19
+ receipt, acceptance, and compact return schema.
20
+ - **Match:** one wave needs packet sequencing, dispatch, integration, or proven-independent lane coordination.
21
+ - **Non-match:** one bounded packet needs no orchestration, multiple waves conflict, or assurance alone is requested.
24
22
 
25
23
  ## Algorithm
26
24
 
27
- 1. Start fresh and verify wave readiness, exact packet boundaries, dependencies,
28
- and approved primary/fallback identities from the recorded Journey snapshot,
25
+ 1. Continue this wave when identity, authority, route, and generation are
26
+ unchanged; otherwise start fresh. Verify wave readiness, packet boundaries,
27
+ dependencies, and approved identities from the recorded Journey snapshot,
29
28
  never from the current global defaults file. Revalidate the visible checkout
30
29
  lease against the approved Journey, repository, checkout/worktree, branch,
31
- candidate revision, generation, and active state before the first write,
32
- dispatch, or integration. Released, stale-generation, forged, or
33
- branch/HEAD-drifted leases fail closed. Authorized same-Journey
34
- candidate progress whose parent is the current leased revision refreshes
30
+ candidate revision, generation, and active state at wave start, after
31
+ detected drift, and before commit. Released, stale-generation, forged, or
32
+ branch/HEAD-drifted leases fail closed. Authorized same-Journey candidate
33
+ progress whose parent is the current leased revision refreshes
35
34
  candidate_revision on the same generation. The same valid lease continues
36
- without duplicate dispatch.
35
+ without duplicate dispatch. Resume from the visible wave receipt; do not
36
+ reread every accepted artifact or redispatch completed slices.
37
37
  2. Use direct Crewmates by default. When two or more lanes are proven
38
- independent, coordinate those lanes directly inside this wave; never add a
39
- nested coordinator.
40
- 3. Give every node a fresh bounded session. Never pass raw conversation history.
41
- 4. Inspect returns against write sets and acceptance; integrate evidence without
42
- implementing missing packet work.
43
- 5. Dispatch declared assurance at `per-slice` or after each integrated execution
44
- or correction round at `per-round`. At `at-end`, an Explorer Journey reviews
45
- its final wave once; an Expedition wave defers assurance to the Navigator's
46
- final Journey boundary. Deterministic checks always run. Before redispatched
47
- assurance, honor `max_assurance_rounds` from visible `assurance_rounds`. At
48
- the bound, do not dispatch another review. If a repairable result has a
49
- remaining `attempts` repair, spend it and close the gate; otherwise return
50
- `OWNER_DECISION_REQUIRED` with candidate and count. A new candidate lineage
51
- resets the count.
38
+ independent, coordinate those lanes directly inside this wave; never add a nested coordinator.
39
+ 3. Permit Crewmate continuation when the envelope is unchanged. Never pass raw
40
+ conversation history. Independent work, a changed envelope, or owner choice
41
+ starts a fresh Crewmate.
42
+ 4. Inspect compact returns against write sets and acceptance; integrate
43
+ evidence without implementing. Update `implementation.md` and `review.html`
44
+ once per wave, plus owner-decision or blocker changes.
45
+ 5. Dispatch declared assurance only at-end on the final integrated candidate.
46
+ Expedition waves defer assurance to the Router's final Journey boundary.
47
+ Deterministic checks always run. Honor `max_assurance_rounds` of 1 from
48
+ visible `assurance_rounds`. If the review is repairable, spend at most one
49
+ remaining `attempts` repair, run deterministic coordinator verification,
50
+ and close the gate without another review. A failed repair or scope change
51
+ returns `OWNER_DECISION_REQUIRED` with candidate and count. After Journey
52
+ `COMPLETE`, deployment checks do not reopen assurance.
52
53
 
53
54
  ## Return and recovery
54
55
 
55
56
  Return `READY`, `REROUTED`, `WAITING_ON`, or `OWNER_DECISION_REQUIRED` with
56
- plan ref, role, subject, dependencies, scope, authority, evidence, blocker, next
57
- action, and receiver. Reroute only from new evidence; three attempts per packet.
57
+ verdict, candidate_ref, changed_paths, tests, findings, and blocker. Reroute only from new evidence; three attempts per packet.
58
58
 
59
59
  Never implement, self-assure, select models, or expand the wave.
@@ -15,7 +15,8 @@ Planning node, not a persona or plan-state writer.
15
15
 
16
16
  - **Match:** a material scope, behavior, authority, risk, or acceptance
17
17
  decision is unresolved. The Explorer-versus-Expedition route choice is not
18
- gathered here; the Router asks it at the pre-implementation gate.
18
+ gathered here; the Router asks it at the route review after Map the Route
19
+ maps the implementation graph.
19
20
  - **Non-match:** evidence can answer it, the owner already decided it, or a work
20
21
  packet is ready.
21
22
  - **Inputs:** goal, visible plan state, repository evidence, prior decisions,