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.
- package/CHANGELOG.md +26 -3
- package/README.md +21 -1
- package/docs/cli.md +83 -6
- package/docs/command-map.md +2 -2
- package/docs/engine/commands.md +8 -3
- package/engine/commands.go +1 -1
- package/engine/help.go +3 -1
- package/engine/internal/lib/continuation.go +33 -4
- package/engine/internal/lib/dispatch.go +46 -31
- package/engine/internal/lib/frontier.go +808 -0
- package/engine/internal/lib/handoff.go +2 -5
- package/engine/internal/lib/next.go +10 -0
- package/engine/internal/parallel/cli.go +16 -5
- package/engine/internal/parallel/ops.go +7 -5
- package/engine/internal/parallel/repository.go +13 -0
- package/engine/internal/release/release.go +96 -5
- package/engine/main.go +4 -0
- package/pack/.claude/skills/devrites-lib/reference/parallel-workspaces.md +41 -40
- package/pack/.claude/skills/rite-autocomplete/SKILL.md +10 -10
- package/pack/.claude/skills/rite-autocomplete/reference/loop.md +6 -6
- package/pack/.claude/skills/rite-build/reference/parallel-batch.md +7 -7
- package/pack/generated/claude/skills/devrites-lib/reference/parallel-workspaces.md +41 -40
- package/pack/generated/claude/skills/rite-autocomplete/SKILL.md +10 -10
- package/pack/generated/claude/skills/rite-autocomplete/reference/loop.md +6 -6
- package/pack/generated/claude/skills/rite-build/reference/parallel-batch.md +7 -7
- package/pack/generated/codex/skills/devrites-lib/reference/parallel-workspaces.md +41 -40
- package/pack/generated/codex/skills/rite-autocomplete/SKILL.md +10 -10
- package/pack/generated/codex/skills/rite-autocomplete/reference/loop.md +6 -6
- package/pack/generated/codex/skills/rite-build/reference/parallel-batch.md +7 -7
- package/pack/generated/devin/skills/devrites-lib/reference/parallel-workspaces.md +41 -40
- package/pack/generated/devin/skills/rite-autocomplete/SKILL.md +10 -10
- package/pack/generated/devin/skills/rite-autocomplete/reference/loop.md +6 -6
- package/pack/generated/devin/skills/rite-build/reference/parallel-batch.md +7 -7
- package/pack/generated/dsh/skills/devrites-lib/reference/parallel-workspaces.md +41 -40
- package/pack/generated/dsh/skills/rite-autocomplete/SKILL.md +10 -10
- package/pack/generated/dsh/skills/rite-autocomplete/reference/loop.md +6 -6
- package/pack/generated/dsh/skills/rite-build/reference/parallel-batch.md +7 -7
- package/pack/generated/omp/skills/devrites-lib/reference/parallel-workspaces.md +41 -40
- package/pack/generated/omp/skills/rite-autocomplete/SKILL.md +10 -10
- package/pack/generated/omp/skills/rite-autocomplete/reference/loop.md +6 -6
- package/pack/generated/omp/skills/rite-build/reference/parallel-batch.md +7 -7
- package/pack/generated/pi/skills/devrites-lib/reference/parallel-workspaces.md +41 -40
- package/pack/generated/pi/skills/rite-autocomplete/SKILL.md +10 -10
- package/pack/generated/pi/skills/rite-autocomplete/reference/loop.md +6 -6
- package/pack/generated/pi/skills/rite-build/reference/parallel-batch.md +7 -7
- package/package.json +1 -1
|
@@ -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
|
|
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;
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
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.
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
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
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
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
|
|
164
|
-
independent safe landings.
|
|
165
|
-
|
|
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
|
-
|
|
92
|
-
|
|
93
|
-
|
|
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:**
|
|
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
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
Build under
|
|
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
|
|
78
|
-
before native waits,
|
|
79
|
-
[global frontier pass](../../devrites-lib/reference/parallel-workspaces.md#continuous-global-frontier).
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
precedes owner Seal
|
|
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
|
|
8
|
-
[`parallel-workspaces.md`](../../devrites-lib/reference/parallel-workspaces.md):
|
|
9
|
-
it owns global admission
|
|
10
|
-
|
|
11
|
-
|
|
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`;
|
|
165
|
-
|
|
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
|
|
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;
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
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.
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
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
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
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
|
|
164
|
-
independent safe landings.
|
|
165
|
-
|
|
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
|
-
|
|
92
|
-
|
|
93
|
-
|
|
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:**
|
|
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
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
Build under
|
|
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
|
|
78
|
-
before native waits,
|
|
79
|
-
[global frontier pass](../../devrites-lib/reference/parallel-workspaces.md#continuous-global-frontier).
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
precedes owner Seal
|
|
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
|
|
8
|
-
[`parallel-workspaces.md`](../../devrites-lib/reference/parallel-workspaces.md):
|
|
9
|
-
it owns global admission
|
|
10
|
-
|
|
11
|
-
|
|
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`;
|
|
165
|
-
|
|
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
|
|
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;
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
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.
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
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
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
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
|
|
164
|
-
independent safe landings.
|
|
165
|
-
|
|
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
|
|
@@ -87,9 +87,9 @@ next sequence continuation through Vet in a second session, then stop.
|
|
|
87
87
|
|
|
88
88
|
1. **Orient and parse.** Resolve source per [phase target binding](../devrites-lib/reference/parallel-workspaces.md#phase-target-binding); when a workspace exists,
|
|
89
89
|
require its `state.md` and read its cursor; a fresh idea starts empty at step 2.
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
90
|
+
After normalizing arguments below, run `devrites-engine frontier <source>`
|
|
91
|
+
before phase-local cold recovery; execute its actions under the shared
|
|
92
|
+
[global frontier pass](../devrites-lib/reference/parallel-workspaces.md#continuous-global-frontier).
|
|
93
93
|
Before honoring `blocked` with terminal `next_action`,
|
|
94
94
|
reconcile retained consumptive evidence and fingerprint attempts from
|
|
95
95
|
`drift.md`/`evidence.md`; a retained fingerprint below its cap resumes offline
|
|
@@ -103,7 +103,7 @@ next sequence continuation through Vet in a second session, then stop.
|
|
|
103
103
|
Normalize current arguments to idea, `ship_preflight: yes|no`,
|
|
104
104
|
`max_slices: unlimited`, `parallel: N|default`, `profile: standard|full`,
|
|
105
105
|
and `cross_model: yes|no`.
|
|
106
|
-
**Completion:**
|
|
106
|
+
**Completion:** arguments and source authority are unambiguous; local cursor and pending handles remain intact.
|
|
107
107
|
2. **Specify and clarify.** Run `devrites-interview`, `/rite-spec`, and
|
|
108
108
|
`/rite-clarify` as one window. `open` material coverage never arms
|
|
109
109
|
AFK. **Completion:** `Decision coverage: CLEAR` is durable.
|
|
@@ -120,12 +120,12 @@ next sequence continuation through Vet in a second session, then stop.
|
|
|
120
120
|
`/rite-build` batch loop → `/rite-prove` → `/rite-polish` →
|
|
121
121
|
`/rite-review` → `/rite-seal`. Read and execute each skill; durable files, not
|
|
122
122
|
chat, carry state. Apply the mutable post-vet budget before first Build.
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
Build under
|
|
123
|
+
Run `devrites-engine frontier <source>` at phase entry, before recovery,
|
|
124
|
+
on returns and before native waits; execute the shared
|
|
125
|
+
[global frontier pass](../devrites-lib/reference/parallel-workspaces.md#continuous-global-frontier),
|
|
126
|
+
not merely its report. Autocomplete retains repository scheduling and local
|
|
127
|
+
cursors. Apply its protected validation window and pass resolved `--parallel N`
|
|
128
|
+
to Build under the same global cap and admission/isolation gates.
|
|
129
129
|
**Completion:** loop reaches Seal GO or persists a valid stop before any later phase.
|
|
130
130
|
5. **Apply stops.** At every gate use
|
|
131
131
|
[stop-conditions.md](reference/stop-conditions.md). A `blocked` label alone is not a stop condition:
|