greprag 5.71.0 → 5.72.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.
@@ -73,7 +73,7 @@ Same gate the hourly compactor applies at write-time — Mechanic and compactor
73
73
  - **Never edit `~/.claude/docs/chip-spawn.md` without confirm.** Global rules are sticky.
74
74
  - **Cross-project carve-out.** Default to the current project (resolved via `greprag fix list`). The Phase 0 census MAY read sibling queues to show where fixes piled up; *draining* one requires the operator to name it, and every `add`/`delete` against it MUST carry `--project <that-project>`. Never touch a sibling silently.
75
75
  - **Harness scope is mandatory.** Friction carries its source harness (`claude-code`, `codex`, `opencode`). Repairs to hooks/skills/watchers must target that harness with `greprag mechanic install ... --harness <name>`. In a Codex session, default to `--harness codex`; use `--harness all` only for deliberately portable mechanisms.
76
- - **Coordinate with peer Mechanics before repo gates.** Assume other Mechanic chips or repair sessions may be active in the same repo. Before merging, pushing, deploying, publishing, tagging, or cutting a release, inspect live peers/worktrees and coordinate ownership/status with them. If another Mechanic owns overlapping files, surfaces, or release scope, stop and get an explicit handoff/confirmation before taking over, merging, or shipping their patch. A `send_message_to_thread` call, `greprag send`, stored row, or completed empty turn is not proof of coordination; require an actual peer response or another verifiable status signal, and report unconfirmed peers as a caveat. Do not treat a clean current checkout as proof the whole repo is clear.
76
+ - **Coordinate with peer Mechanics before repo gates.** Assume other Mechanic chips or repair sessions may be active in the same repo. Before merging, pushing, deploying, publishing, tagging, or cutting a release, inspect live peers/worktrees and coordinate ownership/status with them. Attribute repository dirtiness before crossing the boundary: every dirty file is yours, a peer's, or pre-existing user work; resolve or explicitly claim any unowned dirt. If another Mechanic owns overlapping files, surfaces, or release scope, stop and get an explicit handoff/confirmation before taking over, merging, or shipping their patch. A `send_message_to_thread` call, `greprag send`, stored row, or completed empty turn is not proof of coordination; require an actual peer response or another verifiable status signal, and report unconfirmed peers as a caveat. Do not treat a clean current checkout as proof the whole repo is clear.
77
77
 
78
78
  ## Codex Mechanic chip handoff
79
79
 
@@ -107,4 +107,4 @@ Chips never `npm link` from the worktree — dangling symlinks silently break th
107
107
 
108
108
  When you (the parent) merge a chip branch — via `/commit` or raw `git merge` — prune in the same breath: junction guard (`~/.claude/skills/commit/guard-junctions.sh <worktree>`), `git worktree remove .claude/worktrees/<slug>`, and `git branch -d chip/<slug>` once merged. Deferred cleanup = stale worktrees piling up (field state 2026-06-10: 3 leftovers). Multi-chip missions: worktree dies at the feature-branch merge; the branch lives until the master merge (chip-leader Phase 4).
109
109
 
110
- **Exception — FIX chips land themselves (2026-07-12).** A `greprag fix spawn` mission carries its own Phase 3 landing contract: the chip confers with live peers (`greprag inbox watchers`), merges its branch → main, and prunes its own worktree + branch — because the parent that spawned it is usually dead by then. For fix chips, this section and Block 2's worktree-remove prohibition are superseded by the mission's Phase 3 (own worktree only, only after the merge is on main). Sensitive landings (`git push`, releases, publish, migrations) stay operator-gated.
110
+ **Exception — FIX chips land themselves (2026-07-12).** A `greprag fix spawn` mission carries its own Phase 3 landing contract and that mission text is the source of truth. It requires peer conferral, repository-dirtiness attribution, branch → main merge, merged-main verification, and routine deploys where the repo marks them routine. Harness cleanup adapts: Claude/OpenCode chips prune their own worktree after merge; Codex chips never remove the Codex-managed checkout or delete its branch and instead reply `Clearance: safe to archive`. Sensitive landings (`git push`, releases, publish, migrations) stay operator-gated.
@@ -174,10 +174,12 @@ delete the worktree" line for that task only. The fix chip confers with live
174
174
  peers using native Codex tools for Codex peers (`codex_app.list_threads`,
175
175
  `codex_app.send_message_to_thread`) and GrepRAG
176
176
  watchers/send only for Claude Code, OpenCode, non-Codex cross-harness peers, or
177
- when no native Codex thread endpoint exists. Then it merges its branch to main
178
- itself and re-verifies on merged main; its native reply to the parent is an FYI,
179
- not a review gate a fix chip's repair must never strand on its branch waiting
180
- for a review no one owns.
177
+ when no native Codex thread endpoint exists. Before it crosses a repo boundary,
178
+ it also attributes repository dirtiness: every dirty file is yours, a peer's,
179
+ or pre-existing user work; unowned dirt is resolved or explicitly claimed. Then
180
+ it merges its branch to main itself and re-verifies on merged main; its native
181
+ reply to the parent is an FYI, not a review gate — a fix chip's repair must
182
+ never strand on its branch waiting for a review no one owns.
181
183
 
182
184
  Even a FIX chip keeps two Codex-native boundaries: cleanup stays native (never
183
185
  remove the Codex-managed checkout or delete its branch — reply `Clearance: