# Per-user Claude Code state — local permissions, MCP cache, session config.
.claude/

# Python runtime
.venv/
__pycache__/
*.pyc
*.egg-info/

# Per-wake transcripts — bulky, not authoritative (reports + log + dialogue are)
agent/runtime/wakes/

# Sandbox worktrees for self-modification experiments
agent/runtime/.sandbox-*

# Lock + last-wake timestamp + agent self-scheduled next wake — runtime state
# Single-track legacy paths (now symlinks → tracks/main/)
agent/runtime/wake.lock
agent/runtime/last-wake.timestamp
agent/runtime/next-wake-by.timestamp

# Per-track state files (tracks/main/, tracks/creative/, etc.)
agent/runtime/tracks/*/wake.lock
agent/runtime/tracks/*/last-wake.timestamp
agent/runtime/tracks/*/last-wake-start.timestamp
agent/runtime/tracks/*/next-wake-by.timestamp
# Keep per-track objective files tracked
!agent/runtime/tracks/*/objective.md
# Keep per-track wake.md files tracked (optional, load-bearing every wake)
!agent/runtime/tracks/*/wake.md

# Operational scratchpad and per-wake metrics ledger — volatile, not committable
agent/runtime/wakes.tsv
agent/runtime/state.db
agent/runtime/state.db-journal
agent/runtime/state.db-wal
agent/runtime/state.db-shm

# Secrets — never committed (moved from agent/inbox/from-originator/.secrets/ per P9 cleanup)
agent/secrets/
# Legacy path (still gitignored during transition)
agent/inbox/from-originator/.secrets/
agent/inbox/from-originator/*.secret

# Per-track stop-requested flags (runtime state, never committed)
agent/runtime/tracks/*/stop.requested

# Status channel (DR13): volatile operational state — not committed
agent/runtime/tracks/*/status.json
agent/runtime/tracks/*/status.json.tmp
agent/runtime/orchestrator-status.last-snapshot.json
agent/runtime/orchestrator-status.last-snapshot.tmp

# Multi-project symlinks — per-machine, point at absolute paths,
# rebuild via `reflect project link` (per design DR3/DR4).
agent/projects/
