@alphazede/bearing-lite 0.1.10 → 0.1.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +43 -25
- package/hooks/closeout.cjs +64 -15
- package/hooks/com.anthropic.claude-code/host.cjs +8 -11
- package/hooks/com.anthropic.claude-code/mapping.md +16 -2
- package/hooks/planning-review.cjs +99 -0
- package/hooks/transition-order.cjs +13 -0
- package/package.json +6 -3
- package/plugin.json +1 -1
- package/skills/bearing-lite/SKILL.md +39 -46
- package/skills/bearing-lite/agents/openai.yaml +1 -1
- package/skills/bearing-lite/references/peer-synthesis.md +1 -1
- package/skills/bearing-lite/references/review-policy.md +37 -0
- package/skills/bearing-lite/references/role-routing.mmd +9 -9
- package/skills/bearing-lite/references/task-state.md +2 -2
- package/skills/bearing-lite/templates/default-role-lineup.md +4 -2
- package/skills/bearing-lite/templates/task.md +64 -16
- package/skills/crewmate/SKILL.md +23 -17
- package/skills/explorer/SKILL.md +34 -34
- package/skills/gather-supplies/SKILL.md +2 -1
- package/skills/map-the-route/SKILL.md +47 -36
- package/skills/map-the-route/references/artifact-grammar.md +52 -11
- package/skills/navigator/SKILL.md +18 -41
- package/skills/park-ranger/SKILL.md +14 -11
- package/skills/surveyor/SKILL.md +14 -13
- package/skills/validator/SKILL.md +14 -12
|
@@ -11,7 +11,7 @@ copy peer text, runtimes, state stores, or authority assumptions.
|
|
|
11
11
|
| Set Bearings | [Kiro steering](https://kiro.dev/docs/steering/) | durable human-readable workspace context |
|
|
12
12
|
| Gather Supplies | [Matt Pocock grilling](https://github.com/mattpocock/skills/blob/main/skills/productivity/grilling/SKILL.md) | relentless dependency-ordered interview, one recommended question at a time |
|
|
13
13
|
| Map the Route | [Kiro Quick Spec](https://kiro.dev/docs/specs/quick-spec/) and [GitHub Spec Kit](https://github.com/github/spec-kit/blob/main/workflows/speckit/workflow.yml) | staged requirements/design/tasks and explicit gates |
|
|
14
|
-
| Navigator |
|
|
14
|
+
| Navigator | compatibility diagnostic | unused on new Journeys; Router owns sequencing |
|
|
15
15
|
| Explorer | LangChain subagents | bounded worker dispatch, proven-independent lane coordination, and result integration |
|
|
16
16
|
| Crewmate | Spec Kit implement step | bounded execution after approved planning |
|
|
17
17
|
| Validator | Spec Kit gate | evidence gate on a stable candidate |
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# Planning review policy
|
|
2
|
+
|
|
3
|
+
This machine-readable block is the single declarative authority for
|
|
4
|
+
planning-review constraints. `hooks/planning-review.cjs` exports its runtime
|
|
5
|
+
mirror; focused tests require an exact match. Changing these bounds needs
|
|
6
|
+
an explicit owner amendment. This policy records no route, provider, model,
|
|
7
|
+
harness, account, or agent identity.
|
|
8
|
+
|
|
9
|
+
```json
|
|
10
|
+
{
|
|
11
|
+
"reviewer_slots_min": 2,
|
|
12
|
+
"reviewer_slots_max": 2,
|
|
13
|
+
"independence_required": true,
|
|
14
|
+
"isolated_findings_until_aggregation": true,
|
|
15
|
+
"candidate_fields": ["candidate_ref", "candidate_revision", "candidate_digest"],
|
|
16
|
+
"shared_candidate_required": true,
|
|
17
|
+
"review_rounds": 1,
|
|
18
|
+
"aggregated_repairs_max": 1,
|
|
19
|
+
"post_repair_gate": "deterministic_PASS",
|
|
20
|
+
"automatic_rereview": "prohibited",
|
|
21
|
+
"slot_exhaustion_outcome": "FAIL_ROUND",
|
|
22
|
+
"terminal_outcomes": ["HALT", "OWNER_AMENDMENT_REQUIRED"]
|
|
23
|
+
}
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
Map the Route writes the separate Journey binding in the approved lineup
|
|
27
|
+
snapshot. It lists unique abstract `slot_id` values, each slot's owner-selected
|
|
28
|
+
`primary_route_ref`, and ordered `fallback_route_refs`. Each receipt records a
|
|
29
|
+
distinct selected route from its slot. All receipts bind to the same non-empty
|
|
30
|
+
candidate ref, revision, and digest. Exhausting any slot
|
|
31
|
+
returns `FAIL_ROUND`. Candidate or independence mismatch, a second round or
|
|
32
|
+
repair, or a missing deterministic PASS after repair returns `HALT`. Automatic
|
|
33
|
+
confirmation or rereview returns `OWNER_AMENDMENT_REQUIRED`.
|
|
34
|
+
|
|
35
|
+
This gate reviews planning artifacts before dispatch. It never invokes a
|
|
36
|
+
reviewer. Implementation assurance remains governed separately by
|
|
37
|
+
`max_assurance_rounds` and task `required_assurance` / `assurance_rounds`.
|
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
flowchart TD
|
|
2
2
|
O[Owner Authority] <--> R[Stateful Bearing Lite Router]
|
|
3
|
-
R --> J{Explorer Journey or Expedition?}
|
|
4
3
|
R --> P{Next missing planning stage?}
|
|
5
4
|
P -->|Repository Fit| PF[Fresh Repository Fit]
|
|
6
5
|
P -->|Set Bearings| SB[Fresh Set Bearings]
|
|
7
6
|
P -->|Gather Supplies| GS[Fresh Gather Supplies]
|
|
8
7
|
P -->|Map the Route| MR[Fresh Map the Route]
|
|
9
|
-
PF & SB & GS
|
|
10
|
-
R -->
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
8
|
+
PF & SB & GS -->|typed return| R
|
|
9
|
+
R --> MR
|
|
10
|
+
MR -->|five artifacts with proposed route, lineup, role states, reasoning, cadence| I{One integrated owner review}
|
|
11
|
+
I -->|change| MR
|
|
12
|
+
I -->|approve Explorer Journey: one packet| C[Crewmate may continue in-wave]
|
|
13
|
+
I -->|approve Explorer Journey: one wave| E[Explorer may continue in-wave]
|
|
14
|
+
I -->|approve Expedition: Router sequences waves| E
|
|
15
15
|
E --> C
|
|
16
|
-
C --> A{
|
|
16
|
+
C --> A{Final integrated candidate at-end?}
|
|
17
17
|
A -->|Validator declared| V[Fresh Validator]
|
|
18
18
|
A -->|Park Ranger declared| PK[Fresh Park Ranger]
|
|
19
19
|
A -->|Surveyor declared| S[Fresh Surveyor]
|
|
20
20
|
A -->|not yet| E
|
|
21
|
-
V & PK & S -->|
|
|
21
|
+
V & PK & S -->|compact receipt| R
|
|
@@ -14,7 +14,7 @@ The project's human-readable plan is the only task-state record. Diagrams explai
|
|
|
14
14
|
| `VALIDATING` | Validator | Evidence sufficiency under validation |
|
|
15
15
|
| `REVIEWING` | Park Ranger when required | Independent defect review active |
|
|
16
16
|
| `ACCEPTANCE` | Surveyor, Owner Authority, or parent coordinator when `required_assurance` is `none` | User-facing acceptance or coordinator completion confirmation is active |
|
|
17
|
-
| `CORRECTION_REQUIRED` |
|
|
17
|
+
| `CORRECTION_REQUIRED` | Router or nearest parent coordinator | Agent-owned in-authority correction required |
|
|
18
18
|
| `OWNER_DECISION_REQUIRED` | Owner Authority | Authority, scope, security, or replacement-path judgment required |
|
|
19
19
|
| `COMPLETE` | Parent coordinator after assurance | Outcome and required assurance satisfied |
|
|
20
20
|
| `CANCELLED` | Owner Authority or authorized parent | Task will not proceed |
|
|
@@ -36,7 +36,7 @@ The project's human-readable plan is the only task-state record. Diagrams explai
|
|
|
36
36
|
## Ownership rules
|
|
37
37
|
|
|
38
38
|
- One parent coordinator writes each task block and its transitions.
|
|
39
|
-
-
|
|
39
|
+
- Router alone writes cross-wave dependencies and Expedition-wide sequencing.
|
|
40
40
|
- Workers and assurance roles return handoffs; they do not race plan edits.
|
|
41
41
|
- Candidate authors never provide their own Validator, Park Ranger, or Surveyor verdict.
|
|
42
42
|
- Waiting on a prerequisite consumes no correction attempt. Each task has its own three-attempt correction counter; identical retries without new evidence are invalid.
|
|
@@ -6,12 +6,11 @@ implementation and asks whether it is good for the current Journey. Never fill
|
|
|
6
6
|
agent, model, or reasoning values on the user's behalf.
|
|
7
7
|
|
|
8
8
|
```markdown
|
|
9
|
-
review_cadence:
|
|
9
|
+
review_cadence: at-end
|
|
10
10
|
|
|
11
11
|
| Role | Primary agent/harness | Primary model | Primary reasoning | Fallback agent/harness | Fallback model | Fallback reasoning |
|
|
12
12
|
| --- | --- | --- | --- | --- | --- | --- |
|
|
13
13
|
| Router | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET |
|
|
14
|
-
| Navigator | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET |
|
|
15
14
|
| Explorer | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET |
|
|
16
15
|
| Crewmate | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET |
|
|
17
16
|
| Validator | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET |
|
|
@@ -19,6 +18,9 @@ review_cadence: <per-slice | per-round | at-end>
|
|
|
19
18
|
| Surveyor | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET | OWNER_TO_SET |
|
|
20
19
|
```
|
|
21
20
|
|
|
21
|
+
Navigator is not a normal lineup role. Existing plans that still assign it use
|
|
22
|
+
the Navigator compatibility diagnostic; treat the assignment as unused.
|
|
23
|
+
|
|
22
24
|
Journey artifacts copy the confirmed values and mark named instances active,
|
|
23
25
|
standby, or unused. Only verified primary unavailability activates its approved
|
|
24
26
|
fallback. If both are unavailable, return `OWNER_DECISION_REQUIRED`.
|
|
@@ -2,29 +2,53 @@
|
|
|
2
2
|
|
|
3
3
|
Use one compact Markdown block per task in the project's existing plan or progress document. Omit unused conditional fields. Prefer the project's format; add only missing fields. Do not create a Bearing-owned state file or hidden ledger.
|
|
4
4
|
|
|
5
|
-
## Journey settings
|
|
5
|
+
## Journey settings
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
Map the Route records these plan-level proposals above the task blocks in the
|
|
8
|
+
complete five-artifact package. The integrated owner review approves or changes
|
|
9
|
+
the journey, lineup, role states, reasoning, cadence, and plan together; no
|
|
10
|
+
pre-Map lineup or route-review gate is allowed.
|
|
8
11
|
|
|
9
12
|
```markdown
|
|
10
13
|
- journey: <Explorer Journey | Expedition>
|
|
11
|
-
- review_cadence:
|
|
12
|
-
- choice_basis: <
|
|
13
|
-
- lineup_snapshot: <named
|
|
14
|
+
- review_cadence: at-end
|
|
15
|
+
- choice_basis: <proposed recommendation and reason; owner-approved at integrated review>
|
|
16
|
+
- lineup_snapshot: <named implementation/assurance instances plus the planning_review binding below>
|
|
17
|
+
- planning_review:
|
|
18
|
+
- policy_ref: skills/bearing-lite/references/review-policy.md
|
|
19
|
+
- candidate_ref: <shared planning-package reference>
|
|
20
|
+
- candidate_revision: <shared planning-package revision>
|
|
21
|
+
- candidate_digest: <shared planning-package digest>
|
|
22
|
+
- reviewer_slots:
|
|
23
|
+
- slot_id: <abstract unique slot>
|
|
24
|
+
primary_route_ref: <owner-selected lineup route reference>
|
|
25
|
+
fallback_route_refs: [<ordered owner-selected route references>]
|
|
26
|
+
- round_number: 1
|
|
27
|
+
- completed_rounds: <0-1>
|
|
28
|
+
- receipts: <one isolated receipt per slot, including the distinct selected_route_ref>
|
|
29
|
+
- aggregated_repairs: <0-1>
|
|
30
|
+
- deterministic_gate: <PASS after repair; otherwise omitted>
|
|
14
31
|
```
|
|
15
32
|
|
|
16
|
-
`review_cadence`
|
|
17
|
-
not
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
`
|
|
33
|
+
`review_cadence` is `at-end` only. The single independent review runs on the
|
|
34
|
+
final integrated candidate, not at a slice or round boundary, and not as
|
|
35
|
+
task-level tests or author self-checks. Never infer it from
|
|
36
|
+
`required_assurance` on an individual task. The proposal is visible in
|
|
37
|
+
`implementation.md` and `review.html`, then becomes authoritative only after
|
|
38
|
+
the integrated owner approval; do not offer `per-slice` or `per-round`.
|
|
39
|
+
`journey` stays a proposal until the mapped implementation graph exists and the
|
|
40
|
+
integrated owner review approves it. `lineup_snapshot` is authoritative after
|
|
41
|
+
that approval. Later
|
|
23
42
|
edits to `~/.agents/bearing-lite/default-role-lineup.md` have no effect.
|
|
24
43
|
Replace it only through an explicit owner-confirmed dated visible amendment.
|
|
25
44
|
Record the amendment date beside the replacement values. Dispatch identities
|
|
26
45
|
come from this snapshot, not from the current global defaults file.
|
|
27
46
|
|
|
47
|
+
Every configured planning-review slot uses the same candidate ref, revision,
|
|
48
|
+
and digest. Findings stay isolated until one aggregation. Slot exhaustion is
|
|
49
|
+
`FAIL_ROUND`; policy violations halt or require an owner amendment. The binding
|
|
50
|
+
does not populate `required_assurance` and does not dispatch reviewers.
|
|
51
|
+
|
|
28
52
|
## Checkout lease (record before any planning write)
|
|
29
53
|
|
|
30
54
|
The Router's first write is this visible lease. Inventory nonterminal Journeys
|
|
@@ -53,6 +77,26 @@ same generation. `COMPLETE` or `CANCELLED` releases the lease exactly
|
|
|
53
77
|
once. Stale recovery is explicit, recorded, increments generation, and cannot
|
|
54
78
|
steal a live lease. Process discovery cannot replace this durable lease.
|
|
55
79
|
|
|
80
|
+
## Wave receipt (record at wave start)
|
|
81
|
+
|
|
82
|
+
Continuations reuse this visible record beside the checkout lease. Validate at
|
|
83
|
+
wave start, after detected drift, and before commit — not before every
|
|
84
|
+
mutation. Resume from it; do not reread every accepted artifact or redispatch
|
|
85
|
+
completed slices.
|
|
86
|
+
|
|
87
|
+
```markdown
|
|
88
|
+
- wave_receipt:
|
|
89
|
+
- wave: <wave id>
|
|
90
|
+
- lease_generation: <generation>
|
|
91
|
+
- branch: <branch>
|
|
92
|
+
- candidate_revision: <revision at last check>
|
|
93
|
+
- authority: <envelope>
|
|
94
|
+
- checked_at: <wave_start | external_change | commit>
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
Stale, forged, or drifted receipts fail closed. Changed HEAD, authority,
|
|
98
|
+
generation, route, or writer overlap forces revalidation or a fresh session.
|
|
99
|
+
|
|
56
100
|
## Always present
|
|
57
101
|
|
|
58
102
|
```markdown
|
|
@@ -67,7 +111,7 @@ steal a live lease. Process discovery cannot replace this durable lease.
|
|
|
67
111
|
Field rules:
|
|
68
112
|
|
|
69
113
|
- `task_id` — stable identifier unique within the plan.
|
|
70
|
-
- `outcome` — approved intent for this task only.
|
|
114
|
+
- `outcome` — approved intent for this task only. Never a role-return token and never copied into `verdict`.
|
|
71
115
|
- `status` — one of `PROPOSED`, `READY`, `WAITING_ON`, `IN_PROGRESS`, `EVIDENCE_READY`, `VALIDATING`, `REVIEWING`, `ACCEPTANCE`, `CORRECTION_REQUIRED`, `OWNER_DECISION_REQUIRED`, `COMPLETE`, `CANCELLED`.
|
|
72
116
|
- `assigned_role` — current role contract for the active step, or unassigned while proposing.
|
|
73
117
|
- `depends_on` — list of other `task_id` values only, never prose.
|
|
@@ -87,14 +131,18 @@ Field rules:
|
|
|
87
131
|
|
|
88
132
|
```markdown
|
|
89
133
|
- candidate_ref: <strongest native revision or changed-path reference available>
|
|
90
|
-
-
|
|
134
|
+
- changed_paths: <paths changed in this candidate>
|
|
135
|
+
- tests: <commands run and observed results>
|
|
136
|
+
- findings: <labeled inferences and gaps>
|
|
137
|
+
- verdict: <closed role-return token>
|
|
91
138
|
- assurance_rounds: <0-1 completed assurance rounds for this Journey>
|
|
92
139
|
```
|
|
93
140
|
|
|
141
|
+
`verdict` is one of `ACCEPT`, `ACCEPT_WITH_FINDINGS`, `BLOCK`, `CANDIDATE_READY`, `FAIL`, `GAPS`, `NEEDS_MORE_EVIDENCE`, `OWNER_DECISION_REQUIRED`, `PARTIAL`, `PASS`, `READY`, `REPAIR_REQUIRED`, `REROUTED`, `WAITING_ON`. Do not copy task `outcome` into `verdict`.
|
|
94
142
|
`candidate_ref` must not claim stronger provenance than the client can prove.
|
|
95
143
|
`assurance_rounds` counts the Journey's single submission to required assurance
|
|
96
144
|
against Bearing Lite `max_assurance_rounds`. A repair or replacement candidate
|
|
97
|
-
does not reset it; only a separately scoped new Journey starts at 0. The parent
|
|
145
|
+
does not reset it; only a separately scoped, materially changed new Journey starts at 0, and a new Journey is not a way around the bound. The parent
|
|
98
146
|
coordinator writes the count before dispatch. If the review permits correction, spend at
|
|
99
147
|
most one remaining `attempts` repair, run deterministic coordinator verification,
|
|
100
148
|
and close the gate without another review. A failed repair or scope change
|
|
@@ -115,4 +163,4 @@ review. Any source or candidate change during deployment is separately scoped.
|
|
|
115
163
|
|
|
116
164
|
## Single-writer reminder
|
|
117
165
|
|
|
118
|
-
Only the parent coordinator updates this block after rereading it. Crewmate, Validator, Park Ranger, and Surveyor return
|
|
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.
|
package/skills/crewmate/SKILL.md
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: crewmate
|
|
3
3
|
description: >
|
|
4
|
-
Implement one approved bounded packet in
|
|
5
|
-
|
|
6
|
-
for
|
|
7
|
-
|
|
4
|
+
Implement one approved bounded packet in an exact write set. Continue the
|
|
5
|
+
same-wave session when identity, authority, route, and generation are
|
|
6
|
+
unchanged. Use for Crewmate, implementation, repair, or integration packets.
|
|
7
|
+
Do not use for orchestration, planning, independent assurance, publication,
|
|
8
|
+
destructive action, owner decisions, or unset scope.
|
|
8
9
|
---
|
|
9
10
|
|
|
10
11
|
# Crewmate
|
|
@@ -14,36 +15,41 @@ Lowest mutation authority and highest hands-on work in the Bearing ladder.
|
|
|
14
15
|
## Inputs and match
|
|
15
16
|
|
|
16
17
|
- **Inputs:** approved baseline, objective, dependencies, exact write set,
|
|
17
|
-
authority, acceptance/SEIT rows, commands,
|
|
18
|
-
and lineup identity from the recorded Journey snapshot.
|
|
18
|
+
authority, acceptance/SEIT rows, commands, stop rule, compact return schema,
|
|
19
|
+
visible wave receipt, and lineup identity from the recorded Journey snapshot.
|
|
19
20
|
- **Match:** one packet is `READY` and every input is fixed.
|
|
20
21
|
- **Non-match:** multi-packet coordination, design gaps, missing authority,
|
|
21
22
|
assurance, or owner-only action.
|
|
22
23
|
|
|
23
24
|
## Algorithm
|
|
24
25
|
|
|
25
|
-
1.
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
26
|
+
1. Continue the current session when repository, worktree, branch, wave
|
|
27
|
+
generation, authority, and route are unchanged. Start a fresh session only
|
|
28
|
+
for a route change, conflicting writer, new authority envelope, independent
|
|
29
|
+
work, or explicit owner choice. Do not infer missing owner choices. Read
|
|
30
|
+
dispatch identities only from the recorded Journey snapshot, never from the
|
|
31
|
+
current global defaults file. Revalidate the visible checkout
|
|
29
32
|
lease against the approved Journey, repository, checkout/worktree, branch,
|
|
30
|
-
candidate revision, generation, and active state
|
|
31
|
-
|
|
33
|
+
candidate revision, generation, and active state at wave start, after
|
|
34
|
+
detected drift, and before commit. Released, stale-generation, forged, or
|
|
32
35
|
branch/HEAD-drifted leases fail closed. Authorized same-Journey
|
|
33
36
|
candidate progress whose parent is the current leased revision refreshes
|
|
34
37
|
candidate_revision on the same generation. On mismatch, return WAITING_ON without writing.
|
|
35
38
|
2. For a verified contract defect, create the smallest failing regression first.
|
|
36
39
|
3. Make the smallest change that satisfies the packet inside the write set.
|
|
37
|
-
|
|
40
|
+
When the packet implements a published standard, verify against the cited
|
|
41
|
+
document and clause before changing code; neighbouring behavior is not the
|
|
42
|
+
authority.
|
|
43
|
+
4. Run assigned focused commands and author self-checks. At-end review never
|
|
38
44
|
removes deterministic testing or grants independent-review identity.
|
|
39
|
-
5. Preserve unrelated work
|
|
45
|
+
5. Preserve unrelated work. Return only the compact receipt.
|
|
40
46
|
6. Stop on acceptance, authority boundary, design gap, or exhausted correction.
|
|
41
47
|
|
|
42
48
|
## Return and recovery
|
|
43
49
|
|
|
44
50
|
Return `CANDIDATE_READY`, `PARTIAL`, `WAITING_ON`, or
|
|
45
|
-
`OWNER_DECISION_REQUIRED` with
|
|
46
|
-
|
|
47
|
-
|
|
51
|
+
`OWNER_DECISION_REQUIRED` with verdict, candidate_ref, changed_paths, tests,
|
|
52
|
+
findings, and blocker. Attempts 1–3 require new evidence, hypothesis, or
|
|
53
|
+
narrower strategy.
|
|
48
54
|
|
|
49
55
|
Never expand scope, self-certify as assurance, publish, or hide a failure.
|
package/skills/explorer/SKILL.md
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: explorer
|
|
3
3
|
description: >
|
|
4
|
-
Own one approved execution wave,
|
|
5
|
-
and integrating their evidence. Use for Explorer
|
|
6
|
-
proven-independent in-wave lanes, or parallel
|
|
7
|
-
for implementation, cross-wave work, planning,
|
|
8
|
-
independent assurance.
|
|
4
|
+
Own one approved execution wave, continuing bounded packets when the
|
|
5
|
+
envelope is unchanged and integrating their evidence. Use for Explorer
|
|
6
|
+
Journey, wave orchestration, proven-independent in-wave lanes, or parallel
|
|
7
|
+
packet sequencing. Do not use for implementation, cross-wave work, planning,
|
|
8
|
+
automatic nesting, or independent assurance.
|
|
9
9
|
---
|
|
10
10
|
|
|
11
11
|
# Explorer
|
|
@@ -15,45 +15,45 @@ Wave authority. Coordinates more and implements less than Crewmate.
|
|
|
15
15
|
## Inputs and match
|
|
16
16
|
|
|
17
17
|
- **Inputs:** approved baseline, wave objective, packet graph, dependencies,
|
|
18
|
-
scope, authority, lineup from the recorded Journey snapshot,
|
|
19
|
-
acceptance, and return schema.
|
|
20
|
-
- **Match:** one wave needs packet sequencing, dispatch, integration, or
|
|
21
|
-
|
|
22
|
-
- **Non-match:** one bounded packet needs no orchestration, multiple waves
|
|
23
|
-
conflict, or assurance alone is requested.
|
|
18
|
+
scope, authority, lineup from the recorded Journey snapshot, visible wave
|
|
19
|
+
receipt, acceptance, and compact return schema.
|
|
20
|
+
- **Match:** one wave needs packet sequencing, dispatch, integration, or proven-independent lane coordination.
|
|
21
|
+
- **Non-match:** one bounded packet needs no orchestration, multiple waves conflict, or assurance alone is requested.
|
|
24
22
|
|
|
25
23
|
## Algorithm
|
|
26
24
|
|
|
27
|
-
1.
|
|
28
|
-
|
|
25
|
+
1. Continue this wave when identity, authority, route, and generation are
|
|
26
|
+
unchanged; otherwise start fresh. Verify wave readiness, packet boundaries,
|
|
27
|
+
dependencies, and approved identities from the recorded Journey snapshot,
|
|
29
28
|
never from the current global defaults file. Revalidate the visible checkout
|
|
30
29
|
lease against the approved Journey, repository, checkout/worktree, branch,
|
|
31
|
-
candidate revision, generation, and active state
|
|
32
|
-
|
|
33
|
-
branch/HEAD-drifted leases fail closed. Authorized same-Journey
|
|
34
|
-
|
|
30
|
+
candidate revision, generation, and active state at wave start, after
|
|
31
|
+
detected drift, and before commit. Released, stale-generation, forged, or
|
|
32
|
+
branch/HEAD-drifted leases fail closed. Authorized same-Journey candidate
|
|
33
|
+
progress whose parent is the current leased revision refreshes
|
|
35
34
|
candidate_revision on the same generation. The same valid lease continues
|
|
36
|
-
without duplicate dispatch.
|
|
35
|
+
without duplicate dispatch. Resume from the visible wave receipt; do not
|
|
36
|
+
reread every accepted artifact or redispatch completed slices.
|
|
37
37
|
2. Use direct Crewmates by default. When two or more lanes are proven
|
|
38
|
-
independent, coordinate those lanes directly inside this wave; never add a
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
`max_assurance_rounds` of 1 from
|
|
48
|
-
repairable, spend at most one
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
38
|
+
independent, coordinate those lanes directly inside this wave; never add a nested coordinator.
|
|
39
|
+
3. Permit Crewmate continuation when the envelope is unchanged. Never pass raw
|
|
40
|
+
conversation history. Independent work, a changed envelope, or owner choice
|
|
41
|
+
starts a fresh Crewmate.
|
|
42
|
+
4. Inspect compact returns against write sets and acceptance; integrate
|
|
43
|
+
evidence without implementing. Update `implementation.md` and `review.html`
|
|
44
|
+
once per wave, plus owner-decision or blocker changes.
|
|
45
|
+
5. Dispatch declared assurance only at-end on the final integrated candidate.
|
|
46
|
+
Expedition waves defer assurance to the Router's final Journey boundary.
|
|
47
|
+
Deterministic checks always run. Honor `max_assurance_rounds` of 1 from
|
|
48
|
+
visible `assurance_rounds`. If the review is repairable, spend at most one
|
|
49
|
+
remaining `attempts` repair, run deterministic coordinator verification,
|
|
50
|
+
and close the gate without another review. A failed repair or scope change
|
|
51
|
+
returns `OWNER_DECISION_REQUIRED` with candidate and count. After Journey
|
|
52
|
+
`COMPLETE`, deployment checks do not reopen assurance.
|
|
52
53
|
|
|
53
54
|
## Return and recovery
|
|
54
55
|
|
|
55
56
|
Return `READY`, `REROUTED`, `WAITING_ON`, or `OWNER_DECISION_REQUIRED` with
|
|
56
|
-
|
|
57
|
-
action, and receiver. Reroute only from new evidence; three attempts per packet.
|
|
57
|
+
verdict, candidate_ref, changed_paths, tests, findings, and blocker. Reroute only from new evidence; three attempts per packet.
|
|
58
58
|
|
|
59
59
|
Never implement, self-assure, select models, or expand the wave.
|
|
@@ -15,7 +15,8 @@ Planning node, not a persona or plan-state writer.
|
|
|
15
15
|
|
|
16
16
|
- **Match:** a material scope, behavior, authority, risk, or acceptance
|
|
17
17
|
decision is unresolved. The Explorer-versus-Expedition route choice is not
|
|
18
|
-
gathered here; the Router asks it at the
|
|
18
|
+
gathered here; the Router asks it at the route review after Map the Route
|
|
19
|
+
maps the implementation graph.
|
|
19
20
|
- **Non-match:** evidence can answer it, the owner already decided it, or a work
|
|
20
21
|
packet is ready.
|
|
21
22
|
- **Inputs:** goal, visible plan state, repository evidence, prior decisions,
|
|
@@ -1,46 +1,57 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: map-the-route
|
|
3
3
|
description: >
|
|
4
|
-
Create or resume Bearing's
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
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
|
|
13
|
-
|
|
14
|
-
##
|
|
15
|
-
|
|
16
|
-
- **
|
|
17
|
-
|
|
18
|
-
- **
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
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`, `
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
rounds; never invent approval
|
|
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.
|
|
11
|
-
|
|
12
|
-
|
|
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.
|
|
19
|
-
|
|
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,
|
|
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
|
|
80
|
-
with internal prospective checks
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
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.
|