Skip to content

[CI] The review prompt points at a CLAUDE.md that does not exist on any branch #2243

Description

@erikdarlingdata

What

.github/workflows/claude-review.yml opens its prompt with:

Review this pull request. Follow the conventions in CLAUDE.md and the T-SQL style guide it points to.

Neither file exists.

$ git ls-files | grep -i claude
.github/workflows/claude-review.yml     # the only match, on any branch

$ git ls-tree -r origin/main --name-only | grep -i 'claude\.md'
(nothing)

There is no CLAUDE.md on dev, none on main, and no T-SQL style guide for it to point to. The repo's agent-facing documentation is CONTRIBUTING.md and llms.txt.

Why it matters

Every review this repo runs is told, as its first instruction, to follow conventions in a file it cannot open. Two consequences:

  1. The conventions are not actually applied. The house rules that do exist (T-SQL style, Lite/Darling parity, the no-missing-index-DMV rule that the prompt has to restate inline precisely because there is no file to carry it) reach the reviewer only insofar as the prompt repeats them.
  2. It burns a turn on every run. The reviewer's first move is to look for the file. With allowedTools granting no file-reading tool at all (see [CI] Review workflow can execute fully (real token spend) and post nothing - green check with vanished output #2229), that attempt is also a permission denial.

Fix shape

Either direction is cheap; they are not equivalent:

  • Point the prompt at what exists. Swap CLAUDE.md for CONTRIBUTING.md (and drop the dangling "and the T-SQL style guide it points to", or name the guide directly if one should exist). Smallest change, no new file to maintain.
  • Add a real CLAUDE.md. Worth it if the intent was always a single agent-facing conventions file — it would also give the review a place to carry rules that currently have to be inlined in the workflow prompt, which matters because editing that prompt costs a repo-wide review outage until the next release (mechanism in [CI] Review workflow can execute fully (real token spend) and post nothing - green check with vanished output #2229).

Note the second option has a side benefit: rules that live in CLAUDE.md can be changed without touching claude-review.yml, so they cost no drift window.

Relations

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions