devrites 6.4.5 → 6.6.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.
Files changed (35) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/README.md +1 -1
  3. package/docs/adr/0037-autocomplete-lands-local-checkpoints.md +36 -0
  4. package/docs/adr/README.md +2 -1
  5. package/pack/.claude/skills/devrites-lib/reference/standards/afk-hitl.md +5 -0
  6. package/pack/.claude/skills/devrites-lib/reference/standards/code-navigation.md +3 -1
  7. package/pack/.claude/skills/rite-build/reference/checkpoint.md +3 -1
  8. package/pack/.claude/skills/rite-plan/SKILL.md +4 -0
  9. package/pack/generated/claude/skills/devrites-lib/reference/standards/afk-hitl.md +5 -0
  10. package/pack/generated/claude/skills/devrites-lib/reference/standards/code-navigation.md +3 -1
  11. package/pack/generated/claude/skills/rite-build/reference/checkpoint.md +3 -1
  12. package/pack/generated/claude/skills/rite-plan/SKILL.md +4 -0
  13. package/pack/generated/codex/AGENTS.md +1 -1
  14. package/pack/generated/codex/skills/devrites-lib/reference/standards/afk-hitl.md +5 -0
  15. package/pack/generated/codex/skills/devrites-lib/reference/standards/code-navigation.md +3 -1
  16. package/pack/generated/codex/skills/rite-build/reference/checkpoint.md +3 -1
  17. package/pack/generated/codex/skills/rite-plan/SKILL.md +4 -0
  18. package/pack/generated/devin/AGENTS.md +1 -1
  19. package/pack/generated/devin/skills/devrites-lib/reference/standards/afk-hitl.md +5 -0
  20. package/pack/generated/devin/skills/devrites-lib/reference/standards/code-navigation.md +3 -1
  21. package/pack/generated/devin/skills/rite-build/reference/checkpoint.md +3 -1
  22. package/pack/generated/devin/skills/rite-plan/SKILL.md +4 -0
  23. package/pack/generated/omp/skills/devrites-lib/reference/standards/afk-hitl.md +5 -0
  24. package/pack/generated/omp/skills/devrites-lib/reference/standards/code-navigation.md +3 -1
  25. package/pack/generated/omp/skills/rite-build/reference/checkpoint.md +3 -1
  26. package/pack/generated/omp/skills/rite-plan/SKILL.md +4 -0
  27. package/pack/generated/pi/AGENTS.md +1 -1
  28. package/pack/generated/pi/skills/devrites-lib/reference/standards/afk-hitl.md +5 -0
  29. package/pack/generated/pi/skills/devrites-lib/reference/standards/code-navigation.md +3 -1
  30. package/pack/generated/pi/skills/rite-build/reference/checkpoint.md +3 -1
  31. package/pack/generated/pi/skills/rite-plan/SKILL.md +4 -0
  32. package/package.json +1 -1
  33. package/scripts/codex-generate.sh +1 -1
  34. package/scripts/devin-generate.sh +1 -1
  35. package/scripts/pi-generate.sh +1 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,22 @@
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.6.0](https://github.com/ViktorsBaikers/DevRites/compare/v6.5.0...v6.6.0) (2026-10-17)
6
+
7
+ ### Added
8
+
9
+ * **devrites:** swap the mechanism before pinning a pressured seam again ([#122](https://github.com/ViktorsBaikers/DevRites/issues/122)) ([92de92e](https://github.com/ViktorsBaikers/DevRites/commit/92de92e7e77d9d134f9fec46d5367a457f84fa67))
10
+
11
+ ## [6.5.0](https://github.com/ViktorsBaikers/DevRites/compare/v6.4.5...v6.5.0) (2026-10-17)
12
+
13
+ ### Added
14
+
15
+ * **devrites:** autocomplete lands local checkpoints without a prompt ([#121](https://github.com/ViktorsBaikers/DevRites/issues/121)) ([82831f2](https://github.com/ViktorsBaikers/DevRites/commit/82831f21c9556391452dbdcc4a9f68dd4d729ccf))
16
+
17
+ ### Fixed
18
+
19
+ * **no-release:** treat uncompiled LSP errors as stale ([#120](https://github.com/ViktorsBaikers/DevRites/issues/120)) ([c1b0cb2](https://github.com/ViktorsBaikers/DevRites/commit/c1b0cb2fd929923f2edc00121b4d7ba8ad2c7c30))
20
+
5
21
  ## [6.4.5](https://github.com/ViktorsBaikers/DevRites/compare/v6.4.4...v6.4.5) (2026-10-16)
6
22
 
7
23
  ### 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.4.5`](https://github.com/ViktorsBaikers/DevRites/releases/tag/v6.4.5): see [`CHANGELOG.md`](CHANGELOG.md) for release notes.
34
+ **Status:** [`v6.6.0`](https://github.com/ViktorsBaikers/DevRites/releases/tag/v6.6.0): 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
 
@@ -0,0 +1,36 @@
1
+ # ADR-0037: Autocomplete lands local checkpoints and self-resolves own scratch
2
+
3
+ - **Status:** Accepted
4
+ - **Date:** 2026-10-17
5
+ - **Supersedes:** the ADR-0022 clause that put local checkpoint commits under fresh approval
6
+
7
+ ## Context
8
+
9
+ ADR-0022 kept the rule that a seal GO, AFK mode, or autocomplete flag never
10
+ authorizes an irreversible action, and listed `commit` with push, tag, and PR. The
11
+ generated `AGENTS.md` block repeated it. The checkpoint protocol and
12
+ `afk-hitl.md` already treated a local, unpushed `WIP(<slug>):` checkpoint as
13
+ landing automatically and folded at `/rite-ship`. Hosts read the generated block as
14
+ a host ask-first rule, so `/rite-autocomplete` stopped for a human at every slice
15
+ checkpoint. On Boxset, 3 of 5 human stops in one day were local checkpoint approvals.
16
+ The other 2 were safety gates for fixed `/tmp` paths that the writer had itself
17
+ created, which filesystem birth times proved afterwards.
18
+
19
+ ## Decision
20
+
21
+ - A local, unpushed `WIP(<slug>):` checkpoint commit made under the checkpoint
22
+ protocol (exact manifest staging, scope checks, no amend, reset, rebase, push, or
23
+ force) is not irreversible. It lands without a prompt in AFK and HITL runs.
24
+ - Push, tag, PR, the ship commit, and any history rewrite remain irreversible and
25
+ keep fresh, explicit, per-attempt user approval.
26
+ - A writer's overwrite or removal of a path outside the workspace that it created
27
+ itself in the same wave is not filesystem destruction. When birth times and
28
+ ownership prove it, the root records the evidence and continues. An unprovable
29
+ path still pauses.
30
+ - A host repository's own ask-first commit rule still wins.
31
+
32
+ ## Consequences
33
+
34
+ - `/rite-autocomplete` runs from Frame to a sealed, locally checkpointed feature
35
+ without per-slice human stops; `/rite-ship` remains the single human Git gate.
36
+ - Each landed checkpoint stays reversible by the owner (`git reset`) until ship.
@@ -67,7 +67,7 @@ architecture; per-feature `decisions.md` files stay scoped to that feature.
67
67
  | [0019](0019-native-boundary-with-deterministic-gates.md) | Native boundary with deterministic gates | Accepted in part; semantic gates superseded by 0022, native writer and fresh approval retained | `engine/internal/gate/gate_test.go` |
68
68
  | [0020](0020-thin-engine-native-orchestration-boundary.md) | Thin engine and native host orchestration | Accepted in part; engine-surface/migration scope superseded by 0022, native orchestration retained | `tests/native-orchestration-contract-test.sh`, `engine/root_routing_test.go` |
69
69
  | [0021](0021-observable-workspace-compatibility.md) | Observable and reversible workspace compatibility | Superseded by 0022 | historical |
70
- | [0022](0022-native-orchestration-thin-engine.md) | Native orchestration with a thin deterministic engine | Accepted in part; snapshot/JSON-output clauses superseded by 0023; retained policy-command/install clauses narrowed by 0024; no-migrator normalization scope superseded by 0029 | `engine/root_routing_test.go`, `engine/internal/gate/gate_test.go`, `engine/internal/lib/cursor_compat_test.go`, `tests/native-orchestration-contract-test.sh` |
70
+ | [0022](0022-native-orchestration-thin-engine.md) | Native orchestration with a thin deterministic engine | Accepted in part; snapshot/JSON-output clauses superseded by 0023; retained policy-command/install clauses narrowed by 0024; no-migrator normalization scope superseded by 0029; local WIP checkpoint approval superseded by 0037 | `engine/root_routing_test.go`, `engine/internal/gate/gate_test.go`, `engine/internal/lib/cursor_compat_test.go`, `tests/native-orchestration-contract-test.sh` |
71
71
  | [0023](0023-native-workspace-reads-line-output.md) | Native workspace reads and line-oriented engine output | Accepted in part; AFK/recovery/doctor retention superseded by 0024 | `engine/root_routing_test.go`, `engine/internal/gate/gate_test.go`, `tests/native-orchestration-contract-test.sh`, `tests/npx-pack-smoke.sh` |
72
72
  | [0024](0024-native-policy-offline-installer-boundary.md) | Native policy and offline installer boundary | Accepted in part; offline engine-update clause superseded by 0028 | `tests/native-orchestration-contract-test.sh`, `tests/phase-gate-routing-test.sh`, `tests/install-smoke.sh`, `tests/host-artifacts-test.sh` |
73
73
  | [0025](0025-evidence-gated-workspace-upgrades.md) | Evidence-gated semantic workspace upgrades | Accepted; no-migrator scope superseded by 0029 | `tests/phase-gate-routing-test.sh`, `tests/host-artifacts-test.sh` |
@@ -82,3 +82,4 @@ architecture; per-feature `decisions.md` files stay scoped to that feature.
82
82
  | [0034](0034-workflow-artifact-byte-corrections-get-code-review.md) | Workflow Artifact byte corrections get code review, not a plan loop | Accepted; narrows 0027's semantic review for contract-preserving Workflow Artifact byte fixes | `engine/internal/lib/drift_test.go` |
83
83
  | [0035](0035-claude-root-leaves-plan-mode.md) | The Claude root no longer runs in plan mode | Accepted; supersedes the Claude root plan-mode clauses of 0015/0017 | `tests/native-orchestration-contract-test.sh`, `engine/internal/install/install_test.go` |
84
84
  | [0036](0036-archive-recall-is-a-read-time-query.md) | Archive recall is a read-time query | Accepted; consistent with 0014/0022 (no engine index or store) | `engine/internal/lib/recall_test.go` |
85
+ | [0037](0037-autocomplete-lands-local-checkpoints.md) | Autocomplete lands local checkpoints and self-resolves own scratch | Accepted; supersedes the ADR-0022 local-commit approval clause | `tests/authority-drift-test.sh` |
@@ -247,6 +247,11 @@ prove the old path unused before removing it, and a rollback for every destructi
247
247
  ([`deprecation.md`](deprecation.md)). The gate requires the safe path; it does not
248
248
  cancel the work.
249
249
 
250
+ A writer's overwrite or removal of a path outside the workspace that it created itself in
251
+ the same wave is not destruction. The root proves it with each path's birth time
252
+ (`stat -c %W`) at or after the wave's `started` time and the writer's ownership, records
253
+ that evidence, and continues without a question. Any path it cannot prove pauses as above.
254
+
250
255
  By default, AFK widens what's *automatic*; it never widens what's *irreversible*.
251
256
 
252
257
  Red checks remain hard non-advance build gates, but are not inherently irreversible or
@@ -35,7 +35,9 @@ Review.
35
35
  oversized server, a pre-edit result, or a timed-out probe is `stale` (or `unavailable:
36
36
  <reason>` when none ran), never clean; fall back to the project typecheck/compile command. **Failing case:**
37
37
  the language server returns 0 diagnostics before the project finishes compiling and
38
- the slice records "diagnostics clean".
38
+ the slice records "diagnostics clean". The converse holds: an error that the project
39
+ compile/typecheck of the current bytes does not reproduce is stale. Record it once
40
+ with that command's result and move on; never stub, suppress, or re-chase it.
39
41
 
40
42
  Skipping step 1 on a multi-file slice is a Build orient gap unless recorded
41
43
  `cannot_verify`.
@@ -10,7 +10,9 @@ not a gate.
10
10
  The checkpoint stays local, unpushed scratch folded at `/rite-ship`; where the
11
11
  host repository's own agent contract requires approval before commits — an
12
12
  ask-first rule such as this repository's `AGENTS.md` — that contract wins, and
13
- the orchestrator pauses for approval before landing it.
13
+ the orchestrator pauses for approval before landing it. The DevRites-generated
14
+ `AGENTS.md` block is not such a rule: under it the checkpoint lands without a
15
+ prompt, AFK or HITL. Push, tag, PR, and the ship commit stay human-gated.
14
16
 
15
17
  ## When (and when not)
16
18
 
@@ -115,6 +115,10 @@ Before classifying any Reslice, read `.claude/skills/devrites-lib/reference/stan
115
115
  else 1) so the threshold is counted rather than judged; a packet that reports the same
116
116
  seam without the counter is malformed. At the third
117
117
  same-seam packet, mark it `convergence_pressure: true` with the seam named.
118
+ Under pressure the drafter first asks whether a different mechanism removes the
119
+ recurring failure class (read content-addressed Git objects instead of walking a live
120
+ directory; a bounded parser instead of hand checks) and proposes that swap before
121
+ another pin; acceptance stays unchanged. Accreting checks on one seam is the loop.
118
122
  Under pressure the drafter may close a finding marked as a refinement of an
119
123
  already-pinned clause by folding an explicit, bounded declared
120
124
  residual/limitation into the contract text instead of another precision
@@ -247,6 +247,11 @@ prove the old path unused before removing it, and a rollback for every destructi
247
247
  ([`deprecation.md`](deprecation.md)). The gate requires the safe path; it does not
248
248
  cancel the work.
249
249
 
250
+ A writer's overwrite or removal of a path outside the workspace that it created itself in
251
+ the same wave is not destruction. The root proves it with each path's birth time
252
+ (`stat -c %W`) at or after the wave's `started` time and the writer's ownership, records
253
+ that evidence, and continues without a question. Any path it cannot prove pauses as above.
254
+
250
255
  By default, AFK widens what's *automatic*; it never widens what's *irreversible*.
251
256
 
252
257
  Red checks remain hard non-advance build gates, but are not inherently irreversible or
@@ -35,7 +35,9 @@ Review.
35
35
  oversized server, a pre-edit result, or a timed-out probe is `stale` (or `unavailable:
36
36
  <reason>` when none ran), never clean; fall back to the project typecheck/compile command. **Failing case:**
37
37
  the language server returns 0 diagnostics before the project finishes compiling and
38
- the slice records "diagnostics clean".
38
+ the slice records "diagnostics clean". The converse holds: an error that the project
39
+ compile/typecheck of the current bytes does not reproduce is stale. Record it once
40
+ with that command's result and move on; never stub, suppress, or re-chase it.
39
41
 
40
42
  Skipping step 1 on a multi-file slice is a Build orient gap unless recorded
41
43
  `cannot_verify`.
@@ -10,7 +10,9 @@ not a gate.
10
10
  The checkpoint stays local, unpushed scratch folded at `/rite-ship`; where the
11
11
  host repository's own agent contract requires approval before commits — an
12
12
  ask-first rule such as this repository's `AGENTS.md` — that contract wins, and
13
- the orchestrator pauses for approval before landing it.
13
+ the orchestrator pauses for approval before landing it. The DevRites-generated
14
+ `AGENTS.md` block is not such a rule: under it the checkpoint lands without a
15
+ prompt, AFK or HITL. Push, tag, PR, and the ship commit stay human-gated.
14
16
 
15
17
  ## When (and when not)
16
18
 
@@ -117,6 +117,10 @@ Before classifying any Reslice, read `.claude/skills/devrites-lib/reference/stan
117
117
  else 1) so the threshold is counted rather than judged; a packet that reports the same
118
118
  seam without the counter is malformed. At the third
119
119
  same-seam packet, mark it `convergence_pressure: true` with the seam named.
120
+ Under pressure the drafter first asks whether a different mechanism removes the
121
+ recurring failure class (read content-addressed Git objects instead of walking a live
122
+ directory; a bounded parser instead of hand checks) and proposes that swap before
123
+ another pin; acceptance stays unchanged. Accreting checks on one seam is the loop.
120
124
  Under pressure the drafter may close a finding marked as a refinement of an
121
125
  already-pinned clause by folding an explicit, bounded declared
122
126
  residual/limitation into the contract text instead of another precision
@@ -20,7 +20,7 @@ This project has DevRites installed for both Claude Code and Codex.
20
20
  - Every generated specialist is hook-free. Among the lifecycle `devrites-*` specialists, `devrites-slice-wright` alone uses `default_permissions = ":workspace"` and every other specialist in that family uses `default_permissions = ":read-only"`. The shipped profiles are the full role-to-permission map; `/rite-doctor` step 3 checks them. Exact paths are instruction-enforced: put the project-relative paths in the task, wait for the wright, compare its file list and `git diff --name-only` with that contract, and reject any extra path. Never bypass the wright, widen its contract, or edit source in the root; the root must never recreate an engine dispatch bridge.
21
21
  - The explicit `/overhaul` skill ships its own `overhaul-*` agents outside the DevRites lifecycle. They use `default_permissions = ":workspace"`, are dispatched only by that skill, and follow its own approval gate and path contracts instead of the lifecycle writer rules above.
22
22
  - The explicit `/rite-fast` skill ships its own `fast-*` agents. Only `fast-builder` uses `default_permissions = ":workspace"`; `fast-planner`, `fast-checker`, and `fast-critic` stay `:read-only`. `/rite-fast` dispatches them itself and applies its own exact-path contracts.
23
- - A seal GO, AFK mode, or autocomplete flag never authorizes an irreversible action. Disclose the exact commit/push/tag/PR plan and obtain fresh explicit user approval for that attempt; any changed or retried plan needs fresh approval. Native host permission and sandbox prompts remain authoritative and cannot be inferred or bypassed.
23
+ - A seal GO, AFK mode, or autocomplete flag never authorizes an irreversible action. Disclose the exact push/tag/PR/ship-commit plan and obtain fresh explicit user approval for that attempt; any changed or retried plan needs fresh approval. Local unpushed `WIP(<slug>):` checkpoint commits under the checkpoint protocol are not irreversible and land without a prompt. Native host permission and sandbox prompts remain authoritative and cannot be inferred or bypassed.
24
24
 
25
25
  ## Workflow contract
26
26
 
@@ -247,6 +247,11 @@ prove the old path unused before removing it, and a rollback for every destructi
247
247
  ([`deprecation.md`](deprecation.md)). The gate requires the safe path; it does not
248
248
  cancel the work.
249
249
 
250
+ A writer's overwrite or removal of a path outside the workspace that it created itself in
251
+ the same wave is not destruction. The root proves it with each path's birth time
252
+ (`stat -c %W`) at or after the wave's `started` time and the writer's ownership, records
253
+ that evidence, and continues without a question. Any path it cannot prove pauses as above.
254
+
250
255
  By default, AFK widens what's *automatic*; it never widens what's *irreversible*.
251
256
 
252
257
  Red checks remain hard non-advance build gates, but are not inherently irreversible or
@@ -35,7 +35,9 @@ Review.
35
35
  oversized server, a pre-edit result, or a timed-out probe is `stale` (or `unavailable:
36
36
  <reason>` when none ran), never clean; fall back to the project typecheck/compile command. **Failing case:**
37
37
  the language server returns 0 diagnostics before the project finishes compiling and
38
- the slice records "diagnostics clean".
38
+ the slice records "diagnostics clean". The converse holds: an error that the project
39
+ compile/typecheck of the current bytes does not reproduce is stale. Record it once
40
+ with that command's result and move on; never stub, suppress, or re-chase it.
39
41
 
40
42
  Skipping step 1 on a multi-file slice is a Build orient gap unless recorded
41
43
  `cannot_verify`.
@@ -10,7 +10,9 @@ not a gate.
10
10
  The checkpoint stays local, unpushed scratch folded at `$rite-ship`; where the
11
11
  host repository's own agent contract requires approval before commits — an
12
12
  ask-first rule such as this repository's `AGENTS.md` — that contract wins, and
13
- the orchestrator pauses for approval before landing it.
13
+ the orchestrator pauses for approval before landing it. The DevRites-generated
14
+ `AGENTS.md` block is not such a rule: under it the checkpoint lands without a
15
+ prompt, AFK or HITL. Push, tag, PR, and the ship commit stay human-gated.
14
16
 
15
17
  ## When (and when not)
16
18
 
@@ -117,6 +117,10 @@ Before classifying any Reslice, read `.agents/skills/devrites-lib/reference/stan
117
117
  else 1) so the threshold is counted rather than judged; a packet that reports the same
118
118
  seam without the counter is malformed. At the third
119
119
  same-seam packet, mark it `convergence_pressure: true` with the seam named.
120
+ Under pressure the drafter first asks whether a different mechanism removes the
121
+ recurring failure class (read content-addressed Git objects instead of walking a live
122
+ directory; a bounded parser instead of hand checks) and proposes that swap before
123
+ another pin; acceptance stays unchanged. Accreting checks on one seam is the loop.
120
124
  Under pressure the drafter may close a finding marked as a refinement of an
121
125
  already-pinned clause by folding an explicit, bounded declared
122
126
  residual/limitation into the contract text instead of another precision
@@ -15,7 +15,7 @@ This project has DevRites installed for Devin CLI.
15
15
  - Custom profiles do not inherit interactive tool grants, and background subagents auto-deny unapproved tools. Dispatch the write-capable wright in the foreground, or make sure its `edit`, `write`, and `exec` tools are approved first. Specialists cannot use `ask_user_question`; the root relays user questions and answers through the task text and returned result.
16
16
  - DevRites runtime helpers run through the installed `devrites-engine` binary.
17
17
  - Skills and agent profiles are loaded when a session starts. If they were installed while this session was open, restart the session or reopen the project before relying on them.
18
- - A seal GO, AFK mode, or autocomplete flag never authorizes an irreversible action. Disclose the exact commit/push/tag/PR plan and obtain fresh explicit user approval for that attempt; any changed or retried plan needs fresh approval.
18
+ - A seal GO, AFK mode, or autocomplete flag never authorizes an irreversible action. Disclose the exact push/tag/PR/ship-commit plan and obtain fresh explicit user approval for that attempt; any changed or retried plan needs fresh approval. Local unpushed `WIP(<slug>):` checkpoint commits under the checkpoint protocol are not irreversible and land without a prompt.
19
19
 
20
20
  ## Workflow contract
21
21
 
@@ -247,6 +247,11 @@ prove the old path unused before removing it, and a rollback for every destructi
247
247
  ([`deprecation.md`](deprecation.md)). The gate requires the safe path; it does not
248
248
  cancel the work.
249
249
 
250
+ A writer's overwrite or removal of a path outside the workspace that it created itself in
251
+ the same wave is not destruction. The root proves it with each path's birth time
252
+ (`stat -c %W`) at or after the wave's `started` time and the writer's ownership, records
253
+ that evidence, and continues without a question. Any path it cannot prove pauses as above.
254
+
250
255
  By default, AFK widens what's *automatic*; it never widens what's *irreversible*.
251
256
 
252
257
  Red checks remain hard non-advance build gates, but are not inherently irreversible or
@@ -35,7 +35,9 @@ Review.
35
35
  oversized server, a pre-edit result, or a timed-out probe is `stale` (or `unavailable:
36
36
  <reason>` when none ran), never clean; fall back to the project typecheck/compile command. **Failing case:**
37
37
  the language server returns 0 diagnostics before the project finishes compiling and
38
- the slice records "diagnostics clean".
38
+ the slice records "diagnostics clean". The converse holds: an error that the project
39
+ compile/typecheck of the current bytes does not reproduce is stale. Record it once
40
+ with that command's result and move on; never stub, suppress, or re-chase it.
39
41
 
40
42
  Skipping step 1 on a multi-file slice is a Build orient gap unless recorded
41
43
  `cannot_verify`.
@@ -10,7 +10,9 @@ not a gate.
10
10
  The checkpoint stays local, unpushed scratch folded at `/rite-ship`; where the
11
11
  host repository's own agent contract requires approval before commits — an
12
12
  ask-first rule such as this repository's `AGENTS.md` — that contract wins, and
13
- the orchestrator pauses for approval before landing it.
13
+ the orchestrator pauses for approval before landing it. The DevRites-generated
14
+ `AGENTS.md` block is not such a rule: under it the checkpoint lands without a
15
+ prompt, AFK or HITL. Push, tag, PR, and the ship commit stay human-gated.
14
16
 
15
17
  ## When (and when not)
16
18
 
@@ -116,6 +116,10 @@ Before classifying any Reslice, read `.devin/skills/devrites-lib/reference/stand
116
116
  else 1) so the threshold is counted rather than judged; a packet that reports the same
117
117
  seam without the counter is malformed. At the third
118
118
  same-seam packet, mark it `convergence_pressure: true` with the seam named.
119
+ Under pressure the drafter first asks whether a different mechanism removes the
120
+ recurring failure class (read content-addressed Git objects instead of walking a live
121
+ directory; a bounded parser instead of hand checks) and proposes that swap before
122
+ another pin; acceptance stays unchanged. Accreting checks on one seam is the loop.
119
123
  Under pressure the drafter may close a finding marked as a refinement of an
120
124
  already-pinned clause by folding an explicit, bounded declared
121
125
  residual/limitation into the contract text instead of another precision
@@ -247,6 +247,11 @@ prove the old path unused before removing it, and a rollback for every destructi
247
247
  ([`deprecation.md`](deprecation.md)). The gate requires the safe path; it does not
248
248
  cancel the work.
249
249
 
250
+ A writer's overwrite or removal of a path outside the workspace that it created itself in
251
+ the same wave is not destruction. The root proves it with each path's birth time
252
+ (`stat -c %W`) at or after the wave's `started` time and the writer's ownership, records
253
+ that evidence, and continues without a question. Any path it cannot prove pauses as above.
254
+
250
255
  By default, AFK widens what's *automatic*; it never widens what's *irreversible*.
251
256
 
252
257
  Red checks remain hard non-advance build gates, but are not inherently irreversible or
@@ -35,7 +35,9 @@ Review.
35
35
  oversized server, a pre-edit result, or a timed-out probe is `stale` (or `unavailable:
36
36
  <reason>` when none ran), never clean; fall back to the project typecheck/compile command. **Failing case:**
37
37
  the language server returns 0 diagnostics before the project finishes compiling and
38
- the slice records "diagnostics clean".
38
+ the slice records "diagnostics clean". The converse holds: an error that the project
39
+ compile/typecheck of the current bytes does not reproduce is stale. Record it once
40
+ with that command's result and move on; never stub, suppress, or re-chase it.
39
41
 
40
42
  Skipping step 1 on a multi-file slice is a Build orient gap unless recorded
41
43
  `cannot_verify`.
@@ -10,7 +10,9 @@ not a gate.
10
10
  The checkpoint stays local, unpushed scratch folded at `/rite-ship`; where the
11
11
  host repository's own agent contract requires approval before commits — an
12
12
  ask-first rule such as this repository's `AGENTS.md` — that contract wins, and
13
- the orchestrator pauses for approval before landing it.
13
+ the orchestrator pauses for approval before landing it. The DevRites-generated
14
+ `AGENTS.md` block is not such a rule: under it the checkpoint lands without a
15
+ prompt, AFK or HITL. Push, tag, PR, and the ship commit stay human-gated.
14
16
 
15
17
  ## When (and when not)
16
18
 
@@ -117,6 +117,10 @@ Before classifying any Reslice, read `.omp/skills/devrites-lib/reference/standar
117
117
  else 1) so the threshold is counted rather than judged; a packet that reports the same
118
118
  seam without the counter is malformed. At the third
119
119
  same-seam packet, mark it `convergence_pressure: true` with the seam named.
120
+ Under pressure the drafter first asks whether a different mechanism removes the
121
+ recurring failure class (read content-addressed Git objects instead of walking a live
122
+ directory; a bounded parser instead of hand checks) and proposes that swap before
123
+ another pin; acceptance stays unchanged. Accreting checks on one seam is the loop.
120
124
  Under pressure the drafter may close a finding marked as a refinement of an
121
125
  already-pinned clause by folding an explicit, bounded declared
122
126
  residual/limitation into the contract text instead of another precision
@@ -16,7 +16,7 @@ This project has DevRites installed for pi.
16
16
  - The explicit `/rite-fast` skill ships its own `fast-*` agents. Only `fast-builder` carries write tools; `fast-planner`, `fast-checker`, and `fast-critic` stay read-only. `/rite-fast` dispatches them itself and applies its own exact-path contracts.
17
17
  - DevRites runtime helpers run through the installed `devrites-engine` binary.
18
18
  - Installed `.pi/` content loads only after the project is trusted. If pi has not trusted this project, the skills, agents, and prompts above are not active.
19
- - A seal GO, AFK mode, or autocomplete flag never authorizes an irreversible action. Disclose the exact commit/push/tag/PR plan and obtain fresh explicit user approval for that attempt; any changed or retried plan needs fresh approval.
19
+ - A seal GO, AFK mode, or autocomplete flag never authorizes an irreversible action. Disclose the exact push/tag/PR/ship-commit plan and obtain fresh explicit user approval for that attempt; any changed or retried plan needs fresh approval. Local unpushed `WIP(<slug>):` checkpoint commits under the checkpoint protocol are not irreversible and land without a prompt.
20
20
 
21
21
  ## Workflow contract
22
22
 
@@ -247,6 +247,11 @@ prove the old path unused before removing it, and a rollback for every destructi
247
247
  ([`deprecation.md`](deprecation.md)). The gate requires the safe path; it does not
248
248
  cancel the work.
249
249
 
250
+ A writer's overwrite or removal of a path outside the workspace that it created itself in
251
+ the same wave is not destruction. The root proves it with each path's birth time
252
+ (`stat -c %W`) at or after the wave's `started` time and the writer's ownership, records
253
+ that evidence, and continues without a question. Any path it cannot prove pauses as above.
254
+
250
255
  By default, AFK widens what's *automatic*; it never widens what's *irreversible*.
251
256
 
252
257
  Red checks remain hard non-advance build gates, but are not inherently irreversible or
@@ -35,7 +35,9 @@ Review.
35
35
  oversized server, a pre-edit result, or a timed-out probe is `stale` (or `unavailable:
36
36
  <reason>` when none ran), never clean; fall back to the project typecheck/compile command. **Failing case:**
37
37
  the language server returns 0 diagnostics before the project finishes compiling and
38
- the slice records "diagnostics clean".
38
+ the slice records "diagnostics clean". The converse holds: an error that the project
39
+ compile/typecheck of the current bytes does not reproduce is stale. Record it once
40
+ with that command's result and move on; never stub, suppress, or re-chase it.
39
41
 
40
42
  Skipping step 1 on a multi-file slice is a Build orient gap unless recorded
41
43
  `cannot_verify`.
@@ -10,7 +10,9 @@ not a gate.
10
10
  The checkpoint stays local, unpushed scratch folded at `/rite-ship`; where the
11
11
  host repository's own agent contract requires approval before commits — an
12
12
  ask-first rule such as this repository's `AGENTS.md` — that contract wins, and
13
- the orchestrator pauses for approval before landing it.
13
+ the orchestrator pauses for approval before landing it. The DevRites-generated
14
+ `AGENTS.md` block is not such a rule: under it the checkpoint lands without a
15
+ prompt, AFK or HITL. Push, tag, PR, and the ship commit stay human-gated.
14
16
 
15
17
  ## When (and when not)
16
18
 
@@ -117,6 +117,10 @@ Before classifying any Reslice, read `.pi/skills/devrites-lib/reference/standard
117
117
  else 1) so the threshold is counted rather than judged; a packet that reports the same
118
118
  seam without the counter is malformed. At the third
119
119
  same-seam packet, mark it `convergence_pressure: true` with the seam named.
120
+ Under pressure the drafter first asks whether a different mechanism removes the
121
+ recurring failure class (read content-addressed Git objects instead of walking a live
122
+ directory; a bounded parser instead of hand checks) and proposes that swap before
123
+ another pin; acceptance stays unchanged. Accreting checks on one seam is the loop.
120
124
  Under pressure the drafter may close a finding marked as a refinement of an
121
125
  already-pinned clause by folding an explicit, bounded declared
122
126
  residual/limitation into the contract text instead of another precision
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "devrites",
3
- "version": "6.4.5",
3
+ "version": "6.6.0",
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",
@@ -111,7 +111,7 @@ This project has DevRites installed for both Claude Code and Codex.
111
111
  - Every generated specialist is hook-free. Among the lifecycle `devrites-*` specialists, `devrites-slice-wright` alone uses `default_permissions = ":workspace"` and every other specialist in that family uses `default_permissions = ":read-only"`. The shipped profiles are the full role-to-permission map; `/rite-doctor` step 3 checks them. Exact paths are instruction-enforced: put the project-relative paths in the task, wait for the wright, compare its file list and `git diff --name-only` with that contract, and reject any extra path. Never bypass the wright, widen its contract, or edit source in the root; the root must never recreate an engine dispatch bridge.
112
112
  - The explicit `/overhaul` skill ships its own `overhaul-*` agents outside the DevRites lifecycle. They use `default_permissions = ":workspace"`, are dispatched only by that skill, and follow its own approval gate and path contracts instead of the lifecycle writer rules above.
113
113
  - The explicit `/rite-fast` skill ships its own `fast-*` agents. Only `fast-builder` uses `default_permissions = ":workspace"`; `fast-planner`, `fast-checker`, and `fast-critic` stay `:read-only`. `/rite-fast` dispatches them itself and applies its own exact-path contracts.
114
- - A seal GO, AFK mode, or autocomplete flag never authorizes an irreversible action. Disclose the exact commit/push/tag/PR plan and obtain fresh explicit user approval for that attempt; any changed or retried plan needs fresh approval. Native host permission and sandbox prompts remain authoritative and cannot be inferred or bypassed.
114
+ - A seal GO, AFK mode, or autocomplete flag never authorizes an irreversible action. Disclose the exact push/tag/PR/ship-commit plan and obtain fresh explicit user approval for that attempt; any changed or retried plan needs fresh approval. Local unpushed `WIP(<slug>):` checkpoint commits under the checkpoint protocol are not irreversible and land without a prompt. Native host permission and sandbox prompts remain authoritative and cannot be inferred or bypassed.
115
115
 
116
116
  ## Workflow contract
117
117
 
@@ -213,7 +213,7 @@ This project has DevRites installed for Devin CLI.
213
213
  - Custom profiles do not inherit interactive tool grants, and background subagents auto-deny unapproved tools. Dispatch the write-capable wright in the foreground, or make sure its `edit`, `write`, and `exec` tools are approved first. Specialists cannot use `ask_user_question`; the root relays user questions and answers through the task text and returned result.
214
214
  - DevRites runtime helpers run through the installed `devrites-engine` binary.
215
215
  - Skills and agent profiles are loaded when a session starts. If they were installed while this session was open, restart the session or reopen the project before relying on them.
216
- - A seal GO, AFK mode, or autocomplete flag never authorizes an irreversible action. Disclose the exact commit/push/tag/PR plan and obtain fresh explicit user approval for that attempt; any changed or retried plan needs fresh approval.
216
+ - A seal GO, AFK mode, or autocomplete flag never authorizes an irreversible action. Disclose the exact push/tag/PR/ship-commit plan and obtain fresh explicit user approval for that attempt; any changed or retried plan needs fresh approval. Local unpushed `WIP(<slug>):` checkpoint commits under the checkpoint protocol are not irreversible and land without a prompt.
217
217
 
218
218
  ## Workflow contract
219
219
 
@@ -256,7 +256,7 @@ This project has DevRites installed for pi.
256
256
  - The explicit `/rite-fast` skill ships its own `fast-*` agents. Only `fast-builder` carries write tools; `fast-planner`, `fast-checker`, and `fast-critic` stay read-only. `/rite-fast` dispatches them itself and applies its own exact-path contracts.
257
257
  - DevRites runtime helpers run through the installed `devrites-engine` binary.
258
258
  - Installed `.pi/` content loads only after the project is trusted. If pi has not trusted this project, the skills, agents, and prompts above are not active.
259
- - A seal GO, AFK mode, or autocomplete flag never authorizes an irreversible action. Disclose the exact commit/push/tag/PR plan and obtain fresh explicit user approval for that attempt; any changed or retried plan needs fresh approval.
259
+ - A seal GO, AFK mode, or autocomplete flag never authorizes an irreversible action. Disclose the exact push/tag/PR/ship-commit plan and obtain fresh explicit user approval for that attempt; any changed or retried plan needs fresh approval. Local unpushed `WIP(<slug>):` checkpoint commits under the checkpoint protocol are not irreversible and land without a prompt.
260
260
 
261
261
  ## Workflow contract
262
262