This is an automated email from the ASF dual-hosted git repository.

potiuk pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git


The following commit(s) were added to refs/heads/main by this push:
     new 8850c326bdc Stop agent scratch directories from breaking the 
boring-cyborg check (#72642)
8850c326bdc is described below

commit 8850c326bdc66ef08506e51b98d2fc80e478df41
Author: Jarek Potiuk <[email protected]>
AuthorDate: Tue Sep 8 15:56:36 2026 +0200

    Stop agent scratch directories from breaking the boring-cyborg check 
(#72642)
    
    Coding agents create write-tracking scratch directories next to whatever
    directory a tool call happened to run in, so they appear anywhere in the
    tree rather than only at the repo root. When one lands in the UI locales
    directory the boring-cyborg check reads it as a locale code and fails the
    commit with a message that points at boring-cyborg.yml, which is not where
    the problem is. The directories are empty, so git status gives no hint
    either and the cause is invisible without listing hidden entries.
    
    The repository's own ignore rule for them was anchored to the root, which
    left contributors relying on a personal global ignore file for the rest of
    the tree.
---
 .gitignore                       | 5 +++++
 scripts/ci/prek/boring_cyborg.py | 3 ++-
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/.gitignore b/.gitignore
index 0beb668ee69..f305584b235 100644
--- a/.gitignore
+++ b/.gitignore
@@ -141,6 +141,11 @@ ENV/
 !.claude/skills/prepare-providers-documentation
 !.claude/skills/upgrade-fab-provider
 
+# Claude Code write-tracking scratch dirs. Created next to whatever
+# directory a tool call ran in, so they turn up anywhere in the tree —
+# the .claude/* rule above only covers the repo root.
+**/.claude/.cc-writes/
+
 # Kiro
 .kiro/
 
diff --git a/scripts/ci/prek/boring_cyborg.py b/scripts/ci/prek/boring_cyborg.py
index 5e9ef359ffb..2ff7b44df2c 100755
--- a/scripts/ci/prek/boring_cyborg.py
+++ b/scripts/ci/prek/boring_cyborg.py
@@ -78,7 +78,8 @@ for p in providers_root.glob("**/provider.yaml"):
 # Check for missing translations
 EXCEPTIONS = ["en"]
 for p in 
AIRFLOW_ROOT_PATH.glob("airflow-core/src/airflow/ui/public/i18n/locales/*"):
-    if p.is_dir():
+    # Locale codes never start with a dot; skip tool scratch dirs (.claude, 
.DS_Store, ...)
+    if p.is_dir() and not p.name.startswith("."):
         lang_id = p.name
         expected_key = f"translation:{lang_id}"
         if lang_id not in EXCEPTIONS and expected_key not in 
cyborg_config[CONFIG_KEY]:

Reply via email to