# Python
__pycache__/
*.py[cod]
*.egg-info/
dist/
build/
.venv/
venv/

# Tooling
.pytest_cache/
.mypy_cache/
.ruff_cache/
.coverage

# Local config & data (endless.toml.example is the checked-in template)
endless.toml
.endless/

# OS / editor
.DS_Store
.idea/
.vscode/
.claude/settings.local.json

# Local run artifacts
.omc/
exports/

# Emitted datasets and mining scratch. This repo is the engine; a dataset is
# an output of running it, and one that cannot be re-verified without the
# corpus it cites does not belong in the package tree (docs/005).
tasks-*.jsonl
# `repos*.jsonl`, not the bare `repos.jsonl` it used to be: that matched one
# exact name, so `repos-breadth.jsonl` — a real onboarding record with a
# 29-test ledger and an image tag — was neither tracked nor ignored, and rode
# into an sdist as package content.
repos*.jsonl
repo-candidates*.jsonl
*-registry.jsonl
check_reliability*.json

# Test fixtures are evidence, not data. A serialization regression must fail
# a test, so these stay tracked even when their names match the patterns
# above — `tests/fixtures/coding_store/repos.jsonl` was caught by the bare
# `repos.jsonl` rule.
!tests/fixtures/**
