devrites 6.0.2 → 6.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (161) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/README.md +1 -1
  3. package/docs/adr/0034-workflow-artifact-byte-corrections-get-code-review.md +60 -0
  4. package/docs/adr/README.md +2 -1
  5. package/docs/engine/commands.md +8 -8
  6. package/engine/help.go +12 -7
  7. package/engine/help_test.go +1 -0
  8. package/engine/internal/gate/readiness_binding.go +19 -0
  9. package/engine/internal/lib/cli_observe.go +16 -0
  10. package/engine/internal/lib/context.go +197 -19
  11. package/engine/internal/lib/context_next_test.go +238 -0
  12. package/engine/internal/lib/dispatch.go +189 -15
  13. package/engine/internal/lib/drift.go +10 -2
  14. package/engine/internal/lib/drift_test.go +29 -0
  15. package/engine/internal/lib/metrics.go +74 -1
  16. package/engine/internal/lib/observe_budgets_test.go +32 -0
  17. package/engine/internal/lib/observe_summary.go +8 -0
  18. package/engine/internal/lib/slicecheck.go +19 -0
  19. package/engine/internal/lib/slicecheck_test.go +41 -0
  20. package/engine/internal/lib/windows.go +109 -13
  21. package/engine/internal/lib/windows_test.go +85 -0
  22. package/engine/main.go +3 -3
  23. package/pack/.claude/agents/devrites-slice-wright.md +7 -2
  24. package/pack/.claude/skills/devrites-debug-recovery/reference/hypotheses.md +6 -0
  25. package/pack/.claude/skills/devrites-lib/reference/parallel-dispatch.md +1 -0
  26. package/pack/.claude/skills/devrites-lib/reference/standards/README.md +1 -1
  27. package/pack/.claude/skills/devrites-lib/reference/standards/afk-hitl.md +2 -0
  28. package/pack/.claude/skills/devrites-lib/reference/standards/code-review.md +3 -0
  29. package/pack/.claude/skills/devrites-lib/reference/standards/glossary.md +1 -1
  30. package/pack/.claude/skills/devrites-lib/reference/standards/security.md +1 -0
  31. package/pack/.claude/skills/devrites-lib/reference/standards/windows.md +11 -3
  32. package/pack/.claude/skills/devrites-lib/reference/workspace-artifact-schema.md +5 -2
  33. package/pack/.claude/skills/rite-build/SKILL.md +1 -1
  34. package/pack/.claude/skills/rite-build/reference/afk-discipline.md +3 -1
  35. package/pack/.claude/skills/rite-build/reference/one-slice-cycle.md +3 -2
  36. package/pack/.claude/skills/rite-build/reference/output.md +1 -1
  37. package/pack/.claude/skills/rite-build/reference/parallel-batch.md +5 -3
  38. package/pack/.claude/skills/rite-build/reference/phase-contract.md +7 -3
  39. package/pack/.claude/skills/rite-build/reference/spec-drift-guard.md +3 -1
  40. package/pack/.claude/skills/rite-build/reference/wright-dispatch.md +23 -9
  41. package/pack/.claude/skills/rite-define/SKILL.md +2 -1
  42. package/pack/.claude/skills/rite-plan/SKILL.md +2 -1
  43. package/pack/.claude/skills/rite-pressure-test/SKILL.md +6 -3
  44. package/pack/.claude/skills/rite-vet/SKILL.md +9 -1
  45. package/pack/.claude/skills/rite-vet/reference/review-axes.md +6 -2
  46. package/pack/generated/claude/agents/devrites-slice-wright.md +7 -2
  47. package/pack/generated/claude/skills/devrites-debug-recovery/reference/hypotheses.md +6 -0
  48. package/pack/generated/claude/skills/devrites-lib/reference/parallel-dispatch.md +1 -0
  49. package/pack/generated/claude/skills/devrites-lib/reference/standards/README.md +1 -1
  50. package/pack/generated/claude/skills/devrites-lib/reference/standards/afk-hitl.md +2 -0
  51. package/pack/generated/claude/skills/devrites-lib/reference/standards/code-review.md +3 -0
  52. package/pack/generated/claude/skills/devrites-lib/reference/standards/glossary.md +1 -1
  53. package/pack/generated/claude/skills/devrites-lib/reference/standards/security.md +1 -0
  54. package/pack/generated/claude/skills/devrites-lib/reference/standards/windows.md +11 -3
  55. package/pack/generated/claude/skills/devrites-lib/reference/workspace-artifact-schema.md +5 -2
  56. package/pack/generated/claude/skills/rite-build/SKILL.md +1 -1
  57. package/pack/generated/claude/skills/rite-build/reference/afk-discipline.md +3 -1
  58. package/pack/generated/claude/skills/rite-build/reference/one-slice-cycle.md +3 -2
  59. package/pack/generated/claude/skills/rite-build/reference/output.md +1 -1
  60. package/pack/generated/claude/skills/rite-build/reference/parallel-batch.md +5 -3
  61. package/pack/generated/claude/skills/rite-build/reference/phase-contract.md +7 -3
  62. package/pack/generated/claude/skills/rite-build/reference/spec-drift-guard.md +3 -1
  63. package/pack/generated/claude/skills/rite-build/reference/wright-dispatch.md +23 -9
  64. package/pack/generated/claude/skills/rite-define/SKILL.md +2 -1
  65. package/pack/generated/claude/skills/rite-plan/SKILL.md +2 -1
  66. package/pack/generated/claude/skills/rite-pressure-test/SKILL.md +6 -3
  67. package/pack/generated/claude/skills/rite-vet/SKILL.md +9 -1
  68. package/pack/generated/claude/skills/rite-vet/reference/review-axes.md +6 -2
  69. package/pack/generated/codex/agents/devrites-slice-wright.toml +7 -2
  70. package/pack/generated/codex/skills/devrites-debug-recovery/reference/hypotheses.md +6 -0
  71. package/pack/generated/codex/skills/devrites-lib/reference/parallel-dispatch.md +1 -0
  72. package/pack/generated/codex/skills/devrites-lib/reference/standards/README.md +1 -1
  73. package/pack/generated/codex/skills/devrites-lib/reference/standards/afk-hitl.md +2 -0
  74. package/pack/generated/codex/skills/devrites-lib/reference/standards/code-review.md +3 -0
  75. package/pack/generated/codex/skills/devrites-lib/reference/standards/glossary.md +1 -1
  76. package/pack/generated/codex/skills/devrites-lib/reference/standards/security.md +1 -0
  77. package/pack/generated/codex/skills/devrites-lib/reference/standards/windows.md +11 -3
  78. package/pack/generated/codex/skills/devrites-lib/reference/workspace-artifact-schema.md +5 -2
  79. package/pack/generated/codex/skills/rite-build/SKILL.md +1 -1
  80. package/pack/generated/codex/skills/rite-build/reference/afk-discipline.md +3 -1
  81. package/pack/generated/codex/skills/rite-build/reference/one-slice-cycle.md +3 -2
  82. package/pack/generated/codex/skills/rite-build/reference/output.md +1 -1
  83. package/pack/generated/codex/skills/rite-build/reference/parallel-batch.md +5 -3
  84. package/pack/generated/codex/skills/rite-build/reference/phase-contract.md +7 -3
  85. package/pack/generated/codex/skills/rite-build/reference/spec-drift-guard.md +3 -1
  86. package/pack/generated/codex/skills/rite-build/reference/wright-dispatch.md +23 -9
  87. package/pack/generated/codex/skills/rite-define/SKILL.md +2 -1
  88. package/pack/generated/codex/skills/rite-plan/SKILL.md +2 -1
  89. package/pack/generated/codex/skills/rite-pressure-test/SKILL.md +6 -3
  90. package/pack/generated/codex/skills/rite-vet/SKILL.md +9 -1
  91. package/pack/generated/codex/skills/rite-vet/reference/review-axes.md +6 -2
  92. package/pack/generated/devin/agents/devrites-slice-wright.md +7 -2
  93. package/pack/generated/devin/skills/devrites-debug-recovery/reference/hypotheses.md +6 -0
  94. package/pack/generated/devin/skills/devrites-lib/reference/parallel-dispatch.md +1 -0
  95. package/pack/generated/devin/skills/devrites-lib/reference/standards/README.md +1 -1
  96. package/pack/generated/devin/skills/devrites-lib/reference/standards/afk-hitl.md +2 -0
  97. package/pack/generated/devin/skills/devrites-lib/reference/standards/code-review.md +3 -0
  98. package/pack/generated/devin/skills/devrites-lib/reference/standards/glossary.md +1 -1
  99. package/pack/generated/devin/skills/devrites-lib/reference/standards/security.md +1 -0
  100. package/pack/generated/devin/skills/devrites-lib/reference/standards/windows.md +11 -3
  101. package/pack/generated/devin/skills/devrites-lib/reference/workspace-artifact-schema.md +5 -2
  102. package/pack/generated/devin/skills/rite-build/SKILL.md +1 -1
  103. package/pack/generated/devin/skills/rite-build/reference/afk-discipline.md +3 -1
  104. package/pack/generated/devin/skills/rite-build/reference/one-slice-cycle.md +3 -2
  105. package/pack/generated/devin/skills/rite-build/reference/output.md +1 -1
  106. package/pack/generated/devin/skills/rite-build/reference/parallel-batch.md +5 -3
  107. package/pack/generated/devin/skills/rite-build/reference/phase-contract.md +7 -3
  108. package/pack/generated/devin/skills/rite-build/reference/spec-drift-guard.md +3 -1
  109. package/pack/generated/devin/skills/rite-build/reference/wright-dispatch.md +23 -9
  110. package/pack/generated/devin/skills/rite-define/SKILL.md +2 -1
  111. package/pack/generated/devin/skills/rite-plan/SKILL.md +2 -1
  112. package/pack/generated/devin/skills/rite-pressure-test/SKILL.md +6 -3
  113. package/pack/generated/devin/skills/rite-vet/SKILL.md +9 -1
  114. package/pack/generated/devin/skills/rite-vet/reference/review-axes.md +6 -2
  115. package/pack/generated/omp/agents/devrites-slice-wright.md +7 -2
  116. package/pack/generated/omp/skills/devrites-debug-recovery/reference/hypotheses.md +6 -0
  117. package/pack/generated/omp/skills/devrites-lib/reference/parallel-dispatch.md +1 -0
  118. package/pack/generated/omp/skills/devrites-lib/reference/standards/README.md +1 -1
  119. package/pack/generated/omp/skills/devrites-lib/reference/standards/afk-hitl.md +2 -0
  120. package/pack/generated/omp/skills/devrites-lib/reference/standards/code-review.md +3 -0
  121. package/pack/generated/omp/skills/devrites-lib/reference/standards/glossary.md +1 -1
  122. package/pack/generated/omp/skills/devrites-lib/reference/standards/security.md +1 -0
  123. package/pack/generated/omp/skills/devrites-lib/reference/standards/windows.md +11 -3
  124. package/pack/generated/omp/skills/devrites-lib/reference/workspace-artifact-schema.md +5 -2
  125. package/pack/generated/omp/skills/rite-build/SKILL.md +1 -1
  126. package/pack/generated/omp/skills/rite-build/reference/afk-discipline.md +3 -1
  127. package/pack/generated/omp/skills/rite-build/reference/one-slice-cycle.md +3 -2
  128. package/pack/generated/omp/skills/rite-build/reference/output.md +1 -1
  129. package/pack/generated/omp/skills/rite-build/reference/parallel-batch.md +5 -3
  130. package/pack/generated/omp/skills/rite-build/reference/phase-contract.md +7 -3
  131. package/pack/generated/omp/skills/rite-build/reference/spec-drift-guard.md +3 -1
  132. package/pack/generated/omp/skills/rite-build/reference/wright-dispatch.md +23 -9
  133. package/pack/generated/omp/skills/rite-define/SKILL.md +2 -1
  134. package/pack/generated/omp/skills/rite-plan/SKILL.md +2 -1
  135. package/pack/generated/omp/skills/rite-pressure-test/SKILL.md +6 -3
  136. package/pack/generated/omp/skills/rite-vet/SKILL.md +9 -1
  137. package/pack/generated/omp/skills/rite-vet/reference/review-axes.md +6 -2
  138. package/pack/generated/pi/agents/devrites-slice-wright.md +7 -2
  139. package/pack/generated/pi/skills/devrites-debug-recovery/reference/hypotheses.md +6 -0
  140. package/pack/generated/pi/skills/devrites-lib/reference/parallel-dispatch.md +1 -0
  141. package/pack/generated/pi/skills/devrites-lib/reference/standards/README.md +1 -1
  142. package/pack/generated/pi/skills/devrites-lib/reference/standards/afk-hitl.md +2 -0
  143. package/pack/generated/pi/skills/devrites-lib/reference/standards/code-review.md +3 -0
  144. package/pack/generated/pi/skills/devrites-lib/reference/standards/glossary.md +1 -1
  145. package/pack/generated/pi/skills/devrites-lib/reference/standards/security.md +1 -0
  146. package/pack/generated/pi/skills/devrites-lib/reference/standards/windows.md +11 -3
  147. package/pack/generated/pi/skills/devrites-lib/reference/workspace-artifact-schema.md +5 -2
  148. package/pack/generated/pi/skills/rite-build/SKILL.md +1 -1
  149. package/pack/generated/pi/skills/rite-build/reference/afk-discipline.md +3 -1
  150. package/pack/generated/pi/skills/rite-build/reference/one-slice-cycle.md +3 -2
  151. package/pack/generated/pi/skills/rite-build/reference/output.md +1 -1
  152. package/pack/generated/pi/skills/rite-build/reference/parallel-batch.md +5 -3
  153. package/pack/generated/pi/skills/rite-build/reference/phase-contract.md +7 -3
  154. package/pack/generated/pi/skills/rite-build/reference/spec-drift-guard.md +3 -1
  155. package/pack/generated/pi/skills/rite-build/reference/wright-dispatch.md +23 -9
  156. package/pack/generated/pi/skills/rite-define/SKILL.md +2 -1
  157. package/pack/generated/pi/skills/rite-plan/SKILL.md +2 -1
  158. package/pack/generated/pi/skills/rite-pressure-test/SKILL.md +6 -3
  159. package/pack/generated/pi/skills/rite-vet/SKILL.md +9 -1
  160. package/pack/generated/pi/skills/rite-vet/reference/review-axes.md +6 -2
  161. package/package.json +1 -1
@@ -94,13 +94,15 @@ Lease: `batch_id`, `created_at`, `base_sha`, `n`,
94
94
  <id>`; a malformed contract is dropped from the batch and recorded as a
95
95
  gap, not dispatched.
96
96
  2. Write lease; freeze `B=HEAD`; `parallel create` worktrees.
97
- 3. Dispatch ≤10 wrights in parallel (cwd=worktree; allowlist; prove `HEAD==B`).
97
+ 3. Dispatch ≤10 wrights in parallel (cwd=worktree; allowlist; prove `HEAD==B`;
98
+ one `--slice` per sibling on the wave).
98
99
  4. Inspect each returned path list, cumulative diff from `B`, transfer identity,
99
100
  and required result fields against the immutable contract. Reject malformed,
100
101
  stale, or out-of-scope work. Apply
101
102
  [independent Build review](phase-contract.md#independent-build-review): first
102
- full inventory, then bounded owning-role rechecks after repairs. Gap or
103
- Critical/Important → `gap`; else approved proof → `green|red|gap`.
103
+ full inventory, then bounded owning-role rechecks after repairs. Run approved
104
+ proof in the same window as that review. Gap or Critical/Important → `gap`;
105
+ else proof → `green|red|gap`.
104
106
  Reviewer fan-out for a batch is itself batched under
105
107
  [`parallel-dispatch.md`](../../devrites-lib/reference/parallel-dispatch.md#scale-limits)
106
108
  (≈4 concurrent read-only reviewers, 8 only with disjoint paths), and `max_agents`
@@ -14,6 +14,8 @@ Spec Drift Guard still applies.
14
14
  `Implementation readiness: READY`, current `Readiness inputs SHA-256`, exact
15
15
  required accounts, ID/meaning traceability and green proof preflight.
16
16
  Run `devrites-engine check readiness <slug>`; any miss/nonzero blocks.
17
+ Non-empty `orient` `inflight_waves` is reconciled first: `dispatch return` each
18
+ role whose account is in hand, else `dispatch abandon --reason` and re-dispatch.
17
19
  2. **Select.** Pick the lowest pending slice whose `depends_on` are all built, using
18
20
  `orient` `task_graph.slices` plus the `state.md` built list — never by scanning
19
21
  `tasks.md`; then `observe slice` it. Restate its goal, ACs, exclusions and exact paths. Include
@@ -33,11 +35,13 @@ Spec Drift Guard still applies.
33
35
  spending review. Then compare returned paths and `git diff --name-only` with the
34
36
  contract for semantics diff-scope cannot judge (stale/partial/malformed work;
35
37
  preserved user work). Restoration uses the bounded wright.
36
- 5. **Review.** Apply [Independent Build review](#independent-build-review).
38
+ 5. **Review.** Apply [Independent Build review](#independent-build-review). Run step 6
39
+ proof in the same window on the same frozen candidate; both gate step 7, and a
40
+ repair or source-mutating proof voids both.
37
41
  Missing verdicts, principle breaches and open Critical/Important block acceptance.
38
42
  6. **Prove.** Against the frozen pre-slice candidate inspect
39
43
  test hunks for deletion, skipping/focus, tautology, or weaker expectations.
40
- Use step 5's exact test-analyst account; missing/adverse criterion verdict is
44
+ Wait for step 5's exact test-analyst account; missing/adverse criterion verdict is
41
45
  Critical. Run only `test-plan.md` repository/CI commands, record output, recheck
42
46
  `git diff --name-only`. Missing/weakened/red/source-mutating proof cannot pass.
43
47
  Pre-existing/environment-specific claims need a predating same-command,
@@ -70,7 +74,7 @@ inventory: one full-diff `devrites-code-reviewer`, one `devrites-test-analyst`,
70
74
  and one exact `devrites-doubt-reviewer` per stood decision that meets
71
75
  `devrites-doubt` § When to use (boundary, data model, auth, public API, migration,
72
76
  user flow, assumption tests cannot prove); other stood decisions are recorded in
73
- `decisions.md` without dispatch. Dispatch fresh,
77
+ `decisions.md` without dispatch. Bundles take `--slice <SLICE-ID>`. Dispatch fresh,
74
78
  read-only under [`parallel-dispatch.md`](../../devrites-lib/reference/parallel-dispatch.md).
75
79
  Wait for every required account to become terminal; missing/gap needs a valid result.
76
80
  Fold supported in-scope Critical/Important findings by cause into one inventory.
@@ -22,7 +22,9 @@ phases. Never silently code against a known-wrong plan.
22
22
  4. Local repair that preserves behavior/scope/architecture/data/UX/security/migration?
23
23
  YES, active-slice technical/tool failure → log it and use Build's bounded debug
24
24
  recovery. Do not ask for retry authorization and do not re-plan unless the
25
- durable remaining-work instructions are wrong.
25
+ durable remaining-work instructions are wrong. A Workflow Artifact byte fix
26
+ that keeps every admission row is this case: `OFFLINE_RECOVERY`, then
27
+ `/rite-vet`'s bytes-only recheck — never `/rite-plan repair`.
26
28
  YES, durable plan is wrong → run the batch sweep below, log every
27
29
  violation, save the caller's return cursor, then invoke `/rite-plan repair` and `/rite-vet` inline
28
30
  without a question — ONE folded repair for all open entries, ONE
@@ -55,8 +55,9 @@ worktrees stay forbidden.
55
55
  2. Include goal, verbatim acceptance, exclusions, context,
56
56
  `test-plan.md` proof commands, applicable standards, and the exact
57
57
  `WIP(<slug>):` subject (no slice id). Build the wright's read-set with
58
- `devrites-engine context <slug> --phase build --role slice-wright --trigger <set>`
59
- and hand it the bundle path; evaluate each trigger condition and pass those
58
+ `devrites-engine context <slug> --phase build --role slice-wright --slice <SLICE-ID> --trigger <set>`
59
+ and hand it the bundle path (over-budget artifacts arrive as anchor indexes;
60
+ read owning sections live). Evaluate each trigger condition and pass those
60
61
  that fire (TDD slice → `tdd`, AFK run → `afk`, UI work → `frontend`, …).
61
62
  The command prints `unselected=[...]`; an omitted applicable trigger is a gap.
62
63
  For each triggered
@@ -80,8 +81,14 @@ is never a task path; see [Workflow Artifact admission](../../devrites-lib/refer
80
81
  Ask the host
81
82
  for the exact writer in fresh context and wait. Track it through the
82
83
  launch barrier — `devrites-engine dispatch <slug> open --phase build --wave
83
- <slice-id> --role slice-wright`, then `start` with the host handle, `seal`, and
84
- `return` on completion (auto-records dispatch/return metrics). Use
84
+ <slice-id> --role slice-wright --slice <SLICE-ID>`, then `start` with the host handle, `seal`, and
85
+ `return` on completion (auto-records dispatch/return metrics). Every 5 wright
86
+ rounds on one slice, `open` blocks for a reslice review: propose an
87
+ acceptance-preserving split (`root_no_change_analysis` → `FOLD` per
88
+ [acceptance-preserving-reslice](../../devrites-lib/reference/standards/acceptance-preserving-reslice.md);
89
+ open findings move to the new slice owning their paths), or record
90
+ `## <DRIFT-ID> — <SLICE-ID> reslice review` with why no smaller split exists and
91
+ reopen with `--reslice-review <DRIFT-ID>`. Use
85
92
  at most one writer across all linked worktrees for this workspace. Never run two
86
93
  writers in one worktree, run isolated and same-worktree writers concurrently, or
87
94
  substitute a generic agent. Opt-in `/rite-build --parallel N` fans out only under
@@ -106,17 +113,24 @@ TTL is crash recovery, not normal cleanup.
106
113
  Reject a result that omits any required key — the bookkeeping arrays count
107
114
  whether empty or filled — or adds a path. Root never widens scope or edits
108
115
  source.
109
- 2. Inspect the test diff for deletion, skipping, focus markers, or loosened
116
+ 2. Run `devrites-engine check windows <slug>` on the wright's diff (`--worktree`
117
+ in the same tree; `--base <B> --cwd <worktree>` for a parallel transfer
118
+ commit). Each unwaived hit is repaired through the bounded wright or gets a
119
+ reasoned `windows.md` row before review; never waive to reach green. Then
120
+ inspect the test diff for deletion, skipping, focus markers, or loosened
110
121
  assertions. Dedicated test analysis treats weakening as Critical.
111
122
  Confirm a test for a data/integration/topology risk can actually exhibit that risk;
112
123
  mocks that erase it and one-root proof offered for another root are unproven.
113
124
  3. Apply [independent Build review](phase-contract.md#independent-build-review)
114
- before proof. Human choices return; technical failures follow
125
+ and, in the same window, run only repository proof already approved by
126
+ `test-plan.md` against the same frozen candidate; neither waits for the
127
+ other. Human choices return; technical failures follow
115
128
  [the canonical retry contract](../../devrites-lib/reference/standards/afk-hitl.md#retry-cap-no-progress-loops-and-self-resolve).
116
129
  Derive accounting from recorded reproductions, corrections, and decisive rechecks.
117
- 4. Run only repository proof already approved by `test-plan.md`, then inspect
118
- `git diff --name-only` again in case a proof tool changed source.
119
- **Do not land on control until review and proof are green.** Isolated
130
+ 4. After proof, inspect `git diff --name-only` again in case a proof tool changed
131
+ source; a change rejects that candidate and voids the concurrent review. A
132
+ repair wright voids both; rerun both on the new candidate.
133
+ **Do not land on control until review and proof are both green.** Isolated
120
134
  `transfer_commit` stays on the worker branch; same-worktree diffs stay
121
135
  uncommitted. Serial: [`checkpoint.md`](checkpoint.md), then host may remove the
122
136
  worktree. Parallel: `record-green` only; land with `parallel integrate
@@ -158,7 +158,8 @@ Pull these via `Read` when shaping the plan:
158
158
  acceptance, and names/prose agree. Missing, duplicate, contradictory, or
159
159
  meaning-changing mappings block. Then run
160
160
  `devrites-engine check task-graph <slug>`; a malformed dependency graph blocks
161
- before Vet rather than spending a reviewer context on invalid tasks.
161
+ before Vet rather than spending a reviewer context on invalid tasks. Resolve each
162
+ `ADVISORY size:` line now (split, or `Size rationale:`); it never blocks.
162
163
  7. **Readiness gate** (`plan-template.md`): require CLEAR coverage; complete acceptance,
163
164
  wiring, shared-contract proof, applicable outputs, and rollback; risk-first acyclic order;
164
165
  justified deviations; and every horizon item present, with blockers resolved, planning
@@ -81,7 +81,8 @@ Before classifying any Reslice, read `.pi/skills/devrites-lib/reference/standard
81
81
  `/rite-spec`, and stop.
82
82
  See [replan-and-repair](reference/replan-and-repair.md) for each mode's steps.
83
83
  2a. **Draft fresh.** Dispatch `devrites-plan-drafter` in `repair` mode with frozen mode,
84
- affected artifacts, settled contract, and failure/drift. Await one atomic, read-only
84
+ affected artifacts, settled contract, and failure/drift; a slice-bound repair
85
+ builds its bundle with `--slice <SLICE-ID>` per affected slice. Await one atomic, read-only
85
86
  the drafter's `candidate_files` bundle; human choices return separately.
86
87
  When the observed failure is missing or ambiguous consumptive-action evidence,
87
88
  require the drafter to apply [`one-shot-actions.md`](../devrites-lib/reference/standards/one-shot-actions.md) and return the bounded
@@ -18,7 +18,8 @@ first and write only workspace/ticket artifacts.
18
18
  - Search `decisions.md`, accepted ADRs, and relevant archives for rejected directions;
19
19
  revive one only with evidence that answers its recorded reason, citing both.
20
20
  - Generate 3-5 different shapes, including obvious, smaller, and different-boundary/data/
21
- flow options. Use named lenses— inversion, constraint removal, audience shift, 10×, or
21
+ flow options, plus a **do-nothing baseline** (cost of not building) that every option
22
+ must beat. Use named lenses— inversion, constraint removal, audience shift, 10×, or
22
23
  expert practice—without padding. Borrow analogous mechanisms, not branding.
23
24
  - For each, name concrete entities/flows/surfaces, optimization, rough cost, and main risk.
24
25
 
@@ -27,7 +28,9 @@ first and write only workspace/ticket artifacts.
27
28
  - Weigh options against the goal, constraints, and existing codebase conventions.
28
29
  - Prefer felt pain over nice-to-have. Rank differentiation: new capability > 10× gain >
29
30
  new audience > new context > better UX > cheaper; do not dress a vitamin as a painkiller.
30
- - Recommend one, with the reason and the key trade-off accepted.
31
+ - Recommend one, with the reason and the key trade-off accepted. When no option beats
32
+ the do-nothing baseline, recommend **Kill**: record the reason in `decisions.md` and
33
+ do not route to `/rite-spec`.
31
34
  - Note what would change the recommendation (the decision's hinge).
32
35
 
33
36
  ## Premise evidence floor
@@ -65,7 +68,7 @@ Done: pressure test complete for <goal>.
65
68
  Changed: workspace only
66
69
  Evidence: options compared <n>; recommendation <option>; hinge <condition>; premises <supported/assumption/refuted + sources>
67
70
  Open: <none | unresolved premise and resolving evidence>
68
- Next: <when supported: /rite-spec <feature>; when Hold: none — requires <resolving evidence>>
71
+ Next: <when supported: /rite-spec <feature>; when Hold: none — requires <resolving evidence>; when Kill: none — not building: <reason>>
69
72
  Record: <investigation-map.md path | questions.md id (Hold) | not applicable>
70
73
  ↻ Hygiene: /clear before starting the lifecycle
71
74
  ```
@@ -173,7 +173,15 @@ plan declares a root-authored executable workflow file, read
173
173
  `devrites-engine gates lint <slug> --strict` and resolve every finding before
174
174
  READY; the readiness check refuses a missing or malformed ledger but does not
175
175
  replace this oracle-quality gate.
176
- 7. **Narrow recheck after edits.** Dispatch the exact plan reviewer once per
176
+ 7. **Narrow recheck after edits.** A slice-bound recheck builds its bundle and
177
+ opens its wave with `--slice <SLICE-ID>` per affected slice (every 5 rechecks
178
+ per slice need a reslice review, as in Build). **Workflow Artifact bytes-only:**
179
+ after `OFFLINE_RECOVERY`, a correction leaving every admission/`WA-*` row
180
+ unchanged records `Workflow Artifact reviewed identity: <re-preflight identity
181
+ digest>` below the admission block; when `check drift` reports only
182
+ `reviewed-identity-only`, the reviewer is one fresh `devrites-code-reviewer` on
183
+ the prior-source→re-preflight diff against those rows (no drafter or plan
184
+ reviewer); green proceeds to step 8. Otherwise dispatch the exact plan reviewer once per
177
185
  fold — one dispatch covering every open fingerprint, preserving
178
186
  per correction/fingerprint accounting (each checked individually with its
179
187
  accepted findings, changed paths/criteria, new identity, and recorded delta
@@ -29,7 +29,8 @@ Before implementation review, check for work beyond the settled spec.
29
29
  [feature ceiling](../../rite-plan/reference/slicing.md#feature-ceiling-split-an-epic-never-override-the-budget)
30
30
  (over-budget `tasks.md`/`plan.md` from slice or AC count) is a scope finding, not a
31
31
  `Budget override`: route to `/rite-plan course-correct` (`MVP cut`) with the
32
- continuation sequence named; do not vet the whole epic.
32
+ continuation sequence named; do not vet the whole epic. An `ADVISORY size:`
33
+ slice without `Size rationale:` is a non-blocking Suggestion to split it.
33
34
  4. **Built-in check.** For each new pattern/infra/concurrency approach, invoke
34
35
  `devrites-source-driven` inline to verify current framework/runtime support and cite it. Custom
35
36
  work where a built-in suffices is a scope-reduction finding.
@@ -197,7 +198,10 @@ Use standard `AskUserQuestion`:
197
198
  recovery owner, test, handling, and user-visible/silent result. No test + no handling +
198
199
  silent = **Critical** (`artifacts.md`).
199
200
  4. **Dependency safety:** verify graph/order and shared file/state/contract/lock/port/queue/env
200
- conflicts. Correct the plan; native host scheduling needs no lane artifact.
201
+ conflicts. Each `Dependencies` edge must genuinely gate its slice (consumes an
202
+ output, interface, or state the predecessor produces); remove an ordering-only
203
+ edge, since it silently shrinks the parallel set. Correct the plan; native host
204
+ scheduling needs no lane artifact.
201
205
  5. **Build-entry preflight:** commands/cwds, tools, package state, parser/browser smoke,
202
206
  prerequisites, and provenance ([`artifacts.md`](artifacts.md)).
203
207
  6. **Implementation readiness:** goal-backward coverage, wiring, dependency simulation,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "devrites",
3
- "version": "6.0.2",
3
+ "version": "6.0.4",
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",