devrites 5.14.1 → 5.14.3

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 (29) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +1 -1
  3. package/pack/.claude/skills/devrites-lib/reference/standards/README.md +1 -1
  4. package/pack/.claude/skills/devrites-lib/reference/standards/agents.md +6 -0
  5. package/pack/.claude/skills/devrites-lib/reference/standards/one-shot-actions.md +10 -5
  6. package/pack/.claude/skills/rite-spec/reference/state-workspace.md +1 -0
  7. package/pack/generated/claude/skills/devrites-lib/reference/standards/README.md +1 -1
  8. package/pack/generated/claude/skills/devrites-lib/reference/standards/agents.md +6 -0
  9. package/pack/generated/claude/skills/devrites-lib/reference/standards/one-shot-actions.md +10 -5
  10. package/pack/generated/claude/skills/rite-spec/reference/state-workspace.md +1 -0
  11. package/pack/generated/codex/skills/devrites-lib/reference/standards/README.md +1 -1
  12. package/pack/generated/codex/skills/devrites-lib/reference/standards/agents.md +6 -0
  13. package/pack/generated/codex/skills/devrites-lib/reference/standards/one-shot-actions.md +10 -5
  14. package/pack/generated/codex/skills/rite-spec/reference/state-workspace.md +1 -0
  15. package/pack/generated/devin/skills/devrites-lib/reference/standards/README.md +1 -1
  16. package/pack/generated/devin/skills/devrites-lib/reference/standards/agents.md +6 -0
  17. package/pack/generated/devin/skills/devrites-lib/reference/standards/one-shot-actions.md +10 -5
  18. package/pack/generated/devin/skills/rite-spec/reference/state-workspace.md +1 -0
  19. package/pack/generated/omp/skills/devrites-lib/reference/standards/README.md +1 -1
  20. package/pack/generated/omp/skills/devrites-lib/reference/standards/agents.md +6 -0
  21. package/pack/generated/omp/skills/devrites-lib/reference/standards/one-shot-actions.md +10 -5
  22. package/pack/generated/omp/skills/rite-spec/reference/state-workspace.md +1 -0
  23. package/pack/generated/pi/AGENTS.md +2 -0
  24. package/pack/generated/pi/skills/devrites-lib/reference/standards/README.md +1 -1
  25. package/pack/generated/pi/skills/devrites-lib/reference/standards/agents.md +6 -0
  26. package/pack/generated/pi/skills/devrites-lib/reference/standards/one-shot-actions.md +10 -5
  27. package/pack/generated/pi/skills/rite-spec/reference/state-workspace.md +1 -0
  28. package/package.json +1 -1
  29. package/scripts/pi-generate.sh +2 -0
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
+ ## [5.14.3](https://github.com/ViktorsBaikers/DevRites/compare/v5.14.2...v5.14.3) (2026-10-01)
6
+
7
+ ### Fixed
8
+
9
+ * **skills:** stop treating read-only dispatch failures as one-shot ([#93](https://github.com/ViktorsBaikers/DevRites/issues/93)) ([836a002](https://github.com/ViktorsBaikers/DevRites/commit/836a0020ffdd70f01380990648b853df32a4c0e0))
10
+
11
+ ## [5.14.2](https://github.com/ViktorsBaikers/DevRites/compare/v5.14.1...v5.14.2) (2026-09-30)
12
+
13
+ ### Fixed
14
+
15
+ * **skills:** stamp workspace schema row in state.md template ([#91](https://github.com/ViktorsBaikers/DevRites/issues/91)) ([d4701ad](https://github.com/ViktorsBaikers/DevRites/commit/d4701adc7ae2cc9a0225aff5da8e5e39b46dd39e))
16
+
5
17
  ## [5.14.1](https://github.com/ViktorsBaikers/DevRites/compare/v5.14.0...v5.14.1) (2026-09-29)
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:** [`v5.14.1`](https://github.com/ViktorsBaikers/DevRites/releases/tag/v5.14.1): see [`CHANGELOG.md`](CHANGELOG.md) for release notes.
34
+ **Status:** [`v5.14.3`](https://github.com/ViktorsBaikers/DevRites/releases/tag/v5.14.3): 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
 
@@ -45,7 +45,7 @@ topic's owner.
45
45
  | `context-hygiene.md` | Choosing `/clear`, `/compact`, or a handoff. |
46
46
  | `anti-patterns.md` | A pack-wide rationalization or red flag appears. |
47
47
  | `afk-hitl.md` | A pause, question, resume, or AFK decision is possible. |
48
- | `one-shot-actions.md` | A proof/action may be attempted once, needs fresh retry authorization, consumes external state/quota, or can delete its own failure evidence. |
48
+ | `one-shot-actions.md` | A failed proof/action would spend paid or rate-limited quota, mutate external state, or delete its own failure evidence. |
49
49
  | `tooling.md` | Structural lookup, current external facts, or architecture memory is needed. |
50
50
  | `code-navigation.md` | Choosing graph, LSP, grep, or read routes before cross-file edits. |
51
51
  | `skill-authoring.md` | Creating, editing, routing, evaluating, or pruning a DevRites skill. |
@@ -105,6 +105,12 @@ Basis: <files read · commands run to reach this finding>
105
105
  pass, empty list, or “looks good” is malformed.
106
106
  - **`gap`:** names missing/unreadable/stale input; skipped/failed required check;
107
107
  tool/reviewer failure; or another limit. Required gaps block.
108
+ - **Transport failure is not a finding.** A read-only leaf aborted, timed out, lost,
109
+ or with host-rejected output is `gap` quoting the host error. Re-dispatch one fresh
110
+ child with the same brief and read-set — never a resume of the failed child. The
111
+ retry spends any user-granted budget; ask only if it would exceed it. A second
112
+ transport failure of the same role is a host defect: stop for HITL with both errors
113
+ and `/rite-doctor`. Never design capture or retention machinery around it.
108
114
 
109
115
  Root treats results as claims; verifies proposed Critical/Important blockers
110
116
  against candidate, first anchoring each row's quote at its cited `file:line` on the
@@ -3,11 +3,16 @@
3
3
  > Applies when: a failed attempt is not safely retryable (consumptive action).
4
4
 
5
5
  An action is **consumptive** when a failed attempt is not safely equivalent to a
6
- normal rerun. This includes commands limited to one attempt, commands whose retry
7
- needs fresh human authorization, actions that spend external quota or mutate
8
- privileged/external state so a rerun is not equivalent, and actions whose cleanup
9
- can destroy the failure state needed for diagnosis. Successful cleanup does not
10
- make a consumptive action repeatable.
6
+ normal rerun: it spends paid or rate-limited external quota, mutates privileged or
7
+ external state so a rerun is not equivalent, or its cleanup can destroy the failure
8
+ state needed for diagnosis. Successful cleanup does not make a consumptive action
9
+ repeatable.
10
+
11
+ A retry limit or a one-attempt approval is a budget, not a property of the action;
12
+ it never makes an action consumptive. Read-only `devrites-*` dispatches (scout,
13
+ drafter, reviewers, proof runner) and local offline checks are never consumptive.
14
+ Their transport failures follow the retry rule in [`agents.md`](agents.md#result-admission),
15
+ with no retention, boundary-map, or amplification design.
11
16
 
12
17
  <!-- workflow-artifact-adapter: {"module":"devrites-lib/reference/standards/workflow-artifacts.md","entry":"workflow proof completes before any consumptive one-shot action","action":"PROVE_AND_RETURN; require fresh real-action authorization","return":"saved one-shot action boundary"} -->
13
18
 
@@ -133,6 +133,7 @@ None.
133
133
  | next_action | <single command + reason, or terminal: none — technical recovery exhausted for an unchanged causal fingerprint> |
134
134
  | return_phase | <originating later phase; clarification or agent-owned technical backtracking only> |
135
135
  | return_next_action | <saved originating command> |
136
+ | schema | 4 |
136
137
 
137
138
  ## Awaiting human
138
139
  Only present when status is awaiting_human.
@@ -45,7 +45,7 @@ topic's owner.
45
45
  | `context-hygiene.md` | Choosing `/clear`, `/compact`, or a handoff. |
46
46
  | `anti-patterns.md` | A pack-wide rationalization or red flag appears. |
47
47
  | `afk-hitl.md` | A pause, question, resume, or AFK decision is possible. |
48
- | `one-shot-actions.md` | A proof/action may be attempted once, needs fresh retry authorization, consumes external state/quota, or can delete its own failure evidence. |
48
+ | `one-shot-actions.md` | A failed proof/action would spend paid or rate-limited quota, mutate external state, or delete its own failure evidence. |
49
49
  | `tooling.md` | Structural lookup, current external facts, or architecture memory is needed. |
50
50
  | `code-navigation.md` | Choosing graph, LSP, grep, or read routes before cross-file edits. |
51
51
  | `skill-authoring.md` | Creating, editing, routing, evaluating, or pruning a DevRites skill. |
@@ -105,6 +105,12 @@ Basis: <files read · commands run to reach this finding>
105
105
  pass, empty list, or “looks good” is malformed.
106
106
  - **`gap`:** names missing/unreadable/stale input; skipped/failed required check;
107
107
  tool/reviewer failure; or another limit. Required gaps block.
108
+ - **Transport failure is not a finding.** A read-only leaf aborted, timed out, lost,
109
+ or with host-rejected output is `gap` quoting the host error. Re-dispatch one fresh
110
+ child with the same brief and read-set — never a resume of the failed child. The
111
+ retry spends any user-granted budget; ask only if it would exceed it. A second
112
+ transport failure of the same role is a host defect: stop for HITL with both errors
113
+ and `/rite-doctor`. Never design capture or retention machinery around it.
108
114
 
109
115
  Root treats results as claims; verifies proposed Critical/Important blockers
110
116
  against candidate, first anchoring each row's quote at its cited `file:line` on the
@@ -3,11 +3,16 @@
3
3
  > Applies when: a failed attempt is not safely retryable (consumptive action).
4
4
 
5
5
  An action is **consumptive** when a failed attempt is not safely equivalent to a
6
- normal rerun. This includes commands limited to one attempt, commands whose retry
7
- needs fresh human authorization, actions that spend external quota or mutate
8
- privileged/external state so a rerun is not equivalent, and actions whose cleanup
9
- can destroy the failure state needed for diagnosis. Successful cleanup does not
10
- make a consumptive action repeatable.
6
+ normal rerun: it spends paid or rate-limited external quota, mutates privileged or
7
+ external state so a rerun is not equivalent, or its cleanup can destroy the failure
8
+ state needed for diagnosis. Successful cleanup does not make a consumptive action
9
+ repeatable.
10
+
11
+ A retry limit or a one-attempt approval is a budget, not a property of the action;
12
+ it never makes an action consumptive. Read-only `devrites-*` dispatches (scout,
13
+ drafter, reviewers, proof runner) and local offline checks are never consumptive.
14
+ Their transport failures follow the retry rule in [`agents.md`](agents.md#result-admission),
15
+ with no retention, boundary-map, or amplification design.
11
16
 
12
17
  <!-- workflow-artifact-adapter: {"module":"devrites-lib/reference/standards/workflow-artifacts.md","entry":"workflow proof completes before any consumptive one-shot action","action":"PROVE_AND_RETURN; require fresh real-action authorization","return":"saved one-shot action boundary"} -->
13
18
 
@@ -133,6 +133,7 @@ None.
133
133
  | next_action | <single command + reason, or terminal: none — technical recovery exhausted for an unchanged causal fingerprint> |
134
134
  | return_phase | <originating later phase; clarification or agent-owned technical backtracking only> |
135
135
  | return_next_action | <saved originating command> |
136
+ | schema | 4 |
136
137
 
137
138
  ## Awaiting human
138
139
  Only present when status is awaiting_human.
@@ -45,7 +45,7 @@ topic's owner.
45
45
  | `context-hygiene.md` | Choosing `/clear`, `/compact`, or a handoff. |
46
46
  | `anti-patterns.md` | A pack-wide rationalization or red flag appears. |
47
47
  | `afk-hitl.md` | A pause, question, resume, or AFK decision is possible. |
48
- | `one-shot-actions.md` | A proof/action may be attempted once, needs fresh retry authorization, consumes external state/quota, or can delete its own failure evidence. |
48
+ | `one-shot-actions.md` | A failed proof/action would spend paid or rate-limited quota, mutate external state, or delete its own failure evidence. |
49
49
  | `tooling.md` | Structural lookup, current external facts, or architecture memory is needed. |
50
50
  | `code-navigation.md` | Choosing graph, LSP, grep, or read routes before cross-file edits. |
51
51
  | `skill-authoring.md` | Creating, editing, routing, evaluating, or pruning a DevRites skill. |
@@ -105,6 +105,12 @@ Basis: <files read · commands run to reach this finding>
105
105
  pass, empty list, or “looks good” is malformed.
106
106
  - **`gap`:** names missing/unreadable/stale input; skipped/failed required check;
107
107
  tool/reviewer failure; or another limit. Required gaps block.
108
+ - **Transport failure is not a finding.** A read-only leaf aborted, timed out, lost,
109
+ or with host-rejected output is `gap` quoting the host error. Re-dispatch one fresh
110
+ child with the same brief and read-set — never a resume of the failed child. The
111
+ retry spends any user-granted budget; ask only if it would exceed it. A second
112
+ transport failure of the same role is a host defect: stop for HITL with both errors
113
+ and `$rite-doctor`. Never design capture or retention machinery around it.
108
114
 
109
115
  Root treats results as claims; verifies proposed Critical/Important blockers
110
116
  against candidate, first anchoring each row's quote at its cited `file:line` on the
@@ -3,11 +3,16 @@
3
3
  > Applies when: a failed attempt is not safely retryable (consumptive action).
4
4
 
5
5
  An action is **consumptive** when a failed attempt is not safely equivalent to a
6
- normal rerun. This includes commands limited to one attempt, commands whose retry
7
- needs fresh human authorization, actions that spend external quota or mutate
8
- privileged/external state so a rerun is not equivalent, and actions whose cleanup
9
- can destroy the failure state needed for diagnosis. Successful cleanup does not
10
- make a consumptive action repeatable.
6
+ normal rerun: it spends paid or rate-limited external quota, mutates privileged or
7
+ external state so a rerun is not equivalent, or its cleanup can destroy the failure
8
+ state needed for diagnosis. Successful cleanup does not make a consumptive action
9
+ repeatable.
10
+
11
+ A retry limit or a one-attempt approval is a budget, not a property of the action;
12
+ it never makes an action consumptive. Read-only `devrites-*` dispatches (scout,
13
+ drafter, reviewers, proof runner) and local offline checks are never consumptive.
14
+ Their transport failures follow the retry rule in [`agents.md`](agents.md#result-admission),
15
+ with no retention, boundary-map, or amplification design.
11
16
 
12
17
  <!-- workflow-artifact-adapter: {"module":"devrites-lib/reference/standards/workflow-artifacts.md","entry":"workflow proof completes before any consumptive one-shot action","action":"PROVE_AND_RETURN; require fresh real-action authorization","return":"saved one-shot action boundary"} -->
13
18
 
@@ -133,6 +133,7 @@ None.
133
133
  | next_action | <single command + reason, or terminal: none — technical recovery exhausted for an unchanged causal fingerprint> |
134
134
  | return_phase | <originating later phase; clarification or agent-owned technical backtracking only> |
135
135
  | return_next_action | <saved originating command> |
136
+ | schema | 4 |
136
137
 
137
138
  ## Awaiting human
138
139
  Only present when status is awaiting_human.
@@ -45,7 +45,7 @@ topic's owner.
45
45
  | `context-hygiene.md` | Choosing `/clear`, `/compact`, or a handoff. |
46
46
  | `anti-patterns.md` | A pack-wide rationalization or red flag appears. |
47
47
  | `afk-hitl.md` | A pause, question, resume, or AFK decision is possible. |
48
- | `one-shot-actions.md` | A proof/action may be attempted once, needs fresh retry authorization, consumes external state/quota, or can delete its own failure evidence. |
48
+ | `one-shot-actions.md` | A failed proof/action would spend paid or rate-limited quota, mutate external state, or delete its own failure evidence. |
49
49
  | `tooling.md` | Structural lookup, current external facts, or architecture memory is needed. |
50
50
  | `code-navigation.md` | Choosing graph, LSP, grep, or read routes before cross-file edits. |
51
51
  | `skill-authoring.md` | Creating, editing, routing, evaluating, or pruning a DevRites skill. |
@@ -105,6 +105,12 @@ Basis: <files read · commands run to reach this finding>
105
105
  pass, empty list, or “looks good” is malformed.
106
106
  - **`gap`:** names missing/unreadable/stale input; skipped/failed required check;
107
107
  tool/reviewer failure; or another limit. Required gaps block.
108
+ - **Transport failure is not a finding.** A read-only leaf aborted, timed out, lost,
109
+ or with host-rejected output is `gap` quoting the host error. Re-dispatch one fresh
110
+ child with the same brief and read-set — never a resume of the failed child. The
111
+ retry spends any user-granted budget; ask only if it would exceed it. A second
112
+ transport failure of the same role is a host defect: stop for HITL with both errors
113
+ and `/rite-doctor`. Never design capture or retention machinery around it.
108
114
 
109
115
  Root treats results as claims; verifies proposed Critical/Important blockers
110
116
  against candidate, first anchoring each row's quote at its cited `file:line` on the
@@ -3,11 +3,16 @@
3
3
  > Applies when: a failed attempt is not safely retryable (consumptive action).
4
4
 
5
5
  An action is **consumptive** when a failed attempt is not safely equivalent to a
6
- normal rerun. This includes commands limited to one attempt, commands whose retry
7
- needs fresh human authorization, actions that spend external quota or mutate
8
- privileged/external state so a rerun is not equivalent, and actions whose cleanup
9
- can destroy the failure state needed for diagnosis. Successful cleanup does not
10
- make a consumptive action repeatable.
6
+ normal rerun: it spends paid or rate-limited external quota, mutates privileged or
7
+ external state so a rerun is not equivalent, or its cleanup can destroy the failure
8
+ state needed for diagnosis. Successful cleanup does not make a consumptive action
9
+ repeatable.
10
+
11
+ A retry limit or a one-attempt approval is a budget, not a property of the action;
12
+ it never makes an action consumptive. Read-only `devrites-*` dispatches (scout,
13
+ drafter, reviewers, proof runner) and local offline checks are never consumptive.
14
+ Their transport failures follow the retry rule in [`agents.md`](agents.md#result-admission),
15
+ with no retention, boundary-map, or amplification design.
11
16
 
12
17
  <!-- workflow-artifact-adapter: {"module":"devrites-lib/reference/standards/workflow-artifacts.md","entry":"workflow proof completes before any consumptive one-shot action","action":"PROVE_AND_RETURN; require fresh real-action authorization","return":"saved one-shot action boundary"} -->
13
18
 
@@ -133,6 +133,7 @@ None.
133
133
  | next_action | <single command + reason, or terminal: none — technical recovery exhausted for an unchanged causal fingerprint> |
134
134
  | return_phase | <originating later phase; clarification or agent-owned technical backtracking only> |
135
135
  | return_next_action | <saved originating command> |
136
+ | schema | 4 |
136
137
 
137
138
  ## Awaiting human
138
139
  Only present when status is awaiting_human.
@@ -45,7 +45,7 @@ topic's owner.
45
45
  | `context-hygiene.md` | Choosing `/clear`, `/compact`, or a handoff. |
46
46
  | `anti-patterns.md` | A pack-wide rationalization or red flag appears. |
47
47
  | `afk-hitl.md` | A pause, question, resume, or AFK decision is possible. |
48
- | `one-shot-actions.md` | A proof/action may be attempted once, needs fresh retry authorization, consumes external state/quota, or can delete its own failure evidence. |
48
+ | `one-shot-actions.md` | A failed proof/action would spend paid or rate-limited quota, mutate external state, or delete its own failure evidence. |
49
49
  | `tooling.md` | Structural lookup, current external facts, or architecture memory is needed. |
50
50
  | `code-navigation.md` | Choosing graph, LSP, grep, or read routes before cross-file edits. |
51
51
  | `skill-authoring.md` | Creating, editing, routing, evaluating, or pruning a DevRites skill. |
@@ -105,6 +105,12 @@ Basis: <files read · commands run to reach this finding>
105
105
  pass, empty list, or “looks good” is malformed.
106
106
  - **`gap`:** names missing/unreadable/stale input; skipped/failed required check;
107
107
  tool/reviewer failure; or another limit. Required gaps block.
108
+ - **Transport failure is not a finding.** A read-only leaf aborted, timed out, lost,
109
+ or with host-rejected output is `gap` quoting the host error. Re-dispatch one fresh
110
+ child with the same brief and read-set — never a resume of the failed child. The
111
+ retry spends any user-granted budget; ask only if it would exceed it. A second
112
+ transport failure of the same role is a host defect: stop for HITL with both errors
113
+ and `/rite-doctor`. Never design capture or retention machinery around it.
108
114
 
109
115
  Root treats results as claims; verifies proposed Critical/Important blockers
110
116
  against candidate, first anchoring each row's quote at its cited `file:line` on the
@@ -3,11 +3,16 @@
3
3
  > Applies when: a failed attempt is not safely retryable (consumptive action).
4
4
 
5
5
  An action is **consumptive** when a failed attempt is not safely equivalent to a
6
- normal rerun. This includes commands limited to one attempt, commands whose retry
7
- needs fresh human authorization, actions that spend external quota or mutate
8
- privileged/external state so a rerun is not equivalent, and actions whose cleanup
9
- can destroy the failure state needed for diagnosis. Successful cleanup does not
10
- make a consumptive action repeatable.
6
+ normal rerun: it spends paid or rate-limited external quota, mutates privileged or
7
+ external state so a rerun is not equivalent, or its cleanup can destroy the failure
8
+ state needed for diagnosis. Successful cleanup does not make a consumptive action
9
+ repeatable.
10
+
11
+ A retry limit or a one-attempt approval is a budget, not a property of the action;
12
+ it never makes an action consumptive. Read-only `devrites-*` dispatches (scout,
13
+ drafter, reviewers, proof runner) and local offline checks are never consumptive.
14
+ Their transport failures follow the retry rule in [`agents.md`](agents.md#result-admission),
15
+ with no retention, boundary-map, or amplification design.
11
16
 
12
17
  <!-- workflow-artifact-adapter: {"module":"devrites-lib/reference/standards/workflow-artifacts.md","entry":"workflow proof completes before any consumptive one-shot action","action":"PROVE_AND_RETURN; require fresh real-action authorization","return":"saved one-shot action boundary"} -->
13
18
 
@@ -133,6 +133,7 @@ None.
133
133
  | next_action | <single command + reason, or terminal: none — technical recovery exhausted for an unchanged causal fingerprint> |
134
134
  | return_phase | <originating later phase; clarification or agent-owned technical backtracking only> |
135
135
  | return_next_action | <saved originating command> |
136
+ | schema | 4 |
136
137
 
137
138
  ## Awaiting human
138
139
  Only present when status is awaiting_human.
@@ -9,6 +9,8 @@ This project has DevRites installed for pi.
9
9
  - Before using any DevRites workflow skill, read `.pi/skills/devrites-lib/reference/standards/core.md`. Load other `.pi/skills/devrites-lib/reference/standards/*.md` files when the skill or rule index asks for them.
10
10
  - DevRites specialist agents live in `.pi/agents` and are provided by the `pi-subagents` extension. Before dispatch, run `subagent({ action: "list" })`; if a required `devrites-<role>` is absent or not executable, stop for HITL — never skip it, substitute a generic child, or run the specialist role in the root context.
11
11
  - In DevRites guidance, **invoke** means run a skill inline in the current context; **dispatch** means start a fresh agent with `subagent({ agent, task })` (or `runs.run`/`runs.all` in a `workflowScript`), wait for it, and reconcile its result.
12
+ - An asynchronous launch receipt is not a reviewer result or completion. Keep the returned native run/workflow handle and use the public management/status/completion API exposed by the installed tool schema to wait for and collect its terminal result. Reconcile that result before `devrites-engine dispatch ... return`; never re-dispatch to retrieve output. Host configuration may force asynchronous execution even with `async: false`.
13
+ - Routine native result collection uses the exposed public tool; it does not require a bespoke workflow capture helper, private transcripts, or source excavation. Preserve confidentiality and any one-shot limits. Failed, malformed, or unavailable terminal results remain `gap`, never a passed review.
12
14
  - Only `devrites-slice-wright` may edit source or tests; every other specialist is read-only by tool allowlist. Exact paths are instruction-enforced: put the project-relative paths in the task, wait for the wright, compare its file list and `git diff --name-only` with that contract, and reject any extra path.
13
15
  - The explicit `/overhaul` skill ships its own `overhaul-*` agents outside the DevRites lifecycle. They carry the full write tool set, are dispatched only by that skill, and follow its own approval gate and path contracts instead of the lifecycle writer rules above.
14
16
  - The explicit `/rite-fast` skill ships its own `fast-*` agents. Only `fast-builder` carries write tools; `fast-planner`, `fast-checker`, and `fast-critic` stay read-only. `/rite-fast` dispatches them itself and applies its own exact-path contracts.
@@ -45,7 +45,7 @@ topic's owner.
45
45
  | `context-hygiene.md` | Choosing `/clear`, `/compact`, or a handoff. |
46
46
  | `anti-patterns.md` | A pack-wide rationalization or red flag appears. |
47
47
  | `afk-hitl.md` | A pause, question, resume, or AFK decision is possible. |
48
- | `one-shot-actions.md` | A proof/action may be attempted once, needs fresh retry authorization, consumes external state/quota, or can delete its own failure evidence. |
48
+ | `one-shot-actions.md` | A failed proof/action would spend paid or rate-limited quota, mutate external state, or delete its own failure evidence. |
49
49
  | `tooling.md` | Structural lookup, current external facts, or architecture memory is needed. |
50
50
  | `code-navigation.md` | Choosing graph, LSP, grep, or read routes before cross-file edits. |
51
51
  | `skill-authoring.md` | Creating, editing, routing, evaluating, or pruning a DevRites skill. |
@@ -105,6 +105,12 @@ Basis: <files read · commands run to reach this finding>
105
105
  pass, empty list, or “looks good” is malformed.
106
106
  - **`gap`:** names missing/unreadable/stale input; skipped/failed required check;
107
107
  tool/reviewer failure; or another limit. Required gaps block.
108
+ - **Transport failure is not a finding.** A read-only leaf aborted, timed out, lost,
109
+ or with host-rejected output is `gap` quoting the host error. Re-dispatch one fresh
110
+ child with the same brief and read-set — never a resume of the failed child. The
111
+ retry spends any user-granted budget; ask only if it would exceed it. A second
112
+ transport failure of the same role is a host defect: stop for HITL with both errors
113
+ and `/rite-doctor`. Never design capture or retention machinery around it.
108
114
 
109
115
  Root treats results as claims; verifies proposed Critical/Important blockers
110
116
  against candidate, first anchoring each row's quote at its cited `file:line` on the
@@ -3,11 +3,16 @@
3
3
  > Applies when: a failed attempt is not safely retryable (consumptive action).
4
4
 
5
5
  An action is **consumptive** when a failed attempt is not safely equivalent to a
6
- normal rerun. This includes commands limited to one attempt, commands whose retry
7
- needs fresh human authorization, actions that spend external quota or mutate
8
- privileged/external state so a rerun is not equivalent, and actions whose cleanup
9
- can destroy the failure state needed for diagnosis. Successful cleanup does not
10
- make a consumptive action repeatable.
6
+ normal rerun: it spends paid or rate-limited external quota, mutates privileged or
7
+ external state so a rerun is not equivalent, or its cleanup can destroy the failure
8
+ state needed for diagnosis. Successful cleanup does not make a consumptive action
9
+ repeatable.
10
+
11
+ A retry limit or a one-attempt approval is a budget, not a property of the action;
12
+ it never makes an action consumptive. Read-only `devrites-*` dispatches (scout,
13
+ drafter, reviewers, proof runner) and local offline checks are never consumptive.
14
+ Their transport failures follow the retry rule in [`agents.md`](agents.md#result-admission),
15
+ with no retention, boundary-map, or amplification design.
11
16
 
12
17
  <!-- workflow-artifact-adapter: {"module":"devrites-lib/reference/standards/workflow-artifacts.md","entry":"workflow proof completes before any consumptive one-shot action","action":"PROVE_AND_RETURN; require fresh real-action authorization","return":"saved one-shot action boundary"} -->
13
18
 
@@ -133,6 +133,7 @@ None.
133
133
  | next_action | <single command + reason, or terminal: none — technical recovery exhausted for an unchanged causal fingerprint> |
134
134
  | return_phase | <originating later phase; clarification or agent-owned technical backtracking only> |
135
135
  | return_next_action | <saved originating command> |
136
+ | schema | 4 |
136
137
 
137
138
  ## Awaiting human
138
139
  Only present when status is awaiting_human.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "devrites",
3
- "version": "5.14.1",
3
+ "version": "5.14.3",
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",
@@ -238,6 +238,8 @@ This project has DevRites installed for pi.
238
238
  - Before using any DevRites workflow skill, read `.pi/skills/devrites-lib/reference/standards/core.md`. Load other `.pi/skills/devrites-lib/reference/standards/*.md` files when the skill or rule index asks for them.
239
239
  - DevRites specialist agents live in `.pi/agents` and are provided by the `pi-subagents` extension. Before dispatch, run `subagent({ action: "list" })`; if a required `devrites-<role>` is absent or not executable, stop for HITL — never skip it, substitute a generic child, or run the specialist role in the root context.
240
240
  - In DevRites guidance, **invoke** means run a skill inline in the current context; **dispatch** means start a fresh agent with `subagent({ agent, task })` (or `runs.run`/`runs.all` in a `workflowScript`), wait for it, and reconcile its result.
241
+ - An asynchronous launch receipt is not a reviewer result or completion. Keep the returned native run/workflow handle and use the public management/status/completion API exposed by the installed tool schema to wait for and collect its terminal result. Reconcile that result before `devrites-engine dispatch ... return`; never re-dispatch to retrieve output. Host configuration may force asynchronous execution even with `async: false`.
242
+ - Routine native result collection uses the exposed public tool; it does not require a bespoke workflow capture helper, private transcripts, or source excavation. Preserve confidentiality and any one-shot limits. Failed, malformed, or unavailable terminal results remain `gap`, never a passed review.
241
243
  - Only `devrites-slice-wright` may edit source or tests; every other specialist is read-only by tool allowlist. Exact paths are instruction-enforced: put the project-relative paths in the task, wait for the wright, compare its file list and `git diff --name-only` with that contract, and reject any extra path.
242
244
  - The explicit `/overhaul` skill ships its own `overhaul-*` agents outside the DevRites lifecycle. They carry the full write tool set, are dispatched only by that skill, and follow its own approval gate and path contracts instead of the lifecycle writer rules above.
243
245
  - The explicit `/rite-fast` skill ships its own `fast-*` agents. Only `fast-builder` carries write tools; `fast-planner`, `fast-checker`, and `fast-critic` stay read-only. `/rite-fast` dispatches them itself and applies its own exact-path contracts.