devrites 4.1.0 → 4.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/README.md +1 -1
- package/docs/engine/commands.md +65 -6
- package/engine/go.mod +1 -1
- package/engine/internal/gate/gate.go +154 -46
- package/engine/internal/gate/gate_test.go +290 -2
- package/engine/internal/gate/readiness_binding.go +66 -100
- package/engine/internal/gate/readiness_binding_test.go +126 -3
- package/engine/internal/lib/resolve.go +6 -6
- package/engine/internal/state/cmd/workflowmanifest/main.go +32 -3
- package/engine/internal/state/feature.go +1 -100
- package/engine/internal/state/observation.go +584 -0
- package/engine/internal/state/observation_open_other.go +9 -0
- package/engine/internal/state/observation_open_unix.go +12 -0
- package/engine/internal/state/observation_test.go +960 -0
- package/engine/internal/state/observation_unix_test.go +68 -0
- package/engine/internal/state/schema.go +60 -160
- package/engine/internal/state/state_test.go +489 -101
- package/engine/internal/state/status.go +67 -48
- package/engine/tests/adr_0004_required_by_phase_test.go +16 -13
- package/engine/tests/adr_0011_define_plan_test.go +14 -12
- package/engine/tests/gate_test.go +403 -28
- package/engine/tests/workspace_observation_migration_test.go +1065 -0
- package/pack/.claude/skills/devrites-debug-recovery/SKILL.md +1 -10
- package/pack/.claude/skills/devrites-lib/reference/standards/acceptance-preserving-reslice.md +30 -0
- package/pack/.claude/skills/devrites-lib/reference/standards/afk-hitl.md +2 -9
- package/pack/.claude/skills/devrites-lib/reference/standards/one-shot-actions.md +1 -6
- package/pack/.claude/skills/devrites-lib/reference/standards/workflow-artifacts.md +411 -102
- package/pack/.claude/skills/rite-autocomplete/SKILL.md +98 -146
- package/pack/.claude/skills/rite-autocomplete/reference/decision-policy.md +11 -5
- package/pack/.claude/skills/rite-autocomplete/reference/loop.md +96 -134
- package/pack/.claude/skills/rite-autocomplete/reference/stop-conditions.md +92 -131
- package/pack/.claude/skills/rite-build/SKILL.md +51 -79
- package/pack/.claude/skills/rite-build/reference/phase-contract.md +3 -17
- package/pack/.claude/skills/rite-plan/SKILL.md +17 -17
- package/pack/.claude/skills/rite-plan/reference/anti-patterns.md +11 -1
- package/pack/.claude/skills/rite-plan/reference/replan-and-repair.md +10 -3
- package/pack/.claude/skills/rite-prove/SKILL.md +95 -153
- package/pack/.claude/skills/rite-vet/SKILL.md +121 -174
- package/pack/.claude/skills/rite-vet/reference/anti-patterns.md +14 -2
- package/pack/.claude/skills/rite-vet/reference/artifacts.md +10 -6
- package/pack/.claude/skills/rite-vet/reference/depth.md +10 -3
- package/pack/.claude/skills/rite-vet/reference/review-axes.md +12 -4
- package/pack/generated/claude/skills/devrites-debug-recovery/SKILL.md +1 -10
- package/pack/generated/claude/skills/devrites-lib/reference/standards/acceptance-preserving-reslice.md +30 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/afk-hitl.md +2 -9
- package/pack/generated/claude/skills/devrites-lib/reference/standards/one-shot-actions.md +1 -6
- package/pack/generated/claude/skills/devrites-lib/reference/standards/workflow-artifacts.md +411 -102
- package/pack/generated/claude/skills/rite-autocomplete/SKILL.md +98 -146
- package/pack/generated/claude/skills/rite-autocomplete/reference/decision-policy.md +11 -5
- package/pack/generated/claude/skills/rite-autocomplete/reference/loop.md +96 -134
- package/pack/generated/claude/skills/rite-autocomplete/reference/stop-conditions.md +92 -131
- package/pack/generated/claude/skills/rite-build/SKILL.md +51 -79
- package/pack/generated/claude/skills/rite-build/reference/phase-contract.md +3 -17
- package/pack/generated/claude/skills/rite-plan/SKILL.md +17 -17
- package/pack/generated/claude/skills/rite-plan/reference/anti-patterns.md +11 -1
- package/pack/generated/claude/skills/rite-plan/reference/replan-and-repair.md +10 -3
- package/pack/generated/claude/skills/rite-prove/SKILL.md +95 -153
- package/pack/generated/claude/skills/rite-vet/SKILL.md +121 -174
- package/pack/generated/claude/skills/rite-vet/reference/anti-patterns.md +14 -2
- package/pack/generated/claude/skills/rite-vet/reference/artifacts.md +10 -6
- package/pack/generated/claude/skills/rite-vet/reference/depth.md +10 -3
- package/pack/generated/claude/skills/rite-vet/reference/review-axes.md +12 -4
- package/pack/generated/codex/skills/devrites-debug-recovery/SKILL.md +1 -10
- package/pack/generated/codex/skills/devrites-lib/reference/standards/acceptance-preserving-reslice.md +30 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/afk-hitl.md +2 -9
- package/pack/generated/codex/skills/devrites-lib/reference/standards/one-shot-actions.md +1 -6
- package/pack/generated/codex/skills/devrites-lib/reference/standards/workflow-artifacts.md +411 -102
- package/pack/generated/codex/skills/rite-autocomplete/SKILL.md +98 -146
- package/pack/generated/codex/skills/rite-autocomplete/reference/decision-policy.md +11 -5
- package/pack/generated/codex/skills/rite-autocomplete/reference/loop.md +96 -134
- package/pack/generated/codex/skills/rite-autocomplete/reference/stop-conditions.md +92 -131
- package/pack/generated/codex/skills/rite-build/SKILL.md +51 -79
- package/pack/generated/codex/skills/rite-build/reference/phase-contract.md +3 -17
- package/pack/generated/codex/skills/rite-plan/SKILL.md +17 -17
- package/pack/generated/codex/skills/rite-plan/reference/anti-patterns.md +11 -1
- package/pack/generated/codex/skills/rite-plan/reference/replan-and-repair.md +10 -3
- package/pack/generated/codex/skills/rite-prove/SKILL.md +95 -153
- package/pack/generated/codex/skills/rite-vet/SKILL.md +121 -174
- package/pack/generated/codex/skills/rite-vet/reference/anti-patterns.md +14 -2
- package/pack/generated/codex/skills/rite-vet/reference/artifacts.md +10 -6
- package/pack/generated/codex/skills/rite-vet/reference/depth.md +10 -3
- package/pack/generated/codex/skills/rite-vet/reference/review-axes.md +12 -4
- package/package.json +1 -1
|
@@ -7,165 +7,107 @@ user-invocable: true
|
|
|
7
7
|
|
|
8
8
|
# /rite-prove: prove the completed feature
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
`/rite-
|
|
10
|
+
Read the active workspace and prove the whole assembled feature once. Without
|
|
11
|
+
one, use `/verify` or `/run`; if any task is pending, stop for `/rite-build`.
|
|
12
|
+
Never report an unobserved pass. After Polish/Review code edits, repeat affected
|
|
13
|
+
criteria and bind evidence to the changed candidate digest.
|
|
12
14
|
|
|
13
|
-
|
|
14
|
-
> walks feature acceptance, relevant suite/build/typecheck/lint, and browser
|
|
15
|
-
> proof, writing evidence under the active workspace. Without one, use
|
|
16
|
-
> `/verify` or `/run`.
|
|
15
|
+
## Rules
|
|
17
16
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
exact
|
|
24
|
-
|
|
25
|
-
After polish/review edits, rerun affected criteria/routes so evidence binds the
|
|
26
|
-
changed candidate digest before Seal.
|
|
27
|
-
|
|
28
|
-
## Rules consulted (read on demand from `.claude/skills/devrites-lib/reference/standards/`)
|
|
29
|
-
Pull these via `Read` when relevant:
|
|
30
|
-
- `testing.md`: pyramid, determinism, no-flake discipline.
|
|
31
|
-
- `test-proof-checklist.md`: compact proof-quality gate for tests and recorded evidence.
|
|
32
|
-
- `browser-proof-checklist.md`: required UI states and Visual Verdict evidence.
|
|
33
|
-
- `spec-grammar.md`: when the spec uses structured `### Requirement:` / `#### Scenario:`
|
|
34
|
-
blocks, each scenario (WHEN/THEN) is one observable behavior to walk and prove.
|
|
35
|
-
- `performance.md`: measure first when perf is in scope.
|
|
36
|
-
- `observability.md`: runtime telemetry must be observed to emit.
|
|
37
|
-
- `repository-topology.md`, `data-integrity.md`, `integration-reliability.md`: only
|
|
38
|
-
for applicable spec/plan rows; their required proof cases cannot be replaced by a generic green suite.
|
|
39
|
-
- `developer-experience.md`: for developer surfaces, run the flow and measure TTHW plus exact
|
|
40
|
-
signal-bearing error text with typed redactions; never assert DX.
|
|
41
|
-
- `definition-of-done.md`: acceptance, proof, gates, scope, rollback/docs.
|
|
42
|
-
- `one-shot-actions.md`: pre-attempt evidence completeness and no-rerun handling for
|
|
43
|
-
consumptive proof actions.
|
|
44
|
-
- `workflow-artifacts.md`: exact root-owned executable proof/controller/harness
|
|
45
|
-
artifacts under the active feature workspace.
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
## Operating rules
|
|
49
|
-
- Evidence over confidence. Feature scope only: fix within the feature or record a
|
|
50
|
-
blocker; don't refactor unrelated code.
|
|
51
|
-
- Apply `testing.md`'s positive, discriminating proof rule to every behavioral claim.
|
|
52
|
-
A green command without an executing assertion and decisive observed signal is unproven.
|
|
53
|
-
- Follow the shared
|
|
54
|
-
[`candidate-integrity.md`](../devrites-lib/reference/candidate-integrity.md).
|
|
55
|
-
Prove owns proof binding, not manifest grammar or candidate hashing.
|
|
56
|
-
- Spec Drift Guard applies: if tests/evidence reveal the spec is wrong, stop and handle
|
|
57
|
-
drift (`rite-build/reference/spec-drift-guard.md`).
|
|
58
|
-
- **Root executes/records; runner validates; wright fixes.** Under
|
|
59
|
-
[`agents.md`](../devrites-lib/reference/standards/agents.md), root owns vetted gates, browser,
|
|
60
|
-
verdict, and canonical writes; read-only proof runner checks immutable evidence; each source/
|
|
61
|
-
test fix is one bounded wright task. Root materializes exact Vet-ready `.devrites/**`
|
|
62
|
-
executables under `workflow-artifacts.md`; they are not product writer work.
|
|
63
|
-
- **Prove remains the controlling caller during technical backtracking.** Save
|
|
64
|
-
its return cursor, invoke Plan/Vet or bounded remediation inline, consume each
|
|
65
|
-
nested phase boundary, then resume the failed Prove step. Never make the human
|
|
66
|
-
submit an agent-owned repair, re-vet, or proof-rerun command. Apply `afk-hitl.md`
|
|
67
|
-
progress accounting: only three no-progress attempts on the exact same fingerprint
|
|
68
|
-
exhaust recovery; a closed prior finding or a genuinely new
|
|
69
|
-
Critical/Important fingerprint continues inside this invocation.
|
|
17
|
+
Read the applicable standards: `testing.md`, `test-proof-checklist.md`,
|
|
18
|
+
`browser-proof-checklist.md` for UI, `spec-grammar.md`, `performance.md`,
|
|
19
|
+
`observability.md`, topology/data/integration rules named by the plan,
|
|
20
|
+
`developer-experience.md`, `definition-of-done.md`, `one-shot-actions.md`, and
|
|
21
|
+
`workflow-artifacts.md`. Developer surfaces require an observed flow, measured
|
|
22
|
+
TTHW, and exact signal-bearing errors; never assert DX.
|
|
70
23
|
|
|
24
|
+
- Evidence over confidence. Apply positive, discriminating proof to every
|
|
25
|
+
behavioral claim; a green command without executing assertion and decisive
|
|
26
|
+
signal is unproven.
|
|
27
|
+
- Follow `candidate-integrity.md`. Prove owns proof binding, not candidate
|
|
28
|
+
grammar/hashing. Spec Drift Guard owns revealed contract drift.
|
|
29
|
+
- Root executes vetted gates/browser and records evidence. A read-only proof
|
|
30
|
+
runner validates immutable evidence. The sole bounded wright fixes product
|
|
31
|
+
source/tests; root never does.
|
|
32
|
+
- **Prove remains the controlling caller** during technical backtracking. Save
|
|
33
|
+
its cursor; run Plan repair, Recovery Vet, remediation, and re-proof inline;
|
|
34
|
+
consume nested boundaries; resume the failed rung. Recovery exhausts after
|
|
35
|
+
three no-progress attempts on the exact same fingerprint. Closing one or exposing a distinct
|
|
36
|
+
Critical/Important invariant is progress, not a reason to hand work off.
|
|
37
|
+
<!-- workflow-artifact-adapter: {"module":"devrites-lib/reference/standards/workflow-artifacts.md","entry":"Prove consumes installed Workflow Artifact or CLEANED rerun","action":"VERIFY_EXISTING or admitted proof path ending PROVE_AND_RETURN","return":"saved Prove cursor; stop before real action"} -->
|
|
71
38
|
## Released-workspace refresh entry
|
|
72
39
|
|
|
73
|
-
Only an admitted `/rite-upgrade` assessment
|
|
74
|
-
defect
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
agree, preserve unrelated `touched-files.md` content and refresh only its strict manifest
|
|
79
|
-
from the currently observed project bytes under the workspace schema.
|
|
40
|
+
Only an admitted `/rite-upgrade` assessment proving a released-format candidate
|
|
41
|
+
defect enters. Require legacy touched-file scope, live diff, tasks, and traceability agree unambiguously
|
|
42
|
+
on every candidate path/state. Missing or
|
|
43
|
+
ambiguous scope stops; never guess from Git. Preserve unrelated manifest content
|
|
44
|
+
and refresh only the strict manifest from observed bytes.
|
|
80
45
|
|
|
81
|
-
Discard
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
failure is a blocker; this Upgrade admission never authorizes source or test changes.
|
|
46
|
+
Discard old passes. Run all current approved real proof from scratch. Establish
|
|
47
|
+
pre-proof and post-proof engine digest with `devrites-engine check candidate
|
|
48
|
+
<slug>` and require equality, then write one fresh exact binding in evidence and
|
|
49
|
+
browser evidence. Current failure blocks; Upgrade does not authorize source or
|
|
50
|
+
test changes.
|
|
87
51
|
|
|
88
52
|
## Workflow
|
|
89
|
-
0. Read core, load relevant rules above, then resolve the active slug,
|
|
90
|
-
require its `state.md`, and read the cursor directly. On a blocked Prove cold
|
|
91
|
-
resume, reconcile any retained consumptive-action artifact against recorded
|
|
92
|
-
no-progress corrections before accepting `next_action: none`; a distinct
|
|
93
|
-
fingerprint below its cap resumes offline triage without another real action.
|
|
94
|
-
1. **Confirm all slices built.** Read `spec.md`, `tasks.md`, `state.md`,
|
|
95
|
-
`test-plan.md`, and the full diff.
|
|
96
|
-
A missing `test-plan.md` enters caller-owned Vet backtracking; invoke Vet
|
|
97
|
-
inline and resume this step. It never authorizes ad hoc proof.
|
|
98
|
-
2. **Discover commands** if not recorded:
|
|
99
|
-
[test-command-discovery](reference/test-command-discovery.md): README, package
|
|
100
|
-
scripts, Makefile, CI configs, Gemfile/Rakefile, pyproject, go.mod, Cargo.toml.
|
|
101
|
-
Discovery only supplies evidence. `test-plan.md` is the sole approved runtime
|
|
102
|
-
command list. If a discovered command is absent from it, do not run or
|
|
103
|
-
silently approve the command: return to the current Vet contract to add and
|
|
104
|
-
vet it inline, refresh readiness, then return to Prove without a user handoff.
|
|
105
|
-
**Completion:** exact commands are approved in `test-plan.md` or unavailable.
|
|
106
|
-
3. **Execute proof against a frozen candidate.** Run
|
|
107
|
-
`devrites-engine check candidate <slug>` before any approved proof and retain
|
|
108
|
-
its exact digest. The root runs only commands declared by `test-plan.md`,
|
|
109
|
-
byte-for-byte, with exact cwd/prerequisites, exit code, and sanitized decisive output per
|
|
110
|
-
[`security.md` § Secrets](../devrites-lib/reference/standards/security.md#secrets). Never retain
|
|
111
|
-
raw secrets; lost signal is `cannot_verify` plus a safe manual step. Run the full relevant suite
|
|
112
|
-
plus **build / typecheck / lint**. Then rerun the candidate check: require the
|
|
113
|
-
identical digest and no candidate-source mutation. Reject synthesized or
|
|
114
|
-
substituted commands, malformed manifests, zero-test/skipped/filtered results used as
|
|
115
|
-
behavioral proof, success inferred only from exit status, and any source drift. Static
|
|
116
|
-
gates prove only their named static criterion.
|
|
117
|
-
Immediately before any consumptive action, apply `one-shot-actions.md` to the
|
|
118
|
-
live candidate: require the vetted retained-artifact identity, bounds,
|
|
119
|
-
sanitization, injective boundary map, per-seam fault fixtures, collision mutant,
|
|
120
|
-
terminal-path fixtures, and cleanup-survival proof. A missing,
|
|
121
|
-
stale, or disposable-only evidence surface returns to Vet inline and consumes
|
|
122
|
-
no attempt. Record the admitted artifact identity before execution. After a
|
|
123
|
-
failed consumptive action, triage from that artifact; never reproduce it by
|
|
124
|
-
rerunning the action. Consuming its authorization blocks only another real
|
|
125
|
-
execution. If the artifact identifies a new Critical/Important fingerprint,
|
|
126
|
-
continue offline recovery inside this Prove invocation; do not label the new
|
|
127
|
-
fingerprint exhausted because the action budget is zero.
|
|
128
|
-
4. **UI feature?** The root applies the browser proof ladder with
|
|
129
|
-
`design-brief.md`, `references.md`, the requested routes, browser harness, and
|
|
130
|
-
allowed scratch path:
|
|
131
|
-
[proof-ladder](reference/proof-ladder.md) + [browser-proof](reference/browser-proof.md)
|
|
132
|
-
(`devrites-browser-proof`): routes, viewports, screenshots (opened + described),
|
|
133
|
-
console, network, interaction paths, and the brief's proof targets. Compare screenshots
|
|
134
|
-
with target references and record deltas. An unresolved material mismatch is a failed
|
|
135
|
-
result; the root handles any accepted correction at step 7 before re-rendering.
|
|
136
|
-
5. **Validate proof in fresh context.** In parallel, dispatch the exact read-only
|
|
137
|
-
`devrites-proof-runner` on candidate identity, approved commands, immutable
|
|
138
|
-
root evidence, and acceptance map, and `devrites-spec-reviewer` on the same
|
|
139
|
-
candidate. Wait for both; reject missing/stale, invented-ID, label-only, or
|
|
140
|
-
self-attested evidence. Neither executes commands.
|
|
141
|
-
6. **Map proof completely.** Reconcile both exact verdicts, then follow
|
|
142
|
-
[`reference/acceptance-proof.md`](reference/acceptance-proof.md) for acceptance/scenario
|
|
143
|
-
coverage and the conditional critical-path, observability, developer-surface, and wiring
|
|
144
|
-
branches. Completion: every criterion, planned interaction, and declared key link has a
|
|
145
|
-
proof class plus positive, discriminating passing evidence, or is recorded as a blocker.
|
|
146
|
-
7. **On failure** → [failure-triage](reference/failure-triage.md) +
|
|
147
|
-
`devrites-debug-recovery`. The root reconciles the reproduction. Send an accepted,
|
|
148
|
-
in-scope correction to the sole writer, `devrites-slice-wright`; update the
|
|
149
|
-
manifest from its actual scoped diff, rerun affected real proof and both
|
|
150
|
-
candidate checks, then dispatch a fresh proof runner. If a fix would exceed
|
|
151
|
-
scope, record a blocker.
|
|
152
|
-
If triage shows an agent-owned durable-plan error, apply the Spec Drift
|
|
153
|
-
Guard's inline return contract: preserve Prove as the origin, run repair and
|
|
154
|
-
Vet inside this invocation, and resume the exact failed proof rung. Ask only
|
|
155
|
-
for a human-owned decision; causal-fingerprint exhaustion stops once with a
|
|
156
|
-
technical blocker rather than another phase command.
|
|
157
|
-
For a consumptive-action failure, use fixtures or another non-consumptive
|
|
158
|
-
reproduction to fix and re-vet the retained fingerprint. Once the failure
|
|
159
|
-
condition is demonstrably changed, stop at the fresh-authorization boundary;
|
|
160
|
-
only a new human GO may admit the next real attempt.
|
|
161
|
-
If the retained fingerprint is missing or ambiguous, the lost past evidence
|
|
162
|
-
does not prove that no safe future acquisition design exists. Treat an in-scope
|
|
163
|
-
discriminator as a diagnostic-amplification Plan gap: repair and narrow-Vet the
|
|
164
|
-
boundary map and collision proof inline, then stop for fresh GO before one
|
|
165
|
-
evidence-acquisition attempt. Do not guess the runtime fix or reuse the old GO.
|
|
166
|
-
8. The root updates `evidence.md`, `browser-evidence.md` (when present),
|
|
167
|
-
`traceability.md`, and `state.md`. Record exactly one binding for the observed
|
|
168
|
-
digest in evidence and browser evidence. New proof goes to canonical
|
|
169
|
-
`evidence.md`.
|
|
170
53
|
|
|
171
|
-
|
|
54
|
+
1. **Orient.** Read core, resolve active slug, require `state.md`, and read its
|
|
55
|
+
cursor. On blocked Prove cold resume, reconcile retained consumptive evidence
|
|
56
|
+
and no-progress corrections before accepting terminal none; a distinct
|
|
57
|
+
fingerprint below cap resumes offline triage without another real action.
|
|
58
|
+
2. **Freeze scope.** Read spec, tasks, state, test plan, and full diff. Require
|
|
59
|
+
every slice built. Missing `test-plan.md` invokes caller-owned Vet and returns
|
|
60
|
+
here; it never authorizes ad hoc proof.
|
|
61
|
+
3. **Approve commands.** If absent, use
|
|
62
|
+
[test-command-discovery](reference/test-command-discovery.md) over repository
|
|
63
|
+
manifests/CI. Discovery is evidence only: `test-plan.md` is the sole approved runtime
|
|
64
|
+
command list. A newly found command must return to the current Vet contract,
|
|
65
|
+
refresh readiness, then resume without user handoff.
|
|
66
|
+
4. **Execute a frozen candidate.** Run candidate check and retain its digest.
|
|
67
|
+
The root runs only commands declared by `test-plan.md`, with exact approved
|
|
68
|
+
command, cwd, prerequisites, exit, and sanitized
|
|
69
|
+
decisive output. Run relevant suite plus build/typecheck/lint. Recheck the
|
|
70
|
+
candidate and require identical digest/no source mutation. Reject substituted
|
|
71
|
+
commands, malformed manifests, zero-test/skipped/filtered behavioral claims,
|
|
72
|
+
exit-status-only claims, and source drift. Static gates prove only their named
|
|
73
|
+
static criterion.
|
|
74
|
+
5. **Gate consumptive actions.** Immediately before execution, apply
|
|
75
|
+
`one-shot-actions.md`: current retained identity, bounds/sanitization,
|
|
76
|
+
injective boundary map, per-seam fault fixtures, collision mutant, terminal
|
|
77
|
+
fixtures, and cleanup-survival proof must be green. Missing/stale/disposable-
|
|
78
|
+
only evidence returns to Vet without spending an attempt. Record the admitted artifact identity before execution.
|
|
79
|
+
After failure, retained evidence is the
|
|
80
|
+
reproduction; never rerun for diagnosis. Spent authorization blocks another
|
|
81
|
+
action, but when action budget is zero it does not exhaust a newly identified
|
|
82
|
+
offline fingerprint.
|
|
83
|
+
6. **Prove UI when applicable.** Use design brief/references, browser harness,
|
|
84
|
+
allowed scratch path, [proof ladder](reference/proof-ladder.md), and
|
|
85
|
+
[browser proof](reference/browser-proof.md): routes, viewports, opened and
|
|
86
|
+
described screenshots, console/network, interaction, target comparisons, and
|
|
87
|
+
every required state. Material mismatch fails.
|
|
88
|
+
7. **Independent validation.** Dispatch exact fresh read-only
|
|
89
|
+
`devrites-proof-runner` and `devrites-spec-reviewer` on the same candidate,
|
|
90
|
+
commands, immutable evidence, and acceptance map. Reject missing/stale,
|
|
91
|
+
invented-ID, label-only, or self-attested reports; neither executes commands.
|
|
92
|
+
8. **Map proof.** Reconcile both verdicts and
|
|
93
|
+
[acceptance-proof.md](reference/acceptance-proof.md). Every criterion,
|
|
94
|
+
scenario, interaction, and planned key link gets positive discriminating
|
|
95
|
+
evidence or a blocker, including applicable critical-path, observability,
|
|
96
|
+
developer, and wiring branches.
|
|
97
|
+
9. **Recover red.** Use [failure triage](reference/failure-triage.md) and Debug
|
|
98
|
+
Recovery. Reconcile reproduction; send accepted in-scope source/test correction
|
|
99
|
+
to the sole wright; update actual manifest; rerun affected proof, both candidate
|
|
100
|
+
checks, and fresh proof runner. Scope growth blocks.
|
|
101
|
+
|
|
102
|
+
Agent-owned durable-plan errors run Spec Drift Guard, Plan, and Vet inline,
|
|
103
|
+
preserving Prove as origin. Consumptive failures use retained fixtures, repair,
|
|
104
|
+
and Vet, then stop for fresh GO after changed conditions. Ambiguous retained
|
|
105
|
+
evidence does not prove that no safe future acquisition design exists: treat
|
|
106
|
+
an in-scope discriminator as diagnostic-amplification Plan gap, repair its
|
|
107
|
+
finite map/collision proof, narrow-Vet, then seek fresh GO before one evidence
|
|
108
|
+
attempt. Never guess the runtime fix or reuse old GO.
|
|
109
|
+
10. **Record.** Root updates `evidence.md`, optional `browser-evidence.md`,
|
|
110
|
+
traceability, and state, with exactly one observed candidate binding.
|
|
111
|
+
|
|
112
|
+
> Do not claim an unobserved pass, skip browser proof, or proceed with pending
|
|
113
|
+
> slices. Load `reference/anti-patterns.md` when tempted to do so.
|
|
@@ -8,186 +8,133 @@ user-invocable: true
|
|
|
8
8
|
# /rite-vet: review the plan before build
|
|
9
9
|
|
|
10
10
|
Vet every plan before code for scope, architecture, quality, proof, performance,
|
|
11
|
-
failure modes, and
|
|
12
|
-
into
|
|
13
|
-
Vet
|
|
11
|
+
failure modes, and writer safety. Cite findings; fold accepted technical
|
|
12
|
+
hardening into planning artifacts; design Build tests. Temper owns product
|
|
13
|
+
scope, Vet owns implementation; current `$ARGUMENTS` selects depth under
|
|
14
|
+
[`orchestration-profiles.md`](../devrites-lib/reference/orchestration-profiles.md), never removing the exact plan-reviewer gate.
|
|
14
15
|
|
|
15
|
-
|
|
16
|
-
comes from [`orchestration-profiles.md`](../devrites-lib/reference/orchestration-profiles.md),
|
|
17
|
-
but every profile keeps the exact plan-reviewer gate.
|
|
16
|
+
## Rules
|
|
18
17
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
`
|
|
22
|
-
`
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
18
|
+
Read the active standard from: `principles.md`, `patterns.md`, `coding-style.md`,
|
|
19
|
+
`testing.md`, `spec-grammar.md`, `performance.md`, `error-handling.md`,
|
|
20
|
+
`development-workflow.md`, `afk-hitl.md`, `one-shot-actions.md`,
|
|
21
|
+
`developer-experience.md`, `elicitation.md`, and `definition-of-done.md`. Load
|
|
22
|
+
repository topology, data integrity, and integration reliability only when
|
|
23
|
+
triggered. Before classifying any Reslice, read `.claude/skills/devrites-lib/reference/standards/acceptance-preserving-reslice.md`.
|
|
24
|
+
When a
|
|
25
|
+
plan declares a root-authored executable workflow file, read
|
|
26
|
+
`workflow-artifacts.md`.
|
|
26
27
|
|
|
28
|
+
<!-- BEGIN RESLICE ROUTE-TO-ACTION -->
|
|
29
|
+
- `FOLD` → fold technical topology; invalidate Vet/readiness; affected Vet before Build.
|
|
30
|
+
- `GUARD_AND_REPAIR` → no planning writes; Spec Drift Guard → Clarify → Plan repair → affected Vet.
|
|
31
|
+
- `BLOCKED_INPUT` → no planning writes; exact diagnostic; recover input; reclassify.
|
|
32
|
+
<!-- END RESLICE ROUTE-TO-ACTION -->
|
|
27
33
|
|
|
28
|
-
##
|
|
29
|
-
- **Review implementation, not ambition.** Temper's product scope is settled; challenge
|
|
30
|
-
only implementation creep, complexity, proof, and risk.
|
|
31
|
-
- **Root hardens; reviewers judge.** Root alone asks, decides, folds back, writes, and sets
|
|
32
|
-
readiness. Write behavior-preserving test, boundary, ordering, error, and failure-mode
|
|
33
|
-
refinements into `plan.md`/`tasks.md`/`test-plan.md`. Acceptance/product changes require
|
|
34
|
-
the Spec Drift Guard: `drift.md`, recorded decision, then `/rite-plan repair` for reslicing.
|
|
35
|
-
Build scope never grows without a recorded human decision.
|
|
36
|
-
- **Support every finding.** Cite its plan/spec/code source and confidence. Unverified or
|
|
37
|
-
confidence ≤4 stays suppressed per [`review-axes.md`](reference/review-axes.md).
|
|
38
|
-
- **Apply maximum caution to hard-to-reverse changes.** Auth, migration, public API, and
|
|
39
|
-
data-model changes always pause under the irreversible-risk list.
|
|
40
|
-
- **Use the lowest axis band.** Never round `thin` up to `ready`; do not average the
|
|
41
|
-
axes. Record the reason for every decision.
|
|
42
|
-
- **Search before asking.** Verify facts and fold reversible technical hardening into the
|
|
43
|
-
plan; ask only human-owned choices under `afk-hitl.md`. Dispatch uses the bounded
|
|
44
|
-
[`agents.md`](../devrites-lib/reference/standards/agents.md) contract.
|
|
45
|
-
- **Honor a recovery origin.** Preserve a valid technical-backtracking return
|
|
46
|
-
cursor throughout review. Agent-owned `NEEDS REPLAN` returns internally to the
|
|
47
|
-
controlling caller; it never becomes a request for the human to invoke Plan.
|
|
48
|
-
- **Recovery recheck is bounded.** A valid technical-backtracking cursor plus a
|
|
49
|
-
recorded open fingerprint enters the Recovery recheck below. Recovery recheck
|
|
50
|
-
does not start another Full Vet or repeat unaffected axes/reviewers.
|
|
34
|
+
## Invariants
|
|
51
35
|
|
|
36
|
+
- Review implementation, not ambition. Challenge creep, complexity, proof, and
|
|
37
|
+
risk without changing accepted product scope.
|
|
38
|
+
- Root alone asks, decides, folds, writes, and sets readiness. Reviewers judge;
|
|
39
|
+
they add no route policy. Cite every finding and confidence; suppress
|
|
40
|
+
unverified or confidence ≤4 findings under `review-axes.md`.
|
|
41
|
+
- Auth, migration, public API, and data-model changes use maximum caution and the
|
|
42
|
+
irreversible-risk stop. Project principles never become trade-offs.
|
|
43
|
+
- Use the lowest axis band; never average or round thin to ready. Search before
|
|
44
|
+
asking and resolve reversible technical choices. Ask only human-owned choices.
|
|
45
|
+
- Preserve a valid technical return cursor. Agent-owned `NEEDS REPLAN` returns
|
|
46
|
+
internally to its caller, not to the human.
|
|
47
|
+
- **Recovery recheck is bounded.** A valid cursor plus open fingerprint enters
|
|
48
|
+
Recovery recheck; it does not start another Full Vet or repeat unaffected
|
|
49
|
+
axes/reviewers.
|
|
50
|
+
<!-- workflow-artifact-adapter: {"module":"devrites-lib/reference/standards/workflow-artifacts.md","entry":"plan declares root-authored executable workflow file","action":"emit exact admission; stale/missing authority uses PLAN_VET_REPAIR","return":"Vet READY cursor or exact technical replan"} -->
|
|
52
51
|
## Workflow
|
|
53
|
-
0. **Read `.claude/skills/devrites-lib/reference/standards/core.md`** first.
|
|
54
|
-
Then resolve the active slug from `.devrites/ACTIVE`, require its
|
|
55
|
-
`state.md`, and read the workspace: `plan.md`, `tasks.md`, `spec.md`,
|
|
56
|
-
`decision-coverage.md`
|
|
57
|
-
(for intent + acceptance), `strategy.md` (if `/rite-temper` ran), `decisions.md`,
|
|
58
|
-
`assumptions.md`, `design-brief.md` (if UI), `state.md`. Require a `plan.md` whose
|
|
59
|
-
Readiness gate passes (or `Plan approved`): else STOP → `/rite-define`. Require
|
|
60
|
-
`Decision coverage: CLEAR`: else STOP → `/rite-clarify`. Prefer a
|
|
61
|
-
code-intelligence index if available (see
|
|
62
|
-
`.claude/skills/devrites-lib/reference/standards/tooling.md`) for placement / blast-radius / reuse checks.
|
|
63
|
-
1. **Set review depth. Never skip this step.** Apply
|
|
64
|
-
[`reference/depth.md`](reference/depth.md) exactly. Every plan leaves a recorded
|
|
65
|
-
engineering verdict and `test-plan.md` coverage map. For an admitted Recovery
|
|
66
|
-
recheck, retain the prior depth and proceed to step 1b instead of starting a new
|
|
67
|
-
depth/pass.
|
|
68
|
-
1a. **Independent pass at every initial depth.** Freeze the candidate; dispatch exact
|
|
69
|
-
`devrites-plan-reviewer` fresh/read-only and validate its report. Add exact
|
|
70
|
-
`devrites-devex-reviewer` for developer surfaces and require the current exact
|
|
71
|
-
`devrites-strategy-reviewer` verdict after significant Temper. Missing accounts
|
|
72
|
-
block; never substitute inline work.
|
|
73
|
-
1b. **Recovery recheck.** Require the valid return cursor, prior accepted findings,
|
|
74
|
-
exact open fingerprint/reproduction, repaired candidate identity, changed
|
|
75
|
-
paths/criteria, and affected evidence from `drift.md` / `evidence.md`. Freeze
|
|
76
|
-
that packet and dispatch each exact owning reviewer once, fresh/read-only and
|
|
77
|
-
limited to those inputs. Do not rerun unaffected reviewers or the broad steps
|
|
78
|
-
2-4 inventory. Mark the prior fingerprint resolved only when discriminating
|
|
79
|
-
evidence closes its reproduction; otherwise record one no-progress outcome.
|
|
80
|
-
A newly caused or exposed Critical or Important finding may block only with a
|
|
81
|
-
different failed invariant, exact evidence in the changed/affected boundary,
|
|
82
|
-
and a new fingerprint. A Suggestion, Nit, or FYI cannot keep recovery open.
|
|
83
|
-
Reconcile the common artifact/readiness gates below, then return to the caller
|
|
84
|
-
or its next repair; never convert the nested result into a human command.
|
|
85
|
-
2. **Scope challenge (blocking gate):** apply §0 of
|
|
86
|
-
[`reference/review-axes.md`](reference/review-axes.md). Search accepted ADRs and
|
|
87
|
-
relevant workspace `decisions.md` files directly. Harden to the smallest
|
|
88
|
-
behavior-preserving plan; ask only when that changes acceptance or explicit architecture policy.
|
|
89
|
-
2a. **Cross-artifact/project gates.** Check spec/tasks/traceability: every AC/REQ maps by
|
|
90
|
-
ID/meaning to slice/proof and back. Check terms, conflicts, principles, anti-slop, conventions;
|
|
91
|
-
Critical blocks and principle exceptions are human-owned. Recheck, then write `analysis.md`.
|
|
92
|
-
2b. **Build-entry preflight.** Using [`reference/artifacts.md`](reference/artifacts.md), verify
|
|
93
|
-
exact command/cwd/tool/version/prerequisite; output filters must preserve upstream failure or
|
|
94
|
-
check producer status separately. Verify packages against authoritative source and nearest
|
|
95
|
-
manifest/lockfile; parser-sensitive syntax in an isolated fixture;
|
|
96
|
-
applicable UI/browser harnesses. Remeasure decision-bearing counts/versions/state
|
|
97
|
-
claims read-only: live facts win; conflicts mark stale artifacts;
|
|
98
|
-
unmeasurable conflict = gap. Record complete SHA-256 provenance inputs. Require
|
|
99
|
-
every behavioral mapping to name a positive,
|
|
100
|
-
discriminating assertion and decisive signal, not merely a command or expected exit zero.
|
|
101
|
-
Identify every consumptive action under `one-shot-actions.md`. Before admitting
|
|
102
|
-
it, require the exact durable retention surface, trust-safe diagnostic schema,
|
|
103
|
-
cleanup ordering, terminal-path coverage, a finite injective boundary map,
|
|
104
|
-
per-boundary fault fixtures, and an executed collision mutant in `test-plan.md`.
|
|
105
|
-
Every retained failure fingerprint must identify one actionable seam; a broad
|
|
106
|
-
operation/cause shared by multiple emit sites is a gap. Missing or stale one-shot evidence completeness is a technical
|
|
107
|
-
preflight gap; do not spend the action to learn what cleanup would erase.
|
|
108
|
-
Preflight observes; it need not make future behavior pass.
|
|
109
|
-
2c. **Implementation-readiness audit.** Goal-backward map every REQ/AC/NFR, interaction,
|
|
110
|
-
edge/prohibition, and decision-coverage row to a slice and executable proof. Verify
|
|
111
|
-
UX/spec/architecture alignment, producer-consumer contracts, slice independence/order and
|
|
112
|
-
wiring, exact prerequisites, failure paths, operations, observability, rollout, and rollback.
|
|
113
|
-
Check `plan.md`'s canonical `Shared contract proof`: every changed API/event/schema or other
|
|
114
|
-
provider/consumer boundary needs one reused artifact and two asserting tests that consume it;
|
|
115
|
-
no boundary change needs the specific no-impact statement. Missing, one-sided, duplicated-contract,
|
|
116
|
-
vague, or non-consuming proof fails closed.
|
|
117
|
-
Fold technical fixes into the plan. Product/risk gaps are `NEEDS CLARIFICATION` →
|
|
118
|
-
`/rite-clarify`; technical plan/preflight gaps are `NEEDS REPLAN` → `/rite-plan repair`.
|
|
119
|
-
Neither becomes a build qid.
|
|
120
|
-
3. **Review four axes:** apply [`reference/review-axes.md`](reference/review-axes.md)
|
|
121
|
-
through [`reference/eng-lenses.md`](reference/eng-lenses.md). Fold verified,
|
|
122
|
-
behavior-preserving technical findings into the plan. Walk only human-owned decisions with
|
|
123
|
-
the human, one coherent option set at a time. The AFK ceiling remains owned by
|
|
124
|
-
[`reference/depth.md`](reference/depth.md): scope/acceptance changes and irreversible risk pause.
|
|
125
|
-
4. **Required outputs:** prepare every shape and fold-back in
|
|
126
|
-
[`reference/artifacts.md`](reference/artifacts.md), using the review rules in
|
|
127
|
-
[`reference/review-axes.md`](reference/review-axes.md). Derive dependency order
|
|
128
|
-
from the plan; let the native host schedule independent read-only work while
|
|
129
|
-
keeping source writers serial.
|
|
130
|
-
Completion: every scenario and acceptance criterion maps to planned positive,
|
|
131
|
-
discriminating proof, every slice is
|
|
132
|
-
one-pass implementable, the Build-entry preflight is green or names an owned prerequisite,
|
|
133
|
-
and developer-facing plans have a predicted `devex.md` scorecard. Durable proof commands
|
|
134
|
-
are portable repository commands; host-local wrappers belong only in observed
|
|
135
|
-
recorded execution evidence.
|
|
136
|
-
5. **Write and fold back every artifact required by
|
|
137
|
-
[`reference/artifacts.md`](reference/artifacts.md).** Route every
|
|
138
|
-
acceptance/behavior-changing delta through the **Spec Drift Guard** (`drift.md` +
|
|
139
|
-
recorded decision + `/rite-plan repair`). After any edit to
|
|
140
|
-
`brief.md`, `spec.md`, `decisions.md`, `assumptions.md`, or `questions.md`, re-scan the
|
|
141
|
-
affected coverage rows, assumption audit, residual uncertainty, and closed gates.
|
|
142
|
-
Partial/Missing, an unowned material assumption, or an open blocking/escalating question is
|
|
143
|
-
`NEEDS CLARIFICATION` → `/rite-clarify`/HITL; never refresh past it.
|
|
144
|
-
After each fold-back rerun step 2a; missing/meaning-changing mappings block.
|
|
145
|
-
Keep `state.md` non-READY for step 6.
|
|
146
|
-
6. **One narrow recheck after edits.** If the candidate changed, dispatch exact
|
|
147
|
-
`devrites-plan-reviewer` once per correction/fingerprint with accepted findings,
|
|
148
|
-
changed paths/criteria, and new identity. Within that same correction, no full
|
|
149
|
-
or third loop; if it changes the plan, repeat step 5. If the recheck closes its
|
|
150
|
-
input fingerprint but discovers a distinct Critical/Important invariant, return
|
|
151
|
-
that new fingerprint to the controlling caller as progress. It may start the
|
|
152
|
-
next bounded Plan/Recovery-Vet cycle; the prior reviewer count is not exhaustion.
|
|
153
|
-
Then close the matrix and rerun step 2a's ID-and-meaning audit.
|
|
154
52
|
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
53
|
+
0. **Orient.** Read core. Resolve active slug, require state, and read plan,
|
|
54
|
+
tasks, spec, decision coverage, optional strategy/design brief, decisions,
|
|
55
|
+
assumptions, and state. Require approved Plan and `Decision coverage: CLEAR`;
|
|
56
|
+
otherwise stop for Define or Clarify. Use code intelligence for placement,
|
|
57
|
+
blast radius, and reuse.
|
|
58
|
+
1. **Select depth.** Apply `reference/depth.md` exactly; never skip. Every initial
|
|
59
|
+
pass records an engineering verdict and test-plan coverage. A valid Recovery
|
|
60
|
+
recheck retains prior depth and enters 1b.
|
|
61
|
+
1a. **Independent initial pass.** Freeze candidate and dispatch exact fresh
|
|
62
|
+
read-only plan reviewer. Add developer-experience reviewer for developer
|
|
63
|
+
surfaces and current strategy reviewer after significant Temper. Missing
|
|
64
|
+
required account blocks.
|
|
65
|
+
1b. **Recovery recheck.** Require valid return cursor, accepted prior finding,
|
|
66
|
+
exact fingerprint/reproduction, repaired candidate identity, changed
|
|
67
|
+
paths/criteria, and affected drift/evidence. Freeze that packet and dispatch
|
|
68
|
+
each exact owning reviewer once, fresh/read-only, limited to it. Do not rerun
|
|
69
|
+
broad inventory or unaffected reviewers. Close the prior fingerprint only
|
|
70
|
+
with discriminating evidence. Otherwise record one no-progress outcome. A
|
|
71
|
+
different Critical/Important invariant needs exact evidence and a new
|
|
72
|
+
fingerprint; a Suggestion, Nit, or FYI cannot keep recovery open. Reconcile
|
|
73
|
+
shared artifact/readiness gates and return to caller or next repair.
|
|
74
|
+
2. **Challenge scope.** Apply review-axes §0 and search accepted decisions.
|
|
75
|
+
Harden to the smallest contract-complete plan, using marked topology action.
|
|
76
|
+
Then verify bidirectional ID-and-meaning traceability across spec/tasks/
|
|
77
|
+
acceptance, terms, principles, anti-slop, and conventions. Critical gaps and
|
|
78
|
+
unexcepted principle breaches block; write `analysis.md` after recheck.
|
|
79
|
+
3. **Preflight Build entry.** Under `reference/artifacts.md`, verify exact
|
|
80
|
+
command/cwd/tool/version/prerequisite; output filters must preserve upstream
|
|
81
|
+
failure. Verify dependencies from authoritative source plus nearest manifest.
|
|
82
|
+
Run parser-sensitive syntax only in isolated fixtures. Remeasure mutable facts;
|
|
83
|
+
live evidence wins, conflict marks stale, and unmeasurable conflict is a gap.
|
|
84
|
+
Record complete SHA-256 provenance. Every behavioral mapping names a positive
|
|
85
|
+
discriminating assertion and decisive signal, never only exit zero.
|
|
166
86
|
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
genuine human-owned gate is recorded.
|
|
181
|
-
When READY has no pending remediation slice and a valid technical return
|
|
182
|
-
cursor exists, restore and consume the return cursor instead of defaulting to
|
|
183
|
-
`/rite-build`, then return the nested result to the controlling caller. If
|
|
184
|
-
vetted remediation remains, preserve the cursor while the caller follows it;
|
|
185
|
-
only a real stop condition reaches the human.
|
|
186
|
-
7. **STOP.** Show the Build readback, scope verdict, lowest axis band, closed coverage
|
|
187
|
-
gaps, preflight, action-time checkpoints, and failure-mode criticals; recommend
|
|
188
|
-
`/rite-build` only when the entry contract is ready.
|
|
87
|
+
For each consumptive action, one-shot evidence completeness must bind durable
|
|
88
|
+
retention, trust-safe diagnostics, cleanup order, terminal coverage, finite
|
|
89
|
+
injective boundary map, per-boundary fault fixtures, and an executed collision mutant.
|
|
90
|
+
Every fingerprint identifies one actionable seam; aliasing multiple
|
|
91
|
+
emit sites is a gap. Preflight observes but need not make future behavior pass.
|
|
92
|
+
4. **Audit readiness.** Goal-backward map every requirement, criterion, NFR,
|
|
93
|
+
interaction, edge/prohibition, and decision row to one slice and executable
|
|
94
|
+
proof. Verify UX/spec/architecture alignment, contracts, dependency order,
|
|
95
|
+
slice independence/wiring, prerequisites, failure/observability/rollback, and
|
|
96
|
+
ownership. The plan's `Shared contract proof` names one reused boundary
|
|
97
|
+
artifact plus two consuming tests for every changed API/event/schema/provider-
|
|
98
|
+
consumer seam, or an explicit no-impact statement. Missing, one-sided,
|
|
99
|
+
duplicated-contract, vague, or non-consuming proof fails closed.
|
|
189
100
|
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
101
|
+
Technical gaps are `NEEDS REPLAN` and Plan repair. Product/risk gaps are
|
|
102
|
+
`NEEDS CLARIFICATION` and Clarify. Neither becomes a Build qid.
|
|
103
|
+
5. **Review axes.** Apply `review-axes.md` through `eng-lenses.md`. Fold verified
|
|
104
|
+
behavior-preserving technical findings; walk only human-owned decisions.
|
|
105
|
+
Profile gate ceiling and Reslice marked action remain authoritative.
|
|
106
|
+
6. **Write outputs.** Produce every artifact in `reference/artifacts.md`. After
|
|
107
|
+
editing intent/decision/assumption/question owners, re-scan affected coverage,
|
|
108
|
+
assumptions, uncertainty, and gates. Keep state non-READY. Every scenario and
|
|
109
|
+
criterion needs positive, discriminating proof; every slice must be one-pass
|
|
110
|
+
implementable; developer plans need a predicted scorecard. Durable commands
|
|
111
|
+
are portable repository commands, not host wrappers.
|
|
112
|
+
7. **Narrow recheck after edits.** Dispatch exact plan reviewer once per
|
|
113
|
+
correction/fingerprint (`per correction/fingerprint`) with accepted findings,
|
|
114
|
+
changed paths/criteria, and new
|
|
115
|
+
identity. Within one correction, no broad third loop. If it changes plan,
|
|
116
|
+
fold again. A closed input plus a distinct Critical/Important invariant returns
|
|
117
|
+
that new fingerprint as progress. Then close matrix and rerun ID/meaning audit.
|
|
118
|
+
8. **Build readback and readiness.** Add a cited five-line readback to
|
|
119
|
+
`eng-review.md`: outcome/ACs; IN/OUT/must-NOT; UI direction and architecture/
|
|
120
|
+
critical flow; slice order/first slice; decisive proof/action-time gates. A
|
|
121
|
+
fresh implementer must need no product, architecture, or proof invention.
|
|
122
|
+
Contradiction, ownerlessness, or material ambiguity blocks via Clarify or Plan.
|
|
123
|
+
|
|
124
|
+
Write exactly one `Implementation readiness: READY`, `NEEDS CLARIFICATION`,
|
|
125
|
+
or `NEEDS REPLAN`. Root alone sets READY after every account, checklist,
|
|
126
|
+
preflight, and sweep is green. Write phase/next step and emit one
|
|
127
|
+
`Readiness inputs SHA-256` with
|
|
128
|
+
`devrites-engine check readiness --emit-binding <slug>`; normal readiness check
|
|
129
|
+
must pass. Technical failure records reproduction, not qid. Human gap awaits
|
|
130
|
+
Clarify. Optional cross-model follows `reference/cross-model.md`.
|
|
131
|
+
|
|
132
|
+
With READY, no pending remediation, and a valid technical return cursor,
|
|
133
|
+
restore and consume the return cursor instead of defaulting to Build. Preserve
|
|
134
|
+
it through admitted remediation. Only a real stop reaches the human.
|
|
135
|
+
9. **Stop at the Vet boundary.** Show Build readback, scope verdict, lowest axis,
|
|
136
|
+
closed gaps, preflight, action checkpoints, and critical failures. Recommend
|
|
137
|
+
Build only when READY.
|
|
138
|
+
|
|
139
|
+
> Do not replace interactive review with artifacts, change acceptance through
|
|
140
|
+
> hardening, score without source evidence, or ignore unexplained complexity.
|
|
@@ -4,13 +4,21 @@ Universal rationalizations + red flags live in
|
|
|
4
4
|
[`../../devrites-lib/reference/standards/anti-patterns.md`](../../devrites-lib/reference/standards/anti-patterns.md): read it when the
|
|
5
5
|
reluctance is broader than this phase. Below are the vet-specific ones.
|
|
6
6
|
|
|
7
|
+
Authority: `.claude/skills/devrites-lib/reference/standards/acceptance-preserving-reslice.md`.
|
|
8
|
+
|
|
9
|
+
<!-- BEGIN RESLICE ROUTE-TO-ACTION -->
|
|
10
|
+
- `FOLD` → fold technical topology; invalidate Vet/readiness; affected Vet before Build.
|
|
11
|
+
- `GUARD_AND_REPAIR` → no planning writes; Spec Drift Guard → Clarify → Plan repair → affected Vet.
|
|
12
|
+
- `BLOCKED_INPUT` → no planning writes; exact diagnostic; recover input; reclassify.
|
|
13
|
+
<!-- END RESLICE ROUTE-TO-ACTION -->
|
|
14
|
+
|
|
7
15
|
## Phase rationalizations
|
|
8
16
|
|
|
9
17
|
| Excuse | Rebuttal |
|
|
10
18
|
|---|---|
|
|
11
19
|
| "I'll write all the findings into `eng-review.md` and let the user read it." | The artifact is the *output* of an interactive review, not a substitute for it. A material finding's path to "done" goes **through `AskUserQuestion`**, one at a time, with a recommendation + why. Dumping findings into one write and moving on is the exact failure this skill exists to prevent. |
|
|
12
20
|
| "The plan doesn't handle X: flag it." (without checking) | Quote the line first. If you can't quote where the plan handles X, you also can't be sure it doesn't: force confidence ≤4 and suppress. The "field/case doesn't exist" finding is the most common false positive; the verification gate exists to kill it. |
|
|
13
|
-
| "It's an obvious fix. I'll just edit the plan." |
|
|
21
|
+
| "It's an obvious fix. I'll just edit the plan." | Verified plan hardening is Vet's job; topology uses the marked action. |
|
|
14
22
|
| "This dimension is thin but the others are strong: net it's fine." | The gate is the **floor**, not the average. A plan `broken` on test-coverage does not pass because it's `strong` on architecture. |
|
|
15
23
|
| "I can see it's adequate. I'll note the band, the evidence is obvious." | Cite the quoted evidence **before** the band. Score-first-justify-later is how a reviewer waves through a plan it already likes. |
|
|
16
24
|
| "8+ files but it all needs to change: proceed." | The complexity smell is a **STOP-and-ask**, not a note. Name the overbuilt part, propose the smaller version that still meets acceptance, and let the human decide before any axis runs. Maybe it's justified (record *why*) but the gate fires first. |
|
|
@@ -18,11 +26,15 @@ reluctance is broader than this phase. Below are the vet-specific ones.
|
|
|
18
26
|
| "Performance looks fine." | "Looks fine" is not a measurement. A perf finding is "measure X against budget Y" or it's nothing: don't recommend speculative tuning, and don't wave past an N+1 you can quote. |
|
|
19
27
|
| "Cross-model agrees, so apply it." | Cross-model consensus is a strong *signal*, not an approval. Every cross-model finding is informational until the human approves it (or, in AFK, until the gate ceiling clears a hardening-only change). |
|
|
20
28
|
|
|
29
|
+
## Reslice classifier rationalizations
|
|
30
|
+
|
|
31
|
+
**RSLICE-VET-001** — Slice/topology growth alone does not stop; fewer slices do not prove scope reduction; remediation does not grow product.
|
|
32
|
+
|
|
21
33
|
## Red flags
|
|
22
34
|
- `eng-review.md` / `test-plan.md` written but `plan.md` / `tasks.md` **not** hardened: the build
|
|
23
35
|
follows the plan, so the review changed nothing.
|
|
24
36
|
- A finding raised with confidence ≥7 but **no quoted source line**, that defeats the verification gate.
|
|
25
|
-
-
|
|
37
|
+
- Acceptance/product-behavior growth auto-applied in AFK, or an orthogonal human-owned gate that did not pause.
|
|
26
38
|
- A failure-mode table with rows but no verdict column filled: a "no test + no handling + silent" row not marked Critical.
|
|
27
39
|
- The reviewer loop running past 3 iterations, or the reviewer / cross-model being handed the author's reasoning (defeats the fresh-context point).
|
|
28
40
|
- The skill writing code, implementing a slice, or running the build. That's `/rite-build`. Vet reviews and hardens the plan; it never implements.
|