__pycache__/
*.py[cod]
.pytest_cache/
.ruff_cache/
.coverage
.venv/
# pywrangler builds these under mcp/worker: a CPython venv for its own CLI, a Pyodide one
# for the wasm target, the resolved wheel set it bundles, and the vendor directory it
# unpacks that set into — 884 files and 20 MB of emscripten wheels, including `.so`
# binaries built for wasm32. All of it is machine- and toolchain-specific and is rebuilt
# by `pywrangler dev`. `.wrangler/` is miniflare's local state from `dev`: caches and
# observability sqlite, none of it portable.
.venv-workers/
pylock.toml
python_modules/
.wrangler/
bundle.log
# `wrangler dev` reads secrets from this file the way the deployed Worker reads them from
# `wrangler secret`. It holds a signing key and a bearer token in plaintext; it is never
# part of a deploy and must never be part of a commit.
.dev.vars
data/
dist/
node_modules/
mutants/
.schemathesis/

# local agent workspaces and scratch worktrees
.claude/
.codex/
.entire/
.gemini/
.opencode/
.pi/
.worktrees/

# local Quint oracle work in progress — never commit from this machine
quint-*

# edge/: snapshots of the live document surface, regenerated by edge/deploy.sh on every
# publish. Not committed, because these carry the version and the configured limits — a
# copy in git is a copy that goes stale silently and then serves last release's numbers
# during an outage, which is the one moment it is read.
edge/public/
edge/src/routing.json
edge/node_modules/
edge/.wrangler/
