devrites 7.1.0 → 7.1.2

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 (183) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/README.md +1 -1
  3. package/pack/.claude/agents/devrites-upgrade-planner.md +12 -4
  4. package/pack/.claude/skills/devrites-debug-recovery/SKILL.md +21 -4
  5. package/pack/.claude/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +10 -3
  6. package/pack/.claude/skills/devrites-debug-recovery/reference/regression-test.md +7 -4
  7. package/pack/.claude/skills/devrites-lib/reference/reply-contract.md +11 -11
  8. package/pack/.claude/skills/devrites-lib/reference/standards/afk-hitl.md +52 -56
  9. package/pack/.claude/skills/devrites-lib/reference/standards/agents.md +11 -1
  10. package/pack/.claude/skills/devrites-lib/reference/standards/core.md +41 -40
  11. package/pack/.claude/skills/rite-autocomplete/SKILL.md +12 -14
  12. package/pack/.claude/skills/rite-autocomplete/reference/loop.md +44 -49
  13. package/pack/.claude/skills/rite-autocomplete/reference/stop-conditions.md +38 -39
  14. package/pack/.claude/skills/rite-build/SKILL.md +5 -6
  15. package/pack/.claude/skills/rite-build/reference/afk-discipline.md +9 -11
  16. package/pack/.claude/skills/rite-build/reference/anti-patterns.md +2 -2
  17. package/pack/.claude/skills/rite-build/reference/checkpoint.md +10 -5
  18. package/pack/.claude/skills/rite-build/reference/one-slice-cycle.md +6 -4
  19. package/pack/.claude/skills/rite-build/reference/output.md +15 -21
  20. package/pack/.claude/skills/rite-define/SKILL.md +28 -27
  21. package/pack/.claude/skills/rite-plan/SKILL.md +7 -2
  22. package/pack/.claude/skills/rite-plan/reference/replan-and-repair.md +5 -2
  23. package/pack/.claude/skills/rite-resolve/SKILL.md +17 -10
  24. package/pack/.claude/skills/rite-resolve/reference/answer-protocol.md +18 -6
  25. package/pack/.claude/skills/rite-review/SKILL.md +4 -4
  26. package/pack/.claude/skills/rite-review/reference/security-review.md +4 -2
  27. package/pack/.claude/skills/rite-seal/SKILL.md +28 -33
  28. package/pack/.claude/skills/rite-ship/SKILL.md +14 -7
  29. package/pack/.claude/skills/rite-temper/SKILL.md +18 -18
  30. package/pack/.claude/skills/rite-temper/reference/scope-modes.md +6 -7
  31. package/pack/.claude/skills/rite-upgrade/SKILL.md +7 -2
  32. package/pack/.claude/skills/rite-vet/SKILL.md +33 -34
  33. package/pack/generated/claude/agents/devrites-upgrade-planner.md +12 -4
  34. package/pack/generated/claude/skills/devrites-debug-recovery/SKILL.md +21 -4
  35. package/pack/generated/claude/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +10 -3
  36. package/pack/generated/claude/skills/devrites-debug-recovery/reference/regression-test.md +7 -4
  37. package/pack/generated/claude/skills/devrites-lib/reference/reply-contract.md +11 -11
  38. package/pack/generated/claude/skills/devrites-lib/reference/standards/afk-hitl.md +52 -56
  39. package/pack/generated/claude/skills/devrites-lib/reference/standards/agents.md +11 -1
  40. package/pack/generated/claude/skills/devrites-lib/reference/standards/core.md +41 -40
  41. package/pack/generated/claude/skills/rite-autocomplete/SKILL.md +12 -14
  42. package/pack/generated/claude/skills/rite-autocomplete/reference/loop.md +44 -49
  43. package/pack/generated/claude/skills/rite-autocomplete/reference/stop-conditions.md +38 -39
  44. package/pack/generated/claude/skills/rite-build/SKILL.md +5 -6
  45. package/pack/generated/claude/skills/rite-build/reference/afk-discipline.md +9 -11
  46. package/pack/generated/claude/skills/rite-build/reference/anti-patterns.md +2 -2
  47. package/pack/generated/claude/skills/rite-build/reference/checkpoint.md +10 -5
  48. package/pack/generated/claude/skills/rite-build/reference/one-slice-cycle.md +6 -4
  49. package/pack/generated/claude/skills/rite-build/reference/output.md +15 -21
  50. package/pack/generated/claude/skills/rite-define/SKILL.md +28 -27
  51. package/pack/generated/claude/skills/rite-plan/SKILL.md +7 -2
  52. package/pack/generated/claude/skills/rite-plan/reference/replan-and-repair.md +5 -2
  53. package/pack/generated/claude/skills/rite-resolve/SKILL.md +17 -10
  54. package/pack/generated/claude/skills/rite-resolve/reference/answer-protocol.md +18 -6
  55. package/pack/generated/claude/skills/rite-review/SKILL.md +4 -4
  56. package/pack/generated/claude/skills/rite-review/reference/security-review.md +4 -2
  57. package/pack/generated/claude/skills/rite-seal/SKILL.md +28 -33
  58. package/pack/generated/claude/skills/rite-ship/SKILL.md +14 -7
  59. package/pack/generated/claude/skills/rite-temper/SKILL.md +18 -18
  60. package/pack/generated/claude/skills/rite-temper/reference/scope-modes.md +6 -7
  61. package/pack/generated/claude/skills/rite-upgrade/SKILL.md +7 -2
  62. package/pack/generated/claude/skills/rite-vet/SKILL.md +33 -34
  63. package/pack/generated/codex/agents/devrites-upgrade-planner.toml +12 -4
  64. package/pack/generated/codex/skills/devrites-debug-recovery/SKILL.md +21 -4
  65. package/pack/generated/codex/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +10 -3
  66. package/pack/generated/codex/skills/devrites-debug-recovery/reference/regression-test.md +7 -4
  67. package/pack/generated/codex/skills/devrites-lib/reference/reply-contract.md +11 -11
  68. package/pack/generated/codex/skills/devrites-lib/reference/standards/afk-hitl.md +52 -56
  69. package/pack/generated/codex/skills/devrites-lib/reference/standards/agents.md +11 -1
  70. package/pack/generated/codex/skills/devrites-lib/reference/standards/core.md +41 -40
  71. package/pack/generated/codex/skills/rite-autocomplete/SKILL.md +12 -14
  72. package/pack/generated/codex/skills/rite-autocomplete/reference/loop.md +44 -49
  73. package/pack/generated/codex/skills/rite-autocomplete/reference/stop-conditions.md +38 -39
  74. package/pack/generated/codex/skills/rite-build/SKILL.md +5 -6
  75. package/pack/generated/codex/skills/rite-build/reference/afk-discipline.md +9 -11
  76. package/pack/generated/codex/skills/rite-build/reference/anti-patterns.md +2 -2
  77. package/pack/generated/codex/skills/rite-build/reference/checkpoint.md +10 -5
  78. package/pack/generated/codex/skills/rite-build/reference/one-slice-cycle.md +6 -4
  79. package/pack/generated/codex/skills/rite-build/reference/output.md +15 -21
  80. package/pack/generated/codex/skills/rite-define/SKILL.md +28 -27
  81. package/pack/generated/codex/skills/rite-plan/SKILL.md +7 -2
  82. package/pack/generated/codex/skills/rite-plan/reference/replan-and-repair.md +5 -2
  83. package/pack/generated/codex/skills/rite-resolve/SKILL.md +17 -10
  84. package/pack/generated/codex/skills/rite-resolve/reference/answer-protocol.md +18 -6
  85. package/pack/generated/codex/skills/rite-review/SKILL.md +4 -4
  86. package/pack/generated/codex/skills/rite-review/reference/security-review.md +4 -2
  87. package/pack/generated/codex/skills/rite-seal/SKILL.md +28 -33
  88. package/pack/generated/codex/skills/rite-ship/SKILL.md +14 -7
  89. package/pack/generated/codex/skills/rite-temper/SKILL.md +18 -18
  90. package/pack/generated/codex/skills/rite-temper/reference/scope-modes.md +6 -7
  91. package/pack/generated/codex/skills/rite-upgrade/SKILL.md +7 -2
  92. package/pack/generated/codex/skills/rite-vet/SKILL.md +33 -34
  93. package/pack/generated/devin/agents/devrites-upgrade-planner.md +12 -4
  94. package/pack/generated/devin/skills/devrites-debug-recovery/SKILL.md +21 -4
  95. package/pack/generated/devin/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +10 -3
  96. package/pack/generated/devin/skills/devrites-debug-recovery/reference/regression-test.md +7 -4
  97. package/pack/generated/devin/skills/devrites-lib/reference/reply-contract.md +11 -11
  98. package/pack/generated/devin/skills/devrites-lib/reference/standards/afk-hitl.md +52 -56
  99. package/pack/generated/devin/skills/devrites-lib/reference/standards/agents.md +11 -1
  100. package/pack/generated/devin/skills/devrites-lib/reference/standards/core.md +41 -40
  101. package/pack/generated/devin/skills/rite-autocomplete/SKILL.md +12 -14
  102. package/pack/generated/devin/skills/rite-autocomplete/reference/loop.md +44 -49
  103. package/pack/generated/devin/skills/rite-autocomplete/reference/stop-conditions.md +38 -39
  104. package/pack/generated/devin/skills/rite-build/SKILL.md +5 -6
  105. package/pack/generated/devin/skills/rite-build/reference/afk-discipline.md +9 -11
  106. package/pack/generated/devin/skills/rite-build/reference/anti-patterns.md +2 -2
  107. package/pack/generated/devin/skills/rite-build/reference/checkpoint.md +10 -5
  108. package/pack/generated/devin/skills/rite-build/reference/one-slice-cycle.md +6 -4
  109. package/pack/generated/devin/skills/rite-build/reference/output.md +15 -21
  110. package/pack/generated/devin/skills/rite-define/SKILL.md +28 -27
  111. package/pack/generated/devin/skills/rite-plan/SKILL.md +7 -2
  112. package/pack/generated/devin/skills/rite-plan/reference/replan-and-repair.md +5 -2
  113. package/pack/generated/devin/skills/rite-resolve/SKILL.md +17 -10
  114. package/pack/generated/devin/skills/rite-resolve/reference/answer-protocol.md +18 -6
  115. package/pack/generated/devin/skills/rite-review/SKILL.md +4 -4
  116. package/pack/generated/devin/skills/rite-review/reference/security-review.md +4 -2
  117. package/pack/generated/devin/skills/rite-seal/SKILL.md +28 -33
  118. package/pack/generated/devin/skills/rite-ship/SKILL.md +14 -7
  119. package/pack/generated/devin/skills/rite-temper/SKILL.md +18 -18
  120. package/pack/generated/devin/skills/rite-temper/reference/scope-modes.md +6 -7
  121. package/pack/generated/devin/skills/rite-upgrade/SKILL.md +7 -2
  122. package/pack/generated/devin/skills/rite-vet/SKILL.md +33 -34
  123. package/pack/generated/omp/agents/devrites-upgrade-planner.md +12 -4
  124. package/pack/generated/omp/skills/devrites-debug-recovery/SKILL.md +21 -4
  125. package/pack/generated/omp/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +10 -3
  126. package/pack/generated/omp/skills/devrites-debug-recovery/reference/regression-test.md +7 -4
  127. package/pack/generated/omp/skills/devrites-lib/reference/reply-contract.md +11 -11
  128. package/pack/generated/omp/skills/devrites-lib/reference/standards/afk-hitl.md +52 -56
  129. package/pack/generated/omp/skills/devrites-lib/reference/standards/agents.md +11 -1
  130. package/pack/generated/omp/skills/devrites-lib/reference/standards/core.md +41 -40
  131. package/pack/generated/omp/skills/rite-autocomplete/SKILL.md +12 -14
  132. package/pack/generated/omp/skills/rite-autocomplete/reference/loop.md +44 -49
  133. package/pack/generated/omp/skills/rite-autocomplete/reference/stop-conditions.md +38 -39
  134. package/pack/generated/omp/skills/rite-build/SKILL.md +5 -6
  135. package/pack/generated/omp/skills/rite-build/reference/afk-discipline.md +9 -11
  136. package/pack/generated/omp/skills/rite-build/reference/anti-patterns.md +2 -2
  137. package/pack/generated/omp/skills/rite-build/reference/checkpoint.md +10 -5
  138. package/pack/generated/omp/skills/rite-build/reference/one-slice-cycle.md +6 -4
  139. package/pack/generated/omp/skills/rite-build/reference/output.md +15 -21
  140. package/pack/generated/omp/skills/rite-define/SKILL.md +28 -27
  141. package/pack/generated/omp/skills/rite-plan/SKILL.md +7 -2
  142. package/pack/generated/omp/skills/rite-plan/reference/replan-and-repair.md +5 -2
  143. package/pack/generated/omp/skills/rite-resolve/SKILL.md +17 -10
  144. package/pack/generated/omp/skills/rite-resolve/reference/answer-protocol.md +18 -6
  145. package/pack/generated/omp/skills/rite-review/SKILL.md +4 -4
  146. package/pack/generated/omp/skills/rite-review/reference/security-review.md +4 -2
  147. package/pack/generated/omp/skills/rite-seal/SKILL.md +28 -33
  148. package/pack/generated/omp/skills/rite-ship/SKILL.md +14 -7
  149. package/pack/generated/omp/skills/rite-temper/SKILL.md +18 -18
  150. package/pack/generated/omp/skills/rite-temper/reference/scope-modes.md +6 -7
  151. package/pack/generated/omp/skills/rite-upgrade/SKILL.md +7 -2
  152. package/pack/generated/omp/skills/rite-vet/SKILL.md +33 -34
  153. package/pack/generated/pi/agents/devrites-upgrade-planner.md +12 -4
  154. package/pack/generated/pi/skills/devrites-debug-recovery/SKILL.md +21 -4
  155. package/pack/generated/pi/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +10 -3
  156. package/pack/generated/pi/skills/devrites-debug-recovery/reference/regression-test.md +7 -4
  157. package/pack/generated/pi/skills/devrites-lib/reference/reply-contract.md +11 -11
  158. package/pack/generated/pi/skills/devrites-lib/reference/standards/afk-hitl.md +52 -56
  159. package/pack/generated/pi/skills/devrites-lib/reference/standards/agents.md +11 -1
  160. package/pack/generated/pi/skills/devrites-lib/reference/standards/core.md +41 -40
  161. package/pack/generated/pi/skills/rite-autocomplete/SKILL.md +12 -14
  162. package/pack/generated/pi/skills/rite-autocomplete/reference/loop.md +44 -49
  163. package/pack/generated/pi/skills/rite-autocomplete/reference/stop-conditions.md +38 -39
  164. package/pack/generated/pi/skills/rite-build/SKILL.md +5 -6
  165. package/pack/generated/pi/skills/rite-build/reference/afk-discipline.md +9 -11
  166. package/pack/generated/pi/skills/rite-build/reference/anti-patterns.md +2 -2
  167. package/pack/generated/pi/skills/rite-build/reference/checkpoint.md +10 -5
  168. package/pack/generated/pi/skills/rite-build/reference/one-slice-cycle.md +6 -4
  169. package/pack/generated/pi/skills/rite-build/reference/output.md +15 -21
  170. package/pack/generated/pi/skills/rite-define/SKILL.md +28 -27
  171. package/pack/generated/pi/skills/rite-plan/SKILL.md +7 -2
  172. package/pack/generated/pi/skills/rite-plan/reference/replan-and-repair.md +5 -2
  173. package/pack/generated/pi/skills/rite-resolve/SKILL.md +17 -10
  174. package/pack/generated/pi/skills/rite-resolve/reference/answer-protocol.md +18 -6
  175. package/pack/generated/pi/skills/rite-review/SKILL.md +4 -4
  176. package/pack/generated/pi/skills/rite-review/reference/security-review.md +4 -2
  177. package/pack/generated/pi/skills/rite-seal/SKILL.md +28 -33
  178. package/pack/generated/pi/skills/rite-ship/SKILL.md +14 -7
  179. package/pack/generated/pi/skills/rite-temper/SKILL.md +18 -18
  180. package/pack/generated/pi/skills/rite-temper/reference/scope-modes.md +6 -7
  181. package/pack/generated/pi/skills/rite-upgrade/SKILL.md +7 -2
  182. package/pack/generated/pi/skills/rite-vet/SKILL.md +33 -34
  183. package/package.json +1 -1
@@ -138,30 +138,28 @@ next sequence continuation through Vet in a second session, then stop.
138
138
  product scope is never auto-resolved by a recommended option; it stops for a human.
139
139
  A spent strategy escalates; parked recovery records
140
140
  `Next step: /rite-autocomplete`, never a routine phase command. **Completion:** no stop is active, or its cursor and reason are durable.
141
- 6. **Seal boundary.** Without a ship flag, leave the sealed workspace unshipped and
142
- open the next recorded continuation
141
+ 6. **Seal boundary.** With or without a ship flag, leave intermediate sealed
142
+ workspaces unshipped and open the next recorded continuation
143
143
  ([loop.md § Sequence continuation](reference/loop.md#sequence-continuation))
144
144
  unless `continue_sequence: false`, the sequence budget is spent, or no entry
145
- remains; then stop at Seal GO with `/rite-ship`. Report the sequence position on
146
- every stop.
147
- With a ship flag, perform Ship preflight, disclose the exact Git plan, and stop for
148
- fresh literal `GO` plus native approval. **Completion:** performed no Git action before fresh literal `GO` plus native approval.
145
+ remains. At that boundary without a ship flag, stop at Seal GO with `/rite-ship`.
146
+ Report sequence position at every stop. Only at that boundary, with a ship flag, perform Ship preflight,
147
+ disclose the exact Git plan, and stop for fresh literal `GO` plus native approval. **Completion:** performed no Git action before fresh literal `GO` plus native approval.
149
148
 
150
149
  ## Reply and resume
151
150
 
152
- HITL Build returns after one slice; Autocomplete ignores `--max-slices` and
153
- keeps chaining pending slices. One Autocomplete invocation owns all internal
154
- backtracking. Context pressure, compaction, or a nested completion footer does
151
+ HITL Build returns after one slice; Autocomplete ignores `--max-slices`, chaining
152
+ pending slices. Each Autocomplete invocation owns internal backtracking. Context pressure, compaction, or a nested completion footer does
155
153
  not create a stop; persist and resume the cursor.
156
154
 
157
- Reply only at a final state, never as mid-run progress: a text-only turn ends
158
- the run, so after a compaction or phase change keep calling tools. Use one terse line:
155
+ Reply only at final state: text-only turns end the run. Keep
156
+ calling tools after compaction or phase changes. Use one line:
159
157
 
160
158
  ```text
161
159
  Autocomplete: <slug>
162
160
  spec <done|stopped> · clarify <clear|stopped> · temper <done|stopped> · define <done|stopped> · vet <ready|stopped> · build <n/N|stopped> · prove <done|stopped> · polish <done|stopped> · review <done|stopped> · seal <GO|NO-GO|stopped>
163
161
  ```
164
162
 
165
- Final state is `Shipped`, `Stopped`, `Awaiting human`, `NO-GO`, or `GO`; do not
166
- write a narrative recap. Require a clean or accepted baseline, land a local
167
- unpushed checkpoint after each green check, and never auto-pass a red gate.
163
+ Final state: `Shipped`, `Stopped`, `Awaiting human`, `NO-GO`, or `GO`; no narrative
164
+ recap. Require clean or accepted baseline; land local unpushed checkpoints after
165
+ each green check; never auto-pass red gates.
@@ -1,7 +1,6 @@
1
1
  # The autocomplete loop: arm AFK, drive every phase
2
2
 
3
- Autocomplete sequences existing `/rite-*` workflows without pausing between
4
- routine phases. Acceptance-preserving Reslice authority is
3
+ Autocomplete chains existing `/rite-*` workflows without routine-phase pauses. Acceptance-preserving Reslice authority is
5
4
  `.claude/skills/devrites-lib/reference/standards/acceptance-preserving-reslice.md`.
6
5
 
7
6
  <!-- BEGIN RESLICE ROUTE-TO-ACTION -->
@@ -21,7 +20,7 @@ allow_gates: [advisory, validating]
21
20
  # notify: "<cmd>"
22
21
  ```
23
22
 
24
- Read an existing sentinel first. Preserve it byte-for-byte when valid, except
23
+ Read existing sentinel first. Preserve valid bytes, except
25
24
  when this invocation contains `--parallel N`: then write or replace only
26
25
  `max_parallel: N` and leave every other key unchanged. Stop if the sentinel is
27
26
  malformed. Do not stop because it names `max_slices` / `max_agents` /
@@ -39,24 +38,22 @@ remaining. AFK configuration itself stays unchanged.
39
38
 
40
39
  ### Admit each unattended cycle
41
40
 
42
- Before every phase, review fan-out, recovery, or writer dispatch: cheapest
41
+ Before each phase, review fan-out, recovery, or writer dispatch: cheapest
43
42
  readiness check first; reject overlap. Do not stop on `max_agents`,
44
- `max_minutes`, or `max_review_queue`. Count every leaf result. A new activation
45
- gets fresh activation-local counters but retains durable slice/recovery state.
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`).
43
+ `max_minutes`, or `max_review_queue`. Count every leaf result. New activations reset activation-local counters, retaining durable slice/recovery state.
44
+
45
+ [Build return](../../rite-build/reference/output.md#caller-owned-continuation).
46
+ Pass `--parallel N`; ignore leftover cap/headroom, remaining-0,
47
+ and `--max-slices` stops. Agent-invented dispatch, wait, tool-call, or turn budgets are not stop conditions.
48
+ An explicit human request to pause or run only a bounded subset still wins.
49
+ Path collisions serialize work; they do not end the run.
50
+ Resolve ranked validating/blocking picks via `devrites-engine state resolve`;
51
+ never hand `/rite-resolve` to the user. Escalating, irreversible-risk, access, blocking
52
+ without recommendations, and Seal judgment (`slice: seal`) still pause.
56
53
 
57
54
  ## Phase arc
58
55
 
59
- Workspace files carry state; chat does not. Read and execute each phase skill:
56
+ Workspace files, not chat, carry state. Read/execute each phase skill:
60
57
 
61
58
  | Step | Phase | Completion / edge |
62
59
  | --- | --- | --- |
@@ -65,16 +62,15 @@ Workspace files carry state; chat does not. Read and execute each phase skill:
65
62
  | 3 | `/rite-temper` | harden or reduce; `expand` and extra acceptance stop for a human; irreversible risk still pauses |
66
63
  | 4 | `/rite-define` | approved plan/tasks/traceability |
67
64
  | 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 |
65
+ | 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
66
  | 7 | `/rite-prove` | all slices built except deferred (`Satisfies: none`); approved proof; recovery on red |
70
67
  | 8 | `/rite-polish` | re-prove after code edits |
71
68
  | 9 | `/rite-review` | in-scope correction then fresh proof |
72
69
  | 10 | `/rite-seal` | GO/NO-GO; no Git |
73
70
  | 11 | `/rite-ship` | only after GO; `--ship` never authorizes Git; stop at literal-GO/native approval |
74
71
 
75
- Before advancing, check
76
- [stop-conditions.md](stop-conditions.md). After source edits, discard stale pass
77
- evidence. Re-read the active workspace before each phase. On a cold resume or
72
+ Check [stop-conditions.md](stop-conditions.md) before advancing. Discard stale
73
+ pass evidence after source edits. Re-read active workspace before each phase. On a cold resume or
78
74
  new activation, run `devrites-engine check regression <slug>`: `BLOCKED` names a
79
75
  durable fact lost since the last checkpoint — restore or route it through its
80
76
  owning phase before continuing; `unproven` does not block. After each phase's
@@ -91,37 +87,35 @@ step 10 does not end the run: leave the sealed workspace unshipped with its
91
87
  (`/rite-spec <parent>-<n> "<objective>"` from the parent's `decisions.md` sequence)
92
88
  and re-enter step 1. Spend one workspace per opened continuation.
93
89
 
94
- When that workspace already exists because a [lookahead](lookahead.md) session
95
- planned it, do not specify it again. Wait while `devrites-engine claim check
96
- --workspace <child>` exits 3 (a live lookahead holds it), then set
97
- `.devrites/ACTIVE` to the child and resume from its cursor at step 1. A
98
- predecessor replan since its Vet blocks the child's readiness with
99
- `DRV-GATE-READINESS-STALE`; route that to `/rite-vet` before Build.
100
-
101
- Spend accounting is durable in `state.md` cursors, not chat. Before invoking the
102
- continuation, ensure the current workspace's `sequence_workspaces_remaining` is
103
- set — absent, write `max_workspaces - 1` and `sequence_position: 1` first — and
104
- `> 0`. `/rite-spec` seeds the child's sequence cursor at creation per the
90
+ For a child already planned by [lookahead](lookahead.md), do not re-specify.
91
+ Wait while `devrites-engine claim check --workspace <child>` exits 3 (live
92
+ lookahead), then set `.devrites/ACTIVE` to the child and resume its cursor at
93
+ step 1. A predecessor replan since its Vet blocks child readiness with
94
+ `DRV-GATE-READINESS-STALE`; route to `/rite-vet` before Build.
95
+
96
+ Before invoking a continuation, require durable `state.md`
97
+ `sequence_workspaces_remaining > 0`; if absent, first write
98
+ `max_workspaces - 1` and `sequence_position: 1`. `/rite-spec` seeds the child's sequence cursor at creation per the
105
99
  [continuation contract](../../rite-plan/reference/slicing.md#continuation-workspaces);
106
- after the child's `state.md` exists, verify it — `sequence_parent` = the current
107
- slug, `sequence_position` = parent position + 1,
100
+ verify the created child's `state.md`: `sequence_parent` = current slug,
101
+ `sequence_position` = parent position + 1,
108
102
  `sequence_workspaces_remaining` = parent remaining − 1, and — when the recorded
109
103
  entry is the sequence's release milestone — `sequence_role: release` (gates then
110
- require the union manifest). On resume, a child whose
111
- fields are missing is re-seeded from its `brief.md` parent/position and the
112
- parent's counter (same values, never a second charge); a child with no recorded
113
- parent/position is not a sequence member and the chain stops.
114
-
115
- Stop instead when: no recorded next entry; the cap or review-queue bound is
116
- reached; a human-owned, safety, access, or parked-recovery stop fires; or Seal returns
117
- `NO-GO`. On stop, report the sequence position, the sealed-but-unshipped workspaces, and
118
- the single release command (`/rite-autocomplete <release milestone> --ship`, or
104
+ require the union manifest). On resume, re-seed missing child fields from its `brief.md` parent/position and
105
+ parent counter (same values, no second charge). No recorded parent/position
106
+ means no sequence membership: stop the chain.
107
+
108
+ Stop sequence continuation when: `continue_sequence: false`; no recorded next
109
+ entry (the final milestone); the `max_workspaces` cap is reached; or a genuine
110
+ human-owned, safety, access, or parked-recovery stop fires. `max_review_queue`
111
+ never stops Autocomplete; agent-owned Seal `NO-GO` enters recovery, not a handoff.
112
+ Intermediate sealed milestones continue without `--ship` and without Git mutation. On stop, report sequence position, sealed/unshipped workspaces, and
113
+ one release command (`/rite-autocomplete <release milestone> --ship`, or
119
114
  `/rite-ship` for the current sealed workspace when the sequence is complete).
120
115
 
121
116
  ## Backtrack without handing off
122
117
 
123
- The active Autocomplete root remains caller whenever a later phase exposes an
124
- agent-owned earlier-phase gap:
118
+ Autocomplete remains caller for agent-owned earlier-phase gaps:
125
119
 
126
120
  1. Save the originating phase/action unless a valid native return cursor exists.
127
121
  2. On cold resume, reconcile the terminal cursor against durable fingerprint
@@ -151,6 +145,8 @@ and park it after three escalations while independent work continues.
151
145
 
152
146
  ## Continuous caller obligation
153
147
 
148
+ Green slice/phase checkpoints consume their recorded `next_action` internally;
149
+ only the caller replies finally at completion or a genuine stop.
154
150
  No user-facing reply is permitted while durable state contains agent-owned
155
151
  `NEEDS_REPLAN`, an intermediate Plan/Vet action, a distinct retained
156
152
  Critical/Important fingerprint below its cap or with an escalation left, runnable
@@ -161,7 +157,6 @@ already names a ranked recommended option. Invoke the next internal repair or
161
157
  `state resolve` exits 1 on every call and the loop re-invokes it without end. A narrow reviewer closing one finding and exposing another
162
158
  Critical/Important invariant is progress, not exhaustion.
163
159
 
164
- The number of completed repair/Vet cycles is not a stop condition. Context
165
- pressure, compaction, session duration, and nested completion do not convert an
166
- internal checkpoint into a handoff. Persist it and resume until the requested
167
- rest point or a shared human/safety/access/parked-recovery condition.
160
+ The number of completed repair/Vet cycles, context pressure, compaction, session
161
+ duration, and nested completion never turn checkpoints into handoffs. Persist and
162
+ resume to the requested rest point or shared human/safety/access/parked-recovery stop.
@@ -1,9 +1,8 @@
1
1
  # Stop conditions: when autocomplete pauses
2
2
 
3
- On a real stop, write `state.md` as `awaiting_human` or `blocked`, persist the
4
- reason, and include one resume command. Agent-owned recovery never ends the run:
5
- a spent strategy escalates and a fully escalated fingerprint parks while other
6
- work continues ([retry contract](../../devrites-lib/reference/standards/afk-hitl.md#retry-cap-no-progress-loops-and-self-resolve)).
3
+ On real stops, persist `state.md` `awaiting_human` or `blocked`, reason, and one
4
+ resume command. Agent-owned recovery never ends the run: spent strategies
5
+ escalate; fully escalated fingerprints park while other work continues ([retry contract](../../devrites-lib/reference/standards/afk-hitl.md#retry-cap-no-progress-loops-and-self-resolve)).
7
6
  `--ship` never bypasses a stop.
8
7
 
9
8
  Authority: `.claude/skills/devrites-lib/reference/standards/acceptance-preserving-reslice.md`.
@@ -14,7 +13,7 @@ Authority: `.claude/skills/devrites-lib/reference/standards/acceptance-preservin
14
13
 
15
14
  ## Always stop
16
15
 
17
- Regardless of flags or AFK ceiling:
16
+ Flags/AFK ceiling never override:
18
17
 
19
18
  - destructive data migration;
20
19
  - auth/authz boundary change;
@@ -22,8 +21,8 @@ Regardless of flags or AFK ceiling:
22
21
  - external-service contract change; or
23
22
  - filesystem destruction outside the workspace.
24
23
 
25
- Red proof cannot advance. Run bounded Debug Recovery and escalate spent
26
- strategies; a fully escalated fingerprint parks unless the remaining owner is human.
24
+ Red proof cannot advance. Run bounded Debug Recovery; escalate spent strategies.
25
+ Fully escalated fingerprints park unless remaining owner is human.
27
26
 
28
27
  ## Not stops: internal technical routing
29
28
 
@@ -32,13 +31,12 @@ forward work, persists the return cursor, and invokes Plan repair plus Recovery
32
31
  Vet inline. The same applies to nested `STOP`/`Next step` when its decision is
33
32
  agent-owned.
34
33
 
35
- Agent-owned backtracking is not a stop condition while the exact causal
36
- fingerprint has budget. Invoke the earlier phase, affected Vet, remediation, and
37
- proof; then resume the origin. Three no-progress corrections of that exact
38
- fingerprint spend only its current strategy: escalate to the next correction
39
- class inline (shared root cause, diagnostic amplification, boundary redesign)
40
- with a fresh budget, never asking permission. After three escalations in this
41
- activation the fingerprint parks; finish all independent work, then stop once.
34
+ Agent-owned backtracking is not a stop condition while its exact causal
35
+ fingerprint has budget: invoke earlier phase, affected Vet, remediation, proof;
36
+ resume origin. Three no-progress corrections spend only that fingerprint's current
37
+ strategy: escalate inline to the next class (shared root cause, diagnostic
38
+ amplification, boundary redesign) with fresh budget, without permission. After
39
+ three escalations per activation it parks; finish independent work, then stop once.
42
40
  Preserve reproduction, attempts, and dead ends; never offer `/rite-plan unblock`
43
41
  or another routine phase command. A new user-issued `/rite-autocomplete`
44
42
  reopens parked fingerprints with fresh escalation; wakes and compaction do not.
@@ -50,11 +48,10 @@ It blocks another execution; retained new Critical/Important evidence still
50
48
  enters offline recovery. After affected Vet is READY, pause for fresh action
51
49
  authorization and never reuse old GO.
52
50
 
53
- Past evidence being irretrievable is not by itself terminal. If an in-scope
54
- trusted seam can uniquely discriminate the next failure, run diagnostic-
55
- amplification Plan repair and narrow Vet inline, then pause for fresh GO before
56
- one evidence-acquisition attempt. Without a safe seam, escalate to the next
57
- class or park; only a real human/risk/scope gate stops for a human.
51
+ Past evidence being irretrievable is not by itself terminal. If an in-scope trusted seam
52
+ uniquely discriminates the next failure, run diagnostic-amplification Plan repair
53
+ and narrow Vet inline; pause for fresh GO before one evidence-acquisition attempt.
54
+ Without a safe seam, escalate or park; only a real human/risk/scope gate stops for a human.
58
55
 
59
56
  <!-- workflow-artifact-adapter: {"module":"devrites-lib/reference/standards/workflow-artifacts.md","entry":"classifier returns owner-busy, exhausted, or existing hard gate","action":"escalate BLOCKED_EXHAUSTED; on WAIT_ACTIVE_OWNER run independent work and recheck; stop on exact BLOCKED_GATE result","return":"unchanged cursor plus fixed route-owned output"} -->
60
57
  ## Other stop classes
@@ -74,10 +71,9 @@ class or park; only a real human/risk/scope gate stops for a human.
74
71
  - **Clarify:** material `open`/unowned decision coverage or a
75
72
  low-confidence high-consequence assumption. Continue the initial interview;
76
73
  never arm AFK early.
77
- - **Seal:** remaining NO-GO after recommended-option questions are closed, with
78
- every remaining blocker and fix direction. Never round up to GO. An open
79
- recommended-option blocking question is not a Seal stop: resolve it, recover
80
- agent-owned findings, then re-enter Seal. A first NO-GO is not a stop either:
74
+ - **Seal:** report remaining NO-GO with every blocker/fix direction; never round
75
+ up to GO. Resolve recommended-option blocking questions internally; recover
76
+ agent-owned findings and re-enter Seal. A first NO-GO is not a stop:
81
77
  recover every agent-owned blocker (missing or unbound proof, a reviewer gap root
82
78
  can close, a finding with a fix direction, a missing `review.md` verdict), then
83
79
  re-enter Seal. The unattended `N` to accepting Important risks means repair, not
@@ -95,23 +91,26 @@ class or park; only a real human/risk/scope gate stops for a human.
95
91
  - **Resource envelope:** overlapping run or missing AFK after arm still stops.
96
92
  Do not stop on `--max-slices`, `max_agents`, `max_minutes`, or `max_review_queue`.
97
93
  - **Confidence:** intent still cannot become testable acceptance after interview.
98
- - **Repeated failure:** not a stop. Escalate; a fully escalated fingerprint parks,
99
- and the run stops only once no independent work remains.
100
- - **Resolver failure:** `devrites-engine state resolve` not found, or nonzero exit.
101
- Never hand-edit `questions.md`/`state.md` in its place. Not found stops at once;
102
- nonzero allows one identical re-run (the fingerprint is command + exit code +
103
- decisive stderr line; an unchanged re-run is not a correction, so no further
104
- attempts). Then stop `blocked` with the exact command, exit code, and stderr line,
105
- and resume action `/rite-doctor`.
94
+ - **Repeated failure:** not a stop. Escalate; fully escalated fingerprints park.
95
+ Stop only when no independent work remains.
96
+ - **Resolver failure:** `devrites-engine state resolve` missing or nonzero.
97
+ Never hand-edit `questions.md`/`state.md` instead. Missing stops immediately;
98
+ nonzero permits one identical re-run (fingerprint: command + exit code + decisive
99
+ stderr line; unchanged re-run is no correction, no further attempts). Then stop
100
+ `blocked`: exact command, exit code, stderr line; resume via `/rite-doctor`.
106
101
 
107
102
  ## Final GO and durable stop
108
103
 
109
- `--ship`/`--yolo` never authorizes Git. With a flag, complete Ship preflight,
110
- disclose the exact plan, and stop for literal `GO` plus native approval. Without
111
- one, stop at Seal GO with `/rite-ship`. Seal GO, AFK, prior approval, and flags
112
- never satisfy Ship approval.
104
+ With a recorded continuation, no opt-out, and workspace budget, Seal GO stays
105
+ internal: continue without `--ship`, leaving milestones sealed/unshipped. Only the
106
+ final milestone, explicit `continue_sequence: false`, or exhausted sequence cap
107
+ ends green sequence continuation.
113
108
 
114
- A cold-resumable stop records `state.md` status, exact reason, and one resume
115
- action: the human-owned action, or `/rite-autocomplete` to reopen parked
116
- fingerprints; the owning question/drift/seal entry explains it. The user-facing line says what stopped
117
- and, only when applicable, what human action resumes it.
109
+ There, `--ship`/`--yolo` requires [Ship preflight](../../rite-ship/reference/git-ship.md#before-type-go):
110
+ disclose exact plan; stop for fresh literal `GO` plus native approval.
111
+ Without flags, stop at Seal GO with `/rite-ship`. Seal GO never authorizes Git
112
+ or satisfies Ship approval; neither do AFK, prior approval, or flags.
113
+
114
+ Record cold-resumable `state.md` stops: status, exact reason, one resume action
115
+ (human-owned or `/rite-autocomplete` to reopen parked fingerprints). Explain in
116
+ owning question/drift/seal entry. Tell user what stopped and any required human action.
@@ -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.
@@ -147,21 +147,18 @@ Pull these via `Read` when shaping the plan:
147
147
  cross-slice boundary names producer, consumer, invariant, integration step, and proof.
148
148
  Map each applicable topology/data/integration risk to a slice, failure/recovery path,
149
149
  and discriminating proof; a risk cannot live only in the architecture narrative.
150
- 4a. **Persist traceability natively.** The drafter proposes and root writes
150
+ 4a. **Persist traceability natively.** Drafter proposes; root writes
151
151
  `traceability.md` (`AC/REQ ID → slice → proof → evidence ID → files → status`).
152
- Re-read spec, tasks, and proof fields: every ID must exist and every mapping
153
- preserve meaning, not just labels. Reject orphans, inventions, and false mappings;
154
- `/rite-prove` and `/rite-seal` read this file directly. Reference the plan's
155
- `Shared contract proof` rows from existing slice/proof mappings; do not create a second
156
- traceability system.
157
- 5. **Complexity and deviations gate:** justify anything outside DevRites defaults (new dep,
158
- extra abstraction, second design system) in the plan; if you can't justify it, simplify.
159
- **Principles conformance:** read `.devrites/principles.md` (if present) and confirm the
160
- approach honors every declared invariant. A plan that conflicts with one is not "a deviation
161
- to justify away": either reshape the approach to conform, or, when the conflict is genuine and
162
- intended, route it through the Spec Drift Guard plus a recorded decision and a scoped principle
163
- exception a human approves. Never ready a plan that silently violates an invariant. (Re-scored
164
- as a blocking gate at `/rite-vet`; no file → none declared → nothing to check.)
152
+ Re-read spec/tasks/proof: require real IDs, meaning-preserving mappings, not
153
+ just labels. Reject orphans/inventions/false mappings. `/rite-prove` and
154
+ `/rite-seal` read it directly. Reference plan `Shared contract proof` rows from
155
+ existing slice/proof mappings; never create a second traceability system.
156
+ 5. **Complexity and deviations gate:** justify deviations from DevRites defaults
157
+ (new dep, extra abstraction, second design system) in plan; else simplify.
158
+ **Principles conformance:** honor all `.devrites/principles.md` invariants
159
+ (absent → none). Reshape conflicts; intended genuine conflicts need Spec Drift
160
+ Guard, a recorded decision, and a human-approved scoped principle exception.
161
+ Never ready silent violations; `/rite-vet` re-scores this blocking gate.
165
162
  6. **Write** `architecture.md`, `plan.md`, `tasks.md`, and `traceability.md` — save the
166
163
  accepted bundle under `packets/` and apply it with `devrites-engine state
167
164
  apply-bundle <slug> <bundle.json>` before root reconciliation edits; update
@@ -169,27 +166,31 @@ Pull these via `Read` when shaping the plan:
169
166
  `flows.md` (**Mermaid-first**). If a richer reviewable visual earns it, emit
170
167
  `visual/<flow>.html` + `visual/<flow>.outline.md` after loading matching playbooks from
171
168
  [`../devrites-lib/reference/visual-playbooks/index.md`](../devrites-lib/reference/visual-playbooks/index.md)
172
- (progressive; never preload all seven), link the pair from `flows.md`, treat outline as
173
- SSOT (outline wins), and never require Lavish or a new phase.
174
- 6a. **Cross-artifact gate.** Read spec, tasks, and traceability together: every
175
- buildable AC/REQ maps to an existing slice/proof, every slice maps to real
176
- acceptance, and names/prose agree. Missing, duplicate, contradictory, or
177
- meaning-changing mappings block. Then run
169
+ (progressive; never preload all seven), link both from `flows.md`; outline is
170
+ SSOT (wins). No Lavish or new phase required.
171
+ 6a. **Cross-artifact gate.** Read spec/tasks/traceability together: each buildable
172
+ AC/REQ maps to existing slice/proof; each slice maps to real acceptance;
173
+ names/prose agree. Missing, duplicate, contradictory, or meaning-changing
174
+ mappings block. Run
178
175
  `devrites-engine check task-graph <slug> --strict`; a malformed dependency graph, or a
179
176
  shared path written by `hubAdvisoryMin`+ slices with no `Serial rationale:`, blocks
180
- before Vet rather than spending a reviewer context on invalid tasks. Resolve each
177
+ before Vet; no reviewer context for invalid tasks. Resolve each
181
178
  `ADVISORY size:`/`hub:`/`chain:` line now (split or seam slice, or a rationale);
182
179
  `--strict` refuses the contended plan, the default run only advises.
183
180
  7. **Readiness gate** (`plan-template.md`): require CLEAR coverage; complete acceptance,
184
181
  wiring, shared-contract proof, applicable outputs, and rollback; risk-first acyclic order;
185
182
  justified deviations; and every horizon item present, with blockers resolved, planning
186
183
  items resolved/validly spiked, and local/action entries bounded and owned.
187
- **Stop and confirm** before code. Render the review-before-code
188
- digest first: `Intent` (one sentence from the spec), `Done means` (acceptance coverage x/y),
189
- `Plan sanity` (slice count + riskiest boundary/gate), `Expected build interruptions`
190
- (`none` or only justified action-time gates), and `Build exactly this?` (yes → approve;
191
- no → `/rite-plan revise`). When the human confirms the plan, write `Plan approved: <iso>` to
192
- `state.md` (see [state-workspace](../rite-spec/reference/state-workspace.md)).
184
+ **Standalone: stop and confirm** before code. Render digest: `Intent` (one
185
+ spec sentence), `Done means` (AC coverage x/y), `Plan sanity` (slice count +
186
+ riskiest boundary/gate), `Expected build interruptions` (`none` or justified
187
+ action-time gates), `Build exactly this?` (yes → approve; no → `/rite-plan revise`).
188
+ Human confirmation writes `Plan approved: <iso>` to `state.md`
189
+ ([state-workspace](../rite-spec/reference/state-workspace.md)).
190
+ Under active `/rite-autocomplete`, once this readiness gate is green and no
191
+ unresolved human-owned decision, irreversible-risk, scope, or access gate remains,
192
+ root writes autonomous approval to existing `Plan approved: <iso>` cursor and records Autocomplete provenance and rationale in `decisions.md`;
193
+ never claim human approval. Return internally for `/rite-vet`. Plan approval grants no protected-path, Git, or safety authority.
193
194
 
194
195
  ## tasks.md slice format
195
196
 
@@ -170,8 +170,13 @@ Before classifying any Reslice, read `.claude/skills/devrites-lib/reference/stan
170
170
  the previous vet verdict: set `Phase: plan`, `Next step: /rite-vet`, and, when
171
171
  `eng-review.md` exists, set `Implementation readiness: NEEDS REPLAN`. Never retain READY
172
172
  across changed planning inputs. Preserve `Plan approved` only for behavior/acceptance-neutral
173
- technical repair; clear it for a contract-changing or newly blocking horizon item and
174
- reconfirm only after Clarify and Vet close it. If you stopped for drift,
173
+ technical repair; clear it for a contract-changing or newly blocking horizon item.
174
+ Settle human decisions and restore current `CLEAR` coverage through Clarify,
175
+ then obtain renewed Plan approval BEFORE Vet using only
176
+ [`rite-define`'s readiness/approval rule](../rite-define/SKILL.md), not its initial
177
+ decomposition. Under active Autocomplete, retain that rule's explicit autonomous
178
+ provenance in `decisions.md` — never claim human approval. Approval grants no
179
+ protected-path, Git, or safety authority. If you stopped for drift,
175
180
  mark the `drift.md` entry resolved. Never remove or overwrite a valid caller
176
181
  return cursor while writing the Plan checkpoint.
177
182
  6. After editing `brief.md`, `spec.md`, `decisions.md`, `assumptions.md`, or `questions.md`,