Context
From the task-domain-model proposal docs/proposals/task-model.md §6.4. The current "clarify" flow assumes a 1:1 mapping from inbox item to clarified task. In practice:
- One inbox item often splits into multiple tasks ("Project X" → "draft outline", "send to reviewers", "schedule kickoff").
- Multiple inbox items often merge into one task (the same idea echoing in different contexts at different moments).
The current data model conflates inbox item with task (state == 'inbox' on the todos table), making split/merge UX awkward.
Scope (preliminary — needs design pass)
- Possibly: a distinct
InboxItem entity, separate from Task.
- Clarify UI affordances: split one inbox item into N tasks; merge multiple into one.
- Provenance tracking so a clarified task can show "captured from these N inbox items".
- Decide whether merge consumes the inbox items or just links them.
Out of scope
Engineering directive (today)
Until this is implemented, keep code touching the inbox/clarification flow reversible — see proposal §6.4. Don't bake "Inbox is just a Task with clarified=false" into load-bearing assumptions; isolate clarification UI flows behind a notifier/service interface.
References
Context
From the task-domain-model proposal
docs/proposals/task-model.md§6.4. The current "clarify" flow assumes a 1:1 mapping from inbox item to clarified task. In practice:The current data model conflates inbox item with task (
state == 'inbox'on the todos table), making split/merge UX awkward.Scope (preliminary — needs design pass)
InboxItementity, separate from Task.Out of scope
Engineering directive (today)
Until this is implemented, keep code touching the inbox/clarification flow reversible — see proposal §6.4. Don't bake "Inbox is just a Task with
clarified=false" into load-bearing assumptions; isolate clarification UI flows behind a notifier/service interface.References
docs/proposals/task-model.md§6.4.