Scratch / Temp File Location — todo arquivo temporário ou scratch de IA vive exclusivamente em ~/temp/, nunca na home ou em ~/dev
Qualquer arquivo **temporário, scratch, experimento, render intermediário, dump, cache one-off ou artefato descartável** gerado por uma IA (Claude/Codex/ Gemini/Kimi/aider/plandex/etc.) ou por um processo seu DEVE ser criado **única e exclusivamente** dentro de `~/temp/`, num subdiretório descritivo que a IA escolher (ex.: `~/temp/<tarefa>-<YYYY-MM-DD>/`). **Nunca** soltar scratch na raiz da home (`~`), em `~/dev/` (acima do monorepo) ou dentro de um componente do monorepo. Motivo: scratch solto na home/dev acumula como entulho invisível, polui `git status`, vaza entre contas migradas e mistura-se com conteúdo real do owner. Esta policy nasceu da limpeza forense de 2026-06-11, que achou ~3 MB de scratch de IAs antigas (aider, plandex, CLI "Kode", roteador LLM, spinners, grids de ícone) largados em `~/dev` e `~` ao longo de mar–jun/2026.
Por quê
Scratch de IA largado fora de ~/temp/ vira entulho silencioso: acumula na home e acima do monorepo, polui git status, sobrevive a migrações de conta (/home/koder → /home/rodrigo trouxe junto meses de lixo), some no meio do conteúdo real do owner e às vezes carrega segredos (ex.: um apikeys.db ou um handoff listando paths de credenciais). Centralizar em ~/temp/ torna o lixo localizável, descartável e auditável — e mantém ~, ~/dev/ e o monorepo limpos por construção.
R1 — Local único
- Todo arquivo temporárioscratch vai em *~temp/`*(já é a raiz de temporário
da Stack —
CLAUDE.md §Diretórios de sistema;~/temp/e não/tmp/, que é tmpfs com limite). Criar commkdir -p ~/temp/<subdir>/. - Proibido criar scratch em: a raiz da home
~/;~/dev/(acima domonorepo); qualquer path dentro de
~/dev/koder/que não seja saída legítima de build versionada/gitignorada do próprio componente.
R2 — Subdiretório descritivo
- A IA escolhe o subdiretório, mas ele DEVE ser descritivo e datado quando fizer
sentido:
~/temp/<tarefa>-<YYYY-MM-DD>/(ex.:~/temp/spinner-render-2026-06-11/,~/temp/statuscheck/). Evitar despejar arquivos soltos direto em~/temp/.
R3 — Ferramentas de terceiros
- Ao rodar uma ferramenta que escreve históricoestadocache no cwd (aider,
plandex, codex, etc.), rodá-la a partir de um subdir de
~/temp/, ou apontar seucacheDiroutDir--homepara lá. Nunca rodar com cwd em~ou~/dev/. (Foi assim que.aider*,.plandexignore,smartrouter.db, o Chromium de 666 MB do puppeteer e um.gitvazio acabaram poluindo a home/dev.)
R4 — Ciclo de vida
- Scratch é descartável por definição: nada essencial vive só em
~/temp/.O que precisa persistir vira artefato versionado (no componente) ou doc (per
content-location.kmd). - Limpeza segura segue o padrão da
working-tree-resolution.kmd: ao removerscratch de outra sessão/ferramenta, zipar + mover para
~/temp/<algo>-attic-<ts>/antes de deletar (reversível), e — se cross-session — emitir um broadcast-alert (specs/notices/broadcast-alerts.kmd) pedindo confirmação antes do delete definitivo.
R5 — Device do owner (Android) — scratch NUNCA fica no device
O mesmo princípio vale pro celular físico do owner acessado via ADB: scratch de IA (screencap, uiautomator dump, qualquer arquivo) nunca pode ser deixado no device (/sdcard etc.). Lixo no device é pior que na home — fica no aparelho pessoal do owner, fora do alcance do git status. (Limpeza forense 2026-06-25: 163 artefatos .png.xml largados na raiz `sdcard` por sessões de IA ao longo de jun/2026.)
- Screencap: stream pro laptop, sem arquivo no device —
adb -s $S exec-out screencap -p > ~/temp/<f>.png. Proibidoscreencap -p /sdcard/...(+pull). uiautomator dump(exige path no device): dump → ler →rm*o mesmocomando, em path fixo; ou preferir Koder Konsul*(zero arquivo no device).
- Ao fim de toda sessão ADB, a raiz
/sdcardnão pode ter.png/.xmlde IA.Operacional +
trapde limpeza:android-ui-inspection.kmd§Higiene de arquivo (otrap restore_devicejá roda `rm -f /sdcard