devrites 7.3.3 → 7.3.4

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 (46) hide show
  1. package/CHANGELOG.md +26 -3
  2. package/README.md +21 -1
  3. package/docs/cli.md +83 -6
  4. package/docs/command-map.md +2 -2
  5. package/docs/engine/commands.md +8 -3
  6. package/engine/commands.go +1 -1
  7. package/engine/help.go +3 -1
  8. package/engine/internal/lib/continuation.go +33 -4
  9. package/engine/internal/lib/dispatch.go +46 -31
  10. package/engine/internal/lib/frontier.go +808 -0
  11. package/engine/internal/lib/handoff.go +2 -5
  12. package/engine/internal/lib/next.go +10 -0
  13. package/engine/internal/parallel/cli.go +16 -5
  14. package/engine/internal/parallel/ops.go +7 -5
  15. package/engine/internal/parallel/repository.go +13 -0
  16. package/engine/internal/release/release.go +96 -5
  17. package/engine/main.go +4 -0
  18. package/pack/.claude/skills/devrites-lib/reference/parallel-workspaces.md +41 -40
  19. package/pack/.claude/skills/rite-autocomplete/SKILL.md +10 -10
  20. package/pack/.claude/skills/rite-autocomplete/reference/loop.md +6 -6
  21. package/pack/.claude/skills/rite-build/reference/parallel-batch.md +7 -7
  22. package/pack/generated/claude/skills/devrites-lib/reference/parallel-workspaces.md +41 -40
  23. package/pack/generated/claude/skills/rite-autocomplete/SKILL.md +10 -10
  24. package/pack/generated/claude/skills/rite-autocomplete/reference/loop.md +6 -6
  25. package/pack/generated/claude/skills/rite-build/reference/parallel-batch.md +7 -7
  26. package/pack/generated/codex/skills/devrites-lib/reference/parallel-workspaces.md +41 -40
  27. package/pack/generated/codex/skills/rite-autocomplete/SKILL.md +10 -10
  28. package/pack/generated/codex/skills/rite-autocomplete/reference/loop.md +6 -6
  29. package/pack/generated/codex/skills/rite-build/reference/parallel-batch.md +7 -7
  30. package/pack/generated/devin/skills/devrites-lib/reference/parallel-workspaces.md +41 -40
  31. package/pack/generated/devin/skills/rite-autocomplete/SKILL.md +10 -10
  32. package/pack/generated/devin/skills/rite-autocomplete/reference/loop.md +6 -6
  33. package/pack/generated/devin/skills/rite-build/reference/parallel-batch.md +7 -7
  34. package/pack/generated/dsh/skills/devrites-lib/reference/parallel-workspaces.md +41 -40
  35. package/pack/generated/dsh/skills/rite-autocomplete/SKILL.md +10 -10
  36. package/pack/generated/dsh/skills/rite-autocomplete/reference/loop.md +6 -6
  37. package/pack/generated/dsh/skills/rite-build/reference/parallel-batch.md +7 -7
  38. package/pack/generated/omp/skills/devrites-lib/reference/parallel-workspaces.md +41 -40
  39. package/pack/generated/omp/skills/rite-autocomplete/SKILL.md +10 -10
  40. package/pack/generated/omp/skills/rite-autocomplete/reference/loop.md +6 -6
  41. package/pack/generated/omp/skills/rite-build/reference/parallel-batch.md +7 -7
  42. package/pack/generated/pi/skills/devrites-lib/reference/parallel-workspaces.md +41 -40
  43. package/pack/generated/pi/skills/rite-autocomplete/SKILL.md +10 -10
  44. package/pack/generated/pi/skills/rite-autocomplete/reference/loop.md +6 -6
  45. package/pack/generated/pi/skills/rite-build/reference/parallel-batch.md +7 -7
  46. package/package.json +1 -1
@@ -74,12 +74,12 @@ Workspace files, not chat, carry state. Read/execute each phase skill:
74
74
  | 10 | `/rite-seal` | GO/NO-GO; no Git |
75
75
  | 11 | `/rite-ship` | only after GO; `--ship` never authorizes Git; stop at literal-GO/native approval |
76
76
 
77
- At every phase entry, before cold/local recovery, on reviewer/planning returns and
78
- before native waits, Autocomplete executes the bounded
79
- [global frontier pass](../../devrites-lib/reference/parallel-workspaces.md#continuous-global-frontier).
80
- Keep source-local return cursors and pending handles; apply its protected
81
- validation window before accepting accounts or landing work. This scheduling
82
- precedes owner Seal and does not change ordered handoff below.
77
+ At phase entry, before cold/local recovery, on landing/reviewer/planning returns
78
+ and before native waits, run `devrites-engine frontier <source>` and execute the
79
+ shared [global frontier pass](../../devrites-lib/reference/parallel-workspaces.md#continuous-global-frontier).
80
+ Its report requires authorized preparation/Vet and mixed selection, not a pause.
81
+ Preserve local cursors, pending handles and protected validation windows;
82
+ scheduling precedes owner Seal without changing ordered handoff below.
83
83
 
84
84
  Check [stop-conditions.md](stop-conditions.md) before advancing. Discard stale
85
85
  pass evidence after source edits. Re-read the selected source before each phase per [phase target binding](../../devrites-lib/reference/parallel-workspaces.md#phase-target-binding). On a cold resume or
@@ -4,11 +4,11 @@
4
4
 
5
5
  Opt-in only. Default `/rite-build` stays [`one-slice-cycle.md`](one-slice-cycle.md).
6
6
 
7
- Autocomplete first executes shared
8
- [`parallel-workspaces.md`](../../devrites-lib/reference/parallel-workspaces.md):
9
- it owns global admission, authorized source discovery and controller routing.
10
- The local selection below applies to standalone Build; mixed selection uses
11
- that reference and then this same per-slice review/repair/integration lifecycle.
7
+ Autocomplete runs `devrites-engine frontier <source>` and executes shared
8
+ [`parallel-workspaces.md`](../../devrites-lib/reference/parallel-workspaces.md#continuous-global-frontier):
9
+ it owns preparation, global admission and controller routing. Standalone Build
10
+ stays source-local; frontier notices from `parallel select --from-plan` do not
11
+ expand its picks. Autocomplete consumes `frontier-select-command`, then this lifecycle.
12
12
 
13
13
  ## Entry
14
14
 
@@ -161,8 +161,8 @@ means controller; CLI lease `--slice` uses source-qualified foreign keys.
161
161
  (imperative summary, never a slice id). Staging branch, durable exact landing
162
162
  intent, then FF; retry the same operation after interrupted persistence.
163
163
  The engine reconciles only that recorded landing and refuses unrelated
164
- HEAD/ref movement. Conflict → `integrate-failed`; classify under repair rounds
165
- (siblings stay in place).
164
+ HEAD/ref movement. Conflict → `integrate-failed`; repair in place, retaining
165
+ slot/paths while independent safe landings/refill continue.
166
166
  Never integrate because a wright returned.
167
167
  7. Each landing: FF control (the branch that held `HEAD` when the batch started —
168
168
  often `main`/`master`, otherwise whatever the user was on) by one local commit,
@@ -37,17 +37,16 @@ handles before admitting more work; status queried via ACTIVE/source reports the
37
37
  actual retained controller even after ordered handoff. Another retained
38
38
  controller is not bypassable; no extra cursor pointer is needed.
39
39
 
40
- The existing `--parallel N` is one global active-writer cap across all sources:
40
+ The existing `--parallel N` is one global active-writer cap, not a target guarantee:
41
41
  explicit invocation value, else AFK `max_parallel`, else retained lease capacity
42
42
  on resume, else 10. Explicit 1 means one writer, not one writer per workspace.
43
- Review queues obey host capacity and existing reviewer caps separately; they never
44
- erase required specialist accounts.
45
-
46
- Discover only recorded forward sequence continuations through `sequence_parent`
47
- and the parent's recorded objectives. Honor `continue_sequence: false`, opening
48
- budget and human bounded requests. Charge each opening once; reuse prepared
49
- children and their cursor rather than re-specifying or charging them again.
50
- An unrelated directory or user-mentioned slug is not automatic enrollment.
43
+ Review queues obey host capacity and existing reviewer caps separately; neither
44
+ capacity nor a Reslice cap waiver waives required named-role fanout or proof gates.
45
+
46
+ Use the engine frontier below for recorded source-related sequence membership.
47
+ Honor `continue_sequence: false`, opening budget and human bounded requests.
48
+ Charge each opening once; reuse prepared children and their cursor.
49
+ Unrelated directories or user-mentioned slugs are not automatic enrollment.
51
50
  Respect workspace claims: a live lookahead owner retains its artifacts until
52
51
  release/terminal reconciliation. Root alone writes workspace artifacts; leaves
53
52
  never write `.devrites/**`.
@@ -116,35 +115,37 @@ returns scheduling to Autocomplete; its source-local phase/recovery return curso
116
115
  and pending native reviewer handles remain intact. This is not a second phase
117
116
  controller or a persistent frontier artifact.
118
117
 
119
- 1. Re-read controller lease, per-source state/questions/readiness and authorized
120
- sequence. Examine every recorded authorized source once per pass, not only
121
- the owner's next local slice or first blocked child. Prepare absent targets
122
- through authorized native Spec → Clarify → Temper → Define/Plan → Vet; repair
123
- and re-Vet current readiness of prepared targets now, not after owner Seal.
124
- Assess actual source gates, claims and explicit planning/Build restrictions
125
- before routing. Owner-local red/human/access gates withhold that owner or its
126
- actual consumers, not independent authorized planning; true whole-run safety,
127
- access and claim constraints still bind. Retain concrete actions or blockers
118
+ 1. Run `devrites-engine frontier <source>` before local recovery or selection.
119
+ This read-only report names the related pool, preparation/repair actions and
120
+ blockers; it neither authorizes work nor changes the source's local cursor.
121
+ For `frontier-prepare` and `frontier-workspace` prepare/repair actions, execute
122
+ authorized native Spec → Clarify → Temper → Define/Plan → affected Vet now,
123
+ not after owner Seal. Check source gates, claims and planning/Build restrictions.
124
+ For `frontier-review-sequence`, read the named approved roadmap/artifacts:
125
+ native authority normalization must record the exact continuation through its
126
+ owning decision/phase before rerunning frontier. Ambiguous legacy prose,
127
+ positive remaining budget and path disjointness never imply permission.
128
+ Retain unresolved authority blockers; continue independent authorized work.
129
+ Owner-local red/human/access gates withhold that owner and actual consumers;
130
+ whole-run safety/access/claim constraints still bind. Record actions/blockers
128
131
  in existing source artifacts under normal write authority.
129
- Yield a child at its pending reviewer/phase boundary back to this controller;
130
- never recursively wait for child completion while parent returns are pending.
131
- Reconcile available parent returns before another pass. A native wait is
132
- justified only after concrete authorized actions/blockers across the pool
133
- have been examined; reading later phase skills is not pending Plan/Vet work.
134
- If an explicit/AFK capacity change differs from retained capacity, reconcile it
135
- before selection using `parallel add --root <repo> --slug <controller> --cap N --json -`
136
- with stdin `[]`. This changes capacity only, not workers or a complete lease's
137
- status. A decrease below active count refuses: pause admissions and drain to
138
- the requested count, then retry; never cancel workers to meet a lower cap.
139
- A pending landing is recovery, not free capacity: retry the exact recorded
140
- integrate before admission; unrelated HEAD/ref movement remains blocked.
141
- 2. Query the mixed pool in stable sequence order, controller first (the ordered
142
- ACTIVE owner may now differ):
143
- `devrites-engine parallel select --root <repo> --slug <controller> --from-plan --workspaces <controller,authorized-source,...> --cap N`.
144
- `--workspaces` is an internal data-source parameter, not a user feature flag.
145
- Read all notices and route repair/waits to their source. Existing running slots
146
- and paths seed selection globally. Zero new picks with live writers means keep
147
- planning/reviewing or wait, not Prove for those unfinished sources.
132
+ Yield children at pending reviewer/phase boundaries; reconcile available
133
+ parent returns before another pass. Reporting actions or reading phase skills
134
+ is not executing preparation/Vet. Wait only after authorized actions across
135
+ the pool have run or reached concrete pending handles/blockers.
136
+ 2. Reconcile explicit/AFK capacity changes with
137
+ `parallel add --root <repo> --slug <controller> --cap N --json -`, stdin `[]`.
138
+ This changes capacity only. Below active count, pause admissions, drain and
139
+ retry; never cancel workers to meet a lower cap. Recover a pending recorded
140
+ landing before admission; unrelated HEAD/ref movement remains blocked.
141
+ Rerun frontier after preparation/repair or capacity changes. Execute returned
142
+ `frontier-select-command` with only authorized live `--workspaces`: this exact
143
+ candidate list includes the `--slug` controller only when eligible. This is
144
+ internal, not a new user flag. `frontier: none` retains source-local routing.
145
+ Source-local `parallel select --from-plan` notices neither select globally nor
146
+ expand picks. Route notices to their source; running slots/paths seed mixed
147
+ selection globally. Zero picks with live writers means continue planning/review
148
+ or wait, not Prove for unfinished sources.
148
149
  3. Preflight selected slices against their SOURCE workspace with Build's normal
149
150
  slice/readiness/precondition, exact-path and runtime-isolation gates. Early
150
151
  foreign Build always uses isolated workers. For cap>1 on a capable host,
@@ -160,9 +161,9 @@ controller or a persistent frontier artifact.
160
161
  landing: defer control mutations while frozen validation is pending. Outside
161
162
  that window, land each individually green sibling through Build review/proof
162
163
  and `parallel integrate --slice <key>`; refill immediately from the whole pool.
163
- A red sibling repairs in place and holds its slot/paths; it does not delay
164
- independent safe landings. Never satisfy a producer edge on writer return or
165
- green-but-unlanded work.
164
+ A red or `integrate-failed` sibling retains its slot/paths for repair; it does
165
+ not halt independent safe landings/refill. A pending landing intent still
166
+ requires exact recovery above. Only durable integration satisfies producer edges.
166
167
  After worker-bound review/proof and source bookkeeping finish, prune only
167
168
  verified clean integrated checkouts with `parallel prune --root <repo>
168
169
  --slug <controller>`. Retain transfer refs/lease identities; dirty or ignored
@@ -88,9 +88,9 @@ next sequence continuation through Vet in a second session, then stop.
88
88
 
89
89
  1. **Orient and parse.** Resolve source per [phase target binding](../devrites-lib/reference/parallel-workspaces.md#phase-target-binding); when a workspace exists,
90
90
  require its `state.md` and read its cursor; a fresh idea starts empty at step 2.
91
- Before phase-local cold recovery, execute the bounded
92
- [global frontier pass](../devrites-lib/reference/parallel-workspaces.md#continuous-global-frontier);
93
- retain this source's return cursor and pending reviewer handles.
91
+ After normalizing arguments below, run `devrites-engine frontier <source>`
92
+ before phase-local cold recovery; execute its actions under the shared
93
+ [global frontier pass](../devrites-lib/reference/parallel-workspaces.md#continuous-global-frontier).
94
94
  Before honoring `blocked` with terminal `next_action`,
95
95
  reconcile retained consumptive evidence and fingerprint attempts from
96
96
  `drift.md`/`evidence.md`; a retained fingerprint below its cap resumes offline
@@ -104,7 +104,7 @@ next sequence continuation through Vet in a second session, then stop.
104
104
  Normalize current arguments to idea, `ship_preflight: yes|no`,
105
105
  `max_slices: unlimited`, `parallel: N|default`, `profile: standard|full`,
106
106
  and `cross_model: yes|no`.
107
- **Completion:** normalized state is unambiguous and no sentinel or workspace file has been written.
107
+ **Completion:** arguments and source authority are unambiguous; local cursor and pending handles remain intact.
108
108
  2. **Specify and clarify.** Run `devrites-interview`, `/rite-spec`, and
109
109
  `/rite-clarify` as one window. `open` material coverage never arms
110
110
  AFK. **Completion:** `Decision coverage: CLEAR` is durable.
@@ -121,12 +121,12 @@ next sequence continuation through Vet in a second session, then stop.
121
121
  `/rite-build` batch loop → `/rite-prove` → `/rite-polish` →
122
122
  `/rite-review` → `/rite-seal`. Read and execute each skill; durable files, not
123
123
  chat, carry state. Apply the mutable post-vet budget before first Build.
124
- Execute the shared [global frontier pass](../devrites-lib/reference/parallel-workspaces.md#continuous-global-frontier)
125
- at phase entry, before recovery, on returns and before native waits, not only
126
- during Build or after Seal. Preserve source-local phase cursors; Autocomplete
127
- retains repository scheduling. Apply its protected validation window before
128
- landings/checkpoints and account admission. Pass resolved `--parallel N` to
129
- Build under its one global cap and existing admission/isolation gates.
124
+ Run `devrites-engine frontier <source>` at phase entry, before recovery,
125
+ on returns and before native waits; execute the shared
126
+ [global frontier pass](../devrites-lib/reference/parallel-workspaces.md#continuous-global-frontier),
127
+ not merely its report. Autocomplete retains repository scheduling and local
128
+ cursors. Apply its protected validation window and pass resolved `--parallel N`
129
+ to Build under the same global cap and admission/isolation gates.
130
130
  **Completion:** loop reaches Seal GO or persists a valid stop before any later phase.
131
131
  5. **Apply stops.** At every gate use
132
132
  [stop-conditions.md](reference/stop-conditions.md). A `blocked` label alone is not a stop condition:
@@ -74,12 +74,12 @@ Workspace files, not chat, carry state. Read/execute each phase skill:
74
74
  | 10 | `/rite-seal` | GO/NO-GO; no Git |
75
75
  | 11 | `/rite-ship` | only after GO; `--ship` never authorizes Git; stop at literal-GO/native approval |
76
76
 
77
- At every phase entry, before cold/local recovery, on reviewer/planning returns and
78
- before native waits, Autocomplete executes the bounded
79
- [global frontier pass](../../devrites-lib/reference/parallel-workspaces.md#continuous-global-frontier).
80
- Keep source-local return cursors and pending handles; apply its protected
81
- validation window before accepting accounts or landing work. This scheduling
82
- precedes owner Seal and does not change ordered handoff below.
77
+ At phase entry, before cold/local recovery, on landing/reviewer/planning returns
78
+ and before native waits, run `devrites-engine frontier <source>` and execute the
79
+ shared [global frontier pass](../../devrites-lib/reference/parallel-workspaces.md#continuous-global-frontier).
80
+ Its report requires authorized preparation/Vet and mixed selection, not a pause.
81
+ Preserve local cursors, pending handles and protected validation windows;
82
+ scheduling precedes owner Seal without changing ordered handoff below.
83
83
 
84
84
  Check [stop-conditions.md](stop-conditions.md) before advancing. Discard stale
85
85
  pass evidence after source edits. Re-read the selected source before each phase per [phase target binding](../../devrites-lib/reference/parallel-workspaces.md#phase-target-binding). On a cold resume or
@@ -4,11 +4,11 @@
4
4
 
5
5
  Opt-in only. Default `/rite-build` stays [`one-slice-cycle.md`](one-slice-cycle.md).
6
6
 
7
- Autocomplete first executes shared
8
- [`parallel-workspaces.md`](../../devrites-lib/reference/parallel-workspaces.md):
9
- it owns global admission, authorized source discovery and controller routing.
10
- The local selection below applies to standalone Build; mixed selection uses
11
- that reference and then this same per-slice review/repair/integration lifecycle.
7
+ Autocomplete runs `devrites-engine frontier <source>` and executes shared
8
+ [`parallel-workspaces.md`](../../devrites-lib/reference/parallel-workspaces.md#continuous-global-frontier):
9
+ it owns preparation, global admission and controller routing. Standalone Build
10
+ stays source-local; frontier notices from `parallel select --from-plan` do not
11
+ expand its picks. Autocomplete consumes `frontier-select-command`, then this lifecycle.
12
12
 
13
13
  ## Entry
14
14
 
@@ -161,8 +161,8 @@ means controller; CLI lease `--slice` uses source-qualified foreign keys.
161
161
  (imperative summary, never a slice id). Staging branch, durable exact landing
162
162
  intent, then FF; retry the same operation after interrupted persistence.
163
163
  The engine reconciles only that recorded landing and refuses unrelated
164
- HEAD/ref movement. Conflict → `integrate-failed`; classify under repair rounds
165
- (siblings stay in place).
164
+ HEAD/ref movement. Conflict → `integrate-failed`; repair in place, retaining
165
+ slot/paths while independent safe landings/refill continue.
166
166
  Never integrate because a wright returned.
167
167
  7. Each landing: FF control (the branch that held `HEAD` when the batch started —
168
168
  often `main`/`master`, otherwise whatever the user was on) by one local commit,
@@ -37,17 +37,16 @@ handles before admitting more work; status queried via ACTIVE/source reports the
37
37
  actual retained controller even after ordered handoff. Another retained
38
38
  controller is not bypassable; no extra cursor pointer is needed.
39
39
 
40
- The existing `--parallel N` is one global active-writer cap across all sources:
40
+ The existing `--parallel N` is one global active-writer cap, not a target guarantee:
41
41
  explicit invocation value, else AFK `max_parallel`, else retained lease capacity
42
42
  on resume, else 10. Explicit 1 means one writer, not one writer per workspace.
43
- Review queues obey host capacity and existing reviewer caps separately; they never
44
- erase required specialist accounts.
45
-
46
- Discover only recorded forward sequence continuations through `sequence_parent`
47
- and the parent's recorded objectives. Honor `continue_sequence: false`, opening
48
- budget and human bounded requests. Charge each opening once; reuse prepared
49
- children and their cursor rather than re-specifying or charging them again.
50
- An unrelated directory or user-mentioned slug is not automatic enrollment.
43
+ Review queues obey host capacity and existing reviewer caps separately; neither
44
+ capacity nor a Reslice cap waiver waives required named-role fanout or proof gates.
45
+
46
+ Use the engine frontier below for recorded source-related sequence membership.
47
+ Honor `continue_sequence: false`, opening budget and human bounded requests.
48
+ Charge each opening once; reuse prepared children and their cursor.
49
+ Unrelated directories or user-mentioned slugs are not automatic enrollment.
51
50
  Respect workspace claims: a live lookahead owner retains its artifacts until
52
51
  release/terminal reconciliation. Root alone writes workspace artifacts; leaves
53
52
  never write `.devrites/**`.
@@ -116,35 +115,37 @@ returns scheduling to Autocomplete; its source-local phase/recovery return curso
116
115
  and pending native reviewer handles remain intact. This is not a second phase
117
116
  controller or a persistent frontier artifact.
118
117
 
119
- 1. Re-read controller lease, per-source state/questions/readiness and authorized
120
- sequence. Examine every recorded authorized source once per pass, not only
121
- the owner's next local slice or first blocked child. Prepare absent targets
122
- through authorized native Spec → Clarify → Temper → Define/Plan → Vet; repair
123
- and re-Vet current readiness of prepared targets now, not after owner Seal.
124
- Assess actual source gates, claims and explicit planning/Build restrictions
125
- before routing. Owner-local red/human/access gates withhold that owner or its
126
- actual consumers, not independent authorized planning; true whole-run safety,
127
- access and claim constraints still bind. Retain concrete actions or blockers
118
+ 1. Run `devrites-engine frontier <source>` before local recovery or selection.
119
+ This read-only report names the related pool, preparation/repair actions and
120
+ blockers; it neither authorizes work nor changes the source's local cursor.
121
+ For `frontier-prepare` and `frontier-workspace` prepare/repair actions, execute
122
+ authorized native Spec → Clarify → Temper → Define/Plan → affected Vet now,
123
+ not after owner Seal. Check source gates, claims and planning/Build restrictions.
124
+ For `frontier-review-sequence`, read the named approved roadmap/artifacts:
125
+ native authority normalization must record the exact continuation through its
126
+ owning decision/phase before rerunning frontier. Ambiguous legacy prose,
127
+ positive remaining budget and path disjointness never imply permission.
128
+ Retain unresolved authority blockers; continue independent authorized work.
129
+ Owner-local red/human/access gates withhold that owner and actual consumers;
130
+ whole-run safety/access/claim constraints still bind. Record actions/blockers
128
131
  in existing source artifacts under normal write authority.
129
- Yield a child at its pending reviewer/phase boundary back to this controller;
130
- never recursively wait for child completion while parent returns are pending.
131
- Reconcile available parent returns before another pass. A native wait is
132
- justified only after concrete authorized actions/blockers across the pool
133
- have been examined; reading later phase skills is not pending Plan/Vet work.
134
- If an explicit/AFK capacity change differs from retained capacity, reconcile it
135
- before selection using `parallel add --root <repo> --slug <controller> --cap N --json -`
136
- with stdin `[]`. This changes capacity only, not workers or a complete lease's
137
- status. A decrease below active count refuses: pause admissions and drain to
138
- the requested count, then retry; never cancel workers to meet a lower cap.
139
- A pending landing is recovery, not free capacity: retry the exact recorded
140
- integrate before admission; unrelated HEAD/ref movement remains blocked.
141
- 2. Query the mixed pool in stable sequence order, controller first (the ordered
142
- ACTIVE owner may now differ):
143
- `devrites-engine parallel select --root <repo> --slug <controller> --from-plan --workspaces <controller,authorized-source,...> --cap N`.
144
- `--workspaces` is an internal data-source parameter, not a user feature flag.
145
- Read all notices and route repair/waits to their source. Existing running slots
146
- and paths seed selection globally. Zero new picks with live writers means keep
147
- planning/reviewing or wait, not Prove for those unfinished sources.
132
+ Yield children at pending reviewer/phase boundaries; reconcile available
133
+ parent returns before another pass. Reporting actions or reading phase skills
134
+ is not executing preparation/Vet. Wait only after authorized actions across
135
+ the pool have run or reached concrete pending handles/blockers.
136
+ 2. Reconcile explicit/AFK capacity changes with
137
+ `parallel add --root <repo> --slug <controller> --cap N --json -`, stdin `[]`.
138
+ This changes capacity only. Below active count, pause admissions, drain and
139
+ retry; never cancel workers to meet a lower cap. Recover a pending recorded
140
+ landing before admission; unrelated HEAD/ref movement remains blocked.
141
+ Rerun frontier after preparation/repair or capacity changes. Execute returned
142
+ `frontier-select-command` with only authorized live `--workspaces`: this exact
143
+ candidate list includes the `--slug` controller only when eligible. This is
144
+ internal, not a new user flag. `frontier: none` retains source-local routing.
145
+ Source-local `parallel select --from-plan` notices neither select globally nor
146
+ expand picks. Route notices to their source; running slots/paths seed mixed
147
+ selection globally. Zero picks with live writers means continue planning/review
148
+ or wait, not Prove for unfinished sources.
148
149
  3. Preflight selected slices against their SOURCE workspace with Build's normal
149
150
  slice/readiness/precondition, exact-path and runtime-isolation gates. Early
150
151
  foreign Build always uses isolated workers. For cap>1 on a capable host,
@@ -160,9 +161,9 @@ controller or a persistent frontier artifact.
160
161
  landing: defer control mutations while frozen validation is pending. Outside
161
162
  that window, land each individually green sibling through Build review/proof
162
163
  and `parallel integrate --slice <key>`; refill immediately from the whole pool.
163
- A red sibling repairs in place and holds its slot/paths; it does not delay
164
- independent safe landings. Never satisfy a producer edge on writer return or
165
- green-but-unlanded work.
164
+ A red or `integrate-failed` sibling retains its slot/paths for repair; it does
165
+ not halt independent safe landings/refill. A pending landing intent still
166
+ requires exact recovery above. Only durable integration satisfies producer edges.
166
167
  After worker-bound review/proof and source bookkeeping finish, prune only
167
168
  verified clean integrated checkouts with `parallel prune --root <repo>
168
169
  --slug <controller>`. Retain transfer refs/lease identities; dirty or ignored
@@ -88,9 +88,9 @@ next sequence continuation through Vet in a second session, then stop.
88
88
 
89
89
  1. **Orient and parse.** Resolve source per [phase target binding](skill://devrites-lib/reference/parallel-workspaces.md#phase-target-binding); when a workspace exists,
90
90
  require its `state.md` and read its cursor; a fresh idea starts empty at step 2.
91
- Before phase-local cold recovery, execute the bounded
92
- [global frontier pass](skill://devrites-lib/reference/parallel-workspaces.md#continuous-global-frontier);
93
- retain this source's return cursor and pending reviewer handles.
91
+ After normalizing arguments below, run `devrites-engine frontier <source>`
92
+ before phase-local cold recovery; execute its actions under the shared
93
+ [global frontier pass](skill://devrites-lib/reference/parallel-workspaces.md#continuous-global-frontier).
94
94
  Before honoring `blocked` with terminal `next_action`,
95
95
  reconcile retained consumptive evidence and fingerprint attempts from
96
96
  `drift.md`/`evidence.md`; a retained fingerprint below its cap resumes offline
@@ -104,7 +104,7 @@ next sequence continuation through Vet in a second session, then stop.
104
104
  Normalize current arguments to idea, `ship_preflight: yes|no`,
105
105
  `max_slices: unlimited`, `parallel: N|default`, `profile: standard|full`,
106
106
  and `cross_model: yes|no`.
107
- **Completion:** normalized state is unambiguous and no sentinel or workspace file has been written.
107
+ **Completion:** arguments and source authority are unambiguous; local cursor and pending handles remain intact.
108
108
  2. **Specify and clarify.** Run `devrites-interview`, `/rite-spec`, and
109
109
  `/rite-clarify` as one window. `open` material coverage never arms
110
110
  AFK. **Completion:** `Decision coverage: CLEAR` is durable.
@@ -121,12 +121,12 @@ next sequence continuation through Vet in a second session, then stop.
121
121
  `/rite-build` batch loop → `/rite-prove` → `/rite-polish` →
122
122
  `/rite-review` → `/rite-seal`. Read and execute each skill; durable files, not
123
123
  chat, carry state. Apply the mutable post-vet budget before first Build.
124
- Execute the shared [global frontier pass](skill://devrites-lib/reference/parallel-workspaces.md#continuous-global-frontier)
125
- at phase entry, before recovery, on returns and before native waits, not only
126
- during Build or after Seal. Preserve source-local phase cursors; Autocomplete
127
- retains repository scheduling. Apply its protected validation window before
128
- landings/checkpoints and account admission. Pass resolved `--parallel N` to
129
- Build under its one global cap and existing admission/isolation gates.
124
+ Run `devrites-engine frontier <source>` at phase entry, before recovery,
125
+ on returns and before native waits; execute the shared
126
+ [global frontier pass](skill://devrites-lib/reference/parallel-workspaces.md#continuous-global-frontier),
127
+ not merely its report. Autocomplete retains repository scheduling and local
128
+ cursors. Apply its protected validation window and pass resolved `--parallel N`
129
+ to Build under the same global cap and admission/isolation gates.
130
130
  **Completion:** loop reaches Seal GO or persists a valid stop before any later phase.
131
131
  5. **Apply stops.** At every gate use
132
132
  [stop-conditions.md](reference/stop-conditions.md). A `blocked` label alone is not a stop condition:
@@ -74,12 +74,12 @@ Workspace files, not chat, carry state. Read/execute each phase skill:
74
74
  | 10 | `/rite-seal` | GO/NO-GO; no Git |
75
75
  | 11 | `/rite-ship` | only after GO; `--ship` never authorizes Git; stop at literal-GO/native approval |
76
76
 
77
- At every phase entry, before cold/local recovery, on reviewer/planning returns and
78
- before native waits, Autocomplete executes the bounded
79
- [global frontier pass](skill://devrites-lib/reference/parallel-workspaces.md#continuous-global-frontier).
80
- Keep source-local return cursors and pending handles; apply its protected
81
- validation window before accepting accounts or landing work. This scheduling
82
- precedes owner Seal and does not change ordered handoff below.
77
+ At phase entry, before cold/local recovery, on landing/reviewer/planning returns
78
+ and before native waits, run `devrites-engine frontier <source>` and execute the
79
+ shared [global frontier pass](skill://devrites-lib/reference/parallel-workspaces.md#continuous-global-frontier).
80
+ Its report requires authorized preparation/Vet and mixed selection, not a pause.
81
+ Preserve local cursors, pending handles and protected validation windows;
82
+ scheduling precedes owner Seal without changing ordered handoff below.
83
83
 
84
84
  Check [stop-conditions.md](stop-conditions.md) before advancing. Discard stale
85
85
  pass evidence after source edits. Re-read the selected source before each phase per [phase target binding](skill://devrites-lib/reference/parallel-workspaces.md#phase-target-binding). On a cold resume or
@@ -4,11 +4,11 @@
4
4
 
5
5
  Opt-in only. Default `/rite-build` stays [`one-slice-cycle.md`](one-slice-cycle.md).
6
6
 
7
- Autocomplete first executes shared
8
- [`parallel-workspaces.md`](skill://devrites-lib/reference/parallel-workspaces.md):
9
- it owns global admission, authorized source discovery and controller routing.
10
- The local selection below applies to standalone Build; mixed selection uses
11
- that reference and then this same per-slice review/repair/integration lifecycle.
7
+ Autocomplete runs `devrites-engine frontier <source>` and executes shared
8
+ [`parallel-workspaces.md`](skill://devrites-lib/reference/parallel-workspaces.md#continuous-global-frontier):
9
+ it owns preparation, global admission and controller routing. Standalone Build
10
+ stays source-local; frontier notices from `parallel select --from-plan` do not
11
+ expand its picks. Autocomplete consumes `frontier-select-command`, then this lifecycle.
12
12
 
13
13
  ## Entry
14
14
 
@@ -161,8 +161,8 @@ means controller; CLI lease `--slice` uses source-qualified foreign keys.
161
161
  (imperative summary, never a slice id). Staging branch, durable exact landing
162
162
  intent, then FF; retry the same operation after interrupted persistence.
163
163
  The engine reconciles only that recorded landing and refuses unrelated
164
- HEAD/ref movement. Conflict → `integrate-failed`; classify under repair rounds
165
- (siblings stay in place).
164
+ HEAD/ref movement. Conflict → `integrate-failed`; repair in place, retaining
165
+ slot/paths while independent safe landings/refill continue.
166
166
  Never integrate because a wright returned.
167
167
  7. Each landing: FF control (the branch that held `HEAD` when the batch started —
168
168
  often `main`/`master`, otherwise whatever the user was on) by one local commit,
@@ -37,17 +37,16 @@ handles before admitting more work; status queried via ACTIVE/source reports the
37
37
  actual retained controller even after ordered handoff. Another retained
38
38
  controller is not bypassable; no extra cursor pointer is needed.
39
39
 
40
- The existing `--parallel N` is one global active-writer cap across all sources:
40
+ The existing `--parallel N` is one global active-writer cap, not a target guarantee:
41
41
  explicit invocation value, else AFK `max_parallel`, else retained lease capacity
42
42
  on resume, else 10. Explicit 1 means one writer, not one writer per workspace.
43
- Review queues obey host capacity and existing reviewer caps separately; they never
44
- erase required specialist accounts.
45
-
46
- Discover only recorded forward sequence continuations through `sequence_parent`
47
- and the parent's recorded objectives. Honor `continue_sequence: false`, opening
48
- budget and human bounded requests. Charge each opening once; reuse prepared
49
- children and their cursor rather than re-specifying or charging them again.
50
- An unrelated directory or user-mentioned slug is not automatic enrollment.
43
+ Review queues obey host capacity and existing reviewer caps separately; neither
44
+ capacity nor a Reslice cap waiver waives required named-role fanout or proof gates.
45
+
46
+ Use the engine frontier below for recorded source-related sequence membership.
47
+ Honor `continue_sequence: false`, opening budget and human bounded requests.
48
+ Charge each opening once; reuse prepared children and their cursor.
49
+ Unrelated directories or user-mentioned slugs are not automatic enrollment.
51
50
  Respect workspace claims: a live lookahead owner retains its artifacts until
52
51
  release/terminal reconciliation. Root alone writes workspace artifacts; leaves
53
52
  never write `.devrites/**`.
@@ -116,35 +115,37 @@ returns scheduling to Autocomplete; its source-local phase/recovery return curso
116
115
  and pending native reviewer handles remain intact. This is not a second phase
117
116
  controller or a persistent frontier artifact.
118
117
 
119
- 1. Re-read controller lease, per-source state/questions/readiness and authorized
120
- sequence. Examine every recorded authorized source once per pass, not only
121
- the owner's next local slice or first blocked child. Prepare absent targets
122
- through authorized native Spec → Clarify → Temper → Define/Plan → Vet; repair
123
- and re-Vet current readiness of prepared targets now, not after owner Seal.
124
- Assess actual source gates, claims and explicit planning/Build restrictions
125
- before routing. Owner-local red/human/access gates withhold that owner or its
126
- actual consumers, not independent authorized planning; true whole-run safety,
127
- access and claim constraints still bind. Retain concrete actions or blockers
118
+ 1. Run `devrites-engine frontier <source>` before local recovery or selection.
119
+ This read-only report names the related pool, preparation/repair actions and
120
+ blockers; it neither authorizes work nor changes the source's local cursor.
121
+ For `frontier-prepare` and `frontier-workspace` prepare/repair actions, execute
122
+ authorized native Spec → Clarify → Temper → Define/Plan → affected Vet now,
123
+ not after owner Seal. Check source gates, claims and planning/Build restrictions.
124
+ For `frontier-review-sequence`, read the named approved roadmap/artifacts:
125
+ native authority normalization must record the exact continuation through its
126
+ owning decision/phase before rerunning frontier. Ambiguous legacy prose,
127
+ positive remaining budget and path disjointness never imply permission.
128
+ Retain unresolved authority blockers; continue independent authorized work.
129
+ Owner-local red/human/access gates withhold that owner and actual consumers;
130
+ whole-run safety/access/claim constraints still bind. Record actions/blockers
128
131
  in existing source artifacts under normal write authority.
129
- Yield a child at its pending reviewer/phase boundary back to this controller;
130
- never recursively wait for child completion while parent returns are pending.
131
- Reconcile available parent returns before another pass. A native wait is
132
- justified only after concrete authorized actions/blockers across the pool
133
- have been examined; reading later phase skills is not pending Plan/Vet work.
134
- If an explicit/AFK capacity change differs from retained capacity, reconcile it
135
- before selection using `parallel add --root <repo> --slug <controller> --cap N --json -`
136
- with stdin `[]`. This changes capacity only, not workers or a complete lease's
137
- status. A decrease below active count refuses: pause admissions and drain to
138
- the requested count, then retry; never cancel workers to meet a lower cap.
139
- A pending landing is recovery, not free capacity: retry the exact recorded
140
- integrate before admission; unrelated HEAD/ref movement remains blocked.
141
- 2. Query the mixed pool in stable sequence order, controller first (the ordered
142
- ACTIVE owner may now differ):
143
- `devrites-engine parallel select --root <repo> --slug <controller> --from-plan --workspaces <controller,authorized-source,...> --cap N`.
144
- `--workspaces` is an internal data-source parameter, not a user feature flag.
145
- Read all notices and route repair/waits to their source. Existing running slots
146
- and paths seed selection globally. Zero new picks with live writers means keep
147
- planning/reviewing or wait, not Prove for those unfinished sources.
132
+ Yield children at pending reviewer/phase boundaries; reconcile available
133
+ parent returns before another pass. Reporting actions or reading phase skills
134
+ is not executing preparation/Vet. Wait only after authorized actions across
135
+ the pool have run or reached concrete pending handles/blockers.
136
+ 2. Reconcile explicit/AFK capacity changes with
137
+ `parallel add --root <repo> --slug <controller> --cap N --json -`, stdin `[]`.
138
+ This changes capacity only. Below active count, pause admissions, drain and
139
+ retry; never cancel workers to meet a lower cap. Recover a pending recorded
140
+ landing before admission; unrelated HEAD/ref movement remains blocked.
141
+ Rerun frontier after preparation/repair or capacity changes. Execute returned
142
+ `frontier-select-command` with only authorized live `--workspaces`: this exact
143
+ candidate list includes the `--slug` controller only when eligible. This is
144
+ internal, not a new user flag. `frontier: none` retains source-local routing.
145
+ Source-local `parallel select --from-plan` notices neither select globally nor
146
+ expand picks. Route notices to their source; running slots/paths seed mixed
147
+ selection globally. Zero picks with live writers means continue planning/review
148
+ or wait, not Prove for unfinished sources.
148
149
  3. Preflight selected slices against their SOURCE workspace with Build's normal
149
150
  slice/readiness/precondition, exact-path and runtime-isolation gates. Early
150
151
  foreign Build always uses isolated workers. For cap>1 on a capable host,
@@ -160,9 +161,9 @@ controller or a persistent frontier artifact.
160
161
  landing: defer control mutations while frozen validation is pending. Outside
161
162
  that window, land each individually green sibling through Build review/proof
162
163
  and `parallel integrate --slice <key>`; refill immediately from the whole pool.
163
- A red sibling repairs in place and holds its slot/paths; it does not delay
164
- independent safe landings. Never satisfy a producer edge on writer return or
165
- green-but-unlanded work.
164
+ A red or `integrate-failed` sibling retains its slot/paths for repair; it does
165
+ not halt independent safe landings/refill. A pending landing intent still
166
+ requires exact recovery above. Only durable integration satisfies producer edges.
166
167
  After worker-bound review/proof and source bookkeeping finish, prune only
167
168
  verified clean integrated checkouts with `parallel prune --root <repo>
168
169
  --slug <controller>`. Retain transfer refs/lease identities; dirty or ignored