devrites 7.1.1 → 7.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (147) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/README.md +1 -1
  3. package/pack/.claude/agents/devrites-upgrade-planner.md +12 -4
  4. package/pack/.claude/skills/devrites-debug-recovery/SKILL.md +21 -4
  5. package/pack/.claude/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +10 -3
  6. package/pack/.claude/skills/devrites-debug-recovery/reference/regression-test.md +7 -4
  7. package/pack/.claude/skills/devrites-lib/reference/reply-contract.md +11 -11
  8. package/pack/.claude/skills/devrites-lib/reference/standards/afk-hitl.md +52 -56
  9. package/pack/.claude/skills/devrites-lib/reference/standards/agents.md +11 -1
  10. package/pack/.claude/skills/devrites-lib/reference/standards/core.md +41 -40
  11. package/pack/.claude/skills/rite-autocomplete/SKILL.md +12 -14
  12. package/pack/.claude/skills/rite-autocomplete/reference/loop.md +34 -38
  13. package/pack/.claude/skills/rite-autocomplete/reference/stop-conditions.md +38 -39
  14. package/pack/.claude/skills/rite-define/SKILL.md +28 -27
  15. package/pack/.claude/skills/rite-plan/SKILL.md +7 -2
  16. package/pack/.claude/skills/rite-plan/reference/replan-and-repair.md +5 -2
  17. package/pack/.claude/skills/rite-resolve/SKILL.md +17 -10
  18. package/pack/.claude/skills/rite-resolve/reference/answer-protocol.md +18 -6
  19. package/pack/.claude/skills/rite-review/SKILL.md +4 -4
  20. package/pack/.claude/skills/rite-review/reference/security-review.md +4 -2
  21. package/pack/.claude/skills/rite-seal/SKILL.md +28 -33
  22. package/pack/.claude/skills/rite-ship/SKILL.md +14 -7
  23. package/pack/.claude/skills/rite-temper/SKILL.md +18 -18
  24. package/pack/.claude/skills/rite-temper/reference/scope-modes.md +6 -7
  25. package/pack/.claude/skills/rite-upgrade/SKILL.md +7 -2
  26. package/pack/.claude/skills/rite-vet/SKILL.md +33 -34
  27. package/pack/generated/claude/agents/devrites-upgrade-planner.md +12 -4
  28. package/pack/generated/claude/skills/devrites-debug-recovery/SKILL.md +21 -4
  29. package/pack/generated/claude/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +10 -3
  30. package/pack/generated/claude/skills/devrites-debug-recovery/reference/regression-test.md +7 -4
  31. package/pack/generated/claude/skills/devrites-lib/reference/reply-contract.md +11 -11
  32. package/pack/generated/claude/skills/devrites-lib/reference/standards/afk-hitl.md +52 -56
  33. package/pack/generated/claude/skills/devrites-lib/reference/standards/agents.md +11 -1
  34. package/pack/generated/claude/skills/devrites-lib/reference/standards/core.md +41 -40
  35. package/pack/generated/claude/skills/rite-autocomplete/SKILL.md +12 -14
  36. package/pack/generated/claude/skills/rite-autocomplete/reference/loop.md +34 -38
  37. package/pack/generated/claude/skills/rite-autocomplete/reference/stop-conditions.md +38 -39
  38. package/pack/generated/claude/skills/rite-define/SKILL.md +28 -27
  39. package/pack/generated/claude/skills/rite-plan/SKILL.md +7 -2
  40. package/pack/generated/claude/skills/rite-plan/reference/replan-and-repair.md +5 -2
  41. package/pack/generated/claude/skills/rite-resolve/SKILL.md +17 -10
  42. package/pack/generated/claude/skills/rite-resolve/reference/answer-protocol.md +18 -6
  43. package/pack/generated/claude/skills/rite-review/SKILL.md +4 -4
  44. package/pack/generated/claude/skills/rite-review/reference/security-review.md +4 -2
  45. package/pack/generated/claude/skills/rite-seal/SKILL.md +28 -33
  46. package/pack/generated/claude/skills/rite-ship/SKILL.md +14 -7
  47. package/pack/generated/claude/skills/rite-temper/SKILL.md +18 -18
  48. package/pack/generated/claude/skills/rite-temper/reference/scope-modes.md +6 -7
  49. package/pack/generated/claude/skills/rite-upgrade/SKILL.md +7 -2
  50. package/pack/generated/claude/skills/rite-vet/SKILL.md +33 -34
  51. package/pack/generated/codex/agents/devrites-upgrade-planner.toml +12 -4
  52. package/pack/generated/codex/skills/devrites-debug-recovery/SKILL.md +21 -4
  53. package/pack/generated/codex/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +10 -3
  54. package/pack/generated/codex/skills/devrites-debug-recovery/reference/regression-test.md +7 -4
  55. package/pack/generated/codex/skills/devrites-lib/reference/reply-contract.md +11 -11
  56. package/pack/generated/codex/skills/devrites-lib/reference/standards/afk-hitl.md +52 -56
  57. package/pack/generated/codex/skills/devrites-lib/reference/standards/agents.md +11 -1
  58. package/pack/generated/codex/skills/devrites-lib/reference/standards/core.md +41 -40
  59. package/pack/generated/codex/skills/rite-autocomplete/SKILL.md +12 -14
  60. package/pack/generated/codex/skills/rite-autocomplete/reference/loop.md +34 -38
  61. package/pack/generated/codex/skills/rite-autocomplete/reference/stop-conditions.md +38 -39
  62. package/pack/generated/codex/skills/rite-define/SKILL.md +28 -27
  63. package/pack/generated/codex/skills/rite-plan/SKILL.md +7 -2
  64. package/pack/generated/codex/skills/rite-plan/reference/replan-and-repair.md +5 -2
  65. package/pack/generated/codex/skills/rite-resolve/SKILL.md +17 -10
  66. package/pack/generated/codex/skills/rite-resolve/reference/answer-protocol.md +18 -6
  67. package/pack/generated/codex/skills/rite-review/SKILL.md +4 -4
  68. package/pack/generated/codex/skills/rite-review/reference/security-review.md +4 -2
  69. package/pack/generated/codex/skills/rite-seal/SKILL.md +28 -33
  70. package/pack/generated/codex/skills/rite-ship/SKILL.md +14 -7
  71. package/pack/generated/codex/skills/rite-temper/SKILL.md +18 -18
  72. package/pack/generated/codex/skills/rite-temper/reference/scope-modes.md +6 -7
  73. package/pack/generated/codex/skills/rite-upgrade/SKILL.md +7 -2
  74. package/pack/generated/codex/skills/rite-vet/SKILL.md +33 -34
  75. package/pack/generated/devin/agents/devrites-upgrade-planner.md +12 -4
  76. package/pack/generated/devin/skills/devrites-debug-recovery/SKILL.md +21 -4
  77. package/pack/generated/devin/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +10 -3
  78. package/pack/generated/devin/skills/devrites-debug-recovery/reference/regression-test.md +7 -4
  79. package/pack/generated/devin/skills/devrites-lib/reference/reply-contract.md +11 -11
  80. package/pack/generated/devin/skills/devrites-lib/reference/standards/afk-hitl.md +52 -56
  81. package/pack/generated/devin/skills/devrites-lib/reference/standards/agents.md +11 -1
  82. package/pack/generated/devin/skills/devrites-lib/reference/standards/core.md +41 -40
  83. package/pack/generated/devin/skills/rite-autocomplete/SKILL.md +12 -14
  84. package/pack/generated/devin/skills/rite-autocomplete/reference/loop.md +34 -38
  85. package/pack/generated/devin/skills/rite-autocomplete/reference/stop-conditions.md +38 -39
  86. package/pack/generated/devin/skills/rite-define/SKILL.md +28 -27
  87. package/pack/generated/devin/skills/rite-plan/SKILL.md +7 -2
  88. package/pack/generated/devin/skills/rite-plan/reference/replan-and-repair.md +5 -2
  89. package/pack/generated/devin/skills/rite-resolve/SKILL.md +17 -10
  90. package/pack/generated/devin/skills/rite-resolve/reference/answer-protocol.md +18 -6
  91. package/pack/generated/devin/skills/rite-review/SKILL.md +4 -4
  92. package/pack/generated/devin/skills/rite-review/reference/security-review.md +4 -2
  93. package/pack/generated/devin/skills/rite-seal/SKILL.md +28 -33
  94. package/pack/generated/devin/skills/rite-ship/SKILL.md +14 -7
  95. package/pack/generated/devin/skills/rite-temper/SKILL.md +18 -18
  96. package/pack/generated/devin/skills/rite-temper/reference/scope-modes.md +6 -7
  97. package/pack/generated/devin/skills/rite-upgrade/SKILL.md +7 -2
  98. package/pack/generated/devin/skills/rite-vet/SKILL.md +33 -34
  99. package/pack/generated/omp/agents/devrites-upgrade-planner.md +12 -4
  100. package/pack/generated/omp/skills/devrites-debug-recovery/SKILL.md +21 -4
  101. package/pack/generated/omp/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +10 -3
  102. package/pack/generated/omp/skills/devrites-debug-recovery/reference/regression-test.md +7 -4
  103. package/pack/generated/omp/skills/devrites-lib/reference/reply-contract.md +11 -11
  104. package/pack/generated/omp/skills/devrites-lib/reference/standards/afk-hitl.md +52 -56
  105. package/pack/generated/omp/skills/devrites-lib/reference/standards/agents.md +11 -1
  106. package/pack/generated/omp/skills/devrites-lib/reference/standards/core.md +41 -40
  107. package/pack/generated/omp/skills/rite-autocomplete/SKILL.md +12 -14
  108. package/pack/generated/omp/skills/rite-autocomplete/reference/loop.md +34 -38
  109. package/pack/generated/omp/skills/rite-autocomplete/reference/stop-conditions.md +38 -39
  110. package/pack/generated/omp/skills/rite-define/SKILL.md +28 -27
  111. package/pack/generated/omp/skills/rite-plan/SKILL.md +7 -2
  112. package/pack/generated/omp/skills/rite-plan/reference/replan-and-repair.md +5 -2
  113. package/pack/generated/omp/skills/rite-resolve/SKILL.md +17 -10
  114. package/pack/generated/omp/skills/rite-resolve/reference/answer-protocol.md +18 -6
  115. package/pack/generated/omp/skills/rite-review/SKILL.md +4 -4
  116. package/pack/generated/omp/skills/rite-review/reference/security-review.md +4 -2
  117. package/pack/generated/omp/skills/rite-seal/SKILL.md +28 -33
  118. package/pack/generated/omp/skills/rite-ship/SKILL.md +14 -7
  119. package/pack/generated/omp/skills/rite-temper/SKILL.md +18 -18
  120. package/pack/generated/omp/skills/rite-temper/reference/scope-modes.md +6 -7
  121. package/pack/generated/omp/skills/rite-upgrade/SKILL.md +7 -2
  122. package/pack/generated/omp/skills/rite-vet/SKILL.md +33 -34
  123. package/pack/generated/pi/agents/devrites-upgrade-planner.md +12 -4
  124. package/pack/generated/pi/skills/devrites-debug-recovery/SKILL.md +21 -4
  125. package/pack/generated/pi/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +10 -3
  126. package/pack/generated/pi/skills/devrites-debug-recovery/reference/regression-test.md +7 -4
  127. package/pack/generated/pi/skills/devrites-lib/reference/reply-contract.md +11 -11
  128. package/pack/generated/pi/skills/devrites-lib/reference/standards/afk-hitl.md +52 -56
  129. package/pack/generated/pi/skills/devrites-lib/reference/standards/agents.md +11 -1
  130. package/pack/generated/pi/skills/devrites-lib/reference/standards/core.md +41 -40
  131. package/pack/generated/pi/skills/rite-autocomplete/SKILL.md +12 -14
  132. package/pack/generated/pi/skills/rite-autocomplete/reference/loop.md +34 -38
  133. package/pack/generated/pi/skills/rite-autocomplete/reference/stop-conditions.md +38 -39
  134. package/pack/generated/pi/skills/rite-define/SKILL.md +28 -27
  135. package/pack/generated/pi/skills/rite-plan/SKILL.md +7 -2
  136. package/pack/generated/pi/skills/rite-plan/reference/replan-and-repair.md +5 -2
  137. package/pack/generated/pi/skills/rite-resolve/SKILL.md +17 -10
  138. package/pack/generated/pi/skills/rite-resolve/reference/answer-protocol.md +18 -6
  139. package/pack/generated/pi/skills/rite-review/SKILL.md +4 -4
  140. package/pack/generated/pi/skills/rite-review/reference/security-review.md +4 -2
  141. package/pack/generated/pi/skills/rite-seal/SKILL.md +28 -33
  142. package/pack/generated/pi/skills/rite-ship/SKILL.md +14 -7
  143. package/pack/generated/pi/skills/rite-temper/SKILL.md +18 -18
  144. package/pack/generated/pi/skills/rite-temper/reference/scope-modes.md +6 -7
  145. package/pack/generated/pi/skills/rite-upgrade/SKILL.md +7 -2
  146. package/pack/generated/pi/skills/rite-vet/SKILL.md +33 -34
  147. 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
- - **If the answer materially changes scope, architecture, or acceptance**, route it
43
- through the Spec Drift Guard (`/rite-plan repair`) **after** writing the answer: do
44
- not modify `spec.md` / `plan.md` inside this skill.
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`, `questions.md`, and the relevant slice from
70
- `tasks.md`. Confirm the qid is `status: open`. If `state.md` `Status` is not
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 only after a zero exit, also clear or update the unblocked slice's `Slice mode` in `state.md`: if
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.** If the answer changes product behavior or acceptance →
94
- recommend `/rite-plan repair`. Otherwise → recommend the slice's natural next action
95
- (typically `/rite-build` for the slice that was awaiting).
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. That's `/rite-plan repair`. Don't silently retry a build after the 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. Use `/rite-plan repair` to reconcile.
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`. That's `/rite-plan repair`'s job. The skill's post-resolve hand-off
94
- recommends `/rite-plan repair` whenever the answer touches acceptance criteria, scope,
95
- or architecture.
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. The answer may need a `/rite-plan repair` first; auto-continuing would build against
113
- a stale plan.
123
+ 1. Before planning artifacts exist, the emitted current phase owner must resume;
124
+ once a plan exists, material changes may need `/rite-plan repair` first.
125
+ Auto-continuing a build would skip that owner or use a stale plan.
114
126
  2. The user may want to `/rite-status` before resuming.
115
127
  3. Atomicity: one verb, one mutation. Chaining is a hidden side-effect that hides bugs.
116
128
 
@@ -32,7 +32,7 @@ Pull these via `Read` when the diff demands them:
32
32
  - [`principles.md`](../devrites-lib/reference/standards/principles.md): declared project invariants (`.devrites/principles.md`); a diff that violates one with no recorded exception is a Critical, blocking finding.
33
33
  - [`testing.md`](../devrites-lib/reference/standards/testing.md): confirm that passing tests actually prove the spec.
34
34
  - [`agents.md`](../devrites-lib/reference/standards/agents.md): when to fan out to which review subagent.
35
- - [`security.md`](../devrites-lib/reference/standards/security.md): when input / auth / data / integrations / secrets are in scope.
35
+ - [`security.md`](../devrites-lib/reference/standards/security.md): when the shared [`parallel-dispatch.md`](../devrites-lib/reference/parallel-dispatch.md#roster) roster triggers the security auditor.
36
36
  - [`security-checklist.md`](../devrites-lib/reference/standards/security-checklist.md): for the same security-sensitive scope, the compact trust-boundary sweep.
37
37
  - [`repository-topology.md`](../devrites-lib/reference/standards/repository-topology.md), [`data-integrity.md`](../devrites-lib/reference/standards/data-integrity.md), [`integration-reliability.md`](../devrites-lib/reference/standards/integration-reliability.md): only
38
38
  when the spec applicability map or final diff triggers their ownership/failure/proof checks.
@@ -139,9 +139,9 @@ Pull these via `Read` when the diff demands them:
139
139
  [performance-checklist](reference/performance-checklist.md)). No UI/route/style
140
140
  paths: record `Not-applicable: no relevant paths in diff`.
141
141
  5. **Security:** `devrites-security-auditor`
142
- ([security-review](reference/security-review.md)) joins the step-3 cohort when
143
- input, auth, data,
144
- secrets, or permissions are in the diff; else `Not-applicable: no relevant paths in diff`.
142
+ ([security-review](reference/security-review.md)) joins the step-3 cohort under the
143
+ canonical [parallel-dispatch roster trigger](../devrites-lib/reference/parallel-dispatch.md#roster),
144
+ including a dependency-only diff; else `Not-applicable: no relevant paths in diff`.
145
145
  6. **Performance:** `devrites-performance-reviewer`
146
146
  ([performance-review](reference/performance-review.md),
147
147
  [performance-checklist](reference/performance-checklist.md)) joins the step-3 cohort
@@ -1,7 +1,9 @@
1
1
  # Security review (feature-scoped)
2
2
 
3
- Apply when the feature involves user input, auth/authz, data storage, external
4
- integrations, secrets, or permissions. Delegates to `devrites-audit security`.
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
 
@@ -11,8 +11,7 @@ user-invocable: true
11
11
 
12
12
  # /rite-seal: GO / NO-GO
13
13
 
14
- Verify final candidate in `seal.md`; `/rite-ship` owns authorized irreversible
15
- actions and close-out.
14
+ Verify final candidate in `seal.md`; `/rite-ship` owns authorized irreversible actions/close-out.
16
15
 
17
16
  ## Authority
18
17
 
@@ -22,13 +21,12 @@ security, principles, documentation, observability, deprecation,
22
21
  definition-of-done, and [`verification-methods.md`](../devrites-lib/reference/standards/verification-methods.md)
23
22
  for coverage-denominator and evidence-status judgment.
24
23
  Load [`final-evidence.md`](reference/final-evidence.md) and
25
- [`go-no-go.md`](reference/go-no-go.md) for proof and verdict safety.
26
- Follow the shared
27
- [`candidate-integrity.md`](../devrites-lib/reference/candidate-integrity.md) for
28
- the reviewed digest and artifact bindings.
24
+ [`go-no-go.md`](reference/go-no-go.md) for proof/verdict safety.
25
+ Follow [`candidate-integrity.md`](../devrites-lib/reference/candidate-integrity.md)
26
+ for reviewed digest/artifact bindings.
29
27
 
30
- The host runs/reconciles named read-only reviewers; engine checks invariants.
31
- **Standard** is default; **Full** broadens conditional axes per
28
+ Host runs/reconciles named read-only reviewers; engine checks invariants.
29
+ **Standard** default; **Full** broadens conditional axes per
32
30
  [`devrites-lib/reference/orchestration-profiles.md`](../devrites-lib/reference/orchestration-profiles.md).
33
31
 
34
32
  ## Gate
@@ -36,7 +34,7 @@ The host runs/reconciles named read-only reviewers; engine checks invariants.
36
34
  | State | Verdict |
37
35
  |---|---|
38
36
  | Acceptance proven, deterministic checks pass, no unresolved drift or human gate, `Critical == 0`, `Important == 0` | **GO** |
39
- | Same, but `Important > 0` | Ask `Important findings remain. Proceed to seal? [y/N]`; default **N**. Only a human answers `y`; unattended (AFK/autocomplete) keeps **N** and stops for a human if Important remains |
37
+ | 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 |
40
38
  | `Critical > 0` | **NO-GO** |
41
39
  | Any acceptance criterion, resolved prohibition, or declared key link lacks proof | **NO-GO** |
42
40
  | `gates status` is not `all-met` — an unmet, stale, unapproved, or abandoned ledger gate remains | **NO-GO** |
@@ -49,8 +47,8 @@ The host runs/reconciles named read-only reviewers; engine checks invariants.
49
47
  | `check regression` reports an unblessed loss vs the recorded progress baseline | **NO-GO** |
50
48
  | `check windows` reports a deferral marker the change introduced without a `windows.md` waiver | **NO-GO** |
51
49
 
52
- A judgment-only criterion needs the human eye; AFK records a validating question
53
- (`slice: seal`) and stops. Autocomplete never auto-picks it; only a human answers.
50
+ Judgment-only criteria need humans. AFK records a validating question
51
+ (`slice: seal`), stops; Autocomplete never auto-picks.
54
52
 
55
53
  ## Workflow
56
54
 
@@ -68,36 +66,33 @@ Follow [`reference/phase-contract.md`](reference/phase-contract.md)
68
66
  5. draft GO/NO-GO `seal.md` with acceptance, tests, decisions, and seven roster accounts plus proof-runner and doubt-reviewer
69
67
  (each engineering lane its own account);
70
68
  6. write exactly one candidate binding, then run
71
- `devrites-engine check seal <slug>` for structure and identity, never semantics,
72
- and, when that check reports a stale readiness-input binding, run
73
- `devrites-engine check drift <slug>` before returning to Vet so the repair
74
- starts at the named changed, missing, or added input,
75
- and `devrites-engine check regression <slug>` to confirm no recorded progress
76
- fact was lost since the last checkpoint — `BLOCKED` is NO-GO; `unproven`
77
- (no baseline) does not block — plus two separate runs of `devrites-engine check windows <slug>`,
69
+ `devrites-engine check seal <slug>` for structure/identity, never semantics.
70
+ For stale readiness-input bindings, run `devrites-engine check drift <slug>`
71
+ before returning to Vet; start repair at the named changed/missing/added input.
72
+ Run `devrites-engine check regression <slug>` for progress lost since last
73
+ checkpoint: `BLOCKED` is NO-GO; `unproven` (no baseline) does not block.
74
+ Run `devrites-engine check windows <slug>` twice,
78
75
  one with `--base <release-base>` and one with `--worktree` (the only mode that scans
79
76
  untracked files; never pass both flags in one command, the last one wins) so each deferral marker the feature diff introduced
80
77
  carries a `windows.md` waiver row ([`windows.md`](../devrites-lib/reference/standards/windows.md));
81
- unwaived hits are NO-GO. The engine already refuses a `gates.md` ledger
82
- that is malformed, unmet,
83
- stale, unapproved, or abandoned — a seal-side `gates status` reading anything
84
- but `all-met` means Prove's evidence is not current; return there, never
85
- attest past it. Before the Seal wave, run `devrites-engine gates reverify <slug>
86
- --transcripts` on the frozen candidate, so every gate has a transcript bound to
87
- this digest for the proof runner. It likewise refuses a malformed `notes.md` or any anchor
88
- graded other than `exact`: `devrites-engine note check <slug> --repair`
89
- re-anchors `moved` notes; `stale`/`ambiguous`/`lost` ones are corrected or
90
- removed before GO. Repeat each `note: unexecuted driver` line `check seal` prints in the GO/NO-GO reply.
91
-
92
- Corrections return through affected Prove/Review before restarting Seal under
78
+ unwaived hits are NO-GO. The engine rejects malformed, unmet, stale, unapproved, or abandoned
79
+ `gates.md` ledgers. Unless Seal-side `gates status` says `all-met`, return to
80
+ Prove: evidence is not current; never attest past it. Before Seal wave, run `devrites-engine gates reverify <slug>
81
+ --transcripts` on the frozen candidate: bind every gate transcript to this
82
+ digest for the proof runner. It also rejects malformed `notes.md` or non-`exact` anchors:
83
+ `devrites-engine note check <slug> --repair` re-anchors `moved` notes;
84
+ fix/remove `stale`/`ambiguous`/`lost` notes before GO. Repeat each `note: unexecuted driver` line `check seal` prints in GO/NO-GO reply.
85
+
86
+ Corrections pass affected Prove/Review before Seal restarts under
93
87
  [evidence validity](../devrites-lib/reference/candidate-integrity.md#evidence-validity).
94
88
 
95
- Only repository scripts/CI authorize commands; never guess.
89
+ Only repo scripts/CI authorize commands; never guess.
96
90
 
97
91
  ## On GO
98
92
 
99
- Set `state.md` `Next step: /rite-ship` and stop. A GO is a verdict, not
100
- authorization to perform an irreversible action.
93
+ Set `state.md` `Next step: /rite-ship`. Standalone Seal stops. Under active `/rite-autocomplete`, return internally to the caller
94
+ for recorded sequence continuation or [Ship preflight](../rite-ship/reference/git-ship.md#before-type-go),
95
+ no intermediate final reply. GO grants no irreversible-action authority.
101
96
 
102
97
  ## Output
103
98
 
@@ -45,12 +45,16 @@ if absent, route to `/rite-spec <feature>`. Ship only with current **GO** in `se
45
45
  1a. **Health (advisory).** Apply `/rite-doctor` read-only; surface WARN/FAIL without
46
46
  repair. If ACTIVE is flagged, confirm the slug.
47
47
  2. **Prepare the exact Git candidate.** Follow
48
- [`git-ship.md`](reference/git-ship.md): refuse out-of-manifest staged work; stage
49
- exact manifest paths only after Seal GO; compare NUL-delimited staged state/path
50
- sets, require identical index/worktree bytes, and rerun candidate/Seal checks.
51
- From the verified index, build the exact project-conformant message/trailers,
52
- branch, tag/PR, commands, and skips.
53
- 2a. **Credential guard (HIGH blocks).** Scan staged blobs and any PR body. HIGH stops
48
+ [`git-ship.md`](reference/git-ship.md)'s read-only pre-GO ladder: inspect the
49
+ candidate and existing NUL-delimited staged state/path set, refuse out-of-manifest
50
+ staged work, and rerun candidate/Seal checks. Do not stage or collapse checkpoints
51
+ before fresh literal `GO`. From the verified candidate, disclose the exact proposed
52
+ staging/collapse commands, project-conformant message/trailers, branch, tag/PR,
53
+ commands, and skips; the existing index need not yet equal the candidate.
54
+ 2a. **Credential guard (HIGH blocks).** Before type-GO, run only read-only scans of
55
+ existing staged blobs and the proposed PR body. This is not a final candidate-clean
56
+ claim; after literal `GO` and exact staging, repeat the full staged scan before commit.
57
+ HIGH stops
54
58
  and requires rotation/redaction; MEDIUM needs confirmation recorded in `ship.md`;
55
59
  LOW is FYI.
56
60
  ```bash
@@ -71,7 +75,10 @@ if absent, route to `/rite-spec <feature>`. Ship only with current **GO** in `se
71
75
  Literal `GO` proceeds once; anything else records cancellation in `ship.md` and
72
76
  stops. Any command/scope/branch/message/tag/PR change or retry needs a fresh prompt;
73
77
  native approval is still required.
74
- 4. On GO, commit; verify committed state/path set and exact candidate digest; then push →
78
+ 4. On literal GO plus native approval, follow `git-ship.md`'s post-GO ladder:
79
+ disclosed collapse/staging, staged scope/byte comparisons, candidate/Seal revalidation,
80
+ and full staged secret scan BEFORE commit. Then commit; verify committed state/path
81
+ set and exact candidate digest; then push →
75
82
  tag/PR as applicable via `git-ship.md`. Record SHA and push state in `ship.md` before
76
83
  push (git-ship 7a); a push/tag/PR failure stops, and a rerun resumes at push under
77
84
  fresh type-GO. Capture branch, tag/PR URL. Mismatch stops before push/tag; retry
@@ -11,10 +11,10 @@ user-invocable: true
11
11
 
12
12
  # /rite-temper: review scope and risk before planning
13
13
 
14
- Review the readied spec for ambition, scope, pre-mortem risk and unnecessary surface. Fold accepted decisions into the canonical contract before
15
- `/rite-define`. This step is optional for small work and skips low-stakes specs, but
16
- `/rite-autocomplete` always invokes it. **Read the active workspace first**; if there
17
- is no readied `spec.md`, tell the user to run `/rite-spec`. Review depth follows
14
+ Review readied spec ambition, scope, pre-mortem risk, and excess surface. Fold
15
+ accepted decisions into the canonical contract before `/rite-define`. Optional for
16
+ small work; skips low-stakes specs; `/rite-autocomplete` always invokes it.
17
+ **Read active workspace first**; no readied `spec.md` → `/rite-spec`. Depth follows
18
18
  [`devrites-lib/reference/orchestration-profiles.md`](../devrites-lib/reference/orchestration-profiles.md);
19
19
  the required exact strategy reviewer never changes with profile.
20
20
 
@@ -28,24 +28,24 @@ that needs more than the default pre-mortem) selected by the section's risk). Lo
28
28
  the spec applicability map triggers that risk family.
29
29
 
30
30
  ## Operating rules
31
- - **Raise outcome ambition without expanding the solution unnecessarily.** Solve the
32
- underlying problem without adding speculative capability or abstraction.
31
+ - **Raise outcome ambition, not excess solution surface.** Solve the underlying
32
+ problem without speculative capability/abstraction.
33
33
  - **Route every scope change through the Spec Drift Guard.** A scope change takes effect
34
34
  only when `spec.md` records the confirmed decision. Growth (`expand`, extra
35
35
  acceptance) needs a resolved human `questions.md` qid, so an unattended run holds it
36
36
  open. Irreversible-risk still pauses.
37
- - **Apply maximum caution to hard-to-reverse changes.** Auth, migration, public API, and
38
- data-model changes always pause under the irreversible-risk list.
39
- - **Honest verdict.** Never round "needs work" up to "ready"; record every scope call's *why*.
40
- - **Search before asking.** Apply [`afk-hitl.md`](../devrites-lib/reference/standards/afk-hitl.md) decision ownership; only human-owned calls
41
- enter the interactive walk.
42
- - **You write; the reviewer judges.** You are the single canonical writer (`strategy.md` +
43
- the spec edits); the reviewer agent is read-only.
44
- - **Require spec-quality checklists for significant features.** Before hardening,
45
- confirm `checklists/<domain>.md` exist and pass ([`spec-checklists.md`](../rite-spec/reference/spec-checklists.md)); a
46
- scope expansion you fold in **adds its own** rows (new Success/Acceptance criteria get
47
- checklist rows too). A folded expansion with an unquantified criterion is a CRITICAL
48
- failure that reopens the readiness gate.
37
+ - **Maximum caution:** auth, migration, public API, and data-model changes need
38
+ full review and explicit rollback. Pause only for [canonical irreversible-risk items](../devrites-lib/reference/standards/afk-hitl.md#irreversible-risk-list-always-pause)
39
+ or unresolved human-owned decisions, not an already-approved reversible internal data-model change.
40
+ - **Honest verdict.** Never round "needs work" to "ready"; record each scope call's *why*.
41
+ - **Search before asking.** Apply [`afk-hitl.md`](../devrites-lib/reference/standards/afk-hitl.md) ownership;
42
+ only human-owned calls enter the interactive walk.
43
+ - **You write; reviewer judges.** Sole canonical writer: `strategy.md` + spec edits;
44
+ reviewer is read-only.
45
+ - **Significant features require spec-quality checklists.** Before hardening,
46
+ require passing `checklists/<domain>.md` ([`spec-checklists.md`](../rite-spec/reference/spec-checklists.md)); a
47
+ folded scope expansion **adds its own** rows, including new Success/Acceptance
48
+ criteria. An unquantified folded criterion is a CRITICAL failure reopening readiness.
49
49
 
50
50
  ## Workflow
51
51
  0. **Read `.pi/skills/devrites-lib/reference/standards/core.md`**, then
@@ -1,7 +1,6 @@
1
1
  # Scope modes + the two passes
2
2
 
3
- The heart of `/rite-temper`: two ordered passes (heat, then quench), converging on exactly
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
- The bigger the bet, the more it must be reversible. Irreversible-risk areas (auth, migrations,
45
- public API, data model) get the **opposite** of ambition: maximum conservatism, explicit
46
- rollback, and they **always pause** regardless of mode (the [`afk-hitl.md`](../../devrites-lib/reference/standards/afk-hitl.md) irreversible-risk
47
- list is honored verbatim). Size big bets so that if the whole thing vanished tomorrow, you'd be
48
- fine.
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 deferred by
103
- an old Ship-era workspace → `/rite-polish`;
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
 
@@ -11,10 +11,10 @@ user-invocable: true
11
11
 
12
12
  # /rite-vet: review the plan before build
13
13
 
14
- Vet every plan's scope, architecture, quality, proof, performance, failures and writer
15
- safety. Fold cited technical findings; design Build tests. Temper owns product;
16
- Vet owns implementation; current `$ARGUMENTS` (`--full`) feeds the depth triggers in
17
- `reference/depth.md`; profiles never remove the exact plan-reviewer gate
14
+ Vet each plan: scope, architecture, quality, proof, performance, failures, writer
15
+ safety. Fold cited technical findings; design Build tests. Temper owns product,
16
+ Vet implementation. Current `$ARGUMENTS` (`--full`) feeds `reference/depth.md`
17
+ triggers; profiles never remove the exact plan-reviewer gate
18
18
  ([orchestration-profiles.md](../devrites-lib/reference/orchestration-profiles.md)).
19
19
 
20
20
  ## Rules
@@ -41,21 +41,23 @@ plan declares a root-authored executable workflow file, read
41
41
 
42
42
  ## Invariants
43
43
 
44
- - Review implementation, not ambition. Challenge creep, complexity, proof, and
45
- risk without changing accepted product scope.
46
- - Root owns decisions/writes/readiness; reviewers judge without route policy.
47
- Cite findings/confidence; suppress
48
- unverified or confidence ≤4 findings under `review-axes.md`.
49
- Lens arrows in `eng-lenses.md` are heuristics; band findings only under the
50
- four `review-axes.md` names.
51
- - Auth, migration, public API, and data-model changes use maximum caution and the
52
- irreversible-risk stop. Project principles never become trade-offs.
44
+ - Review implementation, not ambition. Challenge creep/complexity/proof/risk
45
+ without changing accepted product scope.
46
+ - Root owns decisions/writes/readiness; reviewers judge, not route. Cite
47
+ findings/confidence; suppress unverified or confidence ≤4 findings per
48
+ `review-axes.md`. `eng-lenses.md` arrows are heuristics; use only the four
49
+ `review-axes.md` band names.
50
+ - Auth, migration, public API, and data-model changes need maximum caution,
51
+ full review, and explicit rollback. Pause only for
52
+ [canonical irreversible-risk items](../devrites-lib/reference/standards/afk-hitl.md#irreversible-risk-list-always-pause)
53
+ or unresolved human-owned decisions, not an already-approved reversible internal
54
+ data-model change. Project principles never become trade-offs.
53
55
  - **Governance-protected paths** (`.devrites/**`, pack skill/agent trees,
54
- `NOTICE.md` generator regions, CI/hook config named in repo docs) require explicit
55
- human approval before plan slices may edit them. A slice touching a protected path
56
- without approval → Vet **NEEDS CLARIFICATION**.
57
- - Use the lowest axis band; never average or round thin to ready. Search before
58
- asking and resolve reversible technical choices. Ask only human-owned choices.
56
+ `NOTICE.md` generator regions, documented CI/hook config) require explicit
57
+ human approval before plan slices edit them; absent approval → Vet
58
+ **NEEDS CLARIFICATION**.
59
+ - Use lowest axis band; never average/round thin to ready. Search; resolve
60
+ reversible technical choices; ask only human-owned.
59
61
  - Preserve a valid technical return cursor. Agent-owned `NEEDS REPLAN` returns
60
62
  internally to its caller, not to the human; on a direct invocation there is
61
63
  no caller, so Vet becomes it — save a return cursor
@@ -76,18 +78,16 @@ plan declares a root-authored executable workflow file, read
76
78
  assumptions, and state. Require approved Plan and `Decision coverage: CLEAR`;
77
79
  otherwise stop for Define or Clarify. Check placement (`get_architecture`),
78
80
  blast radius (`trace_path`), and reuse (`search_graph`) per [`code-navigation.md`](../devrites-lib/reference/standards/code-navigation.md).
79
- 1. **Select depth.** Apply `reference/depth.md` exactly; never skip. Every initial
80
- pass records an engineering verdict and test-plan coverage. A valid Recovery
81
- recheck retains prior depth and enters 1b.
82
- 1a. **Independent initial pass.** Freeze candidate and dispatch the exact fresh
83
- read-only plan reviewer — plus developer-experience reviewer for developer
84
- surfaces (trigger `devex`) and the current strategy reviewer after significant
85
- Temper — in
86
- parallel under `../devrites-lib/reference/parallel-dispatch.md`; they are
87
- independent read-only passes on one frozen candidate. Missing
88
- required account blocks. Run root steps 2–4, including step 3's preflight
89
- commands, on the same frozen candidate while the wave is out; reconcile the
90
- accounts when they return.
81
+ 1. **Select depth.** Apply `reference/depth.md` exactly; never skip. Initial passes
82
+ record engineering verdict and test-plan coverage. Valid Recovery rechecks
83
+ retain prior depth; enter 1b.
84
+ 1a. **Independent initial pass.** Freeze candidate; dispatch exact fresh read-only
85
+ plan reviewer, plus developer-experience reviewer for developer surfaces
86
+ (trigger `devex`) and current strategy reviewer after significant Temper, in
87
+ parallel under `../devrites-lib/reference/parallel-dispatch.md`: independent
88
+ read-only passes on one frozen candidate. Missing required account blocks.
89
+ Meanwhile run root steps 2–4, including step 3 preflight commands, on that
90
+ candidate; reconcile returned accounts.
91
91
  1b. **Recovery recheck.** Require valid return cursor, accepted prior finding,
92
92
  exact fingerprint/reproduction, repaired candidate identity, changed
93
93
  paths/criteria, affected drift/evidence, and the recorded delta self-check.
@@ -118,14 +118,13 @@ plan declares a root-authored executable workflow file, read
118
118
  Do not fall through to steps 2–7. Retain evidenced unchanged coverage; changed
119
119
  global contract/uncertain impact requires full applicable review. Reopen historical
120
120
  findings only for affected invariants/dependencies.
121
- 2. **Challenge scope.** Apply review-axes §0 and search accepted decisions.
121
+ 2. **Challenge scope.** Apply review-axes §0; search accepted decisions.
122
122
  Harden to the smallest contract-complete plan, using marked topology action.
123
123
  Then verify bidirectional ID-and-meaning traceability across spec/plan/
124
124
  tasks/test-plan/traceability, acceptance, terms, principles, anti-slop,
125
125
  and conventions; every slice and test-plan row maps to a live requirement
126
- and vice versa. Critical gaps and
127
- unexcepted principle breaches block; record the challenge result in `eng-review.md`
128
- §2 (Scope challenge) after recheck.
126
+ and vice versa. Critical gaps/unexcepted principle breaches block. Record
127
+ rechecked result in `eng-review.md` §2 (Scope challenge).
129
128
  3. **Preflight Build entry.** Under `reference/artifacts.md`, verify exact
130
129
  command/cwd/tool/version/prerequisite; output filters must preserve upstream
131
130
  failure. Verify dependencies from authoritative source plus nearest manifest.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "devrites",
3
- "version": "7.1.1",
3
+ "version": "7.1.2",
4
4
  "description": "DevRites: a disciplined senior-engineer workflow pack for Claude Code, Codex, omp, pi, and Devin CLI",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
6
  "homepage": "https://github.com/ViktorsBaikers/DevRites#readme",