@alphazede/bearing-lite 0.1.11 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/CONTRIBUTING.md +25 -0
  2. package/README.md +46 -14
  3. package/hooks/assurance-budget.cjs +149 -0
  4. package/hooks/closeout.cjs +16 -0
  5. package/hooks/com.anthropic.claude-code/mapping.md +72 -0
  6. package/hooks/com.cursor/hooks.json +11 -1
  7. package/hooks/hooks.json +45 -1
  8. package/hooks/plan-package.cjs +177 -0
  9. package/hooks/planning-review.cjs +9 -14
  10. package/hooks/policy.cjs +45 -0
  11. package/hooks/reconcile.cjs +145 -0
  12. package/hooks/te-capability.cjs +137 -0
  13. package/hooks/te-host.cjs +644 -0
  14. package/hooks/transition-order.cjs +32 -2
  15. package/lineups.json +1 -0
  16. package/package.json +4 -2
  17. package/plugin.json +1 -1
  18. package/schemas/authority.schema.json +75 -0
  19. package/schemas/event.schema.json +59 -0
  20. package/schemas/implementation.schema.json +150 -0
  21. package/schemas/journey.schema.json +101 -0
  22. package/schemas/lineups.schema.json +145 -0
  23. package/schemas/seit.schema.json +108 -0
  24. package/skills/bearing-lite/SKILL.md +20 -21
  25. package/skills/bearing-lite/references/assurance-policy.md +66 -0
  26. package/skills/bearing-lite/references/lineups.md +107 -0
  27. package/skills/bearing-lite/references/peer-synthesis.md +7 -3
  28. package/skills/bearing-lite/references/role-routing.mmd +2 -2
  29. package/skills/bearing-lite/references/task-state.md +4 -4
  30. package/skills/bearing-lite/references/task-state.mmd +1 -1
  31. package/skills/bearing-lite/templates/task.md +20 -11
  32. package/skills/crewmate/SKILL.md +3 -0
  33. package/skills/explorer/SKILL.md +7 -6
  34. package/skills/gather-supplies/SKILL.md +7 -1
  35. package/skills/integration-engineer/SKILL.md +41 -0
  36. package/skills/light-implementer/SKILL.md +53 -0
  37. package/skills/map-the-route/SKILL.md +9 -7
  38. package/skills/map-the-route/references/artifact-grammar.md +67 -32
  39. package/skills/park-ranger/SKILL.md +14 -9
  40. package/skills/plan-integrator/SKILL.md +46 -0
  41. package/skills/requirements-engineer/SKILL.md +57 -0
  42. package/skills/scribe/SKILL.md +34 -0
  43. package/skills/set-bearings/SKILL.md +16 -7
  44. package/skills/set-bearings/templates/workspace.md +28 -0
  45. package/skills/surveyor/SKILL.md +15 -9
  46. package/skills/systems-modeler/SKILL.md +35 -0
  47. package/skills/test-engineer/SKILL.md +48 -0
  48. package/skills/validator/SKILL.md +20 -27
  49. package/skills/validator/references/grading-rubric.md +5 -4
  50. package/skills/bearing-lite/templates/default-role-lineup.md +0 -26
@@ -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
@@ -48,6 +56,13 @@ Bearing rejects deviations with typed findings.
48
56
  Journey-local, so a reviewer can tell which artifact owns each statement.
49
57
  6. `design.md` is unaffected: it records how the work is built, which no
50
58
  requirements register covers.
59
+ 7. A specification-authoring Journey carries its requirement register (UID,
60
+ statement, rationale, verification method, allocation) as a planning
61
+ artifact: a draft `.sdoc` path (Markdown sections are not lint-checkable),
62
+ recorded as `implementation.json` `journey_settings.journey_type:
63
+ specification` plus `journey_settings.requirement_register`. The freeze
64
+ fails without an existing register; the Requirements Engineer gates it
65
+ before the integrated owner review; no Expedition wave re-gates it.
51
66
 
52
67
  ## Published standards
53
68
 
@@ -59,38 +74,55 @@ Bearing rejects deviations with typed findings.
59
74
 
60
75
  ## SEIT rules
61
76
 
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 |
77
+ 1. `seit.json` is the canonical JSON Schema-validated tailored V&V plan.
78
+ Always-on sections: scope/baseline; responsibility/change authority;
79
+ applicable documents/precedence; requirements flowdown/architecture context;
80
+ V&V methods; verification and validation matrices; levels/integration
81
+ sequence; environments/fixtures/data/simulations/support;
82
+ procedures/commands; evidence/pass-fail; anomaly/corrective/closure.
83
+ System fields only where applicable.
84
+ 2. Include non-empty `Required Commands`, `Traceability Matrix`, and
85
+ `Cross-cutting Checks` sections or JSON equivalents.
86
+ 3. Declare each command with a `CMD-*` or `PROC-*` id and description.
87
+ 4. Use one flat traceability table with exactly these columns: SEIT row ID |
66
88
  Acceptance/risk ID | Design/contract ID | Boundary/test layer | Positive
67
89
  case | Negative/failure case | Command/procedure ID | Evidence.
68
- 4. Every row carries exactly one SEIT row ID, requirement ID, design ID, and
90
+ 5. Every row carries exactly one SEIT row ID, requirement ID, design ID, and
69
91
  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.
92
+ 6. For a specification wave, each case-authoring proof row cites the planning
93
+ register gate receipt.
94
+ 7. Bind a stable decision-baseline projection of confirmed decision identities
95
+ and open-item statuses rather than the whole-file `journey.json` digest.
73
96
 
74
97
  ## Implementation rules
75
98
 
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).
86
- 4. Write sets use one line: `Write only `path``. Paths are bounded, normalized,
99
+ 1. Regular JSON is the nested execution authority for Journey settings, lineup
100
+ snapshots, waves, slices, dependencies, traceability, and manifests.
101
+ 2. Every slice declares one named role plus goal, type, requirement IDs, design
102
+ IDs, SEIT proof rows, exact design-lens names sourced from `design.md`,
103
+ owner-selected model route, reasoning, review path, write set, command IDs,
104
+ stop condition, human decision, and `authority_id`. Goals are at most 512
105
+ characters. Slice actions and write sets are subsets of current authority.
106
+ 3. `work_class` is `light` or `judgement` (default). A `light` slice names
107
+ the Light Implementer role, at least one command id, and a
108
+ `work_class_reason`; see `skills/light-implementer` for the criteria.
109
+ 4. For `journey_type: specification`, a specification-authoring Expedition
110
+ wave defaults to scaffold → author from the gated register → Test Engineer
111
+ verification cases → bind to the host → readback of the bound revision and
112
+ digest from the host → Park Ranger with both named in the review
113
+ request → owner decision. A deviation is a planning-review finding.
114
+ 5. Optional fields are Shared interfaces (`path#Symbol`), Integration
115
+ boundary, Published standard (`doc#clause`) when applicable, SysML and
116
+ integration fields when selected, and Parallel safe (`yes` or `no` plus
117
+ reason).
118
+ 6. Write sets use one line: `Write only `path``. Paths are bounded, normalized,
87
119
  repository-relative literals. Put prohibitions in prose, not the write set.
88
- 5. Multi-slice plans declare consecutive `Wave <n>: <ids>` lines. Every slice
120
+ 7. Multi-slice plans declare consecutive `Wave <n>: <ids>` lines. Every slice
89
121
  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.
93
- 7. Plans may contain at most 128 slices, manifests, write paths, and commands.
122
+ 8. Ordered integration steps, resources, ownership, and rollback live here.
123
+ Owner-configured reviewer count `n`, repair bound `k`, and confirmation
124
+ count `c` are explicit fields with no assistant default integers.
125
+ 9. Plans may contain at most 128 slices, manifests, write paths, and commands.
94
126
  Aim for at most 500 estimated tokens per slice plus manifest; split larger
95
127
  packets when practical.
96
128
 
@@ -113,12 +145,15 @@ placeholders, bare negations, or deferral language.
113
145
  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
146
  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
147
  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.
148
+ 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
149
 
117
150
  ## Completion boundary
118
151
 
119
- Author specification, design, SEIT, implementation, and review HTML in that
152
+ Author technical-plan, design, SEIT, implementation, and review HTML in that
120
153
  dependency order with internal prospective checks; generate implementation and
121
- HTML together after their stable inputs. The single owner review gate requires
154
+ HTML together after their stable inputs. `review.html` has two states:
155
+ `planning-review` before implementation and `final-closeout` after
156
+ implementation. Each records its stage and exact input digests. The single owner review gate requires
122
157
  the complete five-artifact package. Do not insert a lineup, route, or
123
158
  specification-only owner gate unless the owner explicitly requests staged
124
159
  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.
@@ -0,0 +1,46 @@
1
+ ---
2
+ name: plan-integrator
3
+ description: >
4
+ Reconcile specialist outputs and generate implementation.json and
5
+ review.html. Use for Plan Integrator. Do not invent owner intent,
6
+ requirements, models, or V&V, or author V&V.
7
+ ---
8
+
9
+ # Plan Integrator
10
+
11
+ Consumes stable specialist outputs, invokes Map the Route, cross-validates
12
+ the five artifacts, and generates `implementation.json` and two-state
13
+ `review.html`.
14
+
15
+ ## Inputs and match
16
+
17
+ - **Inputs:** settled decisions, technical-plan, design.md, seit.json
18
+ drafts, lineup freeze, authority envelope.
19
+ - **Match:** specialist outputs are stable enough to reconcile.
20
+ - **Non-match:** unresolved owner intent; V&V authorship.
21
+
22
+ ## Algorithm
23
+
24
+ 1. Cross-validate the five canonical artifacts. Copy design-lens names
25
+ from design.md; never invent lens IDs.
26
+ 2. For `journey_type: specification`, default an Expedition wave to scaffold →
27
+ author from the gated register → Test Engineer verification cases → bind to the host
28
+ → readback of the bound revision and digest from the host → Park
29
+ Ranger with both named in the review request → owner decision. A deviation
30
+ is a planning-review finding.
31
+ 3. Generate `implementation.json` and `review.html` (`planning-review`,
32
+ then `final-closeout`) when inputs are stable.
33
+ 4. Classify every slice `work_class: light` or `judgement` with a
34
+ `work_class_reason`, using the five criteria in `skills/light-implementer`.
35
+ Light slices carry the Light Implementer role and at least one
36
+ `command_id`; the freeze rejects any other light slice.
37
+ 5. Request a Planning Test Engineer delta after relevant decision,
38
+ requirement, or design changes. Do not author V&V.
39
+
40
+ ## Return and recovery
41
+
42
+ Return `PLAN_REVIEW_READY` or `NEEDS_OWNER_DECISION` with verdict,
43
+ candidate_ref, changed_paths, tests, findings, and blocker.
44
+
45
+ Never invent owner intent, requirements, models, integration strategy,
46
+ or schemas.
@@ -0,0 +1,57 @@
1
+ ---
2
+ name: requirements-engineer
3
+ description: >
4
+ One Requirements Engineer role, planning stage only. Use for the
5
+ requirement register quality gate after Gather Supplies and before the
6
+ Systems Modeler finalizes mappings. Do not use inside an Expedition wave,
7
+ or for V&V, SysML modeling, implementation, defect review, or publication.
8
+ ---
9
+
10
+ # Requirements Engineer
11
+
12
+ One role, one planning session. It owns requirement quality: every statement
13
+ is precise, measurable, traceable, allocated, and verification-ready.
14
+ Requirements are fixed at plan approval; an Expedition wave stores, binds,
15
+ adds verification cases, and publishes approved statements and never re-gates
16
+ them (the Assurance Test Engineer re-verifies at wave end). It never persists
17
+ SDoc, publishes, selects models or lineups, or writes tests.
18
+
19
+ ## Inputs and match
20
+
21
+ - **Inputs:** settled owner decisions, the requirement register as a planning
22
+ artifact (UID, statement, rationale, verification method, allocation: a
23
+ draft `.sdoc`, since Markdown rows are invisible to the lint), the plan's `AC-*`
24
+ and `RISK-*` rows, published-standard citations, the
25
+ `requirements-engineering` method skill, `lint-sdoc.py --profile library`
26
+ output, compact return schema.
27
+ - **Match:** a planning package whose requirement register needs a
28
+ quality-gate verdict before the integrated owner review.
29
+ - **Non-match:** any Expedition wave, design, SEIT, implementation, Park
30
+ Ranger, Surveyor.
31
+
32
+ ## Algorithm
33
+
34
+ 1. Run after Gather Supplies and before the Systems Modeler finalizes
35
+ mappings, on the requirement statements themselves: gate every register
36
+ row's statement, rationale, verification method, and allocation, and the
37
+ `AC-*`/`RISK-*` rows that cite them, against the NASA-adapted checklist;
38
+ reject escape clauses and undefined terms; every row cites its register
39
+ identity or is marked Journey-local.
40
+ 2. Cite the mechanical output (`lint-sdoc.py --profile library` over the
41
+ register: EARS, banned terms, glossary references) and judge only what the
42
+ tool cannot decide. Missing tool output is `NEEDS_MORE_EVIDENCE`.
43
+ 3. When a published standard is cited, verify the document and clause.
44
+ 4. Return the smallest set of failing rows. Never rewrite silently: propose
45
+ the corrected statement and let the author apply it.
46
+
47
+ ## Return and recovery
48
+
49
+ Return `PASS`, `REPAIRABLE_FAILURE`, `NEEDS_MORE_EVIDENCE`, or
50
+ `NEEDS_OWNER_DECISION` with verdict, candidate_ref, changed_paths, per-row
51
+ findings, and blocker. Rerun the gate on each corrected register within Map the
52
+ Route's correction rounds. Exhaustion with fixable rows returns
53
+ `NEEDS_OWNER_DECISION` listing those rows, never silent acceptance. Missing
54
+ `requirements-engineering` method skill is a typed capability gap.
55
+
56
+ Never implement, model, self-certify, persist or publish SDoc, or grant
57
+ owner-only approval.
@@ -0,0 +1,34 @@
1
+ ---
2
+ name: scribe
3
+ description: >
4
+ Transcribe Journey decisions, authority events, ledger snapshots, and
5
+ lineup selections as an event side lane. Use for Scribe. Do not use to
6
+ activate authority, invent choices, or save lineups unless the owner
7
+ asks.
8
+ ---
9
+
10
+ # Scribe
11
+
12
+ Event side lane. Transcribes; cannot activate authority.
13
+
14
+ ## Inputs and match
15
+
16
+ - **Inputs:** owner decisions, authority events, Gather ledger snapshots,
17
+ lineup selections, configuration digest, `journey.json`.
18
+ - **Match:** a visible Journey event must be appended to history.
19
+ - **Non-match:** planning dispatch, specialist engineering, execution.
20
+
21
+ ## Algorithm
22
+
23
+ 1. Append owner decisions, authority events, ledger snapshots, lineup
24
+ selections, and configuration digest to `journey.json` history.
25
+ 2. Do not activate authority or invent unresolved choices.
26
+ 3. Do not write Journey selections into `lineups.json` unless the owner
27
+ asks to save a reusable profile.
28
+
29
+ ## Return and recovery
30
+
31
+ Return `READY` or `OWNER_DECISION_REQUIRED` with verdict,
32
+ candidate_ref, changed_paths, tests, findings, and blocker.
33
+
34
+ Never implement, self-assure, or select models.
@@ -15,19 +15,28 @@ Fresh planning node. The Router announces `Setting Our Bearings in <repo>.`
15
15
 
16
16
  - **Inputs:** confirmed repository root, owner-confirmed plan directory, Journey
17
17
  title, visible existing artifacts, repository rules, and return schema.
18
- - **Match:** the workspace or current-state repository map is missing or stale.
18
+ - **Match:** the workspace or repository map is missing or stale.
19
19
  - **Non-match:** both are current and usable by Gather Supplies or Map the Route.
20
20
 
21
21
  ## Algorithm
22
22
 
23
23
  1. Re-read the exact confirmed root and plan directory; never derive a different
24
24
  root, slug, suffix, or sibling workspace.
25
- 2. Preserve every existing artifact and unrelated edit. Resume rather than
26
- replace an existing Journey.
27
- 3. Create only the missing plan-directory stub and bounded repository map.
28
- 4. Record observed systems, relevant paths, constraints, Git boundaries,
29
- validation commands, and unknowns as evidence—not invented decisions.
30
- 5. Verify that all written paths remain inside authority and are human-readable.
25
+ 2. If `workspace.md` exists in the plan directory, verify recorded root and plan
26
+ directory match confirmed inputs; a mismatch returns `BLOCKED`. Run `git
27
+ status --porcelain` scoped to mapped inputs; if unmodified, return
28
+ `WORKSPACE_RESUMED` (1 read, 1 status).
29
+ 3. Bound discovery: depth 2, max 40 paths, max 64 KiB, read-only. Anchors are
30
+ root manifest, task runner, CI entrypoint, top-level instructions, and root
31
+ test configs. Strictly prohibit discovery traversal into repo-relative
32
+ `src/`, `lib/`, `vendor/`, and `docs/`.
33
+ 4. If bounds are exhausted before required anchors are found, return
34
+ `NEEDS_EVIDENCE` naming the missing anchor. Never compose unobserved commands.
35
+ 5. Create missing plan directory or update `workspace.md` in place, preserving
36
+ existing recorded evidence and unrelated edits. Initialize a missing file
37
+ from `templates/workspace.md`. Quote validation commands with source and mark
38
+ `[observed, not run]`. Drop detail before Constraints and Unknowns.
39
+ 6. Verify written paths remain inside authority and return `WORKSPACE_READY`.
31
40
 
32
41
  ## Return and recovery
33
42
 
@@ -0,0 +1,28 @@
1
+ # Workspace Environment: <journey-topic>
2
+
3
+ ## Repository Identity
4
+ - Root: `<repository-root>`
5
+ - Plan directory: `<plan-directory>`
6
+
7
+ ## Mapped Inputs
8
+ - `<relative-path>`: `<what it establishes>`
9
+
10
+ ## Observed Systems
11
+ - `<relative-directory>`: `<subsystem>`
12
+
13
+ ## Constraints and Git Boundaries
14
+ - Branch / Worktree: `<branch>` (clean | dirty)
15
+ - Rules: `<applicable-rules>`
16
+
17
+ ## Validation Commands [observed, not run]
18
+ - Test: `<command>` (source: `<anchor-file>`) [observed, not run]
19
+ - Lint: `<command>` (source: `<anchor-file>`) [observed, not run]
20
+ - Build: `<command>` (source: `<anchor-file>`) [observed, not run]
21
+
22
+ ## Unknowns
23
+ - `<unknown or none observed>`
24
+
25
+ ## Map Freshness
26
+ - Tier 1: Recorded root and plan directory match confirmed inputs.
27
+ - Tier 2: `git status --porcelain` scoped to mapped inputs shows no modifications.
28
+ - Note: Does not detect committed changes postdating this observation.
@@ -14,18 +14,22 @@ 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, 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.
17
+ author identities, user-facing evidence, declared phase or wave end boundary,
18
+ prior required assurance, and compact return schema.
19
+ - **Match:** Surveyor is declared and the declared phase or wave's integrated
20
+ candidate is ready for user-facing comparison at that end.
21
21
  - **Non-match:** unfinished packet, slice or round boundary, unstable candidate,
22
- Validator sufficiency, Park Ranger defect review, or owner-only release
23
- decision.
22
+ Assurance Test Engineer sufficiency, Park Ranger defect review, or owner-only
23
+ release decision.
24
24
 
25
25
  ## Algorithm
26
26
 
27
27
  1. Start a fresh session; reject author ancestry; verify candidate continuity,
28
- independence, completed prerequisite assurance, and the at-end boundary.
28
+ independence, completed prerequisite assurance, and the declared phase or
29
+ wave end boundary.
30
+ Consume Requirements Engineering, SysML Modeling, and Test Engineering
31
+ read-only. Do not rewrite requirements, repair models, author tests, or
32
+ repeat assurance.
29
33
  2. Exercise or inspect every observable approved outcome, including failure and
30
34
  recovery behavior relevant to the Journey.
31
35
  3. Map each gap to an exact requirement and evidence location. Separate observed
@@ -36,7 +40,9 @@ Independent outcome assurance, outside the mutation-authority ladder.
36
40
 
37
41
  Return `ACCEPT`, `GAPS`, or `OWNER_DECISION_REQUIRED` with verdict,
38
42
  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.
43
+ Coordinators enforce `max_assurance_rounds` of 1 per declared phase or wave. A
44
+ gap may receive one repair followed by deterministic coordinator verification
45
+ without another review; do not reassess that declared unit.
46
+ The next distinct declared phase or wave carries its own budget.
41
47
 
42
48
  Never implement, substitute for another assurance role, or approve publication.
@@ -0,0 +1,35 @@
1
+ ---
2
+ name: systems-modeler
3
+ description: >
4
+ Select modeling mode and attach view metadata after Requirements
5
+ Engineer work and before design finalization. Use for Systems Modeler.
6
+ Do not finalize requirement mappings against unstable requirements.
7
+ ---
8
+
9
+ # Systems Modeler
10
+
11
+ Runs after the Requirements Engineer and before design finalization.
12
+
13
+ ## Inputs and match
14
+
15
+ - **Inputs:** requirements, view need, modeling-mode metadata.
16
+ - **Match:** engineering views or SysML mode selection is required.
17
+ - **Non-match:** requirement authorship, V&V, implementation.
18
+
19
+ ## Algorithm
20
+
21
+ 1. Select `sysml-v2`, `diagram-assisted`, or `not-applicable`. Attach
22
+ view metadata. In `sysml-v2`, record model revision/digest and native
23
+ or derived views.
24
+ 2. Contextual work may start before requirements stabilize. Do not
25
+ finalize requirement relationship mappings until those requirements
26
+ are stable.
27
+ 3. Do not silently substitute Mermaid for mandated SysML. Missing SysML
28
+ Modeling skill is a typed capability gap, not invented behavior.
29
+
30
+ ## Return and recovery
31
+
32
+ Return `READY` or `OWNER_DECISION_REQUIRED` with verdict,
33
+ candidate_ref, changed_paths, tests, findings, and blocker.
34
+
35
+ Never invent SysML coverage or claim local normative authority without a pin.
@@ -0,0 +1,48 @@
1
+ ---
2
+ name: test-engineer
3
+ description: >
4
+ One Test Engineer role with Planning and Assurance sessions. Use for
5
+ Planning Test Engineer, Assurance Test Engineer, SEIT authorship, or
6
+ declared phase or wave end V&V. Do not use for implementation, defect review, user
7
+ acceptance, or slice/round boundaries.
8
+ ---
9
+
10
+ # Test Engineer
11
+
12
+ One role retires Validator; Validator is absent from active roles.
13
+ Planning Test Engineer and Assurance Test Engineer are sessions, not
14
+ separate catalog roles.
15
+
16
+ ## Inputs and match
17
+
18
+ - **Inputs:** approved baseline, candidate, evidence, SEIT, published
19
+ standard citations, declared phase or wave end boundary, compact return schema.
20
+ - **Match:** V&V planning or declared phase or wave end assurance is declared.
21
+ - **Non-match:** product implementation, Park Ranger defects, Surveyor
22
+ acceptance, slice or round boundary.
23
+
24
+ ## Algorithm
25
+
26
+ 1. Planning Test Engineer finalizes `seit.json` after Plan Integrator
27
+ reconciliation and performs delta reconciliation after relevant
28
+ decision, requirement, or design changes. Do not invent missing
29
+ method-skill behavior.
30
+ Expedition in-document verification cases are authored only against the
31
+ approved, planning-gated register.
32
+ 2. Assurance Test Engineer starts a fresh session; reject author ancestry;
33
+ evaluate the exact stable candidate at the declared phase or wave end only.
34
+ VALIDATING is owned here.
35
+ 3. When a published standard is cited, verify the document and clause.
36
+ 4. Return the smallest missing proof. Never mutate the candidate.
37
+
38
+ ## Return and recovery
39
+
40
+ Return `PASS`, `NEEDS_MORE_EVIDENCE`, or `FAIL` with verdict,
41
+ candidate_ref, changed_paths, tests, findings, and blocker.
42
+
43
+ Coordinators enforce `max_assurance_rounds` of 1 per declared phase or wave:
44
+ one aggregate repair, then deterministic closure without another review. The
45
+ next distinct declared phase or wave carries its own budget.
46
+
47
+ Never implement, self-certify, replace Park Ranger or Surveyor, or grant
48
+ owner-only approval.
@@ -1,44 +1,37 @@
1
1
  ---
2
2
  name: validator
3
3
  description: >
4
- Independently validate evidence sufficiency and optional rubric scoring for
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.
4
+ Compatibility diagnostic for plans that still name Validator. Use when
5
+ an existing plan assigns Validator. Do not use for new Journeys,
6
+ evidence validation, or as an active assurance role.
8
7
  ---
9
8
 
10
9
  # Validator
11
10
 
12
- Independent assurance responsibility, outside the mutation-authority ladder.
11
+ Compatibility only. Not an active assurance role. Assurance Test Engineer
12
+ owns VALIDATING. Router reroutes Validator assignments.
13
13
 
14
14
  ## Inputs and match
15
15
 
16
- - **Inputs:** approved baseline, exact candidate ref, author identity, scope,
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
22
- needs author self-check, or another assurance responsibility applies.
16
+ - **Inputs:** a plan that still assigns `Validator`, plus the recorded
17
+ Journey snapshot.
18
+ - **Match:** an existing plan names Validator as an assigned role.
19
+ - **Non-match:** new Journeys, Test Engineer sessions, Park Ranger,
20
+ Surveyor.
23
21
 
24
22
  ## Algorithm
25
23
 
26
- 1. Start a fresh session; reject author identity, author ancestry, candidate
27
- discontinuity, or any boundary other than at-end.
28
- 2. Check scope continuity, labeled evidence, required commands, positive and
29
- negative cases, and acceptance support. Where the candidate cites a published
30
- standard, verify against that text rather than neighbouring agreement.
31
- 3. Apply `references/grading-rubric.md` only when explicit scoring is requested.
32
- 4. Return the smallest missing proof or exact failing criterion. Never mutate the
33
- candidate or manufacture evidence.
24
+ 1. Do not validate evidence, score rubrics, or run assurance. Read
25
+ identities only from the recorded Journey snapshot, never from the
26
+ current global defaults file.
27
+ 2. Return `REROUTED` to the Router with a diagnostic that Validator is
28
+ compatibility-only and is not an active assurance role; treat the
29
+ assignment as unused and continue under Assurance Test Engineer.
30
+ 3. Preserve the checkout lease. Do not write planning state.
34
31
 
35
32
  ## Return and recovery
36
33
 
37
- Return `PASS`, `NEEDS_MORE_EVIDENCE`, or `FAIL` with verdict, candidate_ref,
38
- changed_paths, tests, findings, and blocker. `PASS` is terminal.
39
- `NEEDS_MORE_EVIDENCE` and `FAIL` permit bounded correction. Coordinators
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.
34
+ Return `REROUTED` with verdict, candidate_ref, changed_paths, tests,
35
+ findings, and blocker. Findings name the compatibility path.
42
36
 
43
- Never implement, repeat unchanged review, replace Park Ranger/Surveyor, or
44
- grant owner-only approval.
37
+ Never implement, self-assure, select models, or mutate remotes.
@@ -1,8 +1,9 @@
1
- # Grading rubric (Validator scoring)
1
+ # Grading rubric (optional Assurance Test Engineer scoring)
2
2
 
3
3
  Use only when the task, owner, or phase gate requests **explicit rubric scoring**.
4
- Sufficiency checks always run when Validator is active. Scoring is optional and
5
- never makes independent assurance automatic.
4
+ Sufficiency checks always run when Assurance Test Engineer is active. Scoring is
5
+ optional and never makes independent assurance automatic. Validator is
6
+ compatibility-only and does not score active Journeys.
6
7
 
7
8
  ## Dimensions (equal weight unless the plan overrides)
8
9
 
@@ -27,7 +28,7 @@ Sum dimension scores (0–12).
27
28
 
28
29
  1. Run sufficiency on the exact candidate first.
29
30
  2. If scoring is requested, score the same candidate with this rubric.
30
- 3. Final Validator outcome:
31
+ 3. Final Assurance Test Engineer outcome:
31
32
  - `FAIL` if either check fails
32
33
  - `NEEDS_MORE_EVIDENCE` if either needs more proof
33
34
  - `PASS` only when sufficiency passes and (scoring was not requested, or scoring supports PASS)