devrites 5.2.0 → 5.2.2
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-drafter.md +7 -0
- package/pack/.claude/skills/rite-plan/SKILL.md +24 -10
- package/pack/.claude/skills/rite-vet/SKILL.md +9 -4
- package/pack/generated/claude/agents/devrites-plan-drafter.md +7 -0
- package/pack/generated/claude/skills/rite-plan/SKILL.md +24 -10
- package/pack/generated/claude/skills/rite-vet/SKILL.md +9 -4
- package/pack/generated/codex/agents/devrites-plan-drafter.toml +7 -0
- package/pack/generated/codex/skills/rite-plan/SKILL.md +24 -10
- package/pack/generated/codex/skills/rite-vet/SKILL.md +9 -4
- package/pack/generated/omp/agents/devrites-plan-drafter.md +7 -0
- package/pack/generated/omp/skills/rite-plan/SKILL.md +24 -10
- package/pack/generated/omp/skills/rite-vet/SKILL.md +9 -4
- package/package.json +1 -1
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.2.2](https://github.com/ViktorsBaikers/DevRites/compare/v5.2.1...v5.2.2) (2026-09-11)
|
|
6
|
+
|
|
7
|
+
### Fixed
|
|
8
|
+
|
|
9
|
+
* **skills:** make self-chaining save the caller return cursor ([#63](https://github.com/ViktorsBaikers/DevRites/issues/63)) ([4038577](https://github.com/ViktorsBaikers/DevRites/commit/4038577d5d8d1bbd7fe6e05fb9a0375a3bc07f5e))
|
|
10
|
+
|
|
11
|
+
## [5.2.1](https://github.com/ViktorsBaikers/DevRites/compare/v5.2.0...v5.2.1) (2026-09-11)
|
|
12
|
+
|
|
13
|
+
### Fixed
|
|
14
|
+
|
|
15
|
+
* **skills:** scope drafter self-check to patched invariants ([#62](https://github.com/ViktorsBaikers/DevRites/issues/62)) ([d32bbf9](https://github.com/ViktorsBaikers/DevRites/commit/d32bbf9f81e255dae6e66622ab8b0e1fd1017a2c))
|
|
16
|
+
|
|
5
17
|
## [5.2.0](https://github.com/ViktorsBaikers/DevRites/compare/v5.1.0...v5.2.0) (2026-09-11)
|
|
6
18
|
|
|
7
19
|
### Added
|
package/README.md
CHANGED
|
@@ -33,7 +33,7 @@ project-conventional push, tag, or PR action, and archive the workspace.
|
|
|
33
33
|
Unattended runs may create local WIP checkpoint commits along the way, but they
|
|
34
34
|
remain local unless Ship's disclosed plan includes an approved remote action.
|
|
35
35
|
|
|
36
|
-
**Status:** [`v5.2.
|
|
36
|
+
**Status:** [`v5.2.2`](https://github.com/ViktorsBaikers/DevRites/releases/tag/v5.2.2): see [`CHANGELOG.md`](CHANGELOG.md) for release notes.
|
|
37
37
|
|
|
38
38
|
This is the latest published release; `main` may contain unreleased work.
|
|
39
39
|
|
|
@@ -53,6 +53,13 @@ principle-exception questions. List them for the root.
|
|
|
53
53
|
- Do not invoke another agent.
|
|
54
54
|
- Return candidate content only for requested paths. If unfinished, name the exact
|
|
55
55
|
remaining path instead of compressing away a contract.
|
|
56
|
+
- In `repair`, if the full bundle would exceed reliable output, return
|
|
57
|
+
`Outcome: partial` with complete hunks for a whole-finding prefix in packet
|
|
58
|
+
order plus `remaining_findings` — a finding is all its sites or none; never
|
|
59
|
+
split one across returns. The root materializes the partial bundle and
|
|
60
|
+
re-dispatches the rest. A finding blocked on human-owned information goes in
|
|
61
|
+
`blocked_findings` with the needed input named — never `remaining_findings`,
|
|
62
|
+
which is reserved for what another dispatch can complete.
|
|
56
63
|
|
|
57
64
|
## Output format
|
|
58
65
|
|
|
@@ -79,9 +79,11 @@ Before classifying any Reslice, read `.claude/skills/devrites-lib/reference/stan
|
|
|
79
79
|
require the drafter to apply `one-shot-actions.md` and return the bounded
|
|
80
80
|
diagnostic-amplification design, injective boundary map, per-seam fixtures, and
|
|
81
81
|
collision mutant. Past evidence loss is not terminal. The drafter supplies no bodies.
|
|
82
|
-
A repair candidate carries a delta self-check
|
|
83
|
-
|
|
84
|
-
correction-created regression.
|
|
82
|
+
A repair candidate carries a delta self-check scoped to what the patch
|
|
83
|
+
touches: which intersected invariants it re-verified, with evidence of no
|
|
84
|
+
correction-created regression. Global re-derivation (ID/edge/HZN counts,
|
|
85
|
+
acyclicity) runs on materialized artifacts at the step-7 gate — the drafter
|
|
86
|
+
never re-derives them by exhaustive search.
|
|
85
87
|
Bind exact active `.devrites/work/<slug>/` targets and executable contract; after Vet READY, root
|
|
86
88
|
materializes the exact vetted workflow-artifact paths under
|
|
87
89
|
[`workflow-artifacts.md`](../devrites-lib/reference/standards/workflow-artifacts.md)
|
|
@@ -104,7 +106,16 @@ Before classifying any Reslice, read `.claude/skills/devrites-lib/reference/stan
|
|
|
104
106
|
[task-breakdown](reference/task-breakdown.md). Prefer thin, shippable, verifiable.
|
|
105
107
|
**Completion:** every slice is independently shippable/provable or carries an irreducibility reason.
|
|
106
108
|
5. Reconcile the candidate against steps 3 and 4, then the root updates `plan.md`, `tasks.md`,
|
|
107
|
-
`state.md`, and appends rationale to `decisions.md`.
|
|
109
|
+
`state.md`, and appends rationale to `decisions.md`. A rejected candidate
|
|
110
|
+
(malformed bundle, stale or non-unique anchor) or a drafter `Outcome: gap`
|
|
111
|
+
is one no-progress outcome on every open fingerprint in the fold; the
|
|
112
|
+
re-dispatch packet must name the rejection so the same hunks don't recur.
|
|
113
|
+
A gap naming genuinely human-owned information routes to `/rite-clarify`.
|
|
114
|
+
A drafter `Outcome: partial` is progress: materialize its complete findings,
|
|
115
|
+
then re-dispatch a narrowed packet for `remaining_findings` with anchors
|
|
116
|
+
re-derived from the just-updated files — same repair pass, fresh context.
|
|
117
|
+
A partial covering zero findings counts as no-progress. Findings in
|
|
118
|
+
`blocked_findings` route to `/rite-clarify`, never the re-dispatch.
|
|
108
119
|
Any change to `architecture.md`, `plan.md`, `tasks.md`, or `traceability.md` invalidates
|
|
109
120
|
the previous vet verdict: set `Phase: plan`, `Next step: /rite-vet`, and, when
|
|
110
121
|
`eng-review.md` exists, set `Implementation readiness: NEEDS REPLAN`. Never retain READY
|
|
@@ -133,12 +144,15 @@ user-facing stop unless a genuine HITL, safety/access, or exhausted-recovery
|
|
|
133
144
|
condition was recorded.
|
|
134
145
|
|
|
135
146
|
When invoked directly with no controlling caller and a planning artifact
|
|
136
|
-
changed, become the caller for the mandated next step:
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
147
|
+
changed, become the caller for the mandated next step: save a return cursor
|
|
148
|
+
(`return_phase`/`return_next_action`) naming this Plan pass as the caller —
|
|
149
|
+
a direct Plan has no caller above it, so without the saved cursor Vet reads
|
|
150
|
+
itself as top-level and its verdict becomes a user-facing command. Invoke
|
|
151
|
+
`/rite-vet` inline and consume its results — `NEEDS REPLAN` re-enters repair
|
|
152
|
+
internally under the fingerprint caps and is never emitted as a user-facing
|
|
153
|
+
command; `NEEDS CLARIFICATION` and human-owned gates still reach the user.
|
|
154
|
+
Stop only at Vet's boundary (READY readback; next step `/rite-build`). An
|
|
155
|
+
unchanged plan keeps its recorded next step.
|
|
142
156
|
|
|
143
157
|
> **Mid-flight discipline.** Do not change product behavior without confirmation or
|
|
144
158
|
> absorb drift silently. See [`anti-patterns`](reference/anti-patterns.md).
|
|
@@ -53,8 +53,10 @@ plan declares a root-authored executable workflow file, read
|
|
|
53
53
|
asking and resolve reversible technical choices. Ask only human-owned choices.
|
|
54
54
|
- Preserve a valid technical return cursor. Agent-owned `NEEDS REPLAN` returns
|
|
55
55
|
internally to its caller, not to the human; on a direct invocation there is
|
|
56
|
-
no caller, so Vet becomes it —
|
|
57
|
-
|
|
56
|
+
no caller, so Vet becomes it — save a return cursor
|
|
57
|
+
(`return_phase`/`return_next_action`) naming this Vet pass as the caller and
|
|
58
|
+
invoke `/rite-plan` repair inline under the same fingerprint caps. An
|
|
59
|
+
agent-owned verdict with budget remaining is never a user-facing command.
|
|
58
60
|
- **Recovery recheck is bounded and batched.** A valid cursor plus open
|
|
59
61
|
fingerprints enters Recovery recheck; it does not start another Full Vet or
|
|
60
62
|
repeat unaffected axes/reviewers. One dispatch covers every open fingerprint
|
|
@@ -83,7 +85,9 @@ plan declares a root-authored executable workflow file, read
|
|
|
83
85
|
Do not rerun broad inventory or unaffected reviewers. Close the prior
|
|
84
86
|
fingerprint only with discriminating evidence plus an explicit
|
|
85
87
|
correction-created regression verdict on the touched invariants (acyclic
|
|
86
|
-
deps, traceability, contract proof, sizing)
|
|
88
|
+
deps, traceability, contract proof, sizing) and every region depending on a
|
|
89
|
+
changed clause — enumerate dependents via the dep graph and traceability
|
|
90
|
+
refs, not only patched sites. Otherwise record one no-progress outcome. A
|
|
87
91
|
different Critical/Important invariant needs exact evidence and a new
|
|
88
92
|
fingerprint; a Suggestion, Nit, or FYI cannot keep recovery open. Reconcile
|
|
89
93
|
shared artifact/readiness gates and return to caller or next repair.
|
|
@@ -131,7 +135,8 @@ plan declares a root-authored executable workflow file, read
|
|
|
131
135
|
per correction/fingerprint accounting (each checked individually with its
|
|
132
136
|
accepted findings, changed paths/criteria, new identity, and recorded delta
|
|
133
137
|
self-check); it must return an explicit correction-created regression
|
|
134
|
-
verdict
|
|
138
|
+
verdict over touched invariants plus every dependent of each changed clause
|
|
139
|
+
(dep-graph and traceability lookup), not only fingerprint closure. Within one correction, no broad
|
|
135
140
|
third loop. If it changes plan, fold again. A closed input plus a distinct Critical/Important invariant returns
|
|
136
141
|
that new fingerprint as progress. Then close matrix and rerun ID/meaning audit.
|
|
137
142
|
8. **Build readback and readiness.** Add a cited five-line readback to
|
|
@@ -53,6 +53,13 @@ principle-exception questions. List them for the root.
|
|
|
53
53
|
- Do not invoke another agent.
|
|
54
54
|
- Return candidate content only for requested paths. If unfinished, name the exact
|
|
55
55
|
remaining path instead of compressing away a contract.
|
|
56
|
+
- In `repair`, if the full bundle would exceed reliable output, return
|
|
57
|
+
`Outcome: partial` with complete hunks for a whole-finding prefix in packet
|
|
58
|
+
order plus `remaining_findings` — a finding is all its sites or none; never
|
|
59
|
+
split one across returns. The root materializes the partial bundle and
|
|
60
|
+
re-dispatches the rest. A finding blocked on human-owned information goes in
|
|
61
|
+
`blocked_findings` with the needed input named — never `remaining_findings`,
|
|
62
|
+
which is reserved for what another dispatch can complete.
|
|
56
63
|
|
|
57
64
|
## Output format
|
|
58
65
|
|
|
@@ -79,9 +79,11 @@ Before classifying any Reslice, read `.claude/skills/devrites-lib/reference/stan
|
|
|
79
79
|
require the drafter to apply `one-shot-actions.md` and return the bounded
|
|
80
80
|
diagnostic-amplification design, injective boundary map, per-seam fixtures, and
|
|
81
81
|
collision mutant. Past evidence loss is not terminal. The drafter supplies no bodies.
|
|
82
|
-
A repair candidate carries a delta self-check
|
|
83
|
-
|
|
84
|
-
correction-created regression.
|
|
82
|
+
A repair candidate carries a delta self-check scoped to what the patch
|
|
83
|
+
touches: which intersected invariants it re-verified, with evidence of no
|
|
84
|
+
correction-created regression. Global re-derivation (ID/edge/HZN counts,
|
|
85
|
+
acyclicity) runs on materialized artifacts at the step-7 gate — the drafter
|
|
86
|
+
never re-derives them by exhaustive search.
|
|
85
87
|
Bind exact active `.devrites/work/<slug>/` targets and executable contract; after Vet READY, root
|
|
86
88
|
materializes the exact vetted workflow-artifact paths under
|
|
87
89
|
[`workflow-artifacts.md`](../devrites-lib/reference/standards/workflow-artifacts.md)
|
|
@@ -104,7 +106,16 @@ Before classifying any Reslice, read `.claude/skills/devrites-lib/reference/stan
|
|
|
104
106
|
[task-breakdown](reference/task-breakdown.md). Prefer thin, shippable, verifiable.
|
|
105
107
|
**Completion:** every slice is independently shippable/provable or carries an irreducibility reason.
|
|
106
108
|
5. Reconcile the candidate against steps 3 and 4, then the root updates `plan.md`, `tasks.md`,
|
|
107
|
-
`state.md`, and appends rationale to `decisions.md`.
|
|
109
|
+
`state.md`, and appends rationale to `decisions.md`. A rejected candidate
|
|
110
|
+
(malformed bundle, stale or non-unique anchor) or a drafter `Outcome: gap`
|
|
111
|
+
is one no-progress outcome on every open fingerprint in the fold; the
|
|
112
|
+
re-dispatch packet must name the rejection so the same hunks don't recur.
|
|
113
|
+
A gap naming genuinely human-owned information routes to `/rite-clarify`.
|
|
114
|
+
A drafter `Outcome: partial` is progress: materialize its complete findings,
|
|
115
|
+
then re-dispatch a narrowed packet for `remaining_findings` with anchors
|
|
116
|
+
re-derived from the just-updated files — same repair pass, fresh context.
|
|
117
|
+
A partial covering zero findings counts as no-progress. Findings in
|
|
118
|
+
`blocked_findings` route to `/rite-clarify`, never the re-dispatch.
|
|
108
119
|
Any change to `architecture.md`, `plan.md`, `tasks.md`, or `traceability.md` invalidates
|
|
109
120
|
the previous vet verdict: set `Phase: plan`, `Next step: /rite-vet`, and, when
|
|
110
121
|
`eng-review.md` exists, set `Implementation readiness: NEEDS REPLAN`. Never retain READY
|
|
@@ -133,12 +144,15 @@ user-facing stop unless a genuine HITL, safety/access, or exhausted-recovery
|
|
|
133
144
|
condition was recorded.
|
|
134
145
|
|
|
135
146
|
When invoked directly with no controlling caller and a planning artifact
|
|
136
|
-
changed, become the caller for the mandated next step:
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
147
|
+
changed, become the caller for the mandated next step: save a return cursor
|
|
148
|
+
(`return_phase`/`return_next_action`) naming this Plan pass as the caller —
|
|
149
|
+
a direct Plan has no caller above it, so without the saved cursor Vet reads
|
|
150
|
+
itself as top-level and its verdict becomes a user-facing command. Invoke
|
|
151
|
+
`/rite-vet` inline and consume its results — `NEEDS REPLAN` re-enters repair
|
|
152
|
+
internally under the fingerprint caps and is never emitted as a user-facing
|
|
153
|
+
command; `NEEDS CLARIFICATION` and human-owned gates still reach the user.
|
|
154
|
+
Stop only at Vet's boundary (READY readback; next step `/rite-build`). An
|
|
155
|
+
unchanged plan keeps its recorded next step.
|
|
142
156
|
|
|
143
157
|
> **Mid-flight discipline.** Do not change product behavior without confirmation or
|
|
144
158
|
> absorb drift silently. See [`anti-patterns`](reference/anti-patterns.md).
|
|
@@ -53,8 +53,10 @@ plan declares a root-authored executable workflow file, read
|
|
|
53
53
|
asking and resolve reversible technical choices. Ask only human-owned choices.
|
|
54
54
|
- Preserve a valid technical return cursor. Agent-owned `NEEDS REPLAN` returns
|
|
55
55
|
internally to its caller, not to the human; on a direct invocation there is
|
|
56
|
-
no caller, so Vet becomes it —
|
|
57
|
-
|
|
56
|
+
no caller, so Vet becomes it — save a return cursor
|
|
57
|
+
(`return_phase`/`return_next_action`) naming this Vet pass as the caller and
|
|
58
|
+
invoke `/rite-plan` repair inline under the same fingerprint caps. An
|
|
59
|
+
agent-owned verdict with budget remaining is never a user-facing command.
|
|
58
60
|
- **Recovery recheck is bounded and batched.** A valid cursor plus open
|
|
59
61
|
fingerprints enters Recovery recheck; it does not start another Full Vet or
|
|
60
62
|
repeat unaffected axes/reviewers. One dispatch covers every open fingerprint
|
|
@@ -83,7 +85,9 @@ plan declares a root-authored executable workflow file, read
|
|
|
83
85
|
Do not rerun broad inventory or unaffected reviewers. Close the prior
|
|
84
86
|
fingerprint only with discriminating evidence plus an explicit
|
|
85
87
|
correction-created regression verdict on the touched invariants (acyclic
|
|
86
|
-
deps, traceability, contract proof, sizing)
|
|
88
|
+
deps, traceability, contract proof, sizing) and every region depending on a
|
|
89
|
+
changed clause — enumerate dependents via the dep graph and traceability
|
|
90
|
+
refs, not only patched sites. Otherwise record one no-progress outcome. A
|
|
87
91
|
different Critical/Important invariant needs exact evidence and a new
|
|
88
92
|
fingerprint; a Suggestion, Nit, or FYI cannot keep recovery open. Reconcile
|
|
89
93
|
shared artifact/readiness gates and return to caller or next repair.
|
|
@@ -131,7 +135,8 @@ plan declares a root-authored executable workflow file, read
|
|
|
131
135
|
per correction/fingerprint accounting (each checked individually with its
|
|
132
136
|
accepted findings, changed paths/criteria, new identity, and recorded delta
|
|
133
137
|
self-check); it must return an explicit correction-created regression
|
|
134
|
-
verdict
|
|
138
|
+
verdict over touched invariants plus every dependent of each changed clause
|
|
139
|
+
(dep-graph and traceability lookup), not only fingerprint closure. Within one correction, no broad
|
|
135
140
|
third loop. If it changes plan, fold again. A closed input plus a distinct Critical/Important invariant returns
|
|
136
141
|
that new fingerprint as progress. Then close matrix and rerun ID/meaning audit.
|
|
137
142
|
8. **Build readback and readiness.** Add a cited five-line readback to
|
|
@@ -51,6 +51,13 @@ principle-exception questions. List them for the root.
|
|
|
51
51
|
- Do not invoke another agent.
|
|
52
52
|
- Return candidate content only for requested paths. If unfinished, name the exact
|
|
53
53
|
remaining path instead of compressing away a contract.
|
|
54
|
+
- In `repair`, if the full bundle would exceed reliable output, return
|
|
55
|
+
`Outcome: partial` with complete hunks for a whole-finding prefix in packet
|
|
56
|
+
order plus `remaining_findings` — a finding is all its sites or none; never
|
|
57
|
+
split one across returns. The root materializes the partial bundle and
|
|
58
|
+
re-dispatches the rest. A finding blocked on human-owned information goes in
|
|
59
|
+
`blocked_findings` with the needed input named — never `remaining_findings`,
|
|
60
|
+
which is reserved for what another dispatch can complete.
|
|
54
61
|
|
|
55
62
|
## Output format
|
|
56
63
|
|
|
@@ -79,9 +79,11 @@ Before classifying any Reslice, read `.agents/skills/devrites-lib/reference/stan
|
|
|
79
79
|
require the drafter to apply `one-shot-actions.md` and return the bounded
|
|
80
80
|
diagnostic-amplification design, injective boundary map, per-seam fixtures, and
|
|
81
81
|
collision mutant. Past evidence loss is not terminal. The drafter supplies no bodies.
|
|
82
|
-
A repair candidate carries a delta self-check
|
|
83
|
-
|
|
84
|
-
correction-created regression.
|
|
82
|
+
A repair candidate carries a delta self-check scoped to what the patch
|
|
83
|
+
touches: which intersected invariants it re-verified, with evidence of no
|
|
84
|
+
correction-created regression. Global re-derivation (ID/edge/HZN counts,
|
|
85
|
+
acyclicity) runs on materialized artifacts at the step-7 gate — the drafter
|
|
86
|
+
never re-derives them by exhaustive search.
|
|
85
87
|
Bind exact active `.devrites/work/<slug>/` targets and executable contract; after Vet READY, root
|
|
86
88
|
materializes the exact vetted workflow-artifact paths under
|
|
87
89
|
[`workflow-artifacts.md`](../devrites-lib/reference/standards/workflow-artifacts.md)
|
|
@@ -104,7 +106,16 @@ Before classifying any Reslice, read `.agents/skills/devrites-lib/reference/stan
|
|
|
104
106
|
[task-breakdown](reference/task-breakdown.md). Prefer thin, shippable, verifiable.
|
|
105
107
|
**Completion:** every slice is independently shippable/provable or carries an irreducibility reason.
|
|
106
108
|
5. Reconcile the candidate against steps 3 and 4, then the root updates `plan.md`, `tasks.md`,
|
|
107
|
-
`state.md`, and appends rationale to `decisions.md`.
|
|
109
|
+
`state.md`, and appends rationale to `decisions.md`. A rejected candidate
|
|
110
|
+
(malformed bundle, stale or non-unique anchor) or a drafter `Outcome: gap`
|
|
111
|
+
is one no-progress outcome on every open fingerprint in the fold; the
|
|
112
|
+
re-dispatch packet must name the rejection so the same hunks don't recur.
|
|
113
|
+
A gap naming genuinely human-owned information routes to `$rite-clarify`.
|
|
114
|
+
A drafter `Outcome: partial` is progress: materialize its complete findings,
|
|
115
|
+
then re-dispatch a narrowed packet for `remaining_findings` with anchors
|
|
116
|
+
re-derived from the just-updated files — same repair pass, fresh context.
|
|
117
|
+
A partial covering zero findings counts as no-progress. Findings in
|
|
118
|
+
`blocked_findings` route to `$rite-clarify`, never the re-dispatch.
|
|
108
119
|
Any change to `architecture.md`, `plan.md`, `tasks.md`, or `traceability.md` invalidates
|
|
109
120
|
the previous vet verdict: set `Phase: plan`, `Next step: $rite-vet`, and, when
|
|
110
121
|
`eng-review.md` exists, set `Implementation readiness: NEEDS REPLAN`. Never retain READY
|
|
@@ -133,12 +144,15 @@ user-facing stop unless a genuine HITL, safety/access, or exhausted-recovery
|
|
|
133
144
|
condition was recorded.
|
|
134
145
|
|
|
135
146
|
When invoked directly with no controlling caller and a planning artifact
|
|
136
|
-
changed, become the caller for the mandated next step:
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
147
|
+
changed, become the caller for the mandated next step: save a return cursor
|
|
148
|
+
(`return_phase`/`return_next_action`) naming this Plan pass as the caller —
|
|
149
|
+
a direct Plan has no caller above it, so without the saved cursor Vet reads
|
|
150
|
+
itself as top-level and its verdict becomes a user-facing command. Invoke
|
|
151
|
+
`$rite-vet` inline and consume its results — `NEEDS REPLAN` re-enters repair
|
|
152
|
+
internally under the fingerprint caps and is never emitted as a user-facing
|
|
153
|
+
command; `NEEDS CLARIFICATION` and human-owned gates still reach the user.
|
|
154
|
+
Stop only at Vet's boundary (READY readback; next step `$rite-build`). An
|
|
155
|
+
unchanged plan keeps its recorded next step.
|
|
142
156
|
|
|
143
157
|
> **Mid-flight discipline.** Do not change product behavior without confirmation or
|
|
144
158
|
> absorb drift silently. See [`anti-patterns`](reference/anti-patterns.md).
|
|
@@ -53,8 +53,10 @@ plan declares a root-authored executable workflow file, read
|
|
|
53
53
|
asking and resolve reversible technical choices. Ask only human-owned choices.
|
|
54
54
|
- Preserve a valid technical return cursor. Agent-owned `NEEDS REPLAN` returns
|
|
55
55
|
internally to its caller, not to the human; on a direct invocation there is
|
|
56
|
-
no caller, so Vet becomes it —
|
|
57
|
-
|
|
56
|
+
no caller, so Vet becomes it — save a return cursor
|
|
57
|
+
(`return_phase`/`return_next_action`) naming this Vet pass as the caller and
|
|
58
|
+
invoke `$rite-plan` repair inline under the same fingerprint caps. An
|
|
59
|
+
agent-owned verdict with budget remaining is never a user-facing command.
|
|
58
60
|
- **Recovery recheck is bounded and batched.** A valid cursor plus open
|
|
59
61
|
fingerprints enters Recovery recheck; it does not start another Full Vet or
|
|
60
62
|
repeat unaffected axes/reviewers. One dispatch covers every open fingerprint
|
|
@@ -83,7 +85,9 @@ plan declares a root-authored executable workflow file, read
|
|
|
83
85
|
Do not rerun broad inventory or unaffected reviewers. Close the prior
|
|
84
86
|
fingerprint only with discriminating evidence plus an explicit
|
|
85
87
|
correction-created regression verdict on the touched invariants (acyclic
|
|
86
|
-
deps, traceability, contract proof, sizing)
|
|
88
|
+
deps, traceability, contract proof, sizing) and every region depending on a
|
|
89
|
+
changed clause — enumerate dependents via the dep graph and traceability
|
|
90
|
+
refs, not only patched sites. Otherwise record one no-progress outcome. A
|
|
87
91
|
different Critical/Important invariant needs exact evidence and a new
|
|
88
92
|
fingerprint; a Suggestion, Nit, or FYI cannot keep recovery open. Reconcile
|
|
89
93
|
shared artifact/readiness gates and return to caller or next repair.
|
|
@@ -131,7 +135,8 @@ plan declares a root-authored executable workflow file, read
|
|
|
131
135
|
per correction/fingerprint accounting (each checked individually with its
|
|
132
136
|
accepted findings, changed paths/criteria, new identity, and recorded delta
|
|
133
137
|
self-check); it must return an explicit correction-created regression
|
|
134
|
-
verdict
|
|
138
|
+
verdict over touched invariants plus every dependent of each changed clause
|
|
139
|
+
(dep-graph and traceability lookup), not only fingerprint closure. Within one correction, no broad
|
|
135
140
|
third loop. If it changes plan, fold again. A closed input plus a distinct Critical/Important invariant returns
|
|
136
141
|
that new fingerprint as progress. Then close matrix and rerun ID/meaning audit.
|
|
137
142
|
8. **Build readback and readiness.** Add a cited five-line readback to
|
|
@@ -52,6 +52,13 @@ principle-exception questions. List them for the root.
|
|
|
52
52
|
- Do not invoke another agent.
|
|
53
53
|
- Return candidate content only for requested paths. If unfinished, name the exact
|
|
54
54
|
remaining path instead of compressing away a contract.
|
|
55
|
+
- In `repair`, if the full bundle would exceed reliable output, return
|
|
56
|
+
`Outcome: partial` with complete hunks for a whole-finding prefix in packet
|
|
57
|
+
order plus `remaining_findings` — a finding is all its sites or none; never
|
|
58
|
+
split one across returns. The root materializes the partial bundle and
|
|
59
|
+
re-dispatches the rest. A finding blocked on human-owned information goes in
|
|
60
|
+
`blocked_findings` with the needed input named — never `remaining_findings`,
|
|
61
|
+
which is reserved for what another dispatch can complete.
|
|
55
62
|
|
|
56
63
|
## Output format
|
|
57
64
|
|
|
@@ -79,9 +79,11 @@ Before classifying any Reslice, read `.omp/skills/devrites-lib/reference/standar
|
|
|
79
79
|
require the drafter to apply `one-shot-actions.md` and return the bounded
|
|
80
80
|
diagnostic-amplification design, injective boundary map, per-seam fixtures, and
|
|
81
81
|
collision mutant. Past evidence loss is not terminal. The drafter supplies no bodies.
|
|
82
|
-
A repair candidate carries a delta self-check
|
|
83
|
-
|
|
84
|
-
correction-created regression.
|
|
82
|
+
A repair candidate carries a delta self-check scoped to what the patch
|
|
83
|
+
touches: which intersected invariants it re-verified, with evidence of no
|
|
84
|
+
correction-created regression. Global re-derivation (ID/edge/HZN counts,
|
|
85
|
+
acyclicity) runs on materialized artifacts at the step-7 gate — the drafter
|
|
86
|
+
never re-derives them by exhaustive search.
|
|
85
87
|
Bind exact active `.devrites/work/<slug>/` targets and executable contract; after Vet READY, root
|
|
86
88
|
materializes the exact vetted workflow-artifact paths under
|
|
87
89
|
[`workflow-artifacts.md`](../devrites-lib/reference/standards/workflow-artifacts.md)
|
|
@@ -104,7 +106,16 @@ Before classifying any Reslice, read `.omp/skills/devrites-lib/reference/standar
|
|
|
104
106
|
[task-breakdown](reference/task-breakdown.md). Prefer thin, shippable, verifiable.
|
|
105
107
|
**Completion:** every slice is independently shippable/provable or carries an irreducibility reason.
|
|
106
108
|
5. Reconcile the candidate against steps 3 and 4, then the root updates `plan.md`, `tasks.md`,
|
|
107
|
-
`state.md`, and appends rationale to `decisions.md`.
|
|
109
|
+
`state.md`, and appends rationale to `decisions.md`. A rejected candidate
|
|
110
|
+
(malformed bundle, stale or non-unique anchor) or a drafter `Outcome: gap`
|
|
111
|
+
is one no-progress outcome on every open fingerprint in the fold; the
|
|
112
|
+
re-dispatch packet must name the rejection so the same hunks don't recur.
|
|
113
|
+
A gap naming genuinely human-owned information routes to `/rite-clarify`.
|
|
114
|
+
A drafter `Outcome: partial` is progress: materialize its complete findings,
|
|
115
|
+
then re-dispatch a narrowed packet for `remaining_findings` with anchors
|
|
116
|
+
re-derived from the just-updated files — same repair pass, fresh context.
|
|
117
|
+
A partial covering zero findings counts as no-progress. Findings in
|
|
118
|
+
`blocked_findings` route to `/rite-clarify`, never the re-dispatch.
|
|
108
119
|
Any change to `architecture.md`, `plan.md`, `tasks.md`, or `traceability.md` invalidates
|
|
109
120
|
the previous vet verdict: set `Phase: plan`, `Next step: /rite-vet`, and, when
|
|
110
121
|
`eng-review.md` exists, set `Implementation readiness: NEEDS REPLAN`. Never retain READY
|
|
@@ -133,12 +144,15 @@ user-facing stop unless a genuine HITL, safety/access, or exhausted-recovery
|
|
|
133
144
|
condition was recorded.
|
|
134
145
|
|
|
135
146
|
When invoked directly with no controlling caller and a planning artifact
|
|
136
|
-
changed, become the caller for the mandated next step:
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
147
|
+
changed, become the caller for the mandated next step: save a return cursor
|
|
148
|
+
(`return_phase`/`return_next_action`) naming this Plan pass as the caller —
|
|
149
|
+
a direct Plan has no caller above it, so without the saved cursor Vet reads
|
|
150
|
+
itself as top-level and its verdict becomes a user-facing command. Invoke
|
|
151
|
+
`/rite-vet` inline and consume its results — `NEEDS REPLAN` re-enters repair
|
|
152
|
+
internally under the fingerprint caps and is never emitted as a user-facing
|
|
153
|
+
command; `NEEDS CLARIFICATION` and human-owned gates still reach the user.
|
|
154
|
+
Stop only at Vet's boundary (READY readback; next step `/rite-build`). An
|
|
155
|
+
unchanged plan keeps its recorded next step.
|
|
142
156
|
|
|
143
157
|
> **Mid-flight discipline.** Do not change product behavior without confirmation or
|
|
144
158
|
> absorb drift silently. See [`anti-patterns`](reference/anti-patterns.md).
|
|
@@ -53,8 +53,10 @@ plan declares a root-authored executable workflow file, read
|
|
|
53
53
|
asking and resolve reversible technical choices. Ask only human-owned choices.
|
|
54
54
|
- Preserve a valid technical return cursor. Agent-owned `NEEDS REPLAN` returns
|
|
55
55
|
internally to its caller, not to the human; on a direct invocation there is
|
|
56
|
-
no caller, so Vet becomes it —
|
|
57
|
-
|
|
56
|
+
no caller, so Vet becomes it — save a return cursor
|
|
57
|
+
(`return_phase`/`return_next_action`) naming this Vet pass as the caller and
|
|
58
|
+
invoke `/rite-plan` repair inline under the same fingerprint caps. An
|
|
59
|
+
agent-owned verdict with budget remaining is never a user-facing command.
|
|
58
60
|
- **Recovery recheck is bounded and batched.** A valid cursor plus open
|
|
59
61
|
fingerprints enters Recovery recheck; it does not start another Full Vet or
|
|
60
62
|
repeat unaffected axes/reviewers. One dispatch covers every open fingerprint
|
|
@@ -83,7 +85,9 @@ plan declares a root-authored executable workflow file, read
|
|
|
83
85
|
Do not rerun broad inventory or unaffected reviewers. Close the prior
|
|
84
86
|
fingerprint only with discriminating evidence plus an explicit
|
|
85
87
|
correction-created regression verdict on the touched invariants (acyclic
|
|
86
|
-
deps, traceability, contract proof, sizing)
|
|
88
|
+
deps, traceability, contract proof, sizing) and every region depending on a
|
|
89
|
+
changed clause — enumerate dependents via the dep graph and traceability
|
|
90
|
+
refs, not only patched sites. Otherwise record one no-progress outcome. A
|
|
87
91
|
different Critical/Important invariant needs exact evidence and a new
|
|
88
92
|
fingerprint; a Suggestion, Nit, or FYI cannot keep recovery open. Reconcile
|
|
89
93
|
shared artifact/readiness gates and return to caller or next repair.
|
|
@@ -131,7 +135,8 @@ plan declares a root-authored executable workflow file, read
|
|
|
131
135
|
per correction/fingerprint accounting (each checked individually with its
|
|
132
136
|
accepted findings, changed paths/criteria, new identity, and recorded delta
|
|
133
137
|
self-check); it must return an explicit correction-created regression
|
|
134
|
-
verdict
|
|
138
|
+
verdict over touched invariants plus every dependent of each changed clause
|
|
139
|
+
(dep-graph and traceability lookup), not only fingerprint closure. Within one correction, no broad
|
|
135
140
|
third loop. If it changes plan, fold again. A closed input plus a distinct Critical/Important invariant returns
|
|
136
141
|
that new fingerprint as progress. Then close matrix and rerun ID/meaning audit.
|
|
137
142
|
8. **Build readback and readiness.** Add a cited five-line readback to
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "devrites",
|
|
3
|
-
"version": "5.2.
|
|
3
|
+
"version": "5.2.2",
|
|
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",
|