aws-samples / aws-samples/sample-autonomous-cloud-coding-agents
feat(notifications): per-user notification preferences
- Dominant language
- TypeScript
- Stars
- 143
- Forks
- 46
- Avg merge
- 3d 9h
- Merged PRs (30d)
- 20
Description
**Context:** ROADMAP.md → Per-user notification preferences
---
## Component
API or orchestration
## Describe the feature
**DynamoDB store** (or equivalent) for per-user preferred channels, per-channel config (email address, Slack DM), and **event filters** beyond global defaults.
## Use case
Teams have mixed preferences: some want every milestone, others only failures and approvals. Global fanout defaults are insufficient at scale.
## Proposed solution
1. `NotificationPreferencesTable`: PK `user_id`, channel configs, subscribed event types.
2. FanOutConsumer resolves preferences after task submitter identity.
3. API: `GET/PUT /users/me/notification-preferences`; CLI `bgagent notifications`.
4. Merge with per-channel defaults from `INTERACTIVE_AGENTS.md` AD-4.
5. Document in `docs/design/INPUT_GATEWAY.md`.
## Other information
- Depends on SES dispatcher for email channel.
- Design context: `docs/design/INPUT_GATEWAY.md`.
- [ ] This might be a breaking change
Contributor guide
Research direction
Start with ROADMAP.md and docs/design/INPUT_GATEWAY.md, then trace the FanOutConsumer and the existing notification and SES dispatcher paths. The proposed scope includes the NotificationPreferencesTable, GET/PUT API, CLI command, event-filter merging, and documentation; done means these pieces work together with the stated per-channel defaults.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- aws, typescript
- Domain
- api, backend, cli, databases, documentation
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100