devrites 6.9.3 → 6.9.4

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 CHANGED
@@ -2,6 +2,12 @@
2
2
 
3
3
  All notable changes to DevRites are documented here. The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) and DevRites adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). Releases are generated automatically by [semantic-release](https://semantic-release.gitbook.io/) from Conventional Commits on `main`.
4
4
 
5
+ ## [6.9.4](https://github.com/ViktorsBaikers/DevRites/compare/v6.9.3...v6.9.4) (2026-10-19)
6
+
7
+ ### Fixed
8
+
9
+ * **devrites:** hold evidence gaps to proportionality ([#135](https://github.com/ViktorsBaikers/DevRites/issues/135)) ([275d260](https://github.com/ViktorsBaikers/DevRites/commit/275d260d03bde41c548eec770119034cadfa5947))
10
+
5
11
  ## [6.9.3](https://github.com/ViktorsBaikers/DevRites/compare/v6.9.2...v6.9.3) (2026-10-18)
6
12
 
7
13
  ### Fixed
package/README.md CHANGED
@@ -31,7 +31,7 @@ history can't lose it. After you clear the conversation, switch hosts, or hand
31
31
  the feature to another engineer, the next session reads the same plan,
32
32
  decisions, and evidence before it continues.
33
33
 
34
- **Status:** [`v6.9.3`](https://github.com/ViktorsBaikers/DevRites/releases/tag/v6.9.3): see [`CHANGELOG.md`](CHANGELOG.md) for release notes.
34
+ **Status:** [`v6.9.4`](https://github.com/ViktorsBaikers/DevRites/releases/tag/v6.9.4): see [`CHANGELOG.md`](CHANGELOG.md) for release notes.
35
35
 
36
36
  This is the latest published release; `main` may contain unreleased work.
37
37
 
@@ -133,7 +133,12 @@ Basis: <files read · commands run to reach this finding>
133
133
  - **`no-findings`:** `No-findings:` names checks and inspected evidence. Bare
134
134
  pass, empty list, or “looks good” is malformed.
135
135
  - **`gap`:** names missing/unreadable/stale input; skipped/failed required check;
136
- tool/reviewer failure; or another limit. Required gaps block.
136
+ tool/reviewer failure; or another limit. Required gaps block. A reviewer gap
137
+ that asks for more evidence without showing a defect is required only when it
138
+ quotes the anchor that demands that evidence, as Proportionality does: a spec ID,
139
+ an owner decision, or a shipped standard rule. Without one, root logs it
140
+ `Deferred: <claim> — no anchor`. Advisory gaps follow
141
+ [security.md § Reachability sets severity](security.md#reachability-sets-severity).
137
142
  - **Transport failure is not a finding.** A read-only leaf aborted, timed out, lost,
138
143
  or with host-rejected output is `gap` quoting the host error. Re-dispatch one fresh
139
144
  child with the same brief and read-set — never a resume of the failed child. The
@@ -120,6 +120,12 @@ as source evidence. Missing reachability or control evidence is
120
120
  `needs_validation`, not a confirmed vulnerability or a clean bill of health.
121
121
  Required unresolved evidence blocks proof and Seal. Dead or unshipped paths
122
122
  need their actual exposure stated; hypothetical future wiring is not impact.
123
+ Per-advisory applicability is required only for a component that untrusted input
124
+ reaches through a trust boundary the feature has. For any other component, a
125
+ recorded reachability disposition (its role, the boundaries checked, and the
126
+ evidence) closes its advisories. "No fixed version" alone never means unaffected.
127
+ **Failing case:** Seal stays NO-GO for rounds on per-CVE applicability of no-fix OS
128
+ packages in a dev image that no untrusted input reaches.
123
129
 
124
130
  ## Architecture-level signals
125
131
 
@@ -133,7 +133,12 @@ Basis: <files read · commands run to reach this finding>
133
133
  - **`no-findings`:** `No-findings:` names checks and inspected evidence. Bare
134
134
  pass, empty list, or “looks good” is malformed.
135
135
  - **`gap`:** names missing/unreadable/stale input; skipped/failed required check;
136
- tool/reviewer failure; or another limit. Required gaps block.
136
+ tool/reviewer failure; or another limit. Required gaps block. A reviewer gap
137
+ that asks for more evidence without showing a defect is required only when it
138
+ quotes the anchor that demands that evidence, as Proportionality does: a spec ID,
139
+ an owner decision, or a shipped standard rule. Without one, root logs it
140
+ `Deferred: <claim> — no anchor`. Advisory gaps follow
141
+ [security.md § Reachability sets severity](security.md#reachability-sets-severity).
137
142
  - **Transport failure is not a finding.** A read-only leaf aborted, timed out, lost,
138
143
  or with host-rejected output is `gap` quoting the host error. Re-dispatch one fresh
139
144
  child with the same brief and read-set — never a resume of the failed child. The
@@ -120,6 +120,12 @@ as source evidence. Missing reachability or control evidence is
120
120
  `needs_validation`, not a confirmed vulnerability or a clean bill of health.
121
121
  Required unresolved evidence blocks proof and Seal. Dead or unshipped paths
122
122
  need their actual exposure stated; hypothetical future wiring is not impact.
123
+ Per-advisory applicability is required only for a component that untrusted input
124
+ reaches through a trust boundary the feature has. For any other component, a
125
+ recorded reachability disposition (its role, the boundaries checked, and the
126
+ evidence) closes its advisories. "No fixed version" alone never means unaffected.
127
+ **Failing case:** Seal stays NO-GO for rounds on per-CVE applicability of no-fix OS
128
+ packages in a dev image that no untrusted input reaches.
123
129
 
124
130
  ## Architecture-level signals
125
131
 
@@ -133,7 +133,12 @@ Basis: <files read · commands run to reach this finding>
133
133
  - **`no-findings`:** `No-findings:` names checks and inspected evidence. Bare
134
134
  pass, empty list, or “looks good” is malformed.
135
135
  - **`gap`:** names missing/unreadable/stale input; skipped/failed required check;
136
- tool/reviewer failure; or another limit. Required gaps block.
136
+ tool/reviewer failure; or another limit. Required gaps block. A reviewer gap
137
+ that asks for more evidence without showing a defect is required only when it
138
+ quotes the anchor that demands that evidence, as Proportionality does: a spec ID,
139
+ an owner decision, or a shipped standard rule. Without one, root logs it
140
+ `Deferred: <claim> — no anchor`. Advisory gaps follow
141
+ [security.md § Reachability sets severity](security.md#reachability-sets-severity).
137
142
  - **Transport failure is not a finding.** A read-only leaf aborted, timed out, lost,
138
143
  or with host-rejected output is `gap` quoting the host error. Re-dispatch one fresh
139
144
  child with the same brief and read-set — never a resume of the failed child. The
@@ -120,6 +120,12 @@ as source evidence. Missing reachability or control evidence is
120
120
  `needs_validation`, not a confirmed vulnerability or a clean bill of health.
121
121
  Required unresolved evidence blocks proof and Seal. Dead or unshipped paths
122
122
  need their actual exposure stated; hypothetical future wiring is not impact.
123
+ Per-advisory applicability is required only for a component that untrusted input
124
+ reaches through a trust boundary the feature has. For any other component, a
125
+ recorded reachability disposition (its role, the boundaries checked, and the
126
+ evidence) closes its advisories. "No fixed version" alone never means unaffected.
127
+ **Failing case:** Seal stays NO-GO for rounds on per-CVE applicability of no-fix OS
128
+ packages in a dev image that no untrusted input reaches.
123
129
 
124
130
  ## Architecture-level signals
125
131
 
@@ -133,7 +133,12 @@ Basis: <files read · commands run to reach this finding>
133
133
  - **`no-findings`:** `No-findings:` names checks and inspected evidence. Bare
134
134
  pass, empty list, or “looks good” is malformed.
135
135
  - **`gap`:** names missing/unreadable/stale input; skipped/failed required check;
136
- tool/reviewer failure; or another limit. Required gaps block.
136
+ tool/reviewer failure; or another limit. Required gaps block. A reviewer gap
137
+ that asks for more evidence without showing a defect is required only when it
138
+ quotes the anchor that demands that evidence, as Proportionality does: a spec ID,
139
+ an owner decision, or a shipped standard rule. Without one, root logs it
140
+ `Deferred: <claim> — no anchor`. Advisory gaps follow
141
+ [security.md § Reachability sets severity](security.md#reachability-sets-severity).
137
142
  - **Transport failure is not a finding.** A read-only leaf aborted, timed out, lost,
138
143
  or with host-rejected output is `gap` quoting the host error. Re-dispatch one fresh
139
144
  child with the same brief and read-set — never a resume of the failed child. The
@@ -120,6 +120,12 @@ as source evidence. Missing reachability or control evidence is
120
120
  `needs_validation`, not a confirmed vulnerability or a clean bill of health.
121
121
  Required unresolved evidence blocks proof and Seal. Dead or unshipped paths
122
122
  need their actual exposure stated; hypothetical future wiring is not impact.
123
+ Per-advisory applicability is required only for a component that untrusted input
124
+ reaches through a trust boundary the feature has. For any other component, a
125
+ recorded reachability disposition (its role, the boundaries checked, and the
126
+ evidence) closes its advisories. "No fixed version" alone never means unaffected.
127
+ **Failing case:** Seal stays NO-GO for rounds on per-CVE applicability of no-fix OS
128
+ packages in a dev image that no untrusted input reaches.
123
129
 
124
130
  ## Architecture-level signals
125
131
 
@@ -133,7 +133,12 @@ Basis: <files read · commands run to reach this finding>
133
133
  - **`no-findings`:** `No-findings:` names checks and inspected evidence. Bare
134
134
  pass, empty list, or “looks good” is malformed.
135
135
  - **`gap`:** names missing/unreadable/stale input; skipped/failed required check;
136
- tool/reviewer failure; or another limit. Required gaps block.
136
+ tool/reviewer failure; or another limit. Required gaps block. A reviewer gap
137
+ that asks for more evidence without showing a defect is required only when it
138
+ quotes the anchor that demands that evidence, as Proportionality does: a spec ID,
139
+ an owner decision, or a shipped standard rule. Without one, root logs it
140
+ `Deferred: <claim> — no anchor`. Advisory gaps follow
141
+ [security.md § Reachability sets severity](security.md#reachability-sets-severity).
137
142
  - **Transport failure is not a finding.** A read-only leaf aborted, timed out, lost,
138
143
  or with host-rejected output is `gap` quoting the host error. Re-dispatch one fresh
139
144
  child with the same brief and read-set — never a resume of the failed child. The
@@ -120,6 +120,12 @@ as source evidence. Missing reachability or control evidence is
120
120
  `needs_validation`, not a confirmed vulnerability or a clean bill of health.
121
121
  Required unresolved evidence blocks proof and Seal. Dead or unshipped paths
122
122
  need their actual exposure stated; hypothetical future wiring is not impact.
123
+ Per-advisory applicability is required only for a component that untrusted input
124
+ reaches through a trust boundary the feature has. For any other component, a
125
+ recorded reachability disposition (its role, the boundaries checked, and the
126
+ evidence) closes its advisories. "No fixed version" alone never means unaffected.
127
+ **Failing case:** Seal stays NO-GO for rounds on per-CVE applicability of no-fix OS
128
+ packages in a dev image that no untrusted input reaches.
123
129
 
124
130
  ## Architecture-level signals
125
131
 
@@ -133,7 +133,12 @@ Basis: <files read · commands run to reach this finding>
133
133
  - **`no-findings`:** `No-findings:` names checks and inspected evidence. Bare
134
134
  pass, empty list, or “looks good” is malformed.
135
135
  - **`gap`:** names missing/unreadable/stale input; skipped/failed required check;
136
- tool/reviewer failure; or another limit. Required gaps block.
136
+ tool/reviewer failure; or another limit. Required gaps block. A reviewer gap
137
+ that asks for more evidence without showing a defect is required only when it
138
+ quotes the anchor that demands that evidence, as Proportionality does: a spec ID,
139
+ an owner decision, or a shipped standard rule. Without one, root logs it
140
+ `Deferred: <claim> — no anchor`. Advisory gaps follow
141
+ [security.md § Reachability sets severity](security.md#reachability-sets-severity).
137
142
  - **Transport failure is not a finding.** A read-only leaf aborted, timed out, lost,
138
143
  or with host-rejected output is `gap` quoting the host error. Re-dispatch one fresh
139
144
  child with the same brief and read-set — never a resume of the failed child. The
@@ -120,6 +120,12 @@ as source evidence. Missing reachability or control evidence is
120
120
  `needs_validation`, not a confirmed vulnerability or a clean bill of health.
121
121
  Required unresolved evidence blocks proof and Seal. Dead or unshipped paths
122
122
  need their actual exposure stated; hypothetical future wiring is not impact.
123
+ Per-advisory applicability is required only for a component that untrusted input
124
+ reaches through a trust boundary the feature has. For any other component, a
125
+ recorded reachability disposition (its role, the boundaries checked, and the
126
+ evidence) closes its advisories. "No fixed version" alone never means unaffected.
127
+ **Failing case:** Seal stays NO-GO for rounds on per-CVE applicability of no-fix OS
128
+ packages in a dev image that no untrusted input reaches.
123
129
 
124
130
  ## Architecture-level signals
125
131
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "devrites",
3
- "version": "6.9.3",
3
+ "version": "6.9.4",
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",