devrites 4.0.6 → 4.0.8

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 (55) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +6 -2
  3. package/docs/skills.md +2 -2
  4. package/pack/.claude/agents/devrites-plan-drafter.md +7 -0
  5. package/pack/.claude/agents/devrites-plan-reviewer.md +4 -1
  6. package/pack/.claude/skills/devrites-debug-recovery/SKILL.md +12 -1
  7. package/pack/.claude/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +3 -1
  8. package/pack/.claude/skills/devrites-lib/reference/reply-contract.md +7 -1
  9. package/pack/.claude/skills/devrites-lib/reference/standards/afk-hitl.md +10 -0
  10. package/pack/.claude/skills/devrites-lib/reference/standards/core.md +4 -0
  11. package/pack/.claude/skills/devrites-lib/reference/standards/one-shot-actions.md +55 -6
  12. package/pack/.claude/skills/rite-autocomplete/SKILL.md +20 -3
  13. package/pack/.claude/skills/rite-autocomplete/reference/loop.md +11 -0
  14. package/pack/.claude/skills/rite-autocomplete/reference/stop-conditions.md +17 -0
  15. package/pack/.claude/skills/rite-plan/SKILL.md +4 -0
  16. package/pack/.claude/skills/rite-prove/SKILL.md +19 -3
  17. package/pack/.claude/skills/rite-prove/reference/failure-triage.md +12 -2
  18. package/pack/.claude/skills/rite-spec/reference/state-workspace.md +7 -0
  19. package/pack/.claude/skills/rite-vet/SKILL.md +4 -2
  20. package/pack/.claude/skills/rite-vet/reference/artifacts.md +4 -4
  21. package/pack/generated/claude/agents/devrites-plan-drafter.md +7 -0
  22. package/pack/generated/claude/agents/devrites-plan-reviewer.md +4 -1
  23. package/pack/generated/claude/skills/devrites-debug-recovery/SKILL.md +12 -1
  24. package/pack/generated/claude/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +3 -1
  25. package/pack/generated/claude/skills/devrites-lib/reference/reply-contract.md +7 -1
  26. package/pack/generated/claude/skills/devrites-lib/reference/standards/afk-hitl.md +10 -0
  27. package/pack/generated/claude/skills/devrites-lib/reference/standards/core.md +4 -0
  28. package/pack/generated/claude/skills/devrites-lib/reference/standards/one-shot-actions.md +55 -6
  29. package/pack/generated/claude/skills/rite-autocomplete/SKILL.md +20 -3
  30. package/pack/generated/claude/skills/rite-autocomplete/reference/loop.md +11 -0
  31. package/pack/generated/claude/skills/rite-autocomplete/reference/stop-conditions.md +17 -0
  32. package/pack/generated/claude/skills/rite-plan/SKILL.md +4 -0
  33. package/pack/generated/claude/skills/rite-prove/SKILL.md +19 -3
  34. package/pack/generated/claude/skills/rite-prove/reference/failure-triage.md +12 -2
  35. package/pack/generated/claude/skills/rite-spec/reference/state-workspace.md +7 -0
  36. package/pack/generated/claude/skills/rite-vet/SKILL.md +4 -2
  37. package/pack/generated/claude/skills/rite-vet/reference/artifacts.md +4 -4
  38. package/pack/generated/codex/agents/devrites-plan-drafter.toml +7 -0
  39. package/pack/generated/codex/agents/devrites-plan-reviewer.toml +4 -1
  40. package/pack/generated/codex/skills/devrites-debug-recovery/SKILL.md +12 -1
  41. package/pack/generated/codex/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +3 -1
  42. package/pack/generated/codex/skills/devrites-lib/reference/reply-contract.md +7 -1
  43. package/pack/generated/codex/skills/devrites-lib/reference/standards/afk-hitl.md +10 -0
  44. package/pack/generated/codex/skills/devrites-lib/reference/standards/core.md +4 -0
  45. package/pack/generated/codex/skills/devrites-lib/reference/standards/one-shot-actions.md +55 -6
  46. package/pack/generated/codex/skills/rite-autocomplete/SKILL.md +20 -3
  47. package/pack/generated/codex/skills/rite-autocomplete/reference/loop.md +11 -0
  48. package/pack/generated/codex/skills/rite-autocomplete/reference/stop-conditions.md +17 -0
  49. package/pack/generated/codex/skills/rite-plan/SKILL.md +4 -0
  50. package/pack/generated/codex/skills/rite-prove/SKILL.md +19 -3
  51. package/pack/generated/codex/skills/rite-prove/reference/failure-triage.md +12 -2
  52. package/pack/generated/codex/skills/rite-spec/reference/state-workspace.md +7 -0
  53. package/pack/generated/codex/skills/rite-vet/SKILL.md +4 -2
  54. package/pack/generated/codex/skills/rite-vet/reference/artifacts.md +4 -4
  55. package/package.json +1 -1
@@ -57,6 +57,13 @@ Read each phase's `SKILL.md` and execute that workflow. Workspace files such as
57
57
  When a later phase finds an agent-owned technical gap in an earlier phase, the
58
58
  Autocomplete root remains the caller:
59
59
 
60
+ On cold resume, reconcile the terminal cursor against durable fingerprint
61
+ accounting first. A retained distinct fingerprint with fewer than three
62
+ no-progress corrections is unfinished recovery, not an unchanged terminal stop.
63
+ Restore `return_phase` from the current phase and `return_next_action` only from
64
+ the exact approved action recorded in `test-plan.md` / evidence; ambiguity returns
65
+ to the applicable Vet contract and never licenses execution.
66
+
60
67
  1. Save the originating phase/action in the native return cursor unless a valid
61
68
  one already exists.
62
69
  2. Invoke the required repair, Vet, remediation, and proof skills inline. After
@@ -71,6 +78,10 @@ Autocomplete root remains the caller:
71
78
  a genuinely new Critical/Important fingerprint. Charge only a no-progress
72
79
  outcome against the same fingerprint; lower-severity novelty cannot prolong
73
80
  the chain.
81
+ For a failed consumptive action, its spent authorization blocks only another
82
+ real execution. A retained artifact that identifies a new fingerprint is the
83
+ offline reproduction input: diagnose, repair, and narrow-Vet it now, then pause
84
+ for fresh authorization before any next consumptive execution.
74
85
  5. When the prerequisite chain is green, restore and consume the return cursor,
75
86
  resume the originating phase, and continue the forward table.
76
87
 
@@ -9,6 +9,12 @@ Closure of a prior fingerprint is progress, not exhaustion. A separately evidenc
9
9
  Critical/Important failed invariant starts its own bounded fingerprint; it never
10
10
  resets or extends the budget of the one just closed.
11
11
 
12
+ An exhausted consumptive-action authorization is not technical-recovery
13
+ exhaustion. It blocks another real action, but retained evidence of a new
14
+ Critical/Important fingerprint must enter offline caller-owned recovery while its
15
+ own no-progress budget remains. After affected Vet is READY, pause for fresh action
16
+ authorization; never execute from the old GO.
17
+
12
18
  ## Always stop (irreversible-risk list: from `afk-hitl.md`)
13
19
 
14
20
  Regardless of `allow_gates` or `--ship`:
@@ -35,6 +41,17 @@ the remaining choice is a real human/safety/access gate.
35
41
  On technical exhaustion, preserve the fingerprint, reproduction, attempts, and
36
42
  dead ends, then stop without `$rite-plan unblock` or another phase command.
37
43
  Reinvocation with unchanged evidence remains blocked and does not reset the cap.
44
+ Here `unchanged` means the same fingerprint already has three recorded
45
+ no-progress corrections. A retained fingerprint with remaining offline budget is
46
+ not terminal merely because `state.md` was written by the failed action or a prior
47
+ session ended.
48
+
49
+ Past evidence being irretrievable is not by itself terminal. When an in-scope
50
+ trusted diagnostic seam can make the next retained fingerprint uniquely
51
+ actionable, Autocomplete must run diagnostic-amplification Plan repair and narrow
52
+ Vet inline, then pause for a fresh GO before the single evidence-acquisition
53
+ attempt. Use `Next: none` only after proving no safe in-scope amplification seam
54
+ exists, a real human/risk/scope gate owns it, or bounded recovery is exhausted.
38
55
 
39
56
  ## Stop on gate severity
40
57
 
@@ -81,6 +81,10 @@ Pull `development-workflow.md` via `Read` when reshaping slice cadence or DoD cr
81
81
  `devrites-plan-drafter` in `repair` mode with only the selected mode, affected artifact
82
82
  paths, settled contract, and observed failure/drift. Await one atomic `plan-candidate`;
83
83
  the drafter writes nothing and returns human-owned choices separately.
84
+ When the observed failure is missing or ambiguous consumptive-action evidence,
85
+ require the drafter to apply `one-shot-actions.md` and return the bounded
86
+ diagnostic-amplification design, injective boundary map, per-seam fixtures, and
87
+ collision mutant. Past evidence loss alone is not a terminal conclusion.
84
88
  3. Reason about dependencies: [dependency-graph](reference/dependency-graph.md).
85
89
  Reconcile `plan.md`'s canonical `Shared contract proof`: changed provider/consumer
86
90
  boundaries keep one reused contract artifact ahead of both asserting tests, and unaffected
@@ -86,7 +86,10 @@ failure is a blocker; this Upgrade admission never authorizes source or test cha
86
86
 
87
87
  ## Workflow
88
88
  0. Read core, load relevant rules above, then resolve the active slug,
89
- require its `state.md`, and read the cursor directly.
89
+ require its `state.md`, and read the cursor directly. On a blocked Prove cold
90
+ resume, reconcile any retained consumptive-action artifact against recorded
91
+ no-progress corrections before accepting `next_action: none`; a distinct
92
+ fingerprint below its cap resumes offline triage without another real action.
90
93
  1. **Confirm all slices built.** Read `spec.md`, `tasks.md`, `state.md`,
91
94
  `test-plan.md`, and the full diff.
92
95
  A missing `test-plan.md` enters caller-owned Vet backtracking; invoke Vet
@@ -111,11 +114,15 @@ failure is a blocker; this Upgrade admission never authorizes source or test cha
111
114
  gates prove only their named static criterion.
112
115
  Immediately before any consumptive action, apply `one-shot-actions.md` to the
113
116
  live candidate: require the vetted retained-artifact identity, bounds,
114
- sanitization, terminal-path fixtures, and cleanup-survival proof. A missing,
117
+ sanitization, injective boundary map, per-seam fault fixtures, collision mutant,
118
+ terminal-path fixtures, and cleanup-survival proof. A missing,
115
119
  stale, or disposable-only evidence surface returns to Vet inline and consumes
116
120
  no attempt. Record the admitted artifact identity before execution. After a
117
121
  failed consumptive action, triage from that artifact; never reproduce it by
118
- rerunning the action.
122
+ rerunning the action. Consuming its authorization blocks only another real
123
+ execution. If the artifact identifies a new Critical/Important fingerprint,
124
+ continue offline recovery inside this Prove invocation; do not label the new
125
+ fingerprint exhausted because the action budget is zero.
119
126
  4. **UI feature?** The root applies the browser proof ladder with
120
127
  `design-brief.md`, `references.md`, the requested routes, browser harness, and
121
128
  allowed scratch path:
@@ -145,6 +152,15 @@ failure is a blocker; this Upgrade admission never authorizes source or test cha
145
152
  Vet inside this invocation, and resume the exact failed proof rung. Ask only
146
153
  for a human-owned decision; causal-fingerprint exhaustion stops once with a
147
154
  technical blocker rather than another phase command.
155
+ For a consumptive-action failure, use fixtures or another non-consumptive
156
+ reproduction to fix and re-vet the retained fingerprint. Once the failure
157
+ condition is demonstrably changed, stop at the fresh-authorization boundary;
158
+ only a new human GO may admit the next real attempt.
159
+ If the retained fingerprint is missing or ambiguous, the lost past evidence
160
+ does not prove that no safe future acquisition design exists. Treat an in-scope
161
+ discriminator as a diagnostic-amplification Plan gap: repair and narrow-Vet the
162
+ boundary map and collision proof inline, then stop for fresh GO before one
163
+ evidence-acquisition attempt. Do not guess the runtime fix or reuse the old GO.
148
164
  8. The root updates `evidence.md`, `browser-evidence.md` (when present),
149
165
  `traceability.md`, and `state.md`. Record exactly one binding for the observed
150
166
  digest in evidence and browser evidence. New proof goes to canonical
@@ -11,15 +11,25 @@ loop to `devrites-debug-recovery`.
11
11
  2. **Classify** the failure:
12
12
  - test is right, code is wrong → fix the code (in scope).
13
13
  - test is wrong/outdated → that may be **spec drift** (acceptance criteria wrong).
14
- - environment/setup (missing dep, wrong node/ruby) → fix setup or record blocker.
14
+ - environment/setup (missing dep, wrong node/ruby) → fix it when agent-owned;
15
+ record a blocker only for human/access ownership, scope overflow, or exhausted
16
+ fingerprint recovery.
15
17
  - flaky (passes on re-run, timing/order) → note it; don't paper over with retries.
16
18
  - external dependency down → record blocker; don't fake the result.
17
19
  3. **Isolate:** minimize to the smallest failing case; bisect the diff if needed.
20
+ If consumptive evidence maps to multiple causal seams, this is a
21
+ diagnostic-amplification plan gap: design and Vet an injective boundary
22
+ discriminator offline instead of guessing a runtime correction or declaring
23
+ the cleaned-away past state terminal.
18
24
  4. **Fix within scope:** the current slice/feature only. If the fix reaches outside
19
25
  scope, stop and record a blocker in `state.md` (then `$rite-plan unblock`).
20
26
  5. **Re-run** the same command when it is repeatable; confirm green and record both
21
27
  attempts in `evidence.md`. A consumptive action needs re-vetted evidence
22
- completeness and any fresh authorization before a new attempt.
28
+ completeness and any fresh authorization before a new attempt. Its spent
29
+ action authorization does not stop offline recovery: a retained new fingerprint
30
+ enters caller-owned diagnosis, correction, fixtures, and narrow Vet immediately.
31
+ A separately authorized diagnostic-amplification attempt may acquire the missing
32
+ discriminator after its evidence design passes Vet; it is not a blind rerun.
23
33
 
24
34
  ## Rules
25
35
  - Quote the real error text; don't paraphrase it away.
@@ -131,6 +131,13 @@ resume. Never overwrite an existing valid return cursor, and preserve every
131
131
  unrelated Markdown byte. `$rite-clarify` applies its stricter native cursor
132
132
  protocol below.
133
133
 
134
+ On cold resume, a terminal `next_action` is a claim to verify, not a counter.
135
+ Reconcile the exact fingerprint and its attempts in `drift.md` / `evidence.md`.
136
+ If a consumptive action retained a distinct fingerprint below the no-progress
137
+ cap, rewrite the cursor into caller-owned recovery and preserve or reconstruct
138
+ the return rows only from the current phase and approved recorded action. The
139
+ spent action authorization blocks another execution, not that rewrite.
140
+
134
141
  `afk_slices_remaining` is mutable runtime state, not `.devrites/AFK`
135
142
  configuration. Only the controlling root writes it under the shared
136
143
  [`afk-hitl.md`](../../devrites-lib/reference/standards/afk-hitl.md#the-sentinel-devritesafk)
@@ -100,8 +100,10 @@ Pull the standard named by the active axis: `principles.md`, `patterns.md`,
100
100
  discriminating assertion and decisive signal, not merely a command or expected exit zero.
101
101
  Identify every consumptive action under `one-shot-actions.md`. Before admitting
102
102
  it, require the exact durable retention surface, trust-safe diagnostic schema,
103
- cleanup ordering, terminal-path coverage, and discriminating fixtures in
104
- `test-plan.md`. Missing or stale one-shot evidence completeness is a technical
103
+ cleanup ordering, terminal-path coverage, a finite injective boundary map,
104
+ per-boundary fault fixtures, and an executed collision mutant in `test-plan.md`.
105
+ Every retained failure fingerprint must identify one actionable seam; a broad
106
+ operation/cause shared by multiple emit sites is a gap. Missing or stale one-shot evidence completeness is a technical
105
107
  preflight gap; do not spend the action to learn what cleanup would erase.
106
108
  Preflight observes; it need not make future behavior pass.
107
109
  2c. **Implementation-readiness audit.** Goal-backward map every REQ/AC/NFR, interaction,
@@ -35,7 +35,7 @@ Inventory/currentness: <pass/gaps> · slice order/independence: <pass/gaps> ·
35
35
  UX/spec/architecture: <pass/n-a/gaps> · operations/rollout/rollback: <pass/n-a/gaps>
36
36
 
37
37
  Shared contract proof: <pass | gap: missing/one-sided/duplicated-contract/vague/non-consuming>
38
- One-shot evidence completeness: <n/a | pass: action + retained artifact + bounds/sanitization + cleanup-survival fixtures | gap: exact missing proof>
38
+ One-shot evidence completeness: <n/a | pass: action + retained artifact + bounds/sanitization + injective boundary map + per-seam/collision/cleanup fixtures | gap: exact missing proof>
39
39
 
40
40
  ## 3. Axis findings (floor-gated)
41
41
  | Axis | Floor band | Findings (sev · confidence) |
@@ -96,9 +96,9 @@ aliases, user-specific absolute paths, or temporary proof trees. Evidence record
96
96
  the command actually executed.
97
97
 
98
98
  ## Consumptive action gates
99
- | Action | Why one-shot/consumptive | Retained artifact | Bounds + sanitization | Terminal-path fixtures | Cleanup survival | Retry authority |
100
- |---|---|---|---|---|---|---|
101
- | <exact approved action or n/a> | <one attempt/quota/state/evidence deletion> | <durable operator-controlled path/schema> | <size/cardinality + known/unknown/malformed handling> | <success/known/unknown/hostile> | <assertion> | <none/fresh human authorization> |
99
+ | Action | Why one-shot/consumptive | Retained artifact | Bounds + sanitization | Boundary map + collision proof | Terminal-path fixtures | Cleanup survival | Retry authority |
100
+ |---|---|---|---|---|---|---|---|
101
+ | <exact approved action or n/a> | <one attempt/quota/state/evidence deletion> | <durable operator-controlled path/schema> | <size/cardinality + known/unknown/malformed handling> | <every emit seam -> stable boundary ID; per-seam injection + alias mutant rejected> | <success/known/unknown/hostile> | <assertion> | <none/fresh human authorization> |
102
102
 
103
103
  Every behavioral row names a positive, discriminating assertion and the decisive output it
104
104
  produces. A command or expected exit zero alone is not a behavioral assertion; static gates
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "devrites",
3
- "version": "4.0.6",
3
+ "version": "4.0.8",
4
4
  "description": "DevRites: a disciplined senior-engineer workflow pack for Claude Code and Codex",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
6
  "homepage": "https://github.com/ViktorsBaikers/DevRites#readme",