potiuk opened a new pull request, #72642:
URL: https://github.com/apache/airflow/pull/72642

   Coding agents (Claude Code, and anything else using the same write-tracking 
convention) create `.claude/.cc-writes/` scratch directories next to whatever 
directory a tool call ran in, so they turn up anywhere in the tree — this 
checkout had 22 of them, under `dev/`, `providers/`, `ts-sdk/docs/`, and so on.
   
   **The failure this fixes.** When one lands in the UI locales directory, 
`boring_cyborg.py` globs `locales/*` and treats every directory as a locale 
code, so it reports:
   
   ```
   Found 1 problems:
   Translation [.claude] is missing in [translation:.claude] section.
   Please correct the above in .github/boring-cyborg.yml
   ```
   
   The commit is blocked, and the message points at `boring-cyborg.yml`, which 
is not where the problem is. The directories are empty, so `git status` shows 
nothing and the real cause is invisible without `ls -a`.
   
   **Changes:**
   
   - `scripts/ci/prek/boring_cyborg.py` — skip dot-directories when enumerating 
locales. Locale codes never start with a dot. This matches the guard 
`check_shared_distributions_usage.py` already uses.
   - `.gitignore` — add `**/.claude/.cc-writes/`. The existing `.claude/*` rule 
contains a slash, so git anchors it to the repo root; nested occurrences were 
only ignored for contributors who happen to have a matching pattern in their 
personal global ignore file.
   
   **Verified** by recreating `locales/.claude/.cc-writes` and re-running the 
hook: exits 1 before, "No found problems" after. `git -c 
core.excludesFile=/dev/null check-ignore` confirms the new pattern catches 
nested dirs without relying on a global ignore.
   
   **Not changed:** the other dir-iterating prek scripts don't need this — 
`check_no_new_airflow_core_utils_modules.py` and 
`check_shared_distributions_usage.py` already skip dot-names, and the two 
`shared/` ones gate on a `pyproject.toml` marker. No unit test: 
`boring_cyborg.py` raises `SystemExit` when imported as a module, so it is 
deliberately outside the `scripts/tests/ci/prek/` suite, and making a one-line 
guard testable would mean undoing that.
   
   ---
   
   ##### Was generative AI tooling used to co-author this PR?
   
   - [X] Yes — Claude Code (Opus 5)
   
   Generated-by: Claude Code (Opus 5) following [the 
guidelines](https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#gen-ai-assisted-contributions)


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to