devrites 7.2.3 → 7.2.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 (56) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +1 -1
  3. package/engine/internal/gate/gate.go +6 -0
  4. package/engine/internal/gate/workflow_only.go +335 -0
  5. package/engine/internal/state/taskgraph.go +19 -4
  6. package/pack/.claude/agents/devrites-plan-drafter.md +5 -1
  7. package/pack/.claude/agents/devrites-plan-reviewer.md +7 -0
  8. package/pack/.claude/skills/devrites-lib/reference/standards/workflow-artifacts.md +37 -7
  9. package/pack/.claude/skills/rite-define/SKILL.md +7 -0
  10. package/pack/.claude/skills/rite-define/reference/plan-template.md +6 -0
  11. package/pack/.claude/skills/rite-vet/SKILL.md +9 -2
  12. package/pack/.claude/skills/rite-vet/reference/artifacts.md +7 -0
  13. package/pack/generated/claude/agents/devrites-plan-drafter.md +5 -1
  14. package/pack/generated/claude/agents/devrites-plan-reviewer.md +7 -0
  15. package/pack/generated/claude/skills/devrites-lib/reference/standards/workflow-artifacts.md +37 -7
  16. package/pack/generated/claude/skills/rite-define/SKILL.md +7 -0
  17. package/pack/generated/claude/skills/rite-define/reference/plan-template.md +6 -0
  18. package/pack/generated/claude/skills/rite-vet/SKILL.md +9 -2
  19. package/pack/generated/claude/skills/rite-vet/reference/artifacts.md +7 -0
  20. package/pack/generated/codex/agents/devrites-plan-drafter.toml +5 -1
  21. package/pack/generated/codex/agents/devrites-plan-reviewer.toml +7 -0
  22. package/pack/generated/codex/skills/devrites-lib/reference/standards/workflow-artifacts.md +37 -7
  23. package/pack/generated/codex/skills/rite-define/SKILL.md +7 -0
  24. package/pack/generated/codex/skills/rite-define/reference/plan-template.md +6 -0
  25. package/pack/generated/codex/skills/rite-vet/SKILL.md +9 -2
  26. package/pack/generated/codex/skills/rite-vet/reference/artifacts.md +7 -0
  27. package/pack/generated/devin/agents/devrites-plan-drafter.md +5 -1
  28. package/pack/generated/devin/agents/devrites-plan-reviewer.md +7 -0
  29. package/pack/generated/devin/skills/devrites-lib/reference/standards/workflow-artifacts.md +37 -7
  30. package/pack/generated/devin/skills/rite-define/SKILL.md +7 -0
  31. package/pack/generated/devin/skills/rite-define/reference/plan-template.md +6 -0
  32. package/pack/generated/devin/skills/rite-vet/SKILL.md +9 -2
  33. package/pack/generated/devin/skills/rite-vet/reference/artifacts.md +7 -0
  34. package/pack/generated/dsh/agents/devrites-plan-drafter.md +5 -1
  35. package/pack/generated/dsh/agents/devrites-plan-reviewer.md +7 -0
  36. package/pack/generated/dsh/runtime/cordis.patch.yml +2 -2
  37. package/pack/generated/dsh/skills/devrites-lib/reference/standards/workflow-artifacts.md +37 -7
  38. package/pack/generated/dsh/skills/rite-define/SKILL.md +7 -0
  39. package/pack/generated/dsh/skills/rite-define/reference/plan-template.md +6 -0
  40. package/pack/generated/dsh/skills/rite-vet/SKILL.md +9 -2
  41. package/pack/generated/dsh/skills/rite-vet/reference/artifacts.md +7 -0
  42. package/pack/generated/omp/agents/devrites-plan-drafter.md +5 -1
  43. package/pack/generated/omp/agents/devrites-plan-reviewer.md +7 -0
  44. package/pack/generated/omp/skills/devrites-lib/reference/standards/workflow-artifacts.md +37 -7
  45. package/pack/generated/omp/skills/rite-define/SKILL.md +7 -0
  46. package/pack/generated/omp/skills/rite-define/reference/plan-template.md +6 -0
  47. package/pack/generated/omp/skills/rite-vet/SKILL.md +9 -2
  48. package/pack/generated/omp/skills/rite-vet/reference/artifacts.md +7 -0
  49. package/pack/generated/pi/agents/devrites-plan-drafter.md +5 -1
  50. package/pack/generated/pi/agents/devrites-plan-reviewer.md +7 -0
  51. package/pack/generated/pi/skills/devrites-lib/reference/standards/workflow-artifacts.md +37 -7
  52. package/pack/generated/pi/skills/rite-define/SKILL.md +7 -0
  53. package/pack/generated/pi/skills/rite-define/reference/plan-template.md +6 -0
  54. package/pack/generated/pi/skills/rite-vet/SKILL.md +9 -2
  55. package/pack/generated/pi/skills/rite-vet/reference/artifacts.md +7 -0
  56. package/package.json +1 -1
@@ -140,7 +140,14 @@ plan declares a root-authored executable workflow file, read
140
140
  `devrites-engine check preconditions <slug>` (rows with `Run at` `vet`, including each
141
141
  `dependency-dry-run` and preserve-baseline row). A failure folds into Plan repair; only an
142
142
  owner-owned decision becomes a question, batched under the afk-hitl decision-chain rule.
143
- 4. **Audit readiness.** Goal-backward map every requirement, criterion, NFR,
143
+ 4. **Audit readiness.** For explicit workflow-only tasks, follow
144
+ [`workflow-artifacts.md`](../devrites-lib/reference/standards/workflow-artifacts.md#workflow-only-planning):
145
+ check AC/REQ → admitted WA behavior and executable proof, all admission fields,
146
+ fixtures, bounds and root ownership, not product slice writer/closure checks.
147
+ Keep empty product candidate and zero built slices; no Build/wright dispatch.
148
+ Missing/malformed admission routes Plan; stale admission requires fresh Vet and
149
+ ordinary readiness SHA binding. Never switch ACTIVE for a named workspace.
150
+ Otherwise goal-backward map every requirement, criterion, NFR,
144
151
  interaction, edge/prohibition, and decision row to one slice and executable
145
152
  proof. Verify UX/spec/architecture alignment, contracts, dependency order,
146
153
  slice independence/wiring, prerequisites, failure/observability/rollback, and
@@ -210,7 +217,7 @@ plan declares a root-authored executable workflow file, read
210
217
  `marker sweep:` line is recorded in `eng-review.md`; a kept hit blocks READY. Write phase/next step and emit one
211
218
  `Readiness inputs SHA-256` with
212
219
  `devrites-engine check readiness --emit-binding <slug>`; normal readiness check
213
- must pass, and it replays Build-entry `check slice` on every unbuilt slice, so
220
+ must pass; workflow-only checks admission instead. For product work it replays Build-entry `check slice` on every unbuilt slice, so
214
221
  READY needs each to pass (fix failures in `/rite-plan`). READY also needs every
215
222
  unbuilt slice's write set closed against the live tree (plan-reviewer
216
223
  dimension 6), so frontier gaps fold in one Plan repair, not one per slice; an
@@ -11,6 +11,13 @@ Authority: `.dsh/skills/devrites-lib/reference/standards/acceptance-preserving-r
11
11
  - `BLOCKED_INPUT` → no planning writes; exact diagnostic; recover input; reclassify.
12
12
  <!-- END RESLICE ROUTE-TO-ACTION -->
13
13
 
14
+ For explicit workflow-only tasks, use
15
+ [`workflow-artifacts.md`](../../devrites-lib/reference/standards/workflow-artifacts.md#workflow-only-planning):
16
+ AC → admitted WA behavior rows in tasks/test-plan; root-owned admission/proof
17
+ instead of product writer/slice rows. Keep readiness SHA binding, empty product
18
+ candidate and built counts unchanged. No Build dispatch. Product templates below
19
+ remain unchanged for product work.
20
+
14
21
  ## `eng-review.md`: the record
15
22
 
16
23
  Write/update `.devrites/work/<slug>/eng-review.md`; never clobber.
@@ -22,7 +22,11 @@ seams supplied by the orchestrator.
22
22
  Reuse existing seams and dependencies before proposing new ones. Per
23
23
  `.omp/skills/devrites-lib/reference/standards/code-navigation.md`, map seams with `get_architecture`, find reuse
24
24
  with `search_graph`, and size blast radius with `trace_path` (`direction: "inbound"`). Build vertical
25
- slices in dependency order; put a hub file's shared edit in one seam slice
25
+ slices in dependency order for product work. For explicit workflow-only scope,
26
+ follow [workflow-artifacts.md](skill://devrites-lib/reference/standards/workflow-artifacts.md#workflow-only-planning):
27
+ map every REQ/AC to WA behavior and proof, retain zero product slices and empty
28
+ product candidate, never fabricate slices. Product slice rules below apply only
29
+ to product work; put a hub file's shared edit in one seam slice
26
30
  ([slicing.md](skill://rite-plan/reference/slicing.md#slice-independence)). Map every REQ and AC to a slice and executable proof,
27
31
  name rollback and failure paths; keep acceptance-changing proposals separate. Each proof
28
32
  row quotes the spec line or standard rule it proves (`Proves`); proof that proves none
@@ -37,6 +37,13 @@ Per `.omp/skills/devrites-lib/reference/standards/code-navigation.md`, check
37
37
  placement with `get_architecture`, reuse with `search_graph`, and blast radius with
38
38
  `trace_path` (`direction: "inbound"`); fall back to Read/Grep/Glob.
39
39
 
40
+ For explicit workflow-only tasks, also read `test-plan.md` and follow
41
+ [workflow-artifacts.md](skill://devrites-lib/reference/standards/workflow-artifacts.md#workflow-only-planning).
42
+ Review REQ/AC → admitted WA behavior/proof, admission completeness and root ownership
43
+ instead of product slice writer/closure checks. Zero product slices and empty
44
+ candidate are valid; do not demand fabricated slices or Build dispatch. Apply
45
+ all seven dimensions to the workflow behaviors and proof.
46
+
40
47
  ## Score the seven dimensions
41
48
  For each dimension, **cite the evidence first**, including an absent plan or spec
42
49
  line, and then assign the band. Do not choose a score and justify it afterward:
@@ -4,9 +4,37 @@
4
4
 
5
5
  > Applies when: a plan declares root-authored executable workflow files.
6
6
 
7
- Workflow Artifact plans/isolates/proves; never enters product candidate/readiness/
8
- built count or authorizes consumption. Module owns semantics; callers retain only
9
- link and entry/return.
7
+ Workflow Artifact plans/isolates/proves; never enters the product candidate or
8
+ built count and never authorizes consumption. Workspace planning readiness binds
9
+ its admission and proof references, not executable bytes as product changes.
10
+ Module owns semantics; callers retain only link and entry/return.
11
+
12
+ ## Workflow-only planning
13
+
14
+ For exclusively root-owned executable workflow work, put the exact standalone
15
+ line `Work scope: workflow-only` outside fences in `tasks.md`, with zero
16
+ `## SLICE-###` sections. Empty tasks never imply this scope; mixed marker plus
17
+ product slices is invalid. Keep ordinary spec AC IDs. In both `tasks.md` and
18
+ `test-plan.md`, map every AC in two-cell rows `| AC-001 | WA-BEH-ID |` (backticks
19
+ around the behavior ID are optional); `traceability.md` maps REQ/AC → that same
20
+ behavior → proof → evidence. Define may name the planned behaviors before Vet
21
+ admits them; Vet requires every mapped behavior in the admission below.
22
+
23
+ Use the existing empty product representation in `touched-files.md`:
24
+ `## Candidate manifest`, then `No project files.`, plus required `## Touched files`.
25
+ Do not add workflow targets to the product manifest or invent slices. Define
26
+ retains architecture/plan/tasks/traceability; Vet checks Workflow Artifact
27
+ admission instead of product slice writer/closure checks. No Build/wright dispatch,
28
+ built checkpoint, or ACTIVE switch. Product and mixed product work keep ordinary
29
+ slice contracts; product writers still cannot write `.devrites`.
30
+
31
+ Readiness at Vet and later checks admission structure, bounds, workspace-relative
32
+ paths, ownership namespace, and referenced behavior/interface/fixtures. Ordinary
33
+ `Readiness inputs SHA-256` binds current tasks and test-plan; editing admission or
34
+ references makes READY stale. Do not embed that digest into its own bound inputs.
35
+ This planning check does not open targets or authorize execution: native preflight
36
+ still validates resolved paths, symlinks, trusted bytes, content limits and all
37
+ transaction safety before mutation.
10
38
 
11
39
  ## Contents
12
40
 
@@ -72,12 +100,14 @@ configuration,performance`; positive `setup,action,expected`; failure
72
100
  mutation reject placeholders, missing/extra/reordered fields, duplicates, and
73
101
  referenced-empty blocks.
74
102
 
75
- Proof command=one unchanged trusted Vet-approved repository command; exclude `;`,
76
- `&&`, `||`, newline, unescaped/list-separator `|`. Cwd=`repository-root` or
103
+ Proof command=one unchanged trusted Vet-approved repository command; exclude newline
104
+ and unquoted/unescaped `;|&`. Planning permits quoted/escaped operators;
105
+ substitutions reject all `;|&` data. Cwd=`repository-root` or
77
106
  `active-workspace`. Signal=fixed printable ASCII without CR/LF, 1..128 bytes.
78
107
  Rollback=`restore-preimage-or-absence`. Evidence=unique comma-separated lowercase
79
- identifiers. `return_phase`=lifecycle phase; `return_next_action`=exact slash action
80
- bound to `active_slug`. Malformed admission/reference routes Plan/Vet before mutation.
108
+ identifiers. `return_phase`=lifecycle phase;
109
+ `return_next_action`=`/rite-[a-z0-9-]+ <active_slug>` exactly.
110
+ Malformed admission/reference routes Plan/Vet before mutation.
81
111
 
82
112
  Checked nonnegative arithmetic rejects overflow. Bounds: rows
83
113
  `1..target_count_limit`; per-target/aggregate content; `transaction_file_limit >=
@@ -34,6 +34,13 @@ Pull these via `Read` when shaping the plan:
34
34
  - Author one `architecture.md`/`plan.md` section at a time. Before slicing, use
35
35
  [`elicitation.md`](skill://devrites-lib/reference/standards/elicitation.md) Tournament for open
36
36
  designs and Delphi for uncertain estimates.
37
+ - **Workflow-only exception.** Follow
38
+ [`workflow-artifacts.md`](skill://devrites-lib/reference/standards/workflow-artifacts.md#workflow-only-planning)
39
+ before applying product slice rules below: explicit scope, zero product slices,
40
+ existing empty candidate, AC/REQ → WA behavior/proof mapping in tasks, traceability
41
+ and test-plan. Keep every AC; never fabricate a slice or dispatch Build for
42
+ root-owned workflow artifacts. Slice-count, slice-format, writer and cross-slice
43
+ requirements below apply only when product slices exist.
37
44
  - **Derive the slice count from the work.**
38
45
  One per independently-shippable increment, sized by [`slicing.md`](skill://rite-plan/reference/slicing.md); map every acceptance
39
46
  criterion. User counts are hints: explain honest differences, never pad/compress.
@@ -40,6 +40,12 @@ State strategy and rationale. For costly/hard-to-reverse boundaries, models, con
40
40
  or dependencies compare ≥2 `Option · Drivers · Trade-offs · Consequence`.
41
41
 
42
42
  ## Slice strategy
43
+ For explicit workflow-only scope, use zero product slices and the existing empty
44
+ candidate manifest (`No project files.` plus `## Touched files`). Map AC/REQ to
45
+ Workflow Artifact behaviors and proof, not invented slices; follow
46
+ [`workflow-artifacts.md`](skill://devrites-lib/reference/standards/workflow-artifacts.md#workflow-only-planning).
47
+ The following slice strategy applies to product work.
48
+
43
49
  List vertical `SLICE-###` increments, AC coverage, and risk-first order within dependency
44
50
  tiers. Wide refactors use expand → green migrate batches → contract, or an integration
45
51
  branch + final verify slice.
@@ -140,7 +140,14 @@ plan declares a root-authored executable workflow file, read
140
140
  `devrites-engine check preconditions <slug>` (rows with `Run at` `vet`, including each
141
141
  `dependency-dry-run` and preserve-baseline row). A failure folds into Plan repair; only an
142
142
  owner-owned decision becomes a question, batched under the afk-hitl decision-chain rule.
143
- 4. **Audit readiness.** Goal-backward map every requirement, criterion, NFR,
143
+ 4. **Audit readiness.** For explicit workflow-only tasks, follow
144
+ [`workflow-artifacts.md`](skill://devrites-lib/reference/standards/workflow-artifacts.md#workflow-only-planning):
145
+ check AC/REQ → admitted WA behavior and executable proof, all admission fields,
146
+ fixtures, bounds and root ownership, not product slice writer/closure checks.
147
+ Keep empty product candidate and zero built slices; no Build/wright dispatch.
148
+ Missing/malformed admission routes Plan; stale admission requires fresh Vet and
149
+ ordinary readiness SHA binding. Never switch ACTIVE for a named workspace.
150
+ Otherwise goal-backward map every requirement, criterion, NFR,
144
151
  interaction, edge/prohibition, and decision row to one slice and executable
145
152
  proof. Verify UX/spec/architecture alignment, contracts, dependency order,
146
153
  slice independence/wiring, prerequisites, failure/observability/rollback, and
@@ -210,7 +217,7 @@ plan declares a root-authored executable workflow file, read
210
217
  `marker sweep:` line is recorded in `eng-review.md`; a kept hit blocks READY. Write phase/next step and emit one
211
218
  `Readiness inputs SHA-256` with
212
219
  `devrites-engine check readiness --emit-binding <slug>`; normal readiness check
213
- must pass, and it replays Build-entry `check slice` on every unbuilt slice, so
220
+ must pass; workflow-only checks admission instead. For product work it replays Build-entry `check slice` on every unbuilt slice, so
214
221
  READY needs each to pass (fix failures in `/rite-plan`). READY also needs every
215
222
  unbuilt slice's write set closed against the live tree (plan-reviewer
216
223
  dimension 6), so frontier gaps fold in one Plan repair, not one per slice; an
@@ -11,6 +11,13 @@ Authority: `.omp/skills/devrites-lib/reference/standards/acceptance-preserving-r
11
11
  - `BLOCKED_INPUT` → no planning writes; exact diagnostic; recover input; reclassify.
12
12
  <!-- END RESLICE ROUTE-TO-ACTION -->
13
13
 
14
+ For explicit workflow-only tasks, use
15
+ [`workflow-artifacts.md`](skill://devrites-lib/reference/standards/workflow-artifacts.md#workflow-only-planning):
16
+ AC → admitted WA behavior rows in tasks/test-plan; root-owned admission/proof
17
+ instead of product writer/slice rows. Keep readiness SHA binding, empty product
18
+ candidate and built counts unchanged. No Build dispatch. Product templates below
19
+ remain unchanged for product work.
20
+
14
21
  ## `eng-review.md`: the record
15
22
 
16
23
  Write/update `.devrites/work/<slug>/eng-review.md`; never clobber.
@@ -23,7 +23,11 @@ seams supplied by the orchestrator.
23
23
  Reuse existing seams and dependencies before proposing new ones. Per
24
24
  `.pi/skills/devrites-lib/reference/standards/code-navigation.md`, map seams with `get_architecture`, find reuse
25
25
  with `search_graph`, and size blast radius with `trace_path` (`direction: "inbound"`). Build vertical
26
- slices in dependency order; put a hub file's shared edit in one seam slice
26
+ slices in dependency order for product work. For explicit workflow-only scope,
27
+ follow [workflow-artifacts.md](../skills/devrites-lib/reference/standards/workflow-artifacts.md#workflow-only-planning):
28
+ map every REQ/AC to WA behavior and proof, retain zero product slices and empty
29
+ product candidate, never fabricate slices. Product slice rules below apply only
30
+ to product work; put a hub file's shared edit in one seam slice
27
31
  ([slicing.md](../skills/rite-plan/reference/slicing.md#slice-independence)). Map every REQ and AC to a slice and executable proof,
28
32
  name rollback and failure paths; keep acceptance-changing proposals separate. Each proof
29
33
  row quotes the spec line or standard rule it proves (`Proves`); proof that proves none
@@ -38,6 +38,13 @@ Per `.pi/skills/devrites-lib/reference/standards/code-navigation.md`, check
38
38
  placement with `get_architecture`, reuse with `search_graph`, and blast radius with
39
39
  `trace_path` (`direction: "inbound"`); fall back to Read/Grep/Glob.
40
40
 
41
+ For explicit workflow-only tasks, also read `test-plan.md` and follow
42
+ [workflow-artifacts.md](../skills/devrites-lib/reference/standards/workflow-artifacts.md#workflow-only-planning).
43
+ Review REQ/AC → admitted WA behavior/proof, admission completeness and root ownership
44
+ instead of product slice writer/closure checks. Zero product slices and empty
45
+ candidate are valid; do not demand fabricated slices or Build dispatch. Apply
46
+ all seven dimensions to the workflow behaviors and proof.
47
+
41
48
  ## Score the seven dimensions
42
49
  For each dimension, **cite the evidence first**, including an absent plan or spec
43
50
  line, and then assign the band. Do not choose a score and justify it afterward:
@@ -4,9 +4,37 @@
4
4
 
5
5
  > Applies when: a plan declares root-authored executable workflow files.
6
6
 
7
- Workflow Artifact plans/isolates/proves; never enters product candidate/readiness/
8
- built count or authorizes consumption. Module owns semantics; callers retain only
9
- link and entry/return.
7
+ Workflow Artifact plans/isolates/proves; never enters the product candidate or
8
+ built count and never authorizes consumption. Workspace planning readiness binds
9
+ its admission and proof references, not executable bytes as product changes.
10
+ Module owns semantics; callers retain only link and entry/return.
11
+
12
+ ## Workflow-only planning
13
+
14
+ For exclusively root-owned executable workflow work, put the exact standalone
15
+ line `Work scope: workflow-only` outside fences in `tasks.md`, with zero
16
+ `## SLICE-###` sections. Empty tasks never imply this scope; mixed marker plus
17
+ product slices is invalid. Keep ordinary spec AC IDs. In both `tasks.md` and
18
+ `test-plan.md`, map every AC in two-cell rows `| AC-001 | WA-BEH-ID |` (backticks
19
+ around the behavior ID are optional); `traceability.md` maps REQ/AC → that same
20
+ behavior → proof → evidence. Define may name the planned behaviors before Vet
21
+ admits them; Vet requires every mapped behavior in the admission below.
22
+
23
+ Use the existing empty product representation in `touched-files.md`:
24
+ `## Candidate manifest`, then `No project files.`, plus required `## Touched files`.
25
+ Do not add workflow targets to the product manifest or invent slices. Define
26
+ retains architecture/plan/tasks/traceability; Vet checks Workflow Artifact
27
+ admission instead of product slice writer/closure checks. No Build/wright dispatch,
28
+ built checkpoint, or ACTIVE switch. Product and mixed product work keep ordinary
29
+ slice contracts; product writers still cannot write `.devrites`.
30
+
31
+ Readiness at Vet and later checks admission structure, bounds, workspace-relative
32
+ paths, ownership namespace, and referenced behavior/interface/fixtures. Ordinary
33
+ `Readiness inputs SHA-256` binds current tasks and test-plan; editing admission or
34
+ references makes READY stale. Do not embed that digest into its own bound inputs.
35
+ This planning check does not open targets or authorize execution: native preflight
36
+ still validates resolved paths, symlinks, trusted bytes, content limits and all
37
+ transaction safety before mutation.
10
38
 
11
39
  ## Contents
12
40
 
@@ -72,12 +100,14 @@ configuration,performance`; positive `setup,action,expected`; failure
72
100
  mutation reject placeholders, missing/extra/reordered fields, duplicates, and
73
101
  referenced-empty blocks.
74
102
 
75
- Proof command=one unchanged trusted Vet-approved repository command; exclude `;`,
76
- `&&`, `||`, newline, unescaped/list-separator `|`. Cwd=`repository-root` or
103
+ Proof command=one unchanged trusted Vet-approved repository command; exclude newline
104
+ and unquoted/unescaped `;|&`. Planning permits quoted/escaped operators;
105
+ substitutions reject all `;|&` data. Cwd=`repository-root` or
77
106
  `active-workspace`. Signal=fixed printable ASCII without CR/LF, 1..128 bytes.
78
107
  Rollback=`restore-preimage-or-absence`. Evidence=unique comma-separated lowercase
79
- identifiers. `return_phase`=lifecycle phase; `return_next_action`=exact slash action
80
- bound to `active_slug`. Malformed admission/reference routes Plan/Vet before mutation.
108
+ identifiers. `return_phase`=lifecycle phase;
109
+ `return_next_action`=`/rite-[a-z0-9-]+ <active_slug>` exactly.
110
+ Malformed admission/reference routes Plan/Vet before mutation.
81
111
 
82
112
  Checked nonnegative arithmetic rejects overflow. Bounds: rows
83
113
  `1..target_count_limit`; per-target/aggregate content; `transaction_file_limit >=
@@ -34,6 +34,13 @@ Pull these via `Read` when shaping the plan:
34
34
  - Author one `architecture.md`/`plan.md` section at a time. Before slicing, use
35
35
  [`elicitation.md`](../devrites-lib/reference/standards/elicitation.md) Tournament for open
36
36
  designs and Delphi for uncertain estimates.
37
+ - **Workflow-only exception.** Follow
38
+ [`workflow-artifacts.md`](../devrites-lib/reference/standards/workflow-artifacts.md#workflow-only-planning)
39
+ before applying product slice rules below: explicit scope, zero product slices,
40
+ existing empty candidate, AC/REQ → WA behavior/proof mapping in tasks, traceability
41
+ and test-plan. Keep every AC; never fabricate a slice or dispatch Build for
42
+ root-owned workflow artifacts. Slice-count, slice-format, writer and cross-slice
43
+ requirements below apply only when product slices exist.
37
44
  - **Derive the slice count from the work.**
38
45
  One per independently-shippable increment, sized by [`slicing.md`](../rite-plan/reference/slicing.md); map every acceptance
39
46
  criterion. User counts are hints: explain honest differences, never pad/compress.
@@ -40,6 +40,12 @@ State strategy and rationale. For costly/hard-to-reverse boundaries, models, con
40
40
  or dependencies compare ≥2 `Option · Drivers · Trade-offs · Consequence`.
41
41
 
42
42
  ## Slice strategy
43
+ For explicit workflow-only scope, use zero product slices and the existing empty
44
+ candidate manifest (`No project files.` plus `## Touched files`). Map AC/REQ to
45
+ Workflow Artifact behaviors and proof, not invented slices; follow
46
+ [`workflow-artifacts.md`](../../devrites-lib/reference/standards/workflow-artifacts.md#workflow-only-planning).
47
+ The following slice strategy applies to product work.
48
+
43
49
  List vertical `SLICE-###` increments, AC coverage, and risk-first order within dependency
44
50
  tiers. Wide refactors use expand → green migrate batches → contract, or an integration
45
51
  branch + final verify slice.
@@ -140,7 +140,14 @@ plan declares a root-authored executable workflow file, read
140
140
  `devrites-engine check preconditions <slug>` (rows with `Run at` `vet`, including each
141
141
  `dependency-dry-run` and preserve-baseline row). A failure folds into Plan repair; only an
142
142
  owner-owned decision becomes a question, batched under the afk-hitl decision-chain rule.
143
- 4. **Audit readiness.** Goal-backward map every requirement, criterion, NFR,
143
+ 4. **Audit readiness.** For explicit workflow-only tasks, follow
144
+ [`workflow-artifacts.md`](../devrites-lib/reference/standards/workflow-artifacts.md#workflow-only-planning):
145
+ check AC/REQ → admitted WA behavior and executable proof, all admission fields,
146
+ fixtures, bounds and root ownership, not product slice writer/closure checks.
147
+ Keep empty product candidate and zero built slices; no Build/wright dispatch.
148
+ Missing/malformed admission routes Plan; stale admission requires fresh Vet and
149
+ ordinary readiness SHA binding. Never switch ACTIVE for a named workspace.
150
+ Otherwise goal-backward map every requirement, criterion, NFR,
144
151
  interaction, edge/prohibition, and decision row to one slice and executable
145
152
  proof. Verify UX/spec/architecture alignment, contracts, dependency order,
146
153
  slice independence/wiring, prerequisites, failure/observability/rollback, and
@@ -210,7 +217,7 @@ plan declares a root-authored executable workflow file, read
210
217
  `marker sweep:` line is recorded in `eng-review.md`; a kept hit blocks READY. Write phase/next step and emit one
211
218
  `Readiness inputs SHA-256` with
212
219
  `devrites-engine check readiness --emit-binding <slug>`; normal readiness check
213
- must pass, and it replays Build-entry `check slice` on every unbuilt slice, so
220
+ must pass; workflow-only checks admission instead. For product work it replays Build-entry `check slice` on every unbuilt slice, so
214
221
  READY needs each to pass (fix failures in `/rite-plan`). READY also needs every
215
222
  unbuilt slice's write set closed against the live tree (plan-reviewer
216
223
  dimension 6), so frontier gaps fold in one Plan repair, not one per slice; an
@@ -11,6 +11,13 @@ Authority: `.pi/skills/devrites-lib/reference/standards/acceptance-preserving-re
11
11
  - `BLOCKED_INPUT` → no planning writes; exact diagnostic; recover input; reclassify.
12
12
  <!-- END RESLICE ROUTE-TO-ACTION -->
13
13
 
14
+ For explicit workflow-only tasks, use
15
+ [`workflow-artifacts.md`](../../devrites-lib/reference/standards/workflow-artifacts.md#workflow-only-planning):
16
+ AC → admitted WA behavior rows in tasks/test-plan; root-owned admission/proof
17
+ instead of product writer/slice rows. Keep readiness SHA binding, empty product
18
+ candidate and built counts unchanged. No Build dispatch. Product templates below
19
+ remain unchanged for product work.
20
+
14
21
  ## `eng-review.md`: the record
15
22
 
16
23
  Write/update `.devrites/work/<slug>/eng-review.md`; never clobber.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "devrites",
3
- "version": "7.2.3",
3
+ "version": "7.2.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",