devrites 7.1.0 → 7.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +1 -1
  3. package/pack/.claude/skills/rite-autocomplete/reference/loop.md +9 -10
  4. package/pack/.claude/skills/rite-build/SKILL.md +5 -6
  5. package/pack/.claude/skills/rite-build/reference/afk-discipline.md +9 -11
  6. package/pack/.claude/skills/rite-build/reference/anti-patterns.md +2 -2
  7. package/pack/.claude/skills/rite-build/reference/checkpoint.md +10 -5
  8. package/pack/.claude/skills/rite-build/reference/one-slice-cycle.md +6 -4
  9. package/pack/.claude/skills/rite-build/reference/output.md +15 -21
  10. package/pack/generated/claude/skills/rite-autocomplete/reference/loop.md +9 -10
  11. package/pack/generated/claude/skills/rite-build/SKILL.md +5 -6
  12. package/pack/generated/claude/skills/rite-build/reference/afk-discipline.md +9 -11
  13. package/pack/generated/claude/skills/rite-build/reference/anti-patterns.md +2 -2
  14. package/pack/generated/claude/skills/rite-build/reference/checkpoint.md +10 -5
  15. package/pack/generated/claude/skills/rite-build/reference/one-slice-cycle.md +6 -4
  16. package/pack/generated/claude/skills/rite-build/reference/output.md +15 -21
  17. package/pack/generated/codex/skills/rite-autocomplete/reference/loop.md +9 -10
  18. package/pack/generated/codex/skills/rite-build/SKILL.md +5 -6
  19. package/pack/generated/codex/skills/rite-build/reference/afk-discipline.md +9 -11
  20. package/pack/generated/codex/skills/rite-build/reference/anti-patterns.md +2 -2
  21. package/pack/generated/codex/skills/rite-build/reference/checkpoint.md +10 -5
  22. package/pack/generated/codex/skills/rite-build/reference/one-slice-cycle.md +6 -4
  23. package/pack/generated/codex/skills/rite-build/reference/output.md +15 -21
  24. package/pack/generated/devin/skills/rite-autocomplete/reference/loop.md +9 -10
  25. package/pack/generated/devin/skills/rite-build/SKILL.md +5 -6
  26. package/pack/generated/devin/skills/rite-build/reference/afk-discipline.md +9 -11
  27. package/pack/generated/devin/skills/rite-build/reference/anti-patterns.md +2 -2
  28. package/pack/generated/devin/skills/rite-build/reference/checkpoint.md +10 -5
  29. package/pack/generated/devin/skills/rite-build/reference/one-slice-cycle.md +6 -4
  30. package/pack/generated/devin/skills/rite-build/reference/output.md +15 -21
  31. package/pack/generated/omp/skills/rite-autocomplete/reference/loop.md +9 -10
  32. package/pack/generated/omp/skills/rite-build/SKILL.md +5 -6
  33. package/pack/generated/omp/skills/rite-build/reference/afk-discipline.md +9 -11
  34. package/pack/generated/omp/skills/rite-build/reference/anti-patterns.md +2 -2
  35. package/pack/generated/omp/skills/rite-build/reference/checkpoint.md +10 -5
  36. package/pack/generated/omp/skills/rite-build/reference/one-slice-cycle.md +6 -4
  37. package/pack/generated/omp/skills/rite-build/reference/output.md +15 -21
  38. package/pack/generated/pi/skills/rite-autocomplete/reference/loop.md +9 -10
  39. package/pack/generated/pi/skills/rite-build/SKILL.md +5 -6
  40. package/pack/generated/pi/skills/rite-build/reference/afk-discipline.md +9 -11
  41. package/pack/generated/pi/skills/rite-build/reference/anti-patterns.md +2 -2
  42. package/pack/generated/pi/skills/rite-build/reference/checkpoint.md +10 -5
  43. package/pack/generated/pi/skills/rite-build/reference/one-slice-cycle.md +6 -4
  44. package/pack/generated/pi/skills/rite-build/reference/output.md +15 -21
  45. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,12 @@
2
2
 
3
3
  All notable changes to DevRites are documented here. The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) and DevRites adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). Releases are generated automatically by [semantic-release](https://semantic-release.gitbook.io/) from Conventional Commits on `main`.
4
4
 
5
+ ## [7.1.1](https://github.com/ViktorsBaikers/DevRites/compare/v7.1.0...v7.1.1) (2026-10-28)
6
+
7
+ ### Fixed
8
+
9
+ * **skills:** preserve autocomplete continuation ([#180](https://github.com/ViktorsBaikers/DevRites/issues/180)) ([5d685e8](https://github.com/ViktorsBaikers/DevRites/commit/5d685e85e21c59acee2ac8903f5cc584772ad937))
10
+
5
11
  ## [7.1.0](https://github.com/ViktorsBaikers/DevRites/compare/v7.0.17...v7.1.0) (2026-10-28)
6
12
 
7
13
  ### Added
package/README.md CHANGED
@@ -31,7 +31,7 @@ history can't lose it. After you clear the conversation, switch hosts, or hand
31
31
  the feature to another engineer, the next session reads the same plan,
32
32
  decisions, and evidence before it continues.
33
33
 
34
- **Status:** [`v7.1.0`](https://github.com/ViktorsBaikers/DevRites/releases/tag/v7.1.0): see [`CHANGELOG.md`](CHANGELOG.md) for release notes.
34
+ **Status:** [`v7.1.1`](https://github.com/ViktorsBaikers/DevRites/releases/tag/v7.1.1): see [`CHANGELOG.md`](CHANGELOG.md) for release notes.
35
35
 
36
36
  This is the latest published release; `main` may contain unreleased work.
37
37
 
@@ -44,15 +44,14 @@ readiness check first; reject overlap. Do not stop on `max_agents`,
44
44
  `max_minutes`, or `max_review_queue`. Count every leaf result. A new activation
45
45
  gets fresh activation-local counters but retains durable slice/recovery state.
46
46
 
47
- When driving `/rite-build`, ignore afk-discipline remaining-0, `--max-slices`,
48
- and parallel AFK headroom as stop conditions. Pass this invocation's
49
- `--parallel N` into `/rite-build` when present; leftover sentinel
50
- `max_parallel` is then not the cap. Close validating questions and blocking questions
51
- that already name a ranked recommended option (recommended pick via
52
- `devrites-engine state resolve`) instead of queuing them or handing
53
- `/rite-resolve` to the user. Escalating, irreversible-risk, access, and
54
- blocking with no recommended option still pause, as does Seal's judgment-only
55
- validating question (`slice: seal`).
47
+ [Build return](../../rite-build/reference/output.md#caller-owned-continuation).
48
+ Pass `--parallel N`; ignore leftover cap/headroom, remaining-0,
49
+ and `--max-slices` stops. Agent-invented dispatch, wait, tool-call, or turn budgets are not stop conditions.
50
+ An explicit human request to pause or run only a bounded subset still wins.
51
+ Path collisions serialize work; they do not end the run.
52
+ Resolve ranked validating/blocking picks via `devrites-engine state resolve`;
53
+ never hand `/rite-resolve` to the user. Escalating, irreversible-risk, access, blocking
54
+ without recommendations, and Seal judgment (`slice: seal`) still pause.
56
55
 
57
56
  ## Phase arc
58
57
 
@@ -65,7 +64,7 @@ Workspace files carry state; chat does not. Read and execute each phase skill:
65
64
  | 3 | `/rite-temper` | harden or reduce; `expand` and extra acceptance stop for a human; irreversible risk still pauses |
66
65
  | 4 | `/rite-define` | approved plan/tasks/traceability |
67
66
  | 5 | `/rite-vet` | every plan; derive mutable budget after READY |
68
- | 6 | `/rite-build` batch loop | largest eligible path-disjoint set (cap: this invocation's `--parallel N`, else sentinel `max_parallel`, else 10; one-slice round when <2 eligible); refill per landing; charge once per landed slice |
67
+ | 6 | `/rite-build` batch loop | largest eligible path-disjoint set (cap: this invocation's `--parallel N`, else sentinel `max_parallel`, else 10; serial if <2 eligible); refill per landing; charge once per landed slice |
69
68
  | 7 | `/rite-prove` | all slices built except deferred (`Satisfies: none`); approved proof; recovery on red |
70
69
  | 8 | `/rite-polish` | re-prove after code edits |
71
70
  | 9 | `/rite-review` | in-scope correction then fresh proof |
@@ -11,9 +11,9 @@ user-invocable: true
11
11
 
12
12
  # /rite-build: one verified slice
13
13
 
14
- HITL stops; a later user invocation starts the next slice.
15
- Explicit `.devrites/AFK` alone lets the controlling root chain under green proof,
16
- caps and pause rules. Every wright returns after one slice.
14
+ Active caller takes precedence per [output.md](reference/output.md#caller-owned-continuation).
15
+ Standalone HITL stops; standalone AFK chains under green proof, caps and pause
16
+ rules. Every wright returns after one slice.
17
17
  **HITL:** `/rite-build --parallel N` (2≤N≤10; N=1≡serial) follows
18
18
  [`reference/parallel-batch.md`](reference/parallel-batch.md)
19
19
  ([`one-slice-cycle.md`](reference/one-slice-cycle.md)).
@@ -109,10 +109,9 @@ AFK charges per landed sibling only. Running lease blocks another
109
109
 
110
110
  Run every step in `reference/phase-contract.md`: readiness, one target, dispatch
111
111
  or canonical transaction, return inspection, independent code/doubt/test analysis,
112
- approved fail-on-red proof, record, AFK accounting, and stop. Use
112
+ approved fail-on-red proof, record, and applicable accounting. Continue/reply via
113
113
  [`reference/output.md`](reference/output.md) plus the shared
114
- [`reply contract`](../devrites-lib/reference/reply-contract.md). HITL never starts
115
- the next slice automatically; AFK obeys remaining budget; Prove requires every slice built except a
114
+ [`reply contract`](../devrites-lib/reference/reply-contract.md). Standalone AFK obeys remaining budget; Prove requires every slice built except a
116
115
  [deferred slice](../rite-plan/reference/slicing.md#deferred-slice).
117
116
 
118
117
  ## Phase exit
@@ -2,22 +2,20 @@
2
2
 
3
3
  > Root-only: not inlined in --role bundles.
4
4
 
5
- AFK mode is active when `.devrites/AFK` exists. It lets `/rite-build` chain slices
6
- without per-slice user input. The rules below limit that unattended work.
7
-
8
- Load the shared
5
+ `.devrites/AFK` enables unattended slice chaining. Load the shared
9
6
  [`afk-hitl.md`](../../devrites-lib/reference/standards/afk-hitl.md#the-sentinel-devritesafk)
10
- contract for the sentinel schema, defaults, gate ceiling, and mutable-counter
11
- ownership. This file owns only Build's dispatch, charging, and red-path behavior.
7
+ for sentinel schema, defaults, gate ceiling, and mutable-counter ownership.
8
+ This file owns Build dispatch, charging, and red paths.
12
9
 
13
- Rules: green before `built`; hard `max_slices` cap; gates before the action they
14
- control; irreversible work (destructive/auth/public API) always pauses; a tick
15
- never ends with an open or sealed wave — wait for its returns or
16
- `dispatch abandon --reason`.
10
+ Rules: green before `built`; gates before their action; irreversible work
11
+ (destructive/auth/public API) pauses; no tick ends with an open/sealed wave —
12
+ wait for returns or `dispatch abandon --reason`.
17
13
 
18
14
  ## Iteration cap
19
15
 
20
- The controlling root owns the cap:
16
+ Under active `/rite-autocomplete`, skip the slice-cap checks, charges, and cap-stop message below;
17
+ use its [admission rules](../../rite-autocomplete/reference/loop.md#admit-each-unattended-cycle).
18
+ Otherwise root owns cap:
21
19
 
22
20
  1. **Before every dispatch**, re-read `.devrites/AFK`, `state.md`, and the
23
21
  selected slice. This invocation's `--parallel N` is the cap when present;
@@ -10,12 +10,12 @@ Pack-wide rationalizations and red flags live in
10
10
 
11
11
  | Excuse | Rebuttal |
12
12
  |---|---|
13
- | "Slices 1 and 2 are related; let me do both." | HITL needs a later user invocation. Explicit `.devrites/AFK` may let the root chain only after green proof and cap/pause gates; each wright still returns after one. |
13
+ | "Slices 1 and 2 are related; let me do both." | Caller first: [output.md](output.md#caller-owned-continuation). Standalone HITL stops; standalone AFK chains after green proof and cap/pause gates; each wright returns after one. |
14
14
  | "It's faster to skip `devrites-doubt` for this small change." | Doubt is cheapest *before* the decision is standing. After is debugging. |
15
15
 
16
16
  ## Red Flags
17
17
 
18
- - About to start slice N+1 outside explicit AFK or before its green-proof/cap/pause gates.
18
+ - Next slice violates caller/standalone routing or proof/cap/pause gates.
19
19
  - Skipping `devrites-doubt` on a branching, boundary, data-model, auth, public-API, or migration decision.
20
20
  - Adding a dependency or a second design system without recording rationale in `decisions.md`.
21
21
  - Writing a `try/catch` block wider than what you handle.
@@ -54,11 +54,16 @@ BODY
54
54
 
55
55
  **Local-only:** never push or let scratch work trigger CI.
56
56
 
57
- After the commit lands, run `devrites-engine check regression <slug> --update`
58
- to ratchet the workspace progress baseline — the landed slice, newly checked
59
- acceptance criteria, and resolved questions become the new floor that later
60
- checks compare against. A `BLOCKED` compare before that ratchet means durable
61
- facts were lost this cycle; restore or route them before landing the commit.
57
+ After green landing (parallel: successful integrate), check `state.md`
58
+ outside fences before reselecting:
59
+
60
+ ```text
61
+ - [x] SLICE-004 built — <proof/checkpoint reference>
62
+ ```
63
+
64
+ A cursor `built_slices` value or a tasks.md `Status: built` field is not a substitute.
65
+ After landing: `devrites-engine check regression <slug> --update`. Before landing,
66
+ restore or route `BLOCKED` lost facts.
62
67
 
63
68
  ## Restore
64
69
  After a crash, a fresh session may read the last `WIP(<slug>)` body as crash context.
@@ -1,8 +1,8 @@
1
1
  # One-slice cycle
2
2
 
3
- One wright dispatch builds one thin, proven slice. HITL stops; only explicit
4
- `.devrites/AFK` lets the controlling root chain another pending slice under the
5
- green-proof, cap, and pause rules. Each wright returns after exactly one slice.
3
+ Each wright returns after one proven slice. Root follows
4
+ [`output.md`](output.md#caller-owned-continuation); standalone AFK uses
5
+ `afk-discipline.md`.
6
6
  This serial cycle is the default `/rite-build`. Opt-in fan-out: [`parallel-batch.md`](parallel-batch.md) (`--parallel N`).
7
7
 
8
8
  ## The cycle
@@ -31,7 +31,9 @@ RECORD → orchestrator: after green verification, update state.md/evidence.m
31
31
  upsert the authoritative candidate manifest from the actual scoped diff
32
32
  (CHECKPOINT) → only now, with review+proof green: local WIP(<slug>): <imperative summary>
33
33
  on the control branch (no slice id) → checkpoint.md
34
- NEXT → HITL root reports and stops. AFK with parallel cap>1: return to parallel-batch selection to refill; otherwise repeat under afk-discipline.md
34
+ NEXT → controlling caller first: return internally via output.md; no user-facing reply.
35
+ HITL stops. Standalone AFK with parallel cap>1:
36
+ return to parallel-batch selection to refill; otherwise repeat under afk-discipline.md
35
37
  ```
36
38
 
37
39
  ## Why the boundary matters
@@ -2,34 +2,28 @@
2
2
 
3
3
  > Root-only: not inlined in --role bundles.
4
4
 
5
- **Slices remain:**
5
+ ## Caller-owned continuation
6
6
 
7
- ```text
8
- Done: built slice <n> — <name>.
9
- Changed: <files>; state.md, touched-files.md, evidence.md
10
- Evidence: acceptance met; tests <cmd> → pass; browser <summary|n/a>; drift <none|handled>
11
- Open: <none|blockers|questions>
12
- Next: /rite-build
13
- Record: .devrites/work/<slug>/evidence.md
14
- ↻ Hygiene: /clear between slices (none in `orient` `inflight_waves`); /rite-handoff if away > a few hours
15
- ```
7
+ Before standalone replies, return internally to active `/rite-autocomplete` or
8
+ another controlling rite after green proof, checkpoint, and accounting:
9
+ - Slices remain: re-read durable state and reselect/refill; no user-facing reply.
10
+ - All built: return internally to the caller to invoke `/rite-prove` under its own contract.
11
+
12
+ Human/safety/access/Git stops still use the shared reply contract.
13
+
14
+ ## Standalone response
16
15
 
17
- **All built:**
16
+ HITL returns after one green slice; AFK chains per `afk-discipline.md`.
17
+ Every wright returns after one slice. Build alone never invokes Prove.
18
18
 
19
19
  ```text
20
- Done: built slice <n> — <name>; all slices built.
20
+ Done: built slice <n> — <name>[; all slices built].
21
21
  Changed: <files>; state.md, touched-files.md, evidence.md
22
22
  Evidence: acceptance met; tests <cmd> → pass; browser <summary|n/a>; drift <none|handled>
23
23
  Open: <none|blockers|questions>
24
- Next: /rite-prove
24
+ Next: /rite-build [all built: /rite-prove]
25
25
  Record: .devrites/work/<slug>/evidence.md
26
- ↻ Hygiene: /clear before /rite-prove; /rite-handoff if away > a few hours
26
+ ↻ Hygiene: /clear between slices (none in `orient` `inflight_waves`); /rite-handoff if away > a few hours
27
27
  ```
28
28
 
29
- HITL returns after one green slice. Only explicit `.devrites/AFK` lets the
30
- controlling root chain another pending slice after green-proof, cap, and pause
31
- gates. Every `devrites-slice-wright` returns after exactly one slice.
32
-
33
- At all built, Build never enters `/rite-prove` automatically; a higher-level
34
- orchestrator may invoke it only under its own contract. Awaiting-human or
35
- stopped states use the shared reply contract.
29
+ Awaiting-human or stopped states use the shared reply contract.
@@ -46,15 +46,14 @@ readiness check first; reject overlap. Do not stop on `max_agents`,
46
46
  `max_minutes`, or `max_review_queue`. Count every leaf result. A new activation
47
47
  gets fresh activation-local counters but retains durable slice/recovery state.
48
48
 
49
- When driving `/rite-build`, ignore afk-discipline remaining-0, `--max-slices`,
50
- and parallel AFK headroom as stop conditions. Pass this invocation's
51
- `--parallel N` into `/rite-build` when present; leftover sentinel
52
- `max_parallel` is then not the cap. Close validating questions and blocking questions
53
- that already name a ranked recommended option (recommended pick via
54
- `devrites-engine state resolve`) instead of queuing them or handing
55
- `/rite-resolve` to the user. Escalating, irreversible-risk, access, and
56
- blocking with no recommended option still pause, as does Seal's judgment-only
57
- validating question (`slice: seal`).
49
+ [Build return](../../rite-build/reference/output.md#caller-owned-continuation).
50
+ Pass `--parallel N`; ignore leftover cap/headroom, remaining-0,
51
+ and `--max-slices` stops. Agent-invented dispatch, wait, tool-call, or turn budgets are not stop conditions.
52
+ An explicit human request to pause or run only a bounded subset still wins.
53
+ Path collisions serialize work; they do not end the run.
54
+ Resolve ranked validating/blocking picks via `devrites-engine state resolve`;
55
+ never hand `/rite-resolve` to the user. Escalating, irreversible-risk, access, blocking
56
+ without recommendations, and Seal judgment (`slice: seal`) still pause.
58
57
 
59
58
  ## Phase arc
60
59
 
@@ -67,7 +66,7 @@ Workspace files carry state; chat does not. Read and execute each phase skill:
67
66
  | 3 | `/rite-temper` | harden or reduce; `expand` and extra acceptance stop for a human; irreversible risk still pauses |
68
67
  | 4 | `/rite-define` | approved plan/tasks/traceability |
69
68
  | 5 | `/rite-vet` | every plan; derive mutable budget after READY |
70
- | 6 | `/rite-build` batch loop | largest eligible path-disjoint set (cap: this invocation's `--parallel N`, else sentinel `max_parallel`, else 10; one-slice round when <2 eligible); refill per landing; charge once per landed slice |
69
+ | 6 | `/rite-build` batch loop | largest eligible path-disjoint set (cap: this invocation's `--parallel N`, else sentinel `max_parallel`, else 10; serial if <2 eligible); refill per landing; charge once per landed slice |
71
70
  | 7 | `/rite-prove` | all slices built except deferred (`Satisfies: none`); approved proof; recovery on red |
72
71
  | 8 | `/rite-polish` | re-prove after code edits |
73
72
  | 9 | `/rite-review` | in-scope correction then fresh proof |
@@ -11,9 +11,9 @@ user-invocable: true
11
11
 
12
12
  # /rite-build: one verified slice
13
13
 
14
- HITL stops; a later user invocation starts the next slice.
15
- Explicit `.devrites/AFK` alone lets the controlling root chain under green proof,
16
- caps and pause rules. Every wright returns after one slice.
14
+ Active caller takes precedence per [output.md](reference/output.md#caller-owned-continuation).
15
+ Standalone HITL stops; standalone AFK chains under green proof, caps and pause
16
+ rules. Every wright returns after one slice.
17
17
  **HITL:** `/rite-build --parallel N` (2≤N≤10; N=1≡serial) follows
18
18
  [`reference/parallel-batch.md`](reference/parallel-batch.md)
19
19
  ([`one-slice-cycle.md`](reference/one-slice-cycle.md)).
@@ -109,10 +109,9 @@ AFK charges per landed sibling only. Running lease blocks another
109
109
 
110
110
  Run every step in `reference/phase-contract.md`: readiness, one target, dispatch
111
111
  or canonical transaction, return inspection, independent code/doubt/test analysis,
112
- approved fail-on-red proof, record, AFK accounting, and stop. Use
112
+ approved fail-on-red proof, record, and applicable accounting. Continue/reply via
113
113
  [`reference/output.md`](reference/output.md) plus the shared
114
- [`reply contract`](../devrites-lib/reference/reply-contract.md). HITL never starts
115
- the next slice automatically; AFK obeys remaining budget; Prove requires every slice built except a
114
+ [`reply contract`](../devrites-lib/reference/reply-contract.md). Standalone AFK obeys remaining budget; Prove requires every slice built except a
116
115
  [deferred slice](../rite-plan/reference/slicing.md#deferred-slice).
117
116
 
118
117
  ## Phase exit
@@ -2,22 +2,20 @@
2
2
 
3
3
  > Root-only: not inlined in --role bundles.
4
4
 
5
- AFK mode is active when `.devrites/AFK` exists. It lets `/rite-build` chain slices
6
- without per-slice user input. The rules below limit that unattended work.
7
-
8
- Load the shared
5
+ `.devrites/AFK` enables unattended slice chaining. Load the shared
9
6
  [`afk-hitl.md`](../../devrites-lib/reference/standards/afk-hitl.md#the-sentinel-devritesafk)
10
- contract for the sentinel schema, defaults, gate ceiling, and mutable-counter
11
- ownership. This file owns only Build's dispatch, charging, and red-path behavior.
7
+ for sentinel schema, defaults, gate ceiling, and mutable-counter ownership.
8
+ This file owns Build dispatch, charging, and red paths.
12
9
 
13
- Rules: green before `built`; hard `max_slices` cap; gates before the action they
14
- control; irreversible work (destructive/auth/public API) always pauses; a tick
15
- never ends with an open or sealed wave — wait for its returns or
16
- `dispatch abandon --reason`.
10
+ Rules: green before `built`; gates before their action; irreversible work
11
+ (destructive/auth/public API) pauses; no tick ends with an open/sealed wave —
12
+ wait for returns or `dispatch abandon --reason`.
17
13
 
18
14
  ## Iteration cap
19
15
 
20
- The controlling root owns the cap:
16
+ Under active `/rite-autocomplete`, skip the slice-cap checks, charges, and cap-stop message below;
17
+ use its [admission rules](../../rite-autocomplete/reference/loop.md#admit-each-unattended-cycle).
18
+ Otherwise root owns cap:
21
19
 
22
20
  1. **Before every dispatch**, re-read `.devrites/AFK`, `state.md`, and the
23
21
  selected slice. This invocation's `--parallel N` is the cap when present;
@@ -10,12 +10,12 @@ Pack-wide rationalizations and red flags live in
10
10
 
11
11
  | Excuse | Rebuttal |
12
12
  |---|---|
13
- | "Slices 1 and 2 are related; let me do both." | HITL needs a later user invocation. Explicit `.devrites/AFK` may let the root chain only after green proof and cap/pause gates; each wright still returns after one. |
13
+ | "Slices 1 and 2 are related; let me do both." | Caller first: [output.md](output.md#caller-owned-continuation). Standalone HITL stops; standalone AFK chains after green proof and cap/pause gates; each wright returns after one. |
14
14
  | "It's faster to skip `devrites-doubt` for this small change." | Doubt is cheapest *before* the decision is standing. After is debugging. |
15
15
 
16
16
  ## Red Flags
17
17
 
18
- - About to start slice N+1 outside explicit AFK or before its green-proof/cap/pause gates.
18
+ - Next slice violates caller/standalone routing or proof/cap/pause gates.
19
19
  - Skipping `devrites-doubt` on a branching, boundary, data-model, auth, public-API, or migration decision.
20
20
  - Adding a dependency or a second design system without recording rationale in `decisions.md`.
21
21
  - Writing a `try/catch` block wider than what you handle.
@@ -54,11 +54,16 @@ BODY
54
54
 
55
55
  **Local-only:** never push or let scratch work trigger CI.
56
56
 
57
- After the commit lands, run `devrites-engine check regression <slug> --update`
58
- to ratchet the workspace progress baseline — the landed slice, newly checked
59
- acceptance criteria, and resolved questions become the new floor that later
60
- checks compare against. A `BLOCKED` compare before that ratchet means durable
61
- facts were lost this cycle; restore or route them before landing the commit.
57
+ After green landing (parallel: successful integrate), check `state.md`
58
+ outside fences before reselecting:
59
+
60
+ ```text
61
+ - [x] SLICE-004 built — <proof/checkpoint reference>
62
+ ```
63
+
64
+ A cursor `built_slices` value or a tasks.md `Status: built` field is not a substitute.
65
+ After landing: `devrites-engine check regression <slug> --update`. Before landing,
66
+ restore or route `BLOCKED` lost facts.
62
67
 
63
68
  ## Restore
64
69
  After a crash, a fresh session may read the last `WIP(<slug>)` body as crash context.
@@ -1,8 +1,8 @@
1
1
  # One-slice cycle
2
2
 
3
- One wright dispatch builds one thin, proven slice. HITL stops; only explicit
4
- `.devrites/AFK` lets the controlling root chain another pending slice under the
5
- green-proof, cap, and pause rules. Each wright returns after exactly one slice.
3
+ Each wright returns after one proven slice. Root follows
4
+ [`output.md`](output.md#caller-owned-continuation); standalone AFK uses
5
+ `afk-discipline.md`.
6
6
  This serial cycle is the default `/rite-build`. Opt-in fan-out: [`parallel-batch.md`](parallel-batch.md) (`--parallel N`).
7
7
 
8
8
  ## The cycle
@@ -31,7 +31,9 @@ RECORD → orchestrator: after green verification, update state.md/evidence.m
31
31
  upsert the authoritative candidate manifest from the actual scoped diff
32
32
  (CHECKPOINT) → only now, with review+proof green: local WIP(<slug>): <imperative summary>
33
33
  on the control branch (no slice id) → checkpoint.md
34
- NEXT → HITL root reports and stops. AFK with parallel cap>1: return to parallel-batch selection to refill; otherwise repeat under afk-discipline.md
34
+ NEXT → controlling caller first: return internally via output.md; no user-facing reply.
35
+ HITL stops. Standalone AFK with parallel cap>1:
36
+ return to parallel-batch selection to refill; otherwise repeat under afk-discipline.md
35
37
  ```
36
38
 
37
39
  ## Why the boundary matters
@@ -2,34 +2,28 @@
2
2
 
3
3
  > Root-only: not inlined in --role bundles.
4
4
 
5
- **Slices remain:**
5
+ ## Caller-owned continuation
6
6
 
7
- ```text
8
- Done: built slice <n> — <name>.
9
- Changed: <files>; state.md, touched-files.md, evidence.md
10
- Evidence: acceptance met; tests <cmd> → pass; browser <summary|n/a>; drift <none|handled>
11
- Open: <none|blockers|questions>
12
- Next: /rite-build
13
- Record: .devrites/work/<slug>/evidence.md
14
- ↻ Hygiene: /clear between slices (none in `orient` `inflight_waves`); /rite-handoff if away > a few hours
15
- ```
7
+ Before standalone replies, return internally to active `/rite-autocomplete` or
8
+ another controlling rite after green proof, checkpoint, and accounting:
9
+ - Slices remain: re-read durable state and reselect/refill; no user-facing reply.
10
+ - All built: return internally to the caller to invoke `/rite-prove` under its own contract.
11
+
12
+ Human/safety/access/Git stops still use the shared reply contract.
13
+
14
+ ## Standalone response
16
15
 
17
- **All built:**
16
+ HITL returns after one green slice; AFK chains per `afk-discipline.md`.
17
+ Every wright returns after one slice. Build alone never invokes Prove.
18
18
 
19
19
  ```text
20
- Done: built slice <n> — <name>; all slices built.
20
+ Done: built slice <n> — <name>[; all slices built].
21
21
  Changed: <files>; state.md, touched-files.md, evidence.md
22
22
  Evidence: acceptance met; tests <cmd> → pass; browser <summary|n/a>; drift <none|handled>
23
23
  Open: <none|blockers|questions>
24
- Next: /rite-prove
24
+ Next: /rite-build [all built: /rite-prove]
25
25
  Record: .devrites/work/<slug>/evidence.md
26
- ↻ Hygiene: /clear before /rite-prove; /rite-handoff if away > a few hours
26
+ ↻ Hygiene: /clear between slices (none in `orient` `inflight_waves`); /rite-handoff if away > a few hours
27
27
  ```
28
28
 
29
- HITL returns after one green slice. Only explicit `.devrites/AFK` lets the
30
- controlling root chain another pending slice after green-proof, cap, and pause
31
- gates. Every `devrites-slice-wright` returns after exactly one slice.
32
-
33
- At all built, Build never enters `/rite-prove` automatically; a higher-level
34
- orchestrator may invoke it only under its own contract. Awaiting-human or
35
- stopped states use the shared reply contract.
29
+ Awaiting-human or stopped states use the shared reply contract.
@@ -46,15 +46,14 @@ readiness check first; reject overlap. Do not stop on `max_agents`,
46
46
  `max_minutes`, or `max_review_queue`. Count every leaf result. A new activation
47
47
  gets fresh activation-local counters but retains durable slice/recovery state.
48
48
 
49
- When driving `$rite-build`, ignore afk-discipline remaining-0, `--max-slices`,
50
- and parallel AFK headroom as stop conditions. Pass this invocation's
51
- `--parallel N` into `$rite-build` when present; leftover sentinel
52
- `max_parallel` is then not the cap. Close validating questions and blocking questions
53
- that already name a ranked recommended option (recommended pick via
54
- `devrites-engine state resolve`) instead of queuing them or handing
55
- `$rite-resolve` to the user. Escalating, irreversible-risk, access, and
56
- blocking with no recommended option still pause, as does Seal's judgment-only
57
- validating question (`slice: seal`).
49
+ [Build return](../../rite-build/reference/output.md#caller-owned-continuation).
50
+ Pass `--parallel N`; ignore leftover cap/headroom, remaining-0,
51
+ and `--max-slices` stops. Agent-invented dispatch, wait, tool-call, or turn budgets are not stop conditions.
52
+ An explicit human request to pause or run only a bounded subset still wins.
53
+ Path collisions serialize work; they do not end the run.
54
+ Resolve ranked validating/blocking picks via `devrites-engine state resolve`;
55
+ never hand `$rite-resolve` to the user. Escalating, irreversible-risk, access, blocking
56
+ without recommendations, and Seal judgment (`slice: seal`) still pause.
58
57
 
59
58
  ## Phase arc
60
59
 
@@ -67,7 +66,7 @@ Workspace files carry state; chat does not. Read and execute each phase skill:
67
66
  | 3 | `$rite-temper` | harden or reduce; `expand` and extra acceptance stop for a human; irreversible risk still pauses |
68
67
  | 4 | `$rite-define` | approved plan/tasks/traceability |
69
68
  | 5 | `$rite-vet` | every plan; derive mutable budget after READY |
70
- | 6 | `$rite-build` batch loop | largest eligible path-disjoint set (cap: this invocation's `--parallel N`, else sentinel `max_parallel`, else 10; one-slice round when <2 eligible); refill per landing; charge once per landed slice |
69
+ | 6 | `$rite-build` batch loop | largest eligible path-disjoint set (cap: this invocation's `--parallel N`, else sentinel `max_parallel`, else 10; serial if <2 eligible); refill per landing; charge once per landed slice |
71
70
  | 7 | `$rite-prove` | all slices built except deferred (`Satisfies: none`); approved proof; recovery on red |
72
71
  | 8 | `$rite-polish` | re-prove after code edits |
73
72
  | 9 | `$rite-review` | in-scope correction then fresh proof |
@@ -11,9 +11,9 @@ user-invocable: true
11
11
 
12
12
  # $rite-build: one verified slice
13
13
 
14
- HITL stops; a later user invocation starts the next slice.
15
- Explicit `.devrites/AFK` alone lets the controlling root chain under green proof,
16
- caps and pause rules. Every wright returns after one slice.
14
+ Active caller takes precedence per [output.md](reference/output.md#caller-owned-continuation).
15
+ Standalone HITL stops; standalone AFK chains under green proof, caps and pause
16
+ rules. Every wright returns after one slice.
17
17
  **HITL:** `$rite-build --parallel N` (2≤N≤10; N=1≡serial) follows
18
18
  [`reference/parallel-batch.md`](reference/parallel-batch.md)
19
19
  ([`one-slice-cycle.md`](reference/one-slice-cycle.md)).
@@ -109,10 +109,9 @@ AFK charges per landed sibling only. Running lease blocks another
109
109
 
110
110
  Run every step in `reference/phase-contract.md`: readiness, one target, dispatch
111
111
  or canonical transaction, return inspection, independent code/doubt/test analysis,
112
- approved fail-on-red proof, record, AFK accounting, and stop. Use
112
+ approved fail-on-red proof, record, and applicable accounting. Continue/reply via
113
113
  [`reference/output.md`](reference/output.md) plus the shared
114
- [`reply contract`](../devrites-lib/reference/reply-contract.md). HITL never starts
115
- the next slice automatically; AFK obeys remaining budget; Prove requires every slice built except a
114
+ [`reply contract`](../devrites-lib/reference/reply-contract.md). Standalone AFK obeys remaining budget; Prove requires every slice built except a
116
115
  [deferred slice](../rite-plan/reference/slicing.md#deferred-slice).
117
116
 
118
117
  ## Phase exit
@@ -2,22 +2,20 @@
2
2
 
3
3
  > Root-only: not inlined in --role bundles.
4
4
 
5
- AFK mode is active when `.devrites/AFK` exists. It lets `$rite-build` chain slices
6
- without per-slice user input. The rules below limit that unattended work.
7
-
8
- Load the shared
5
+ `.devrites/AFK` enables unattended slice chaining. Load the shared
9
6
  [`afk-hitl.md`](../../devrites-lib/reference/standards/afk-hitl.md#the-sentinel-devritesafk)
10
- contract for the sentinel schema, defaults, gate ceiling, and mutable-counter
11
- ownership. This file owns only Build's dispatch, charging, and red-path behavior.
7
+ for sentinel schema, defaults, gate ceiling, and mutable-counter ownership.
8
+ This file owns Build dispatch, charging, and red paths.
12
9
 
13
- Rules: green before `built`; hard `max_slices` cap; gates before the action they
14
- control; irreversible work (destructive/auth/public API) always pauses; a tick
15
- never ends with an open or sealed wave — wait for its returns or
16
- `dispatch abandon --reason`.
10
+ Rules: green before `built`; gates before their action; irreversible work
11
+ (destructive/auth/public API) pauses; no tick ends with an open/sealed wave —
12
+ wait for returns or `dispatch abandon --reason`.
17
13
 
18
14
  ## Iteration cap
19
15
 
20
- The controlling root owns the cap:
16
+ Under active `$rite-autocomplete`, skip the slice-cap checks, charges, and cap-stop message below;
17
+ use its [admission rules](../../rite-autocomplete/reference/loop.md#admit-each-unattended-cycle).
18
+ Otherwise root owns cap:
21
19
 
22
20
  1. **Before every dispatch**, re-read `.devrites/AFK`, `state.md`, and the
23
21
  selected slice. This invocation's `--parallel N` is the cap when present;
@@ -10,12 +10,12 @@ Pack-wide rationalizations and red flags live in
10
10
 
11
11
  | Excuse | Rebuttal |
12
12
  |---|---|
13
- | "Slices 1 and 2 are related; let me do both." | HITL needs a later user invocation. Explicit `.devrites/AFK` may let the root chain only after green proof and cap/pause gates; each wright still returns after one. |
13
+ | "Slices 1 and 2 are related; let me do both." | Caller first: [output.md](output.md#caller-owned-continuation). Standalone HITL stops; standalone AFK chains after green proof and cap/pause gates; each wright returns after one. |
14
14
  | "It's faster to skip `devrites-doubt` for this small change." | Doubt is cheapest *before* the decision is standing. After is debugging. |
15
15
 
16
16
  ## Red Flags
17
17
 
18
- - About to start slice N+1 outside explicit AFK or before its green-proof/cap/pause gates.
18
+ - Next slice violates caller/standalone routing or proof/cap/pause gates.
19
19
  - Skipping `devrites-doubt` on a branching, boundary, data-model, auth, public-API, or migration decision.
20
20
  - Adding a dependency or a second design system without recording rationale in `decisions.md`.
21
21
  - Writing a `try/catch` block wider than what you handle.
@@ -54,11 +54,16 @@ BODY
54
54
 
55
55
  **Local-only:** never push or let scratch work trigger CI.
56
56
 
57
- After the commit lands, run `devrites-engine check regression <slug> --update`
58
- to ratchet the workspace progress baseline — the landed slice, newly checked
59
- acceptance criteria, and resolved questions become the new floor that later
60
- checks compare against. A `BLOCKED` compare before that ratchet means durable
61
- facts were lost this cycle; restore or route them before landing the commit.
57
+ After green landing (parallel: successful integrate), check `state.md`
58
+ outside fences before reselecting:
59
+
60
+ ```text
61
+ - [x] SLICE-004 built — <proof/checkpoint reference>
62
+ ```
63
+
64
+ A cursor `built_slices` value or a tasks.md `Status: built` field is not a substitute.
65
+ After landing: `devrites-engine check regression <slug> --update`. Before landing,
66
+ restore or route `BLOCKED` lost facts.
62
67
 
63
68
  ## Restore
64
69
  After a crash, a fresh session may read the last `WIP(<slug>)` body as crash context.
@@ -1,8 +1,8 @@
1
1
  # One-slice cycle
2
2
 
3
- One wright dispatch builds one thin, proven slice. HITL stops; only explicit
4
- `.devrites/AFK` lets the controlling root chain another pending slice under the
5
- green-proof, cap, and pause rules. Each wright returns after exactly one slice.
3
+ Each wright returns after one proven slice. Root follows
4
+ [`output.md`](output.md#caller-owned-continuation); standalone AFK uses
5
+ `afk-discipline.md`.
6
6
  This serial cycle is the default `$rite-build`. Opt-in fan-out: [`parallel-batch.md`](parallel-batch.md) (`--parallel N`).
7
7
 
8
8
  ## The cycle
@@ -31,7 +31,9 @@ RECORD → orchestrator: after green verification, update state.md/evidence.m
31
31
  upsert the authoritative candidate manifest from the actual scoped diff
32
32
  (CHECKPOINT) → only now, with review+proof green: local WIP(<slug>): <imperative summary>
33
33
  on the control branch (no slice id) → checkpoint.md
34
- NEXT → HITL root reports and stops. AFK with parallel cap>1: return to parallel-batch selection to refill; otherwise repeat under afk-discipline.md
34
+ NEXT → controlling caller first: return internally via output.md; no user-facing reply.
35
+ HITL stops. Standalone AFK with parallel cap>1:
36
+ return to parallel-batch selection to refill; otherwise repeat under afk-discipline.md
35
37
  ```
36
38
 
37
39
  ## Why the boundary matters