@alphazede/bearing-lite 0.1.11 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/CONTRIBUTING.md +25 -0
  2. package/README.md +39 -13
  3. package/hooks/assurance-budget.cjs +167 -0
  4. package/hooks/com.anthropic.claude-code/mapping.md +72 -0
  5. package/hooks/com.cursor/hooks.json +11 -1
  6. package/hooks/hooks.json +45 -1
  7. package/hooks/te-capability.cjs +137 -0
  8. package/hooks/te-host.cjs +620 -0
  9. package/hooks/transition-order.cjs +32 -2
  10. package/lineups.json +1 -0
  11. package/package.json +4 -2
  12. package/plugin.json +1 -1
  13. package/schemas/authority.schema.json +75 -0
  14. package/schemas/implementation.schema.json +127 -0
  15. package/schemas/journey.schema.json +88 -0
  16. package/schemas/lineups.schema.json +145 -0
  17. package/schemas/seit.schema.json +108 -0
  18. package/skills/bearing-lite/SKILL.md +15 -15
  19. package/skills/bearing-lite/references/assurance-policy.md +66 -0
  20. package/skills/bearing-lite/references/lineups.md +81 -0
  21. package/skills/bearing-lite/references/peer-synthesis.md +7 -3
  22. package/skills/bearing-lite/references/role-routing.mmd +2 -2
  23. package/skills/bearing-lite/references/task-state.md +4 -4
  24. package/skills/bearing-lite/references/task-state.mmd +1 -1
  25. package/skills/bearing-lite/templates/default-role-lineup.md +7 -1
  26. package/skills/bearing-lite/templates/task.md +16 -10
  27. package/skills/crewmate/SKILL.md +3 -0
  28. package/skills/explorer/SKILL.md +7 -6
  29. package/skills/gather-supplies/SKILL.md +7 -1
  30. package/skills/integration-engineer/SKILL.md +41 -0
  31. package/skills/map-the-route/SKILL.md +7 -6
  32. package/skills/map-the-route/references/artifact-grammar.md +47 -29
  33. package/skills/park-ranger/SKILL.md +14 -9
  34. package/skills/plan-integrator/SKILL.md +37 -0
  35. package/skills/scribe/SKILL.md +34 -0
  36. package/skills/surveyor/SKILL.md +15 -9
  37. package/skills/systems-modeler/SKILL.md +35 -0
  38. package/skills/test-engineer/SKILL.md +46 -0
  39. package/skills/validator/SKILL.md +20 -27
  40. package/skills/validator/references/grading-rubric.md +5 -4
@@ -0,0 +1,66 @@
1
+ # Assurance budget policy
2
+
3
+ Decision source: `OWNER-EMV-REVIEW-CADENCE-UNIFICATION-001` through
4
+ `ROUTER-EMV-CADENCE-IMPLEMENTATION-001`.
5
+
6
+ The implementation assurance budget is scoped to each **declared phase or
7
+ wave**, not to the Journey and not to a slice. Automatic review is dispatched
8
+ at the end of each declared phase or wave. `hooks/assurance-budget.cjs` is the
9
+ exact runtime mirror of the block below; the block is authoritative.
10
+
11
+ ```json
12
+ {
13
+ "budget_scope": "per_declared_phase_or_wave",
14
+ "review_rounds": 1,
15
+ "aggregated_repairs_max": 1,
16
+ "post_repair_gate": "deterministic_PASS",
17
+ "automatic_phase_or_wave_end_review": "required",
18
+ "automatic_per_slice_review": "prohibited",
19
+ "post_repair_rereview": "prohibited",
20
+ "automatic_rereview_of_same_unit": "prohibited",
21
+ "budget_reset_on_candidate_change": false,
22
+ "budget_reset_on_model_change": false,
23
+ "budget_reset_on_harness_change": false,
24
+ "budget_reset_on_role_change": false,
25
+ "budget_reset_on_session_change": false,
26
+ "budget_reset_on_resume": false,
27
+ "budget_reset_on_alias_or_rename": false,
28
+ "budget_reset_condition": "next_distinct_declared_phase_or_wave_present_in_the_frozen_declaration"
29
+ }
30
+ ```
31
+
32
+ ## Unit identity
33
+
34
+ Budget identity is `journey + unit_kind + unit_id`. The unit id is resolved
35
+ from the frozen declaration: `waves[].id`, else `phases[].phaseId`, else the
36
+ single `direct` sentinel when neither is declared. A unit id absent from the
37
+ frozen declaration fails closed as `undeclared_review_unit`; renaming a
38
+ declared unit's display name never mints a fresh budget.
39
+
40
+ The budget key
41
+ records no route, provider, model, harness, account, or agent identity.
42
+ Candidate revision, lease generation, assigned role, session, and
43
+ slice id are likewise never key components, and none of them lowers a spent
44
+ count.
45
+
46
+ ## Spending the budget
47
+
48
+ - One review round per declared phase or wave. A second round on the same unit
49
+ halts with `assurance_round_limit`.
50
+ - A repairable verdict permits at most one aggregate repair. A second repair
51
+ halts with `assurance_repair_limit`.
52
+ - After that repair the coordinator closes the unit on a deterministic `PASS`
53
+ gate; a missing or non-`PASS` gate halts with
54
+ `deterministic_post_repair_gate_required`.
55
+ - The repaired unit is never reviewed again. `automatic_rereview_requested` and
56
+ `review_after_repair` both require an owner amendment.
57
+ - A transport receipt of `WAITING_ON` or `UNAVAILABLE` is not a spent round; it
58
+ returns `NEEDS_MORE_EVIDENCE`.
59
+ - The next distinct declared phase or wave carries its own budget.
60
+
61
+ ## Planning review stays separate
62
+
63
+ Planning review is a separate pre-dispatch gate with its own 1/1 allowance in
64
+ `references/review-policy.md`. It never consumes implementation
65
+ `required_assurance`, `assurance_rounds`, or `max_assurance_rounds`, and this
66
+ budget never consumes the planning gate.
@@ -0,0 +1,81 @@
1
+ # Named lineup catalog
2
+
3
+ Candidate procedure for the user-owned JSON catalog. It is not a staged
4
+ lineup or route-review gate. Selection is not an authority grant.
5
+
6
+ ## Location
7
+
8
+ The live user catalog is exactly one file:
9
+
10
+ `<absolute home>/.agents/bearing-lite/lineups.json`
11
+
12
+ Resolve `<absolute home>` as a nonempty absolute `HOME`, else a nonempty
13
+ absolute `USERPROFILE` on its platform; otherwise fail closed with
14
+ `home_unresolved`. Do not use cwd, the package root, XDG, a relative
15
+ `lineups.json`, or a second search root.
16
+
17
+ The packaged catalog is package-root `lineups.json`. Never read it as user
18
+ data. Never write the packaged catalog, including resolved symlink aliases
19
+ of that file.
20
+
21
+ Missing user file means no named profiles. Do not auto-create the live
22
+ catalog. An empty `lineups` object is valid and is not an error. A
23
+ malformed unused catalog cannot override explicit inline owner choices.
24
+
25
+ ## Validity
26
+
27
+ Named selection and save require a valid catalog. Bind
28
+ `schemas/lineups.schema.json` Draft 2020-12 validation before named
29
+ selection or save. That schema is the validation document, not a second
30
+ search root for user data. Do not add a runtime catalog library.
31
+
32
+ On load and on save, inspect raw object members first. Reject duplicate
33
+ raw JSON keys; do not silently collapse. Then parse and apply Draft 2020-12
34
+ validation against package-root `schemas/lineups.schema.json`. Fail closed
35
+ as follows even when the schema cannot express the check:
36
+
37
+ - Reject duplicate role assignments within each phase.
38
+ - Reject ASCII case-fold collisions on both load and save. Do not trim
39
+ or case-fold names.
40
+ - Defaults keys must resolve exactly. Unresolved defaults fail closed.
41
+ - Invalid structure or name fails closed on both load and save.
42
+
43
+ Refuse named selection or save on any of those failures. Do not invent a
44
+ fallback profile and do not read packaged bytes as user data.
45
+
46
+ ## Selection
47
+
48
+ Explicit inline owner choices require no catalog lookup and no extra
49
+ confirmation. Consume them as already explicit.
50
+
51
+ A named choice needs a valid catalog and an exact selected key. Do not trim
52
+ or case-fold the name. Independent planning and implementation selections
53
+ remain separate; the owner may pick two names, one name twice, or inline on
54
+ either side.
55
+
56
+ Optional user `defaults.planning` and `defaults.implementation` are
57
+ recommendations requiring selection or confirmation. They are never a silent
58
+ grant and not an authority grant. Do not apply them without that
59
+ confirmation. Do not invent a packaged default.
60
+
61
+ Copy selected entries into the Journey snapshot as a frozen snapshot copy.
62
+ Preserve fallback array order. Bind a SHA-256 configuration digest of that
63
+ frozen snapshot copy. Digest that copy only: selected entries with fallback
64
+ order and selection sources. Exclude N/K/C, review cadence, route, and
65
+ authority. Canonical JSON: UTF-8, sort_keys, compact separators.
66
+ Later catalog edits do not mutate the frozen snapshot copy or its digest.
67
+
68
+ ## Save
69
+
70
+ Save only on explicit owner request. Never save this Journey as a side
71
+ effect of selection, freeze, or routing.
72
+
73
+ Create versus replace: if replace is already explicit, do not ask again;
74
+ otherwise preview the selected-entry replacement and confirm. Create must
75
+ not overwrite an existing exact key. Replace updates only that key.
76
+
77
+ Preserve unrelated valid keys and defaults. Refuse changed-input overwrite.
78
+ Use a safe atomic update (sibling temp file, then rename).
79
+
80
+ Do not write N/K/C, review cadence, route, or authority into catalog
81
+ entries.
@@ -10,10 +10,14 @@ copy peer text, runtimes, state stores, or authority assumptions.
10
10
  | Repository Fit | [Kiro steering](https://kiro.dev/docs/steering/) | verified workspace and explicit global/workspace scope |
11
11
  | Set Bearings | [Kiro steering](https://kiro.dev/docs/steering/) | durable human-readable workspace context |
12
12
  | Gather Supplies | [Matt Pocock grilling](https://github.com/mattpocock/skills/blob/main/skills/productivity/grilling/SKILL.md) | relentless dependency-ordered interview, one recommended question at a time |
13
- | Map the Route | [Kiro Quick Spec](https://kiro.dev/docs/specs/quick-spec/) and [GitHub Spec Kit](https://github.com/github/spec-kit/blob/main/workflows/speckit/workflow.yml) | staged requirements/design/tasks and explicit gates |
13
+ | Map the Route | [Kiro Quick Spec](https://kiro.dev/docs/specs/quick-spec/) and [GitHub Spec Kit](https://github.com/github/spec-kit/blob/main/workflows/speckit/workflow.yml) | technical-plan, design.md, seit.json, implementation.json, two-state review.html |
14
14
  | Navigator | compatibility diagnostic | unused on new Journeys; Router owns sequencing |
15
15
  | Explorer | LangChain subagents | bounded worker dispatch, proven-independent lane coordination, and result integration |
16
- | Crewmate | Spec Kit implement step | bounded execution after approved planning |
17
- | Validator | Spec Kit gate | evidence gate on a stable candidate |
16
+ | Crewmate | Spec Kit implement step | bounded execution after approved planning; split test-writing versus product |
17
+ | Scribe | event side lane | transcribes; cannot activate authority |
18
+ | Plan Integrator | Spec Kit tasks gate | reconciles five artifacts; generates implementation.json and review.html |
19
+ | Systems Modeler | MBSE view selection | after requirements; before design finalization |
20
+ | Integration Engineer | assembly method | dual planning and execution sessions |
21
+ | Test Engineer | Spec Kit gate | Planning and Assurance sessions; Validator absent from active roles |
18
22
  | Park Ranger | LangChain reviewer subagent | independent defect review with a typed return |
19
23
  | Surveyor | Spec Kit review gate | outcome comparison before completion |
@@ -13,8 +13,8 @@ flowchart TD
13
13
  I -->|approve Explorer Journey: one wave| E[Explorer may continue in-wave]
14
14
  I -->|approve Expedition: Router sequences waves| E
15
15
  E --> C
16
- C --> A{Final integrated candidate at-end?}
17
- A -->|Validator declared| V[Fresh Validator]
16
+ C --> A{Declared phase or wave end candidate?}
17
+ A -->|Assurance Test Engineer declared| V[Fresh Assurance Test Engineer]
18
18
  A -->|Park Ranger declared| PK[Fresh Park Ranger]
19
19
  A -->|Surveyor declared| S[Fresh Surveyor]
20
20
  A -->|not yet| E
@@ -11,7 +11,7 @@ The project's human-readable plan is the only task-state record. Diagrams explai
11
11
  | `WAITING_ON` | Parent coordinator | Named prerequisite, checkout-lease conflict, or independent-assurance dispatch unavailable |
12
12
  | `IN_PROGRESS` | Assigned worker or coordinator | Assigned action is being performed |
13
13
  | `EVIDENCE_READY` | Parent coordinator | Candidate and evidence ready for next missing assurance |
14
- | `VALIDATING` | Validator | Evidence sufficiency under validation |
14
+ | `VALIDATING` | Assurance Test Engineer | Evidence sufficiency under validation |
15
15
  | `REVIEWING` | Park Ranger when required | Independent defect review active |
16
16
  | `ACCEPTANCE` | Surveyor, Owner Authority, or parent coordinator when `required_assurance` is `none` | User-facing acceptance or coordinator completion confirmation is active |
17
17
  | `CORRECTION_REQUIRED` | Router or nearest parent coordinator | Agent-owned in-authority correction required |
@@ -27,7 +27,7 @@ The project's human-readable plan is the only task-state record. Diagrams explai
27
27
  - `IN_PROGRESS` → `EVIDENCE_READY` with candidate and handoff; → `CORRECTION_REQUIRED` on correctable failure; → `OWNER_DECISION_REQUIRED` on security, authority, or integrity guard.
28
28
  - `CORRECTION_REQUIRED` → `READY` on attempt 1 or 2 with a new hypothesis and evidence; → `OWNER_DECISION_REQUIRED` on the third failed correction or out-of-contract amendment.
29
29
  - `EVIDENCE_READY` → `VALIDATING` | `REVIEWING` | `ACCEPTANCE` for the next missing required role; → `WAITING_ON` if assurance dispatch is unavailable.
30
- - During the single assurance round, an accepted Validator or Park Ranger handoff returns to `EVIDENCE_READY` to select the next missing assurance role in declared order.
30
+ - During the single assurance round, an accepted Assurance Test Engineer or Park Ranger handoff returns to `EVIDENCE_READY` to select the next missing assurance role in declared order.
31
31
  - `VALIDATING` → `CORRECTION_REQUIRED` when more evidence or repair is needed; otherwise back through `EVIDENCE_READY` for remaining assurance.
32
32
  - `REVIEWING` → `CORRECTION_REQUIRED` | `EVIDENCE_READY` | `OWNER_DECISION_REQUIRED` by verdict.
33
33
  - `ACCEPTANCE` → `COMPLETE` when every required assurance accepted the same candidate; when `required_assurance` is `none`, parent-coordinator confirmation satisfies the assurance requirement; → `CORRECTION_REQUIRED` on acceptance gap.
@@ -38,9 +38,9 @@ The project's human-readable plan is the only task-state record. Diagrams explai
38
38
  - One parent coordinator writes each task block and its transitions.
39
39
  - Router alone writes cross-wave dependencies and Expedition-wide sequencing.
40
40
  - Workers and assurance roles return handoffs; they do not race plan edits.
41
- - Candidate authors never provide their own Validator, Park Ranger, or Surveyor verdict.
41
+ - Candidate authors never provide their own Assurance Test Engineer, Park Ranger, or Surveyor verdict.
42
42
  - Waiting on a prerequisite consumes no correction attempt. Each task has its own three-attempt correction counter; identical retries without new evidence are invalid.
43
- - 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.
43
+ - Each declared phase or wave receives at most one assurance round and one review-directed repair. Replacement candidates do not reset the count within that declared unit; the next distinct declared phase or wave carries its own 1/1 budget. The coordinator verifies that repair deterministically and does not dispatch assurance again.
44
44
  - `COMPLETE` is terminal for Bearing assurance. An already authorized deployment keeps operational verification and rollback readiness but does not reopen review; candidate-changing deployment work requires separate scope.
45
45
 
46
46
  ## Checkout lease
@@ -12,7 +12,7 @@ stateDiagram-v2
12
12
  IN_PROGRESS --> OWNER_DECISION_REQUIRED
13
13
  CORRECTION_REQUIRED --> READY
14
14
  CORRECTION_REQUIRED --> OWNER_DECISION_REQUIRED: third failed correction
15
- EVIDENCE_READY --> VALIDATING: Validator required
15
+ EVIDENCE_READY --> VALIDATING: Assurance Test Engineer required
16
16
  EVIDENCE_READY --> REVIEWING: Park Ranger required
17
17
  EVIDENCE_READY --> ACCEPTANCE: Surveyor, owner, or coordinator when required_assurance is none
18
18
  EVIDENCE_READY --> WAITING_ON: assurance dispatch unavailable
@@ -13,13 +13,19 @@ review_cadence: at-end
13
13
  | Router | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET |
14
14
  | Explorer | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET |
15
15
  | Crewmate | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET |
16
- | Validator | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET |
16
+ | Test Engineer | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET |
17
+ | Scribe | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET |
18
+ | Plan Integrator | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET |
19
+ | Systems Modeler | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET |
20
+ | Integration Engineer | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET |
17
21
  | Park Ranger | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET |
18
22
  | Surveyor | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET |
19
23
  ```
20
24
 
21
25
  Navigator is not a normal lineup role. Existing plans that still assign it use
22
26
  the Navigator compatibility diagnostic; treat the assignment as unused.
27
+ Validator is not a normal lineup role. Existing plans that still assign it use
28
+ the Validator compatibility diagnostic; treat the assignment as unused.
23
29
 
24
30
  Journey artifacts copy the confirmed values and mark named instances active,
25
31
  standby, or unused. Only verified primary unavailability activates its approved
@@ -30,11 +30,12 @@ pre-Map lineup or route-review gate is allowed.
30
30
  - deterministic_gate: <PASS after repair; otherwise omitted>
31
31
  ```
32
32
 
33
- `review_cadence` is `at-end` only. The single independent review runs on the
34
- final integrated candidate, not at a slice or round boundary, and not as
33
+ `review_cadence` is `at-end` for each declared phase or wave. The single
34
+ independent review runs on that unit's integrated candidate at its end, not at
35
+ a slice or round boundary, and not as
35
36
  task-level tests or author self-checks. Never infer it from
36
37
  `required_assurance` on an individual task. The proposal is visible in
37
- `implementation.md` and `review.html`, then becomes authoritative only after
38
+ `implementation.json` and `review.html`, then becomes authoritative only after
38
39
  the integrated owner approval; do not offer `per-slice` or `per-round`.
39
40
  `journey` stays a proposal until the mapped implementation graph exists and the
40
41
  integrated owner review approves it. `lineup_snapshot` is authoritative after
@@ -122,10 +123,14 @@ Field rules:
122
123
  ```markdown
123
124
  - scope: <allowed paths, systems, and boundaries>
124
125
  - authority: <approved envelope; protected actions remain owner-only>
125
- - required_assurance: [Validator]
126
+ - required_assurance: [Assurance Test Engineer]
126
127
  ```
127
128
 
128
- `required_assurance` lists only roles that must accept the same candidate (for example `Validator`, and `Park Ranger` or `Surveyor` when their triggers apply).
129
+ `required_assurance` lists only roles that must accept the same candidate (for example `Assurance Test Engineer`, and `Park Ranger` or `Surveyor` when their triggers apply).
130
+
131
+ test-writing Crewmate write set is tests and approved fixtures only. Product
132
+ write set excludes tests and must not weaken independently authored tests.
133
+ Neither self-certifies.
129
134
 
130
135
  ## After candidate work (add when evidence exists)
131
136
 
@@ -135,14 +140,15 @@ Field rules:
135
140
  - tests: <commands run and observed results>
136
141
  - findings: <labeled inferences and gaps>
137
142
  - verdict: <closed role-return token>
138
- - assurance_rounds: <0-1 completed assurance rounds for this Journey>
143
+ - assurance_rounds: <0-1 completed assurance rounds for this declared phase or wave>
139
144
  ```
140
145
 
141
146
  `verdict` is one of `ACCEPT`, `ACCEPT_WITH_FINDINGS`, `BLOCK`, `CANDIDATE_READY`, `FAIL`, `GAPS`, `NEEDS_MORE_EVIDENCE`, `OWNER_DECISION_REQUIRED`, `PARTIAL`, `PASS`, `READY`, `REPAIR_REQUIRED`, `REROUTED`, `WAITING_ON`. Do not copy task `outcome` into `verdict`.
142
147
  `candidate_ref` must not claim stronger provenance than the client can prove.
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
148
+ `assurance_rounds` counts this declared phase or wave's single submission to
149
+ required assurance against Bearing Lite `max_assurance_rounds`. A repair or
150
+ replacement candidate does not reset it; the next distinct declared phase or
151
+ wave carries its own budget. The parent
146
152
  coordinator writes the count before dispatch. If the review permits correction, spend at
147
153
  most one remaining `attempts` repair, run deterministic coordinator verification,
148
154
  and close the gate without another review. A failed repair or scope change
@@ -163,4 +169,4 @@ review. Any source or candidate change during deployment is separately scoped.
163
169
 
164
170
  ## Single-writer reminder
165
171
 
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.
172
+ Only the parent coordinator updates this block after rereading it. Crewmate, Test Engineer, Park Ranger, and Surveyor return compact receipts (`verdict`, `candidate_ref`, `changed_paths`, `tests`, `findings`, `blocker`); the coordinator records transitions. Router alone changes cross-wave dependencies or global sequencing. Update `implementation.json` and `review.html` once per wave, plus owner-decision or blocker changes.
@@ -20,6 +20,9 @@ Lowest mutation authority and highest hands-on work in the Bearing ladder.
20
20
  - **Match:** one packet is `READY` and every input is fixed.
21
21
  - **Non-match:** multi-packet coordination, design gaps, missing authority,
22
22
  assurance, or owner-only action.
23
+ - **Split:** test-writing Crewmate may change only tests and approved
24
+ fixtures. Product Crewmate write set excludes tests and must not weaken
25
+ independently authored tests. Neither self-certifies.
23
26
 
24
27
  ## Algorithm
25
28
 
@@ -40,14 +40,15 @@ Wave authority. Coordinates more and implements less than Crewmate.
40
40
  conversation history. Independent work, a changed envelope, or owner choice
41
41
  starts a fresh Crewmate.
42
42
  4. Inspect compact returns against write sets and acceptance; integrate
43
- evidence without implementing. Update `implementation.md` and `review.html`
43
+ evidence without implementing. Update `implementation.json` and `review.html`
44
44
  once per wave, plus owner-decision or blocker changes.
45
- 5. Dispatch declared assurance 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
45
+ 5. Dispatch declared assurance automatically at wave-end on this wave's
46
+ integrated candidate. Deterministic checks always run. Honor
47
+ `max_assurance_rounds` of 1 per declared phase or wave from visible
48
+ `assurance_rounds`. If the review is repairable, spend at most one
49
49
  remaining `attempts` repair, run deterministic coordinator verification,
50
- and close the gate without another review. A failed repair or scope change
50
+ and close the gate without another review. The next distinct declared
51
+ phase or wave carries its own budget. A failed repair or scope change
51
52
  returns `OWNER_DECISION_REQUIRED` with candidate and count. After Journey
52
53
  `COMPLETE`, deployment checks do not reopen assurance.
53
54
 
@@ -25,7 +25,13 @@ Planning node, not a persona or plan-state writer.
25
25
  ## Algorithm
26
26
 
27
27
  1. Inspect the repository and available evidence before asking. Never ask the
28
- owner for a fact tools can establish.
28
+ owner for a fact tools can establish. Maintain a coverage ledger from
29
+ required roles and artifacts. Cells are `DISCOVERABLE`, `OPEN`, `DECIDED`,
30
+ `DEFERRED`, `NOT_APPLICABLE`, or `BLOCKED`. Exit is falsifiable: zero
31
+ `OPEN`; `DECIDED` cites owner decision and source; `DEFERRED` has a bounded
32
+ owner-approved destination or trigger; `NOT_APPLICABLE` has a reason;
33
+ `BLOCKED` is surfaced. Planning is a fan-out/fan-in DAG with Scribe as an
34
+ event side lane.
29
35
  2. Select the earliest unresolved decision whose dependencies are satisfied.
30
36
  3. Ask exactly one question, relayed to the owner through the Router. Lead
31
37
  with the recommended answer and why, then explain only material
@@ -0,0 +1,41 @@
1
+ ---
2
+ name: integration-engineer
3
+ description: >
4
+ Dual-session Integration Engineer for planning assembly strategy and
5
+ execution assembly of the exact integrated candidate. Use for Planning
6
+ Integration Engineer or Execution Integration Engineer. Do not
7
+ implement missing product behavior or self-certify.
8
+ ---
9
+
10
+ # Integration Engineer
11
+
12
+ Planning and execution sessions are separate because authority differs.
13
+
14
+ ## Inputs and match
15
+
16
+ - **Inputs:** items/versions, compatibility, order, entry criteria,
17
+ configuration identity, authorized glue, interfaces.
18
+ - **Match:** progressive assembly is required.
19
+ - **Non-match:** product implementation, requirement rewrite, test
20
+ authorship.
21
+
22
+ ## Algorithm
23
+
24
+ 1. Planning Integration Engineer defines items/versions, compatibility,
25
+ order, entry criteria, stubs, configuration identity, post-step V&V
26
+ handoffs, anomaly/rollback/recovery, and the final integrated
27
+ candidate after requirements, views, and design interfaces stabilize.
28
+ 2. Execution Integration Engineer confirms identities and readiness,
29
+ assembles approved elements, applies only authorized integration
30
+ glue, exercises interfaces, records anomalies or rollback, produces
31
+ the exact integrated candidate, and hands to Assurance Test Engineer.
32
+ 3. Missing Integration Engineering method skill is a typed capability
33
+ gap, not invented behavior.
34
+
35
+ ## Return and recovery
36
+
37
+ Return `CANDIDATE_READY` or `OWNER_DECISION_REQUIRED` with verdict,
38
+ candidate_ref, changed_paths, tests, findings, and blocker.
39
+
40
+ Never implement missing product, revise requirements or design, weaken
41
+ tests, or self-certify.
@@ -13,35 +13,36 @@ Fresh planning node. The Router writes Journey state and owns owner conversation
13
13
 
14
14
  ## Match, inputs, and non-match
15
15
 
16
- - **Match:** material intent is settled and any specification, design, SEIT,
16
+ - **Match:** material intent is settled and any technical-plan, design, SEIT,
17
17
  implementation graph, or review HTML is missing.
18
18
  - **Inputs:** confirmed decisions, repository map and evidence, artifact status,
19
19
  requirements register, repository rules, proposed owner-supplied lineup and
20
20
  `review_cadence: at-end`, plus the return schema.
21
21
  - **Non-match:** unresolved material scope, behavior, authority, risk, or
22
22
  acceptance intent returns `REROUTE_GATHER_SUPPLIES`; generate no
23
- `implementation.md` or `review.html`.
23
+ `implementation.json` or `review.html`.
24
24
 
25
25
  ## Procedure
26
26
 
27
- 1. Derive `<journey-topic>-spec.md` from the confirmed title; ask only on
27
+ 1. Derive `<journey-topic>-technical-plan.md` from the confirmed title; ask only on
28
28
  ambiguity or collision. Establish whether a requirements register exists;
29
29
  if repository evidence cannot decide, return `NEEDS_OWNER_DECISION`. Never
30
30
  infer one. Registered identities remain references; author only Journey-local
31
31
  criteria; author the needed Journey-level proof or return
32
32
  `NEEDS_OWNER_DECISION` when register authority is unclear.
33
33
  2. Author and prospectively check, in dependency order, the testable
34
- specification, `design.md`, and `seit.md`. Preserve IDs and do not drop
34
+ technical-plan, `design.md`, and `seit.json`. Preserve IDs and do not drop
35
35
  Journey-level proof or published-standard clause coverage.
36
36
  3. Map the implementation graph and propose the Explorer Journey or Expedition,
37
37
  active/standby/unused role states, lineup, reasoning, and
38
38
  `review_cadence: at-end`. Bind the planning-review slots to owner-supplied
39
39
  primary and ordered fallback route references under one candidate ref,
40
40
  revision, and digest. Use supplied identities; never invent them.
41
- 4. After those stable source inputs, generate `implementation.md` and the
41
+ 4. After those stable source inputs, generate `implementation.json` and the
42
42
  self-contained offline `review.html` together. Each includes the proposed
43
43
  route, lineup, role states, reasoning, cadence, traceability, waves,
44
- recovery, approval boundaries, and register references versus Journey-local requirements.
44
+ recovery, approval boundaries, and register references versus Journey-local
45
+ requirements. Two `review.html` states: `planning-review` and `final-closeout`.
45
46
  5. Give every slice stable requirement/design/SEIT IDs, dependencies, exact
46
47
  write set, authority, role, session rule, evidence, recovery, and stop rule.
47
48
  6. Open and verify final HTML, then request exactly one integrated owner review
@@ -3,18 +3,26 @@
3
3
  Apply this closed grammar while authoring or validating planning artifacts.
4
4
  Bearing rejects deviations with typed findings.
5
5
 
6
+ The canonical Journey planning artifacts are exactly
7
+ `<journey-topic>-technical-plan.md` with `type: technical-plan`, `design.md`,
8
+ `seit.json`, `implementation.json`, and `review.html`. Markdown carries
9
+ technical-plan and design reasoning; the JSON files are schema-validated
10
+ machine authorities; `review.html` is their complete integrated human
11
+ projection. There is no sixth canonical planning artifact. XLSX may be an
12
+ optional derived export and is never authority.
13
+
6
14
  ## Shared artifact rules
7
15
 
8
- 1. Frontmatter declares `type` as `plan-spec`, `design`, `seit`, or
9
- `implementation`, and `status` as `complete` or `amended`.
16
+ 1. Frontmatter declares `type` as `technical-plan` or `design`, and `status` as
17
+ `complete` or `amended`.
10
18
  2. Journey-authored requirement IDs use `AC-*` or `RISK-*`; references to an
11
19
  existing requirements register keep that register's identities verbatim.
12
20
  Design IDs use `DES-*` or `CONTRACT-*`; SEIT rows use `SEIT-*`; commands
13
21
  use `CMD-*` or `PROC-*`. Suffixes contain only uppercase letters, digits,
14
22
  dots, or hyphens.
15
- 3. `<journey-topic>-spec.md` declares requirements, Entry criteria, Exit criteria,
16
- Rollback or repair, and Accountable controller. `design.md` declares design
17
- IDs. `seit.md` declares SEIT rows and commands.
23
+ 3. `<journey-topic>-technical-plan.md` declares requirements, Entry criteria,
24
+ Exit criteria, Rollback or repair, and Accountable controller. `design.md`
25
+ declares design IDs. `seit.json` declares SEIT rows and commands.
18
26
  4. Preserve stable IDs. Every implementation reference resolves to a declared
19
27
  requirement, design contract, SEIT row, and command.
20
28
  5. Owner-supplied lineup identities and proposed `review_cadence: at-end` are
@@ -39,7 +47,7 @@ Bearing rejects deviations with typed findings.
39
47
  to registered identities (no restated text), derivations from them
40
48
  (`AC-X derives from REG-ID`), or Journey-local `AC-*`/`RISK-*` criteria about
41
49
  write sets, seams, gates, or concurrency. Do not restate registered content.
42
- 4. `seit.md` references verification allocations where the register provides
50
+ 4. `seit.json` references verification allocations where the register provides
43
51
  them. Where the register provides none for a referenced requirement, author
44
52
  Journey-level proof for it or return `NEEDS_OWNER_DECISION` when register
45
53
  authority is unclear; do not silently drop coverage. Journey-level proof
@@ -59,37 +67,44 @@ Bearing rejects deviations with typed findings.
59
67
 
60
68
  ## SEIT rules
61
69
 
62
- 1. Include non-empty `Required Commands`, `Traceability Matrix`, and
63
- `Cross-cutting Checks` sections.
64
- 2. Declare each command as `- **<CMD/PROC-id>** — description`.
65
- 3. Use one flat traceability table with exactly these columns: SEIT row ID |
70
+ 1. `seit.json` is the canonical JSON Schema-validated tailored V&V plan.
71
+ Always-on sections: scope/baseline; responsibility/change authority;
72
+ applicable documents/precedence; requirements flowdown/architecture context;
73
+ V&V methods; verification and validation matrices; levels/integration
74
+ sequence; environments/fixtures/data/simulations/support;
75
+ procedures/commands; evidence/pass-fail; anomaly/corrective/closure.
76
+ System fields only where applicable.
77
+ 2. Include non-empty `Required Commands`, `Traceability Matrix`, and
78
+ `Cross-cutting Checks` sections or JSON equivalents.
79
+ 3. Declare each command with a `CMD-*` or `PROC-*` id and description.
80
+ 4. Use one flat traceability table with exactly these columns: SEIT row ID |
66
81
  Acceptance/risk ID | Design/contract ID | Boundary/test layer | Positive
67
82
  case | Negative/failure case | Command/procedure ID | Evidence.
68
- 4. Every row carries exactly one SEIT row ID, requirement ID, design ID, and
83
+ 5. Every row carries exactly one SEIT row ID, requirement ID, design ID, and
69
84
  command ID, and names an observable failure.
70
- 5. If procedure narratives are used, title each `### SEIT-<id> <title>` under
71
- a procedures section and restate Command, Positive case, Negative case, and
72
- Evidence exactly. Every PROC row then has exactly one matching narrative.
85
+ 6. Bind a stable decision-baseline projection of confirmed decision identities
86
+ and open-item statuses rather than the whole-file `journey.json` digest.
73
87
 
74
88
  ## Implementation rules
75
89
 
76
- 1. Slice headings are `### Slice <id>` and manifests are
77
- `### <id> execution manifest`. IDs are a letter-run plus an integer or
78
- dotted integer. Every slice has exactly one matching manifest.
79
- 2. Every slice declares Goal, Requirement IDs, Design IDs, SEIT proof rows,
80
- Type, Design lenses, named implementation role, owner-selected model route,
81
- reasoning level, and review path. Goals are at most 512 characters.
82
- 3. Every manifest declares Write set, Command IDs, Stop condition, and Human
83
- decision. Optional fields are Shared interfaces (`path#Symbol`), Integration
84
- boundary, Published standard (`doc#clause`) when applicable, and Parallel
85
- safe (`yes` or `no` plus reason).
90
+ 1. Regular JSON is the nested execution authority for Journey settings, lineup
91
+ snapshots, waves, slices, dependencies, traceability, and manifests.
92
+ 2. Every slice declares one named role plus goal, type, requirement IDs, design
93
+ IDs, SEIT proof rows, exact design-lens names sourced from `design.md`,
94
+ owner-selected model route, reasoning, review path, write set, command IDs,
95
+ stop condition, human decision, and `authority_id`. Goals are at most 512
96
+ characters. Slice actions and write sets are subsets of current authority.
97
+ 3. Optional fields are Shared interfaces (`path#Symbol`), Integration
98
+ boundary, Published standard (`doc#clause`) when applicable, SysML and
99
+ integration fields when selected, and Parallel safe (`yes` or `no` plus
100
+ reason).
86
101
  4. Write sets use one line: `Write only `path``. Paths are bounded, normalized,
87
102
  repository-relative literals. Put prohibitions in prose, not the write set.
88
103
  5. Multi-slice plans declare consecutive `Wave <n>: <ids>` lines. Every slice
89
104
  belongs to one wave. Dependencies use acyclic `S1 --> S2` arrows.
90
- 6. Optional phase graphs use Phase | Slices | Depends on phases | Integration
91
- checkpoints. Optional Inputs and Produces name metric denominator, ledger
92
- key, or contract field values in backticks.
105
+ 6. Ordered integration steps, resources, ownership, and rollback live here.
106
+ Owner-configured reviewer count `n`, repair bound `k`, and confirmation
107
+ count `c` are explicit fields with no assistant default integers.
93
108
  7. Plans may contain at most 128 slices, manifests, write paths, and commands.
94
109
  Aim for at most 500 estimated tokens per slice plus manifest; split larger
95
110
  packets when practical.
@@ -113,12 +128,15 @@ placeholders, bare negations, or deferral language.
113
128
  1. Select review-oriented feature diagrams (flow diagrams, state-machine diagrams, or process/sequence diagrams) when they materially clarify architecture or lifecycle behavior for owner review.
114
129
  2. Major features select a justified subset or full set of diagrams based on architectural complexity. Trivial features or minor fixes do not require unnecessary diagrams.
115
130
  3. Every feature diagram must include canonical, reviewable source (such as Mermaid code blocks), render visually inside generated `review.html`, and retain nearby authoritative explanatory text.
131
+ 4. Non-trivial technical plans include words plus context/boundary, use-case/outcome, and operational-flow views. In MBSE mode record model revision/digest; never silently substitute Mermaid for mandated SysML. Trivial work may record `diagram_not_required` with a concrete rationale.
116
132
 
117
133
  ## Completion boundary
118
134
 
119
- Author specification, design, SEIT, implementation, and review HTML in that
135
+ Author technical-plan, design, SEIT, implementation, and review HTML in that
120
136
  dependency order with internal prospective checks; generate implementation and
121
- HTML together after their stable inputs. The single owner review gate requires
137
+ HTML together after their stable inputs. `review.html` has two states:
138
+ `planning-review` before implementation and `final-closeout` after
139
+ implementation. Each records its stage and exact input digests. The single owner review gate requires
122
140
  the complete five-artifact package. Do not insert a lineup, route, or
123
141
  specification-only owner gate unless the owner explicitly requests staged
124
142
  approvals. The HTML becomes authoritative only after integrated owner approval.
@@ -15,16 +15,20 @@ Independent defect assurance, outside the mutation-authority ladder.
15
15
  ## Inputs and match
16
16
 
17
17
  - **Inputs:** approved baseline, exact candidate ref and diff, author identity,
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.
18
+ relevant evidence, declared phase or wave end boundary, review focus, and
19
+ compact return schema.
20
+ - **Match:** Park Ranger is declared and the declared phase or wave's
21
+ integrated candidate is stable at that end.
21
22
  - **Non-match:** slice or round boundary, candidate is unstable/unchanged, or
22
- Validator/Surveyor work is requested.
23
+ Surveyor/Test Engineer work is requested.
23
24
 
24
25
  ## Algorithm
25
26
 
26
27
  1. Start a fresh session; reject author identity, author ancestry, candidate
27
- discontinuity, or any boundary other than at-end.
28
+ discontinuity, or any boundary other than the declared phase or wave end.
29
+ Consume the Assurance
30
+ Test Engineer receipt. Do not routinely invoke Test Engineering; use it
31
+ only to adjudicate a specific suspected test defect.
28
32
  2. Review only introduced correctness, security, performance, and meaningful
29
33
  maintainability defects plus applicable plan drift. When the candidate
30
34
  implements a published standard, compare the change against the cited text
@@ -40,9 +44,10 @@ verdict, candidate_ref, changed_paths, tests, findings, and blocker.
40
44
  `ACCEPT`, `ACCEPT_WITH_FINDINGS`, and `BLOCK` are terminal. `REPAIR_REQUIRED`
41
45
  permits bounded correction. `ACCEPT_WITH_FINDINGS` accepts residual findings;
42
46
  do not follow it with another repair. Coordinators enforce
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.
47
+ `max_assurance_rounds` of 1 per declared phase or wave. A repairable verdict
48
+ permits one repair; the coordinator then runs deterministic verification and
49
+ closes the gate without another review. Do not review or repair that declared
50
+ unit again. The next distinct declared phase or wave carries its own budget. A
51
+ failed repair or scope change returns to Owner Authority.
47
52
 
48
53
  Never edit, self-review, duplicate general review, or grant publication rights.