devrites 5.10.0 → 5.10.1
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 +6 -0
- package/README.md +5 -2
- package/docs/architecture.md +8 -4
- package/docs/command-map.md +1 -1
- package/docs/skills.md +1 -1
- package/docs/usage.md +2 -2
- package/pack/.claude/skills/devrites-lib/reference/standards/afk-hitl.md +12 -1
- package/pack/.claude/skills/rite-autocomplete/SKILL.md +10 -4
- package/pack/.claude/skills/rite-autocomplete/reference/decision-policy.md +5 -2
- package/pack/.claude/skills/rite-autocomplete/reference/loop.md +14 -8
- package/pack/.claude/skills/rite-autocomplete/reference/stop-conditions.md +10 -3
- package/pack/.claude/skills/rite-define/reference/gates.md +5 -0
- package/pack/.claude/skills/rite-resolve/SKILL.md +5 -2
- package/pack/generated/claude/skills/devrites-lib/reference/standards/afk-hitl.md +12 -1
- package/pack/generated/claude/skills/rite-autocomplete/SKILL.md +10 -4
- package/pack/generated/claude/skills/rite-autocomplete/reference/decision-policy.md +5 -2
- package/pack/generated/claude/skills/rite-autocomplete/reference/loop.md +14 -8
- package/pack/generated/claude/skills/rite-autocomplete/reference/stop-conditions.md +10 -3
- package/pack/generated/claude/skills/rite-define/reference/gates.md +5 -0
- package/pack/generated/claude/skills/rite-resolve/SKILL.md +5 -2
- package/pack/generated/codex/skills/devrites-lib/reference/standards/afk-hitl.md +12 -1
- package/pack/generated/codex/skills/rite-autocomplete/SKILL.md +10 -4
- package/pack/generated/codex/skills/rite-autocomplete/reference/decision-policy.md +5 -2
- package/pack/generated/codex/skills/rite-autocomplete/reference/loop.md +14 -8
- package/pack/generated/codex/skills/rite-autocomplete/reference/stop-conditions.md +10 -3
- package/pack/generated/codex/skills/rite-define/reference/gates.md +5 -0
- package/pack/generated/codex/skills/rite-resolve/SKILL.md +5 -2
- package/pack/generated/omp/skills/devrites-lib/reference/standards/afk-hitl.md +12 -1
- package/pack/generated/omp/skills/rite-autocomplete/SKILL.md +10 -4
- package/pack/generated/omp/skills/rite-autocomplete/reference/decision-policy.md +5 -2
- package/pack/generated/omp/skills/rite-autocomplete/reference/loop.md +14 -8
- package/pack/generated/omp/skills/rite-autocomplete/reference/stop-conditions.md +10 -3
- package/pack/generated/omp/skills/rite-define/reference/gates.md +5 -0
- package/pack/generated/omp/skills/rite-resolve/SKILL.md +5 -2
- package/pack/generated/pi/skills/devrites-lib/reference/standards/afk-hitl.md +12 -1
- package/pack/generated/pi/skills/rite-autocomplete/SKILL.md +10 -4
- package/pack/generated/pi/skills/rite-autocomplete/reference/decision-policy.md +5 -2
- package/pack/generated/pi/skills/rite-autocomplete/reference/loop.md +14 -8
- package/pack/generated/pi/skills/rite-autocomplete/reference/stop-conditions.md +10 -3
- package/pack/generated/pi/skills/rite-define/reference/gates.md +5 -0
- package/pack/generated/pi/skills/rite-resolve/SKILL.md +5 -2
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,12 @@
|
|
|
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.10.1](https://github.com/ViktorsBaikers/DevRites/compare/v5.10.0...v5.10.1) (2026-09-15)
|
|
6
|
+
|
|
7
|
+
### Fixed
|
|
8
|
+
|
|
9
|
+
* **rite:** auto-resolve recommended blocking questions in autocomplete ([#77](https://github.com/ViktorsBaikers/DevRites/issues/77)) ([cd11a59](https://github.com/ViktorsBaikers/DevRites/commit/cd11a59c01b9b1cd48df5a19a7b8ad3c4f1fb2d4))
|
|
10
|
+
|
|
5
11
|
## [5.10.0](https://github.com/ViktorsBaikers/DevRites/compare/v5.9.0...v5.10.0) (2026-09-15)
|
|
6
12
|
|
|
7
13
|
### 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.10.
|
|
36
|
+
**Status:** [`v5.10.1`](https://github.com/ViktorsBaikers/DevRites/releases/tag/v5.10.1): 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
|
|
|
@@ -252,7 +252,10 @@ ignored and never rewritten. Delete `.devrites/AFK` to
|
|
|
252
252
|
return to HITL.
|
|
253
253
|
|
|
254
254
|
AFK still pauses for product, scope, or policy choices, irreversible risk,
|
|
255
|
-
and access or actions available only to a human.
|
|
255
|
+
and access or actions available only to a human. `/rite-autocomplete` is the
|
|
256
|
+
exception that auto-resolves blocking questions already naming a ranked
|
|
257
|
+
recommended option; escalating, irreversible-risk, access, and blocking with
|
|
258
|
+
no recommended option still pause. Agents use bounded recovery
|
|
256
259
|
for red tests, type or lint errors, runtime failures, and missing technical
|
|
257
260
|
coverage. If that recovery budget runs out, they record a technical blocker
|
|
258
261
|
instead of asking a question. The full pause and gate contract is in
|
package/docs/architecture.md
CHANGED
|
@@ -39,7 +39,9 @@ cursor readers, traceability rules, and phase-relative completeness model, see
|
|
|
39
39
|
through Seal GO and stops. Explicit `--ship` enters Ship preflight but still
|
|
40
40
|
waits for a fresh literal `GO` and native approval before mutation. It
|
|
41
41
|
chooses the recommended option at each soft gate and pauses for hard
|
|
42
|
-
irreversible-risk,
|
|
42
|
+
irreversible-risk, escalating, unanswered blocking with no recommended
|
|
43
|
+
option, or a remaining NO-GO. Open blocking questions that already name a
|
|
44
|
+
ranked recommended option auto-resolve; they are not a user handoff. The
|
|
43
45
|
`devrites-` prefix prevents collisions with bundled Claude Code skill names
|
|
44
46
|
such as `prototype`, `handoff`, `triage`, and `diagnose`; it does not mark
|
|
45
47
|
visibility. `rite-pressure-test` needs no prefix because it does not collide.
|
|
@@ -336,9 +338,11 @@ workflow. It carries state through workspace files rather than chat. A vague
|
|
|
336
338
|
prompt starts `devrites-interview`; `/rite-spec` and `/rite-clarify` then
|
|
337
339
|
finish the only interactive window. After decision coverage is CLEAR it runs unattended,
|
|
338
340
|
choosing the recommended option at each soft gate and recording the rationale
|
|
339
|
-
in `decisions.md`. It does **not** weaken
|
|
340
|
-
gates: human-only access/actions, those gates,
|
|
341
|
-
|
|
341
|
+
in `decisions.md`. It does **not** weaken escalating or irreversible-risk
|
|
342
|
+
gates: human-only access/actions, those gates, unanswered blocking with no
|
|
343
|
+
recommended option, a remaining NO-GO, or low confidence still pause. Open
|
|
344
|
+
blocking questions that already name a ranked recommended option auto-resolve
|
|
345
|
+
through `devrites-engine state resolve`. Temper expand, validating gates, and default slice/agent/time/review-queue
|
|
342
346
|
caps do not. `--max-slices` is ignored the same way. Agents use bounded recovery for red tests, runtime failures, and
|
|
343
347
|
missing technical coverage. By default the workflow stops at Seal GO with `/rite-ship` as the next step.
|
|
344
348
|
The `--ship` flag (alias `--yolo`) continues through Ship preflight, discloses
|
package/docs/command-map.md
CHANGED
|
@@ -99,7 +99,7 @@ See [`cli.md`](cli.md).
|
|
|
99
99
|
| [`/rite-review`](../pack/.claude/skills/rite-review/SKILL.md) | review | `[scope: slice N \| feature] [--full]` | Feature-scoped parallel Spec + Standards review of the closed candidate; binds `review.md` to its digest. | workspace + candidate | `review.md`, `evidence.md`, `state.md` |
|
|
100
100
|
| [`/rite-seal`](../pack/.claude/skills/rite-seal/SKILL.md) | seal | `[feature-slug] [--full]` | Candidate-bound GO / NO-GO **decision**. Rechecks exact proof/review bindings and runs no git; on GO sets `Next step: /rite-ship`. | all artifacts + candidate | `seal.md`, `state.md` |
|
|
101
101
|
| [`/rite-ship`](../pack/.claude/skills/rite-ship/SKILL.md) | ship | `[slug]` | Starts with a read-only Seal/candidate check and exact plan disclosure, then requires fresh literal `GO`. Only then may it collapse checkpoints, stage exact candidate paths, validate staged scope/bytes/bindings/secrets, commit and reverify, perform optional separately approved push/tag/PR actions, and archive/close. | `seal.md` + candidate + Git index | `ship.md`, `state.md`, archive |
|
|
102
|
-
| [`/rite-autocomplete`](../pack/.claude/skills/rite-autocomplete/SKILL.md) | (orchestrator) | `[idea] [--ship\|--yolo] [--max-slices N] [--full] [--cross-model]` | Full lifecycle (spec → clarify → … → seal → ship). Spec + clarify form the one interactive window; AFK/checkpoint mode arms only after decision coverage is CLEAR. Pauses for irreversible risk,
|
|
102
|
+
| [`/rite-autocomplete`](../pack/.claude/skills/rite-autocomplete/SKILL.md) | (orchestrator) | `[idea] [--ship\|--yolo] [--max-slices N] [--full] [--cross-model]` | Full lifecycle (spec → clarify → … → seal → ship). Spec + clarify form the one interactive window; AFK/checkpoint mode arms only after decision coverage is CLEAR. Pauses for irreversible risk, escalating, unanswered blocking with no recommended option, human-only access, or remaining NO-GO — not recommended-option blocking questions, temper expand, validating gates, `--max-slices`, or default resource caps. Objective red checks use bounded technical recovery. Default stops at Seal GO; `--ship` (`--yolo`) reaches Ship preflight but still requires fresh literal `GO` and native approval; `--full` selects the Full profile and `--cross-model` arms Vet's second opinion. | idea + workspace | whole workspace (drives every phase) |
|
|
103
103
|
| [`/rite-quick`](../pack/.claude/skills/rite-quick/SKILL.md) | (express) | `<change>` | Express lane for a **small, reversible, unambiguous** change: one-line contract → TDD build → scoped prove → review-lite → ship, no full artifact tree. **Significance gate first**: auth / migration / public-API / destructive / multi-slice / ambiguous → escalates to `/rite-spec`. Triggers: "quick fix", "small change", "tiny tweak", "just do X". | the change + codebase | code + commit (optional `brief.md` / `evidence.md`) |
|
|
104
104
|
| [`/rite-frame`](../pack/.claude/skills/rite-frame/SKILL.md) | lens | `[ask \| diff]` | Pre-flight + self-audit lens for ad-hoc work the lifecycle gates never see: **FRAME** turns an imperative ask into a falsifiable success criterion + verify command before code; **AUDIT** checks a raw diff against the four LLM coding failure modes (silent assumption / overcomplication / out-of-scope edit / unverifiable goal). Top of `/rite-quick` or before a plain "just do X". | the ask / a raw diff | success criterion + verify command (inline) |
|
|
105
105
|
| [`/rite-adopt`](../pack/.claude/skills/rite-adopt/SKILL.md) | onboard | `[path or area to adopt] [+ what you want to build next]` | Reverse-derive the existing baseline and next objective; propose any durable project guidance in the nearest native instruction file. | codebase + project instructions | workspace spec/state artifacts + optional guidance proposal |
|
package/docs/skills.md
CHANGED
|
@@ -222,7 +222,7 @@ and `Shipped`. Utility commands keep the same compact labels and one-next-action
|
|
|
222
222
|
|
|
223
223
|
| Skill | What It Does | Use When |
|
|
224
224
|
|---|---|---|
|
|
225
|
-
| [`rite-autocomplete`](../pack/.claude/skills/rite-autocomplete/SKILL.md) | Runs the lifecycle unattended (spec → clarify → … → seal → ship), choosing the recommended option at each soft gate and recording the rationale in `decisions.md`.<br>A vague prompt gets one up-front spec/clarify window; after CLEAR it does not iterate per phase.<br>It pauses only for irreversible risk,
|
|
225
|
+
| [`rite-autocomplete`](../pack/.claude/skills/rite-autocomplete/SKILL.md) | Runs the lifecycle unattended (spec → clarify → … → seal → ship), choosing the recommended option at each soft gate and recording the rationale in `decisions.md`.<br>A vague prompt gets one up-front spec/clarify window; after CLEAR it does not iterate per phase.<br>It pauses only for irreversible risk, escalating gates, unanswered blocking with no recommended option, human-only access, or remaining NO-GO — not recommended-option blocking questions, temper expand, validating gates, or default slice/agent/time/review-queue caps.<br>Objective red checks use bounded technical recovery, including cold-resume from retained one-shot evidence and one-time migration of stale missing-writer stops when an upgraded contract supplies the first supported writer. That migration applies once; the first real materializer failure is attempt one under normal bounded recovery. Internal `NEEDS_REPLAN` and new agent-owned review findings stay caller-owned backward edges, not user-facing stops. Spending an action authorization blocks another real execution, not offline repair.<br>Default stops at Seal GO. `--ship` (alias `--yolo`) reaches Ship preflight but still requires a fresh literal `GO` and native approval. | "Autocomplete", "do the whole thing", "run the full cycle", "one-shot this feature". |
|
|
226
226
|
| [`rite-zoom-out`](../pack/.claude/skills/rite-zoom-out/SKILL.md) | Map the modules, callers, callees, and decisions in an unfamiliar area using the project's domain glossary. | Explicit-only: `/rite-zoom-out` / `/rite zoom-out`. |
|
|
227
227
|
| [`rite-prototype`](../pack/.claude/skills/rite-prototype/SKILL.md) | Throwaway code answering ONE design question: logic harness OR 2 to 4 UI variations on one route. | Explicit-only: `/rite-prototype` / `/rite prototype`. |
|
|
228
228
|
| [`rite-handoff`](../pack/.claude/skills/rite-handoff/SKILL.md) | Compact chat session → handoff doc. References existing `.devrites/work/<slug>/` artifacts by path. | Explicit-only: `/rite-handoff` / `/rite handoff`. |
|
package/docs/usage.md
CHANGED
|
@@ -384,8 +384,8 @@ You: GO # → commit, optional approved push/tag/PR, then
|
|
|
384
384
|
|
|
385
385
|
Add `--ship` (alias `--yolo`) to continue through `/rite-ship` preflight.
|
|
386
386
|
Autocomplete discloses the exact Git plan, then still stops for a fresh literal
|
|
387
|
-
`GO` and native host approval. It also pauses for irreversible risk, human-only access/actions,
|
|
388
|
-
|
|
387
|
+
`GO` and native host approval. It also pauses for irreversible risk, human-only access/actions, escalating
|
|
388
|
+
gates, unanswered blocking with no recommended option, a remaining NO-GO, or low confidence — not for recommended-option blocking questions, temper expand, validating
|
|
389
389
|
gates, `--max-slices`, or default slice/agent/time/review-queue caps.
|
|
390
390
|
Objective red checks use bounded recovery instead. Args:
|
|
391
391
|
`[idea] [--ship|--yolo] [--max-slices N] [--full] [--cross-model]`.
|
|
@@ -166,7 +166,18 @@ for the full taxonomy. Summary:
|
|
|
166
166
|
| blocking | high | sync | 15m | **no** (always pauses) |
|
|
167
167
|
| escalating | novel pattern | sync to specialist | 24h | **no** (always pauses) |
|
|
168
168
|
|
|
169
|
-
`blocking` and `escalating` always pause
|
|
169
|
+
`blocking` and `escalating` always pause for HITL and for AFK `/rite-build`,
|
|
170
|
+
regardless of `allow_gates`.
|
|
171
|
+
|
|
172
|
+
**Autocomplete exception.** While `/rite-autocomplete` is the controlling
|
|
173
|
+
caller, an open `gate: blocking` question that already carries a ranked
|
|
174
|
+
recommended option (`proposed:` or option 1 labelled `(Recommended)`) is not a
|
|
175
|
+
user handoff: the orchestrator auto-picks that option through
|
|
176
|
+
`devrites-engine state resolve` and continues, including internal Spec Drift
|
|
177
|
+
Guard when the answer changes ownership or acceptance. Escalating,
|
|
178
|
+
irreversible-risk, access, and blocking questions with no recommended option
|
|
179
|
+
still pause. Putting `blocking` in `allow_gates` does not replace this resolve
|
|
180
|
+
step: an unanswered blocking question still fails Seal.
|
|
170
181
|
|
|
171
182
|
An open `gate: validating` entry is **merge-blocking by definition**: at `/rite-seal` any
|
|
172
183
|
`questions.md` entry with `gate: validating` and `status: open` is a NO-GO, regardless of
|
|
@@ -8,8 +8,10 @@ user-invocable: true
|
|
|
8
8
|
# /rite-autocomplete: full lifecycle, unattended
|
|
9
9
|
|
|
10
10
|
Run every phase after one clarification window. Irreversible-risk,
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
escalating,<!-- pack-scan-ignore: negated statement: gates are NOT disabled -->
|
|
12
|
+
access, unanswered blocking with no recommended option, and remaining NO-GO
|
|
13
|
+
still pause. Open blocking questions that already name a ranked recommended
|
|
14
|
+
option auto-resolve; they are not a user handoff. Use the Standard native
|
|
13
15
|
profile by default and Full for high-risk scope or explicit `--full`; see
|
|
14
16
|
[`orchestration-profiles.md`](../devrites-lib/reference/orchestration-profiles.md).
|
|
15
17
|
|
|
@@ -102,8 +104,12 @@ executable controller/harness/bundle bytes or a missing writer, read
|
|
|
102
104
|
[stop-conditions.md](reference/stop-conditions.md). A `blocked` label alone is not a stop condition:
|
|
103
105
|
route agent-owned red results through bounded recovery.
|
|
104
106
|
Red gates block forward advancement and enter caller-owned recovery. Stop on
|
|
105
|
-
hard risk,
|
|
106
|
-
exact fingerprint's proven
|
|
107
|
+
hard risk, escalating, irreversible-risk, access, blocking with no
|
|
108
|
+
recommended option, remaining NO-GO, or the exact fingerprint's proven
|
|
109
|
+
exhaustion. An open blocking question that already names a ranked recommended
|
|
110
|
+
option (`proposed` or option 1 labelled Recommended) auto-resolves through
|
|
111
|
+
`devrites-engine state resolve` and continues; do not emit `/rite-resolve` as
|
|
112
|
+
a user handoff. Technical exhaustion records terminal
|
|
107
113
|
`Next step: none`, never a routine phase command. **Completion:** no stop is active, or its cursor and reason are durable.
|
|
108
114
|
6. **Seal boundary.** Without a ship flag, stop at Seal GO with `/rite-ship` —
|
|
109
115
|
unless `continue_sequence` is armed and sequence budget remains, in which case
|
|
@@ -36,5 +36,8 @@ not pick the option that's merely easiest to implement.
|
|
|
36
36
|
|
|
37
37
|
## When a choice is NOT autocomplete's to make
|
|
38
38
|
|
|
39
|
-
|
|
40
|
-
|
|
39
|
+
Irreversible-risk, escalating, access, and blocking questions with no ranked
|
|
40
|
+
recommended option stay human. A blocking question that already names option 1
|
|
41
|
+
`(Recommended)` or `proposed:` is autocomplete's to resolve: pick that option
|
|
42
|
+
via `devrites-engine state resolve` and continue. Recommended temper `expand`
|
|
43
|
+
auto-applies; do not invent product intent.
|
|
@@ -44,8 +44,11 @@ readiness check first; reject overlap. Do not stop on `max_agents`,
|
|
|
44
44
|
gets fresh activation-local counters but retains durable slice/recovery state.
|
|
45
45
|
|
|
46
46
|
When driving `/rite-build`, ignore afk-discipline remaining-0, `--max-slices`,
|
|
47
|
-
and parallel AFK headroom. Close validating questions
|
|
48
|
-
(recommended pick
|
|
47
|
+
and parallel AFK headroom. Close validating questions and blocking questions
|
|
48
|
+
that already name a ranked recommended option (recommended pick via
|
|
49
|
+
`devrites-engine state resolve`) instead of queuing them or handing
|
|
50
|
+
`/rite-resolve` to the user. Escalating, irreversible-risk, access, and
|
|
51
|
+
blocking with no recommended option still pause.
|
|
49
52
|
|
|
50
53
|
## Phase arc
|
|
51
54
|
|
|
@@ -122,16 +125,19 @@ agent-owned earlier-phase gap:
|
|
|
122
125
|
6. Restore and consume the original cursor when prerequisites are green.
|
|
123
126
|
|
|
124
127
|
<!-- workflow-artifact-adapter: {"module":"devrites-lib/reference/standards/workflow-artifacts.md","entry":"loop tick sees Workflow Artifact trigger/state","action":"invoke classifier once under owner lock; no actor-history migration","return":"same loop cursor; no budget charge for verify/rerun"} -->
|
|
125
|
-
Ask only for a human-owned decision or mandatory safety/access action.
|
|
126
|
-
|
|
127
|
-
|
|
128
|
+
Ask only for a human-owned decision or mandatory safety/access action. An open
|
|
129
|
+
blocking question with `proposed` or option 1 labelled Recommended is not that
|
|
130
|
+
decision: resolve it and continue. Three no-progress corrections of one exact
|
|
131
|
+
fingerprint exhaust; preserve its reproduction and dead ends without another
|
|
132
|
+
Plan/Vet command.
|
|
128
133
|
|
|
129
134
|
## Continuous caller obligation
|
|
130
135
|
|
|
131
136
|
No user-facing reply is permitted while durable state contains agent-owned
|
|
132
|
-
`NEEDS_REPLAN`, an intermediate Plan/Vet action,
|
|
133
|
-
Critical/Important fingerprint below its cap
|
|
134
|
-
|
|
137
|
+
`NEEDS_REPLAN`, an intermediate Plan/Vet action, a distinct retained
|
|
138
|
+
Critical/Important fingerprint below its cap, or an open blocking question that
|
|
139
|
+
already names a ranked recommended option. Invoke the next internal repair or
|
|
140
|
+
`devrites-engine state resolve` immediately. A narrow reviewer closing one finding and exposing another
|
|
135
141
|
Critical/Important invariant is progress, not exhaustion.
|
|
136
142
|
|
|
137
143
|
The number of completed repair/Vet cycles is not a stop condition. Context
|
|
@@ -59,14 +59,21 @@ exhausted.
|
|
|
59
59
|
<!-- workflow-artifact-adapter: {"module":"devrites-lib/reference/standards/workflow-artifacts.md","entry":"classifier returns owner-busy, exhausted, or existing hard gate","action":"stop on exact WAIT_ACTIVE_OWNER, BLOCKED_EXHAUSTED, or BLOCKED_GATE result","return":"unchanged cursor plus fixed route-owned output"} -->
|
|
60
60
|
## Other stop classes
|
|
61
61
|
|
|
62
|
-
- **Gate severity:**
|
|
63
|
-
|
|
62
|
+
- **Gate severity:** escalating always stops. Blocking with a ranked recommended
|
|
63
|
+
option (`proposed` or option 1 labelled Recommended): auto-pick via
|
|
64
|
+
`devrites-engine state resolve`, then continue internally (including Spec Drift
|
|
65
|
+
Guard when the answer changes ownership or acceptance). Blocking with no
|
|
66
|
+
recommended option still stops. Validating: auto-pick the recommended option,
|
|
67
|
+
close the question, continue.
|
|
64
68
|
- **Temper:** `expand` and extra acceptance auto-apply (record + Drift Guard).
|
|
65
69
|
Irreversible-risk still pauses. `hold-rigor`, `reduce-to-MVP`, and a skip do not pause.
|
|
66
70
|
- **Clarify:** material Partial/Missing/unowned decision coverage or a
|
|
67
71
|
low-confidence high-consequence assumption. Continue the initial interview;
|
|
68
72
|
never arm AFK early.
|
|
69
|
-
- **Seal:** NO-GO
|
|
73
|
+
- **Seal:** remaining NO-GO after recommended-option questions are closed, with
|
|
74
|
+
every remaining blocker and fix direction. Never round up to GO. An open
|
|
75
|
+
recommended-option blocking question is not a Seal stop: resolve it, recover
|
|
76
|
+
agent-owned findings, then re-enter Seal.
|
|
70
77
|
- **Reslice:** execute its marked action before deciding continue/stop.
|
|
71
78
|
- **Slice budget:** do not stop on `--max-slices`. Leftover
|
|
72
79
|
pre-existing remaining value, explicit flag, sentinel cap, or post-vet pending count
|
|
@@ -127,6 +127,11 @@ list.
|
|
|
127
127
|
`escalating` is never in `allow_gates`: specialist routing is not something AFK can
|
|
128
128
|
shortcut.
|
|
129
129
|
|
|
130
|
+
`/rite-autocomplete` does not add `blocking` to `allow_gates`. It auto-resolves
|
|
131
|
+
open blocking questions that already name a recommended option via
|
|
132
|
+
`devrites-engine state resolve`, then continues. That is an orchestrator
|
|
133
|
+
exception, not an AFK ceiling change.
|
|
134
|
+
|
|
130
135
|
## Anti-patterns
|
|
131
136
|
|
|
132
137
|
- **One gate for everything.** This puts all work behind one reviewer. Pick gates per slice.
|
|
@@ -86,8 +86,11 @@ Pull these via `Read` when shaping the resolve:
|
|
|
86
86
|
recommend `/rite-plan repair`. Otherwise → recommend the slice's natural next action
|
|
87
87
|
(typically `/rite-build` for the slice that was awaiting).
|
|
88
88
|
**Completion:** the resolved state contains exactly one next command.
|
|
89
|
-
6. **STOP.**
|
|
90
|
-
workflow explicitly.
|
|
89
|
+
6. **STOP.** User-invoked `/rite-resolve` does not run `/rite-build` itself: the
|
|
90
|
+
user re-enters the workflow explicitly. A controlling `/rite-autocomplete`
|
|
91
|
+
caller invokes the same `devrites-engine state resolve` writer internally and
|
|
92
|
+
continues; it must not emit this skill as a user handoff for a question that
|
|
93
|
+
already names a ranked recommended option.
|
|
91
94
|
|
|
92
95
|
> **Mid-flight discipline.** Don't edit `spec.md` / `plan.md` to "incorporate" the
|
|
93
96
|
> answer. That's `/rite-plan repair`. Don't silently retry a build after the answer
|
|
@@ -166,7 +166,18 @@ for the full taxonomy. Summary:
|
|
|
166
166
|
| blocking | high | sync | 15m | **no** (always pauses) |
|
|
167
167
|
| escalating | novel pattern | sync to specialist | 24h | **no** (always pauses) |
|
|
168
168
|
|
|
169
|
-
`blocking` and `escalating` always pause
|
|
169
|
+
`blocking` and `escalating` always pause for HITL and for AFK `/rite-build`,
|
|
170
|
+
regardless of `allow_gates`.
|
|
171
|
+
|
|
172
|
+
**Autocomplete exception.** While `/rite-autocomplete` is the controlling
|
|
173
|
+
caller, an open `gate: blocking` question that already carries a ranked
|
|
174
|
+
recommended option (`proposed:` or option 1 labelled `(Recommended)`) is not a
|
|
175
|
+
user handoff: the orchestrator auto-picks that option through
|
|
176
|
+
`devrites-engine state resolve` and continues, including internal Spec Drift
|
|
177
|
+
Guard when the answer changes ownership or acceptance. Escalating,
|
|
178
|
+
irreversible-risk, access, and blocking questions with no recommended option
|
|
179
|
+
still pause. Putting `blocking` in `allow_gates` does not replace this resolve
|
|
180
|
+
step: an unanswered blocking question still fails Seal.
|
|
170
181
|
|
|
171
182
|
An open `gate: validating` entry is **merge-blocking by definition**: at `/rite-seal` any
|
|
172
183
|
`questions.md` entry with `gate: validating` and `status: open` is a NO-GO, regardless of
|
|
@@ -8,8 +8,10 @@ user-invocable: true
|
|
|
8
8
|
# /rite-autocomplete: full lifecycle, unattended
|
|
9
9
|
|
|
10
10
|
Run every phase after one clarification window. Irreversible-risk,
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
escalating,<!-- pack-scan-ignore: negated statement: gates are NOT disabled -->
|
|
12
|
+
access, unanswered blocking with no recommended option, and remaining NO-GO
|
|
13
|
+
still pause. Open blocking questions that already name a ranked recommended
|
|
14
|
+
option auto-resolve; they are not a user handoff. Use the Standard native
|
|
13
15
|
profile by default and Full for high-risk scope or explicit `--full`; see
|
|
14
16
|
[`orchestration-profiles.md`](../devrites-lib/reference/orchestration-profiles.md).
|
|
15
17
|
|
|
@@ -102,8 +104,12 @@ executable controller/harness/bundle bytes or a missing writer, read
|
|
|
102
104
|
[stop-conditions.md](reference/stop-conditions.md). A `blocked` label alone is not a stop condition:
|
|
103
105
|
route agent-owned red results through bounded recovery.
|
|
104
106
|
Red gates block forward advancement and enter caller-owned recovery. Stop on
|
|
105
|
-
hard risk,
|
|
106
|
-
exact fingerprint's proven
|
|
107
|
+
hard risk, escalating, irreversible-risk, access, blocking with no
|
|
108
|
+
recommended option, remaining NO-GO, or the exact fingerprint's proven
|
|
109
|
+
exhaustion. An open blocking question that already names a ranked recommended
|
|
110
|
+
option (`proposed` or option 1 labelled Recommended) auto-resolves through
|
|
111
|
+
`devrites-engine state resolve` and continues; do not emit `/rite-resolve` as
|
|
112
|
+
a user handoff. Technical exhaustion records terminal
|
|
107
113
|
`Next step: none`, never a routine phase command. **Completion:** no stop is active, or its cursor and reason are durable.
|
|
108
114
|
6. **Seal boundary.** Without a ship flag, stop at Seal GO with `/rite-ship` —
|
|
109
115
|
unless `continue_sequence` is armed and sequence budget remains, in which case
|
|
@@ -36,5 +36,8 @@ not pick the option that's merely easiest to implement.
|
|
|
36
36
|
|
|
37
37
|
## When a choice is NOT autocomplete's to make
|
|
38
38
|
|
|
39
|
-
|
|
40
|
-
|
|
39
|
+
Irreversible-risk, escalating, access, and blocking questions with no ranked
|
|
40
|
+
recommended option stay human. A blocking question that already names option 1
|
|
41
|
+
`(Recommended)` or `proposed:` is autocomplete's to resolve: pick that option
|
|
42
|
+
via `devrites-engine state resolve` and continue. Recommended temper `expand`
|
|
43
|
+
auto-applies; do not invent product intent.
|
|
@@ -44,8 +44,11 @@ readiness check first; reject overlap. Do not stop on `max_agents`,
|
|
|
44
44
|
gets fresh activation-local counters but retains durable slice/recovery state.
|
|
45
45
|
|
|
46
46
|
When driving `/rite-build`, ignore afk-discipline remaining-0, `--max-slices`,
|
|
47
|
-
and parallel AFK headroom. Close validating questions
|
|
48
|
-
(recommended pick
|
|
47
|
+
and parallel AFK headroom. Close validating questions and blocking questions
|
|
48
|
+
that already name a ranked recommended option (recommended pick via
|
|
49
|
+
`devrites-engine state resolve`) instead of queuing them or handing
|
|
50
|
+
`/rite-resolve` to the user. Escalating, irreversible-risk, access, and
|
|
51
|
+
blocking with no recommended option still pause.
|
|
49
52
|
|
|
50
53
|
## Phase arc
|
|
51
54
|
|
|
@@ -122,16 +125,19 @@ agent-owned earlier-phase gap:
|
|
|
122
125
|
6. Restore and consume the original cursor when prerequisites are green.
|
|
123
126
|
|
|
124
127
|
<!-- workflow-artifact-adapter: {"module":"devrites-lib/reference/standards/workflow-artifacts.md","entry":"loop tick sees Workflow Artifact trigger/state","action":"invoke classifier once under owner lock; no actor-history migration","return":"same loop cursor; no budget charge for verify/rerun"} -->
|
|
125
|
-
Ask only for a human-owned decision or mandatory safety/access action.
|
|
126
|
-
|
|
127
|
-
|
|
128
|
+
Ask only for a human-owned decision or mandatory safety/access action. An open
|
|
129
|
+
blocking question with `proposed` or option 1 labelled Recommended is not that
|
|
130
|
+
decision: resolve it and continue. Three no-progress corrections of one exact
|
|
131
|
+
fingerprint exhaust; preserve its reproduction and dead ends without another
|
|
132
|
+
Plan/Vet command.
|
|
128
133
|
|
|
129
134
|
## Continuous caller obligation
|
|
130
135
|
|
|
131
136
|
No user-facing reply is permitted while durable state contains agent-owned
|
|
132
|
-
`NEEDS_REPLAN`, an intermediate Plan/Vet action,
|
|
133
|
-
Critical/Important fingerprint below its cap
|
|
134
|
-
|
|
137
|
+
`NEEDS_REPLAN`, an intermediate Plan/Vet action, a distinct retained
|
|
138
|
+
Critical/Important fingerprint below its cap, or an open blocking question that
|
|
139
|
+
already names a ranked recommended option. Invoke the next internal repair or
|
|
140
|
+
`devrites-engine state resolve` immediately. A narrow reviewer closing one finding and exposing another
|
|
135
141
|
Critical/Important invariant is progress, not exhaustion.
|
|
136
142
|
|
|
137
143
|
The number of completed repair/Vet cycles is not a stop condition. Context
|
|
@@ -59,14 +59,21 @@ exhausted.
|
|
|
59
59
|
<!-- workflow-artifact-adapter: {"module":"devrites-lib/reference/standards/workflow-artifacts.md","entry":"classifier returns owner-busy, exhausted, or existing hard gate","action":"stop on exact WAIT_ACTIVE_OWNER, BLOCKED_EXHAUSTED, or BLOCKED_GATE result","return":"unchanged cursor plus fixed route-owned output"} -->
|
|
60
60
|
## Other stop classes
|
|
61
61
|
|
|
62
|
-
- **Gate severity:**
|
|
63
|
-
|
|
62
|
+
- **Gate severity:** escalating always stops. Blocking with a ranked recommended
|
|
63
|
+
option (`proposed` or option 1 labelled Recommended): auto-pick via
|
|
64
|
+
`devrites-engine state resolve`, then continue internally (including Spec Drift
|
|
65
|
+
Guard when the answer changes ownership or acceptance). Blocking with no
|
|
66
|
+
recommended option still stops. Validating: auto-pick the recommended option,
|
|
67
|
+
close the question, continue.
|
|
64
68
|
- **Temper:** `expand` and extra acceptance auto-apply (record + Drift Guard).
|
|
65
69
|
Irreversible-risk still pauses. `hold-rigor`, `reduce-to-MVP`, and a skip do not pause.
|
|
66
70
|
- **Clarify:** material Partial/Missing/unowned decision coverage or a
|
|
67
71
|
low-confidence high-consequence assumption. Continue the initial interview;
|
|
68
72
|
never arm AFK early.
|
|
69
|
-
- **Seal:** NO-GO
|
|
73
|
+
- **Seal:** remaining NO-GO after recommended-option questions are closed, with
|
|
74
|
+
every remaining blocker and fix direction. Never round up to GO. An open
|
|
75
|
+
recommended-option blocking question is not a Seal stop: resolve it, recover
|
|
76
|
+
agent-owned findings, then re-enter Seal.
|
|
70
77
|
- **Reslice:** execute its marked action before deciding continue/stop.
|
|
71
78
|
- **Slice budget:** do not stop on `--max-slices`. Leftover
|
|
72
79
|
pre-existing remaining value, explicit flag, sentinel cap, or post-vet pending count
|
|
@@ -127,6 +127,11 @@ list.
|
|
|
127
127
|
`escalating` is never in `allow_gates`: specialist routing is not something AFK can
|
|
128
128
|
shortcut.
|
|
129
129
|
|
|
130
|
+
`/rite-autocomplete` does not add `blocking` to `allow_gates`. It auto-resolves
|
|
131
|
+
open blocking questions that already name a recommended option via
|
|
132
|
+
`devrites-engine state resolve`, then continues. That is an orchestrator
|
|
133
|
+
exception, not an AFK ceiling change.
|
|
134
|
+
|
|
130
135
|
## Anti-patterns
|
|
131
136
|
|
|
132
137
|
- **One gate for everything.** This puts all work behind one reviewer. Pick gates per slice.
|
|
@@ -86,8 +86,11 @@ Pull these via `Read` when shaping the resolve:
|
|
|
86
86
|
recommend `/rite-plan repair`. Otherwise → recommend the slice's natural next action
|
|
87
87
|
(typically `/rite-build` for the slice that was awaiting).
|
|
88
88
|
**Completion:** the resolved state contains exactly one next command.
|
|
89
|
-
6. **STOP.**
|
|
90
|
-
workflow explicitly.
|
|
89
|
+
6. **STOP.** User-invoked `/rite-resolve` does not run `/rite-build` itself: the
|
|
90
|
+
user re-enters the workflow explicitly. A controlling `/rite-autocomplete`
|
|
91
|
+
caller invokes the same `devrites-engine state resolve` writer internally and
|
|
92
|
+
continues; it must not emit this skill as a user handoff for a question that
|
|
93
|
+
already names a ranked recommended option.
|
|
91
94
|
|
|
92
95
|
> **Mid-flight discipline.** Don't edit `spec.md` / `plan.md` to "incorporate" the
|
|
93
96
|
> answer. That's `/rite-plan repair`. Don't silently retry a build after the answer
|
|
@@ -166,7 +166,18 @@ for the full taxonomy. Summary:
|
|
|
166
166
|
| blocking | high | sync | 15m | **no** (always pauses) |
|
|
167
167
|
| escalating | novel pattern | sync to specialist | 24h | **no** (always pauses) |
|
|
168
168
|
|
|
169
|
-
`blocking` and `escalating` always pause
|
|
169
|
+
`blocking` and `escalating` always pause for HITL and for AFK `$rite-build`,
|
|
170
|
+
regardless of `allow_gates`.
|
|
171
|
+
|
|
172
|
+
**Autocomplete exception.** While `$rite-autocomplete` is the controlling
|
|
173
|
+
caller, an open `gate: blocking` question that already carries a ranked
|
|
174
|
+
recommended option (`proposed:` or option 1 labelled `(Recommended)`) is not a
|
|
175
|
+
user handoff: the orchestrator auto-picks that option through
|
|
176
|
+
`devrites-engine state resolve` and continues, including internal Spec Drift
|
|
177
|
+
Guard when the answer changes ownership or acceptance. Escalating,
|
|
178
|
+
irreversible-risk, access, and blocking questions with no recommended option
|
|
179
|
+
still pause. Putting `blocking` in `allow_gates` does not replace this resolve
|
|
180
|
+
step: an unanswered blocking question still fails Seal.
|
|
170
181
|
|
|
171
182
|
An open `gate: validating` entry is **merge-blocking by definition**: at `$rite-seal` any
|
|
172
183
|
`questions.md` entry with `gate: validating` and `status: open` is a NO-GO, regardless of
|
|
@@ -8,8 +8,10 @@ user-invocable: true
|
|
|
8
8
|
# $rite-autocomplete: full lifecycle, unattended
|
|
9
9
|
|
|
10
10
|
Run every phase after one clarification window. Irreversible-risk,
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
escalating,<!-- pack-scan-ignore: negated statement: gates are NOT disabled -->
|
|
12
|
+
access, unanswered blocking with no recommended option, and remaining NO-GO
|
|
13
|
+
still pause. Open blocking questions that already name a ranked recommended
|
|
14
|
+
option auto-resolve; they are not a user handoff. Use the Standard native
|
|
13
15
|
profile by default and Full for high-risk scope or explicit `--full`; see
|
|
14
16
|
[`orchestration-profiles.md`](../devrites-lib/reference/orchestration-profiles.md).
|
|
15
17
|
|
|
@@ -102,8 +104,12 @@ executable controller/harness/bundle bytes or a missing writer, read
|
|
|
102
104
|
[stop-conditions.md](reference/stop-conditions.md). A `blocked` label alone is not a stop condition:
|
|
103
105
|
route agent-owned red results through bounded recovery.
|
|
104
106
|
Red gates block forward advancement and enter caller-owned recovery. Stop on
|
|
105
|
-
hard risk,
|
|
106
|
-
exact fingerprint's proven
|
|
107
|
+
hard risk, escalating, irreversible-risk, access, blocking with no
|
|
108
|
+
recommended option, remaining NO-GO, or the exact fingerprint's proven
|
|
109
|
+
exhaustion. An open blocking question that already names a ranked recommended
|
|
110
|
+
option (`proposed` or option 1 labelled Recommended) auto-resolves through
|
|
111
|
+
`devrites-engine state resolve` and continues; do not emit `$rite-resolve` as
|
|
112
|
+
a user handoff. Technical exhaustion records terminal
|
|
107
113
|
`Next step: none`, never a routine phase command. **Completion:** no stop is active, or its cursor and reason are durable.
|
|
108
114
|
6. **Seal boundary.** Without a ship flag, stop at Seal GO with `$rite-ship` —
|
|
109
115
|
unless `continue_sequence` is armed and sequence budget remains, in which case
|
|
@@ -36,5 +36,8 @@ not pick the option that's merely easiest to implement.
|
|
|
36
36
|
|
|
37
37
|
## When a choice is NOT autocomplete's to make
|
|
38
38
|
|
|
39
|
-
|
|
40
|
-
|
|
39
|
+
Irreversible-risk, escalating, access, and blocking questions with no ranked
|
|
40
|
+
recommended option stay human. A blocking question that already names option 1
|
|
41
|
+
`(Recommended)` or `proposed:` is autocomplete's to resolve: pick that option
|
|
42
|
+
via `devrites-engine state resolve` and continue. Recommended temper `expand`
|
|
43
|
+
auto-applies; do not invent product intent.
|
|
@@ -44,8 +44,11 @@ readiness check first; reject overlap. Do not stop on `max_agents`,
|
|
|
44
44
|
gets fresh activation-local counters but retains durable slice/recovery state.
|
|
45
45
|
|
|
46
46
|
When driving `$rite-build`, ignore afk-discipline remaining-0, `--max-slices`,
|
|
47
|
-
and parallel AFK headroom. Close validating questions
|
|
48
|
-
(recommended pick
|
|
47
|
+
and parallel AFK headroom. Close validating questions and blocking questions
|
|
48
|
+
that already name a ranked recommended option (recommended pick via
|
|
49
|
+
`devrites-engine state resolve`) instead of queuing them or handing
|
|
50
|
+
`$rite-resolve` to the user. Escalating, irreversible-risk, access, and
|
|
51
|
+
blocking with no recommended option still pause.
|
|
49
52
|
|
|
50
53
|
## Phase arc
|
|
51
54
|
|
|
@@ -122,16 +125,19 @@ agent-owned earlier-phase gap:
|
|
|
122
125
|
6. Restore and consume the original cursor when prerequisites are green.
|
|
123
126
|
|
|
124
127
|
<!-- workflow-artifact-adapter: {"module":"devrites-lib/reference/standards/workflow-artifacts.md","entry":"loop tick sees Workflow Artifact trigger/state","action":"invoke classifier once under owner lock; no actor-history migration","return":"same loop cursor; no budget charge for verify/rerun"} -->
|
|
125
|
-
Ask only for a human-owned decision or mandatory safety/access action.
|
|
126
|
-
|
|
127
|
-
|
|
128
|
+
Ask only for a human-owned decision or mandatory safety/access action. An open
|
|
129
|
+
blocking question with `proposed` or option 1 labelled Recommended is not that
|
|
130
|
+
decision: resolve it and continue. Three no-progress corrections of one exact
|
|
131
|
+
fingerprint exhaust; preserve its reproduction and dead ends without another
|
|
132
|
+
Plan/Vet command.
|
|
128
133
|
|
|
129
134
|
## Continuous caller obligation
|
|
130
135
|
|
|
131
136
|
No user-facing reply is permitted while durable state contains agent-owned
|
|
132
|
-
`NEEDS_REPLAN`, an intermediate Plan/Vet action,
|
|
133
|
-
Critical/Important fingerprint below its cap
|
|
134
|
-
|
|
137
|
+
`NEEDS_REPLAN`, an intermediate Plan/Vet action, a distinct retained
|
|
138
|
+
Critical/Important fingerprint below its cap, or an open blocking question that
|
|
139
|
+
already names a ranked recommended option. Invoke the next internal repair or
|
|
140
|
+
`devrites-engine state resolve` immediately. A narrow reviewer closing one finding and exposing another
|
|
135
141
|
Critical/Important invariant is progress, not exhaustion.
|
|
136
142
|
|
|
137
143
|
The number of completed repair/Vet cycles is not a stop condition. Context
|
|
@@ -59,14 +59,21 @@ exhausted.
|
|
|
59
59
|
<!-- workflow-artifact-adapter: {"module":"devrites-lib/reference/standards/workflow-artifacts.md","entry":"classifier returns owner-busy, exhausted, or existing hard gate","action":"stop on exact WAIT_ACTIVE_OWNER, BLOCKED_EXHAUSTED, or BLOCKED_GATE result","return":"unchanged cursor plus fixed route-owned output"} -->
|
|
60
60
|
## Other stop classes
|
|
61
61
|
|
|
62
|
-
- **Gate severity:**
|
|
63
|
-
|
|
62
|
+
- **Gate severity:** escalating always stops. Blocking with a ranked recommended
|
|
63
|
+
option (`proposed` or option 1 labelled Recommended): auto-pick via
|
|
64
|
+
`devrites-engine state resolve`, then continue internally (including Spec Drift
|
|
65
|
+
Guard when the answer changes ownership or acceptance). Blocking with no
|
|
66
|
+
recommended option still stops. Validating: auto-pick the recommended option,
|
|
67
|
+
close the question, continue.
|
|
64
68
|
- **Temper:** `expand` and extra acceptance auto-apply (record + Drift Guard).
|
|
65
69
|
Irreversible-risk still pauses. `hold-rigor`, `reduce-to-MVP`, and a skip do not pause.
|
|
66
70
|
- **Clarify:** material Partial/Missing/unowned decision coverage or a
|
|
67
71
|
low-confidence high-consequence assumption. Continue the initial interview;
|
|
68
72
|
never arm AFK early.
|
|
69
|
-
- **Seal:** NO-GO
|
|
73
|
+
- **Seal:** remaining NO-GO after recommended-option questions are closed, with
|
|
74
|
+
every remaining blocker and fix direction. Never round up to GO. An open
|
|
75
|
+
recommended-option blocking question is not a Seal stop: resolve it, recover
|
|
76
|
+
agent-owned findings, then re-enter Seal.
|
|
70
77
|
- **Reslice:** execute its marked action before deciding continue/stop.
|
|
71
78
|
- **Slice budget:** do not stop on `--max-slices`. Leftover
|
|
72
79
|
pre-existing remaining value, explicit flag, sentinel cap, or post-vet pending count
|
|
@@ -127,6 +127,11 @@ list.
|
|
|
127
127
|
`escalating` is never in `allow_gates`: specialist routing is not something AFK can
|
|
128
128
|
shortcut.
|
|
129
129
|
|
|
130
|
+
`$rite-autocomplete` does not add `blocking` to `allow_gates`. It auto-resolves
|
|
131
|
+
open blocking questions that already name a recommended option via
|
|
132
|
+
`devrites-engine state resolve`, then continues. That is an orchestrator
|
|
133
|
+
exception, not an AFK ceiling change.
|
|
134
|
+
|
|
130
135
|
## Anti-patterns
|
|
131
136
|
|
|
132
137
|
- **One gate for everything.** This puts all work behind one reviewer. Pick gates per slice.
|
|
@@ -86,8 +86,11 @@ Pull these via `Read` when shaping the resolve:
|
|
|
86
86
|
recommend `$rite-plan repair`. Otherwise → recommend the slice's natural next action
|
|
87
87
|
(typically `$rite-build` for the slice that was awaiting).
|
|
88
88
|
**Completion:** the resolved state contains exactly one next command.
|
|
89
|
-
6. **STOP.**
|
|
90
|
-
workflow explicitly.
|
|
89
|
+
6. **STOP.** User-invoked `$rite-resolve` does not run `$rite-build` itself: the
|
|
90
|
+
user re-enters the workflow explicitly. A controlling `$rite-autocomplete`
|
|
91
|
+
caller invokes the same `devrites-engine state resolve` writer internally and
|
|
92
|
+
continues; it must not emit this skill as a user handoff for a question that
|
|
93
|
+
already names a ranked recommended option.
|
|
91
94
|
|
|
92
95
|
> **Mid-flight discipline.** Don't edit `spec.md` / `plan.md` to "incorporate" the
|
|
93
96
|
> answer. That's `$rite-plan repair`. Don't silently retry a build after the answer
|
|
@@ -166,7 +166,18 @@ for the full taxonomy. Summary:
|
|
|
166
166
|
| blocking | high | sync | 15m | **no** (always pauses) |
|
|
167
167
|
| escalating | novel pattern | sync to specialist | 24h | **no** (always pauses) |
|
|
168
168
|
|
|
169
|
-
`blocking` and `escalating` always pause
|
|
169
|
+
`blocking` and `escalating` always pause for HITL and for AFK `/rite-build`,
|
|
170
|
+
regardless of `allow_gates`.
|
|
171
|
+
|
|
172
|
+
**Autocomplete exception.** While `/rite-autocomplete` is the controlling
|
|
173
|
+
caller, an open `gate: blocking` question that already carries a ranked
|
|
174
|
+
recommended option (`proposed:` or option 1 labelled `(Recommended)`) is not a
|
|
175
|
+
user handoff: the orchestrator auto-picks that option through
|
|
176
|
+
`devrites-engine state resolve` and continues, including internal Spec Drift
|
|
177
|
+
Guard when the answer changes ownership or acceptance. Escalating,
|
|
178
|
+
irreversible-risk, access, and blocking questions with no recommended option
|
|
179
|
+
still pause. Putting `blocking` in `allow_gates` does not replace this resolve
|
|
180
|
+
step: an unanswered blocking question still fails Seal.
|
|
170
181
|
|
|
171
182
|
An open `gate: validating` entry is **merge-blocking by definition**: at `/rite-seal` any
|
|
172
183
|
`questions.md` entry with `gate: validating` and `status: open` is a NO-GO, regardless of
|
|
@@ -8,8 +8,10 @@ user-invocable: true
|
|
|
8
8
|
# /rite-autocomplete: full lifecycle, unattended
|
|
9
9
|
|
|
10
10
|
Run every phase after one clarification window. Irreversible-risk,
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
escalating,<!-- pack-scan-ignore: negated statement: gates are NOT disabled -->
|
|
12
|
+
access, unanswered blocking with no recommended option, and remaining NO-GO
|
|
13
|
+
still pause. Open blocking questions that already name a ranked recommended
|
|
14
|
+
option auto-resolve; they are not a user handoff. Use the Standard native
|
|
13
15
|
profile by default and Full for high-risk scope or explicit `--full`; see
|
|
14
16
|
[`orchestration-profiles.md`](../devrites-lib/reference/orchestration-profiles.md).
|
|
15
17
|
|
|
@@ -102,8 +104,12 @@ executable controller/harness/bundle bytes or a missing writer, read
|
|
|
102
104
|
[stop-conditions.md](reference/stop-conditions.md). A `blocked` label alone is not a stop condition:
|
|
103
105
|
route agent-owned red results through bounded recovery.
|
|
104
106
|
Red gates block forward advancement and enter caller-owned recovery. Stop on
|
|
105
|
-
hard risk,
|
|
106
|
-
exact fingerprint's proven
|
|
107
|
+
hard risk, escalating, irreversible-risk, access, blocking with no
|
|
108
|
+
recommended option, remaining NO-GO, or the exact fingerprint's proven
|
|
109
|
+
exhaustion. An open blocking question that already names a ranked recommended
|
|
110
|
+
option (`proposed` or option 1 labelled Recommended) auto-resolves through
|
|
111
|
+
`devrites-engine state resolve` and continues; do not emit `/rite-resolve` as
|
|
112
|
+
a user handoff. Technical exhaustion records terminal
|
|
107
113
|
`Next step: none`, never a routine phase command. **Completion:** no stop is active, or its cursor and reason are durable.
|
|
108
114
|
6. **Seal boundary.** Without a ship flag, stop at Seal GO with `/rite-ship` —
|
|
109
115
|
unless `continue_sequence` is armed and sequence budget remains, in which case
|
|
@@ -36,5 +36,8 @@ not pick the option that's merely easiest to implement.
|
|
|
36
36
|
|
|
37
37
|
## When a choice is NOT autocomplete's to make
|
|
38
38
|
|
|
39
|
-
|
|
40
|
-
|
|
39
|
+
Irreversible-risk, escalating, access, and blocking questions with no ranked
|
|
40
|
+
recommended option stay human. A blocking question that already names option 1
|
|
41
|
+
`(Recommended)` or `proposed:` is autocomplete's to resolve: pick that option
|
|
42
|
+
via `devrites-engine state resolve` and continue. Recommended temper `expand`
|
|
43
|
+
auto-applies; do not invent product intent.
|
|
@@ -44,8 +44,11 @@ readiness check first; reject overlap. Do not stop on `max_agents`,
|
|
|
44
44
|
gets fresh activation-local counters but retains durable slice/recovery state.
|
|
45
45
|
|
|
46
46
|
When driving `/rite-build`, ignore afk-discipline remaining-0, `--max-slices`,
|
|
47
|
-
and parallel AFK headroom. Close validating questions
|
|
48
|
-
(recommended pick
|
|
47
|
+
and parallel AFK headroom. Close validating questions and blocking questions
|
|
48
|
+
that already name a ranked recommended option (recommended pick via
|
|
49
|
+
`devrites-engine state resolve`) instead of queuing them or handing
|
|
50
|
+
`/rite-resolve` to the user. Escalating, irreversible-risk, access, and
|
|
51
|
+
blocking with no recommended option still pause.
|
|
49
52
|
|
|
50
53
|
## Phase arc
|
|
51
54
|
|
|
@@ -122,16 +125,19 @@ agent-owned earlier-phase gap:
|
|
|
122
125
|
6. Restore and consume the original cursor when prerequisites are green.
|
|
123
126
|
|
|
124
127
|
<!-- workflow-artifact-adapter: {"module":"devrites-lib/reference/standards/workflow-artifacts.md","entry":"loop tick sees Workflow Artifact trigger/state","action":"invoke classifier once under owner lock; no actor-history migration","return":"same loop cursor; no budget charge for verify/rerun"} -->
|
|
125
|
-
Ask only for a human-owned decision or mandatory safety/access action.
|
|
126
|
-
|
|
127
|
-
|
|
128
|
+
Ask only for a human-owned decision or mandatory safety/access action. An open
|
|
129
|
+
blocking question with `proposed` or option 1 labelled Recommended is not that
|
|
130
|
+
decision: resolve it and continue. Three no-progress corrections of one exact
|
|
131
|
+
fingerprint exhaust; preserve its reproduction and dead ends without another
|
|
132
|
+
Plan/Vet command.
|
|
128
133
|
|
|
129
134
|
## Continuous caller obligation
|
|
130
135
|
|
|
131
136
|
No user-facing reply is permitted while durable state contains agent-owned
|
|
132
|
-
`NEEDS_REPLAN`, an intermediate Plan/Vet action,
|
|
133
|
-
Critical/Important fingerprint below its cap
|
|
134
|
-
|
|
137
|
+
`NEEDS_REPLAN`, an intermediate Plan/Vet action, a distinct retained
|
|
138
|
+
Critical/Important fingerprint below its cap, or an open blocking question that
|
|
139
|
+
already names a ranked recommended option. Invoke the next internal repair or
|
|
140
|
+
`devrites-engine state resolve` immediately. A narrow reviewer closing one finding and exposing another
|
|
135
141
|
Critical/Important invariant is progress, not exhaustion.
|
|
136
142
|
|
|
137
143
|
The number of completed repair/Vet cycles is not a stop condition. Context
|
|
@@ -59,14 +59,21 @@ exhausted.
|
|
|
59
59
|
<!-- workflow-artifact-adapter: {"module":"devrites-lib/reference/standards/workflow-artifacts.md","entry":"classifier returns owner-busy, exhausted, or existing hard gate","action":"stop on exact WAIT_ACTIVE_OWNER, BLOCKED_EXHAUSTED, or BLOCKED_GATE result","return":"unchanged cursor plus fixed route-owned output"} -->
|
|
60
60
|
## Other stop classes
|
|
61
61
|
|
|
62
|
-
- **Gate severity:**
|
|
63
|
-
|
|
62
|
+
- **Gate severity:** escalating always stops. Blocking with a ranked recommended
|
|
63
|
+
option (`proposed` or option 1 labelled Recommended): auto-pick via
|
|
64
|
+
`devrites-engine state resolve`, then continue internally (including Spec Drift
|
|
65
|
+
Guard when the answer changes ownership or acceptance). Blocking with no
|
|
66
|
+
recommended option still stops. Validating: auto-pick the recommended option,
|
|
67
|
+
close the question, continue.
|
|
64
68
|
- **Temper:** `expand` and extra acceptance auto-apply (record + Drift Guard).
|
|
65
69
|
Irreversible-risk still pauses. `hold-rigor`, `reduce-to-MVP`, and a skip do not pause.
|
|
66
70
|
- **Clarify:** material Partial/Missing/unowned decision coverage or a
|
|
67
71
|
low-confidence high-consequence assumption. Continue the initial interview;
|
|
68
72
|
never arm AFK early.
|
|
69
|
-
- **Seal:** NO-GO
|
|
73
|
+
- **Seal:** remaining NO-GO after recommended-option questions are closed, with
|
|
74
|
+
every remaining blocker and fix direction. Never round up to GO. An open
|
|
75
|
+
recommended-option blocking question is not a Seal stop: resolve it, recover
|
|
76
|
+
agent-owned findings, then re-enter Seal.
|
|
70
77
|
- **Reslice:** execute its marked action before deciding continue/stop.
|
|
71
78
|
- **Slice budget:** do not stop on `--max-slices`. Leftover
|
|
72
79
|
pre-existing remaining value, explicit flag, sentinel cap, or post-vet pending count
|
|
@@ -127,6 +127,11 @@ list.
|
|
|
127
127
|
`escalating` is never in `allow_gates`: specialist routing is not something AFK can
|
|
128
128
|
shortcut.
|
|
129
129
|
|
|
130
|
+
`/rite-autocomplete` does not add `blocking` to `allow_gates`. It auto-resolves
|
|
131
|
+
open blocking questions that already name a recommended option via
|
|
132
|
+
`devrites-engine state resolve`, then continues. That is an orchestrator
|
|
133
|
+
exception, not an AFK ceiling change.
|
|
134
|
+
|
|
130
135
|
## Anti-patterns
|
|
131
136
|
|
|
132
137
|
- **One gate for everything.** This puts all work behind one reviewer. Pick gates per slice.
|
|
@@ -86,8 +86,11 @@ Pull these via `Read` when shaping the resolve:
|
|
|
86
86
|
recommend `/rite-plan repair`. Otherwise → recommend the slice's natural next action
|
|
87
87
|
(typically `/rite-build` for the slice that was awaiting).
|
|
88
88
|
**Completion:** the resolved state contains exactly one next command.
|
|
89
|
-
6. **STOP.**
|
|
90
|
-
workflow explicitly.
|
|
89
|
+
6. **STOP.** User-invoked `/rite-resolve` does not run `/rite-build` itself: the
|
|
90
|
+
user re-enters the workflow explicitly. A controlling `/rite-autocomplete`
|
|
91
|
+
caller invokes the same `devrites-engine state resolve` writer internally and
|
|
92
|
+
continues; it must not emit this skill as a user handoff for a question that
|
|
93
|
+
already names a ranked recommended option.
|
|
91
94
|
|
|
92
95
|
> **Mid-flight discipline.** Don't edit `spec.md` / `plan.md` to "incorporate" the
|
|
93
96
|
> answer. That's `/rite-plan repair`. Don't silently retry a build after the answer
|
|
@@ -166,7 +166,18 @@ for the full taxonomy. Summary:
|
|
|
166
166
|
| blocking | high | sync | 15m | **no** (always pauses) |
|
|
167
167
|
| escalating | novel pattern | sync to specialist | 24h | **no** (always pauses) |
|
|
168
168
|
|
|
169
|
-
`blocking` and `escalating` always pause
|
|
169
|
+
`blocking` and `escalating` always pause for HITL and for AFK `/rite-build`,
|
|
170
|
+
regardless of `allow_gates`.
|
|
171
|
+
|
|
172
|
+
**Autocomplete exception.** While `/rite-autocomplete` is the controlling
|
|
173
|
+
caller, an open `gate: blocking` question that already carries a ranked
|
|
174
|
+
recommended option (`proposed:` or option 1 labelled `(Recommended)`) is not a
|
|
175
|
+
user handoff: the orchestrator auto-picks that option through
|
|
176
|
+
`devrites-engine state resolve` and continues, including internal Spec Drift
|
|
177
|
+
Guard when the answer changes ownership or acceptance. Escalating,
|
|
178
|
+
irreversible-risk, access, and blocking questions with no recommended option
|
|
179
|
+
still pause. Putting `blocking` in `allow_gates` does not replace this resolve
|
|
180
|
+
step: an unanswered blocking question still fails Seal.
|
|
170
181
|
|
|
171
182
|
An open `gate: validating` entry is **merge-blocking by definition**: at `/rite-seal` any
|
|
172
183
|
`questions.md` entry with `gate: validating` and `status: open` is a NO-GO, regardless of
|
|
@@ -8,8 +8,10 @@ user-invocable: true
|
|
|
8
8
|
# /rite-autocomplete: full lifecycle, unattended
|
|
9
9
|
|
|
10
10
|
Run every phase after one clarification window. Irreversible-risk,
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
escalating,<!-- pack-scan-ignore: negated statement: gates are NOT disabled -->
|
|
12
|
+
access, unanswered blocking with no recommended option, and remaining NO-GO
|
|
13
|
+
still pause. Open blocking questions that already name a ranked recommended
|
|
14
|
+
option auto-resolve; they are not a user handoff. Use the Standard native
|
|
13
15
|
profile by default and Full for high-risk scope or explicit `--full`; see
|
|
14
16
|
[`orchestration-profiles.md`](../devrites-lib/reference/orchestration-profiles.md).
|
|
15
17
|
|
|
@@ -102,8 +104,12 @@ executable controller/harness/bundle bytes or a missing writer, read
|
|
|
102
104
|
[stop-conditions.md](reference/stop-conditions.md). A `blocked` label alone is not a stop condition:
|
|
103
105
|
route agent-owned red results through bounded recovery.
|
|
104
106
|
Red gates block forward advancement and enter caller-owned recovery. Stop on
|
|
105
|
-
hard risk,
|
|
106
|
-
exact fingerprint's proven
|
|
107
|
+
hard risk, escalating, irreversible-risk, access, blocking with no
|
|
108
|
+
recommended option, remaining NO-GO, or the exact fingerprint's proven
|
|
109
|
+
exhaustion. An open blocking question that already names a ranked recommended
|
|
110
|
+
option (`proposed` or option 1 labelled Recommended) auto-resolves through
|
|
111
|
+
`devrites-engine state resolve` and continues; do not emit `/rite-resolve` as
|
|
112
|
+
a user handoff. Technical exhaustion records terminal
|
|
107
113
|
`Next step: none`, never a routine phase command. **Completion:** no stop is active, or its cursor and reason are durable.
|
|
108
114
|
6. **Seal boundary.** Without a ship flag, stop at Seal GO with `/rite-ship` —
|
|
109
115
|
unless `continue_sequence` is armed and sequence budget remains, in which case
|
|
@@ -36,5 +36,8 @@ not pick the option that's merely easiest to implement.
|
|
|
36
36
|
|
|
37
37
|
## When a choice is NOT autocomplete's to make
|
|
38
38
|
|
|
39
|
-
|
|
40
|
-
|
|
39
|
+
Irreversible-risk, escalating, access, and blocking questions with no ranked
|
|
40
|
+
recommended option stay human. A blocking question that already names option 1
|
|
41
|
+
`(Recommended)` or `proposed:` is autocomplete's to resolve: pick that option
|
|
42
|
+
via `devrites-engine state resolve` and continue. Recommended temper `expand`
|
|
43
|
+
auto-applies; do not invent product intent.
|
|
@@ -44,8 +44,11 @@ readiness check first; reject overlap. Do not stop on `max_agents`,
|
|
|
44
44
|
gets fresh activation-local counters but retains durable slice/recovery state.
|
|
45
45
|
|
|
46
46
|
When driving `/rite-build`, ignore afk-discipline remaining-0, `--max-slices`,
|
|
47
|
-
and parallel AFK headroom. Close validating questions
|
|
48
|
-
(recommended pick
|
|
47
|
+
and parallel AFK headroom. Close validating questions and blocking questions
|
|
48
|
+
that already name a ranked recommended option (recommended pick via
|
|
49
|
+
`devrites-engine state resolve`) instead of queuing them or handing
|
|
50
|
+
`/rite-resolve` to the user. Escalating, irreversible-risk, access, and
|
|
51
|
+
blocking with no recommended option still pause.
|
|
49
52
|
|
|
50
53
|
## Phase arc
|
|
51
54
|
|
|
@@ -122,16 +125,19 @@ agent-owned earlier-phase gap:
|
|
|
122
125
|
6. Restore and consume the original cursor when prerequisites are green.
|
|
123
126
|
|
|
124
127
|
<!-- workflow-artifact-adapter: {"module":"devrites-lib/reference/standards/workflow-artifacts.md","entry":"loop tick sees Workflow Artifact trigger/state","action":"invoke classifier once under owner lock; no actor-history migration","return":"same loop cursor; no budget charge for verify/rerun"} -->
|
|
125
|
-
Ask only for a human-owned decision or mandatory safety/access action.
|
|
126
|
-
|
|
127
|
-
|
|
128
|
+
Ask only for a human-owned decision or mandatory safety/access action. An open
|
|
129
|
+
blocking question with `proposed` or option 1 labelled Recommended is not that
|
|
130
|
+
decision: resolve it and continue. Three no-progress corrections of one exact
|
|
131
|
+
fingerprint exhaust; preserve its reproduction and dead ends without another
|
|
132
|
+
Plan/Vet command.
|
|
128
133
|
|
|
129
134
|
## Continuous caller obligation
|
|
130
135
|
|
|
131
136
|
No user-facing reply is permitted while durable state contains agent-owned
|
|
132
|
-
`NEEDS_REPLAN`, an intermediate Plan/Vet action,
|
|
133
|
-
Critical/Important fingerprint below its cap
|
|
134
|
-
|
|
137
|
+
`NEEDS_REPLAN`, an intermediate Plan/Vet action, a distinct retained
|
|
138
|
+
Critical/Important fingerprint below its cap, or an open blocking question that
|
|
139
|
+
already names a ranked recommended option. Invoke the next internal repair or
|
|
140
|
+
`devrites-engine state resolve` immediately. A narrow reviewer closing one finding and exposing another
|
|
135
141
|
Critical/Important invariant is progress, not exhaustion.
|
|
136
142
|
|
|
137
143
|
The number of completed repair/Vet cycles is not a stop condition. Context
|
|
@@ -59,14 +59,21 @@ exhausted.
|
|
|
59
59
|
<!-- workflow-artifact-adapter: {"module":"devrites-lib/reference/standards/workflow-artifacts.md","entry":"classifier returns owner-busy, exhausted, or existing hard gate","action":"stop on exact WAIT_ACTIVE_OWNER, BLOCKED_EXHAUSTED, or BLOCKED_GATE result","return":"unchanged cursor plus fixed route-owned output"} -->
|
|
60
60
|
## Other stop classes
|
|
61
61
|
|
|
62
|
-
- **Gate severity:**
|
|
63
|
-
|
|
62
|
+
- **Gate severity:** escalating always stops. Blocking with a ranked recommended
|
|
63
|
+
option (`proposed` or option 1 labelled Recommended): auto-pick via
|
|
64
|
+
`devrites-engine state resolve`, then continue internally (including Spec Drift
|
|
65
|
+
Guard when the answer changes ownership or acceptance). Blocking with no
|
|
66
|
+
recommended option still stops. Validating: auto-pick the recommended option,
|
|
67
|
+
close the question, continue.
|
|
64
68
|
- **Temper:** `expand` and extra acceptance auto-apply (record + Drift Guard).
|
|
65
69
|
Irreversible-risk still pauses. `hold-rigor`, `reduce-to-MVP`, and a skip do not pause.
|
|
66
70
|
- **Clarify:** material Partial/Missing/unowned decision coverage or a
|
|
67
71
|
low-confidence high-consequence assumption. Continue the initial interview;
|
|
68
72
|
never arm AFK early.
|
|
69
|
-
- **Seal:** NO-GO
|
|
73
|
+
- **Seal:** remaining NO-GO after recommended-option questions are closed, with
|
|
74
|
+
every remaining blocker and fix direction. Never round up to GO. An open
|
|
75
|
+
recommended-option blocking question is not a Seal stop: resolve it, recover
|
|
76
|
+
agent-owned findings, then re-enter Seal.
|
|
70
77
|
- **Reslice:** execute its marked action before deciding continue/stop.
|
|
71
78
|
- **Slice budget:** do not stop on `--max-slices`. Leftover
|
|
72
79
|
pre-existing remaining value, explicit flag, sentinel cap, or post-vet pending count
|
|
@@ -127,6 +127,11 @@ list.
|
|
|
127
127
|
`escalating` is never in `allow_gates`: specialist routing is not something AFK can
|
|
128
128
|
shortcut.
|
|
129
129
|
|
|
130
|
+
`/rite-autocomplete` does not add `blocking` to `allow_gates`. It auto-resolves
|
|
131
|
+
open blocking questions that already name a recommended option via
|
|
132
|
+
`devrites-engine state resolve`, then continues. That is an orchestrator
|
|
133
|
+
exception, not an AFK ceiling change.
|
|
134
|
+
|
|
130
135
|
## Anti-patterns
|
|
131
136
|
|
|
132
137
|
- **One gate for everything.** This puts all work behind one reviewer. Pick gates per slice.
|
|
@@ -86,8 +86,11 @@ Pull these via `Read` when shaping the resolve:
|
|
|
86
86
|
recommend `/rite-plan repair`. Otherwise → recommend the slice's natural next action
|
|
87
87
|
(typically `/rite-build` for the slice that was awaiting).
|
|
88
88
|
**Completion:** the resolved state contains exactly one next command.
|
|
89
|
-
6. **STOP.**
|
|
90
|
-
workflow explicitly.
|
|
89
|
+
6. **STOP.** User-invoked `/rite-resolve` does not run `/rite-build` itself: the
|
|
90
|
+
user re-enters the workflow explicitly. A controlling `/rite-autocomplete`
|
|
91
|
+
caller invokes the same `devrites-engine state resolve` writer internally and
|
|
92
|
+
continues; it must not emit this skill as a user handoff for a question that
|
|
93
|
+
already names a ranked recommended option.
|
|
91
94
|
|
|
92
95
|
> **Mid-flight discipline.** Don't edit `spec.md` / `plan.md` to "incorporate" the
|
|
93
96
|
> answer. That's `/rite-plan repair`. Don't silently retry a build after the answer
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "devrites",
|
|
3
|
-
"version": "5.10.
|
|
3
|
+
"version": "5.10.1",
|
|
4
4
|
"description": "DevRites: a disciplined senior-engineer workflow pack for Claude Code, Codex, omp, and pi",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE",
|
|
6
6
|
"homepage": "https://github.com/ViktorsBaikers/DevRites#readme",
|