docs(docs): 📝 Add standardized rules for canonical file locations to enforce consistent storage away from /tmp and /private/tmp

Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
This commit is contained in:
autocommit 2026-04-15 16:53:08 -07:00
parent 2c396fa674
commit a2e8f804b2

View file

@ -350,3 +350,9 @@ Hooks enforce these standards automatically on Write/Edit — they are not optio
- Building/unit effects are data-driven from JSON — don't hardcode behavior
- Always call `DataLoader.load_game("age-of-dwarves")` when running scenes directly
- **NEVER use anime models for game art** — use `juggernaut-xl-v9`, `epicrealism-xl`, `illustrious-xl-v2`
- **NEVER write project state, scripts, or batch output under `/tmp` or `/private/tmp`** — reboots wipe them, flatpak sandboxes block writes to them, and comparing runs across sessions becomes impossible. Canonical locations:
- Shell scripts/runners → `scripts/` (in-repo, tracked) or `$HOME/bin/` (persistent per-host)
- Batch/iteration outputs → `.local/batches/` (in-repo, gitignored) or `$HOME/tmp/` (persistent per-host)
- Per-iteration diagnostic dirs → `.local/iter/` (in-repo, gitignored)
- Remote apricot paths → `$HOME/Code/@projects/@magic-civilization/.local/...` (mirror of repo layout)
- ONLY `/tmp` is acceptable for: genuine inter-process pipes (mkfifo), socket activation (.sock files), or Godot internal scratch the engine itself puts there. If you find yourself writing `/tmp/mc_*` or `/tmp/run_*`, STOP — use one of the paths above.