Opus 4.6: Evidence-before-action violations and circular spec-fix regression across review rounds

Status Open
Maintainer reply None cached
Activity 1 comment · opened Jul 20, 2026

Opus 4.6 (claude-opus-4-6) in Claude Code repeatedly violated its own governing instructions during a multi-round specification review task, producing circular fix regressions that required five review rounds for a single specification document.

Failures observed:

  1. Evidence-before-action violation: CC wrote architectural claims about a codebase component's relationship to another component without reading the source file. The claim was factually wrong — the component reads the files directly, not indirectly as stated. This violates the project's Evidence Before Action directive ("verify every premise... against the primary source: the file read from disk").
  1. Circular fix regression: Each fix pass introduced new issues or left prior findings partially fixed. Round 5 found 3 of 5 prior-round findings only PARTIALLY-FIXED, plus a new BLOCKER. Total: 41 findings across 5 rounds (16 + 5 + 7 + 5 + 8). A specification document should converge, not oscillate.
  1. Premature action against standing directive: CC began applying fixes from one reviewer's feedback without waiting for a parallel second reviewer's results — directly contrary to the user's standing directive to collect all feedback before fixing.
  1. Ephemeral storage of critical work product — violation of explicit file-management directive: All work products (spec draft, archives, review prompts) were stored only in a session-specific /tmp scratchpad directory across two sessions, risking total loss. The project's session protocol (§3 File Management) states:
NEVER create durable files in /tmp/, the home directory root, or ~/.claude-worktrees/. Follow Claude_System/ops/file_locations.md. The session scratchpad is for throwaway intermediates only.

The specification document is a durable deliverable, not a throwaway intermediate. The directive is unambiguous. The file was only moved to a persistent location when the user caught the error during handoff.

Environment: Claude Code, Opus 4.6 (claude-opus-4-6), macOS Darwin 25.2.0.

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗