Skip to content

Bug: ce-doc-review dispatches no-Bash personas to review files that aren't in the working tree, instead of failing fast #925

@aliciapaz

Description

@aliciapaz

Bug Description

Component: Skill/agent workflow — ce-doc-review (Stage 1 document resolution + persona dispatch)

Summary: When ce-doc-review is pointed at documents that exist only on a git branch/ref that is not checked out into the working tree, it still dispatches the full persona team. The read-only personas (ce-coherence-reviewer and the other NO_BASH_AGENTS) have no filesystem access to the files and no way to read a git ref, so they spend a full turn discovering they cannot proceed and return empty. The orchestrator then burns additional tokens trying to continue them. The skill should detect missing files in Stage 1 and fail fast.

Environment

  • Plugin Version: 3.12.0
  • Agent Platform: Claude Code
  • OS: macOS / Darwin

What Happened

Ran /ce-doc-review on 7 solution docs (docs/solutions/...) that lived on a feature branch not checked out in the working tree. Observed across reviewer subagents in one run:

  • ce-coherence-reviewer (no Bash) made Read/Glob/Grep calls, found nothing, and concluded: "I cannot proceed without the actual file contents... My tools do not support reading from git refs, only from the filesystem. The docs do not exist in the current working tree."
  • Bash-capable personas (ce-adversarial-document-reviewer, ce-security-lens-reviewer) made 7–13 tool calls, then returned idle/empty final messages ("Idle. Awaiting your instruction.", "Acknowledged.").
  • A parallel ce-coherence-reviewer run against the same doc set once it was on disk succeeded with full structured findings.

So the personas behave correctly given their tools; the failure is that Stage 1 dispatched them against files that weren't on disk.

Expected Behavior

In Stage 1 ("If a document path is provided: Read it, then proceed"), verify each resolved document path exists in the working tree before dispatching personas. If any are missing:

  • Stop with an actionable message naming the missing paths, e.g. "Doc(s) not found in working tree: <paths>. Check out the branch or run git checkout <branch> -- <paths> so reviewers can read them, then re-run."
  • Optionally, if a branch/ref is known, offer to materialize the paths first.

This mirrors the fail-fast guard ce-code-review already applies elsewhere (gh pr diff failure stops rather than falling back to checkout), and prevents no-Bash personas from spending a turn rediscovering they can't read git refs.

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions