devrites 6.4.2 → 6.4.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,18 @@
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.4.4](https://github.com/ViktorsBaikers/DevRites/compare/v6.4.3...v6.4.4) (2026-10-16)
6
+
7
+ ### Fixed
8
+
9
+ * **devrites:** force-add ignore-matched paths in checkpoint and ship ([#118](https://github.com/ViktorsBaikers/DevRites/issues/118)) ([ea25b06](https://github.com/ViktorsBaikers/DevRites/commit/ea25b0629b6428db7352c9d094c836d38ac40913))
10
+
11
+ ## [6.4.3](https://github.com/ViktorsBaikers/DevRites/compare/v6.4.2...v6.4.3) (2026-10-16)
12
+
13
+ ### Fixed
14
+
15
+ * **devrites:** wrights use mktemp scratch and the edit tool ([#117](https://github.com/ViktorsBaikers/DevRites/issues/117)) ([0b274e8](https://github.com/ViktorsBaikers/DevRites/commit/0b274e8375445c61421390c5e69105695a8f9fad))
16
+
5
17
  ## [6.4.2](https://github.com/ViktorsBaikers/DevRites/compare/v6.4.1...v6.4.2) (2026-10-16)
6
18
 
7
19
  ### Changed
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.4.2`](https://github.com/ViktorsBaikers/DevRites/releases/tag/v6.4.2): see [`CHANGELOG.md`](CHANGELOG.md) for release notes.
34
+ **Status:** [`v6.4.4`](https://github.com/ViktorsBaikers/DevRites/releases/tag/v6.4.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
 
@@ -119,6 +119,10 @@ unclear boundary is underspecified: return `Escalation` without proceeding.
119
119
  loosening an assertion. A test that genuinely must change is an **Escalation**,
120
120
  not a quiet edit. The root inspects the returned diff and dedicated test
121
121
  analysis treats a weakened test as a Critical STOP.
122
+ **Scratch** for probes and copies is one fresh `mktemp -d` directory you own,
123
+ never a fixed name such as `/tmp/x`: writing a path you did not create is an
124
+ unproven overwrite and stops the run for the owner. Edit allowlisted files with
125
+ the edit tool; a blocked edit is a gap to report, never routed around.
122
126
  For non-trivial failure, invoke `devrites-debug-recovery` with the exact error,
123
127
  hypotheses, and dead ends. Caller and recovery share three no-progress attempts per
124
128
  exact causal fingerprint. Count only corrections whose recheck preserves the same
@@ -27,7 +27,10 @@ A native-worktree `transfer_commit` is transport on the worker branch only.
27
27
  ## The commit
28
28
  Stage the exact candidate paths from the manifest, each as its own argv.
29
29
  Never stage `touched-files.md`, a directory, glob, unrelated path, or user change.
30
- Verify the staged set, then commit locally.
30
+ Before planning, run `git check-ignore -v --no-index -- <paths>`: every match, tracked
31
+ or not, goes in the `git add -f --` list, because `git add` exits 1 on a named ignored
32
+ path even after staging it. Keep each command's stderr. Verify the staged set, then
33
+ commit locally.
31
34
 
32
35
  Subject: `WIP(<slug>):` plus an imperative summary of the change (from the
33
36
  goal). Never a slice id, `SLICE-###`, a slice number, or "this slice"
@@ -74,7 +74,9 @@ Pre-GO is read-only. Do not run the disclosed collapse or staging commands.
74
74
  2. **Exact staging.** Run `git add -- "$path"` once for each disclosed manifest
75
75
  row, passing each validated project-relative path as its own quoted argv
76
76
  element. Use no glob, directory, `-A`, `.env`, secret, out-of-scope path,
77
- `eval`, or interpolated command string.
77
+ `eval`, or interpolated command string. A row that `git check-ignore -v --no-index`
78
+ matches, tracked or not, is disclosed and staged with `git add -f --`: plain
79
+ `git add` exits 1 on a named ignored path even after staging it.
78
80
  3. **Compare staged scope.** Compare the NUL-delimited output of
79
81
  `git diff --cached --name-status --no-renames -z` to the manifest's exact
80
82
  state/path set. `present` maps only to `A` or `M`; `deleted` maps only to `D`.
@@ -119,6 +119,10 @@ unclear boundary is underspecified: return `Escalation` without proceeding.
119
119
  loosening an assertion. A test that genuinely must change is an **Escalation**,
120
120
  not a quiet edit. The root inspects the returned diff and dedicated test
121
121
  analysis treats a weakened test as a Critical STOP.
122
+ **Scratch** for probes and copies is one fresh `mktemp -d` directory you own,
123
+ never a fixed name such as `/tmp/x`: writing a path you did not create is an
124
+ unproven overwrite and stops the run for the owner. Edit allowlisted files with
125
+ the edit tool; a blocked edit is a gap to report, never routed around.
122
126
  For non-trivial failure, invoke `devrites-debug-recovery` with the exact error,
123
127
  hypotheses, and dead ends. Caller and recovery share three no-progress attempts per
124
128
  exact causal fingerprint. Count only corrections whose recheck preserves the same
@@ -27,7 +27,10 @@ A native-worktree `transfer_commit` is transport on the worker branch only.
27
27
  ## The commit
28
28
  Stage the exact candidate paths from the manifest, each as its own argv.
29
29
  Never stage `touched-files.md`, a directory, glob, unrelated path, or user change.
30
- Verify the staged set, then commit locally.
30
+ Before planning, run `git check-ignore -v --no-index -- <paths>`: every match, tracked
31
+ or not, goes in the `git add -f --` list, because `git add` exits 1 on a named ignored
32
+ path even after staging it. Keep each command's stderr. Verify the staged set, then
33
+ commit locally.
31
34
 
32
35
  Subject: `WIP(<slug>):` plus an imperative summary of the change (from the
33
36
  goal). Never a slice id, `SLICE-###`, a slice number, or "this slice"
@@ -74,7 +74,9 @@ Pre-GO is read-only. Do not run the disclosed collapse or staging commands.
74
74
  2. **Exact staging.** Run `git add -- "$path"` once for each disclosed manifest
75
75
  row, passing each validated project-relative path as its own quoted argv
76
76
  element. Use no glob, directory, `-A`, `.env`, secret, out-of-scope path,
77
- `eval`, or interpolated command string.
77
+ `eval`, or interpolated command string. A row that `git check-ignore -v --no-index`
78
+ matches, tracked or not, is disclosed and staged with `git add -f --`: plain
79
+ `git add` exits 1 on a named ignored path even after staging it.
78
80
  3. **Compare staged scope.** Compare the NUL-delimited output of
79
81
  `git diff --cached --name-status --no-renames -z` to the manifest's exact
80
82
  state/path set. `present` maps only to `A` or `M`; `deleted` maps only to `D`.
@@ -117,6 +117,10 @@ unclear boundary is underspecified: return `Escalation` without proceeding.
117
117
  loosening an assertion. A test that genuinely must change is an **Escalation**,
118
118
  not a quiet edit. The root inspects the returned diff and dedicated test
119
119
  analysis treats a weakened test as a Critical STOP.
120
+ **Scratch** for probes and copies is one fresh `mktemp -d` directory you own,
121
+ never a fixed name such as `/tmp/x`: writing a path you did not create is an
122
+ unproven overwrite and stops the run for the owner. Edit allowlisted files with
123
+ the edit tool; a blocked edit is a gap to report, never routed around.
120
124
  For non-trivial failure, invoke `devrites-debug-recovery` with the exact error,
121
125
  hypotheses, and dead ends. Caller and recovery share three no-progress attempts per
122
126
  exact causal fingerprint. Count only corrections whose recheck preserves the same
@@ -27,7 +27,10 @@ A native-worktree `transfer_commit` is transport on the worker branch only.
27
27
  ## The commit
28
28
  Stage the exact candidate paths from the manifest, each as its own argv.
29
29
  Never stage `touched-files.md`, a directory, glob, unrelated path, or user change.
30
- Verify the staged set, then commit locally.
30
+ Before planning, run `git check-ignore -v --no-index -- <paths>`: every match, tracked
31
+ or not, goes in the `git add -f --` list, because `git add` exits 1 on a named ignored
32
+ path even after staging it. Keep each command's stderr. Verify the staged set, then
33
+ commit locally.
31
34
 
32
35
  Subject: `WIP(<slug>):` plus an imperative summary of the change (from the
33
36
  goal). Never a slice id, `SLICE-###`, a slice number, or "this slice"
@@ -74,7 +74,9 @@ Pre-GO is read-only. Do not run the disclosed collapse or staging commands.
74
74
  2. **Exact staging.** Run `git add -- "$path"` once for each disclosed manifest
75
75
  row, passing each validated project-relative path as its own quoted argv
76
76
  element. Use no glob, directory, `-A`, `.env`, secret, out-of-scope path,
77
- `eval`, or interpolated command string.
77
+ `eval`, or interpolated command string. A row that `git check-ignore -v --no-index`
78
+ matches, tracked or not, is disclosed and staged with `git add -f --`: plain
79
+ `git add` exits 1 on a named ignored path even after staging it.
78
80
  3. **Compare staged scope.** Compare the NUL-delimited output of
79
81
  `git diff --cached --name-status --no-renames -z` to the manifest's exact
80
82
  state/path set. `present` maps only to `A` or `M`; `deleted` maps only to `D`.
@@ -124,6 +124,10 @@ unclear boundary is underspecified: return `Escalation` without proceeding.
124
124
  loosening an assertion. A test that genuinely must change is an **Escalation**,
125
125
  not a quiet edit. The root inspects the returned diff and dedicated test
126
126
  analysis treats a weakened test as a Critical STOP.
127
+ **Scratch** for probes and copies is one fresh `mktemp -d` directory you own,
128
+ never a fixed name such as `/tmp/x`: writing a path you did not create is an
129
+ unproven overwrite and stops the run for the owner. Edit allowlisted files with
130
+ the edit tool; a blocked edit is a gap to report, never routed around.
127
131
  For non-trivial failure, invoke `devrites-debug-recovery` with the exact error,
128
132
  hypotheses, and dead ends. Caller and recovery share three no-progress attempts per
129
133
  exact causal fingerprint. Count only corrections whose recheck preserves the same
@@ -27,7 +27,10 @@ A native-worktree `transfer_commit` is transport on the worker branch only.
27
27
  ## The commit
28
28
  Stage the exact candidate paths from the manifest, each as its own argv.
29
29
  Never stage `touched-files.md`, a directory, glob, unrelated path, or user change.
30
- Verify the staged set, then commit locally.
30
+ Before planning, run `git check-ignore -v --no-index -- <paths>`: every match, tracked
31
+ or not, goes in the `git add -f --` list, because `git add` exits 1 on a named ignored
32
+ path even after staging it. Keep each command's stderr. Verify the staged set, then
33
+ commit locally.
31
34
 
32
35
  Subject: `WIP(<slug>):` plus an imperative summary of the change (from the
33
36
  goal). Never a slice id, `SLICE-###`, a slice number, or "this slice"
@@ -74,7 +74,9 @@ Pre-GO is read-only. Do not run the disclosed collapse or staging commands.
74
74
  2. **Exact staging.** Run `git add -- "$path"` once for each disclosed manifest
75
75
  row, passing each validated project-relative path as its own quoted argv
76
76
  element. Use no glob, directory, `-A`, `.env`, secret, out-of-scope path,
77
- `eval`, or interpolated command string.
77
+ `eval`, or interpolated command string. A row that `git check-ignore -v --no-index`
78
+ matches, tracked or not, is disclosed and staged with `git add -f --`: plain
79
+ `git add` exits 1 on a named ignored path even after staging it.
78
80
  3. **Compare staged scope.** Compare the NUL-delimited output of
79
81
  `git diff --cached --name-status --no-renames -z` to the manifest's exact
80
82
  state/path set. `present` maps only to `A` or `M`; `deleted` maps only to `D`.
@@ -117,6 +117,10 @@ unclear boundary is underspecified: return `Escalation` without proceeding.
117
117
  loosening an assertion. A test that genuinely must change is an **Escalation**,
118
118
  not a quiet edit. The root inspects the returned diff and dedicated test
119
119
  analysis treats a weakened test as a Critical STOP.
120
+ **Scratch** for probes and copies is one fresh `mktemp -d` directory you own,
121
+ never a fixed name such as `/tmp/x`: writing a path you did not create is an
122
+ unproven overwrite and stops the run for the owner. Edit allowlisted files with
123
+ the edit tool; a blocked edit is a gap to report, never routed around.
120
124
  For non-trivial failure, invoke `devrites-debug-recovery` with the exact error,
121
125
  hypotheses, and dead ends. Caller and recovery share three no-progress attempts per
122
126
  exact causal fingerprint. Count only corrections whose recheck preserves the same
@@ -27,7 +27,10 @@ A native-worktree `transfer_commit` is transport on the worker branch only.
27
27
  ## The commit
28
28
  Stage the exact candidate paths from the manifest, each as its own argv.
29
29
  Never stage `touched-files.md`, a directory, glob, unrelated path, or user change.
30
- Verify the staged set, then commit locally.
30
+ Before planning, run `git check-ignore -v --no-index -- <paths>`: every match, tracked
31
+ or not, goes in the `git add -f --` list, because `git add` exits 1 on a named ignored
32
+ path even after staging it. Keep each command's stderr. Verify the staged set, then
33
+ commit locally.
31
34
 
32
35
  Subject: `WIP(<slug>):` plus an imperative summary of the change (from the
33
36
  goal). Never a slice id, `SLICE-###`, a slice number, or "this slice"
@@ -74,7 +74,9 @@ Pre-GO is read-only. Do not run the disclosed collapse or staging commands.
74
74
  2. **Exact staging.** Run `git add -- "$path"` once for each disclosed manifest
75
75
  row, passing each validated project-relative path as its own quoted argv
76
76
  element. Use no glob, directory, `-A`, `.env`, secret, out-of-scope path,
77
- `eval`, or interpolated command string.
77
+ `eval`, or interpolated command string. A row that `git check-ignore -v --no-index`
78
+ matches, tracked or not, is disclosed and staged with `git add -f --`: plain
79
+ `git add` exits 1 on a named ignored path even after staging it.
78
80
  3. **Compare staged scope.** Compare the NUL-delimited output of
79
81
  `git diff --cached --name-status --no-renames -z` to the manifest's exact
80
82
  state/path set. `present` maps only to `A` or `M`; `deleted` maps only to `D`.
@@ -118,6 +118,10 @@ unclear boundary is underspecified: return `Escalation` without proceeding.
118
118
  loosening an assertion. A test that genuinely must change is an **Escalation**,
119
119
  not a quiet edit. The root inspects the returned diff and dedicated test
120
120
  analysis treats a weakened test as a Critical STOP.
121
+ **Scratch** for probes and copies is one fresh `mktemp -d` directory you own,
122
+ never a fixed name such as `/tmp/x`: writing a path you did not create is an
123
+ unproven overwrite and stops the run for the owner. Edit allowlisted files with
124
+ the edit tool; a blocked edit is a gap to report, never routed around.
121
125
  For non-trivial failure, invoke `devrites-debug-recovery` with the exact error,
122
126
  hypotheses, and dead ends. Caller and recovery share three no-progress attempts per
123
127
  exact causal fingerprint. Count only corrections whose recheck preserves the same
@@ -27,7 +27,10 @@ A native-worktree `transfer_commit` is transport on the worker branch only.
27
27
  ## The commit
28
28
  Stage the exact candidate paths from the manifest, each as its own argv.
29
29
  Never stage `touched-files.md`, a directory, glob, unrelated path, or user change.
30
- Verify the staged set, then commit locally.
30
+ Before planning, run `git check-ignore -v --no-index -- <paths>`: every match, tracked
31
+ or not, goes in the `git add -f --` list, because `git add` exits 1 on a named ignored
32
+ path even after staging it. Keep each command's stderr. Verify the staged set, then
33
+ commit locally.
31
34
 
32
35
  Subject: `WIP(<slug>):` plus an imperative summary of the change (from the
33
36
  goal). Never a slice id, `SLICE-###`, a slice number, or "this slice"
@@ -74,7 +74,9 @@ Pre-GO is read-only. Do not run the disclosed collapse or staging commands.
74
74
  2. **Exact staging.** Run `git add -- "$path"` once for each disclosed manifest
75
75
  row, passing each validated project-relative path as its own quoted argv
76
76
  element. Use no glob, directory, `-A`, `.env`, secret, out-of-scope path,
77
- `eval`, or interpolated command string.
77
+ `eval`, or interpolated command string. A row that `git check-ignore -v --no-index`
78
+ matches, tracked or not, is disclosed and staged with `git add -f --`: plain
79
+ `git add` exits 1 on a named ignored path even after staging it.
78
80
  3. **Compare staged scope.** Compare the NUL-delimited output of
79
81
  `git diff --cached --name-status --no-renames -z` to the manifest's exact
80
82
  state/path set. `present` maps only to `A` or `M`; `deleted` maps only to `D`.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "devrites",
3
- "version": "6.4.2",
3
+ "version": "6.4.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",