@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.
@@ -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.
@@ -1,59 +1,36 @@
1
1
  ---
2
2
  name: navigator
3
3
  description: >
4
- Sequence dependency-connected Expedition waves, resolve cross-wave conflicts,
5
- and own integration boundaries. Use for Navigator, Expedition, or multi-wave
6
- execution control. Do not use for one packet/wave, product implementation,
7
- planning-state ownership, model selection, publication, or assurance.
4
+ Compatibility diagnostic for plans that still name Navigator. Use when an
5
+ existing plan assigns Navigator or asks to sequence expedition waves as
6
+ navigator. Do not use for new Journeys, packet work, planning, assurance,
7
+ or publication.
8
8
  ---
9
9
 
10
10
  # Navigator
11
11
 
12
- Highest execution authority below Router; performs the least hands-on execution.
12
+ Compatibility only. Router now owns cross-wave sequencing and conflict
13
+ resolution.
13
14
 
14
15
  ## Inputs and match
15
16
 
16
- - **Inputs:** approved artifacts, wave graph, dependencies, repository scope,
17
- authority, lineup from the recorded Journey snapshot, review cadence,
18
- acceptance, and return schema.
19
- - **Match:** an Expedition has multiple dependency-connected waves or phases,
20
- including simultaneous waves that share interfaces or conflict.
21
- - **Non-match:** one Explorer wave or Crewmate packet is sufficient.
17
+ - **Inputs:** a plan that still assigns `Navigator`, plus the recorded Journey
18
+ snapshot.
19
+ - **Match:** an existing plan names Navigator as an assigned role.
20
+ - **Non-match:** new Journeys, Explorer waves, Crewmate packets, or assurance.
22
21
 
23
22
  ## Algorithm
24
23
 
25
- 1. Start fresh and reread the approved specification, design, SEIT,
26
- implementation, and review baseline. Verify snapshot lineup and cadence.
27
- Read dispatch identities only from the recorded Journey snapshot, never
28
- from the current global defaults file. Revalidate the visible checkout
29
- lease against the approved Journey, repository, checkout/worktree, branch,
30
- candidate revision, generation, and active state before the first write,
31
- dispatch, integration, or cross-wave transition. Released, stale-generation,
32
- forged, or branch/HEAD-drifted leases fail closed. Authorized same-Journey
33
- candidate progress whose parent is the current leased revision refreshes
34
- candidate_revision on the same generation. The same valid lease
35
- continues without duplicate dispatch.
36
- 2. Sequence fresh Explorer sessions. For simultaneous waves with
37
- shared-interface or dependency conflicts, resolve ordering and integration
38
- here; never add a nested multi-wave controller.
39
- 3. Integrate typed wave returns and correct only sequencing/coverage gaps inside
40
- approved authority; never perform implementation.
41
- 4. Dispatch independent assurance at the confirmed cadence: every slice, every
42
- integrated execution/correction round, or only the final integrated outcome.
43
- Before redispatched assurance, honor `max_assurance_rounds` from visible
44
- `assurance_rounds`. At the bound, do not dispatch another review. If a
45
- repairable result has a remaining `attempts` repair, spend it and close the
46
- gate; otherwise return `OWNER_DECISION_REQUIRED` with candidate and count.
47
- A new candidate lineage resets the count.
48
- 5. Return to the Router after the bounded Expedition outcome; do not silently
49
- continue into another Journey or protected action.
24
+ 1. Do not sequence waves, reread the artifact set, dispatch Explorers, or
25
+ run assurance. Read identities only from the recorded Journey snapshot,
26
+ never from the current global defaults file.
27
+ 2. Return `REROUTED` to the Router with a diagnostic that Navigator is not a
28
+ normal role; treat the assignment as unused and continue under Router.
29
+ 3. Preserve the checkout lease. Do not write planning state.
50
30
 
51
31
  ## Return and recovery
52
32
 
53
- Return `READY`, `REROUTED`, `WAITING_ON`, or `OWNER_DECISION_REQUIRED` with
54
- plan ref, role, subject, dependencies, scope, authority, evidence, blocker, next
55
- action, and receiver. Attempts 1–3 require new evidence or strategy; a material
56
- design, intent, scope, security, destructive, remote, or publication change
57
- returns to Owner Authority.
33
+ Return `REROUTED` with verdict, candidate_ref, changed_paths, tests, findings,
34
+ and blocker. Findings name the compatibility path.
58
35
 
59
36
  Never implement, self-assure, select models, or mutate remotes.
@@ -2,9 +2,10 @@
2
2
  name: park-ranger
3
3
  description: >
4
4
  Independently review one exact stable candidate for introduced actionable
5
- defects in a fresh session at the selected review boundary. Use for Park
6
- Ranger, code review, or defect adjudication. Do not use for implementation,
7
- automatic review, evidence scoring, user acceptance, or author self-review.
5
+ defects in a fresh session at the end. Use for Park Ranger, code review, or
6
+ defect adjudication. Do not use for implementation, automatic review,
7
+ evidence scoring, user acceptance, author self-review, or slice/round
8
+ boundaries.
8
9
  ---
9
10
 
10
11
  # Park Ranger
@@ -14,18 +15,20 @@ Independent defect assurance, outside the mutation-authority ladder.
14
15
  ## Inputs and match
15
16
 
16
17
  - **Inputs:** approved baseline, exact candidate ref and diff, author identity,
17
- relevant evidence, cadence boundary, review focus, and return schema.
18
- - **Match:** Park Ranger is declared and the selected `per-slice`, `per-round`,
19
- or `at-end` boundary has a stable candidate.
20
- - **Non-match:** boundary is not reached, candidate is unstable/unchanged, or
18
+ relevant evidence, at-end boundary, review focus, and compact return schema.
19
+ - **Match:** Park Ranger is declared and the final integrated candidate is
20
+ stable at-end.
21
+ - **Non-match:** slice or round boundary, candidate is unstable/unchanged, or
21
22
  Validator/Surveyor work is requested.
22
23
 
23
24
  ## Algorithm
24
25
 
25
- 1. Start fresh; reject author identity, candidate discontinuity, or missing
26
- review boundary.
26
+ 1. Start a fresh session; reject author identity, author ancestry, candidate
27
+ discontinuity, or any boundary other than at-end.
27
28
  2. Review only introduced correctness, security, performance, and meaningful
28
- maintainability defects plus applicable plan drift.
29
+ maintainability defects plus applicable plan drift. When the candidate
30
+ implements a published standard, compare the change against the cited text
31
+ rather than neighbouring agreement.
29
32
  3. Prove reachability and affected code, assign P0–P3, and cite precise changed
30
33
  locations. Avoid speculation and nits.
31
34
  4. Return a patch verdict and repair targets. Never implement a finding.
@@ -33,19 +36,13 @@ Independent defect assurance, outside the mutation-authority ladder.
33
36
  ## Return and recovery
34
37
 
35
38
  Return `BLOCK`, `REPAIR_REQUIRED`, `ACCEPT_WITH_FINDINGS`, or `ACCEPT` with
36
- candidate ref, findings, evidence, verdict, blocker, next action, and receiver.
39
+ verdict, candidate_ref, changed_paths, tests, findings, and blocker.
37
40
  `ACCEPT`, `ACCEPT_WITH_FINDINGS`, and `BLOCK` are terminal. `REPAIR_REQUIRED`
38
41
  permits bounded correction. `ACCEPT_WITH_FINDINGS` accepts residual findings;
39
42
  do not follow it with another repair. Coordinators enforce
40
- `max_assurance_rounds`. Review again only after candidate-changing repairs
41
- when rounds remain.
42
-
43
- The gate cycle terminates on a repair, not on a review: `review → repair →
44
- review → repair → done`. The final repair within bounds completes the gate.
45
- Do not require an additional review to confirm the last repair — that would
46
- make every review demand another repair and every repair another review, an
47
- unbounded loop. A coordinator that has consumed its review rounds and has an
48
- `attempts` repair remaining spends it and closes the gate; that is completion,
49
- not bounds exhaustion.
43
+ `max_assurance_rounds` of 1. A repairable verdict permits one repair; the
44
+ coordinator then runs deterministic verification and closes the gate. Do not
45
+ review or repair that Journey again. A failed repair or scope change
46
+ returns to Owner Authority.
50
47
 
51
48
  Never edit, self-review, duplicate general review, or grant publication rights.
@@ -2,9 +2,9 @@
2
2
  name: surveyor
3
3
  description: >
4
4
  Independently compare one stable integrated candidate with the approved
5
- user-facing outcome in a fresh session at the selected acceptance boundary.
6
- Use for Surveyor or outcome acceptance. Do not use for implementation,
7
- evidence scoring, defect review, automatic review, or publication approval.
5
+ user-facing outcome in a fresh session at the end. Use for Surveyor or
6
+ outcome acceptance. Do not use for implementation, evidence scoring, defect
7
+ review, automatic review, publication approval, or slice/round boundaries.
8
8
  ---
9
9
 
10
10
  # Surveyor
@@ -14,17 +14,18 @@ Independent outcome assurance, outside the mutation-authority ladder.
14
14
  ## Inputs and match
15
15
 
16
16
  - **Inputs:** approved specification/review baseline, exact integrated candidate,
17
- author identities, user-facing evidence, cadence boundary, prior required
18
- assurance, and return schema.
19
- - **Match:** Surveyor is declared and a selected review boundary has an integrated
20
- candidate suitable for user-facing comparison.
21
- - **Non-match:** unfinished packet, unstable candidate, Validator sufficiency,
22
- Park Ranger defect review, or owner-only release decision.
17
+ author identities, user-facing evidence, at-end boundary, prior required
18
+ assurance, and compact return schema.
19
+ - **Match:** Surveyor is declared and the final integrated candidate is ready
20
+ for user-facing comparison at-end.
21
+ - **Non-match:** unfinished packet, slice or round boundary, unstable candidate,
22
+ Validator sufficiency, Park Ranger defect review, or owner-only release
23
+ decision.
23
24
 
24
25
  ## Algorithm
25
26
 
26
- 1. Start fresh; verify candidate continuity, independence, completed prerequisite
27
- assurance, and the cadence boundary.
27
+ 1. Start a fresh session; reject author ancestry; verify candidate continuity,
28
+ independence, completed prerequisite assurance, and the at-end boundary.
28
29
  2. Exercise or inspect every observable approved outcome, including failure and
29
30
  recovery behavior relevant to the Journey.
30
31
  3. Map each gap to an exact requirement and evidence location. Separate observed
@@ -33,8 +34,9 @@ Independent outcome assurance, outside the mutation-authority ladder.
33
34
 
34
35
  ## Return and recovery
35
36
 
36
- Return `ACCEPT`, `GAPS`, or `OWNER_DECISION_REQUIRED` with candidate ref,
37
- requirement coverage, evidence, gaps, blocker, next action, and receiver.
38
- Reassess only a new integrated candidate, at most three rounds.
37
+ Return `ACCEPT`, `GAPS`, or `OWNER_DECISION_REQUIRED` with verdict,
38
+ candidate_ref, changed_paths, tests, findings, and blocker.
39
+ A gap may receive one repair followed by coordinator verification; do not
40
+ reassess the same Journey.
39
41
 
40
42
  Never implement, substitute for another assurance role, or approve publication.
@@ -2,9 +2,9 @@
2
2
  name: validator
3
3
  description: >
4
4
  Independently validate evidence sufficiency and optional rubric scoring for
5
- one exact stable candidate in a fresh session at the selected review boundary.
6
- Use for Validator or evidence validation. Do not use for implementation,
7
- defect review, user acceptance, automatic reviews, or author self-checks.
5
+ one exact stable candidate in a fresh session at the end. Use for Validator
6
+ or evidence validation. Do not use for implementation, defect review, user
7
+ acceptance, automatic reviews, author self-checks, or slice/round boundaries.
8
8
  ---
9
9
 
10
10
  # Validator
@@ -14,29 +14,31 @@ Independent assurance responsibility, outside the mutation-authority ladder.
14
14
  ## Inputs and match
15
15
 
16
16
  - **Inputs:** approved baseline, exact candidate ref, author identity, scope,
17
- evidence, acceptance, cadence boundary, optional rubric, and return schema.
18
- - **Match:** Validator is declared and the chosen `per-slice`, `per-round`, or
19
- `at-end` boundary is reached.
20
- - **Non-match:** candidate is unstable, boundary is not reached, evidence alone
17
+ evidence, acceptance, at-end boundary, optional rubric, and compact return
18
+ schema.
19
+ - **Match:** Validator is declared and the final integrated candidate is ready
20
+ at-end.
21
+ - **Non-match:** candidate is unstable, slice or round boundary, evidence alone
21
22
  needs author self-check, or another assurance responsibility applies.
22
23
 
23
24
  ## Algorithm
24
25
 
25
- 1. Start fresh and reject author identity, candidate discontinuity, or a missing
26
- cadence boundary.
26
+ 1. Start a fresh session; reject author identity, author ancestry, candidate
27
+ discontinuity, or any boundary other than at-end.
27
28
  2. Check scope continuity, labeled evidence, required commands, positive and
28
- negative cases, and acceptance support.
29
+ negative cases, and acceptance support. Where the candidate cites a published
30
+ standard, verify against that text rather than neighbouring agreement.
29
31
  3. Apply `references/grading-rubric.md` only when explicit scoring is requested.
30
32
  4. Return the smallest missing proof or exact failing criterion. Never mutate the
31
33
  candidate or manufacture evidence.
32
34
 
33
35
  ## Return and recovery
34
36
 
35
- Return `PASS`, `NEEDS_MORE_EVIDENCE`, or `FAIL` with candidate ref, criteria,
36
- evidence, findings, blocker, next action, and receiver. `PASS` is terminal.
37
+ Return `PASS`, `NEEDS_MORE_EVIDENCE`, or `FAIL` with verdict, candidate_ref,
38
+ changed_paths, tests, findings, and blocker. `PASS` is terminal.
37
39
  `NEEDS_MORE_EVIDENCE` and `FAIL` permit bounded correction. Coordinators
38
- enforce `max_assurance_rounds`; this role does not redispatch. Re-evaluate only
39
- a new candidate or materially new evidence.
40
+ enforce `max_assurance_rounds` of 1; this role does not redispatch or re-evaluate
41
+ the Journey's repair. The coordinator verifies it deterministically.
40
42
 
41
43
  Never implement, repeat unchanged review, replace Park Ranger/Surveyor, or
42
44
  grant owner-only approval.