--- description: learned preferences, project conventions, and Do-Not-Repeat rules budget_tokens: 2000 --- # Cerebrum > OpenWolf's learning memory. Updated automatically as the AI learns from interactions. > Do not edit manually unless correcting an error. > Last updated: 2026-10-06 ## User Preferences - Writes in Portuguese (pt-BR); answer in Portuguese. Wants things finished end to end: merged, released, deployed and checked in production, without being asked again (said so on 2026-10-22). - Likes a clean interface with every function reachable (Apple / Anthropic as references, Outlook over Gmail), dark theme by default with a light one. ## Key Learnings - **Project:** LambdaMail - **Description:** A self-hosted mail server with an integrated webmail and admin console, built to ## Do-Not-Repeat - [2026-10-22] `git add -A` swept the untracked `.wolf/` and `CLAUDE.md` into a public repo. Add explicit paths (`git add services migrations`), never `-A`. - [2026-10-22] Deploy is two steps: PATCH the Coolify env `IMAGE_TAG` to `sha-` and only then POST /deploy. A deploy without the PATCH redeploys the old image and still says "finished". Wait for the Release run to be `completed`, not just for `gh run watch` to return. - [2026-10-22] `pkill -f ` kills the shell that is running it when the pattern appears in the command text. Use a bracket such as `[m]ock.mjs`, and never in a command that also contains the pattern as plain text. - [2026-10-22] `~/.claude/tools/chrome-claude --print-path` launches Chrome. Pass the wrapper only as `executablePath`. - [2026-10-22] `services/protocols` e2e tests apply only migration 0001. Delivery code must not call SQL functions or columns from later migrations. - [2026-10-22] A `