@alphazede/bearing-lite 0.1.10 → 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.
@@ -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 |
@@ -36,7 +36,7 @@ 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.
@@ -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,29 +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` selects where the Journey's single independent review runs,
17
- not task-level tests or author self-checks. Never infer it from
18
- `required_assurance` on an individual task. `per-slice` and `per-round` select
19
- one declared boundary; `at-end` selects the final integrated candidate. The
20
- Router asks the owner to confirm both the applicable lineup and boundary before
21
- implementation.
22
- `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
23
42
  edits to `~/.agents/bearing-lite/default-role-lineup.md` have no effect.
24
43
  Replace it only through an explicit owner-confirmed dated visible amendment.
25
44
  Record the amendment date beside the replacement values. Dispatch identities
26
45
  come from this snapshot, not from the current global defaults file.
27
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
+
28
52
  ## Checkout lease (record before any planning write)
29
53
 
30
54
  The Router's first write is this visible lease. Inventory nonterminal Journeys
@@ -53,6 +77,26 @@ same generation. `COMPLETE` or `CANCELLED` releases the lease exactly
53
77
  once. Stale recovery is explicit, recorded, increments generation, and cannot
54
78
  steal a live lease. Process discovery cannot replace this durable lease.
55
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
+
56
100
  ## Always present
57
101
 
58
102
  ```markdown
@@ -67,7 +111,7 @@ steal a live lease. Process discovery cannot replace this durable lease.
67
111
  Field rules:
68
112
 
69
113
  - `task_id` — stable identifier unique within the plan.
70
- - `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`.
71
115
  - `status` — one of `PROPOSED`, `READY`, `WAITING_ON`, `IN_PROGRESS`, `EVIDENCE_READY`, `VALIDATING`, `REVIEWING`, `ACCEPTANCE`, `CORRECTION_REQUIRED`, `OWNER_DECISION_REQUIRED`, `COMPLETE`, `CANCELLED`.
72
116
  - `assigned_role` — current role contract for the active step, or unassigned while proposing.
73
117
  - `depends_on` — list of other `task_id` values only, never prose.
@@ -87,14 +131,18 @@ Field rules:
87
131
 
88
132
  ```markdown
89
133
  - candidate_ref: <strongest native revision or changed-path reference available>
90
- - evidence: <commands run, results observed, and inferences labeled separately>
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>
91
138
  - assurance_rounds: <0-1 completed assurance rounds for this Journey>
92
139
  ```
93
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`.
94
142
  `candidate_ref` must not claim stronger provenance than the client can prove.
95
143
  `assurance_rounds` counts the Journey's single submission to required assurance
96
144
  against Bearing Lite `max_assurance_rounds`. A repair or replacement candidate
97
- does not reset it; only a separately scoped new Journey starts at 0. The parent
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
98
146
  coordinator writes the count before dispatch. If the review permits correction, spend at
99
147
  most one remaining `attempts` repair, run deterministic coordinator verification,
100
148
  and close the gate without another review. A failed repair or scope change
@@ -115,4 +163,4 @@ review. Any source or candidate change during deployment is separately scoped.
115
163
 
116
164
  ## Single-writer reminder
117
165
 
118
- 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 once at the owner-confirmed `per-slice`,
44
- `per-round`, or `at-end` boundary. At `at-end`, an Explorer Journey reviews
45
- its final wave; an Expedition wave defers assurance to the Navigator's final
46
- Journey boundary. Deterministic checks always run. Honor
47
- `max_assurance_rounds` of 1 from visible `assurance_rounds`. If the review is
48
- repairable, spend at most one remaining `attempts` repair, run deterministic
49
- coordinator verification, and close the gate without another review. A failed
50
- repair or scope change returns `OWNER_DECISION_REQUIRED` with candidate and
51
- count. After Journey `COMPLETE`, deployment checks do not reopen assurance.
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,
@@ -1,46 +1,57 @@
1
1
  ---
2
2
  name: map-the-route
3
3
  description: >
4
- Create or resume Bearing's topic-specific specification, design, SEIT,
5
- implementation graph, and self-contained review HTML after decisions are
6
- resolved. Use for Map the Route or missing planning artifacts. Do not use to
7
- implement, select agents/models, self-approve, or bypass owner review.
4
+ Create or resume Bearing's complete five-artifact planning package after
5
+ material decisions are settled. Use for Map the Route or missing planning
6
+ artifacts. Do not use to implement, select models, self-approve, or bypass
7
+ the single integrated owner review.
8
8
  ---
9
9
 
10
10
  # Map the Route
11
11
 
12
- Fresh planning node. The Router remains the plan-state writer and user contact.
13
-
14
- ## Inputs and match
15
-
16
- - **Inputs:** confirmed decisions, repository map, artifact status, requirements,
17
- owner-selected route/lineup/cadence, repository rules, and return schema.
18
- - **Match:** first specification gate or post-approval planning package is missing.
19
- - **Non-match:** executable tasks already map to current approved artifacts.
20
-
21
- ## Algorithm
22
-
23
- 1. Derive and announce `<journey-topic>-spec.md` from the confirmed title;
24
- require owner input only on ambiguity or collision. Never require generic
25
- `plan-spec.md`.
26
- 2. Author in dependency order: testable specification, `design.md`, `seit.md`,
27
- then `implementation.md`. Run prospective checks internally; interrupt the
28
- owner only when evidence creates a material intent, scope, risk, or authority
29
- decision.
30
- 3. Generate one complete self-contained offline `review.html` after all four
31
- artifacts are current. Include implementation, traceability, roles, waves,
32
- failure/recovery paths, and approval boundaries in that review.
33
- 4. Give every slice stable requirement/design/SEIT IDs, dependencies, exact
34
- write set, authority, fresh-session role, evidence, recovery, and stop rule.
35
- 5. Copy the confirmed route, lineup, and review cadence into implementation and
36
- HTML. Show named active, standby, and unused role instances.
37
- 6. Open the exact final HTML, verify its launcher/process, and request one
38
- integrated owner approval. Use staged owner approvals only when the owner
39
- explicitly requests them.
12
+ Fresh planning node. The Router writes Journey state and owns owner conversation.
13
+
14
+ ## Match, inputs, and non-match
15
+
16
+ - **Match:** material intent is settled and any specification, design, SEIT,
17
+ implementation graph, or review HTML is missing.
18
+ - **Inputs:** confirmed decisions, repository map and evidence, artifact status,
19
+ requirements register, repository rules, proposed owner-supplied lineup and
20
+ `review_cadence: at-end`, plus the return schema.
21
+ - **Non-match:** unresolved material scope, behavior, authority, risk, or
22
+ acceptance intent returns `REROUTE_GATHER_SUPPLIES`; generate no
23
+ `implementation.md` or `review.html`.
24
+
25
+ ## Procedure
26
+
27
+ 1. Derive `<journey-topic>-spec.md` from the confirmed title; ask only on
28
+ ambiguity or collision. Establish whether a requirements register exists;
29
+ if repository evidence cannot decide, return `NEEDS_OWNER_DECISION`. Never
30
+ infer one. Registered identities remain references; author only Journey-local
31
+ criteria; author the needed Journey-level proof or return
32
+ `NEEDS_OWNER_DECISION` when register authority is unclear.
33
+ 2. Author and prospectively check, in dependency order, the testable
34
+ specification, `design.md`, and `seit.md`. Preserve IDs and do not drop
35
+ Journey-level proof or published-standard clause coverage.
36
+ 3. Map the implementation graph and propose the Explorer Journey or Expedition,
37
+ active/standby/unused role states, lineup, reasoning, and
38
+ `review_cadence: at-end`. Bind the planning-review slots to owner-supplied
39
+ primary and ordered fallback route references under one candidate ref,
40
+ revision, and digest. Use supplied identities; never invent them.
41
+ 4. After those stable source inputs, generate `implementation.md` and the
42
+ self-contained offline `review.html` together. Each includes the proposed
43
+ route, lineup, role states, reasoning, cadence, traceability, waves,
44
+ recovery, approval boundaries, and register references versus Journey-local requirements.
45
+ 5. Give every slice stable requirement/design/SEIT IDs, dependencies, exact
46
+ write set, authority, role, session rule, evidence, recovery, and stop rule.
47
+ 6. Open and verify final HTML, then request exactly one integrated owner review
48
+ of outcome, design, route, lineup, cadence, and plan. Dispatch remains
49
+ prohibited until approval. An owner change regenerates affected artifacts,
50
+ then returns to this same gate; never insert a lineup or route-review pause.
40
51
 
41
52
  ## Return and recovery
42
53
 
43
- Return `PLAN_REVIEW_READY`, `NEEDS_OWNER_DECISION`, or `VALIDATION_FAILED` with
44
- artifact paths, evidence, blocker, and next action. After approval,
45
- `review.html` is authoritative. At most three evidence-changing correction
46
- rounds; never invent approval or implement.
54
+ Return `PLAN_REVIEW_READY`, `REROUTE_GATHER_SUPPLIES`,
55
+ `NEEDS_OWNER_DECISION`, or `VALIDATION_FAILED` with paths, evidence, blocker,
56
+ and next action. Owner-decision pauses do not consume correction rounds. At
57
+ most three evidence-changing correction rounds; never implement or invent approval.
@@ -7,16 +7,55 @@ Bearing rejects deviations with typed findings.
7
7
 
8
8
  1. Frontmatter declares `type` as `plan-spec`, `design`, `seit`, or
9
9
  `implementation`, and `status` as `complete` or `amended`.
10
- 2. Requirement IDs use `AC-*` or `RISK-*`; design IDs use `DES-*` or
11
- `CONTRACT-*`; SEIT rows use `SEIT-*`; commands use `CMD-*` or `PROC-*`.
12
- Suffixes contain only uppercase letters, digits, dots, or hyphens.
10
+ 2. Journey-authored requirement IDs use `AC-*` or `RISK-*`; references to an
11
+ existing requirements register keep that register's identities verbatim.
12
+ Design IDs use `DES-*` or `CONTRACT-*`; SEIT rows use `SEIT-*`; commands
13
+ use `CMD-*` or `PROC-*`. Suffixes contain only uppercase letters, digits,
14
+ dots, or hyphens.
13
15
  3. `<journey-topic>-spec.md` declares requirements, Entry criteria, Exit criteria,
14
16
  Rollback or repair, and Accountable controller. `design.md` declares design
15
17
  IDs. `seit.md` declares SEIT rows and commands.
16
18
  4. Preserve stable IDs. Every implementation reference resolves to a declared
17
19
  requirement, design contract, SEIT row, and command.
18
- 5. The owner-confirmed lineup and review cadence supply named active, standby,
19
- and unused instances. Missing values block implementation drafting.
20
+ 5. Owner-supplied lineup identities and proposed `review_cadence: at-end` are
21
+ required before implementation drafting; missing identities or cadence block
22
+ drafting. Do not offer `per-slice` or `per-round`. Map the proposed Journey
23
+ type and active/standby/unused role states before generating implementation;
24
+ the final implementation and `review.html` record those proposals together.
25
+ 6. The lineup snapshot contains the Journey-owned `planning_review` binding:
26
+ policy reference, one candidate ref/revision/digest, and unique abstract
27
+ reviewer slots with a primary route reference plus ordered fallback route
28
+ references. Slot count satisfies the referenced core policy. Do not put route
29
+ identities in the core policy or map these slots to implementation assurance.
30
+
31
+ ## Requirements register
32
+
33
+ 1. Before authoring a Journey specification, establish whether the target
34
+ repository or system already has a requirements register and where. When the
35
+ repository cannot answer, ask the owner; never infer.
36
+ 2. Where no register exists, author requirements as today; this section does not
37
+ apply.
38
+ 3. Where a register exists, specification requirement rows are either references
39
+ to registered identities (no restated text), derivations from them
40
+ (`AC-X derives from REG-ID`), or Journey-local `AC-*`/`RISK-*` criteria about
41
+ write sets, seams, gates, or concurrency. Do not restate registered content.
42
+ 4. `seit.md` references verification allocations where the register provides
43
+ them. Where the register provides none for a referenced requirement, author
44
+ Journey-level proof for it or return `NEEDS_OWNER_DECISION` when register
45
+ authority is unclear; do not silently drop coverage. Journey-level proof
46
+ rows remain Journey-local.
47
+ 5. `review.html` marks every requirement as either a register reference or
48
+ Journey-local, so a reviewer can tell which artifact owns each statement.
49
+ 6. `design.md` is unaffected: it records how the work is built, which no
50
+ requirements register covers.
51
+
52
+ ## Published standards
53
+
54
+ 1. When a slice, command, or proof implements a published standard, the plan and
55
+ its execution manifest cite the exact document and clause.
56
+ 2. Verification is against the standard's text, not against neighbouring
57
+ implementation agreement; a passing cross-boundary test does not substitute
58
+ for clause conformance.
20
59
 
21
60
  ## SEIT rules
22
61
 
@@ -42,7 +81,8 @@ Bearing rejects deviations with typed findings.
42
81
  reasoning level, and review path. Goals are at most 512 characters.
43
82
  3. Every manifest declares Write set, Command IDs, Stop condition, and Human
44
83
  decision. Optional fields are Shared interfaces (`path#Symbol`), Integration
45
- boundary, and Parallel safe (`yes` or `no` plus reason).
84
+ boundary, Published standard (`doc#clause`) when applicable, and Parallel
85
+ safe (`yes` or `no` plus reason).
46
86
  4. Write sets use one line: `Write only `path``. Paths are bounded, normalized,
47
87
  repository-relative literals. Put prohibitions in prose, not the write set.
48
88
  5. Multi-slice plans declare consecutive `Wave <n>: <ids>` lines. Every slice
@@ -76,8 +116,9 @@ placeholders, bare negations, or deferral language.
76
116
 
77
117
  ## Completion boundary
78
118
 
79
- Author specification, design, SEIT, and implementation in that dependency order
80
- with internal prospective checks. The owner review gate requires all four
81
- artifacts plus the complete `review.html`; do not insert a specification-only
82
- owner gate unless the owner explicitly requests staged approvals. The HTML
83
- becomes authoritative only after integrated owner approval.
119
+ Author specification, design, SEIT, implementation, and review HTML in that
120
+ dependency order with internal prospective checks; generate implementation and
121
+ HTML together after their stable inputs. The single owner review gate requires
122
+ the complete five-artifact package. Do not insert a lineup, route, or
123
+ specification-only owner gate unless the owner explicitly requests staged
124
+ approvals. The HTML becomes authoritative only after integrated owner approval.