Skip to content

chore: ignore Python bytecode cache artifacts - #473

Merged
waynesun09 merged 1 commit into
fullsend-ai:mainfrom
ggallen:chore/gitignore-pycache
Jul 30, 2026
Merged

chore: ignore Python bytecode cache artifacts#473
waynesun09 merged 1 commit into
fullsend-ai:mainfrom
ggallen:chore/gitignore-pycache

Conversation

@ggallen

@ggallen ggallen commented Jul 27, 2026

Copy link
Copy Markdown
Member

Summary

Adds a root .gitignore for __pycache__/ and *.pyc. gitlint's local pre-commit environment generates gitlint_rules/__pycache__/*.pyc, and with no repo-wide .gitignore entry it gets accidentally picked up by git add -A.

Split out from #469 per review feedback there that it was unrelated scope creep on that PR (it accidentally got staged and committed there twice while working on an unrelated fix).

gitlint's local pre-commit environment generates
gitlint_rules/__pycache__/*.pyc, which has no repo-wide .gitignore entry
and gets accidentally staged by `git add -A` — happened twice during
review of fullsend-ai#469 (fix(#5188): re-trigger review via label after
fix-agent push), split out here per review feedback that it was
unrelated scope creep on that PR.

Signed-off-by: Claude Opus 4.8 <noreply@anthropic.com>
Signed-off-by: Greg Allen <gallen@redhat.com>
@ggallen
ggallen requested a review from a team as a code owner July 27, 2026 16:40
@qodo-code-review

Copy link
Copy Markdown

PR Summary by Qodo

Ignore Python bytecode cache artifacts in repo .gitignore

⚙️ Configuration changes 🕐 Less than 5 minutes

Grey Divider

AI Description

• Add repo-wide ignores for Python bytecode cache directories and files.
• Prevent accidental staging of __pycache__/*.pyc generated by local tooling.
High-Level Assessment

The following are alternative approaches to this PR:

1. Rely on developers' global gitignore
  • ➕ No repo change required
  • ➕ Keeps ignores personalized per developer environment
  • ➖ Non-portable; contributors without the global rule will still accidentally stage artifacts
  • ➖ Hard to enforce consistently in CI/review
2. Add a cleanup step to pre-commit/tooling
  • ➕ Actively removes artifacts rather than just ignoring them
  • ➕ Can address other generated files as well
  • ➖ More moving parts and maintenance than a simple ignore
  • ➖ Doesn't prevent local accidental staging unless cleanup runs before every add/commit

Recommendation: Keep the repo-wide .gitignore entries as implemented. It’s the simplest, most portable fix that prevents accidental staging across all contributors without adding tooling complexity.

Files changed (1) +2 / -0

Other (1) +2 / -0
.gitignoreIgnore '__pycache__/' directories and '*.pyc' files +2/-0

Ignore 'pycache/' directories and '*.pyc' files

• Adds a root '.gitignore' to exclude Python bytecode cache directories and compiled bytecode files from version control. This prevents artifacts produced by local tooling (e.g., pre-commit/gitlint) from being accidentally staged.

.gitignore

@qodo-code-review

Copy link
Copy Markdown

Code Review by Qodo

🐞 Bugs (0) 📘 Rule violations (0) 📎 Requirement gaps (0)

Grey Divider

Great, no issues found!

Qodo reviewed your code and found no material issues that require review

Grey Divider

Qodo Logo

@fullsend-ai-review

fullsend-ai-review Bot commented Jul 27, 2026

Copy link
Copy Markdown

🤖 Finished Review · ✅ Success · Started 4:42 PM UTC · Completed 4:52 PM UTC
Commit: d3ba95a · View workflow run →

@fullsend-ai-review

Copy link
Copy Markdown

Review

Findings

Medium

  • [missing-authorization] .gitignore — New repository-wide .gitignore file has no linked issue. The PR body provides clear context (split from fix(#5188): re-trigger review via label after fix-agent push #469 per review feedback flagging the .gitignore addition as unrelated scope-creep), and the patterns are standard Python bytecode exclusions. However, no formal issue documents the motivation for this change. Consider creating a brief issue for traceability, or linking to an existing infrastructure hygiene issue.

@fullsend-ai-review fullsend-ai-review Bot added the requires-manual-review Review requires human judgment label Jul 27, 2026
waynesun09

This comment was marked as off-topic.

@waynesun09 waynesun09 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approving — review squad found no blocking issues. Already has ralphbean's approval and passes all checks; adding a second sign-off.

@waynesun09
waynesun09 added this pull request to the merge queue Jul 30, 2026
Merged via the queue into fullsend-ai:main with commit 93b7178 Jul 30, 2026
23 checks passed
@fullsend-ai-retro

fullsend-ai-retro Bot commented Jul 30, 2026

Copy link
Copy Markdown

🤖 Finished Retro · ✅ Success · Started 8:39 PM UTC · Completed 8:48 PM UTC
Commit: d3ba95a · View workflow run →

@fullsend-ai-retro

Copy link
Copy Markdown

Retro: PR #473 — chore: ignore Python bytecode cache artifacts

A trivial 2-line .gitignore addition (__pycache__/ and *.pyc) authored by a human (ggallen), split from PR #469 per review feedback about unrelated scope creep. The review agent (run 30285776114) dispatched 3 sub-agents (correctness, style-conventions, intent-coherence) plus a challenger, spending ~$1.96 and 12 minutes.

Key observation: challenger was correct but overridden

The intent-coherence sub-agent produced two findings: (1) Medium missing-authorization — no linked issue, and (2) Low scope-traceability-discrepancy — PR claims split from #469 but #469 doesn't mention gitignore. The challenger sub-agent investigated and correctly removed both: finding 1 misinterprets AGENTS.md section 3 (which is about staying within issue scope, not requiring every PR to have an issue), and finding 2 was factually false (PR #469's review comments explicitly flagged gitignore as scope-creep). However, the orchestrator hit the empty-set fallback rule — when all challenger removals leave adjudicated_findings empty, it reverts to pre-challenger findings as a parsing-error guard. The orchestrator exercised partial judgment (removed finding 2 as provably false) but kept finding 1, resulting in a Medium finding and requires-manual-review label on a 2-line config change. Both human reviewers (ralphbean, waynesun09) approved without substantive issues.

No new proposals — all findings map to existing open issues

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

requires-manual-review Review requires human judgment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants