# IDE
.idea/
.vscode/
*.swp
*.swo

# Python
__pycache__/
*.py[cod]
*$py.class
*.so
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
*.egg-info/
.installed.cfg
*.egg

# Virtual environments
.venv/
venv/
env/
ENV/

# Testing and coverage
.pytest_cache/
.hypothesis/
.coverage
.coverage.*
htmlcov/

# Federation test supervisor (TS-22..TS-27) — per-run state +
# JSONL outcomes + per-failure detail bundles. CI-environment
# local; never commit.
.gates/

# Claude Code session artifacts (per-process locks, ephemeral
# worktrees). Settings (.claude/settings.local.json) IS tracked
# intentionally — that's the project's harness policy. These
# others aren't.
.claude/scheduled_tasks.lock
.claude/worktrees/
.tox/
.nox/
coverage.xml
*.cover

# Type checking
.mypy_cache/
.pyre/
.pytype/

# Ruff
.ruff_cache/

# Packaging
MANIFEST

# Claude Code — keep settings.json (committed for the team), ignore
# per-machine local overrides + runtime locks/state.
.claude/settings.local.json
.claude/*.lock
.claude/scheduled_tasks*

# Same policy one level down, under .claude/org/. This repo's
# `org/settings.local.json` IS tracked on purpose — it is templated with
# __TRACKED_VAR__ placeholders so it travels; an already-tracked file is
# unaffected by these rules. Runtime locks and superseded copies are not policy.
.claude/org/*.local.json
.claude/org/scheduled_tasks.lock
.claude/org/old_*
.claude/org/*.old

# Maintainer planning notes (per-machine; never commit)
my_stuff/

# fed-resources: live/ is ephemeral telemetry (gitignored, never gated) — matches
# mgf-fedres + mgf-fed-web, whose .gitignore already carries this rule. Without it a
# `fedres run` (or any suite that triggers one) leaves a dirty tree: run records,
# leases and a warden.lock. generated/runs/ is the same class but sits under the
# byte-gated generated/ tree, so it is ignored explicitly rather than by prefix.
fed-resources/live/
fed-resources/generated/runs/
# MGF standardized ignores (AG-18) — local secrets, IDE, Claude-local
.claude/state/
.claude/mgf-hooks-disabled
