devrites 6.3.0 → 6.4.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 +12 -0
  2. package/README.md +1 -1
  3. package/pack/.claude/skills/devrites-lib/reference/standards/agents.md +3 -0
  4. package/pack/.claude/skills/rite-autocomplete/reference/loop.md +1 -1
  5. package/pack/.claude/skills/rite-build/SKILL.md +2 -1
  6. package/pack/.claude/skills/rite-define/SKILL.md +1 -1
  7. package/pack/.claude/skills/rite-plan/reference/slicing.md +7 -0
  8. package/pack/.claude/skills/rite-prove/SKILL.md +1 -1
  9. package/pack/.claude/skills/rite-vet/reference/artifacts.md +3 -2
  10. package/pack/generated/claude/skills/devrites-lib/reference/standards/agents.md +3 -0
  11. package/pack/generated/claude/skills/rite-autocomplete/reference/loop.md +1 -1
  12. package/pack/generated/claude/skills/rite-build/SKILL.md +2 -1
  13. package/pack/generated/claude/skills/rite-define/SKILL.md +1 -1
  14. package/pack/generated/claude/skills/rite-plan/reference/slicing.md +7 -0
  15. package/pack/generated/claude/skills/rite-prove/SKILL.md +1 -1
  16. package/pack/generated/claude/skills/rite-vet/reference/artifacts.md +3 -2
  17. package/pack/generated/codex/skills/devrites-lib/reference/standards/agents.md +3 -0
  18. package/pack/generated/codex/skills/rite-autocomplete/reference/loop.md +1 -1
  19. package/pack/generated/codex/skills/rite-build/SKILL.md +2 -1
  20. package/pack/generated/codex/skills/rite-define/SKILL.md +1 -1
  21. package/pack/generated/codex/skills/rite-plan/reference/slicing.md +7 -0
  22. package/pack/generated/codex/skills/rite-prove/SKILL.md +1 -1
  23. package/pack/generated/codex/skills/rite-vet/reference/artifacts.md +3 -2
  24. package/pack/generated/devin/skills/devrites-lib/reference/standards/agents.md +3 -0
  25. package/pack/generated/devin/skills/rite-autocomplete/reference/loop.md +1 -1
  26. package/pack/generated/devin/skills/rite-build/SKILL.md +2 -1
  27. package/pack/generated/devin/skills/rite-define/SKILL.md +1 -1
  28. package/pack/generated/devin/skills/rite-plan/reference/slicing.md +7 -0
  29. package/pack/generated/devin/skills/rite-prove/SKILL.md +1 -1
  30. package/pack/generated/devin/skills/rite-vet/reference/artifacts.md +3 -2
  31. package/pack/generated/omp/skills/devrites-lib/reference/standards/agents.md +3 -0
  32. package/pack/generated/omp/skills/rite-autocomplete/reference/loop.md +1 -1
  33. package/pack/generated/omp/skills/rite-build/SKILL.md +2 -1
  34. package/pack/generated/omp/skills/rite-define/SKILL.md +1 -1
  35. package/pack/generated/omp/skills/rite-plan/reference/slicing.md +7 -0
  36. package/pack/generated/omp/skills/rite-prove/SKILL.md +1 -1
  37. package/pack/generated/omp/skills/rite-vet/reference/artifacts.md +3 -2
  38. package/pack/generated/pi/skills/devrites-lib/reference/standards/agents.md +3 -0
  39. package/pack/generated/pi/skills/rite-autocomplete/reference/loop.md +1 -1
  40. package/pack/generated/pi/skills/rite-build/SKILL.md +2 -1
  41. package/pack/generated/pi/skills/rite-define/SKILL.md +1 -1
  42. package/pack/generated/pi/skills/rite-plan/reference/slicing.md +7 -0
  43. package/pack/generated/pi/skills/rite-prove/SKILL.md +1 -1
  44. package/pack/generated/pi/skills/rite-vet/reference/artifacts.md +3 -2
  45. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,18 @@
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
+ ## [6.4.1](https://github.com/ViktorsBaikers/DevRites/compare/v6.4.0...v6.4.1) (2026-10-16)
6
+
7
+ ### Fixed
8
+
9
+ * **devrites:** never message a running read-only leaf ([#115](https://github.com/ViktorsBaikers/DevRites/issues/115)) ([bd0428b](https://github.com/ViktorsBaikers/DevRites/commit/bd0428bd7bdce9c604198a1f8baf809df7e863cf))
10
+
11
+ ## [6.4.0](https://github.com/ViktorsBaikers/DevRites/compare/v6.3.0...v6.4.0) (2026-10-16)
12
+
13
+ ### Added
14
+
15
+ * **devrites:** let Satisfies: none slices stay deferred ([#114](https://github.com/ViktorsBaikers/DevRites/issues/114)) ([d5bf85a](https://github.com/ViktorsBaikers/DevRites/commit/d5bf85a926f856625131ba297679f5db4d6be909))
16
+
5
17
  ## [6.3.0](https://github.com/ViktorsBaikers/DevRites/compare/v6.2.0...v6.3.0) (2026-10-16)
6
18
 
7
19
  ### 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:** [`v6.3.0`](https://github.com/ViktorsBaikers/DevRites/releases/tag/v6.3.0): see [`CHANGELOG.md`](CHANGELOG.md) for release notes.
34
+ **Status:** [`v6.4.1`](https://github.com/ViktorsBaikers/DevRites/releases/tag/v6.4.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
 
@@ -83,6 +83,9 @@ session B's `claim check` passes at minute 35 over session A's still-running wri
83
83
  ## Independence
84
84
 
85
85
  - A fresh result sees scope/paths-diff/rubric only — never another result's or the root's conclusions, severities, expected verdicts, chosen verification methods, or edited context; seeding voids the packet. Canonical workspace artifacts in the engine-generated `--role` read-set (state cursor, decisions, `strategy.md` scores, prior review records) are inputs, not seeding: a verdict they record is a historical claim the reviewer re-verifies, never this pass's conclusion. The same holds for status, readiness-checklist, or gate lines inside a read-set artifact (e.g. a `spec.md` `Status:`/`Spec gate:` line from an older workspace). Never hand-edit installed read-sets or swap them for excerpts to strip that history.
86
+ - Never message a running read-only leaf: a mid-run note voids it like a seeded packet.
87
+ Root proof that lands after dispatch is weighed at reconciliation, not forwarded; a
88
+ leaf gap it would close (e.g. "no independent runtime run") closes there.
86
89
  - **Verify the packet is clean before admitting the account.** Confirm the returned packet/trace carries no host-injected context: an automatic memory/summary banner naming an earlier phase verdict (e.g. `past Temper PASS … next is /rite-define`) or harness reminder text seeds the pass and voids it. Cancel that account — never admit it — name the lost coverage, and re-dispatch with the host's context injection disabled for that child. Tool config changes that do not stop native child auto-injection are not a fix; verify on the next spawn instead of assuming.
87
90
  - A parent-context pass contributes attributed evidence but is not independent: exclude it from independent accounting and name the lost coverage.
88
91
  - Final severity is set at reconciliation after re-verifying the claimed consequence at the cited site (reviewer severity advisory); dismissals record a reason, and true facts about neighboring code route elsewhere instead of being dismissed.
@@ -66,7 +66,7 @@ Workspace files carry state; chat does not. Read and execute each phase skill:
66
66
  | 4 | `/rite-define` | approved plan/tasks/traceability |
67
67
  | 5 | `/rite-vet` | every plan; derive mutable budget after READY |
68
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 |
69
- | 7 | `/rite-prove` | all slices built; approved proof; recovery on red |
69
+ | 7 | `/rite-prove` | all slices built except deferred (`Satisfies: none`); approved proof; recovery on red |
70
70
  | 8 | `/rite-polish` | re-prove after code edits |
71
71
  | 9 | `/rite-review` | in-scope correction then fresh proof |
72
72
  | 10 | `/rite-seal` | GO/NO-GO; no Git |
@@ -110,7 +110,8 @@ or canonical transaction, return inspection, independent code/doubt/test analysi
110
110
  approved fail-on-red proof, record, AFK accounting, and stop. Use
111
111
  [`reference/output.md`](reference/output.md) plus the shared
112
112
  [`reply contract`](../devrites-lib/reference/reply-contract.md). HITL never starts
113
- the next slice automatically; AFK obeys remaining budget; Prove requires all slices built.
113
+ the next slice automatically; AFK obeys remaining budget; Prove requires every slice built except a
114
+ [deferred slice](../rite-plan/reference/slicing.md#deferred-slice).
114
115
 
115
116
  ## Phase exit
116
117
 
@@ -131,7 +131,7 @@ Pull these via `Read` when shaping the plan:
131
131
  expand this into repository-wide coverage.
132
132
  4. **Map coverage and wiring:** every `AC-###` spec acceptance criterion maps to ≥1 `SLICE-###`
133
133
  ([`acceptance-criteria.md`](../rite-spec/reference/acceptance-criteria.md)); no orphaned criteria, no slice without a
134
- criterion. Every proof row quotes the spec line it proves (`Proves`); proof that proves
134
+ criterion except a [deferred slice](../rite-plan/reference/slicing.md#deferred-slice). Every proof row quotes the spec line it proves (`Proves`); proof that proves
135
135
  none goes to `test-plan.md` `## Deferred hardening`, never into a slice
136
136
  ([artifacts.md](../rite-vet/reference/artifacts.md)). Lift covered/backstop `Edge Coverage` rows and resolved `Prohibitions (must-NOT)`
137
137
  rows into `traceability.md` and `test-plan.md`; unresolved rows get a gate/owner. Each
@@ -173,3 +173,10 @@ Slices sharing a file never build side by side: put a hub file's shared edit
173
173
  (registry, command table, test harness) in one seam slice the others depend on.
174
174
  `check task-graph` prints the `schedule:` and `ADVISORY hub:` lines; inseparable
175
175
  writes get `Serial rationale: <why>`. Never merge slices or drop acceptance to widen it.
176
+
177
+ ## Deferred slice
178
+ A slice with `Satisfies: none` is an optional follow-up: plan-invented hardening or
179
+ owner-moved scope kept with its preserved source and contracts. It carries no acceptance
180
+ (every AC still maps to a required slice), is never dispatched (`check slice` refuses
181
+ it), and never counts toward "all slices built", Prove, or Seal. The owner elects it
182
+ later through a plan change that gives it an AC.
@@ -64,7 +64,7 @@ test changes.
64
64
  and no-progress corrections before accepting terminal none; a distinct
65
65
  fingerprint below cap resumes offline triage without another real action.
66
66
  2. **Freeze scope.** Read spec, tasks, state, test plan, and full diff. Require
67
- every slice built. Missing `test-plan.md` returns to Vet inline (Prove stays the controlling
67
+ every slice built except a [deferred slice](../rite-plan/reference/slicing.md#deferred-slice). Missing `test-plan.md` returns to Vet inline (Prove stays the controlling
68
68
  caller) and resumes here; it never authorizes ad hoc proof.
69
69
  3. **Approve commands.** If absent, use
70
70
  [test-command-discovery](reference/test-command-discovery.md) over repository
@@ -138,8 +138,9 @@ none is plan-invented hardening: move it to `Deferred hardening`.
138
138
  |---|---|---|---|
139
139
  | D1 | <proof or mechanism> | <reason> | <the spec line an owner would add> |
140
140
 
141
- Deferred rows are an optional follow-up slice: not built, proven, or gating in this
142
- feature; this table is their follow-up record. Nothing is deleted.
141
+ Deferred rows, like a [deferred slice](../../rite-plan/reference/slicing.md#deferred-slice),
142
+ are not built, proven, or gating in this feature; this table is their follow-up record.
143
+ Nothing is deleted.
143
144
 
144
145
  ## Interaction inventory (UI slices — every element + flow gets an asserting test)
145
146
  Enumerate every interactive element and user flow the feature exposes; one row each, none
@@ -83,6 +83,9 @@ session B's `claim check` passes at minute 35 over session A's still-running wri
83
83
  ## Independence
84
84
 
85
85
  - A fresh result sees scope/paths-diff/rubric only — never another result's or the root's conclusions, severities, expected verdicts, chosen verification methods, or edited context; seeding voids the packet. Canonical workspace artifacts in the engine-generated `--role` read-set (state cursor, decisions, `strategy.md` scores, prior review records) are inputs, not seeding: a verdict they record is a historical claim the reviewer re-verifies, never this pass's conclusion. The same holds for status, readiness-checklist, or gate lines inside a read-set artifact (e.g. a `spec.md` `Status:`/`Spec gate:` line from an older workspace). Never hand-edit installed read-sets or swap them for excerpts to strip that history.
86
+ - Never message a running read-only leaf: a mid-run note voids it like a seeded packet.
87
+ Root proof that lands after dispatch is weighed at reconciliation, not forwarded; a
88
+ leaf gap it would close (e.g. "no independent runtime run") closes there.
86
89
  - **Verify the packet is clean before admitting the account.** Confirm the returned packet/trace carries no host-injected context: an automatic memory/summary banner naming an earlier phase verdict (e.g. `past Temper PASS … next is /rite-define`) or harness reminder text seeds the pass and voids it. Cancel that account — never admit it — name the lost coverage, and re-dispatch with the host's context injection disabled for that child. Tool config changes that do not stop native child auto-injection are not a fix; verify on the next spawn instead of assuming.
87
90
  - A parent-context pass contributes attributed evidence but is not independent: exclude it from independent accounting and name the lost coverage.
88
91
  - Final severity is set at reconciliation after re-verifying the claimed consequence at the cited site (reviewer severity advisory); dismissals record a reason, and true facts about neighboring code route elsewhere instead of being dismissed.
@@ -68,7 +68,7 @@ Workspace files carry state; chat does not. Read and execute each phase skill:
68
68
  | 4 | `/rite-define` | approved plan/tasks/traceability |
69
69
  | 5 | `/rite-vet` | every plan; derive mutable budget after READY |
70
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 |
71
- | 7 | `/rite-prove` | all slices built; approved proof; recovery on red |
71
+ | 7 | `/rite-prove` | all slices built except deferred (`Satisfies: none`); approved proof; recovery on red |
72
72
  | 8 | `/rite-polish` | re-prove after code edits |
73
73
  | 9 | `/rite-review` | in-scope correction then fresh proof |
74
74
  | 10 | `/rite-seal` | GO/NO-GO; no Git |
@@ -110,7 +110,8 @@ or canonical transaction, return inspection, independent code/doubt/test analysi
110
110
  approved fail-on-red proof, record, AFK accounting, and stop. Use
111
111
  [`reference/output.md`](reference/output.md) plus the shared
112
112
  [`reply contract`](../devrites-lib/reference/reply-contract.md). HITL never starts
113
- the next slice automatically; AFK obeys remaining budget; Prove requires all slices built.
113
+ the next slice automatically; AFK obeys remaining budget; Prove requires every slice built except a
114
+ [deferred slice](../rite-plan/reference/slicing.md#deferred-slice).
114
115
 
115
116
  ## Phase exit
116
117
 
@@ -131,7 +131,7 @@ Pull these via `Read` when shaping the plan:
131
131
  expand this into repository-wide coverage.
132
132
  4. **Map coverage and wiring:** every `AC-###` spec acceptance criterion maps to ≥1 `SLICE-###`
133
133
  ([`acceptance-criteria.md`](../rite-spec/reference/acceptance-criteria.md)); no orphaned criteria, no slice without a
134
- criterion. Every proof row quotes the spec line it proves (`Proves`); proof that proves
134
+ criterion except a [deferred slice](../rite-plan/reference/slicing.md#deferred-slice). Every proof row quotes the spec line it proves (`Proves`); proof that proves
135
135
  none goes to `test-plan.md` `## Deferred hardening`, never into a slice
136
136
  ([artifacts.md](../rite-vet/reference/artifacts.md)). Lift covered/backstop `Edge Coverage` rows and resolved `Prohibitions (must-NOT)`
137
137
  rows into `traceability.md` and `test-plan.md`; unresolved rows get a gate/owner. Each
@@ -173,3 +173,10 @@ Slices sharing a file never build side by side: put a hub file's shared edit
173
173
  (registry, command table, test harness) in one seam slice the others depend on.
174
174
  `check task-graph` prints the `schedule:` and `ADVISORY hub:` lines; inseparable
175
175
  writes get `Serial rationale: <why>`. Never merge slices or drop acceptance to widen it.
176
+
177
+ ## Deferred slice
178
+ A slice with `Satisfies: none` is an optional follow-up: plan-invented hardening or
179
+ owner-moved scope kept with its preserved source and contracts. It carries no acceptance
180
+ (every AC still maps to a required slice), is never dispatched (`check slice` refuses
181
+ it), and never counts toward "all slices built", Prove, or Seal. The owner elects it
182
+ later through a plan change that gives it an AC.
@@ -64,7 +64,7 @@ test changes.
64
64
  and no-progress corrections before accepting terminal none; a distinct
65
65
  fingerprint below cap resumes offline triage without another real action.
66
66
  2. **Freeze scope.** Read spec, tasks, state, test plan, and full diff. Require
67
- every slice built. Missing `test-plan.md` returns to Vet inline (Prove stays the controlling
67
+ every slice built except a [deferred slice](../rite-plan/reference/slicing.md#deferred-slice). Missing `test-plan.md` returns to Vet inline (Prove stays the controlling
68
68
  caller) and resumes here; it never authorizes ad hoc proof.
69
69
  3. **Approve commands.** If absent, use
70
70
  [test-command-discovery](reference/test-command-discovery.md) over repository
@@ -140,8 +140,9 @@ none is plan-invented hardening: move it to `Deferred hardening`.
140
140
  |---|---|---|---|
141
141
  | D1 | <proof or mechanism> | <reason> | <the spec line an owner would add> |
142
142
 
143
- Deferred rows are an optional follow-up slice: not built, proven, or gating in this
144
- feature; this table is their follow-up record. Nothing is deleted.
143
+ Deferred rows, like a [deferred slice](../../rite-plan/reference/slicing.md#deferred-slice),
144
+ are not built, proven, or gating in this feature; this table is their follow-up record.
145
+ Nothing is deleted.
145
146
 
146
147
  ## Interaction inventory (UI slices — every element + flow gets an asserting test)
147
148
  Enumerate every interactive element and user flow the feature exposes; one row each, none
@@ -83,6 +83,9 @@ session B's `claim check` passes at minute 35 over session A's still-running wri
83
83
  ## Independence
84
84
 
85
85
  - A fresh result sees scope/paths-diff/rubric only — never another result's or the root's conclusions, severities, expected verdicts, chosen verification methods, or edited context; seeding voids the packet. Canonical workspace artifacts in the engine-generated `--role` read-set (state cursor, decisions, `strategy.md` scores, prior review records) are inputs, not seeding: a verdict they record is a historical claim the reviewer re-verifies, never this pass's conclusion. The same holds for status, readiness-checklist, or gate lines inside a read-set artifact (e.g. a `spec.md` `Status:`/`Spec gate:` line from an older workspace). Never hand-edit installed read-sets or swap them for excerpts to strip that history.
86
+ - Never message a running read-only leaf: a mid-run note voids it like a seeded packet.
87
+ Root proof that lands after dispatch is weighed at reconciliation, not forwarded; a
88
+ leaf gap it would close (e.g. "no independent runtime run") closes there.
86
89
  - **Verify the packet is clean before admitting the account.** Confirm the returned packet/trace carries no host-injected context: an automatic memory/summary banner naming an earlier phase verdict (e.g. `past Temper PASS … next is $rite-define`) or harness reminder text seeds the pass and voids it. Cancel that account — never admit it — name the lost coverage, and re-dispatch with the host's context injection disabled for that child. Tool config changes that do not stop native child auto-injection are not a fix; verify on the next spawn instead of assuming.
87
90
  - A parent-context pass contributes attributed evidence but is not independent: exclude it from independent accounting and name the lost coverage.
88
91
  - Final severity is set at reconciliation after re-verifying the claimed consequence at the cited site (reviewer severity advisory); dismissals record a reason, and true facts about neighboring code route elsewhere instead of being dismissed.
@@ -68,7 +68,7 @@ Workspace files carry state; chat does not. Read and execute each phase skill:
68
68
  | 4 | `$rite-define` | approved plan/tasks/traceability |
69
69
  | 5 | `$rite-vet` | every plan; derive mutable budget after READY |
70
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 |
71
- | 7 | `$rite-prove` | all slices built; approved proof; recovery on red |
71
+ | 7 | `$rite-prove` | all slices built except deferred (`Satisfies: none`); approved proof; recovery on red |
72
72
  | 8 | `$rite-polish` | re-prove after code edits |
73
73
  | 9 | `$rite-review` | in-scope correction then fresh proof |
74
74
  | 10 | `$rite-seal` | GO/NO-GO; no Git |
@@ -110,7 +110,8 @@ or canonical transaction, return inspection, independent code/doubt/test analysi
110
110
  approved fail-on-red proof, record, AFK accounting, and stop. Use
111
111
  [`reference/output.md`](reference/output.md) plus the shared
112
112
  [`reply contract`](../devrites-lib/reference/reply-contract.md). HITL never starts
113
- the next slice automatically; AFK obeys remaining budget; Prove requires all slices built.
113
+ the next slice automatically; AFK obeys remaining budget; Prove requires every slice built except a
114
+ [deferred slice](../rite-plan/reference/slicing.md#deferred-slice).
114
115
 
115
116
  ## Phase exit
116
117
 
@@ -131,7 +131,7 @@ Pull these via `Read` when shaping the plan:
131
131
  expand this into repository-wide coverage.
132
132
  4. **Map coverage and wiring:** every `AC-###` spec acceptance criterion maps to ≥1 `SLICE-###`
133
133
  ([`acceptance-criteria.md`](../rite-spec/reference/acceptance-criteria.md)); no orphaned criteria, no slice without a
134
- criterion. Every proof row quotes the spec line it proves (`Proves`); proof that proves
134
+ criterion except a [deferred slice](../rite-plan/reference/slicing.md#deferred-slice). Every proof row quotes the spec line it proves (`Proves`); proof that proves
135
135
  none goes to `test-plan.md` `## Deferred hardening`, never into a slice
136
136
  ([artifacts.md](../rite-vet/reference/artifacts.md)). Lift covered/backstop `Edge Coverage` rows and resolved `Prohibitions (must-NOT)`
137
137
  rows into `traceability.md` and `test-plan.md`; unresolved rows get a gate/owner. Each
@@ -173,3 +173,10 @@ Slices sharing a file never build side by side: put a hub file's shared edit
173
173
  (registry, command table, test harness) in one seam slice the others depend on.
174
174
  `check task-graph` prints the `schedule:` and `ADVISORY hub:` lines; inseparable
175
175
  writes get `Serial rationale: <why>`. Never merge slices or drop acceptance to widen it.
176
+
177
+ ## Deferred slice
178
+ A slice with `Satisfies: none` is an optional follow-up: plan-invented hardening or
179
+ owner-moved scope kept with its preserved source and contracts. It carries no acceptance
180
+ (every AC still maps to a required slice), is never dispatched (`check slice` refuses
181
+ it), and never counts toward "all slices built", Prove, or Seal. The owner elects it
182
+ later through a plan change that gives it an AC.
@@ -64,7 +64,7 @@ test changes.
64
64
  and no-progress corrections before accepting terminal none; a distinct
65
65
  fingerprint below cap resumes offline triage without another real action.
66
66
  2. **Freeze scope.** Read spec, tasks, state, test plan, and full diff. Require
67
- every slice built. Missing `test-plan.md` returns to Vet inline (Prove stays the controlling
67
+ every slice built except a [deferred slice](../rite-plan/reference/slicing.md#deferred-slice). Missing `test-plan.md` returns to Vet inline (Prove stays the controlling
68
68
  caller) and resumes here; it never authorizes ad hoc proof.
69
69
  3. **Approve commands.** If absent, use
70
70
  [test-command-discovery](reference/test-command-discovery.md) over repository
@@ -140,8 +140,9 @@ none is plan-invented hardening: move it to `Deferred hardening`.
140
140
  |---|---|---|---|
141
141
  | D1 | <proof or mechanism> | <reason> | <the spec line an owner would add> |
142
142
 
143
- Deferred rows are an optional follow-up slice: not built, proven, or gating in this
144
- feature; this table is their follow-up record. Nothing is deleted.
143
+ Deferred rows, like a [deferred slice](../../rite-plan/reference/slicing.md#deferred-slice),
144
+ are not built, proven, or gating in this feature; this table is their follow-up record.
145
+ Nothing is deleted.
145
146
 
146
147
  ## Interaction inventory (UI slices — every element + flow gets an asserting test)
147
148
  Enumerate every interactive element and user flow the feature exposes; one row each, none
@@ -83,6 +83,9 @@ session B's `claim check` passes at minute 35 over session A's still-running wri
83
83
  ## Independence
84
84
 
85
85
  - A fresh result sees scope/paths-diff/rubric only — never another result's or the root's conclusions, severities, expected verdicts, chosen verification methods, or edited context; seeding voids the packet. Canonical workspace artifacts in the engine-generated `--role` read-set (state cursor, decisions, `strategy.md` scores, prior review records) are inputs, not seeding: a verdict they record is a historical claim the reviewer re-verifies, never this pass's conclusion. The same holds for status, readiness-checklist, or gate lines inside a read-set artifact (e.g. a `spec.md` `Status:`/`Spec gate:` line from an older workspace). Never hand-edit installed read-sets or swap them for excerpts to strip that history.
86
+ - Never message a running read-only leaf: a mid-run note voids it like a seeded packet.
87
+ Root proof that lands after dispatch is weighed at reconciliation, not forwarded; a
88
+ leaf gap it would close (e.g. "no independent runtime run") closes there.
86
89
  - **Verify the packet is clean before admitting the account.** Confirm the returned packet/trace carries no host-injected context: an automatic memory/summary banner naming an earlier phase verdict (e.g. `past Temper PASS … next is /rite-define`) or harness reminder text seeds the pass and voids it. Cancel that account — never admit it — name the lost coverage, and re-dispatch with the host's context injection disabled for that child. Tool config changes that do not stop native child auto-injection are not a fix; verify on the next spawn instead of assuming.
87
90
  - A parent-context pass contributes attributed evidence but is not independent: exclude it from independent accounting and name the lost coverage.
88
91
  - Final severity is set at reconciliation after re-verifying the claimed consequence at the cited site (reviewer severity advisory); dismissals record a reason, and true facts about neighboring code route elsewhere instead of being dismissed.
@@ -68,7 +68,7 @@ Workspace files carry state; chat does not. Read and execute each phase skill:
68
68
  | 4 | `/rite-define` | approved plan/tasks/traceability |
69
69
  | 5 | `/rite-vet` | every plan; derive mutable budget after READY |
70
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 |
71
- | 7 | `/rite-prove` | all slices built; approved proof; recovery on red |
71
+ | 7 | `/rite-prove` | all slices built except deferred (`Satisfies: none`); approved proof; recovery on red |
72
72
  | 8 | `/rite-polish` | re-prove after code edits |
73
73
  | 9 | `/rite-review` | in-scope correction then fresh proof |
74
74
  | 10 | `/rite-seal` | GO/NO-GO; no Git |
@@ -109,7 +109,8 @@ or canonical transaction, return inspection, independent code/doubt/test analysi
109
109
  approved fail-on-red proof, record, AFK accounting, and stop. Use
110
110
  [`reference/output.md`](reference/output.md) plus the shared
111
111
  [`reply contract`](../devrites-lib/reference/reply-contract.md). HITL never starts
112
- the next slice automatically; AFK obeys remaining budget; Prove requires all slices built.
112
+ the next slice automatically; AFK obeys remaining budget; Prove requires every slice built except a
113
+ [deferred slice](../rite-plan/reference/slicing.md#deferred-slice).
113
114
 
114
115
  ## Phase exit
115
116
 
@@ -130,7 +130,7 @@ Pull these via `Read` when shaping the plan:
130
130
  expand this into repository-wide coverage.
131
131
  4. **Map coverage and wiring:** every `AC-###` spec acceptance criterion maps to ≥1 `SLICE-###`
132
132
  ([`acceptance-criteria.md`](../rite-spec/reference/acceptance-criteria.md)); no orphaned criteria, no slice without a
133
- criterion. Every proof row quotes the spec line it proves (`Proves`); proof that proves
133
+ criterion except a [deferred slice](../rite-plan/reference/slicing.md#deferred-slice). Every proof row quotes the spec line it proves (`Proves`); proof that proves
134
134
  none goes to `test-plan.md` `## Deferred hardening`, never into a slice
135
135
  ([artifacts.md](../rite-vet/reference/artifacts.md)). Lift covered/backstop `Edge Coverage` rows and resolved `Prohibitions (must-NOT)`
136
136
  rows into `traceability.md` and `test-plan.md`; unresolved rows get a gate/owner. Each
@@ -173,3 +173,10 @@ Slices sharing a file never build side by side: put a hub file's shared edit
173
173
  (registry, command table, test harness) in one seam slice the others depend on.
174
174
  `check task-graph` prints the `schedule:` and `ADVISORY hub:` lines; inseparable
175
175
  writes get `Serial rationale: <why>`. Never merge slices or drop acceptance to widen it.
176
+
177
+ ## Deferred slice
178
+ A slice with `Satisfies: none` is an optional follow-up: plan-invented hardening or
179
+ owner-moved scope kept with its preserved source and contracts. It carries no acceptance
180
+ (every AC still maps to a required slice), is never dispatched (`check slice` refuses
181
+ it), and never counts toward "all slices built", Prove, or Seal. The owner elects it
182
+ later through a plan change that gives it an AC.
@@ -63,7 +63,7 @@ test changes.
63
63
  and no-progress corrections before accepting terminal none; a distinct
64
64
  fingerprint below cap resumes offline triage without another real action.
65
65
  2. **Freeze scope.** Read spec, tasks, state, test plan, and full diff. Require
66
- every slice built. Missing `test-plan.md` returns to Vet inline (Prove stays the controlling
66
+ every slice built except a [deferred slice](../rite-plan/reference/slicing.md#deferred-slice). Missing `test-plan.md` returns to Vet inline (Prove stays the controlling
67
67
  caller) and resumes here; it never authorizes ad hoc proof.
68
68
  3. **Approve commands.** If absent, use
69
69
  [test-command-discovery](reference/test-command-discovery.md) over repository
@@ -140,8 +140,9 @@ none is plan-invented hardening: move it to `Deferred hardening`.
140
140
  |---|---|---|---|
141
141
  | D1 | <proof or mechanism> | <reason> | <the spec line an owner would add> |
142
142
 
143
- Deferred rows are an optional follow-up slice: not built, proven, or gating in this
144
- feature; this table is their follow-up record. Nothing is deleted.
143
+ Deferred rows, like a [deferred slice](../../rite-plan/reference/slicing.md#deferred-slice),
144
+ are not built, proven, or gating in this feature; this table is their follow-up record.
145
+ Nothing is deleted.
145
146
 
146
147
  ## Interaction inventory (UI slices — every element + flow gets an asserting test)
147
148
  Enumerate every interactive element and user flow the feature exposes; one row each, none
@@ -83,6 +83,9 @@ session B's `claim check` passes at minute 35 over session A's still-running wri
83
83
  ## Independence
84
84
 
85
85
  - A fresh result sees scope/paths-diff/rubric only — never another result's or the root's conclusions, severities, expected verdicts, chosen verification methods, or edited context; seeding voids the packet. Canonical workspace artifacts in the engine-generated `--role` read-set (state cursor, decisions, `strategy.md` scores, prior review records) are inputs, not seeding: a verdict they record is a historical claim the reviewer re-verifies, never this pass's conclusion. The same holds for status, readiness-checklist, or gate lines inside a read-set artifact (e.g. a `spec.md` `Status:`/`Spec gate:` line from an older workspace). Never hand-edit installed read-sets or swap them for excerpts to strip that history.
86
+ - Never message a running read-only leaf: a mid-run note voids it like a seeded packet.
87
+ Root proof that lands after dispatch is weighed at reconciliation, not forwarded; a
88
+ leaf gap it would close (e.g. "no independent runtime run") closes there.
86
89
  - **Verify the packet is clean before admitting the account.** Confirm the returned packet/trace carries no host-injected context: an automatic memory/summary banner naming an earlier phase verdict (e.g. `past Temper PASS … next is /rite-define`) or harness reminder text seeds the pass and voids it. Cancel that account — never admit it — name the lost coverage, and re-dispatch with the host's context injection disabled for that child. Tool config changes that do not stop native child auto-injection are not a fix; verify on the next spawn instead of assuming.
87
90
  - A parent-context pass contributes attributed evidence but is not independent: exclude it from independent accounting and name the lost coverage.
88
91
  - Final severity is set at reconciliation after re-verifying the claimed consequence at the cited site (reviewer severity advisory); dismissals record a reason, and true facts about neighboring code route elsewhere instead of being dismissed.
@@ -68,7 +68,7 @@ Workspace files carry state; chat does not. Read and execute each phase skill:
68
68
  | 4 | `/rite-define` | approved plan/tasks/traceability |
69
69
  | 5 | `/rite-vet` | every plan; derive mutable budget after READY |
70
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 |
71
- | 7 | `/rite-prove` | all slices built; approved proof; recovery on red |
71
+ | 7 | `/rite-prove` | all slices built except deferred (`Satisfies: none`); approved proof; recovery on red |
72
72
  | 8 | `/rite-polish` | re-prove after code edits |
73
73
  | 9 | `/rite-review` | in-scope correction then fresh proof |
74
74
  | 10 | `/rite-seal` | GO/NO-GO; no Git |
@@ -110,7 +110,8 @@ or canonical transaction, return inspection, independent code/doubt/test analysi
110
110
  approved fail-on-red proof, record, AFK accounting, and stop. Use
111
111
  [`reference/output.md`](reference/output.md) plus the shared
112
112
  [`reply contract`](skill://devrites-lib/reference/reply-contract.md). HITL never starts
113
- the next slice automatically; AFK obeys remaining budget; Prove requires all slices built.
113
+ the next slice automatically; AFK obeys remaining budget; Prove requires every slice built except a
114
+ [deferred slice](skill://rite-plan/reference/slicing.md#deferred-slice).
114
115
 
115
116
  ## Phase exit
116
117
 
@@ -131,7 +131,7 @@ Pull these via `Read` when shaping the plan:
131
131
  expand this into repository-wide coverage.
132
132
  4. **Map coverage and wiring:** every `AC-###` spec acceptance criterion maps to ≥1 `SLICE-###`
133
133
  ([`acceptance-criteria.md`](skill://rite-spec/reference/acceptance-criteria.md)); no orphaned criteria, no slice without a
134
- criterion. Every proof row quotes the spec line it proves (`Proves`); proof that proves
134
+ criterion except a [deferred slice](skill://rite-plan/reference/slicing.md#deferred-slice). Every proof row quotes the spec line it proves (`Proves`); proof that proves
135
135
  none goes to `test-plan.md` `## Deferred hardening`, never into a slice
136
136
  ([artifacts.md](skill://rite-vet/reference/artifacts.md)). Lift covered/backstop `Edge Coverage` rows and resolved `Prohibitions (must-NOT)`
137
137
  rows into `traceability.md` and `test-plan.md`; unresolved rows get a gate/owner. Each
@@ -173,3 +173,10 @@ Slices sharing a file never build side by side: put a hub file's shared edit
173
173
  (registry, command table, test harness) in one seam slice the others depend on.
174
174
  `check task-graph` prints the `schedule:` and `ADVISORY hub:` lines; inseparable
175
175
  writes get `Serial rationale: <why>`. Never merge slices or drop acceptance to widen it.
176
+
177
+ ## Deferred slice
178
+ A slice with `Satisfies: none` is an optional follow-up: plan-invented hardening or
179
+ owner-moved scope kept with its preserved source and contracts. It carries no acceptance
180
+ (every AC still maps to a required slice), is never dispatched (`check slice` refuses
181
+ it), and never counts toward "all slices built", Prove, or Seal. The owner elects it
182
+ later through a plan change that gives it an AC.
@@ -64,7 +64,7 @@ test changes.
64
64
  and no-progress corrections before accepting terminal none; a distinct
65
65
  fingerprint below cap resumes offline triage without another real action.
66
66
  2. **Freeze scope.** Read spec, tasks, state, test plan, and full diff. Require
67
- every slice built. Missing `test-plan.md` returns to Vet inline (Prove stays the controlling
67
+ every slice built except a [deferred slice](skill://rite-plan/reference/slicing.md#deferred-slice). Missing `test-plan.md` returns to Vet inline (Prove stays the controlling
68
68
  caller) and resumes here; it never authorizes ad hoc proof.
69
69
  3. **Approve commands.** If absent, use
70
70
  [test-command-discovery](reference/test-command-discovery.md) over repository
@@ -140,8 +140,9 @@ none is plan-invented hardening: move it to `Deferred hardening`.
140
140
  |---|---|---|---|
141
141
  | D1 | <proof or mechanism> | <reason> | <the spec line an owner would add> |
142
142
 
143
- Deferred rows are an optional follow-up slice: not built, proven, or gating in this
144
- feature; this table is their follow-up record. Nothing is deleted.
143
+ Deferred rows, like a [deferred slice](skill://rite-plan/reference/slicing.md#deferred-slice),
144
+ are not built, proven, or gating in this feature; this table is their follow-up record.
145
+ Nothing is deleted.
145
146
 
146
147
  ## Interaction inventory (UI slices — every element + flow gets an asserting test)
147
148
  Enumerate every interactive element and user flow the feature exposes; one row each, none
@@ -83,6 +83,9 @@ session B's `claim check` passes at minute 35 over session A's still-running wri
83
83
  ## Independence
84
84
 
85
85
  - A fresh result sees scope/paths-diff/rubric only — never another result's or the root's conclusions, severities, expected verdicts, chosen verification methods, or edited context; seeding voids the packet. Canonical workspace artifacts in the engine-generated `--role` read-set (state cursor, decisions, `strategy.md` scores, prior review records) are inputs, not seeding: a verdict they record is a historical claim the reviewer re-verifies, never this pass's conclusion. The same holds for status, readiness-checklist, or gate lines inside a read-set artifact (e.g. a `spec.md` `Status:`/`Spec gate:` line from an older workspace). Never hand-edit installed read-sets or swap them for excerpts to strip that history.
86
+ - Never message a running read-only leaf: a mid-run note voids it like a seeded packet.
87
+ Root proof that lands after dispatch is weighed at reconciliation, not forwarded; a
88
+ leaf gap it would close (e.g. "no independent runtime run") closes there.
86
89
  - **Verify the packet is clean before admitting the account.** Confirm the returned packet/trace carries no host-injected context: an automatic memory/summary banner naming an earlier phase verdict (e.g. `past Temper PASS … next is /rite-define`) or harness reminder text seeds the pass and voids it. Cancel that account — never admit it — name the lost coverage, and re-dispatch with the host's context injection disabled for that child. Tool config changes that do not stop native child auto-injection are not a fix; verify on the next spawn instead of assuming.
87
90
  - A parent-context pass contributes attributed evidence but is not independent: exclude it from independent accounting and name the lost coverage.
88
91
  - Final severity is set at reconciliation after re-verifying the claimed consequence at the cited site (reviewer severity advisory); dismissals record a reason, and true facts about neighboring code route elsewhere instead of being dismissed.
@@ -68,7 +68,7 @@ Workspace files carry state; chat does not. Read and execute each phase skill:
68
68
  | 4 | `/rite-define` | approved plan/tasks/traceability |
69
69
  | 5 | `/rite-vet` | every plan; derive mutable budget after READY |
70
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 |
71
- | 7 | `/rite-prove` | all slices built; approved proof; recovery on red |
71
+ | 7 | `/rite-prove` | all slices built except deferred (`Satisfies: none`); approved proof; recovery on red |
72
72
  | 8 | `/rite-polish` | re-prove after code edits |
73
73
  | 9 | `/rite-review` | in-scope correction then fresh proof |
74
74
  | 10 | `/rite-seal` | GO/NO-GO; no Git |
@@ -110,7 +110,8 @@ or canonical transaction, return inspection, independent code/doubt/test analysi
110
110
  approved fail-on-red proof, record, AFK accounting, and stop. Use
111
111
  [`reference/output.md`](reference/output.md) plus the shared
112
112
  [`reply contract`](../devrites-lib/reference/reply-contract.md). HITL never starts
113
- the next slice automatically; AFK obeys remaining budget; Prove requires all slices built.
113
+ the next slice automatically; AFK obeys remaining budget; Prove requires every slice built except a
114
+ [deferred slice](../rite-plan/reference/slicing.md#deferred-slice).
114
115
 
115
116
  ## Phase exit
116
117
 
@@ -131,7 +131,7 @@ Pull these via `Read` when shaping the plan:
131
131
  expand this into repository-wide coverage.
132
132
  4. **Map coverage and wiring:** every `AC-###` spec acceptance criterion maps to ≥1 `SLICE-###`
133
133
  ([`acceptance-criteria.md`](../rite-spec/reference/acceptance-criteria.md)); no orphaned criteria, no slice without a
134
- criterion. Every proof row quotes the spec line it proves (`Proves`); proof that proves
134
+ criterion except a [deferred slice](../rite-plan/reference/slicing.md#deferred-slice). Every proof row quotes the spec line it proves (`Proves`); proof that proves
135
135
  none goes to `test-plan.md` `## Deferred hardening`, never into a slice
136
136
  ([artifacts.md](../rite-vet/reference/artifacts.md)). Lift covered/backstop `Edge Coverage` rows and resolved `Prohibitions (must-NOT)`
137
137
  rows into `traceability.md` and `test-plan.md`; unresolved rows get a gate/owner. Each
@@ -173,3 +173,10 @@ Slices sharing a file never build side by side: put a hub file's shared edit
173
173
  (registry, command table, test harness) in one seam slice the others depend on.
174
174
  `check task-graph` prints the `schedule:` and `ADVISORY hub:` lines; inseparable
175
175
  writes get `Serial rationale: <why>`. Never merge slices or drop acceptance to widen it.
176
+
177
+ ## Deferred slice
178
+ A slice with `Satisfies: none` is an optional follow-up: plan-invented hardening or
179
+ owner-moved scope kept with its preserved source and contracts. It carries no acceptance
180
+ (every AC still maps to a required slice), is never dispatched (`check slice` refuses
181
+ it), and never counts toward "all slices built", Prove, or Seal. The owner elects it
182
+ later through a plan change that gives it an AC.
@@ -64,7 +64,7 @@ test changes.
64
64
  and no-progress corrections before accepting terminal none; a distinct
65
65
  fingerprint below cap resumes offline triage without another real action.
66
66
  2. **Freeze scope.** Read spec, tasks, state, test plan, and full diff. Require
67
- every slice built. Missing `test-plan.md` returns to Vet inline (Prove stays the controlling
67
+ every slice built except a [deferred slice](../rite-plan/reference/slicing.md#deferred-slice). Missing `test-plan.md` returns to Vet inline (Prove stays the controlling
68
68
  caller) and resumes here; it never authorizes ad hoc proof.
69
69
  3. **Approve commands.** If absent, use
70
70
  [test-command-discovery](reference/test-command-discovery.md) over repository
@@ -140,8 +140,9 @@ none is plan-invented hardening: move it to `Deferred hardening`.
140
140
  |---|---|---|---|
141
141
  | D1 | <proof or mechanism> | <reason> | <the spec line an owner would add> |
142
142
 
143
- Deferred rows are an optional follow-up slice: not built, proven, or gating in this
144
- feature; this table is their follow-up record. Nothing is deleted.
143
+ Deferred rows, like a [deferred slice](../../rite-plan/reference/slicing.md#deferred-slice),
144
+ are not built, proven, or gating in this feature; this table is their follow-up record.
145
+ Nothing is deleted.
145
146
 
146
147
  ## Interaction inventory (UI slices — every element + flow gets an asserting test)
147
148
  Enumerate every interactive element and user flow the feature exposes; one row each, none
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "devrites",
3
- "version": "6.3.0",
3
+ "version": "6.4.1",
4
4
  "description": "DevRites: a disciplined senior-engineer workflow pack for Claude Code, Codex, omp, pi, and Devin CLI",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
6
  "homepage": "https://github.com/ViktorsBaikers/DevRites#readme",