# migration yugabyte-safety walker exemptions for the 3tears repo.
#
# format: <repo_relative_path>:<rule_name> # rationale: <specific reason>
#
# blank rationales ("internal access needed", "tests need this", etc.)
# are rejected by the walker meta-test. each rationale must explain
# WHY the violation is acceptable in this specific case.
#
# paths are repo-relative (POSIX forward-slash, anchored at the repo
# root) so the same exemption file works across developer machines
# AND the CI checkout. absolute paths are non-portable and only match
# on the host that wrote them; the walker's
# ``find_migration_violations`` matches against the relative form when
# ``WalkerConfig.repo_root`` is set (it is in every per-repo
# enforcement test).

packages/agent-memory/src/threetears/agent/memory/migrations/v009_media_composite_fk.py:M-5 # rationale: pre-GA media table clear before partitioning agent_id NOT NULL; no production data to preserve and the alternative (per-row backfill) requires a tombstone column we have no need for post-GA
packages/agent-memory/src/threetears/agent/memory/migrations/v010_media_content_composite_fk.py:M-5 # rationale: pre-GA media_content table clear before partitioning agent_id NOT NULL; the table is fully derived from media via composite FK so re-population happens on next agent run with no data loss
packages/agent-memory/src/threetears/agent/memory/migrations/v011_memory_chunks_composite_fk.py:M-5 # rationale: pre-GA memory_chunks table clear before partitioning agent_id NOT NULL; chunks are derived from media + memories so re-extraction happens on next agent run with no data loss
