[Feature] Add per-user unified Postbox grouping without merging source containers #19

Open
opened 2026-07-28 18:59:05 +02:00 by zemion · 1 comment
Owner

Outcome

A user with several effective function postboxes can group selected sources into unified inbox views while keeping sensitive or unrelated responsibilities separate.

Acceptance criteria

  • Persist named per-user grouping definitions that reference visible postbox addresses; support a default group and explicitly separate sources.
  • A unified group is a query/view projection only. Messages, read/ack state, retention, address, function/unit context, and audit evidence remain attached to the source postbox.
  • Re-evaluate membership when IDM assignments start, expire, or are revoked; retain harmless preferences for temporarily unavailable sources without leaking metadata.
  • Provide aggregate unread counts, filtering, search, and deterministic pagination without duplicate messages.
  • Show source function/unit and acting/delegated context on every item and action.
  • Allow administrators/Policy to require separation for classifications or functions and explain that provenance.
  • Make group selection available to the future Views module so a task-focused View can choose a Postbox projection without changing access.
  • Tests cover multiple functions, overlapping groups, delegation expiry, hidden sources, classification separation, and stable pagination.

Dependencies

Builds on the inbox slice (#11), the effective IDM assignment contract, and parent user story #16.

## Outcome A user with several effective function postboxes can group selected sources into unified inbox views while keeping sensitive or unrelated responsibilities separate. ## Acceptance criteria - Persist named per-user grouping definitions that reference visible postbox addresses; support a default group and explicitly separate sources. - A unified group is a query/view projection only. Messages, read/ack state, retention, address, function/unit context, and audit evidence remain attached to the source postbox. - Re-evaluate membership when IDM assignments start, expire, or are revoked; retain harmless preferences for temporarily unavailable sources without leaking metadata. - Provide aggregate unread counts, filtering, search, and deterministic pagination without duplicate messages. - Show source function/unit and acting/delegated context on every item and action. - Allow administrators/Policy to require separation for classifications or functions and explain that provenance. - Make group selection available to the future Views module so a task-focused View can choose a Postbox projection without changing access. - Tests cover multiple functions, overlapping groups, delegation expiry, hidden sources, classification separation, and stable pagination. ## Dependencies Builds on the inbox slice (#11), the effective IDM assignment contract, and parent user story #16.
Author
Owner

Codex State: progress

Per-account named/default groupings and source-preserving aggregate message queries are implemented with search, state filters, deterministic pagination, and no message/receipt merging. Updating a grouping now retains temporarily inaccessible source preferences server-side without exposing hidden metadata; a regression test covers assignment loss and restoration. Policy/Views-enforced separation and aggregate unread counters remain open.

## Codex State: progress Per-account named/default groupings and source-preserving aggregate message queries are implemented with search, state filters, deterministic pagination, and no message/receipt merging. Updating a grouping now retains temporarily inaccessible source preferences server-side without exposing hidden metadata; a regression test covers assignment loss and restoration. Policy/Views-enforced separation and aggregate unread counters remain open.
zemion added
status
in-progress
and removed
status
ready
labels 2026-07-29 00:20:19 +02:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: GovOPlaN/govoplan-postbox#19
No description provided.