devrites 7.1.0 → 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 +13 -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 +44 -49
- package/pack/.claude/skills/rite-autocomplete/reference/stop-conditions.md +38 -39
- package/pack/.claude/skills/rite-build/SKILL.md +5 -6
- package/pack/.claude/skills/rite-build/reference/afk-discipline.md +9 -11
- package/pack/.claude/skills/rite-build/reference/anti-patterns.md +2 -2
- package/pack/.claude/skills/rite-build/reference/checkpoint.md +10 -5
- package/pack/.claude/skills/rite-build/reference/one-slice-cycle.md +6 -4
- package/pack/.claude/skills/rite-build/reference/output.md +15 -21
- 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 +44 -49
- package/pack/generated/claude/skills/rite-autocomplete/reference/stop-conditions.md +38 -39
- package/pack/generated/claude/skills/rite-build/SKILL.md +5 -6
- package/pack/generated/claude/skills/rite-build/reference/afk-discipline.md +9 -11
- package/pack/generated/claude/skills/rite-build/reference/anti-patterns.md +2 -2
- package/pack/generated/claude/skills/rite-build/reference/checkpoint.md +10 -5
- package/pack/generated/claude/skills/rite-build/reference/one-slice-cycle.md +6 -4
- package/pack/generated/claude/skills/rite-build/reference/output.md +15 -21
- 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 +44 -49
- package/pack/generated/codex/skills/rite-autocomplete/reference/stop-conditions.md +38 -39
- package/pack/generated/codex/skills/rite-build/SKILL.md +5 -6
- package/pack/generated/codex/skills/rite-build/reference/afk-discipline.md +9 -11
- package/pack/generated/codex/skills/rite-build/reference/anti-patterns.md +2 -2
- package/pack/generated/codex/skills/rite-build/reference/checkpoint.md +10 -5
- package/pack/generated/codex/skills/rite-build/reference/one-slice-cycle.md +6 -4
- package/pack/generated/codex/skills/rite-build/reference/output.md +15 -21
- 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 +44 -49
- package/pack/generated/devin/skills/rite-autocomplete/reference/stop-conditions.md +38 -39
- package/pack/generated/devin/skills/rite-build/SKILL.md +5 -6
- package/pack/generated/devin/skills/rite-build/reference/afk-discipline.md +9 -11
- package/pack/generated/devin/skills/rite-build/reference/anti-patterns.md +2 -2
- package/pack/generated/devin/skills/rite-build/reference/checkpoint.md +10 -5
- package/pack/generated/devin/skills/rite-build/reference/one-slice-cycle.md +6 -4
- package/pack/generated/devin/skills/rite-build/reference/output.md +15 -21
- 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 +44 -49
- package/pack/generated/omp/skills/rite-autocomplete/reference/stop-conditions.md +38 -39
- package/pack/generated/omp/skills/rite-build/SKILL.md +5 -6
- package/pack/generated/omp/skills/rite-build/reference/afk-discipline.md +9 -11
- package/pack/generated/omp/skills/rite-build/reference/anti-patterns.md +2 -2
- package/pack/generated/omp/skills/rite-build/reference/checkpoint.md +10 -5
- package/pack/generated/omp/skills/rite-build/reference/one-slice-cycle.md +6 -4
- package/pack/generated/omp/skills/rite-build/reference/output.md +15 -21
- 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 +44 -49
- package/pack/generated/pi/skills/rite-autocomplete/reference/stop-conditions.md +38 -39
- package/pack/generated/pi/skills/rite-build/SKILL.md +5 -6
- package/pack/generated/pi/skills/rite-build/reference/afk-discipline.md +9 -11
- package/pack/generated/pi/skills/rite-build/reference/anti-patterns.md +2 -2
- package/pack/generated/pi/skills/rite-build/reference/checkpoint.md +10 -5
- package/pack/generated/pi/skills/rite-build/reference/one-slice-cycle.md +6 -4
- package/pack/generated/pi/skills/rite-build/reference/output.md +15 -21
- 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
|
@@ -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
|
|
|
@@ -10,8 +10,7 @@ argument-hint: "[feature-slug] [--full]"
|
|
|
10
10
|
|
|
11
11
|
# /rite-seal: GO / NO-GO
|
|
12
12
|
|
|
13
|
-
Verify final candidate in `seal.md`; `/rite-ship` owns authorized irreversible
|
|
14
|
-
actions and close-out.
|
|
13
|
+
Verify final candidate in `seal.md`; `/rite-ship` owns authorized irreversible actions/close-out.
|
|
15
14
|
|
|
16
15
|
## Authority
|
|
17
16
|
|
|
@@ -21,13 +20,12 @@ security, principles, documentation, observability, deprecation,
|
|
|
21
20
|
definition-of-done, and [`verification-methods.md`](../devrites-lib/reference/standards/verification-methods.md)
|
|
22
21
|
for coverage-denominator and evidence-status judgment.
|
|
23
22
|
Load [`final-evidence.md`](reference/final-evidence.md) and
|
|
24
|
-
[`go-no-go.md`](reference/go-no-go.md) for proof
|
|
25
|
-
Follow
|
|
26
|
-
|
|
27
|
-
the reviewed digest and artifact bindings.
|
|
23
|
+
[`go-no-go.md`](reference/go-no-go.md) for proof/verdict safety.
|
|
24
|
+
Follow [`candidate-integrity.md`](../devrites-lib/reference/candidate-integrity.md)
|
|
25
|
+
for reviewed digest/artifact bindings.
|
|
28
26
|
|
|
29
|
-
|
|
30
|
-
**Standard**
|
|
27
|
+
Host runs/reconciles named read-only reviewers; engine checks invariants.
|
|
28
|
+
**Standard** default; **Full** broadens conditional axes per
|
|
31
29
|
[`devrites-lib/reference/orchestration-profiles.md`](../devrites-lib/reference/orchestration-profiles.md).
|
|
32
30
|
|
|
33
31
|
## Gate
|
|
@@ -35,7 +33,7 @@ The host runs/reconciles named read-only reviewers; engine checks invariants.
|
|
|
35
33
|
| State | Verdict |
|
|
36
34
|
|---|---|
|
|
37
35
|
| Acceptance proven, deterministic checks pass, no unresolved drift or human gate, `Critical == 0`, `Important == 0` | **GO** |
|
|
38
|
-
| Same, but `Important > 0` | Ask `Important findings remain. Proceed to seal? [y/N]`; default **N**. Only
|
|
36
|
+
| Same, but `Important > 0` | Ask `Important findings remain. Proceed to seal? [y/N]`; default **N**, unattended keeps **N**. Only humans answer `y`; standalone AFK stops for a human if Important remains. Autocomplete repairs agent-owned findings, re-enters Seal; only human-owned risk acceptance stops for a human |
|
|
39
37
|
| `Critical > 0` | **NO-GO** |
|
|
40
38
|
| Any acceptance criterion, resolved prohibition, or declared key link lacks proof | **NO-GO** |
|
|
41
39
|
| `gates status` is not `all-met` — an unmet, stale, unapproved, or abandoned ledger gate remains | **NO-GO** |
|
|
@@ -48,8 +46,8 @@ The host runs/reconciles named read-only reviewers; engine checks invariants.
|
|
|
48
46
|
| `check regression` reports an unblessed loss vs the recorded progress baseline | **NO-GO** |
|
|
49
47
|
| `check windows` reports a deferral marker the change introduced without a `windows.md` waiver | **NO-GO** |
|
|
50
48
|
|
|
51
|
-
|
|
52
|
-
(`slice: seal`)
|
|
49
|
+
Judgment-only criteria need humans. AFK records a validating question
|
|
50
|
+
(`slice: seal`), stops; Autocomplete never auto-picks.
|
|
53
51
|
|
|
54
52
|
## Workflow
|
|
55
53
|
|
|
@@ -67,36 +65,33 @@ Follow [`reference/phase-contract.md`](reference/phase-contract.md)
|
|
|
67
65
|
5. draft GO/NO-GO `seal.md` with acceptance, tests, decisions, and seven roster accounts plus proof-runner and doubt-reviewer
|
|
68
66
|
(each engineering lane its own account);
|
|
69
67
|
6. write exactly one candidate binding, then run
|
|
70
|
-
`devrites-engine check seal <slug>` for structure
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
(no baseline) does not block — plus two separate runs of `devrites-engine check windows <slug>`,
|
|
68
|
+
`devrites-engine check seal <slug>` for structure/identity, never semantics.
|
|
69
|
+
For stale readiness-input bindings, run `devrites-engine check drift <slug>`
|
|
70
|
+
before returning to Vet; start repair at the named changed/missing/added input.
|
|
71
|
+
Run `devrites-engine check regression <slug>` for progress lost since last
|
|
72
|
+
checkpoint: `BLOCKED` is NO-GO; `unproven` (no baseline) does not block.
|
|
73
|
+
Run `devrites-engine check windows <slug>` twice,
|
|
77
74
|
one with `--base <release-base>` and one with `--worktree` (the only mode that scans
|
|
78
75
|
untracked files; never pass both flags in one command, the last one wins) so each deferral marker the feature diff introduced
|
|
79
76
|
carries a `windows.md` waiver row ([`windows.md`](../devrites-lib/reference/standards/windows.md));
|
|
80
|
-
unwaived hits are NO-GO. The engine
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
removed before GO. Repeat each `note: unexecuted driver` line `check seal` prints in the GO/NO-GO reply.
|
|
90
|
-
|
|
91
|
-
Corrections return through affected Prove/Review before restarting Seal under
|
|
77
|
+
unwaived hits are NO-GO. The engine rejects malformed, unmet, stale, unapproved, or abandoned
|
|
78
|
+
`gates.md` ledgers. Unless Seal-side `gates status` says `all-met`, return to
|
|
79
|
+
Prove: evidence is not current; never attest past it. Before Seal wave, run `devrites-engine gates reverify <slug>
|
|
80
|
+
--transcripts` on the frozen candidate: bind every gate transcript to this
|
|
81
|
+
digest for the proof runner. It also rejects malformed `notes.md` or non-`exact` anchors:
|
|
82
|
+
`devrites-engine note check <slug> --repair` re-anchors `moved` notes;
|
|
83
|
+
fix/remove `stale`/`ambiguous`/`lost` notes before GO. Repeat each `note: unexecuted driver` line `check seal` prints in GO/NO-GO reply.
|
|
84
|
+
|
|
85
|
+
Corrections pass affected Prove/Review before Seal restarts under
|
|
92
86
|
[evidence validity](../devrites-lib/reference/candidate-integrity.md#evidence-validity).
|
|
93
87
|
|
|
94
|
-
Only
|
|
88
|
+
Only repo scripts/CI authorize commands; never guess.
|
|
95
89
|
|
|
96
90
|
## On GO
|
|
97
91
|
|
|
98
|
-
Set `state.md` `Next step: /rite-ship
|
|
99
|
-
|
|
92
|
+
Set `state.md` `Next step: /rite-ship`. Standalone Seal stops. Under active `/rite-autocomplete`, return internally to the caller
|
|
93
|
+
for recorded sequence continuation or [Ship preflight](../rite-ship/reference/git-ship.md#before-type-go),
|
|
94
|
+
no intermediate final reply. GO grants no irreversible-action authority.
|
|
100
95
|
|
|
101
96
|
## Output
|
|
102
97
|
|
|
@@ -44,12 +44,16 @@ if absent, route to `/rite-spec <feature>`. Ship only with current **GO** in `se
|
|
|
44
44
|
1a. **Health (advisory).** Apply `/rite-doctor` read-only; surface WARN/FAIL without
|
|
45
45
|
repair. If ACTIVE is flagged, confirm the slug.
|
|
46
46
|
2. **Prepare the exact Git candidate.** Follow
|
|
47
|
-
[`git-ship.md`](reference/git-ship.md)
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
From the verified
|
|
51
|
-
branch, tag/PR,
|
|
52
|
-
|
|
47
|
+
[`git-ship.md`](reference/git-ship.md)'s read-only pre-GO ladder: inspect the
|
|
48
|
+
candidate and existing NUL-delimited staged state/path set, refuse out-of-manifest
|
|
49
|
+
staged work, and rerun candidate/Seal checks. Do not stage or collapse checkpoints
|
|
50
|
+
before fresh literal `GO`. From the verified candidate, disclose the exact proposed
|
|
51
|
+
staging/collapse commands, project-conformant message/trailers, branch, tag/PR,
|
|
52
|
+
commands, and skips; the existing index need not yet equal the candidate.
|
|
53
|
+
2a. **Credential guard (HIGH blocks).** Before type-GO, run only read-only scans of
|
|
54
|
+
existing staged blobs and the proposed PR body. This is not a final candidate-clean
|
|
55
|
+
claim; after literal `GO` and exact staging, repeat the full staged scan before commit.
|
|
56
|
+
HIGH stops
|
|
53
57
|
and requires rotation/redaction; MEDIUM needs confirmation recorded in `ship.md`;
|
|
54
58
|
LOW is FYI.
|
|
55
59
|
```bash
|
|
@@ -70,7 +74,10 @@ if absent, route to `/rite-spec <feature>`. Ship only with current **GO** in `se
|
|
|
70
74
|
Literal `GO` proceeds once; anything else records cancellation in `ship.md` and
|
|
71
75
|
stops. Any command/scope/branch/message/tag/PR change or retry needs a fresh prompt;
|
|
72
76
|
native approval is still required.
|
|
73
|
-
4. On GO
|
|
77
|
+
4. On literal GO plus native approval, follow `git-ship.md`'s post-GO ladder:
|
|
78
|
+
disclosed collapse/staging, staged scope/byte comparisons, candidate/Seal revalidation,
|
|
79
|
+
and full staged secret scan BEFORE commit. Then commit; verify committed state/path
|
|
80
|
+
set and exact candidate digest; then push →
|
|
74
81
|
tag/PR as applicable via `git-ship.md`. Record SHA and push state in `ship.md` before
|
|
75
82
|
push (git-ship 7a); a push/tag/PR failure stops, and a rerun resumes at push under
|
|
76
83
|
fresh type-GO. Capture branch, tag/PR URL. Mismatch stops before push/tag; retry
|
|
@@ -10,10 +10,10 @@ argument-hint: "[feature-slug] [--mode expand|selective|hold-rigor|reduce-to-MVP
|
|
|
10
10
|
|
|
11
11
|
# /rite-temper: review scope and risk before planning
|
|
12
12
|
|
|
13
|
-
Review
|
|
14
|
-
|
|
15
|
-
`/rite-autocomplete` always invokes it.
|
|
16
|
-
|
|
13
|
+
Review readied spec ambition, scope, pre-mortem risk, and excess surface. Fold
|
|
14
|
+
accepted decisions into the canonical contract before `/rite-define`. Optional for
|
|
15
|
+
small work; skips low-stakes specs; `/rite-autocomplete` always invokes it.
|
|
16
|
+
**Read active workspace first**; no readied `spec.md` → `/rite-spec`. Depth follows
|
|
17
17
|
[`devrites-lib/reference/orchestration-profiles.md`](../devrites-lib/reference/orchestration-profiles.md);
|
|
18
18
|
the required exact strategy reviewer never changes with profile.
|
|
19
19
|
|
|
@@ -27,24 +27,24 @@ that needs more than the default pre-mortem) selected by the section's risk). Lo
|
|
|
27
27
|
the spec applicability map triggers that risk family.
|
|
28
28
|
|
|
29
29
|
## Operating rules
|
|
30
|
-
- **Raise outcome ambition
|
|
31
|
-
|
|
30
|
+
- **Raise outcome ambition, not excess solution surface.** Solve the underlying
|
|
31
|
+
problem without speculative capability/abstraction.
|
|
32
32
|
- **Route every scope change through the Spec Drift Guard.** A scope change takes effect
|
|
33
33
|
only when `spec.md` records the confirmed decision. Growth (`expand`, extra
|
|
34
34
|
acceptance) needs a resolved human `questions.md` qid, so an unattended run holds it
|
|
35
35
|
open. Irreversible-risk still pauses.
|
|
36
|
-
- **
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
- **
|
|
40
|
-
|
|
41
|
-
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
36
|
+
- **Maximum caution:** auth, migration, public API, and data-model changes need
|
|
37
|
+
full review and explicit rollback. Pause only for [canonical irreversible-risk items](../devrites-lib/reference/standards/afk-hitl.md#irreversible-risk-list-always-pause)
|
|
38
|
+
or unresolved human-owned decisions, not an already-approved reversible internal data-model change.
|
|
39
|
+
- **Honest verdict.** Never round "needs work" to "ready"; record each scope call's *why*.
|
|
40
|
+
- **Search before asking.** Apply [`afk-hitl.md`](../devrites-lib/reference/standards/afk-hitl.md) ownership;
|
|
41
|
+
only human-owned calls enter the interactive walk.
|
|
42
|
+
- **You write; reviewer judges.** Sole canonical writer: `strategy.md` + spec edits;
|
|
43
|
+
reviewer is read-only.
|
|
44
|
+
- **Significant features require spec-quality checklists.** Before hardening,
|
|
45
|
+
require passing `checklists/<domain>.md` ([`spec-checklists.md`](../rite-spec/reference/spec-checklists.md)); a
|
|
46
|
+
folded scope expansion **adds its own** rows, including new Success/Acceptance
|
|
47
|
+
criteria. An unquantified folded criterion is a CRITICAL failure reopening readiness.
|
|
48
48
|
|
|
49
49
|
## Workflow
|
|
50
50
|
0. **Read `.devin/skills/devrites-lib/reference/standards/core.md`**, then
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
# Scope modes + the two passes
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
one scope mode. Ambition is a **generative** move followed by a **required convergence**: the
|
|
3
|
+
`/rite-temper`: two ordered passes (heat, then quench), converging on one scope mode. Ambition is a **generative** move followed by a **required convergence**: the
|
|
5
4
|
divergence is never the spec; the converged sweet spot is.
|
|
6
5
|
|
|
7
6
|
## Pass 1: FORWARD (heat: raise ambition on the outcome)
|
|
@@ -41,11 +40,11 @@ Mode selection is the first convergence move. Record the chosen mode + rationale
|
|
|
41
40
|
| **REDUCE-TO-MVP** | Over-scoped: second-system bloat, ~all must-haves, gold-plating | Hammer scope to the Minimum Usable Subset; move the rest to Non-goals with one-line reasons + revisit notes | Strongest YAGNI alignment. Cutting acceptance is **still a spec change**: record it via the Guard, never a silent trim |
|
|
42
41
|
|
|
43
42
|
## Bound ambition by reversibility
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
43
|
+
Bigger bets need more reversibility. Auth, migrations, public API, and data-model
|
|
44
|
+
changes need maximum conservatism, full review, and explicit rollback.
|
|
45
|
+
Pause only for actual [canonical irreversible-risk items](../../devrites-lib/reference/standards/afk-hitl.md#irreversible-risk-list-always-pause)
|
|
46
|
+
or unresolved human-owned decisions, not an already-approved reversible internal
|
|
47
|
+
data-model change. Size bets to tolerate their disappearance tomorrow.
|
|
49
48
|
|
|
50
49
|
## Effort foresight (frame it now, not "later")
|
|
51
50
|
While choosing scope, surface the late-stage questions early: *"What will surprise us at
|
|
@@ -99,8 +99,13 @@ references, and only current phase contracts needed for the observed gap.
|
|
|
99
99
|
- a missing/malformed strict manifest, missing/malformed/mismatched evidence binding,
|
|
100
100
|
a browser-binding defect when that file exists, or current candidate-check failure
|
|
101
101
|
→ `/rite-prove`;
|
|
102
|
-
- candidate-affecting capability-ledger, `DESIGN.md`, or ADR rollups still
|
|
103
|
-
an old Ship-era workspace →
|
|
102
|
+
- required candidate-affecting capability-ledger, `DESIGN.md`, or ADR rollups still
|
|
103
|
+
deferred by an old Ship-era workspace → `gap`: no admitted route. STOP with an
|
|
104
|
+
explicit `/rite-polish` handoff for separate user authorization; never invoke
|
|
105
|
+
those rollup writes inside Upgrade. After authorization outside Upgrade, normal
|
|
106
|
+
affected Prove → Review → Seal applies;
|
|
107
|
+
- workspace-only Polish refresh → `/rite-polish` only when its exact paths remain
|
|
108
|
+
within the admitted gate artifacts and no candidate-affecting rollup is required;
|
|
104
109
|
- a missing, stale, or mismatched review binding → `/rite-review`;
|
|
105
110
|
- a missing, stale, or mismatched seal binding or failed Seal gate → `/rite-seal`.
|
|
106
111
|
|
|
@@ -10,10 +10,10 @@ argument-hint: "[slug] [--cross-model] [--full]"
|
|
|
10
10
|
|
|
11
11
|
# /rite-vet: review the plan before build
|
|
12
12
|
|
|
13
|
-
Vet
|
|
14
|
-
safety. Fold cited technical findings; design Build tests. Temper owns product
|
|
15
|
-
Vet
|
|
16
|
-
|
|
13
|
+
Vet each plan: scope, architecture, quality, proof, performance, failures, writer
|
|
14
|
+
safety. Fold cited technical findings; design Build tests. Temper owns product,
|
|
15
|
+
Vet implementation. Current `$ARGUMENTS` (`--full`) feeds `reference/depth.md`
|
|
16
|
+
triggers; profiles never remove the exact plan-reviewer gate
|
|
17
17
|
([orchestration-profiles.md](../devrites-lib/reference/orchestration-profiles.md)).
|
|
18
18
|
|
|
19
19
|
## Rules
|
|
@@ -40,21 +40,23 @@ plan declares a root-authored executable workflow file, read
|
|
|
40
40
|
|
|
41
41
|
## Invariants
|
|
42
42
|
|
|
43
|
-
- Review implementation, not ambition. Challenge creep
|
|
44
|
-
|
|
45
|
-
- Root owns decisions/writes/readiness; reviewers judge
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
irreversible-risk
|
|
43
|
+
- Review implementation, not ambition. Challenge creep/complexity/proof/risk
|
|
44
|
+
without changing accepted product scope.
|
|
45
|
+
- Root owns decisions/writes/readiness; reviewers judge, not route. Cite
|
|
46
|
+
findings/confidence; suppress unverified or confidence ≤4 findings per
|
|
47
|
+
`review-axes.md`. `eng-lenses.md` arrows are heuristics; use only the four
|
|
48
|
+
`review-axes.md` band names.
|
|
49
|
+
- Auth, migration, public API, and data-model changes need maximum caution,
|
|
50
|
+
full review, and explicit rollback. Pause only for
|
|
51
|
+
[canonical irreversible-risk items](../devrites-lib/reference/standards/afk-hitl.md#irreversible-risk-list-always-pause)
|
|
52
|
+
or unresolved human-owned decisions, not an already-approved reversible internal
|
|
53
|
+
data-model change. Project principles never become trade-offs.
|
|
52
54
|
- **Governance-protected paths** (`.devrites/**`, pack skill/agent trees,
|
|
53
|
-
`NOTICE.md` generator regions, CI/hook config
|
|
54
|
-
human approval before plan slices
|
|
55
|
-
|
|
56
|
-
- Use
|
|
57
|
-
|
|
55
|
+
`NOTICE.md` generator regions, documented CI/hook config) require explicit
|
|
56
|
+
human approval before plan slices edit them; absent approval → Vet
|
|
57
|
+
**NEEDS CLARIFICATION**.
|
|
58
|
+
- Use lowest axis band; never average/round thin to ready. Search; resolve
|
|
59
|
+
reversible technical choices; ask only human-owned.
|
|
58
60
|
- Preserve a valid technical return cursor. Agent-owned `NEEDS REPLAN` returns
|
|
59
61
|
internally to its caller, not to the human; on a direct invocation there is
|
|
60
62
|
no caller, so Vet becomes it — save a return cursor
|
|
@@ -75,18 +77,16 @@ plan declares a root-authored executable workflow file, read
|
|
|
75
77
|
assumptions, and state. Require approved Plan and `Decision coverage: CLEAR`;
|
|
76
78
|
otherwise stop for Define or Clarify. Check placement (`get_architecture`),
|
|
77
79
|
blast radius (`trace_path`), and reuse (`search_graph`) per [`code-navigation.md`](../devrites-lib/reference/standards/code-navigation.md).
|
|
78
|
-
1. **Select depth.** Apply `reference/depth.md` exactly; never skip.
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
1a. **Independent initial pass.** Freeze candidate
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
commands, on the same frozen candidate while the wave is out; reconcile the
|
|
89
|
-
accounts when they return.
|
|
80
|
+
1. **Select depth.** Apply `reference/depth.md` exactly; never skip. Initial passes
|
|
81
|
+
record engineering verdict and test-plan coverage. Valid Recovery rechecks
|
|
82
|
+
retain prior depth; enter 1b.
|
|
83
|
+
1a. **Independent initial pass.** Freeze candidate; dispatch exact fresh read-only
|
|
84
|
+
plan reviewer, plus developer-experience reviewer for developer surfaces
|
|
85
|
+
(trigger `devex`) and current strategy reviewer after significant Temper, in
|
|
86
|
+
parallel under `../devrites-lib/reference/parallel-dispatch.md`: independent
|
|
87
|
+
read-only passes on one frozen candidate. Missing required account blocks.
|
|
88
|
+
Meanwhile run root steps 2–4, including step 3 preflight commands, on that
|
|
89
|
+
candidate; reconcile returned accounts.
|
|
90
90
|
1b. **Recovery recheck.** Require valid return cursor, accepted prior finding,
|
|
91
91
|
exact fingerprint/reproduction, repaired candidate identity, changed
|
|
92
92
|
paths/criteria, affected drift/evidence, and the recorded delta self-check.
|
|
@@ -117,14 +117,13 @@ plan declares a root-authored executable workflow file, read
|
|
|
117
117
|
Do not fall through to steps 2–7. Retain evidenced unchanged coverage; changed
|
|
118
118
|
global contract/uncertain impact requires full applicable review. Reopen historical
|
|
119
119
|
findings only for affected invariants/dependencies.
|
|
120
|
-
2. **Challenge scope.** Apply review-axes §0
|
|
120
|
+
2. **Challenge scope.** Apply review-axes §0; search accepted decisions.
|
|
121
121
|
Harden to the smallest contract-complete plan, using marked topology action.
|
|
122
122
|
Then verify bidirectional ID-and-meaning traceability across spec/plan/
|
|
123
123
|
tasks/test-plan/traceability, acceptance, terms, principles, anti-slop,
|
|
124
124
|
and conventions; every slice and test-plan row maps to a live requirement
|
|
125
|
-
and vice versa. Critical gaps
|
|
126
|
-
|
|
127
|
-
§2 (Scope challenge) after recheck.
|
|
125
|
+
and vice versa. Critical gaps/unexcepted principle breaches block. Record
|
|
126
|
+
rechecked result in `eng-review.md` §2 (Scope challenge).
|
|
128
127
|
3. **Preflight Build entry.** Under `reference/artifacts.md`, verify exact
|
|
129
128
|
command/cwd/tool/version/prerequisite; output filters must preserve upstream
|
|
130
129
|
failure. Verify dependencies from authoritative source plus nearest manifest.
|
|
@@ -38,7 +38,10 @@ rules cannot fail.
|
|
|
38
38
|
- `repairable`: each defect is neutral, preservation-safe, and owned by Clarify,
|
|
39
39
|
Plan repair, Converge, Vet, Prove, Polish, Review, or Seal.
|
|
40
40
|
- `unsupported`: cursor/topology is unofficial; propose no rewrite.
|
|
41
|
-
- `gap`: evidence/contracts are insufficient
|
|
41
|
+
- `gap`: evidence/contracts are insufficient or the required delta has no admitted
|
|
42
|
+
preservation-safe route. Missing input or unverifiable current rules produce `gap`,
|
|
43
|
+
never `current` or `repairable`. Required candidate-affecting rollup writes also
|
|
44
|
+
produce `gap`.
|
|
42
45
|
|
|
43
46
|
## Rules
|
|
44
47
|
|
|
@@ -52,9 +55,14 @@ rules cannot fail.
|
|
|
52
55
|
slices beyond the feature ceiling to Plan course-correct (`MVP cut` + named
|
|
53
56
|
continuation sequence); built slices and their evidence stay.
|
|
54
57
|
- For released post-Build work, route a strict-manifest, evidence/browser-binding, or
|
|
55
|
-
candidate-check defect to Prove;
|
|
56
|
-
review-binding defect to Review; and a
|
|
57
|
-
|
|
58
|
+
candidate-check defect to Prove; a workspace-only Polish refresh to Polish only
|
|
59
|
+
within Upgrade's admitted gate artifacts; a review-binding defect to Review; and a
|
|
60
|
+
seal-binding or Seal-gate defect to Seal. Required candidate-affecting capability-ledger,
|
|
61
|
+
`DESIGN.md`, or ADR rollups are outside admission: return `gap` with an explicit
|
|
62
|
+
`/rite-polish` handoff for separate user authorization, no writable paths and no admitted route.
|
|
63
|
+
Never recommend invoking those writes inside Upgrade. After authorization
|
|
64
|
+
outside Upgrade, normal affected Prove → Review → Seal applies.
|
|
65
|
+
Include only applicable admitted owners, ordered Prove, Polish, Review, Seal. Never infer scope
|
|
58
66
|
or treat an old pass as current proof. A Prove repair is admissible only when legacy
|
|
59
67
|
scope inputs are present and agree unambiguously; ambiguous candidate scope produces
|
|
60
68
|
`gap` with no route.
|
|
@@ -53,6 +53,21 @@ has no clear next move. Optional slug selects the active workspace; defaults to
|
|
|
53
53
|
gone, hypothesis recorded. Classify the failure.
|
|
54
54
|
See [cleanup-and-classify.md](reference/cleanup-and-classify.md).
|
|
55
55
|
|
|
56
|
+
## Caller-owned records and routing
|
|
57
|
+
|
|
58
|
+
The controlling root accepts and persists all recovery records in `decisions.md`,
|
|
59
|
+
`evidence.md`, and `## Dead ends` before the next admission/attempt. This rule governs
|
|
60
|
+
all loaded recovery steps, including cleanup and regression instructions. A leaf
|
|
61
|
+
returns the complete class/rationale, proposed routing, hypothesis/probe, baseline,
|
|
62
|
+
exact failure/evidence, causal fingerprint, attempt number and failed idea/dead ends,
|
|
63
|
+
and human predicate in its existing result fields (`gates`, `dead_ends`,
|
|
64
|
+
`follow_ups`, or `Escalation` as applicable); no new result schema is required.
|
|
65
|
+
A leaf never writes `.devrites/**`, changes phase, invokes agents, or commits through
|
|
66
|
+
recovery. Only the controlling root routes to owning rites and supplies later attempts
|
|
67
|
+
with accepted records. Product/test edits remain inside the caller's exact allowed
|
|
68
|
+
paths; recovery never widens them. Commit/PR wording is a returned proposal for the
|
|
69
|
+
authorized owner, not authority to commit.
|
|
70
|
+
|
|
56
71
|
## Hard rules
|
|
57
72
|
|
|
58
73
|
- Quote exact signal-bearing error text with typed redactions (not paraphrase); apply
|
|
@@ -79,8 +94,9 @@ has no clear next move. Optional slug selects the active workspace; defaults to
|
|
|
79
94
|
<!-- workflow-artifact-adapter: {"module":"devrites-lib/reference/standards/workflow-artifacts.md","entry":"durable active failure or ambiguous admitted state","action":"OFFLINE_RECOVERY; correct offline, re-preflight, narrow Vet, retry only under cap","return":"saved caller or exact Plan/Vet route"} -->
|
|
80
95
|
- **Classify before routing** with
|
|
81
96
|
[cleanup-and-classify.md](reference/cleanup-and-classify.md).
|
|
82
|
-
- **Durably record class and rationale**
|
|
83
|
-
`evidence.md` or `## Dead ends`
|
|
97
|
+
- **Durably record class and rationale** through [Caller-owned records and routing](#caller-owned-records-and-routing):
|
|
98
|
+
root persists `decisions.md` and the applicable `evidence.md` or `## Dead ends`
|
|
99
|
+
entry; leaves return the full payload for root acceptance.
|
|
84
100
|
- **One causal fingerprint, counted by the caller.** Normalize the root cause as
|
|
85
101
|
`<affected boundary>: <failed invariant/failure mechanism>` and bind its minimal
|
|
86
102
|
reproduction plus decisive signal rather than hashing symptom text.
|
|
@@ -98,5 +114,6 @@ has no clear next move. Optional slug selects the active workspace; defaults to
|
|
|
98
114
|
human-only access becomes a human gate; otherwise return the spent strategy and
|
|
99
115
|
reproduction to the caller, which escalates or parks per the
|
|
100
116
|
[retry contract](skill://devrites-lib/reference/standards/afk-hitl.md#retry-cap-no-progress-loops-and-self-resolve);
|
|
101
|
-
never request attempt four of the same strategy. While budget remains,
|
|
102
|
-
`/rite-plan repair` inline;
|
|
117
|
+
never request attempt four of the same strategy. While budget remains, the controlling
|
|
118
|
+
root routes coupled failure requiring behavior change to `/rite-plan repair` inline;
|
|
119
|
+
behavior-neutral rerouting uses `unblock` inline. Leaves return proposed routes only.
|
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
# Cleanup + classify
|
|
2
2
|
|
|
3
|
+
All recording and routing below follows
|
|
4
|
+
[`SKILL.md` § Caller-owned records and routing](skill://devrites-debug-recovery/SKILL.md#caller-owned-records-and-routing):
|
|
5
|
+
root accepts/persists the full payload and owns transitions; leaves return proposals
|
|
6
|
+
and evidence only, never workspace writes, agent launches, or commits.
|
|
7
|
+
|
|
3
8
|
## Classify one causal fingerprint
|
|
4
9
|
|
|
5
10
|
Fingerprint the diagnosis, not its symptom. Reuse it until evidence disproves it; then
|
|
@@ -19,8 +24,9 @@ required before the next consumptive execution pause. Fresh authorization never
|
|
|
19
24
|
pauses offline diagnosis or correction from retained evidence; never ask for a
|
|
20
25
|
blind retry.
|
|
21
26
|
|
|
22
|
-
|
|
23
|
-
or `## Dead ends
|
|
27
|
+
Root records class/routing in `decisions.md` and each failed attempt in `evidence.md`
|
|
28
|
+
or `## Dead ends`; leaves return the complete record for root acceptance/persistence
|
|
29
|
+
before the next admission. Apply the causal-fingerprint and three-attempt rules in
|
|
24
30
|
[`SKILL.md`](skill://devrites-debug-recovery/SKILL.md) Hard rules; record baseline, exact failure,
|
|
25
31
|
hypothesis/probe, attempt number, and any human predicate.
|
|
26
32
|
|
|
@@ -31,4 +37,5 @@ hypothesis/probe, attempt number, and any human predicate.
|
|
|
31
37
|
- [ ] Regression test passes (or absence of seam is documented).
|
|
32
38
|
- [ ] All `[DEBUG-...]` instrumentation removed (`grep` the prefix).
|
|
33
39
|
- [ ] Throwaway harnesses deleted (or moved to a clearly marked debug location).
|
|
34
|
-
- [ ]
|
|
40
|
+
- [ ] Root persists the correct hypothesis in `evidence.md`; leaves return it plus
|
|
41
|
+
proposed commit/PR wording for the authorized owner, without committing.
|