devrites 4.0.4 → 4.0.6
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 +1 -1
- package/pack/.claude/agents/devrites-plan-reviewer.md +7 -2
- package/pack/.claude/agents/devrites-slice-wright.md +5 -4
- package/pack/.claude/skills/devrites-debug-recovery/SKILL.md +23 -13
- package/pack/.claude/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +13 -8
- package/pack/.claude/skills/devrites-lib/reference/standards/README.md +1 -0
- package/pack/.claude/skills/devrites-lib/reference/standards/afk-hitl.md +16 -6
- package/pack/.claude/skills/devrites-lib/reference/standards/one-shot-actions.md +46 -0
- package/pack/.claude/skills/rite-autocomplete/reference/loop.md +10 -2
- package/pack/.claude/skills/rite-autocomplete/reference/stop-conditions.md +7 -2
- package/pack/.claude/skills/rite-build/reference/afk-discipline.md +3 -1
- package/pack/.claude/skills/rite-build/reference/phase-contract.md +4 -2
- package/pack/.claude/skills/rite-prove/SKILL.md +13 -1
- package/pack/.claude/skills/rite-prove/reference/failure-triage.md +12 -5
- package/pack/.claude/skills/rite-vet/SKILL.md +26 -3
- package/pack/.claude/skills/rite-vet/reference/artifacts.md +6 -0
- package/pack/generated/claude/agents/devrites-plan-reviewer.md +7 -2
- package/pack/generated/claude/agents/devrites-slice-wright.md +5 -4
- package/pack/generated/claude/skills/devrites-debug-recovery/SKILL.md +23 -13
- package/pack/generated/claude/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +13 -8
- package/pack/generated/claude/skills/devrites-lib/reference/standards/README.md +1 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/afk-hitl.md +16 -6
- package/pack/generated/claude/skills/devrites-lib/reference/standards/one-shot-actions.md +46 -0
- package/pack/generated/claude/skills/rite-autocomplete/reference/loop.md +10 -2
- package/pack/generated/claude/skills/rite-autocomplete/reference/stop-conditions.md +7 -2
- package/pack/generated/claude/skills/rite-build/reference/afk-discipline.md +3 -1
- package/pack/generated/claude/skills/rite-build/reference/phase-contract.md +4 -2
- package/pack/generated/claude/skills/rite-prove/SKILL.md +13 -1
- package/pack/generated/claude/skills/rite-prove/reference/failure-triage.md +12 -5
- package/pack/generated/claude/skills/rite-vet/SKILL.md +26 -3
- package/pack/generated/claude/skills/rite-vet/reference/artifacts.md +6 -0
- package/pack/generated/codex/agents/devrites-plan-reviewer.toml +7 -2
- package/pack/generated/codex/agents/devrites-slice-wright.toml +5 -4
- package/pack/generated/codex/skills/devrites-debug-recovery/SKILL.md +23 -13
- package/pack/generated/codex/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +13 -8
- package/pack/generated/codex/skills/devrites-lib/reference/standards/README.md +1 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/afk-hitl.md +16 -6
- package/pack/generated/codex/skills/devrites-lib/reference/standards/one-shot-actions.md +46 -0
- package/pack/generated/codex/skills/rite-autocomplete/reference/loop.md +10 -2
- package/pack/generated/codex/skills/rite-autocomplete/reference/stop-conditions.md +7 -2
- package/pack/generated/codex/skills/rite-build/reference/afk-discipline.md +3 -1
- package/pack/generated/codex/skills/rite-build/reference/phase-contract.md +4 -2
- package/pack/generated/codex/skills/rite-prove/SKILL.md +13 -1
- package/pack/generated/codex/skills/rite-prove/reference/failure-triage.md +12 -5
- package/pack/generated/codex/skills/rite-vet/SKILL.md +26 -3
- package/pack/generated/codex/skills/rite-vet/reference/artifacts.md +6 -0
- package/package.json +1 -1
|
@@ -5,6 +5,9 @@ the reason and one resume command when an actual human/safety/access action can
|
|
|
5
5
|
change the state, notify if configured, and stop. Exhausted agent-owned
|
|
6
6
|
technical recovery is terminal for its unchanged causal fingerprint: record
|
|
7
7
|
`Next step: none` and no runnable recovery command. `--ship` cannot bypass them.
|
|
8
|
+
Closure of a prior fingerprint is progress, not exhaustion. A separately evidenced
|
|
9
|
+
Critical/Important failed invariant starts its own bounded fingerprint; it never
|
|
10
|
+
resets or extends the budget of the one just closed.
|
|
8
11
|
|
|
9
12
|
## Always stop (irreversible-risk list: from `afk-hitl.md`)
|
|
10
13
|
|
|
@@ -24,8 +27,10 @@ Agent-owned backtracking is not a stop condition while its causal-fingerprint
|
|
|
24
27
|
budget remains. The active caller invokes the earlier phase inline, follows Vet
|
|
25
28
|
and any bounded remediation, then resumes the originating phase. Persist
|
|
26
29
|
`Next step` for crash recovery, but do not surface it as a command the human must
|
|
27
|
-
submit.
|
|
28
|
-
|
|
30
|
+
submit. Use the repaired finding's narrow Vet recheck to distinguish resolution,
|
|
31
|
+
the same decisive failure, and a genuinely new Critical/Important invariant.
|
|
32
|
+
Stop only after three no-progress attempts on the exact same fingerprint or when
|
|
33
|
+
the remaining choice is a real human/safety/access gate.
|
|
29
34
|
|
|
30
35
|
On technical exhaustion, preserve the fingerprint, reproduction, attempts, and
|
|
31
36
|
dead ends, then stop without `$rite-plan unblock` or another phase command.
|
|
@@ -71,7 +71,9 @@ tests, types, or lint are red:
|
|
|
71
71
|
The fail-on-red path:
|
|
72
72
|
|
|
73
73
|
1. Continue the same wright under `devrites-debug-recovery`, carrying exact output and dead
|
|
74
|
-
ends; cap writer + recovery at three
|
|
74
|
+
ends; cap writer + recovery at three no-progress attempts per exact causal fingerprint.
|
|
75
|
+
A correction that closes the reproduction is progress; a different evidenced
|
|
76
|
+
Critical/Important invariant starts a separate fingerprint.
|
|
75
77
|
2. Green → record the slice. Product-contract/irreversible ambiguity → write the genuine
|
|
76
78
|
human gate. Missing human-only credential/permission → write a human-intervention gate.
|
|
77
79
|
3. Any other exhausted objective failure → set `Status: blocked`, preserve the reproduction,
|
|
@@ -33,8 +33,10 @@ See [`one-slice-cycle.md`](one-slice-cycle.md); candidate lifecycle is
|
|
|
33
33
|
is not success.
|
|
34
34
|
|
|
35
35
|
Technical failure uses bounded `devrites-debug-recovery`: reapply the host gate
|
|
36
|
-
before an accepted in-slice correction, keep one
|
|
37
|
-
and never rerun an unchanged check.
|
|
36
|
+
before an accepted in-slice correction, keep one exact fingerprint/three
|
|
37
|
+
no-progress attempts, and never rerun an unchanged check. A closed reproduction
|
|
38
|
+
is progress; a different Critical/Important invariant gets its own fingerprint.
|
|
39
|
+
Ask humans only for product decisions,
|
|
38
40
|
irreversible risk, or genuinely human-only access.
|
|
39
41
|
7. **Record.** After green proof, upsert `touched-files.md`'s authoritative candidate
|
|
40
42
|
manifest from the actual scoped diff with explicit `present`/`deleted` rows;
|
|
@@ -38,6 +38,8 @@ Pull these via `Read` when relevant:
|
|
|
38
38
|
webhook / config / error messages / getting-started): **measure** the DX scorecard (run the flow,
|
|
39
39
|
measure time-to-hello-world, and capture verbatim error text), rather than asserting it.
|
|
40
40
|
- `definition-of-done.md`: acceptance, proof, gates, scope, rollback/docs.
|
|
41
|
+
- `one-shot-actions.md`: pre-attempt evidence completeness and no-rerun handling for
|
|
42
|
+
consumptive proof actions.
|
|
41
43
|
|
|
42
44
|
|
|
43
45
|
## Operating rules
|
|
@@ -60,7 +62,10 @@ Pull these via `Read` when relevant:
|
|
|
60
62
|
- **Prove remains the controlling caller during technical backtracking.** Save
|
|
61
63
|
its return cursor, invoke Plan/Vet or bounded remediation inline, consume each
|
|
62
64
|
nested phase boundary, then resume the failed Prove step. Never make the human
|
|
63
|
-
submit an agent-owned repair, re-vet, or proof-rerun command.
|
|
65
|
+
submit an agent-owned repair, re-vet, or proof-rerun command. Apply `afk-hitl.md`
|
|
66
|
+
progress accounting: only three no-progress attempts on the exact same fingerprint
|
|
67
|
+
exhaust recovery; a closed prior finding or a genuinely new
|
|
68
|
+
Critical/Important fingerprint continues inside this invocation.
|
|
64
69
|
|
|
65
70
|
## Released-workspace refresh entry
|
|
66
71
|
|
|
@@ -104,6 +109,13 @@ failure is a blocker; this Upgrade admission never authorizes source or test cha
|
|
|
104
109
|
substituted commands, malformed manifests, zero-test/skipped/filtered results used as
|
|
105
110
|
behavioral proof, success inferred only from exit status, and any source drift. Static
|
|
106
111
|
gates prove only their named static criterion.
|
|
112
|
+
Immediately before any consumptive action, apply `one-shot-actions.md` to the
|
|
113
|
+
live candidate: require the vetted retained-artifact identity, bounds,
|
|
114
|
+
sanitization, terminal-path fixtures, and cleanup-survival proof. A missing,
|
|
115
|
+
stale, or disposable-only evidence surface returns to Vet inline and consumes
|
|
116
|
+
no attempt. Record the admitted artifact identity before execution. After a
|
|
117
|
+
failed consumptive action, triage from that artifact; never reproduce it by
|
|
118
|
+
rerunning the action.
|
|
107
119
|
4. **UI feature?** The root applies the browser proof ladder with
|
|
108
120
|
`design-brief.md`, `references.md`, the requested routes, browser harness, and
|
|
109
121
|
allowed scratch path:
|
|
@@ -4,7 +4,10 @@ When a test/build/runtime/browser check fails, triage before fixing. Delegates t
|
|
|
4
4
|
loop to `devrites-debug-recovery`.
|
|
5
5
|
|
|
6
6
|
## Triage ladder
|
|
7
|
-
1. **Reproduce:**
|
|
7
|
+
1. **Reproduce:** for a repeatable command, run it again and capture the exact
|
|
8
|
+
error (quote it). For a consumptive action under
|
|
9
|
+
[`one-shot-actions.md`](../../devrites-lib/reference/standards/one-shot-actions.md),
|
|
10
|
+
never rerun it: use the retained bounded artifact as the reproduction input.
|
|
8
11
|
2. **Classify** the failure:
|
|
9
12
|
- test is right, code is wrong → fix the code (in scope).
|
|
10
13
|
- test is wrong/outdated → that may be **spec drift** (acceptance criteria wrong).
|
|
@@ -14,13 +17,17 @@ loop to `devrites-debug-recovery`.
|
|
|
14
17
|
3. **Isolate:** minimize to the smallest failing case; bisect the diff if needed.
|
|
15
18
|
4. **Fix within scope:** the current slice/feature only. If the fix reaches outside
|
|
16
19
|
scope, stop and record a blocker in `state.md` (then `$rite-plan unblock`).
|
|
17
|
-
5. **Re-run** the same command; confirm green
|
|
20
|
+
5. **Re-run** the same command when it is repeatable; confirm green and record both
|
|
21
|
+
attempts in `evidence.md`. A consumptive action needs re-vetted evidence
|
|
22
|
+
completeness and any fresh authorization before a new attempt.
|
|
18
23
|
|
|
19
24
|
## Rules
|
|
20
25
|
- Quote the real error text; don't paraphrase it away.
|
|
21
26
|
- Don't loosen/delete a failing assertion to get green: investigate whether it's drift.
|
|
22
27
|
- Don't add blanket retries/sleeps to hide flakiness.
|
|
23
|
-
- Three
|
|
24
|
-
|
|
25
|
-
|
|
28
|
+
- Three no-progress attempts on the exact same causal fingerprint consume the
|
|
29
|
+
shared recovery cap. A recheck that closes the reproduction is progress; a
|
|
30
|
+
different evidenced Critical/Important invariant gets its own fingerprint.
|
|
31
|
+
Preserve the reproduction and dead ends, then stop once as a technical blocker.
|
|
32
|
+
Ask only when the remaining decision is human-owned.
|
|
26
33
|
- A failure you can't fix in scope is a recorded **blocker**, not a silent skip.
|
|
@@ -20,7 +20,8 @@ but every profile keeps the exact plan-reviewer gate.
|
|
|
20
20
|
Pull the standard named by the active axis: `principles.md`, `patterns.md`,
|
|
21
21
|
`coding-style.md`, `testing.md`, `spec-grammar.md`, `performance.md`,
|
|
22
22
|
`error-handling.md`, `development-workflow.md`, `afk-hitl.md`,
|
|
23
|
-
`developer-experience.md`, `elicitation.md`, and
|
|
23
|
+
`one-shot-actions.md`, `developer-experience.md`, `elicitation.md`, and
|
|
24
|
+
`definition-of-done.md`.
|
|
24
25
|
|
|
25
26
|
|
|
26
27
|
## Operating rules
|
|
@@ -43,6 +44,9 @@ Pull the standard named by the active axis: `principles.md`, `patterns.md`,
|
|
|
43
44
|
- **Honor a recovery origin.** Preserve a valid technical-backtracking return
|
|
44
45
|
cursor throughout review. Agent-owned `NEEDS REPLAN` returns internally to the
|
|
45
46
|
controlling caller; it never becomes a request for the human to invoke Plan.
|
|
47
|
+
- **Recovery recheck is bounded.** A valid technical-backtracking cursor plus a
|
|
48
|
+
recorded open fingerprint enters the Recovery recheck below. Recovery recheck
|
|
49
|
+
does not start another Full Vet or repeat unaffected axes/reviewers.
|
|
46
50
|
|
|
47
51
|
## Workflow
|
|
48
52
|
0. **Read `.agents/skills/devrites-lib/reference/standards/core.md`** first.
|
|
@@ -57,12 +61,26 @@ Pull the standard named by the active axis: `principles.md`, `patterns.md`,
|
|
|
57
61
|
`.agents/skills/devrites-lib/reference/standards/tooling.md`) for placement / blast-radius / reuse checks.
|
|
58
62
|
1. **Set review depth. Never skip this step.** Apply
|
|
59
63
|
[`reference/depth.md`](reference/depth.md) exactly. Every plan leaves a recorded
|
|
60
|
-
engineering verdict and `test-plan.md` coverage map.
|
|
61
|
-
|
|
64
|
+
engineering verdict and `test-plan.md` coverage map. For an admitted Recovery
|
|
65
|
+
recheck, retain the prior depth and proceed to step 1b instead of starting a new
|
|
66
|
+
depth/pass.
|
|
67
|
+
1a. **Independent pass at every initial depth.** Freeze the candidate; dispatch exact
|
|
62
68
|
`devrites-plan-reviewer` fresh/read-only and validate its report. Add exact
|
|
63
69
|
`devrites-devex-reviewer` for developer surfaces and require the current exact
|
|
64
70
|
`devrites-strategy-reviewer` verdict after significant Temper. Missing accounts
|
|
65
71
|
block; never substitute inline work.
|
|
72
|
+
1b. **Recovery recheck.** Require the valid return cursor, prior accepted findings,
|
|
73
|
+
exact open fingerprint/reproduction, repaired candidate identity, changed
|
|
74
|
+
paths/criteria, and affected evidence from `drift.md` / `evidence.md`. Freeze
|
|
75
|
+
that packet and dispatch each exact owning reviewer once, fresh/read-only and
|
|
76
|
+
limited to those inputs. Do not rerun unaffected reviewers or the broad steps
|
|
77
|
+
2-4 inventory. Mark the prior fingerprint resolved only when discriminating
|
|
78
|
+
evidence closes its reproduction; otherwise record one no-progress outcome.
|
|
79
|
+
A newly caused or exposed Critical or Important finding may block only with a
|
|
80
|
+
different failed invariant, exact evidence in the changed/affected boundary,
|
|
81
|
+
and a new fingerprint. A Suggestion, Nit, or FYI cannot keep recovery open.
|
|
82
|
+
Reconcile the common artifact/readiness gates below, then return to the caller
|
|
83
|
+
or its next repair; never convert the nested result into a human command.
|
|
66
84
|
2. **Scope challenge (blocking gate):** apply §0 of
|
|
67
85
|
[`reference/review-axes.md`](reference/review-axes.md). Search accepted ADRs and
|
|
68
86
|
relevant workspace `decisions.md` files directly. Harden to the smallest
|
|
@@ -80,6 +98,11 @@ Pull the standard named by the active axis: `principles.md`, `patterns.md`,
|
|
|
80
98
|
unmeasurable conflict = gap. Record complete SHA-256 provenance inputs. Require
|
|
81
99
|
every behavioral mapping to name a positive,
|
|
82
100
|
discriminating assertion and decisive signal, not merely a command or expected exit zero.
|
|
101
|
+
Identify every consumptive action under `one-shot-actions.md`. Before admitting
|
|
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
|
|
105
|
+
preflight gap; do not spend the action to learn what cleanup would erase.
|
|
83
106
|
Preflight observes; it need not make future behavior pass.
|
|
84
107
|
2c. **Implementation-readiness audit.** Goal-backward map every REQ/AC/NFR, interaction,
|
|
85
108
|
edge/prohibition, and decision-coverage row to a slice and executable proof. Verify
|
|
@@ -35,6 +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
39
|
|
|
39
40
|
## 3. Axis findings (floor-gated)
|
|
40
41
|
| Axis | Floor band | Findings (sev · confidence) |
|
|
@@ -94,6 +95,11 @@ Commands in this durable artifact are portable repository commands: no RTK or lo
|
|
|
94
95
|
aliases, user-specific absolute paths, or temporary proof trees. Evidence records
|
|
95
96
|
the command actually executed.
|
|
96
97
|
|
|
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> |
|
|
102
|
+
|
|
97
103
|
Every behavioral row names a positive, discriminating assertion and the decisive output it
|
|
98
104
|
produces. A command or expected exit zero alone is not a behavioral assertion; static gates
|
|
99
105
|
prove only their named static criterion.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "devrites",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.6",
|
|
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",
|