Scratch / Temp File Location — todo arquivo temporário ou scratch de IA vive exclusivamente em ~/temp/, nunca na home ou em ~/dev

mandatory

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 com mkdir -p ~/temp/<subdir>/.

  • Proibido criar scratch em: a raiz da home ~/; ~/dev/ (acima do

    monorepo); 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 seu cacheDiroutDir--home para lá. Nunca rodar com cwd em ~ ou ~/dev/. (Foi assim que .aider*, .plandexignore, smartrouter.db, o Chromium de 666 MB do puppeteer e um .git vazio 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 remover

    scratch 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. Proibido screencap -p /sdcard/... (+ pull).

  • uiautomator dump (exige path no device): dump → ler → rm *o mesmo

    comando, em path fixo; ou preferir Koder Konsul*(zero arquivo no device).

  • Ao fim de toda sessão ADB, a raiz /sdcard não pode ter .png/.xml de IA.

    Operacional + trap de limpeza: android-ui-inspection.kmd §Higiene de arquivo (o trap restore_device já roda `rm -f /sdcard