devrites 6.1.0 → 6.1.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 +1 -1
- package/docs/architecture.md +3 -1
- package/pack/.claude/skills/devrites-debug-recovery/SKILL.md +5 -4
- package/pack/.claude/skills/devrites-lib/reference/reply-contract.md +12 -15
- package/pack/.claude/skills/devrites-lib/reference/standards/afk-hitl.md +25 -6
- package/pack/.claude/skills/devrites-lib/reference/standards/core.md +1 -1
- package/pack/.claude/skills/devrites-lib/reference/standards/one-shot-actions.md +7 -6
- package/pack/.claude/skills/rite-autocomplete/SKILL.md +11 -9
- package/pack/.claude/skills/rite-autocomplete/reference/loop.md +7 -5
- package/pack/.claude/skills/rite-autocomplete/reference/stop-conditions.md +23 -20
- package/pack/.claude/skills/rite-build/reference/afk-discipline.md +6 -3
- package/pack/.claude/skills/rite-build/reference/parallel-batch.md +5 -5
- package/pack/.claude/skills/rite-plan/SKILL.md +1 -1
- package/pack/.claude/skills/rite-prove/SKILL.md +4 -2
- package/pack/.claude/skills/rite-prove/reference/failure-triage.md +2 -1
- package/pack/.claude/skills/rite-spec/reference/state-workspace.md +2 -2
- package/pack/generated/claude/skills/devrites-debug-recovery/SKILL.md +5 -4
- package/pack/generated/claude/skills/devrites-lib/reference/reply-contract.md +12 -15
- package/pack/generated/claude/skills/devrites-lib/reference/standards/afk-hitl.md +25 -6
- package/pack/generated/claude/skills/devrites-lib/reference/standards/core.md +1 -1
- package/pack/generated/claude/skills/devrites-lib/reference/standards/one-shot-actions.md +7 -6
- package/pack/generated/claude/skills/rite-autocomplete/SKILL.md +11 -9
- package/pack/generated/claude/skills/rite-autocomplete/reference/loop.md +7 -5
- package/pack/generated/claude/skills/rite-autocomplete/reference/stop-conditions.md +23 -20
- package/pack/generated/claude/skills/rite-build/reference/afk-discipline.md +6 -3
- package/pack/generated/claude/skills/rite-build/reference/parallel-batch.md +5 -5
- package/pack/generated/claude/skills/rite-plan/SKILL.md +1 -1
- package/pack/generated/claude/skills/rite-prove/SKILL.md +4 -2
- package/pack/generated/claude/skills/rite-prove/reference/failure-triage.md +2 -1
- package/pack/generated/claude/skills/rite-spec/reference/state-workspace.md +2 -2
- package/pack/generated/codex/skills/devrites-debug-recovery/SKILL.md +5 -4
- package/pack/generated/codex/skills/devrites-lib/reference/reply-contract.md +12 -15
- package/pack/generated/codex/skills/devrites-lib/reference/standards/afk-hitl.md +25 -6
- package/pack/generated/codex/skills/devrites-lib/reference/standards/core.md +1 -1
- package/pack/generated/codex/skills/devrites-lib/reference/standards/one-shot-actions.md +7 -6
- package/pack/generated/codex/skills/rite-autocomplete/SKILL.md +11 -9
- package/pack/generated/codex/skills/rite-autocomplete/reference/loop.md +7 -5
- package/pack/generated/codex/skills/rite-autocomplete/reference/stop-conditions.md +23 -20
- package/pack/generated/codex/skills/rite-build/reference/afk-discipline.md +6 -3
- package/pack/generated/codex/skills/rite-build/reference/parallel-batch.md +5 -5
- package/pack/generated/codex/skills/rite-plan/SKILL.md +1 -1
- package/pack/generated/codex/skills/rite-prove/SKILL.md +4 -2
- package/pack/generated/codex/skills/rite-prove/reference/failure-triage.md +2 -1
- package/pack/generated/codex/skills/rite-spec/reference/state-workspace.md +2 -2
- package/pack/generated/devin/skills/devrites-debug-recovery/SKILL.md +5 -4
- package/pack/generated/devin/skills/devrites-lib/reference/reply-contract.md +12 -15
- package/pack/generated/devin/skills/devrites-lib/reference/standards/afk-hitl.md +25 -6
- package/pack/generated/devin/skills/devrites-lib/reference/standards/core.md +1 -1
- package/pack/generated/devin/skills/devrites-lib/reference/standards/one-shot-actions.md +7 -6
- package/pack/generated/devin/skills/rite-autocomplete/SKILL.md +11 -9
- package/pack/generated/devin/skills/rite-autocomplete/reference/loop.md +7 -5
- package/pack/generated/devin/skills/rite-autocomplete/reference/stop-conditions.md +23 -20
- package/pack/generated/devin/skills/rite-build/reference/afk-discipline.md +6 -3
- package/pack/generated/devin/skills/rite-build/reference/parallel-batch.md +5 -5
- package/pack/generated/devin/skills/rite-plan/SKILL.md +1 -1
- package/pack/generated/devin/skills/rite-prove/SKILL.md +4 -2
- package/pack/generated/devin/skills/rite-prove/reference/failure-triage.md +2 -1
- package/pack/generated/devin/skills/rite-spec/reference/state-workspace.md +2 -2
- package/pack/generated/omp/skills/devrites-debug-recovery/SKILL.md +5 -4
- package/pack/generated/omp/skills/devrites-lib/reference/reply-contract.md +12 -15
- package/pack/generated/omp/skills/devrites-lib/reference/standards/afk-hitl.md +25 -6
- package/pack/generated/omp/skills/devrites-lib/reference/standards/core.md +1 -1
- package/pack/generated/omp/skills/devrites-lib/reference/standards/one-shot-actions.md +7 -6
- package/pack/generated/omp/skills/rite-autocomplete/SKILL.md +11 -9
- package/pack/generated/omp/skills/rite-autocomplete/reference/loop.md +7 -5
- package/pack/generated/omp/skills/rite-autocomplete/reference/stop-conditions.md +23 -20
- package/pack/generated/omp/skills/rite-build/reference/afk-discipline.md +6 -3
- package/pack/generated/omp/skills/rite-build/reference/parallel-batch.md +5 -5
- package/pack/generated/omp/skills/rite-plan/SKILL.md +1 -1
- package/pack/generated/omp/skills/rite-prove/SKILL.md +4 -2
- package/pack/generated/omp/skills/rite-prove/reference/failure-triage.md +2 -1
- package/pack/generated/omp/skills/rite-spec/reference/state-workspace.md +2 -2
- package/pack/generated/pi/skills/devrites-debug-recovery/SKILL.md +5 -4
- package/pack/generated/pi/skills/devrites-lib/reference/reply-contract.md +12 -15
- package/pack/generated/pi/skills/devrites-lib/reference/standards/afk-hitl.md +25 -6
- package/pack/generated/pi/skills/devrites-lib/reference/standards/core.md +1 -1
- package/pack/generated/pi/skills/devrites-lib/reference/standards/one-shot-actions.md +7 -6
- package/pack/generated/pi/skills/rite-autocomplete/SKILL.md +11 -9
- package/pack/generated/pi/skills/rite-autocomplete/reference/loop.md +7 -5
- package/pack/generated/pi/skills/rite-autocomplete/reference/stop-conditions.md +23 -20
- package/pack/generated/pi/skills/rite-build/reference/afk-discipline.md +6 -3
- package/pack/generated/pi/skills/rite-build/reference/parallel-batch.md +5 -5
- package/pack/generated/pi/skills/rite-plan/SKILL.md +1 -1
- package/pack/generated/pi/skills/rite-prove/SKILL.md +4 -2
- package/pack/generated/pi/skills/rite-prove/reference/failure-triage.md +2 -1
- package/pack/generated/pi/skills/rite-spec/reference/state-workspace.md +2 -2
- package/package.json +1 -1
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
# Stop conditions: when autocomplete pauses
|
|
2
2
|
|
|
3
3
|
On a real stop, write `state.md` as `awaiting_human` or `blocked`, persist the
|
|
4
|
-
reason, and include one resume command
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
stop.
|
|
4
|
+
reason, and include one resume command. Agent-owned recovery never ends the run:
|
|
5
|
+
a spent strategy escalates and a fully escalated fingerprint parks while other
|
|
6
|
+
work continues ([retry contract](../../devrites-lib/reference/standards/afk-hitl.md#retry-cap-no-progress-loops-and-self-resolve)).
|
|
7
|
+
`--ship` never bypasses a stop.
|
|
8
8
|
|
|
9
9
|
Authority: `.agents/skills/devrites-lib/reference/standards/acceptance-preserving-reslice.md`.
|
|
10
10
|
|
|
@@ -24,8 +24,8 @@ Regardless of flags or AFK ceiling:
|
|
|
24
24
|
- external-service contract change; or
|
|
25
25
|
- filesystem destruction outside the workspace.
|
|
26
26
|
|
|
27
|
-
Red proof cannot advance. Run bounded Debug Recovery
|
|
28
|
-
|
|
27
|
+
Red proof cannot advance. Run bounded Debug Recovery and escalate spent
|
|
28
|
+
strategies; a fully escalated fingerprint parks unless the remaining owner is human.
|
|
29
29
|
|
|
30
30
|
## Not stops: internal technical routing
|
|
31
31
|
|
|
@@ -36,13 +36,16 @@ agent-owned.
|
|
|
36
36
|
|
|
37
37
|
Agent-owned backtracking is not a stop condition while the exact causal
|
|
38
38
|
fingerprint has budget. Invoke the earlier phase, affected Vet, remediation, and
|
|
39
|
-
proof; then resume the origin.
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
39
|
+
proof; then resume the origin. Three no-progress corrections of that exact
|
|
40
|
+
fingerprint spend only its current strategy: escalate to the next correction
|
|
41
|
+
class inline (shared root cause, boundary redesign, diagnostic amplification)
|
|
42
|
+
with a fresh budget, never asking permission. After three escalations in this
|
|
43
|
+
activation the fingerprint parks; finish all independent work, then stop once.
|
|
44
|
+
Preserve reproduction, attempts, and dead ends; never offer `$rite-plan unblock`
|
|
45
|
+
or another routine phase command. A new user-issued `$rite-autocomplete`
|
|
46
|
+
reopens parked fingerprints with fresh escalation; wakes and compaction do not.
|
|
47
|
+
Closure is progress; a separately evidenced Critical/Important invariant starts
|
|
48
|
+
its own cap and cannot extend the closed one.
|
|
46
49
|
|
|
47
50
|
Spent consumptive-action authorization is not technical-recovery exhaustion.
|
|
48
51
|
It blocks another execution; retained new Critical/Important evidence still
|
|
@@ -52,9 +55,8 @@ authorization and never reuse old GO.
|
|
|
52
55
|
Past evidence being irretrievable is not by itself terminal. If an in-scope
|
|
53
56
|
trusted seam can uniquely discriminate the next failure, run diagnostic-
|
|
54
57
|
amplification Plan repair and narrow Vet inline, then pause for fresh GO before
|
|
55
|
-
one evidence-acquisition attempt.
|
|
56
|
-
|
|
57
|
-
exhausted.
|
|
58
|
+
one evidence-acquisition attempt. Without a safe seam, escalate to the next
|
|
59
|
+
class or park; only a real human/risk/scope gate stops for a human.
|
|
58
60
|
|
|
59
61
|
<!-- 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
62
|
## Other stop classes
|
|
@@ -86,7 +88,8 @@ exhausted.
|
|
|
86
88
|
- **Resource envelope:** overlapping run or missing AFK after arm still stops.
|
|
87
89
|
Do not stop on `--max-slices`, `max_agents`, `max_minutes`, or `max_review_queue`.
|
|
88
90
|
- **Confidence:** intent still cannot become testable acceptance after interview.
|
|
89
|
-
- **Repeated failure:**
|
|
91
|
+
- **Repeated failure:** not a stop. Escalate; a fully escalated fingerprint parks,
|
|
92
|
+
and the run stops only once no independent work remains.
|
|
90
93
|
- **Resolver failure:** `devrites-engine state resolve` not found, or nonzero exit.
|
|
91
94
|
Never hand-edit `questions.md`/`state.md` in its place. Not found stops at once;
|
|
92
95
|
nonzero allows one identical re-run (the fingerprint is command + exit code +
|
|
@@ -101,7 +104,7 @@ disclose the exact plan, and stop for literal `GO` plus native approval. Without
|
|
|
101
104
|
one, stop at Seal GO with `$rite-ship`. Seal GO, AFK, prior approval, and flags
|
|
102
105
|
never satisfy Ship approval.
|
|
103
106
|
|
|
104
|
-
A cold-resumable stop records `state.md` status, exact reason, and
|
|
105
|
-
human-owned
|
|
106
|
-
question/drift/seal entry explains it. The user-facing line says what stopped
|
|
107
|
+
A cold-resumable stop records `state.md` status, exact reason, and one resume
|
|
108
|
+
action: the human-owned action, or `$rite-autocomplete` to reopen parked
|
|
109
|
+
fingerprints; the owning question/drift/seal entry explains it. The user-facing line says what stopped
|
|
107
110
|
and, only when applicable, what human action resumes it.
|
|
@@ -69,13 +69,16 @@ wrong contract or proof path — agent-owned recovery; never advance on broken s
|
|
|
69
69
|
The fail-on-red path:
|
|
70
70
|
|
|
71
71
|
1. Continue the same wright under `devrites-debug-recovery`, carrying exact output and dead
|
|
72
|
-
ends; cap writer + recovery at three no-progress attempts per exact causal fingerprint
|
|
72
|
+
ends; cap writer + recovery at three no-progress attempts per exact causal fingerprint
|
|
73
|
+
and strategy.
|
|
73
74
|
A correction that closes the reproduction is progress; a different evidenced
|
|
74
75
|
Critical/Important invariant starts a separate fingerprint.
|
|
75
76
|
2. Green → record the slice. Product-contract/irreversible ambiguity → write the genuine
|
|
76
77
|
human gate. Missing human-only credential/permission → write a human-intervention gate.
|
|
77
|
-
3. Any other
|
|
78
|
-
|
|
78
|
+
3. Any other spent strategy → escalate inline to the next correction class; after three
|
|
79
|
+
escalations park the fingerprint and build every slice that does not depend on it,
|
|
80
|
+
per the [retry contract](../../devrites-lib/reference/standards/afk-hitl.md#retry-cap-no-progress-loops-and-self-resolve).
|
|
81
|
+
Never ask a qid or permission to retry; never hand back a routine phase command.
|
|
79
82
|
4. Fire `notify:` only for an actual `awaiting_human` transition.
|
|
80
83
|
|
|
81
84
|
AFK never starts the next slice while checks are red and never asks the human to approve
|
|
@@ -182,11 +182,11 @@ Repair rejected work in place; never discard/rebuild while budget remains.
|
|
|
182
182
|
exhaustion. Use plan path only if inventory proves the approach unsound.
|
|
183
183
|
- Stop under the canonical retry/authority/resource conditions, or when evidence
|
|
184
184
|
proves the approach unsound and no in-scope corrected decomposition exists.
|
|
185
|
-
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
185
|
+
- A spent strategy is not abort: escalate per the canonical retry contract,
|
|
186
|
+
preserving lease/worktrees/branches; a fully escalated fingerprint parks and
|
|
187
|
+
the batch keeps its independent members. Repair resumes in place on
|
|
188
|
+
escalation or reinvocation. Human-owned decisions use the drift-guard
|
|
189
|
+
question and wait.
|
|
190
190
|
|
|
191
191
|
## Engine verbs
|
|
192
192
|
|
|
@@ -177,7 +177,7 @@ Before classifying any Reslice, read `.agents/skills/devrites-lib/reference/stan
|
|
|
177
177
|
|
|
178
178
|
When invoked inline by a controlling rite, return the completed Plan checkpoint
|
|
179
179
|
to that caller so it can invoke Vet immediately. The phase boundary is not a
|
|
180
|
-
user-facing stop unless a genuine HITL, safety/access, or
|
|
180
|
+
user-facing stop unless a genuine HITL, safety/access, or parked-recovery
|
|
181
181
|
condition was recorded.
|
|
182
182
|
|
|
183
183
|
When invoked directly with no controlling caller and a planning artifact
|
|
@@ -37,8 +37,10 @@ TTHW, and exact signal-bearing errors; never assert DX (trigger `devex`).
|
|
|
37
37
|
validates it. Only the bounded wright fixes product source/tests.
|
|
38
38
|
- **Prove remains the controlling caller** during technical backtracking. Save
|
|
39
39
|
its cursor; run Plan repair, Recovery Vet, remediation, and re-proof inline;
|
|
40
|
-
consume nested boundaries; resume the failed rung.
|
|
41
|
-
three no-progress attempts on the exact same fingerprint
|
|
40
|
+
consume nested boundaries; resume the failed rung. A strategy is spent after
|
|
41
|
+
three no-progress attempts on the exact same fingerprint; escalate it per the
|
|
42
|
+
[retry contract](../devrites-lib/reference/standards/afk-hitl.md#retry-cap-no-progress-loops-and-self-resolve)
|
|
43
|
+
instead of stopping. Closing one or exposing a distinct
|
|
42
44
|
Critical/Important invariant is progress, not a reason to hand work off.
|
|
43
45
|
<!-- workflow-artifact-adapter: {"module":"devrites-lib/reference/standards/workflow-artifacts.md","entry":"Prove consumes installed Workflow Artifact or CLEANED rerun","action":"VERIFY_EXISTING or admitted proof path ending PROVE_AND_RETURN","return":"saved Prove cursor; stop before real action"} -->
|
|
44
46
|
## Released-workspace refresh
|
|
@@ -47,6 +47,7 @@ loop to `devrites-debug-recovery`.
|
|
|
47
47
|
- Three no-progress attempts on the exact same causal fingerprint consume the
|
|
48
48
|
shared recovery cap. A recheck that closes the reproduction is progress; a
|
|
49
49
|
different evidenced Critical/Important invariant gets its own fingerprint.
|
|
50
|
-
Preserve the reproduction and dead ends, then
|
|
50
|
+
Preserve the reproduction and dead ends, then escalate or park per the
|
|
51
|
+
[retry contract](../../devrites-lib/reference/standards/afk-hitl.md#retry-cap-no-progress-loops-and-self-resolve).
|
|
51
52
|
Ask only when the remaining decision is human-owned.
|
|
52
53
|
- A failure you can't fix in scope is a recorded **blocker**, not a silent skip.
|
|
@@ -131,7 +131,7 @@ None.
|
|
|
131
131
|
| slice_mode | none |
|
|
132
132
|
| risk | none |
|
|
133
133
|
| spec_gate | <passed <iso>; marker sweep: <n> files, <k> hits, <d> discarded — absent until $rite-spec passes> |
|
|
134
|
-
| next_action | <single command + reason
|
|
134
|
+
| next_action | <single command + reason; parked recovery names the invoking command> |
|
|
135
135
|
| return_phase | <originating later phase; clarification or agent-owned technical backtracking only> |
|
|
136
136
|
| return_next_action | <saved originating command> |
|
|
137
137
|
| schema | 4 |
|
|
@@ -154,7 +154,7 @@ Before an active caller moves backward, it copies its current phase and
|
|
|
154
154
|
non-empty action into the two return rows. Nested Plan, Vet, Build, and proof
|
|
155
155
|
work preserves that valid cursor. Once the prerequisite chain is green, the
|
|
156
156
|
controlling caller restores the saved phase/action and removes both rows in one
|
|
157
|
-
rewrite. A real HITL or
|
|
157
|
+
rewrite. A real HITL or parked-recovery stop retains the cursor for cold
|
|
158
158
|
resume. Never overwrite an existing valid return cursor, and preserve every
|
|
159
159
|
unrelated Markdown byte. `$rite-clarify` applies its stricter native cursor protocol in `$rite-clarify`.
|
|
160
160
|
|
|
@@ -88,13 +88,14 @@ has no clear next move. Optional slug selects the active workspace; defaults to
|
|
|
88
88
|
with that fingerprint. Reclassify only on new causal evidence. On cold resume,
|
|
89
89
|
a retained fingerprint with fewer than three such attempts remains runnable
|
|
90
90
|
even if the previous action wrote a terminal cursor.
|
|
91
|
-
- **A
|
|
91
|
+
- **A strategy is spent after three no-progress attempts per exact causal fingerprint.**
|
|
92
92
|
Count an attempt only when its recheck preserves the same decisive failure.
|
|
93
93
|
Record attempt number, exact failure, hypothesis, probe, and failed idea after
|
|
94
94
|
each; closure is progress and a different Critical/Important invariant is a new
|
|
95
95
|
fingerprint. There is no JSONL ledger,
|
|
96
96
|
counter command, or reset-on-green operation. Product/acceptance ambiguity, irreversible risk, or
|
|
97
|
-
human-only access becomes a human gate; otherwise return
|
|
98
|
-
|
|
99
|
-
|
|
97
|
+
human-only access becomes a human gate; otherwise return the spent strategy and
|
|
98
|
+
reproduction to the caller, which escalates or parks per the
|
|
99
|
+
[retry contract](../devrites-lib/reference/standards/afk-hitl.md#retry-cap-no-progress-loops-and-self-resolve);
|
|
100
|
+
never request attempt four of the same strategy. While budget remains, coupled failure requiring behavior change routes
|
|
100
101
|
`/rite-plan repair` inline; behavior-neutral rerouting uses `unblock` inline.
|
|
@@ -10,7 +10,7 @@ When an active rite is the controlling caller, Intermediate `NEEDS_REPLAN` (the
|
|
|
10
10
|
token for the workspace's `NEEDS REPLAN` readiness value), a nested phase `STOP`, and a
|
|
11
11
|
routine Plan/Vet `Next step` are not eligible completion states. Autocomplete may
|
|
12
12
|
use the shapes below only after its requested rest point or a shared genuine
|
|
13
|
-
human/safety/access/
|
|
13
|
+
human/safety/access/parked-recovery stop is reached.
|
|
14
14
|
|
|
15
15
|
```text
|
|
16
16
|
Done: <result in one sentence>
|
|
@@ -104,23 +104,20 @@ Record: .devrites/archive/<slug>/ship.md
|
|
|
104
104
|
Claims such as proved, reviewed, sealed, shipped, or complete must point to real
|
|
105
105
|
output or an artifact. A NOT-RUN verification keeps its marker in `Evidence:` or `Open:`
|
|
106
106
|
per [`core.md`](standards/core.md#gate-contract) § Gate contract.
|
|
107
|
-
Use exactly one recommended next action
|
|
108
|
-
terminal agent-owned technical exhaustion, which has no runnable action.
|
|
107
|
+
Use exactly one recommended next action.
|
|
109
108
|
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
109
|
+
Agent-owned recovery never ends with `Next: none`. Per the
|
|
110
|
+
[retry contract](standards/afk-hitl.md#retry-cap-no-progress-loops-and-self-resolve),
|
|
111
|
+
a spent strategy escalates inline and a fully escalated fingerprint parks while
|
|
112
|
+
independent work continues; with **no safe in-scope diagnostic-amplification seam**,
|
|
113
|
+
escalate or park instead of stopping. A spent consumptive-action authorization plus a
|
|
114
|
+
retained new fingerprint keeps recovering. Once nothing runnable remains, use:
|
|
115
115
|
|
|
116
116
|
```text
|
|
117
|
-
Stopped: Technical recovery
|
|
117
|
+
Stopped: Technical recovery parked
|
|
118
118
|
Blocking: <causal fingerprint and invariant>
|
|
119
|
-
Attempts: <
|
|
120
|
-
|
|
121
|
-
Next:
|
|
119
|
+
Attempts: <each strategy, its class, and decisive reproduction>
|
|
120
|
+
Completed: <independent work finished after parking>
|
|
121
|
+
Next: <invoking command> — reopens parked fingerprints with fresh escalation
|
|
122
122
|
Record: <artifact path>
|
|
123
123
|
```
|
|
124
|
-
|
|
125
|
-
The terminal cursor marker is `Next: none` exactly as shown; a stored `Next step: none`
|
|
126
|
-
names the same exhausted state.
|
|
@@ -350,7 +350,7 @@ access, safety and irreversible-action boundaries independently stop work.
|
|
|
350
350
|
invariant + defect mechanism + minimal reproduction/decisive failure signal.
|
|
351
351
|
DEC/DRIFT IDs, line numbers, wording and splitting one cause create no new budget.
|
|
352
352
|
- **Cap no-progress retries:** three no-progress attempts per exact causal fingerprint
|
|
353
|
-
across wright/recovery. Only a correction whose narrow recheck leaves that cause
|
|
353
|
+
and strategy across wright/recovery. Only a correction whose narrow recheck leaves that cause
|
|
354
354
|
open or reproduces its failure consumes an attempt.
|
|
355
355
|
Closing a prior finding with discriminating evidence is progress: resolve it,
|
|
356
356
|
do not charge. A new Critical or Important finding gets its own budget only for
|
|
@@ -384,11 +384,30 @@ access, safety and irreversible-action boundaries independently stop work.
|
|
|
384
384
|
- **Reconcile terminal cursors.** Retained distinct Critical/Important evidence below
|
|
385
385
|
cap resumes despite stale `Next step: none`; age/spent action authority is not exhaustion.
|
|
386
386
|
<!-- workflow-artifact-adapter: {"module":"devrites-lib/reference/standards/workflow-artifacts.md","entry":"unattended root reaches current admitted Workflow Artifact work","action":"invoke classifier; execute returned route without wright/slice charge","return":"saved lifecycle phase/action; no intermediate reply"} -->
|
|
387
|
-
- **
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
387
|
+
- **Escalate a spent strategy; never stop on it.** Three no-progress attempts spend
|
|
388
|
+
the fingerprint's current *strategy*, not the work. Record that strategy and its
|
|
389
|
+
attempts under `## Dead ends`, then the controlling caller escalates inline in the
|
|
390
|
+
same invocation: re-diagnose from the reproduction and dead ends, take the first
|
|
391
|
+
class below that still has an untried strategy, run `/rite-plan repair` plus
|
|
392
|
+
narrow Vet for it, and resume with a fresh three-attempt budget. Classes, in order:
|
|
393
|
+
(1) **shared root cause**: fix the owner every failing path routes through and
|
|
394
|
+
enforce it across all callers instead of another local guard; (2) **boundary
|
|
395
|
+
redesign**: acceptance-preserving reslice or redesign of the failing seam;
|
|
396
|
+
(3) **diagnostic amplification**: add discriminating probes or fixtures, then
|
|
397
|
+
correct from that evidence. A recorded strategy, or a rewording of one, never
|
|
398
|
+
repeats. Escalation never weakens tests, validators or acceptance. Each
|
|
399
|
+
fingerprint gets at most three escalations per activation; record each in
|
|
400
|
+
`drift.md` with its class and strategy.
|
|
401
|
+
- **Park, finish the rest, then stop once.** Human-owned contract/risk/access gaps
|
|
402
|
+
open their gate. Otherwise, with every escalation spent, mark the fingerprint
|
|
403
|
+
`parked` in `drift.md`, keep its reproduction and dead ends, and continue every
|
|
404
|
+
step that does not depend on it. Only when nothing runnable remains, set
|
|
405
|
+
`Status: blocked` and
|
|
406
|
+
`Next step: <invoking command> — technical recovery parked; reinvoke to reopen with fresh escalation`.
|
|
407
|
+
Emit no retry-permission question or `/rite-resolve`. A genuinely new
|
|
408
|
+
user-issued activation appends `reopened: <date>` to each parked fingerprint and
|
|
409
|
+
grants it three fresh escalations, counted from that line; wakes, compaction and
|
|
410
|
+
nested re-entry of the same run never reset counts.
|
|
392
411
|
- **Resolve agent-owned questions first** from code/docs/decisions. Human communication
|
|
393
412
|
is for blocked environment, handover, inaccessible critical information or missing
|
|
394
413
|
credentials/permission—not writing, testing or review. Blocking/escalating/
|
|
@@ -87,7 +87,7 @@ Verdict discipline — no vacuous verdicts:
|
|
|
87
87
|
|
|
88
88
|
## Caller-owned technical backtracking
|
|
89
89
|
|
|
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
|
|
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.
|
|
91
91
|
|
|
92
92
|
An intermediate `Next step` is cold-resume metadata. Do not ask the human to
|
|
93
93
|
copy routine `/rite-plan repair`, `/rite-vet`, `/rite-build`, or proof-rerun
|
|
@@ -73,8 +73,9 @@ Keep two budgets separate:
|
|
|
73
73
|
Cold resume does not make that fingerprint old or exhausted. Derive its offline
|
|
74
74
|
no-progress count from `drift.md` and `evidence.md`; while the count is below the
|
|
75
75
|
cap, resume recovery even if a prior writer stored `blocked` / `Next step: none`.
|
|
76
|
-
|
|
77
|
-
|
|
76
|
+
A blocked cursor is valid only for a human/safety gate or a parked fingerprint
|
|
77
|
+
with no independent work left; a missing safe retention/amplification design
|
|
78
|
+
escalates to the next correction class.
|
|
78
79
|
|
|
79
80
|
A new real attempt is normally admissible only after the affected plan and fixtures
|
|
80
81
|
are re-vetted, the failure condition is shown changed, and any required fresh
|
|
@@ -98,7 +99,7 @@ claim the runtime failure condition changed: the independently proven change is
|
|
|
98
99
|
evidence-acquisition invariant, and the attempt's acceptance signal is the promised
|
|
99
100
|
unique retained boundary (or action success).
|
|
100
101
|
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
and an amplification attempt never inherits authorization from the failed action.
|
|
102
|
+
When no safe in-scope diagnostic-amplification seam exists, escalate or park per
|
|
103
|
+
[`afk-hitl.md`](afk-hitl.md#retry-cap-no-progress-loops-and-self-resolve); only a
|
|
104
|
+
human/risk/scope-owned change stops for a human. A missing old artifact alone is not
|
|
105
|
+
terminal, and an amplification attempt never inherits authorization from the failed action.
|
|
@@ -48,14 +48,16 @@ executable controller/harness/bundle bytes or a missing writer, read
|
|
|
48
48
|
likewise internal when current authority resolves it.
|
|
49
49
|
- Always follow agent-owned backward edges through repair, affected Vet,
|
|
50
50
|
correction, and proof. A nested `STOP`/`Next step` is not a user handoff.
|
|
51
|
-
Pause only for a shared human/safety/access
|
|
51
|
+
Pause only for a shared human/safety/access condition.
|
|
52
52
|
- **Do not confuse an action budget with recovery exhaustion.** Spent action
|
|
53
53
|
authority blocks another real execution, not offline correction of retained
|
|
54
54
|
Critical/Important evidence. Stop for fresh GO only after changed conditions
|
|
55
55
|
and READY Vet.
|
|
56
|
-
- Every exact causal fingerprint gets
|
|
57
|
-
|
|
58
|
-
|
|
56
|
+
- Every exact causal fingerprint gets three no-progress corrections per strategy.
|
|
57
|
+
A spent strategy escalates to a new correction class inline; after three
|
|
58
|
+
escalations it parks while independent work continues. Never ask permission to
|
|
59
|
+
retry. Closing one is progress; a distinct Critical/Important invariant has its
|
|
60
|
+
own budget. Lower severity cannot prolong recovery.
|
|
59
61
|
- Do not stop on `--max-slices`, sentinel `max_slices`, `max_agents`,
|
|
60
62
|
`max_minutes`, or `max_review_queue`. Count failed, malformed, and
|
|
61
63
|
unavailable leaf calls.
|
|
@@ -78,7 +80,7 @@ executable controller/harness/bundle bytes or a missing writer, read
|
|
|
78
80
|
Before honoring `blocked` with terminal `next_action`,
|
|
79
81
|
reconcile retained consumptive evidence and fingerprint attempts from
|
|
80
82
|
`drift.md`/`evidence.md`; a retained fingerprint below its cap resumes offline
|
|
81
|
-
recovery.
|
|
83
|
+
recovery, and this new invocation reopens each parked fingerprint.
|
|
82
84
|
<!-- workflow-artifact-adapter: {"module":"devrites-lib/reference/standards/workflow-artifacts.md","entry":"lifecycle cursor encounters admitted set or resumable journal","action":"invoke classifier; execute returned route internally","return":"saved phase/action; zero intermediate reply"} -->
|
|
83
85
|
Reconstruct a missing return cursor only from
|
|
84
86
|
the current phase and exact approved action in `test-plan.md`/evidence, never
|
|
@@ -117,15 +119,15 @@ executable controller/harness/bundle bytes or a missing writer, read
|
|
|
117
119
|
route agent-owned red results through bounded recovery.
|
|
118
120
|
Red gates block forward advancement and enter caller-owned recovery. Stop on
|
|
119
121
|
hard risk, escalating, irreversible-risk, access, blocking with no
|
|
120
|
-
recommended option, remaining NO-GO, or
|
|
121
|
-
|
|
122
|
+
recommended option, remaining NO-GO, or parked fingerprints with no
|
|
123
|
+
independent work left. An open blocking question that already names a ranked recommended
|
|
122
124
|
option (`proposed` or option 1 labelled Recommended) auto-resolves through
|
|
123
125
|
`devrites-engine state resolve` and continues (a missing or failing resolver is
|
|
124
126
|
the bounded resolver-failure stop); do not emit `/rite-resolve` as
|
|
125
127
|
a user handoff. Exception: a question whose answer would add acceptance or
|
|
126
128
|
product scope is never auto-resolved by a recommended option; it stops for a human.
|
|
127
|
-
|
|
128
|
-
`Next step:
|
|
129
|
+
A spent strategy escalates; parked recovery records
|
|
130
|
+
`Next step: /rite-autocomplete`, never a routine phase command. **Completion:** no stop is active, or its cursor and reason are durable.
|
|
129
131
|
6. **Seal boundary.** Without a ship flag, leave the sealed workspace unshipped and
|
|
130
132
|
open the next recorded continuation
|
|
131
133
|
([loop.md § Sequence continuation](reference/loop.md#sequence-continuation))
|
|
@@ -108,7 +108,7 @@ parent's counter (same values, never a second charge); a child with no recorded
|
|
|
108
108
|
parent/position is not a sequence member and the chain stops.
|
|
109
109
|
|
|
110
110
|
Stop instead when: no recorded next entry; the cap or review-queue bound is
|
|
111
|
-
reached; a human-owned, safety, access, or
|
|
111
|
+
reached; a human-owned, safety, access, or parked-recovery stop fires; or Seal returns
|
|
112
112
|
`NO-GO`. On stop, report the sequence position, the sealed-but-unshipped workspaces, and
|
|
113
113
|
the single release command (`/rite-autocomplete <release milestone> --ship`, or
|
|
114
114
|
`/rite-ship` for the current sealed workspace when the sequence is complete).
|
|
@@ -140,14 +140,16 @@ agent-owned earlier-phase gap:
|
|
|
140
140
|
Ask only for a human-owned decision or mandatory safety/access action. An open
|
|
141
141
|
blocking question with `proposed` or option 1 labelled Recommended is not that
|
|
142
142
|
decision: resolve it and continue. Three no-progress corrections of one exact
|
|
143
|
-
fingerprint
|
|
144
|
-
|
|
143
|
+
fingerprint spend only its strategy: escalate inline per the
|
|
144
|
+
[retry contract](../../devrites-lib/reference/standards/afk-hitl.md#retry-cap-no-progress-loops-and-self-resolve),
|
|
145
|
+
and park it after three escalations while independent work continues.
|
|
145
146
|
|
|
146
147
|
## Continuous caller obligation
|
|
147
148
|
|
|
148
149
|
No user-facing reply is permitted while durable state contains agent-owned
|
|
149
150
|
`NEEDS_REPLAN`, an intermediate Plan/Vet action, a distinct retained
|
|
150
|
-
Critical/Important fingerprint below its cap
|
|
151
|
+
Critical/Important fingerprint below its cap or with an escalation left, runnable
|
|
152
|
+
work independent of a parked fingerprint, or an open blocking question that
|
|
151
153
|
already names a ranked recommended option. Invoke the next internal repair or
|
|
152
154
|
`devrites-engine state resolve` immediately, unless that writer already hit the
|
|
153
155
|
[resolver-failure stop](stop-conditions.md#other-stop-classes). **Failing case:**
|
|
@@ -157,4 +159,4 @@ Critical/Important invariant is progress, not exhaustion.
|
|
|
157
159
|
The number of completed repair/Vet cycles is not a stop condition. Context
|
|
158
160
|
pressure, compaction, session duration, and nested completion do not convert an
|
|
159
161
|
internal checkpoint into a handoff. Persist it and resume until the requested
|
|
160
|
-
rest point or a shared human/safety/access/
|
|
162
|
+
rest point or a shared human/safety/access/parked-recovery condition.
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
# Stop conditions: when autocomplete pauses
|
|
2
2
|
|
|
3
3
|
On a real stop, write `state.md` as `awaiting_human` or `blocked`, persist the
|
|
4
|
-
reason, and include one resume command
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
stop.
|
|
4
|
+
reason, and include one resume command. Agent-owned recovery never ends the run:
|
|
5
|
+
a spent strategy escalates and a fully escalated fingerprint parks while other
|
|
6
|
+
work continues ([retry contract](../../devrites-lib/reference/standards/afk-hitl.md#retry-cap-no-progress-loops-and-self-resolve)).
|
|
7
|
+
`--ship` never bypasses a stop.
|
|
8
8
|
|
|
9
9
|
Authority: `.devin/skills/devrites-lib/reference/standards/acceptance-preserving-reslice.md`.
|
|
10
10
|
|
|
@@ -24,8 +24,8 @@ Regardless of flags or AFK ceiling:
|
|
|
24
24
|
- external-service contract change; or
|
|
25
25
|
- filesystem destruction outside the workspace.
|
|
26
26
|
|
|
27
|
-
Red proof cannot advance. Run bounded Debug Recovery
|
|
28
|
-
|
|
27
|
+
Red proof cannot advance. Run bounded Debug Recovery and escalate spent
|
|
28
|
+
strategies; a fully escalated fingerprint parks unless the remaining owner is human.
|
|
29
29
|
|
|
30
30
|
## Not stops: internal technical routing
|
|
31
31
|
|
|
@@ -36,13 +36,16 @@ agent-owned.
|
|
|
36
36
|
|
|
37
37
|
Agent-owned backtracking is not a stop condition while the exact causal
|
|
38
38
|
fingerprint has budget. Invoke the earlier phase, affected Vet, remediation, and
|
|
39
|
-
proof; then resume the origin.
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
39
|
+
proof; then resume the origin. Three no-progress corrections of that exact
|
|
40
|
+
fingerprint spend only its current strategy: escalate to the next correction
|
|
41
|
+
class inline (shared root cause, boundary redesign, diagnostic amplification)
|
|
42
|
+
with a fresh budget, never asking permission. After three escalations in this
|
|
43
|
+
activation the fingerprint parks; finish all independent work, then stop once.
|
|
44
|
+
Preserve reproduction, attempts, and dead ends; never offer `/rite-plan unblock`
|
|
45
|
+
or another routine phase command. A new user-issued `/rite-autocomplete`
|
|
46
|
+
reopens parked fingerprints with fresh escalation; wakes and compaction do not.
|
|
47
|
+
Closure is progress; a separately evidenced Critical/Important invariant starts
|
|
48
|
+
its own cap and cannot extend the closed one.
|
|
46
49
|
|
|
47
50
|
Spent consumptive-action authorization is not technical-recovery exhaustion.
|
|
48
51
|
It blocks another execution; retained new Critical/Important evidence still
|
|
@@ -52,9 +55,8 @@ authorization and never reuse old GO.
|
|
|
52
55
|
Past evidence being irretrievable is not by itself terminal. If an in-scope
|
|
53
56
|
trusted seam can uniquely discriminate the next failure, run diagnostic-
|
|
54
57
|
amplification Plan repair and narrow Vet inline, then pause for fresh GO before
|
|
55
|
-
one evidence-acquisition attempt.
|
|
56
|
-
|
|
57
|
-
exhausted.
|
|
58
|
+
one evidence-acquisition attempt. Without a safe seam, escalate to the next
|
|
59
|
+
class or park; only a real human/risk/scope gate stops for a human.
|
|
58
60
|
|
|
59
61
|
<!-- 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
62
|
## Other stop classes
|
|
@@ -86,7 +88,8 @@ exhausted.
|
|
|
86
88
|
- **Resource envelope:** overlapping run or missing AFK after arm still stops.
|
|
87
89
|
Do not stop on `--max-slices`, `max_agents`, `max_minutes`, or `max_review_queue`.
|
|
88
90
|
- **Confidence:** intent still cannot become testable acceptance after interview.
|
|
89
|
-
- **Repeated failure:**
|
|
91
|
+
- **Repeated failure:** not a stop. Escalate; a fully escalated fingerprint parks,
|
|
92
|
+
and the run stops only once no independent work remains.
|
|
90
93
|
- **Resolver failure:** `devrites-engine state resolve` not found, or nonzero exit.
|
|
91
94
|
Never hand-edit `questions.md`/`state.md` in its place. Not found stops at once;
|
|
92
95
|
nonzero allows one identical re-run (the fingerprint is command + exit code +
|
|
@@ -101,7 +104,7 @@ disclose the exact plan, and stop for literal `GO` plus native approval. Without
|
|
|
101
104
|
one, stop at Seal GO with `/rite-ship`. Seal GO, AFK, prior approval, and flags
|
|
102
105
|
never satisfy Ship approval.
|
|
103
106
|
|
|
104
|
-
A cold-resumable stop records `state.md` status, exact reason, and
|
|
105
|
-
human-owned
|
|
106
|
-
question/drift/seal entry explains it. The user-facing line says what stopped
|
|
107
|
+
A cold-resumable stop records `state.md` status, exact reason, and one resume
|
|
108
|
+
action: the human-owned action, or `/rite-autocomplete` to reopen parked
|
|
109
|
+
fingerprints; the owning question/drift/seal entry explains it. The user-facing line says what stopped
|
|
107
110
|
and, only when applicable, what human action resumes it.
|
|
@@ -69,13 +69,16 @@ wrong contract or proof path — agent-owned recovery; never advance on broken s
|
|
|
69
69
|
The fail-on-red path:
|
|
70
70
|
|
|
71
71
|
1. Continue the same wright under `devrites-debug-recovery`, carrying exact output and dead
|
|
72
|
-
ends; cap writer + recovery at three no-progress attempts per exact causal fingerprint
|
|
72
|
+
ends; cap writer + recovery at three no-progress attempts per exact causal fingerprint
|
|
73
|
+
and strategy.
|
|
73
74
|
A correction that closes the reproduction is progress; a different evidenced
|
|
74
75
|
Critical/Important invariant starts a separate fingerprint.
|
|
75
76
|
2. Green → record the slice. Product-contract/irreversible ambiguity → write the genuine
|
|
76
77
|
human gate. Missing human-only credential/permission → write a human-intervention gate.
|
|
77
|
-
3. Any other
|
|
78
|
-
|
|
78
|
+
3. Any other spent strategy → escalate inline to the next correction class; after three
|
|
79
|
+
escalations park the fingerprint and build every slice that does not depend on it,
|
|
80
|
+
per the [retry contract](../../devrites-lib/reference/standards/afk-hitl.md#retry-cap-no-progress-loops-and-self-resolve).
|
|
81
|
+
Never ask a qid or permission to retry; never hand back a routine phase command.
|
|
79
82
|
4. Fire `notify:` only for an actual `awaiting_human` transition.
|
|
80
83
|
|
|
81
84
|
AFK never starts the next slice while checks are red and never asks the human to approve
|
|
@@ -182,11 +182,11 @@ Repair rejected work in place; never discard/rebuild while budget remains.
|
|
|
182
182
|
exhaustion. Use plan path only if inventory proves the approach unsound.
|
|
183
183
|
- Stop under the canonical retry/authority/resource conditions, or when evidence
|
|
184
184
|
proves the approach unsound and no in-scope corrected decomposition exists.
|
|
185
|
-
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
185
|
+
- A spent strategy is not abort: escalate per the canonical retry contract,
|
|
186
|
+
preserving lease/worktrees/branches; a fully escalated fingerprint parks and
|
|
187
|
+
the batch keeps its independent members. Repair resumes in place on
|
|
188
|
+
escalation or reinvocation. Human-owned decisions use the drift-guard
|
|
189
|
+
question and wait.
|
|
190
190
|
|
|
191
191
|
## Engine verbs
|
|
192
192
|
|
|
@@ -176,7 +176,7 @@ Before classifying any Reslice, read `.devin/skills/devrites-lib/reference/stand
|
|
|
176
176
|
|
|
177
177
|
When invoked inline by a controlling rite, return the completed Plan checkpoint
|
|
178
178
|
to that caller so it can invoke Vet immediately. The phase boundary is not a
|
|
179
|
-
user-facing stop unless a genuine HITL, safety/access, or
|
|
179
|
+
user-facing stop unless a genuine HITL, safety/access, or parked-recovery
|
|
180
180
|
condition was recorded.
|
|
181
181
|
|
|
182
182
|
When invoked directly with no controlling caller and a planning artifact
|
|
@@ -36,8 +36,10 @@ TTHW, and exact signal-bearing errors; never assert DX (trigger `devex`).
|
|
|
36
36
|
validates it. Only the bounded wright fixes product source/tests.
|
|
37
37
|
- **Prove remains the controlling caller** during technical backtracking. Save
|
|
38
38
|
its cursor; run Plan repair, Recovery Vet, remediation, and re-proof inline;
|
|
39
|
-
consume nested boundaries; resume the failed rung.
|
|
40
|
-
three no-progress attempts on the exact same fingerprint
|
|
39
|
+
consume nested boundaries; resume the failed rung. A strategy is spent after
|
|
40
|
+
three no-progress attempts on the exact same fingerprint; escalate it per the
|
|
41
|
+
[retry contract](../devrites-lib/reference/standards/afk-hitl.md#retry-cap-no-progress-loops-and-self-resolve)
|
|
42
|
+
instead of stopping. Closing one or exposing a distinct
|
|
41
43
|
Critical/Important invariant is progress, not a reason to hand work off.
|
|
42
44
|
<!-- workflow-artifact-adapter: {"module":"devrites-lib/reference/standards/workflow-artifacts.md","entry":"Prove consumes installed Workflow Artifact or CLEANED rerun","action":"VERIFY_EXISTING or admitted proof path ending PROVE_AND_RETURN","return":"saved Prove cursor; stop before real action"} -->
|
|
43
45
|
## Released-workspace refresh
|
|
@@ -47,6 +47,7 @@ loop to `devrites-debug-recovery`.
|
|
|
47
47
|
- Three no-progress attempts on the exact same causal fingerprint consume the
|
|
48
48
|
shared recovery cap. A recheck that closes the reproduction is progress; a
|
|
49
49
|
different evidenced Critical/Important invariant gets its own fingerprint.
|
|
50
|
-
Preserve the reproduction and dead ends, then
|
|
50
|
+
Preserve the reproduction and dead ends, then escalate or park per the
|
|
51
|
+
[retry contract](../../devrites-lib/reference/standards/afk-hitl.md#retry-cap-no-progress-loops-and-self-resolve).
|
|
51
52
|
Ask only when the remaining decision is human-owned.
|
|
52
53
|
- A failure you can't fix in scope is a recorded **blocker**, not a silent skip.
|
|
@@ -131,7 +131,7 @@ None.
|
|
|
131
131
|
| slice_mode | none |
|
|
132
132
|
| risk | none |
|
|
133
133
|
| spec_gate | <passed <iso>; marker sweep: <n> files, <k> hits, <d> discarded — absent until /rite-spec passes> |
|
|
134
|
-
| next_action | <single command + reason
|
|
134
|
+
| next_action | <single command + reason; parked recovery names the invoking command> |
|
|
135
135
|
| return_phase | <originating later phase; clarification or agent-owned technical backtracking only> |
|
|
136
136
|
| return_next_action | <saved originating command> |
|
|
137
137
|
| schema | 4 |
|
|
@@ -154,7 +154,7 @@ Before an active caller moves backward, it copies its current phase and
|
|
|
154
154
|
non-empty action into the two return rows. Nested Plan, Vet, Build, and proof
|
|
155
155
|
work preserves that valid cursor. Once the prerequisite chain is green, the
|
|
156
156
|
controlling caller restores the saved phase/action and removes both rows in one
|
|
157
|
-
rewrite. A real HITL or
|
|
157
|
+
rewrite. A real HITL or parked-recovery stop retains the cursor for cold
|
|
158
158
|
resume. Never overwrite an existing valid return cursor, and preserve every
|
|
159
159
|
unrelated Markdown byte. `/rite-clarify` applies its stricter native cursor protocol in `/rite-clarify`.
|
|
160
160
|
|