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
|
@@ -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
|
`.devin/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: `.devin/skills/devrites-lib/reference/standards/acceptance-preserving-reslice.md`.
|
|
@@ -16,7 +15,7 @@ Authority: `.devin/skills/devrites-lib/reference/standards/acceptance-preserving
|
|
|
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.
|
|
@@ -146,21 +146,18 @@ Pull these via `Read` when shaping the plan:
|
|
|
146
146
|
cross-slice boundary names producer, consumer, invariant, integration step, and proof.
|
|
147
147
|
Map each applicable topology/data/integration risk to a slice, failure/recovery path,
|
|
148
148
|
and discriminating proof; a risk cannot live only in the architecture narrative.
|
|
149
|
-
4a. **Persist traceability natively.**
|
|
149
|
+
4a. **Persist traceability natively.** Drafter proposes; root writes
|
|
150
150
|
`traceability.md` (`AC/REQ ID → slice → proof → evidence ID → files → status`).
|
|
151
|
-
Re-read spec
|
|
152
|
-
|
|
153
|
-
`/rite-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
intended, route it through the Spec Drift Guard plus a recorded decision and a scoped principle
|
|
162
|
-
exception a human approves. Never ready a plan that silently violates an invariant. (Re-scored
|
|
163
|
-
as a blocking gate at `/rite-vet`; no file → none declared → nothing to check.)
|
|
151
|
+
Re-read spec/tasks/proof: require real IDs, meaning-preserving mappings, not
|
|
152
|
+
just labels. Reject orphans/inventions/false mappings. `/rite-prove` and
|
|
153
|
+
`/rite-seal` read it directly. Reference plan `Shared contract proof` rows from
|
|
154
|
+
existing slice/proof mappings; never create a second traceability system.
|
|
155
|
+
5. **Complexity and deviations gate:** justify deviations from DevRites defaults
|
|
156
|
+
(new dep, extra abstraction, second design system) in plan; else simplify.
|
|
157
|
+
**Principles conformance:** honor all `.devrites/principles.md` invariants
|
|
158
|
+
(absent → none). Reshape conflicts; intended genuine conflicts need Spec Drift
|
|
159
|
+
Guard, a recorded decision, and a human-approved scoped principle exception.
|
|
160
|
+
Never ready silent violations; `/rite-vet` re-scores this blocking gate.
|
|
164
161
|
6. **Write** `architecture.md`, `plan.md`, `tasks.md`, and `traceability.md` — save the
|
|
165
162
|
accepted bundle under `packets/` and apply it with `devrites-engine state
|
|
166
163
|
apply-bundle <slug> <bundle.json>` before root reconciliation edits; update
|
|
@@ -168,27 +165,31 @@ Pull these via `Read` when shaping the plan:
|
|
|
168
165
|
`flows.md` (**Mermaid-first**). If a richer reviewable visual earns it, emit
|
|
169
166
|
`visual/<flow>.html` + `visual/<flow>.outline.md` after loading matching playbooks from
|
|
170
167
|
[`../devrites-lib/reference/visual-playbooks/index.md`](../devrites-lib/reference/visual-playbooks/index.md)
|
|
171
|
-
(progressive; never preload all seven), link
|
|
172
|
-
SSOT (
|
|
173
|
-
6a. **Cross-artifact gate.** Read spec
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
168
|
+
(progressive; never preload all seven), link both from `flows.md`; outline is
|
|
169
|
+
SSOT (wins). No Lavish or new phase required.
|
|
170
|
+
6a. **Cross-artifact gate.** Read spec/tasks/traceability together: each buildable
|
|
171
|
+
AC/REQ maps to existing slice/proof; each slice maps to real acceptance;
|
|
172
|
+
names/prose agree. Missing, duplicate, contradictory, or meaning-changing
|
|
173
|
+
mappings block. Run
|
|
177
174
|
`devrites-engine check task-graph <slug> --strict`; a malformed dependency graph, or a
|
|
178
175
|
shared path written by `hubAdvisoryMin`+ slices with no `Serial rationale:`, blocks
|
|
179
|
-
before Vet
|
|
176
|
+
before Vet; no reviewer context for invalid tasks. Resolve each
|
|
180
177
|
`ADVISORY size:`/`hub:`/`chain:` line now (split or seam slice, or a rationale);
|
|
181
178
|
`--strict` refuses the contended plan, the default run only advises.
|
|
182
179
|
7. **Readiness gate** (`plan-template.md`): require CLEAR coverage; complete acceptance,
|
|
183
180
|
wiring, shared-contract proof, applicable outputs, and rollback; risk-first acyclic order;
|
|
184
181
|
justified deviations; and every horizon item present, with blockers resolved, planning
|
|
185
182
|
items resolved/validly spiked, and local/action entries bounded and owned.
|
|
186
|
-
**
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
183
|
+
**Standalone: stop and confirm** before code. Render digest: `Intent` (one
|
|
184
|
+
spec sentence), `Done means` (AC coverage x/y), `Plan sanity` (slice count +
|
|
185
|
+
riskiest boundary/gate), `Expected build interruptions` (`none` or justified
|
|
186
|
+
action-time gates), `Build exactly this?` (yes → approve; no → `/rite-plan revise`).
|
|
187
|
+
Human confirmation writes `Plan approved: <iso>` to `state.md`
|
|
188
|
+
([state-workspace](../rite-spec/reference/state-workspace.md)).
|
|
189
|
+
Under active `/rite-autocomplete`, once this readiness gate is green and no
|
|
190
|
+
unresolved human-owned decision, irreversible-risk, scope, or access gate remains,
|
|
191
|
+
root writes autonomous approval to existing `Plan approved: <iso>` cursor and records Autocomplete provenance and rationale in `decisions.md`;
|
|
192
|
+
never claim human approval. Return internally for `/rite-vet`. Plan approval grants no protected-path, Git, or safety authority.
|
|
192
193
|
|
|
193
194
|
## tasks.md slice format
|
|
194
195
|
|
|
@@ -171,8 +171,13 @@ Before classifying any Reslice, read `.devin/skills/devrites-lib/reference/stand
|
|
|
171
171
|
the previous vet verdict: set `Phase: plan`, `Next step: /rite-vet`, and, when
|
|
172
172
|
`eng-review.md` exists, set `Implementation readiness: NEEDS REPLAN`. Never retain READY
|
|
173
173
|
across changed planning inputs. Preserve `Plan approved` only for behavior/acceptance-neutral
|
|
174
|
-
technical repair; clear it for a contract-changing or newly blocking horizon item
|
|
175
|
-
|
|
174
|
+
technical repair; clear it for a contract-changing or newly blocking horizon item.
|
|
175
|
+
Settle human decisions and restore current `CLEAR` coverage through Clarify,
|
|
176
|
+
then obtain renewed Plan approval BEFORE Vet using only
|
|
177
|
+
[`rite-define`'s readiness/approval rule](../rite-define/SKILL.md), not its initial
|
|
178
|
+
decomposition. Under active Autocomplete, retain that rule's explicit autonomous
|
|
179
|
+
provenance in `decisions.md` — never claim human approval. Approval grants no
|
|
180
|
+
protected-path, Git, or safety authority. If you stopped for drift,
|
|
176
181
|
mark the `drift.md` entry resolved. Never remove or overwrite a valid caller
|
|
177
182
|
return cursor while writing the Plan checkpoint.
|
|
178
183
|
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
|
|
|
@@ -39,9 +39,11 @@ Pull these via `Read` when shaping the resolve:
|
|
|
39
39
|
- **Never overwrite an answered question.** If the qid's `status` is `answered` or
|
|
40
40
|
`dropped`, refuse with the existing answer; ask the user to open a new qid that
|
|
41
41
|
references the old one (the file is the audit trail).
|
|
42
|
-
- **
|
|
43
|
-
|
|
44
|
-
not
|
|
42
|
+
- **Phase-aware handoff after writing the answer:** before planning artifacts exist,
|
|
43
|
+
recommend the current phase owner's action emitted by `state resolve` (for example,
|
|
44
|
+
`/rite-spec`), not Plan repair. Once a plan exists, material scope, architecture,
|
|
45
|
+
or acceptance changes route through the Spec Drift Guard (`/rite-plan repair`).
|
|
46
|
+
Never modify `spec.md` / `plan.md` inside this skill.
|
|
45
47
|
- **The script is the source of truth.** Always invoke
|
|
46
48
|
`devrites-engine state resolve`. It keeps `questions.md` + `state.md` consistent and emits the
|
|
47
49
|
next-action recommendation. The one `state.md` field this skill may write by hand is the
|
|
@@ -66,8 +68,9 @@ Pull these via `Read` when shaping the resolve:
|
|
|
66
68
|
- `--batch <plain-text-file>`: bulk resolve, one entry per qid (see
|
|
67
69
|
[`reference/answer-protocol.md`](reference/answer-protocol.md) for the batch
|
|
68
70
|
format).
|
|
69
|
-
2. **Load context.** Read `state.md
|
|
70
|
-
`tasks.md
|
|
71
|
+
2. **Load context.** Read `state.md` and `questions.md`; require the relevant slice
|
|
72
|
+
from `tasks.md` only for an actual `SLICE-###` question, not `slice: spec | plan`.
|
|
73
|
+
Confirm the qid is `status: open`. If `state.md` `Status` is not
|
|
71
74
|
`awaiting_human` and the question's `gate` is `blocking`, surface the inconsistency
|
|
72
75
|
before proceeding (don't auto-repair: flag it).
|
|
73
76
|
3. **Apply explicit consent.** Supplying `<qid> "<answer>"`, `--drop`, or `--batch` is the
|
|
@@ -86,13 +89,16 @@ Pull these via `Read` when shaping the resolve:
|
|
|
86
89
|
writer left them.
|
|
87
90
|
**Completion:** zero exit, or the failure reported with no hand edit.
|
|
88
91
|
|
|
89
|
-
On resume, and
|
|
92
|
+
On resume, only for an actual `SLICE-###` question and after a zero exit, clear or
|
|
93
|
+
update the unblocked slice's `Slice mode` in `state.md`: if
|
|
90
94
|
the answer lets the slice proceed, drop the pause-time `Slice mode` so `/rite-build`
|
|
91
95
|
re-derives it on the next selection; if the answer re-shapes how the slice should be
|
|
92
96
|
built, set `Slice mode` to match.
|
|
93
|
-
5. **Post-resolve hand-off.**
|
|
94
|
-
|
|
95
|
-
|
|
97
|
+
5. **Post-resolve hand-off.** Before planning artifacts exist, recommend the emitted
|
|
98
|
+
phase-native next action (for example, `/rite-spec`); do not require or create a plan.
|
|
99
|
+
Once a plan exists, material scope, architecture, behavior, or acceptance changes →
|
|
100
|
+
recommend `/rite-plan repair` through the Spec Drift Guard. Otherwise → recommend
|
|
101
|
+
the emitted phase-native next action (typically `/rite-build` for a waiting slice).
|
|
96
102
|
**Completion:** the resolved state contains exactly one next command.
|
|
97
103
|
6. **STOP.** User-invoked `/rite-resolve` does not run `/rite-build` itself: the
|
|
98
104
|
user re-enters the workflow explicitly. A controlling `/rite-autocomplete`
|
|
@@ -101,6 +107,7 @@ Pull these via `Read` when shaping the resolve:
|
|
|
101
107
|
already names a ranked recommended option.
|
|
102
108
|
|
|
103
109
|
> **Mid-flight discipline.** Don't edit `spec.md` / `plan.md` to "incorporate" the
|
|
104
|
-
> answer.
|
|
110
|
+
> answer. Before planning artifacts exist, return to the emitted current phase owner;
|
|
111
|
+
> once a plan exists, material changes need `/rite-plan repair`. Don't silently retry a build after the answer
|
|
105
112
|
> lands: the user types the next command. Don't merge two open questions into one
|
|
106
113
|
> answered entry: each question is independently auditable.
|
|
@@ -87,12 +87,23 @@ writes one block at a time and pauses. When `/rite-resolve` matches the block's
|
|
|
87
87
|
|
|
88
88
|
If `state.md`'s `Status` is `awaiting_human` but no `Awaiting human` block matches the
|
|
89
89
|
qid (drift between the two files), `/rite-resolve` flags the inconsistency and refuses
|
|
90
|
-
to silently fix it.
|
|
90
|
+
to silently fix it. Report it to the current phase owner; once a plan exists,
|
|
91
|
+
reconciliation uses `/rite-plan repair`.
|
|
92
|
+
|
|
93
|
+
## Phase-aware handoff and slice context
|
|
94
|
+
|
|
95
|
+
Read `tasks.md` and update `Slice mode` only for an actual `SLICE-###` question,
|
|
96
|
+
never for `slice: spec | plan`; the update is allowed only after the writer exits zero.
|
|
97
|
+
Before planning artifacts exist, recommend the current phase owner's action emitted
|
|
98
|
+
by `state resolve` (for example, `/rite-spec`), not Plan repair. Never create planning
|
|
99
|
+
artifacts as part of Resolve.
|
|
91
100
|
|
|
92
101
|
If the answer materially changes spec/plan, **do not** edit `spec.md` or `plan.md` inside
|
|
93
|
-
`/rite-resolve`.
|
|
94
|
-
|
|
95
|
-
|
|
102
|
+
`/rite-resolve`. Once a plan exists, material acceptance, behavior, scope, or architecture
|
|
103
|
+
changes route through the Spec Drift Guard (`/rite-plan repair`); otherwise retain the
|
|
104
|
+
emitted phase-native next action. User-invoked resolutions use `state resolve --human`;
|
|
105
|
+
an internal Autocomplete caller uses the same writer without `--human` and continues.
|
|
106
|
+
Resolve itself never auto-runs the recommended phase owner.
|
|
96
107
|
|
|
97
108
|
## Multi-question awaiting
|
|
98
109
|
|
|
@@ -109,8 +120,9 @@ This shape is reserved: current `/rite-build` writes one question per pause.
|
|
|
109
120
|
|
|
110
121
|
The user types the next command explicitly. Reasons:
|
|
111
122
|
|
|
112
|
-
1.
|
|
113
|
-
a
|
|
123
|
+
1. Before planning artifacts exist, the emitted current phase owner must resume;
|
|
124
|
+
once a plan exists, material changes may need `/rite-plan repair` first.
|
|
125
|
+
Auto-continuing a build would skip that owner or use a stale plan.
|
|
114
126
|
2. The user may want to `/rite-status` before resuming.
|
|
115
127
|
3. Atomicity: one verb, one mutation. Chaining is a hidden side-effect that hides bugs.
|
|
116
128
|
|
|
@@ -31,7 +31,7 @@ Pull these via `Read` when the diff demands them:
|
|
|
31
31
|
- [`principles.md`](../devrites-lib/reference/standards/principles.md): declared project invariants (`.devrites/principles.md`); a diff that violates one with no recorded exception is a Critical, blocking finding.
|
|
32
32
|
- [`testing.md`](../devrites-lib/reference/standards/testing.md): confirm that passing tests actually prove the spec.
|
|
33
33
|
- [`agents.md`](../devrites-lib/reference/standards/agents.md): when to fan out to which review subagent.
|
|
34
|
-
- [`security.md`](../devrites-lib/reference/standards/security.md): when
|
|
34
|
+
- [`security.md`](../devrites-lib/reference/standards/security.md): when the shared [`parallel-dispatch.md`](../devrites-lib/reference/parallel-dispatch.md#roster) roster triggers the security auditor.
|
|
35
35
|
- [`security-checklist.md`](../devrites-lib/reference/standards/security-checklist.md): for the same security-sensitive scope, the compact trust-boundary sweep.
|
|
36
36
|
- [`repository-topology.md`](../devrites-lib/reference/standards/repository-topology.md), [`data-integrity.md`](../devrites-lib/reference/standards/data-integrity.md), [`integration-reliability.md`](../devrites-lib/reference/standards/integration-reliability.md): only
|
|
37
37
|
when the spec applicability map or final diff triggers their ownership/failure/proof checks.
|
|
@@ -138,9 +138,9 @@ Pull these via `Read` when the diff demands them:
|
|
|
138
138
|
[performance-checklist](reference/performance-checklist.md)). No UI/route/style
|
|
139
139
|
paths: record `Not-applicable: no relevant paths in diff`.
|
|
140
140
|
5. **Security:** `devrites-security-auditor`
|
|
141
|
-
([security-review](reference/security-review.md)) joins the step-3 cohort
|
|
142
|
-
|
|
143
|
-
|
|
141
|
+
([security-review](reference/security-review.md)) joins the step-3 cohort under the
|
|
142
|
+
canonical [parallel-dispatch roster trigger](../devrites-lib/reference/parallel-dispatch.md#roster),
|
|
143
|
+
including a dependency-only diff; else `Not-applicable: no relevant paths in diff`.
|
|
144
144
|
6. **Performance:** `devrites-performance-reviewer`
|
|
145
145
|
([performance-review](reference/performance-review.md),
|
|
146
146
|
[performance-checklist](reference/performance-checklist.md)) joins the step-3 cohort
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
# Security review (feature-scoped)
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
Use the canonical [parallel-dispatch roster trigger](../../devrites-lib/reference/parallel-dispatch.md#roster),
|
|
4
|
+
including dependency and integration changes. A dependency-only diff still requires
|
|
5
|
+
`devrites-security-auditor`; a docs-only diff with no matching surfaces records
|
|
6
|
+
`Not-applicable: no relevant paths in diff`. Delegates to `devrites-audit security`.
|
|
5
7
|
|
|
6
8
|
## OWASP-Top-10-oriented checks
|
|
7
9
|
|