InboxItem into an intentional ProcessedItem used by other app features.InboxItem during/after processing.We will adopt a one-to-one transformation model where a processing operation produces a single ProcessedItem derived from the (optionally) edited InboxItem content. To keep storage simple and bounded, the originating InboxItem will be removed from the inbox store immediately after a successful transformation (no persistent link is kept).
Key rules:
ProcessedItem from the edited InboxItem content and attached metadata.ProcessedItem will NOT store originInboxId; tracing back to the original capture is intentionally omitted to avoid unbounded store growth.ProcessedItem then delete the InboxItem) should be performed as an atomic transaction where supported to avoid partial states.Do (execute now / thrash), no persistent ProcessedItem is required unless the action also needs tracking; the InboxItem will be deleted as part of processing.Delegate, Defer, and all Non-actionable outcomes (including Reflection), a ProcessedItem record is created and the original InboxItem is deleted immediately afterward.Scope boundaries:
ProcessedItem exists (or vice versa).InboxItem (existing): id, rawText, capturedAtProcessedItem: id, content (canonical text), capturedAt, processedAt, processedType (enum: e.g., Task, Reference, Someday, Reflection), tags (relation), category (string), context (string)Positive:
Downsides:
actionDetails shape changes; prefer an extensible key-value or JSON column for early iterations.InboxItem into a processed record — rejected because it loses the original capture and reduces traceability.