Skip to content

fix(rules): reconcile sub-case 4 retry policy (addresses #4709 P2)#4710

Closed
AceHack wants to merge 1 commit into
mainfrom
fix/pr-4709-sub-case-4-reconcile-no-mitigation-today-vs-single-retry-2026-05-23
Closed

fix(rules): reconcile sub-case 4 retry policy (addresses #4709 P2)#4710
AceHack wants to merge 1 commit into
mainfrom
fix/pr-4709-sub-case-4-reconcile-no-mitigation-today-vs-single-retry-2026-05-23

Conversation

@AceHack
Copy link
Copy Markdown
Member

@AceHack AceHack commented May 23, 2026

Addresses #4709 Codex P2 review thread — "Align sub-case 4 retry policy in this rule".

Summary

Test plan

🤖 Generated with Claude Code

…row forced-#6 exception (addresses PR #4709 P2 thread)

Codex P2 review on PR #4709 flagged a contradiction between three
statements in .claude/rules/claim-acquire-before-worktree-work.md:

1. The new 2026-05-23 "Non-deterministic under same conditions"
   paragraph authorizes single-retry-after-orphan-cleanup
2. The existing "no working mitigation today" line said no mitigation
   exists at all
3. The composite operational discipline step 7 said ABANDON when
   sub-case 4 is hit

Operational ambiguity: some agents would retry, others would abort.

Reconciliation makes the policy unambiguous:

- Default = ABANDON when sub-case 4 fires (preserved as authoritative
  in the composite discipline; preserved in the sub-case 4 mitigation
  block reframed as "no STRUCTURAL mitigation today")
- Narrow exception = single-retry-after-orphan-cleanup, AUTHORIZED
  ONLY at forced-#6 decomposition per holding-without-named-dependency
  counter, for sub-case 4 specifically (not sub-case 3), one retry
  only, and ABANDON applies absolutely if retry also fails
- The exception does NOT generalize to brief-ack #1-#5 (other
  pre-empt artifact shapes are available there; default ABANDON is
  correct)
- The exception does NOT generalize to sub-case 3 (pack-dir
  contention has no analogous timing-dependence evidence)

Both edits cross-reference each other so future-Otto reading either
location sees the full policy.

Co-Authored-By: Claude <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings May 23, 2026 02:30
@AceHack AceHack enabled auto-merge (squash) May 23, 2026 02:30
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Reconciles the documented retry policy for “sub-case 4” in the worktree-claim acquisition rule, clarifying that the default response remains ABANDON while introducing a narrowly scoped single-retry exception at forced-#6 decomposition.

Changes:

  • Reframes sub-case 4 mitigation to state “default = ABANDON” and clarifies there is no structural mitigation yet.
  • Documents a narrow, forced-#6-only exception: one retry after orphan cleanup for sub-case 4 only, then ABANDON if it fails.

Comment on lines +401 to +402
counter, a **single** retry after orphan cleanup (`rm -rf <wt-path>`
+ `git branch -D <branch>`) is authorized for sub-case 4 specifically
@AceHack
Copy link
Copy Markdown
Member Author

AceHack commented May 23, 2026

Superseded by #4711 — that PR carries this PR's commit (608d775f7) + an md004 fix (8e4123038) on top that addresses Copilot's P0 thread on the continuation line at line 402. Auto-merge armed on #4711. This PR will be closed once #4711 lands.

AceHack added a commit that referenced this pull request May 23, 2026
* fix(rules): reconcile sub-case 4 retry policy — default ABANDON + narrow forced-#6 exception (addresses PR #4709 P2 thread)

Codex P2 review on PR #4709 flagged a contradiction between three
statements in .claude/rules/claim-acquire-before-worktree-work.md:

1. The new 2026-05-23 "Non-deterministic under same conditions"
   paragraph authorizes single-retry-after-orphan-cleanup
2. The existing "no working mitigation today" line said no mitigation
   exists at all
3. The composite operational discipline step 7 said ABANDON when
   sub-case 4 is hit

Operational ambiguity: some agents would retry, others would abort.

Reconciliation makes the policy unambiguous:

- Default = ABANDON when sub-case 4 fires (preserved as authoritative
  in the composite discipline; preserved in the sub-case 4 mitigation
  block reframed as "no STRUCTURAL mitigation today")
- Narrow exception = single-retry-after-orphan-cleanup, AUTHORIZED
  ONLY at forced-#6 decomposition per holding-without-named-dependency
  counter, for sub-case 4 specifically (not sub-case 3), one retry
  only, and ABANDON applies absolutely if retry also fails
- The exception does NOT generalize to brief-ack #1-#5 (other
  pre-empt artifact shapes are available there; default ABANDON is
  correct)
- The exception does NOT generalize to sub-case 3 (pack-dir
  contention has no analogous timing-dependence evidence)

Both edits cross-reference each other so future-Otto reading either
location sees the full policy.

Co-Authored-By: Claude <noreply@anthropic.com>

* fix(rules): address Copilot P0 — continuation line starting with + parses as nested list (MD004/ul-style)

Copilot P0 review on PR #4710 flagged line 402 of
.claude/rules/claim-acquire-before-worktree-work.md where the
continuation of the parenthetical "(rm -rf <wt-path>" began with
"+ git branch -D <branch>)". Per markdownlint MD004/ul-style
guidance in .github/copilot-instructions.md, a continuation line
starting with "+ " inside an indented paragraph parses as a
nested unordered list item and can fail CI.

Fix: reword the two-command sequence to use prose connectives
("run X then Y") instead of the "+" infix operator. Preserves
semantics: still a sequenced two-command cleanup.

Co-Authored-By: Claude <noreply@anthropic.com>

---------

Co-authored-by: Claude <noreply@anthropic.com>
@AceHack
Copy link
Copy Markdown
Member Author

AceHack commented May 23, 2026

Closed — superseded by #4711 which merged at 429d416 (carrying this PR's commit 608d775 plus the md004 fix on top). Auto-merge was armed but the Copilot P0 on line 402 would have failed CI; the superseding path landed the same policy reconciliation cleanly.

@AceHack AceHack closed this May 23, 2026
auto-merge was automatically disabled May 23, 2026 02:38

Pull request was closed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants