devrites 7.1.1 → 7.1.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 +7 -0
- package/README.md +1 -1
- package/pack/.claude/agents/devrites-upgrade-planner.md +12 -4
- package/pack/.claude/skills/devrites-debug-recovery/SKILL.md +21 -4
- package/pack/.claude/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +10 -3
- package/pack/.claude/skills/devrites-debug-recovery/reference/regression-test.md +7 -4
- package/pack/.claude/skills/devrites-lib/reference/reply-contract.md +11 -11
- package/pack/.claude/skills/devrites-lib/reference/standards/afk-hitl.md +52 -56
- package/pack/.claude/skills/devrites-lib/reference/standards/agents.md +11 -1
- package/pack/.claude/skills/devrites-lib/reference/standards/core.md +41 -40
- package/pack/.claude/skills/rite-autocomplete/SKILL.md +12 -14
- package/pack/.claude/skills/rite-autocomplete/reference/loop.md +34 -38
- package/pack/.claude/skills/rite-autocomplete/reference/stop-conditions.md +38 -39
- package/pack/.claude/skills/rite-define/SKILL.md +28 -27
- package/pack/.claude/skills/rite-plan/SKILL.md +7 -2
- package/pack/.claude/skills/rite-plan/reference/replan-and-repair.md +5 -2
- package/pack/.claude/skills/rite-resolve/SKILL.md +17 -10
- package/pack/.claude/skills/rite-resolve/reference/answer-protocol.md +18 -6
- package/pack/.claude/skills/rite-review/SKILL.md +4 -4
- package/pack/.claude/skills/rite-review/reference/security-review.md +4 -2
- package/pack/.claude/skills/rite-seal/SKILL.md +28 -33
- package/pack/.claude/skills/rite-ship/SKILL.md +14 -7
- package/pack/.claude/skills/rite-temper/SKILL.md +18 -18
- package/pack/.claude/skills/rite-temper/reference/scope-modes.md +6 -7
- package/pack/.claude/skills/rite-upgrade/SKILL.md +7 -2
- package/pack/.claude/skills/rite-vet/SKILL.md +33 -34
- package/pack/generated/claude/agents/devrites-upgrade-planner.md +12 -4
- package/pack/generated/claude/skills/devrites-debug-recovery/SKILL.md +21 -4
- package/pack/generated/claude/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +10 -3
- package/pack/generated/claude/skills/devrites-debug-recovery/reference/regression-test.md +7 -4
- package/pack/generated/claude/skills/devrites-lib/reference/reply-contract.md +11 -11
- package/pack/generated/claude/skills/devrites-lib/reference/standards/afk-hitl.md +52 -56
- package/pack/generated/claude/skills/devrites-lib/reference/standards/agents.md +11 -1
- package/pack/generated/claude/skills/devrites-lib/reference/standards/core.md +41 -40
- package/pack/generated/claude/skills/rite-autocomplete/SKILL.md +12 -14
- package/pack/generated/claude/skills/rite-autocomplete/reference/loop.md +34 -38
- package/pack/generated/claude/skills/rite-autocomplete/reference/stop-conditions.md +38 -39
- package/pack/generated/claude/skills/rite-define/SKILL.md +28 -27
- package/pack/generated/claude/skills/rite-plan/SKILL.md +7 -2
- package/pack/generated/claude/skills/rite-plan/reference/replan-and-repair.md +5 -2
- package/pack/generated/claude/skills/rite-resolve/SKILL.md +17 -10
- package/pack/generated/claude/skills/rite-resolve/reference/answer-protocol.md +18 -6
- package/pack/generated/claude/skills/rite-review/SKILL.md +4 -4
- package/pack/generated/claude/skills/rite-review/reference/security-review.md +4 -2
- package/pack/generated/claude/skills/rite-seal/SKILL.md +28 -33
- package/pack/generated/claude/skills/rite-ship/SKILL.md +14 -7
- package/pack/generated/claude/skills/rite-temper/SKILL.md +18 -18
- package/pack/generated/claude/skills/rite-temper/reference/scope-modes.md +6 -7
- package/pack/generated/claude/skills/rite-upgrade/SKILL.md +7 -2
- package/pack/generated/claude/skills/rite-vet/SKILL.md +33 -34
- package/pack/generated/codex/agents/devrites-upgrade-planner.toml +12 -4
- package/pack/generated/codex/skills/devrites-debug-recovery/SKILL.md +21 -4
- package/pack/generated/codex/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +10 -3
- package/pack/generated/codex/skills/devrites-debug-recovery/reference/regression-test.md +7 -4
- package/pack/generated/codex/skills/devrites-lib/reference/reply-contract.md +11 -11
- package/pack/generated/codex/skills/devrites-lib/reference/standards/afk-hitl.md +52 -56
- package/pack/generated/codex/skills/devrites-lib/reference/standards/agents.md +11 -1
- package/pack/generated/codex/skills/devrites-lib/reference/standards/core.md +41 -40
- package/pack/generated/codex/skills/rite-autocomplete/SKILL.md +12 -14
- package/pack/generated/codex/skills/rite-autocomplete/reference/loop.md +34 -38
- package/pack/generated/codex/skills/rite-autocomplete/reference/stop-conditions.md +38 -39
- package/pack/generated/codex/skills/rite-define/SKILL.md +28 -27
- package/pack/generated/codex/skills/rite-plan/SKILL.md +7 -2
- package/pack/generated/codex/skills/rite-plan/reference/replan-and-repair.md +5 -2
- package/pack/generated/codex/skills/rite-resolve/SKILL.md +17 -10
- package/pack/generated/codex/skills/rite-resolve/reference/answer-protocol.md +18 -6
- package/pack/generated/codex/skills/rite-review/SKILL.md +4 -4
- package/pack/generated/codex/skills/rite-review/reference/security-review.md +4 -2
- package/pack/generated/codex/skills/rite-seal/SKILL.md +28 -33
- package/pack/generated/codex/skills/rite-ship/SKILL.md +14 -7
- package/pack/generated/codex/skills/rite-temper/SKILL.md +18 -18
- package/pack/generated/codex/skills/rite-temper/reference/scope-modes.md +6 -7
- package/pack/generated/codex/skills/rite-upgrade/SKILL.md +7 -2
- package/pack/generated/codex/skills/rite-vet/SKILL.md +33 -34
- package/pack/generated/devin/agents/devrites-upgrade-planner.md +12 -4
- package/pack/generated/devin/skills/devrites-debug-recovery/SKILL.md +21 -4
- package/pack/generated/devin/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +10 -3
- package/pack/generated/devin/skills/devrites-debug-recovery/reference/regression-test.md +7 -4
- package/pack/generated/devin/skills/devrites-lib/reference/reply-contract.md +11 -11
- package/pack/generated/devin/skills/devrites-lib/reference/standards/afk-hitl.md +52 -56
- package/pack/generated/devin/skills/devrites-lib/reference/standards/agents.md +11 -1
- package/pack/generated/devin/skills/devrites-lib/reference/standards/core.md +41 -40
- package/pack/generated/devin/skills/rite-autocomplete/SKILL.md +12 -14
- package/pack/generated/devin/skills/rite-autocomplete/reference/loop.md +34 -38
- package/pack/generated/devin/skills/rite-autocomplete/reference/stop-conditions.md +38 -39
- package/pack/generated/devin/skills/rite-define/SKILL.md +28 -27
- package/pack/generated/devin/skills/rite-plan/SKILL.md +7 -2
- package/pack/generated/devin/skills/rite-plan/reference/replan-and-repair.md +5 -2
- package/pack/generated/devin/skills/rite-resolve/SKILL.md +17 -10
- package/pack/generated/devin/skills/rite-resolve/reference/answer-protocol.md +18 -6
- package/pack/generated/devin/skills/rite-review/SKILL.md +4 -4
- package/pack/generated/devin/skills/rite-review/reference/security-review.md +4 -2
- package/pack/generated/devin/skills/rite-seal/SKILL.md +28 -33
- package/pack/generated/devin/skills/rite-ship/SKILL.md +14 -7
- package/pack/generated/devin/skills/rite-temper/SKILL.md +18 -18
- package/pack/generated/devin/skills/rite-temper/reference/scope-modes.md +6 -7
- package/pack/generated/devin/skills/rite-upgrade/SKILL.md +7 -2
- package/pack/generated/devin/skills/rite-vet/SKILL.md +33 -34
- package/pack/generated/omp/agents/devrites-upgrade-planner.md +12 -4
- package/pack/generated/omp/skills/devrites-debug-recovery/SKILL.md +21 -4
- package/pack/generated/omp/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +10 -3
- package/pack/generated/omp/skills/devrites-debug-recovery/reference/regression-test.md +7 -4
- package/pack/generated/omp/skills/devrites-lib/reference/reply-contract.md +11 -11
- package/pack/generated/omp/skills/devrites-lib/reference/standards/afk-hitl.md +52 -56
- package/pack/generated/omp/skills/devrites-lib/reference/standards/agents.md +11 -1
- package/pack/generated/omp/skills/devrites-lib/reference/standards/core.md +41 -40
- package/pack/generated/omp/skills/rite-autocomplete/SKILL.md +12 -14
- package/pack/generated/omp/skills/rite-autocomplete/reference/loop.md +34 -38
- package/pack/generated/omp/skills/rite-autocomplete/reference/stop-conditions.md +38 -39
- package/pack/generated/omp/skills/rite-define/SKILL.md +28 -27
- package/pack/generated/omp/skills/rite-plan/SKILL.md +7 -2
- package/pack/generated/omp/skills/rite-plan/reference/replan-and-repair.md +5 -2
- package/pack/generated/omp/skills/rite-resolve/SKILL.md +17 -10
- package/pack/generated/omp/skills/rite-resolve/reference/answer-protocol.md +18 -6
- package/pack/generated/omp/skills/rite-review/SKILL.md +4 -4
- package/pack/generated/omp/skills/rite-review/reference/security-review.md +4 -2
- package/pack/generated/omp/skills/rite-seal/SKILL.md +28 -33
- package/pack/generated/omp/skills/rite-ship/SKILL.md +14 -7
- package/pack/generated/omp/skills/rite-temper/SKILL.md +18 -18
- package/pack/generated/omp/skills/rite-temper/reference/scope-modes.md +6 -7
- package/pack/generated/omp/skills/rite-upgrade/SKILL.md +7 -2
- package/pack/generated/omp/skills/rite-vet/SKILL.md +33 -34
- package/pack/generated/pi/agents/devrites-upgrade-planner.md +12 -4
- package/pack/generated/pi/skills/devrites-debug-recovery/SKILL.md +21 -4
- package/pack/generated/pi/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +10 -3
- package/pack/generated/pi/skills/devrites-debug-recovery/reference/regression-test.md +7 -4
- package/pack/generated/pi/skills/devrites-lib/reference/reply-contract.md +11 -11
- package/pack/generated/pi/skills/devrites-lib/reference/standards/afk-hitl.md +52 -56
- package/pack/generated/pi/skills/devrites-lib/reference/standards/agents.md +11 -1
- package/pack/generated/pi/skills/devrites-lib/reference/standards/core.md +41 -40
- package/pack/generated/pi/skills/rite-autocomplete/SKILL.md +12 -14
- package/pack/generated/pi/skills/rite-autocomplete/reference/loop.md +34 -38
- package/pack/generated/pi/skills/rite-autocomplete/reference/stop-conditions.md +38 -39
- package/pack/generated/pi/skills/rite-define/SKILL.md +28 -27
- package/pack/generated/pi/skills/rite-plan/SKILL.md +7 -2
- package/pack/generated/pi/skills/rite-plan/reference/replan-and-repair.md +5 -2
- package/pack/generated/pi/skills/rite-resolve/SKILL.md +17 -10
- package/pack/generated/pi/skills/rite-resolve/reference/answer-protocol.md +18 -6
- package/pack/generated/pi/skills/rite-review/SKILL.md +4 -4
- package/pack/generated/pi/skills/rite-review/reference/security-review.md +4 -2
- package/pack/generated/pi/skills/rite-seal/SKILL.md +28 -33
- package/pack/generated/pi/skills/rite-ship/SKILL.md +14 -7
- package/pack/generated/pi/skills/rite-temper/SKILL.md +18 -18
- package/pack/generated/pi/skills/rite-temper/reference/scope-modes.md +6 -7
- package/pack/generated/pi/skills/rite-upgrade/SKILL.md +7 -2
- package/pack/generated/pi/skills/rite-vet/SKILL.md +33 -34
- package/package.json +1 -1
|
@@ -2,14 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
> Applies when: always; every workspace rite reads it first.
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
other rule file from `README.md` on demand.
|
|
5
|
+
Read core first, then the `loads:` manifest `always` set (via
|
|
6
|
+
`devrites-engine context --skills-root .agents/skills <slug> --skill <name>` with a workspace, else listed files).
|
|
7
|
+
Load trigger files when their named condition holds; other `README.md` rules on demand.
|
|
9
8
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
repeating the rule.
|
|
9
|
+
Cite rules as `core.md #N` (CORE-N), not repeated text. IDs keep their meaning
|
|
10
|
+
even when reworded.
|
|
13
11
|
|
|
14
12
|
Uppercase MUST/MUST NOT/SHOULD/SHOULD NOT/MAY carry RFC 2119 meaning: MUST is a gate;
|
|
15
13
|
a SHOULD deviation records its reason in `decisions.md` (the exception procedure); MAY
|
|
@@ -20,9 +18,9 @@ Repository conventions follow [Precedence](#precedence).
|
|
|
20
18
|
|
|
21
19
|
## Operating rules (every phase)
|
|
22
20
|
|
|
23
|
-
1. **Right step, right time:** use the smallest workflow
|
|
24
|
-
|
|
25
|
-
|
|
21
|
+
1. **Right step, right time:** use the smallest workflow/relevant read-set. Batch
|
|
22
|
+
independent reads; cover relevant code beyond the first match. Prefer an
|
|
23
|
+
available structural code index; see
|
|
26
24
|
[`tooling.md`](tooling.md) and [`code-index.md`](code-index.md).
|
|
27
25
|
2. **No silent assumptions:** surface material assumptions; ask when the answer
|
|
28
26
|
changes scope, architecture, data model, UX, security, migration risk, or
|
|
@@ -32,12 +30,14 @@ Repository conventions follow [Precedence](#precedence).
|
|
|
32
30
|
when the answer changes the product.
|
|
33
31
|
4. **Keep the spec current:** change spec / plan only through the Spec Drift Guard;
|
|
34
32
|
never code against a known-wrong plan. A later phase MUST NOT rewrite a sealed
|
|
35
|
-
artifact
|
|
36
|
-
|
|
33
|
+
artifact so the code "matches." Record drift and route to the owning rite;
|
|
34
|
+
an authorized owner repair reconciles the current owning clause in place and
|
|
35
|
+
preserves rationale/history in `decisions.md`, not an adjacent dated delta. **Failing case:** Build edits `spec.md`
|
|
37
36
|
acceptance criteria to fit the implementation.
|
|
38
|
-
5. **One slice at a time:**
|
|
39
|
-
|
|
40
|
-
([`afk-hitl.md`](afk-hitl.md)).
|
|
37
|
+
5. **One slice at a time:** prove each vertical slice working.
|
|
38
|
+
Standalone HITL stops after one slice; standalone AFK runs to its slice budget
|
|
39
|
+
([`afk-hitl.md`](afk-hitl.md)). Active `$rite-autocomplete` returns green
|
|
40
|
+
checkpoints internally and continues the lifecycle to completion or a genuine stop.
|
|
41
41
|
6. **Evidence over confidence:** tests, builds, runtime, screenshots beat
|
|
42
42
|
assertions; record commands and output. Tag how each claim was known:
|
|
43
43
|
`observed` (you ran or read the evidence), `inferred` (deduced — name the
|
|
@@ -69,51 +69,50 @@ Each gate is declared as **Name · Precondition · Satisfying observation (exact
|
|
|
69
69
|
|
|
70
70
|
Verdict discipline — no vacuous verdicts:
|
|
71
71
|
|
|
72
|
-
- The precondition asserts the artifact **exists and is non-empty**, not
|
|
73
|
-
path
|
|
74
|
-
mid-analysis reading a missing spec.
|
|
72
|
+
- The precondition asserts the artifact **exists and is non-empty**, not just a
|
|
73
|
+
resolved path. **Failing case:** prerequisite passes, analysis dies on a missing spec.
|
|
75
74
|
- A verdict is **PASS**, **FAIL**, or **NOT-RUN**. A NOT-RUN carries its named marker
|
|
76
75
|
(`unavailable: <reason>`, `unproven`, `partial: <what ran>`) in the consuming artifact;
|
|
77
76
|
it never renders as clean and never goes silent. **Failing case:** a review sub-step
|
|
78
77
|
that never ran is simply omitted from the summary, which reads as a clean run.
|
|
79
|
-
-
|
|
80
|
-
|
|
81
|
-
an empty result set and a green verdict over zero evidence.
|
|
78
|
+
- PASS needs a **positive count of items actually checked**; zero is FAIL.
|
|
79
|
+
**Failing case:** an unparseable checklist produces an empty green result.
|
|
82
80
|
- Scope-bearing gates name their **baseline** and fail only on issues attributable to the
|
|
83
81
|
change; "could not run" (timeout, unreachable, parse failure) is never recorded as
|
|
84
82
|
"failed". **Failing case:** a dependency gate reddens on a pre-existing advisory
|
|
85
83
|
unrelated to the diff.
|
|
86
|
-
- Failure behavior is **abort** (
|
|
87
|
-
(
|
|
88
|
-
silent is not.
|
|
84
|
+
- Failure behavior is **abort** (name blocked step and stop) or **record-and-continue**
|
|
85
|
+
(record FAIL/NOT-RUN with its marker, proceed). Never silent.
|
|
89
86
|
|
|
90
87
|
<!-- root-only -->
|
|
91
88
|
## Caller-owned technical backtracking
|
|
92
89
|
|
|
93
90
|
When a rite invokes an earlier rite inline to repair an agent-owned technical gap, the original rite stays the controlling caller: a nested `STOP` is a phase boundary, not user-facing. The caller re-reads `state.md`, follows the return cursor/`next_action`, and resumes unless a human-owned, safety, access, budget, or parked-recovery stop is active ([Persistence before stopping](#persistence-before-stopping-handoff-discipline)). Derive `parked-recovery` from the fingerprint's recorded no-progress attempts and escalations, not from a stale `state.md` label; one consumed authorization doesn't exhaust offline recovery from retained new evidence.
|
|
94
91
|
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
92
|
+
Under active `$rite-autocomplete`, green slice/phase checkpoints and their recorded
|
|
93
|
+
`next_action` are internal continuation edges, not final replies. Consume them and
|
|
94
|
+
technical backtracking until requested completion or a genuine stop; tool progress never yields control.
|
|
95
|
+
|
|
96
|
+
Intermediate `Next step` is cold-resume metadata, not a human copy/paste request
|
|
97
|
+
for routine `$rite-plan repair`, `$rite-vet`, `$rite-build`, or proof reruns during
|
|
98
|
+
active recovery. Only the caller emits the final response; standalone phases stop normally.
|
|
99
99
|
<!-- /root-only -->
|
|
100
100
|
|
|
101
101
|
<!-- root-only -->
|
|
102
102
|
## Final response
|
|
103
103
|
|
|
104
|
-
Immediately before its final response,
|
|
105
|
-
[`reply-contract.md`](../reply-contract.md)
|
|
106
|
-
claims plus one next action.
|
|
104
|
+
Immediately before its final response, the controlling caller or standalone rite loads
|
|
105
|
+
[`reply-contract.md`](../reply-contract.md): compact evidenced claims, one next action.
|
|
107
106
|
<!-- /root-only -->
|
|
108
107
|
|
|
109
108
|
## Rationalization guard
|
|
110
109
|
|
|
111
|
-
|
|
112
|
-
[`anti-patterns.md` rebuttal](anti-patterns.md#universal-rationalizations)
|
|
110
|
+
Before continuing on an excuse, apply its
|
|
111
|
+
[`anti-patterns.md` rebuttal](anti-patterns.md#universal-rationalizations).
|
|
113
112
|
|
|
114
113
|
## Rule summary (load the full file when in scope)
|
|
115
114
|
|
|
116
|
-
|
|
115
|
+
Universal musts; load linked rules when needed.
|
|
117
116
|
|
|
118
117
|
- **Fail fast, no silent catches.** Validate early; catch narrow, recover or
|
|
119
118
|
rethrow with context; fail closed on auth/permission/transaction. →
|
|
@@ -136,7 +135,7 @@ These universal musts link to their full rules; load depth only when needed.
|
|
|
136
135
|
- **Measure before you optimize.** An optimisation without a measurement is a
|
|
137
136
|
guess that adds complexity. → [`performance.md`](performance.md)
|
|
138
137
|
- **Names reveal intent.** No `process()` / `handle()` / `data` / `temp`.
|
|
139
|
-
One
|
|
138
|
+
One word per concept codebase-wide. → [`coding-style.md`](coding-style.md)
|
|
140
139
|
- **Comments explain *why*, not *what*.** Rename before you comment; delete
|
|
141
140
|
commented-out code. → [`coding-style.md`](coding-style.md)
|
|
142
141
|
- **Write like a human, not a model.** Cut filler, fake contrast/profundity,
|
|
@@ -167,19 +166,21 @@ Before any `rite-*` skill stops:
|
|
|
167
166
|
[--unset key]`; a new ledger section via `state append <slug> <ledger> --heading "<id>"
|
|
168
167
|
--body-file <path|->`. Never splice workspace Markdown with an ad-hoc script or regex.
|
|
169
168
|
|
|
170
|
-
|
|
169
|
+
Stopping without this leaves an incomplete workspace.
|
|
171
170
|
<!-- /root-only -->
|
|
172
171
|
|
|
173
172
|
## Context hygiene (end of every phase)
|
|
174
173
|
|
|
175
174
|
Long contexts degrade reasoning quality. Act on context at **50-70% used, not 95%**.
|
|
176
175
|
|
|
177
|
-
Read the engine `context` bundle once per phase
|
|
178
|
-
|
|
176
|
+
Read the engine `context` bundle once per phase, not its sources; after compaction
|
|
177
|
+
re-read the bundle.
|
|
179
178
|
|
|
180
179
|
<!-- root-only -->
|
|
181
|
-
|
|
182
|
-
|
|
180
|
+
Only controlling-caller final replies or standalone rites name a resume command
|
|
181
|
+
on the action line; nested phases persist it internally, not as a handoff.
|
|
182
|
+
A `↻ Hygiene:` footer advises `/clear`, `/compact`, or `$rite-handoff`, never a
|
|
183
|
+
competing command. Phase guidance:
|
|
183
184
|
[`context-hygiene.md`](context-hygiene.md).
|
|
184
185
|
<!-- /root-only -->
|
|
185
186
|
|
|
@@ -140,30 +140,28 @@ next sequence continuation through Vet in a second session, then stop.
|
|
|
140
140
|
product scope is never auto-resolved by a recommended option; it stops for a human.
|
|
141
141
|
A spent strategy escalates; parked recovery records
|
|
142
142
|
`Next step: $rite-autocomplete`, never a routine phase command. **Completion:** no stop is active, or its cursor and reason are durable.
|
|
143
|
-
6. **Seal boundary.**
|
|
144
|
-
open the next recorded continuation
|
|
143
|
+
6. **Seal boundary.** With or without a ship flag, leave intermediate sealed
|
|
144
|
+
workspaces unshipped and open the next recorded continuation
|
|
145
145
|
([loop.md § Sequence continuation](reference/loop.md#sequence-continuation))
|
|
146
146
|
unless `continue_sequence: false`, the sequence budget is spent, or no entry
|
|
147
|
-
remains
|
|
148
|
-
every stop.
|
|
149
|
-
|
|
150
|
-
fresh literal `GO` plus native approval. **Completion:** performed no Git action before fresh literal `GO` plus native approval.
|
|
147
|
+
remains. At that boundary without a ship flag, stop at Seal GO with `$rite-ship`.
|
|
148
|
+
Report sequence position at every stop. Only at that boundary, with a ship flag, perform Ship preflight,
|
|
149
|
+
disclose the exact Git plan, and stop for fresh literal `GO` plus native approval. **Completion:** performed no Git action before fresh literal `GO` plus native approval.
|
|
151
150
|
|
|
152
151
|
## Reply and resume
|
|
153
152
|
|
|
154
|
-
HITL Build returns after one slice; Autocomplete ignores `--max-slices
|
|
155
|
-
|
|
156
|
-
backtracking. Context pressure, compaction, or a nested completion footer does
|
|
153
|
+
HITL Build returns after one slice; Autocomplete ignores `--max-slices`, chaining
|
|
154
|
+
pending slices. Each Autocomplete invocation owns internal backtracking. Context pressure, compaction, or a nested completion footer does
|
|
157
155
|
not create a stop; persist and resume the cursor.
|
|
158
156
|
|
|
159
|
-
Reply only at
|
|
160
|
-
|
|
157
|
+
Reply only at final state: text-only turns end the run. Keep
|
|
158
|
+
calling tools after compaction or phase changes. Use one line:
|
|
161
159
|
|
|
162
160
|
```text
|
|
163
161
|
Autocomplete: <slug>
|
|
164
162
|
spec <done|stopped> · clarify <clear|stopped> · temper <done|stopped> · define <done|stopped> · vet <ready|stopped> · build <n/N|stopped> · prove <done|stopped> · polish <done|stopped> · review <done|stopped> · seal <GO|NO-GO|stopped>
|
|
165
163
|
```
|
|
166
164
|
|
|
167
|
-
Final state
|
|
168
|
-
|
|
169
|
-
|
|
165
|
+
Final state: `Shipped`, `Stopped`, `Awaiting human`, `NO-GO`, or `GO`; no narrative
|
|
166
|
+
recap. Require clean or accepted baseline; land local unpushed checkpoints after
|
|
167
|
+
each green check; never auto-pass red gates.
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
# The autocomplete loop: arm AFK, drive every phase
|
|
2
2
|
|
|
3
|
-
Autocomplete
|
|
4
|
-
routine phases. Acceptance-preserving Reslice authority is
|
|
3
|
+
Autocomplete chains existing `/rite-*` workflows without routine-phase pauses. Acceptance-preserving Reslice authority is
|
|
5
4
|
`.agents/skills/devrites-lib/reference/standards/acceptance-preserving-reslice.md`.
|
|
6
5
|
|
|
7
6
|
<!-- BEGIN RESLICE ROUTE-TO-ACTION -->
|
|
@@ -23,7 +22,7 @@ allow_gates: [advisory, validating]
|
|
|
23
22
|
# notify: "<cmd>"
|
|
24
23
|
```
|
|
25
24
|
|
|
26
|
-
Read
|
|
25
|
+
Read existing sentinel first. Preserve valid bytes, except
|
|
27
26
|
when this invocation contains `--parallel N`: then write or replace only
|
|
28
27
|
`max_parallel: N` and leave every other key unchanged. Stop if the sentinel is
|
|
29
28
|
malformed. Do not stop because it names `max_slices` / `max_agents` /
|
|
@@ -41,10 +40,9 @@ remaining. AFK configuration itself stays unchanged.
|
|
|
41
40
|
|
|
42
41
|
### Admit each unattended cycle
|
|
43
42
|
|
|
44
|
-
Before
|
|
43
|
+
Before each phase, review fan-out, recovery, or writer dispatch: cheapest
|
|
45
44
|
readiness check first; reject overlap. Do not stop on `max_agents`,
|
|
46
|
-
`max_minutes`, or `max_review_queue`. Count every leaf result.
|
|
47
|
-
gets fresh activation-local counters but retains durable slice/recovery state.
|
|
45
|
+
`max_minutes`, or `max_review_queue`. Count every leaf result. New activations reset activation-local counters, retaining durable slice/recovery state.
|
|
48
46
|
|
|
49
47
|
[Build return](../../rite-build/reference/output.md#caller-owned-continuation).
|
|
50
48
|
Pass `--parallel N`; ignore leftover cap/headroom, remaining-0,
|
|
@@ -57,7 +55,7 @@ without recommendations, and Seal judgment (`slice: seal`) still pause.
|
|
|
57
55
|
|
|
58
56
|
## Phase arc
|
|
59
57
|
|
|
60
|
-
Workspace files
|
|
58
|
+
Workspace files, not chat, carry state. Read/execute each phase skill:
|
|
61
59
|
|
|
62
60
|
| Step | Phase | Completion / edge |
|
|
63
61
|
| --- | --- | --- |
|
|
@@ -73,9 +71,8 @@ Workspace files carry state; chat does not. Read and execute each phase skill:
|
|
|
73
71
|
| 10 | `$rite-seal` | GO/NO-GO; no Git |
|
|
74
72
|
| 11 | `$rite-ship` | only after GO; `--ship` never authorizes Git; stop at literal-GO/native approval |
|
|
75
73
|
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
evidence. Re-read the active workspace before each phase. On a cold resume or
|
|
74
|
+
Check [stop-conditions.md](stop-conditions.md) before advancing. Discard stale
|
|
75
|
+
pass evidence after source edits. Re-read active workspace before each phase. On a cold resume or
|
|
79
76
|
new activation, run `devrites-engine check regression <slug>`: `BLOCKED` names a
|
|
80
77
|
durable fact lost since the last checkpoint — restore or route it through its
|
|
81
78
|
owning phase before continuing; `unproven` does not block. After each phase's
|
|
@@ -92,37 +89,35 @@ step 10 does not end the run: leave the sealed workspace unshipped with its
|
|
|
92
89
|
(`$rite-spec <parent>-<n> "<objective>"` from the parent's `decisions.md` sequence)
|
|
93
90
|
and re-enter step 1. Spend one workspace per opened continuation.
|
|
94
91
|
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
set — absent, write `max_workspaces - 1` and `sequence_position: 1` first — and
|
|
105
|
-
`> 0`. `$rite-spec` seeds the child's sequence cursor at creation per the
|
|
92
|
+
For a child already planned by [lookahead](lookahead.md), do not re-specify.
|
|
93
|
+
Wait while `devrites-engine claim check --workspace <child>` exits 3 (live
|
|
94
|
+
lookahead), then set `.devrites/ACTIVE` to the child and resume its cursor at
|
|
95
|
+
step 1. A predecessor replan since its Vet blocks child readiness with
|
|
96
|
+
`DRV-GATE-READINESS-STALE`; route to `$rite-vet` before Build.
|
|
97
|
+
|
|
98
|
+
Before invoking a continuation, require durable `state.md`
|
|
99
|
+
`sequence_workspaces_remaining > 0`; if absent, first write
|
|
100
|
+
`max_workspaces - 1` and `sequence_position: 1`. `$rite-spec` seeds the child's sequence cursor at creation per the
|
|
106
101
|
[continuation contract](../../rite-plan/reference/slicing.md#continuation-workspaces);
|
|
107
|
-
|
|
108
|
-
|
|
102
|
+
verify the created child's `state.md`: `sequence_parent` = current slug,
|
|
103
|
+
`sequence_position` = parent position + 1,
|
|
109
104
|
`sequence_workspaces_remaining` = parent remaining − 1, and — when the recorded
|
|
110
105
|
entry is the sequence's release milestone — `sequence_role: release` (gates then
|
|
111
|
-
require the union manifest). On resume,
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
`NO-GO
|
|
119
|
-
|
|
106
|
+
require the union manifest). On resume, re-seed missing child fields from its `brief.md` parent/position and
|
|
107
|
+
parent counter (same values, no second charge). No recorded parent/position
|
|
108
|
+
means no sequence membership: stop the chain.
|
|
109
|
+
|
|
110
|
+
Stop sequence continuation when: `continue_sequence: false`; no recorded next
|
|
111
|
+
entry (the final milestone); the `max_workspaces` cap is reached; or a genuine
|
|
112
|
+
human-owned, safety, access, or parked-recovery stop fires. `max_review_queue`
|
|
113
|
+
never stops Autocomplete; agent-owned Seal `NO-GO` enters recovery, not a handoff.
|
|
114
|
+
Intermediate sealed milestones continue without `--ship` and without Git mutation. On stop, report sequence position, sealed/unshipped workspaces, and
|
|
115
|
+
one release command (`$rite-autocomplete <release milestone> --ship`, or
|
|
120
116
|
`$rite-ship` for the current sealed workspace when the sequence is complete).
|
|
121
117
|
|
|
122
118
|
## Backtrack without handing off
|
|
123
119
|
|
|
124
|
-
|
|
125
|
-
agent-owned earlier-phase gap:
|
|
120
|
+
Autocomplete remains caller for agent-owned earlier-phase gaps:
|
|
126
121
|
|
|
127
122
|
1. Save the originating phase/action unless a valid native return cursor exists.
|
|
128
123
|
2. On cold resume, reconcile the terminal cursor against durable fingerprint
|
|
@@ -152,6 +147,8 @@ and park it after three escalations while independent work continues.
|
|
|
152
147
|
|
|
153
148
|
## Continuous caller obligation
|
|
154
149
|
|
|
150
|
+
Green slice/phase checkpoints consume their recorded `next_action` internally;
|
|
151
|
+
only the caller replies finally at completion or a genuine stop.
|
|
155
152
|
No user-facing reply is permitted while durable state contains agent-owned
|
|
156
153
|
`NEEDS_REPLAN`, an intermediate Plan/Vet action, a distinct retained
|
|
157
154
|
Critical/Important fingerprint below its cap or with an escalation left, runnable
|
|
@@ -162,7 +159,6 @@ already names a ranked recommended option. Invoke the next internal repair or
|
|
|
162
159
|
`state resolve` exits 1 on every call and the loop re-invokes it without end. A narrow reviewer closing one finding and exposing another
|
|
163
160
|
Critical/Important invariant is progress, not exhaustion.
|
|
164
161
|
|
|
165
|
-
The number of completed repair/Vet cycles
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
rest point or a shared human/safety/access/parked-recovery condition.
|
|
162
|
+
The number of completed repair/Vet cycles, context pressure, compaction, session
|
|
163
|
+
duration, and nested completion never turn checkpoints into handoffs. Persist and
|
|
164
|
+
resume to the requested rest point or shared human/safety/access/parked-recovery stop.
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
# Stop conditions: when autocomplete pauses
|
|
2
2
|
|
|
3
|
-
On
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
work continues ([retry contract](../../devrites-lib/reference/standards/afk-hitl.md#retry-cap-no-progress-loops-and-self-resolve)).
|
|
3
|
+
On real stops, persist `state.md` `awaiting_human` or `blocked`, reason, and one
|
|
4
|
+
resume command. Agent-owned recovery never ends the run: spent strategies
|
|
5
|
+
escalate; fully escalated fingerprints park while other work continues ([retry contract](../../devrites-lib/reference/standards/afk-hitl.md#retry-cap-no-progress-loops-and-self-resolve)).
|
|
7
6
|
`--ship` never bypasses a stop.
|
|
8
7
|
|
|
9
8
|
Authority: `.agents/skills/devrites-lib/reference/standards/acceptance-preserving-reslice.md`.
|
|
@@ -16,7 +15,7 @@ Authority: `.agents/skills/devrites-lib/reference/standards/acceptance-preservin
|
|
|
16
15
|
|
|
17
16
|
## Always stop
|
|
18
17
|
|
|
19
|
-
|
|
18
|
+
Flags/AFK ceiling never override:
|
|
20
19
|
|
|
21
20
|
- destructive data migration;
|
|
22
21
|
- auth/authz boundary change;
|
|
@@ -24,8 +23,8 @@ Regardless of flags or AFK ceiling:
|
|
|
24
23
|
- external-service contract change; or
|
|
25
24
|
- filesystem destruction outside the workspace.
|
|
26
25
|
|
|
27
|
-
Red proof cannot advance. Run bounded Debug Recovery
|
|
28
|
-
|
|
26
|
+
Red proof cannot advance. Run bounded Debug Recovery; escalate spent strategies.
|
|
27
|
+
Fully escalated fingerprints park unless remaining owner is human.
|
|
29
28
|
|
|
30
29
|
## Not stops: internal technical routing
|
|
31
30
|
|
|
@@ -34,13 +33,12 @@ forward work, persists the return cursor, and invokes Plan repair plus Recovery
|
|
|
34
33
|
Vet inline. The same applies to nested `STOP`/`Next step` when its decision is
|
|
35
34
|
agent-owned.
|
|
36
35
|
|
|
37
|
-
Agent-owned backtracking is not a stop condition while
|
|
38
|
-
fingerprint has budget
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
activation the fingerprint parks; finish all independent work, then stop once.
|
|
36
|
+
Agent-owned backtracking is not a stop condition while its exact causal
|
|
37
|
+
fingerprint has budget: invoke earlier phase, affected Vet, remediation, proof;
|
|
38
|
+
resume origin. Three no-progress corrections spend only that fingerprint's current
|
|
39
|
+
strategy: escalate inline to the next class (shared root cause, diagnostic
|
|
40
|
+
amplification, boundary redesign) with fresh budget, without permission. After
|
|
41
|
+
three escalations per activation it parks; finish independent work, then stop once.
|
|
44
42
|
Preserve reproduction, attempts, and dead ends; never offer `$rite-plan unblock`
|
|
45
43
|
or another routine phase command. A new user-issued `$rite-autocomplete`
|
|
46
44
|
reopens parked fingerprints with fresh escalation; wakes and compaction do not.
|
|
@@ -52,11 +50,10 @@ It blocks another execution; retained new Critical/Important evidence still
|
|
|
52
50
|
enters offline recovery. After affected Vet is READY, pause for fresh action
|
|
53
51
|
authorization and never reuse old GO.
|
|
54
52
|
|
|
55
|
-
Past evidence being irretrievable is not by itself terminal. If an in-scope
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
class or park; only a real human/risk/scope gate stops for a human.
|
|
53
|
+
Past evidence being irretrievable is not by itself terminal. If an in-scope trusted seam
|
|
54
|
+
uniquely discriminates the next failure, run diagnostic-amplification Plan repair
|
|
55
|
+
and narrow Vet inline; pause for fresh GO before one evidence-acquisition attempt.
|
|
56
|
+
Without a safe seam, escalate or park; only a real human/risk/scope gate stops for a human.
|
|
60
57
|
|
|
61
58
|
<!-- workflow-artifact-adapter: {"module":"devrites-lib/reference/standards/workflow-artifacts.md","entry":"classifier returns owner-busy, exhausted, or existing hard gate","action":"escalate BLOCKED_EXHAUSTED; on WAIT_ACTIVE_OWNER run independent work and recheck; stop on exact BLOCKED_GATE result","return":"unchanged cursor plus fixed route-owned output"} -->
|
|
62
59
|
## Other stop classes
|
|
@@ -76,10 +73,9 @@ class or park; only a real human/risk/scope gate stops for a human.
|
|
|
76
73
|
- **Clarify:** material `open`/unowned decision coverage or a
|
|
77
74
|
low-confidence high-consequence assumption. Continue the initial interview;
|
|
78
75
|
never arm AFK early.
|
|
79
|
-
- **Seal:** remaining NO-GO
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
agent-owned findings, then re-enter Seal. A first NO-GO is not a stop either:
|
|
76
|
+
- **Seal:** report remaining NO-GO with every blocker/fix direction; never round
|
|
77
|
+
up to GO. Resolve recommended-option blocking questions internally; recover
|
|
78
|
+
agent-owned findings and re-enter Seal. A first NO-GO is not a stop:
|
|
83
79
|
recover every agent-owned blocker (missing or unbound proof, a reviewer gap root
|
|
84
80
|
can close, a finding with a fix direction, a missing `review.md` verdict), then
|
|
85
81
|
re-enter Seal. The unattended `N` to accepting Important risks means repair, not
|
|
@@ -97,23 +93,26 @@ class or park; only a real human/risk/scope gate stops for a human.
|
|
|
97
93
|
- **Resource envelope:** overlapping run or missing AFK after arm still stops.
|
|
98
94
|
Do not stop on `--max-slices`, `max_agents`, `max_minutes`, or `max_review_queue`.
|
|
99
95
|
- **Confidence:** intent still cannot become testable acceptance after interview.
|
|
100
|
-
- **Repeated failure:** not a stop. Escalate;
|
|
101
|
-
|
|
102
|
-
- **Resolver failure:** `devrites-engine state resolve`
|
|
103
|
-
Never hand-edit `questions.md`/`state.md`
|
|
104
|
-
nonzero
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
and resume action `$rite-doctor`.
|
|
96
|
+
- **Repeated failure:** not a stop. Escalate; fully escalated fingerprints park.
|
|
97
|
+
Stop only when no independent work remains.
|
|
98
|
+
- **Resolver failure:** `devrites-engine state resolve` missing or nonzero.
|
|
99
|
+
Never hand-edit `questions.md`/`state.md` instead. Missing stops immediately;
|
|
100
|
+
nonzero permits one identical re-run (fingerprint: command + exit code + decisive
|
|
101
|
+
stderr line; unchanged re-run is no correction, no further attempts). Then stop
|
|
102
|
+
`blocked`: exact command, exit code, stderr line; resume via `$rite-doctor`.
|
|
108
103
|
|
|
109
104
|
## Final GO and durable stop
|
|
110
105
|
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
106
|
+
With a recorded continuation, no opt-out, and workspace budget, Seal GO stays
|
|
107
|
+
internal: continue without `--ship`, leaving milestones sealed/unshipped. Only the
|
|
108
|
+
final milestone, explicit `continue_sequence: false`, or exhausted sequence cap
|
|
109
|
+
ends green sequence continuation.
|
|
115
110
|
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
111
|
+
There, `--ship`/`--yolo` requires [Ship preflight](../../rite-ship/reference/git-ship.md#before-type-go):
|
|
112
|
+
disclose exact plan; stop for fresh literal `GO` plus native approval.
|
|
113
|
+
Without flags, stop at Seal GO with `$rite-ship`. Seal GO never authorizes Git
|
|
114
|
+
or satisfies Ship approval; neither do AFK, prior approval, or flags.
|
|
115
|
+
|
|
116
|
+
Record cold-resumable `state.md` stops: status, exact reason, one resume action
|
|
117
|
+
(human-owned or `$rite-autocomplete` to reopen parked fingerprints). Explain in
|
|
118
|
+
owning question/drift/seal entry. Tell user what stopped and any required human action.
|
|
@@ -147,21 +147,18 @@ Pull these via `Read` when shaping the plan:
|
|
|
147
147
|
cross-slice boundary names producer, consumer, invariant, integration step, and proof.
|
|
148
148
|
Map each applicable topology/data/integration risk to a slice, failure/recovery path,
|
|
149
149
|
and discriminating proof; a risk cannot live only in the architecture narrative.
|
|
150
|
-
4a. **Persist traceability natively.**
|
|
150
|
+
4a. **Persist traceability natively.** Drafter proposes; root writes
|
|
151
151
|
`traceability.md` (`AC/REQ ID → slice → proof → evidence ID → files → status`).
|
|
152
|
-
Re-read spec
|
|
153
|
-
|
|
154
|
-
`$rite-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
intended, route it through the Spec Drift Guard plus a recorded decision and a scoped principle
|
|
163
|
-
exception a human approves. Never ready a plan that silently violates an invariant. (Re-scored
|
|
164
|
-
as a blocking gate at `$rite-vet`; no file → none declared → nothing to check.)
|
|
152
|
+
Re-read spec/tasks/proof: require real IDs, meaning-preserving mappings, not
|
|
153
|
+
just labels. Reject orphans/inventions/false mappings. `$rite-prove` and
|
|
154
|
+
`$rite-seal` read it directly. Reference plan `Shared contract proof` rows from
|
|
155
|
+
existing slice/proof mappings; never create a second traceability system.
|
|
156
|
+
5. **Complexity and deviations gate:** justify deviations from DevRites defaults
|
|
157
|
+
(new dep, extra abstraction, second design system) in plan; else simplify.
|
|
158
|
+
**Principles conformance:** honor all `.devrites/principles.md` invariants
|
|
159
|
+
(absent → none). Reshape conflicts; intended genuine conflicts need Spec Drift
|
|
160
|
+
Guard, a recorded decision, and a human-approved scoped principle exception.
|
|
161
|
+
Never ready silent violations; `$rite-vet` re-scores this blocking gate.
|
|
165
162
|
6. **Write** `architecture.md`, `plan.md`, `tasks.md`, and `traceability.md` — save the
|
|
166
163
|
accepted bundle under `packets/` and apply it with `devrites-engine state
|
|
167
164
|
apply-bundle <slug> <bundle.json>` before root reconciliation edits; update
|
|
@@ -169,27 +166,31 @@ Pull these via `Read` when shaping the plan:
|
|
|
169
166
|
`flows.md` (**Mermaid-first**). If a richer reviewable visual earns it, emit
|
|
170
167
|
`visual/<flow>.html` + `visual/<flow>.outline.md` after loading matching playbooks from
|
|
171
168
|
[`../devrites-lib/reference/visual-playbooks/index.md`](../devrites-lib/reference/visual-playbooks/index.md)
|
|
172
|
-
(progressive; never preload all seven), link
|
|
173
|
-
SSOT (
|
|
174
|
-
6a. **Cross-artifact gate.** Read spec
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
169
|
+
(progressive; never preload all seven), link both from `flows.md`; outline is
|
|
170
|
+
SSOT (wins). No Lavish or new phase required.
|
|
171
|
+
6a. **Cross-artifact gate.** Read spec/tasks/traceability together: each buildable
|
|
172
|
+
AC/REQ maps to existing slice/proof; each slice maps to real acceptance;
|
|
173
|
+
names/prose agree. Missing, duplicate, contradictory, or meaning-changing
|
|
174
|
+
mappings block. Run
|
|
178
175
|
`devrites-engine check task-graph <slug> --strict`; a malformed dependency graph, or a
|
|
179
176
|
shared path written by `hubAdvisoryMin`+ slices with no `Serial rationale:`, blocks
|
|
180
|
-
before Vet
|
|
177
|
+
before Vet; no reviewer context for invalid tasks. Resolve each
|
|
181
178
|
`ADVISORY size:`/`hub:`/`chain:` line now (split or seam slice, or a rationale);
|
|
182
179
|
`--strict` refuses the contended plan, the default run only advises.
|
|
183
180
|
7. **Readiness gate** (`plan-template.md`): require CLEAR coverage; complete acceptance,
|
|
184
181
|
wiring, shared-contract proof, applicable outputs, and rollback; risk-first acyclic order;
|
|
185
182
|
justified deviations; and every horizon item present, with blockers resolved, planning
|
|
186
183
|
items resolved/validly spiked, and local/action entries bounded and owned.
|
|
187
|
-
**
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
184
|
+
**Standalone: stop and confirm** before code. Render digest: `Intent` (one
|
|
185
|
+
spec sentence), `Done means` (AC coverage x/y), `Plan sanity` (slice count +
|
|
186
|
+
riskiest boundary/gate), `Expected build interruptions` (`none` or justified
|
|
187
|
+
action-time gates), `Build exactly this?` (yes → approve; no → `$rite-plan revise`).
|
|
188
|
+
Human confirmation writes `Plan approved: <iso>` to `state.md`
|
|
189
|
+
([state-workspace](../rite-spec/reference/state-workspace.md)).
|
|
190
|
+
Under active `$rite-autocomplete`, once this readiness gate is green and no
|
|
191
|
+
unresolved human-owned decision, irreversible-risk, scope, or access gate remains,
|
|
192
|
+
root writes autonomous approval to existing `Plan approved: <iso>` cursor and records Autocomplete provenance and rationale in `decisions.md`;
|
|
193
|
+
never claim human approval. Return internally for `$rite-vet`. Plan approval grants no protected-path, Git, or safety authority.
|
|
193
194
|
|
|
194
195
|
## tasks.md slice format
|
|
195
196
|
|
|
@@ -172,8 +172,13 @@ Before classifying any Reslice, read `.agents/skills/devrites-lib/reference/stan
|
|
|
172
172
|
the previous vet verdict: set `Phase: plan`, `Next step: $rite-vet`, and, when
|
|
173
173
|
`eng-review.md` exists, set `Implementation readiness: NEEDS REPLAN`. Never retain READY
|
|
174
174
|
across changed planning inputs. Preserve `Plan approved` only for behavior/acceptance-neutral
|
|
175
|
-
technical repair; clear it for a contract-changing or newly blocking horizon item
|
|
176
|
-
|
|
175
|
+
technical repair; clear it for a contract-changing or newly blocking horizon item.
|
|
176
|
+
Settle human decisions and restore current `CLEAR` coverage through Clarify,
|
|
177
|
+
then obtain renewed Plan approval BEFORE Vet using only
|
|
178
|
+
[`rite-define`'s readiness/approval rule](../rite-define/SKILL.md), not its initial
|
|
179
|
+
decomposition. Under active Autocomplete, retain that rule's explicit autonomous
|
|
180
|
+
provenance in `decisions.md` — never claim human approval. Approval grants no
|
|
181
|
+
protected-path, Git, or safety authority. If you stopped for drift,
|
|
177
182
|
mark the `drift.md` entry resolved. Never remove or overwrite a valid caller
|
|
178
183
|
return cursor while writing the Plan checkpoint.
|
|
179
184
|
6. After editing `brief.md`, `spec.md`, `decisions.md`, `assumptions.md`, or `questions.md`,
|
|
@@ -19,8 +19,11 @@ First (or fresh) breakdown into vertical slices. Use `task-breakdown.md` +
|
|
|
19
19
|
|
|
20
20
|
A slice proved too large (couldn't build+prove in one cycle, or its goal has multiple
|
|
21
21
|
"and"s). Split into thinner end-to-end slices, preserving acceptance coverage: split
|
|
22
|
-
**by the sizing rule, not to a target count**. Update `tasks.md
|
|
23
|
-
|
|
22
|
+
**by the sizing rule, not to a target count**. Update `tasks.md` under the canonical
|
|
23
|
+
[ID contract](../../devrites-lib/reference/workspace-artifact-schema.md#id-contract):
|
|
24
|
+
preserve unaffected IDs; never renumber or fill retired gaps. New meanings get the
|
|
25
|
+
next unused IDs; record relationships in `decisions.md` or `drift.md` before updating
|
|
26
|
+
downstream dependency edges and traceability.
|
|
24
27
|
|
|
25
28
|
## repair (after Spec Drift Guard)
|
|
26
29
|
|