Feature: Repo Indexing Utils Coverage Scenarios that exercise previously uncovered code paths in repo_indexing_utils.py (lines 118, 175, 266, 268, 269, 274, 281, 285, 286, 292-296, 306-307, 312, 338-342). Background: Given the repo indexing utils module is imported # --- detect_language: Dockerfile special case (line 118) --- Scenario: detect_language identifies Dockerfile by basename When I detect the language for path "Dockerfile" Then the detected language should be "dockerfile" Scenario: detect_language identifies Dockerfile with suffix When I detect the language for path "Dockerfile.prod" Then the detected language should be "dockerfile" Scenario: detect_language identifies Makefile by basename When I detect the language for path "Makefile" Then the detected language should be "makefile" # --- _glob_match with ** or / in pattern (line 175) --- Scenario: matches_policy uses recursive glob with double-star pattern When I check matches_policy for "src/utils/helpers.py" with include glob "**/*.py" Then the path should match the policy Scenario: matches_policy uses path-based glob with slash in pattern When I check matches_policy for "src/utils/helpers.py" with include glob "src/utils/*.py" Then the path should match the policy Scenario: matches_policy rejects path not matching recursive glob When I check matches_policy for "src/utils/helpers.py" with include glob "**/*.rs" Then the path should not match the policy # --- walk_and_index: hidden directories filtered (lines 266, 268, 269) --- Scenario: walk_and_index skips hidden directories and special directories Given a temporary directory with hidden and special subdirectories When I run walk_and_index on the temporary directory Then only files from visible non-special directories should be indexed # --- walk_and_index: hidden files skipped (line 274) --- Scenario: walk_and_index skips hidden files Given a temporary directory with hidden files When I run walk_and_index on the directory with hidden files Then hidden files should not appear in the results # --- walk_and_index: symlinks skipped (line 281) --- Scenario: walk_and_index skips symlinks Given a temporary directory with a symlink to a file When I run walk_and_index on the directory with symlinks Then symlinked files should not appear in the results # --- walk_and_index: ValueError on relative_to (lines 285-286) --- Scenario: walk_and_index skips files when relative_to raises ValueError Given a temporary directory with a file that will cause a relative_to ValueError When I run walk_and_index with mocked relative_to failure Then the file causing ValueError should be skipped gracefully # --- walk_and_index: path > 1024 chars (lines 292-296) --- Scenario: walk_and_index skips files with paths exceeding 1024 characters Given a temporary directory with a deeply nested file exceeding 1024 char path When I run walk_and_index on the deeply nested directory Then the deeply nested file should be skipped # --- walk_and_index: stat() raises OSError (lines 306-307) --- Scenario: walk_and_index skips files when stat raises OSError Given a temporary directory with a file that will cause a stat OSError When I run walk_and_index with mocked stat failure Then the file causing stat OSError should be skipped gracefully # --- walk_and_index: non-regular file skipped (line 312) --- Scenario: walk_and_index skips non-regular files like FIFOs Given a temporary directory with a FIFO named pipe When I run walk_and_index on the directory with the FIFO Then the FIFO should not appear in the results # --- walk_and_index: max_file_count cutoff (lines 338-342) --- Scenario: walk_and_index stops after reaching max_file_count Given a temporary directory with five regular files When I run walk_and_index with max_file_count of 2 Then only 2 file records should be returned