diff --git a/src/arbiter/github_client.py b/src/arbiter/github_client.py index 00bbb5b..8280f80 100644 --- a/src/arbiter/github_client.py +++ b/src/arbiter/github_client.py @@ -104,11 +104,14 @@ def clone_repos( cmd.extend(["--", repo.clone_url, str(dest)]) print(f" Cloning {repo.full_name} ({repo.stars:,} stars)...", file=sys.stderr) - result = subprocess.run(cmd, capture_output=True, text=True, timeout=300) - if result.returncode == 0: - cloned.append(dest) - else: - print(f" SKIP {repo.full_name}: {result.stderr.strip()[:100]}", file=sys.stderr) + try: + result = subprocess.run(cmd, capture_output=True, text=True, timeout=300) + if result.returncode == 0: + cloned.append(dest) + else: + print(f" SKIP {repo.full_name}: {result.stderr.strip()[:100]}", file=sys.stderr) + except subprocess.TimeoutExpired: + print(f" SKIP {repo.full_name}: clone timed out (300s)", file=sys.stderr) return cloned diff --git a/src/arbiter/preflight.py b/src/arbiter/preflight.py index 3bef1b8..5b46666 100644 --- a/src/arbiter/preflight.py +++ b/src/arbiter/preflight.py @@ -277,7 +277,7 @@ def check_comment_reexports(repo_path: Path, changed_files: list[str]) -> list[s the import is intentional even though the symbol isn't used in this file. """ _REEXPORT_PATTERNS = re.compile( - r"#.*\b(expose|re-?export|public api|make available|forward)\b", + r"#.*\b(expose|re-?export|public api|make available|forward|dependency|missing dep|error message|ensure|verify|check.*install)\b", re.IGNORECASE, ) warnings = []