Features Architecture¶
Feature layer purpose
Feature modules encapsulate specialized behavior that should not bloat core state orchestration. They consume canonical state from EventCache and implement focused policies (timezone, reminders, recurrence, workspaces, category workflows).
Scope map¶
| Feature area | Primary role | Core dependencies |
|---|---|---|
| Timezone | Source/display/system timezone correctness and recurrence patch behavior. | EventEnhancer, TimeEngine, provider parsing paths |
| Reminders | Time-tick driven notification policy and deduplicated reminder delivery. | TimeEngine, EventCache, Notification APIs |
| Recurrence | Instance overrides and parent-child lifecycle semantics. | EventCache, provider mutation paths |
| Workspaces | View-level filtering and setting overrides for presentation segmentation. | ViewEnhancer, settings |
| Category | Parsing, normalization, and bulk categorization workflows. | EventEnhancer, settings, UI controls |
Architecture rule¶
Feature modules may transform, filter, and react, but they must not replace core ownership boundaries.
- State authority remains in
EventCache. - Provider authority remains in provider modules.
- Feature modules are policy and behavior layers around those authorities.