.DS_Store
.ruff_cache
.pytest_cache
.venv
__pycache__
node_modules/
.scratchpad/

# >>> adl managed (do not edit) >>>
# repo-controls: coverage ratchet cache
/.coverage-cache/

# repo-controls: pre-hardcut hook-log quarantine (evidence only, never read or written)
/.enact/logs/
/.workflows/hooks/logs/
/.enact-runtime/repo-controls/hooks/

# adl CLI: repo-root session/tool-call logs (docs/architecture/cli-design.md §5a)
/.adl/

# adl process convention: scratch and throwaway work, never committed
/.scratchpad/
packages/*/.scratchpad/

# fleet tools that write into every checkout: docs-search index, code-review-graph, compliance pytest
.cache/
.code-review-graph/
.codegraph/
.pytest_cache/

# dependencies, OS and log noise
node_modules/
.DS_Store
*.log

# local secrets and per-user agent settings, never committed
.env
.env.*
!.env.example
.claude/settings.local.json
# <<< adl managed <<<

# LAY-001 sentinel: a literal placeholder for `<workflows>` because the
# Python compliance engine reads `ctx.inputs['workflows_root']` directly and
# crashes with KeyError when the tree is absent (no `workflows/` here). The
# check walks the path for AGENTS.md / INVARIANTS.md / CLAUDE.md siblings;
# the two files here are the minimum it requires.
/no-workflows-tree-in-this-repository/
