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
|
@@ -138,30 +138,28 @@ next sequence continuation through Vet in a second session, then stop.
|
|
|
138
138
|
product scope is never auto-resolved by a recommended option; it stops for a human.
|
|
139
139
|
A spent strategy escalates; parked recovery records
|
|
140
140
|
`Next step: /rite-autocomplete`, never a routine phase command. **Completion:** no stop is active, or its cursor and reason are durable.
|
|
141
|
-
6. **Seal boundary.**
|
|
142
|
-
open the next recorded continuation
|
|
141
|
+
6. **Seal boundary.** With or without a ship flag, leave intermediate sealed
|
|
142
|
+
workspaces unshipped and open the next recorded continuation
|
|
143
143
|
([loop.md § Sequence continuation](reference/loop.md#sequence-continuation))
|
|
144
144
|
unless `continue_sequence: false`, the sequence budget is spent, or no entry
|
|
145
|
-
remains
|
|
146
|
-
every stop.
|
|
147
|
-
|
|
148
|
-
fresh literal `GO` plus native approval. **Completion:** performed no Git action before fresh literal `GO` plus native approval.
|
|
145
|
+
remains. At that boundary without a ship flag, stop at Seal GO with `/rite-ship`.
|
|
146
|
+
Report sequence position at every stop. Only at that boundary, with a ship flag, perform Ship preflight,
|
|
147
|
+
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.
|
|
149
148
|
|
|
150
149
|
## Reply and resume
|
|
151
150
|
|
|
152
|
-
HITL Build returns after one slice; Autocomplete ignores `--max-slices
|
|
153
|
-
|
|
154
|
-
backtracking. Context pressure, compaction, or a nested completion footer does
|
|
151
|
+
HITL Build returns after one slice; Autocomplete ignores `--max-slices`, chaining
|
|
152
|
+
pending slices. Each Autocomplete invocation owns internal backtracking. Context pressure, compaction, or a nested completion footer does
|
|
155
153
|
not create a stop; persist and resume the cursor.
|
|
156
154
|
|
|
157
|
-
Reply only at
|
|
158
|
-
|
|
155
|
+
Reply only at final state: text-only turns end the run. Keep
|
|
156
|
+
calling tools after compaction or phase changes. Use one line:
|
|
159
157
|
|
|
160
158
|
```text
|
|
161
159
|
Autocomplete: <slug>
|
|
162
160
|
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>
|
|
163
161
|
```
|
|
164
162
|
|
|
165
|
-
Final state
|
|
166
|
-
|
|
167
|
-
|
|
163
|
+
Final state: `Shipped`, `Stopped`, `Awaiting human`, `NO-GO`, or `GO`; no narrative
|
|
164
|
+
recap. Require clean or accepted baseline; land local unpushed checkpoints after
|
|
165
|
+
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
|
`.claude/skills/devrites-lib/reference/standards/acceptance-preserving-reslice.md`.
|
|
6
5
|
|
|
7
6
|
<!-- BEGIN RESLICE ROUTE-TO-ACTION -->
|
|
@@ -21,7 +20,7 @@ allow_gates: [advisory, validating]
|
|
|
21
20
|
# notify: "<cmd>"
|
|
22
21
|
```
|
|
23
22
|
|
|
24
|
-
Read
|
|
23
|
+
Read existing sentinel first. Preserve valid bytes, except
|
|
25
24
|
when this invocation contains `--parallel N`: then write or replace only
|
|
26
25
|
`max_parallel: N` and leave every other key unchanged. Stop if the sentinel is
|
|
27
26
|
malformed. Do not stop because it names `max_slices` / `max_agents` /
|
|
@@ -39,10 +38,9 @@ remaining. AFK configuration itself stays unchanged.
|
|
|
39
38
|
|
|
40
39
|
### Admit each unattended cycle
|
|
41
40
|
|
|
42
|
-
Before
|
|
41
|
+
Before each phase, review fan-out, recovery, or writer dispatch: cheapest
|
|
43
42
|
readiness check first; reject overlap. Do not stop on `max_agents`,
|
|
44
|
-
`max_minutes`, or `max_review_queue`. Count every leaf result.
|
|
45
|
-
gets fresh activation-local counters but retains durable slice/recovery state.
|
|
43
|
+
`max_minutes`, or `max_review_queue`. Count every leaf result. New activations reset activation-local counters, retaining durable slice/recovery state.
|
|
46
44
|
|
|
47
45
|
[Build return](../../rite-build/reference/output.md#caller-owned-continuation).
|
|
48
46
|
Pass `--parallel N`; ignore leftover cap/headroom, remaining-0,
|
|
@@ -55,7 +53,7 @@ without recommendations, and Seal judgment (`slice: seal`) still pause.
|
|
|
55
53
|
|
|
56
54
|
## Phase arc
|
|
57
55
|
|
|
58
|
-
Workspace files
|
|
56
|
+
Workspace files, not chat, carry state. Read/execute each phase skill:
|
|
59
57
|
|
|
60
58
|
| Step | Phase | Completion / edge |
|
|
61
59
|
| --- | --- | --- |
|
|
@@ -71,9 +69,8 @@ Workspace files carry state; chat does not. Read and execute each phase skill:
|
|
|
71
69
|
| 10 | `/rite-seal` | GO/NO-GO; no Git |
|
|
72
70
|
| 11 | `/rite-ship` | only after GO; `--ship` never authorizes Git; stop at literal-GO/native approval |
|
|
73
71
|
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
evidence. Re-read the active workspace before each phase. On a cold resume or
|
|
72
|
+
Check [stop-conditions.md](stop-conditions.md) before advancing. Discard stale
|
|
73
|
+
pass evidence after source edits. Re-read active workspace before each phase. On a cold resume or
|
|
77
74
|
new activation, run `devrites-engine check regression <slug>`: `BLOCKED` names a
|
|
78
75
|
durable fact lost since the last checkpoint — restore or route it through its
|
|
79
76
|
owning phase before continuing; `unproven` does not block. After each phase's
|
|
@@ -90,37 +87,35 @@ step 10 does not end the run: leave the sealed workspace unshipped with its
|
|
|
90
87
|
(`/rite-spec <parent>-<n> "<objective>"` from the parent's `decisions.md` sequence)
|
|
91
88
|
and re-enter step 1. Spend one workspace per opened continuation.
|
|
92
89
|
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
set — absent, write `max_workspaces - 1` and `sequence_position: 1` first — and
|
|
103
|
-
`> 0`. `/rite-spec` seeds the child's sequence cursor at creation per the
|
|
90
|
+
For a child already planned by [lookahead](lookahead.md), do not re-specify.
|
|
91
|
+
Wait while `devrites-engine claim check --workspace <child>` exits 3 (live
|
|
92
|
+
lookahead), then set `.devrites/ACTIVE` to the child and resume its cursor at
|
|
93
|
+
step 1. A predecessor replan since its Vet blocks child readiness with
|
|
94
|
+
`DRV-GATE-READINESS-STALE`; route to `/rite-vet` before Build.
|
|
95
|
+
|
|
96
|
+
Before invoking a continuation, require durable `state.md`
|
|
97
|
+
`sequence_workspaces_remaining > 0`; if absent, first write
|
|
98
|
+
`max_workspaces - 1` and `sequence_position: 1`. `/rite-spec` seeds the child's sequence cursor at creation per the
|
|
104
99
|
[continuation contract](../../rite-plan/reference/slicing.md#continuation-workspaces);
|
|
105
|
-
|
|
106
|
-
|
|
100
|
+
verify the created child's `state.md`: `sequence_parent` = current slug,
|
|
101
|
+
`sequence_position` = parent position + 1,
|
|
107
102
|
`sequence_workspaces_remaining` = parent remaining − 1, and — when the recorded
|
|
108
103
|
entry is the sequence's release milestone — `sequence_role: release` (gates then
|
|
109
|
-
require the union manifest). On resume,
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
`NO-GO
|
|
117
|
-
|
|
104
|
+
require the union manifest). On resume, re-seed missing child fields from its `brief.md` parent/position and
|
|
105
|
+
parent counter (same values, no second charge). No recorded parent/position
|
|
106
|
+
means no sequence membership: stop the chain.
|
|
107
|
+
|
|
108
|
+
Stop sequence continuation when: `continue_sequence: false`; no recorded next
|
|
109
|
+
entry (the final milestone); the `max_workspaces` cap is reached; or a genuine
|
|
110
|
+
human-owned, safety, access, or parked-recovery stop fires. `max_review_queue`
|
|
111
|
+
never stops Autocomplete; agent-owned Seal `NO-GO` enters recovery, not a handoff.
|
|
112
|
+
Intermediate sealed milestones continue without `--ship` and without Git mutation. On stop, report sequence position, sealed/unshipped workspaces, and
|
|
113
|
+
one release command (`/rite-autocomplete <release milestone> --ship`, or
|
|
118
114
|
`/rite-ship` for the current sealed workspace when the sequence is complete).
|
|
119
115
|
|
|
120
116
|
## Backtrack without handing off
|
|
121
117
|
|
|
122
|
-
|
|
123
|
-
agent-owned earlier-phase gap:
|
|
118
|
+
Autocomplete remains caller for agent-owned earlier-phase gaps:
|
|
124
119
|
|
|
125
120
|
1. Save the originating phase/action unless a valid native return cursor exists.
|
|
126
121
|
2. On cold resume, reconcile the terminal cursor against durable fingerprint
|
|
@@ -150,6 +145,8 @@ and park it after three escalations while independent work continues.
|
|
|
150
145
|
|
|
151
146
|
## Continuous caller obligation
|
|
152
147
|
|
|
148
|
+
Green slice/phase checkpoints consume their recorded `next_action` internally;
|
|
149
|
+
only the caller replies finally at completion or a genuine stop.
|
|
153
150
|
No user-facing reply is permitted while durable state contains agent-owned
|
|
154
151
|
`NEEDS_REPLAN`, an intermediate Plan/Vet action, a distinct retained
|
|
155
152
|
Critical/Important fingerprint below its cap or with an escalation left, runnable
|
|
@@ -160,7 +157,6 @@ already names a ranked recommended option. Invoke the next internal repair or
|
|
|
160
157
|
`state resolve` exits 1 on every call and the loop re-invokes it without end. A narrow reviewer closing one finding and exposing another
|
|
161
158
|
Critical/Important invariant is progress, not exhaustion.
|
|
162
159
|
|
|
163
|
-
The number of completed repair/Vet cycles
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
rest point or a shared human/safety/access/parked-recovery condition.
|
|
160
|
+
The number of completed repair/Vet cycles, context pressure, compaction, session
|
|
161
|
+
duration, and nested completion never turn checkpoints into handoffs. Persist and
|
|
162
|
+
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: `.claude/skills/devrites-lib/reference/standards/acceptance-preserving-reslice.md`.
|
|
@@ -14,7 +13,7 @@ Authority: `.claude/skills/devrites-lib/reference/standards/acceptance-preservin
|
|
|
14
13
|
|
|
15
14
|
## Always stop
|
|
16
15
|
|
|
17
|
-
|
|
16
|
+
Flags/AFK ceiling never override:
|
|
18
17
|
|
|
19
18
|
- destructive data migration;
|
|
20
19
|
- auth/authz boundary change;
|
|
@@ -22,8 +21,8 @@ Regardless of flags or AFK ceiling:
|
|
|
22
21
|
- external-service contract change; or
|
|
23
22
|
- filesystem destruction outside the workspace.
|
|
24
23
|
|
|
25
|
-
Red proof cannot advance. Run bounded Debug Recovery
|
|
26
|
-
|
|
24
|
+
Red proof cannot advance. Run bounded Debug Recovery; escalate spent strategies.
|
|
25
|
+
Fully escalated fingerprints park unless remaining owner is human.
|
|
27
26
|
|
|
28
27
|
## Not stops: internal technical routing
|
|
29
28
|
|
|
@@ -32,13 +31,12 @@ forward work, persists the return cursor, and invokes Plan repair plus Recovery
|
|
|
32
31
|
Vet inline. The same applies to nested `STOP`/`Next step` when its decision is
|
|
33
32
|
agent-owned.
|
|
34
33
|
|
|
35
|
-
Agent-owned backtracking is not a stop condition while
|
|
36
|
-
fingerprint has budget
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
activation the fingerprint parks; finish all independent work, then stop once.
|
|
34
|
+
Agent-owned backtracking is not a stop condition while its exact causal
|
|
35
|
+
fingerprint has budget: invoke earlier phase, affected Vet, remediation, proof;
|
|
36
|
+
resume origin. Three no-progress corrections spend only that fingerprint's current
|
|
37
|
+
strategy: escalate inline to the next class (shared root cause, diagnostic
|
|
38
|
+
amplification, boundary redesign) with fresh budget, without permission. After
|
|
39
|
+
three escalations per activation it parks; finish independent work, then stop once.
|
|
42
40
|
Preserve reproduction, attempts, and dead ends; never offer `/rite-plan unblock`
|
|
43
41
|
or another routine phase command. A new user-issued `/rite-autocomplete`
|
|
44
42
|
reopens parked fingerprints with fresh escalation; wakes and compaction do not.
|
|
@@ -50,11 +48,10 @@ It blocks another execution; retained new Critical/Important evidence still
|
|
|
50
48
|
enters offline recovery. After affected Vet is READY, pause for fresh action
|
|
51
49
|
authorization and never reuse old GO.
|
|
52
50
|
|
|
53
|
-
Past evidence being irretrievable is not by itself terminal. If an in-scope
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
class or park; only a real human/risk/scope gate stops for a human.
|
|
51
|
+
Past evidence being irretrievable is not by itself terminal. If an in-scope trusted seam
|
|
52
|
+
uniquely discriminates the next failure, run diagnostic-amplification Plan repair
|
|
53
|
+
and narrow Vet inline; pause for fresh GO before one evidence-acquisition attempt.
|
|
54
|
+
Without a safe seam, escalate or park; only a real human/risk/scope gate stops for a human.
|
|
58
55
|
|
|
59
56
|
<!-- 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"} -->
|
|
60
57
|
## Other stop classes
|
|
@@ -74,10 +71,9 @@ class or park; only a real human/risk/scope gate stops for a human.
|
|
|
74
71
|
- **Clarify:** material `open`/unowned decision coverage or a
|
|
75
72
|
low-confidence high-consequence assumption. Continue the initial interview;
|
|
76
73
|
never arm AFK early.
|
|
77
|
-
- **Seal:** remaining NO-GO
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
agent-owned findings, then re-enter Seal. A first NO-GO is not a stop either:
|
|
74
|
+
- **Seal:** report remaining NO-GO with every blocker/fix direction; never round
|
|
75
|
+
up to GO. Resolve recommended-option blocking questions internally; recover
|
|
76
|
+
agent-owned findings and re-enter Seal. A first NO-GO is not a stop:
|
|
81
77
|
recover every agent-owned blocker (missing or unbound proof, a reviewer gap root
|
|
82
78
|
can close, a finding with a fix direction, a missing `review.md` verdict), then
|
|
83
79
|
re-enter Seal. The unattended `N` to accepting Important risks means repair, not
|
|
@@ -95,23 +91,26 @@ class or park; only a real human/risk/scope gate stops for a human.
|
|
|
95
91
|
- **Resource envelope:** overlapping run or missing AFK after arm still stops.
|
|
96
92
|
Do not stop on `--max-slices`, `max_agents`, `max_minutes`, or `max_review_queue`.
|
|
97
93
|
- **Confidence:** intent still cannot become testable acceptance after interview.
|
|
98
|
-
- **Repeated failure:** not a stop. Escalate;
|
|
99
|
-
|
|
100
|
-
- **Resolver failure:** `devrites-engine state resolve`
|
|
101
|
-
Never hand-edit `questions.md`/`state.md`
|
|
102
|
-
nonzero
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
and resume action `/rite-doctor`.
|
|
94
|
+
- **Repeated failure:** not a stop. Escalate; fully escalated fingerprints park.
|
|
95
|
+
Stop only when no independent work remains.
|
|
96
|
+
- **Resolver failure:** `devrites-engine state resolve` missing or nonzero.
|
|
97
|
+
Never hand-edit `questions.md`/`state.md` instead. Missing stops immediately;
|
|
98
|
+
nonzero permits one identical re-run (fingerprint: command + exit code + decisive
|
|
99
|
+
stderr line; unchanged re-run is no correction, no further attempts). Then stop
|
|
100
|
+
`blocked`: exact command, exit code, stderr line; resume via `/rite-doctor`.
|
|
106
101
|
|
|
107
102
|
## Final GO and durable stop
|
|
108
103
|
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
104
|
+
With a recorded continuation, no opt-out, and workspace budget, Seal GO stays
|
|
105
|
+
internal: continue without `--ship`, leaving milestones sealed/unshipped. Only the
|
|
106
|
+
final milestone, explicit `continue_sequence: false`, or exhausted sequence cap
|
|
107
|
+
ends green sequence continuation.
|
|
113
108
|
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
109
|
+
There, `--ship`/`--yolo` requires [Ship preflight](../../rite-ship/reference/git-ship.md#before-type-go):
|
|
110
|
+
disclose exact plan; stop for fresh literal `GO` plus native approval.
|
|
111
|
+
Without flags, stop at Seal GO with `/rite-ship`. Seal GO never authorizes Git
|
|
112
|
+
or satisfies Ship approval; neither do AFK, prior approval, or flags.
|
|
113
|
+
|
|
114
|
+
Record cold-resumable `state.md` stops: status, exact reason, one resume action
|
|
115
|
+
(human-owned or `/rite-autocomplete` to reopen parked fingerprints). Explain in
|
|
116
|
+
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
|
|
|
@@ -170,8 +170,13 @@ Before classifying any Reslice, read `.claude/skills/devrites-lib/reference/stan
|
|
|
170
170
|
the previous vet verdict: set `Phase: plan`, `Next step: /rite-vet`, and, when
|
|
171
171
|
`eng-review.md` exists, set `Implementation readiness: NEEDS REPLAN`. Never retain READY
|
|
172
172
|
across changed planning inputs. Preserve `Plan approved` only for behavior/acceptance-neutral
|
|
173
|
-
technical repair; clear it for a contract-changing or newly blocking horizon item
|
|
174
|
-
|
|
173
|
+
technical repair; clear it for a contract-changing or newly blocking horizon item.
|
|
174
|
+
Settle human decisions and restore current `CLEAR` coverage through Clarify,
|
|
175
|
+
then obtain renewed Plan approval BEFORE Vet using only
|
|
176
|
+
[`rite-define`'s readiness/approval rule](../rite-define/SKILL.md), not its initial
|
|
177
|
+
decomposition. Under active Autocomplete, retain that rule's explicit autonomous
|
|
178
|
+
provenance in `decisions.md` — never claim human approval. Approval grants no
|
|
179
|
+
protected-path, Git, or safety authority. If you stopped for drift,
|
|
175
180
|
mark the `drift.md` entry resolved. Never remove or overwrite a valid caller
|
|
176
181
|
return cursor while writing the Plan checkpoint.
|
|
177
182
|
6. After editing `brief.md`, `spec.md`, `decisions.md`, `assumptions.md`, or `questions.md`,
|
|
@@ -17,8 +17,11 @@ First (or fresh) breakdown into vertical slices. Use `task-breakdown.md` +
|
|
|
17
17
|
|
|
18
18
|
A slice proved too large (couldn't build+prove in one cycle, or its goal has multiple
|
|
19
19
|
"and"s). Split into thinner end-to-end slices, preserving acceptance coverage: split
|
|
20
|
-
**by the sizing rule, not to a target count**. Update `tasks.md
|
|
21
|
-
|
|
20
|
+
**by the sizing rule, not to a target count**. Update `tasks.md` under the canonical
|
|
21
|
+
[ID contract](../../devrites-lib/reference/workspace-artifact-schema.md#id-contract):
|
|
22
|
+
preserve unaffected IDs; never renumber or fill retired gaps. New meanings get the
|
|
23
|
+
next unused IDs; record relationships in `decisions.md` or `drift.md` before updating
|
|
24
|
+
downstream dependency edges and traceability.
|
|
22
25
|
|
|
23
26
|
## repair (after Spec Drift Guard)
|
|
24
27
|
|
|
@@ -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
|
|
|
@@ -32,7 +32,7 @@ Pull these via `Read` when the diff demands them:
|
|
|
32
32
|
- [`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.
|
|
33
33
|
- [`testing.md`](../devrites-lib/reference/standards/testing.md): confirm that passing tests actually prove the spec.
|
|
34
34
|
- [`agents.md`](../devrites-lib/reference/standards/agents.md): when to fan out to which review subagent.
|
|
35
|
-
- [`security.md`](../devrites-lib/reference/standards/security.md): when
|
|
35
|
+
- [`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.
|
|
36
36
|
- [`security-checklist.md`](../devrites-lib/reference/standards/security-checklist.md): for the same security-sensitive scope, the compact trust-boundary sweep.
|
|
37
37
|
- [`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
|
|
38
38
|
when the spec applicability map or final diff triggers their ownership/failure/proof checks.
|
|
@@ -139,9 +139,9 @@ Pull these via `Read` when the diff demands them:
|
|
|
139
139
|
[performance-checklist](reference/performance-checklist.md)). No UI/route/style
|
|
140
140
|
paths: record `Not-applicable: no relevant paths in diff`.
|
|
141
141
|
5. **Security:** `devrites-security-auditor`
|
|
142
|
-
([security-review](reference/security-review.md)) joins the step-3 cohort
|
|
143
|
-
|
|
144
|
-
|
|
142
|
+
([security-review](reference/security-review.md)) joins the step-3 cohort under the
|
|
143
|
+
canonical [parallel-dispatch roster trigger](../devrites-lib/reference/parallel-dispatch.md#roster),
|
|
144
|
+
including a dependency-only diff; else `Not-applicable: no relevant paths in diff`.
|
|
145
145
|
6. **Performance:** `devrites-performance-reviewer`
|
|
146
146
|
([performance-review](reference/performance-review.md),
|
|
147
147
|
[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
|
|