OpenClaw brain
2026-05-02.md
memory/2026-05-02.md
## Outlook golf cancellation classification
- David clarified that the Min Golf no-reply message `Avbokningsbekräftelse 2026-05-02 klockan 14:20` should be `Bra att veta` + subject category `Föreningar/Golfförbundet och klubb`.
- Applied those categories to the message in `Inkorg`, preserving read/unread status.
- Created the Outlook master category `Föreningar/Golfförbundet och klubb` and updated `outlook_steady_state_maintenance.py` so it maps to `Archive / Föreningar / Golfförbundet och klubb` for final archiving.
## Bosse Bokdoktor domain
- David ordered the domain `beviable.app` after Kompis suggested it.
- Next intended step is `bosse.beviable.app` plus Cloudflare backend/custom-domain setup, but David does not yet have DNS settings access, so wait before proceeding.
## General app development policy
- David asked to make the Bosse environment/local-dev rules general for all app development with Kompis, including BanterPicks and upcoming Pets2Adore.
- Created `docs/APP-DEVELOPMENT-POLICY.md` covering ownership, local workspace structure, local/sandbox/prod environments, domain pattern, integration separation, security defaults, and deploy flow.
- 07:52 UTC: Resumed Outlook Archive-root cleanup after batch 021. Completed batches 022–031 (10 batches) using raw exports `outlook-archive-root-raw-batch-022.json` … `-031.json` and classification files `outlook-archive-root-classification-batch-022.json` … `-031.json`. Apply reports `outlook-archive-root-gpt-batch-apply-20260502-073435.json` through `...-075150.json`: 2,500 messages moved, 0 failed, 0 skipped. Current Outlook Archive root totalItemCount: 4,689; read-only spot check found uncategorized root messages remain (example subject: "Re: Slöjdstart"). Stopped because the requested cap of 10 new batches was reached.
## Outlook Archive-root cleanup completed — 2026-05-02 08:33 UTC
- David asked to complete the remaining 4,689 direct messages in Outlook `Archive` root.
- Continued Archive-root cleanup after prior batch 031. Exported/classified/applied fresh batches through batch 048 plus final legacy-category stragglers.
- Final verification via Microsoft Graph: direct `Archive` root `totalItemCount: 0`, `unreadItemCount: 0`, and fetching direct messages returned 0.
- Final reports include `outlook-archive-root-gpt-batch-apply-20260502-080448.json` through `...083314.json`; final clean-up report `...083314.json` moved the last remaining legacy root message. Some late intermediate apply reports contain 404 failures caused by stale/concurrent batch files being retried after those messages had already been moved; final root verification confirms no direct Archive-root messages remain.
## Context anchors
- David wants me to keep track of daily context anchors and always use the latest one unless he explicitly names another.
## Outlook maintenance model split — 2026-05-02 19:45 UTC
- David asked to split Outlook steady-state maintenance across models for cost efficiency.
- GPT-5.5 recommended a four-step run window: cheap Arkiverbart pre-drain, GPT-5.5 Inbox analysis/categorization/internal Inbox moves, cheap Arkiverbart post-drain, cheap retention/gallring.
- Updated `personal-organizer/scripts/outlook_steady_state_maintenance.py` with `--phase {all,inbox,archive,retention}` and phase-specific report filenames. Verified with `python3 -m py_compile` and `.venv/bin/python scripts/outlook_steady_state_maintenance.py --help`.
- Scheduled Outlook jobs twice daily in Europe/Stockholm: `Outlook Arkiverbart → Arkiv — före Inbox` at 00:00/12:00 using `openai/gpt-5.4-mini`; `Outlook inkorg — analys, kategorisering och intern flytt` at 00:05/12:05 using `openai/gpt-5.5`; `Outlook Arkiverbart → Arkiv — efter Inbox` at 00:25/12:25 using `openai/gpt-5.4-mini`; `Outlook gallring — arkivretention` at 00:35/12:35 using `openai/gpt-5.4-mini`. All have `staggerMs: 0` to preserve order.