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.
- package/CHANGELOG.md +12 -0
- package/README.md +6 -2
- package/docs/skills.md +2 -2
- package/pack/.claude/agents/devrites-plan-drafter.md +7 -0
- package/pack/.claude/agents/devrites-plan-reviewer.md +4 -1
- package/pack/.claude/skills/devrites-debug-recovery/SKILL.md +12 -1
- package/pack/.claude/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +3 -1
- package/pack/.claude/skills/devrites-lib/reference/reply-contract.md +7 -1
- package/pack/.claude/skills/devrites-lib/reference/standards/afk-hitl.md +10 -0
- package/pack/.claude/skills/devrites-lib/reference/standards/core.md +4 -0
- package/pack/.claude/skills/devrites-lib/reference/standards/one-shot-actions.md +55 -6
- package/pack/.claude/skills/rite-autocomplete/SKILL.md +20 -3
- package/pack/.claude/skills/rite-autocomplete/reference/loop.md +11 -0
- package/pack/.claude/skills/rite-autocomplete/reference/stop-conditions.md +17 -0
- package/pack/.claude/skills/rite-plan/SKILL.md +4 -0
- package/pack/.claude/skills/rite-prove/SKILL.md +19 -3
- package/pack/.claude/skills/rite-prove/reference/failure-triage.md +12 -2
- package/pack/.claude/skills/rite-spec/reference/state-workspace.md +7 -0
- package/pack/.claude/skills/rite-vet/SKILL.md +4 -2
- package/pack/.claude/skills/rite-vet/reference/artifacts.md +4 -4
- package/pack/generated/claude/agents/devrites-plan-drafter.md +7 -0
- package/pack/generated/claude/agents/devrites-plan-reviewer.md +4 -1
- package/pack/generated/claude/skills/devrites-debug-recovery/SKILL.md +12 -1
- package/pack/generated/claude/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +3 -1
- package/pack/generated/claude/skills/devrites-lib/reference/reply-contract.md +7 -1
- package/pack/generated/claude/skills/devrites-lib/reference/standards/afk-hitl.md +10 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/core.md +4 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/one-shot-actions.md +55 -6
- package/pack/generated/claude/skills/rite-autocomplete/SKILL.md +20 -3
- package/pack/generated/claude/skills/rite-autocomplete/reference/loop.md +11 -0
- package/pack/generated/claude/skills/rite-autocomplete/reference/stop-conditions.md +17 -0
- package/pack/generated/claude/skills/rite-plan/SKILL.md +4 -0
- package/pack/generated/claude/skills/rite-prove/SKILL.md +19 -3
- package/pack/generated/claude/skills/rite-prove/reference/failure-triage.md +12 -2
- package/pack/generated/claude/skills/rite-spec/reference/state-workspace.md +7 -0
- package/pack/generated/claude/skills/rite-vet/SKILL.md +4 -2
- package/pack/generated/claude/skills/rite-vet/reference/artifacts.md +4 -4
- package/pack/generated/codex/agents/devrites-plan-drafter.toml +7 -0
- package/pack/generated/codex/agents/devrites-plan-reviewer.toml +4 -1
- package/pack/generated/codex/skills/devrites-debug-recovery/SKILL.md +12 -1
- package/pack/generated/codex/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +3 -1
- package/pack/generated/codex/skills/devrites-lib/reference/reply-contract.md +7 -1
- package/pack/generated/codex/skills/devrites-lib/reference/standards/afk-hitl.md +10 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/core.md +4 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/one-shot-actions.md +55 -6
- package/pack/generated/codex/skills/rite-autocomplete/SKILL.md +20 -3
- package/pack/generated/codex/skills/rite-autocomplete/reference/loop.md +11 -0
- package/pack/generated/codex/skills/rite-autocomplete/reference/stop-conditions.md +17 -0
- package/pack/generated/codex/skills/rite-plan/SKILL.md +4 -0
- package/pack/generated/codex/skills/rite-prove/SKILL.md +19 -3
- package/pack/generated/codex/skills/rite-prove/reference/failure-triage.md +12 -2
- package/pack/generated/codex/skills/rite-spec/reference/state-workspace.md +7 -0
- package/pack/generated/codex/skills/rite-vet/SKILL.md +4 -2
- package/pack/generated/codex/skills/rite-vet/reference/artifacts.md +4 -4
- 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,
|
|
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
|
|
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,
|
|
104
|
-
|
|
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
|
|
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.
|
|
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",
|