Reference brain property contract
The Telegram inbox brain (forge_telegram_inbox_brain.py) hardcodes the following. Changing any of these in Notion without updating the brain code causes silent write failures or 400s.
DB IDs: stored in NOTION_DBS dict inside the Python file. Proposed improvement: move to ~/.forge-secrets/notion-db-ids.env (not yet done as of 2026-04-29).
Required title field name: Name on every writable DB (Tasks, Inbox, Knowledge, Habits). Notion allows renaming the title field; don't.
Property names brain writes:
- Tasks: Priority (select), Source (select), Due (date), Notes (text), Status (status)
- Inbox: Sorted? (checkbox), Tags (multi_select), Destination (text)
- Knowledge: Body (text), Tags (multi_select)
- Habits: Habit (text), Date (date), Done? (checkbox), Notes (text)
Required enum values brain writes by default:
- Source: "Brain" on Task creates
- Priority: "Medium" default
- Status values from the 5-option enum: Inbox / Next / Doing / Waiting / Done
Safe to change without breaking bots: DB display titles, sidebar position, adding new properties, adding new select options, view configs (filters/sorts/gallery), page templates, Linked Database View blocks, Favorites pinning.
Brand routing: BRAND_TO_TASKS_DB map routes Telegram brand-tagged tasks to the correct brand Tasks DB. Adding a brand requires both a new map entry AND the new DB already created.
[Claude Code]
[auto-memory session 79ab1f94-3ad7-4e81-a492-c5e849e3eb9e, confidence 0.85, mode direct]