Planned-but-not-yet-built work. Items land here when a shipped feature deliberately defers scope, so the cut is tracked rather than lost. Each entry notes where it came from.
Shipped (Phases 1 – 4 — arc complete): SNS Publish, SQS SendMessage (JSON protocol, faithful MD5 checksums), and EventBridge PutEvents (JSON, batch — each entry captured separately) interception, in-memory capture, protocol-faithful synthesized responses, identity recording, optional re-signed forward via aws-sdk-go-v2 (default/profile:/static: credential resolution, real broker id relayed, forward outcome captured), EventRuleStore on DynamoDB / MongoDB / Cosmos with native TTL, event-capture write-behind persistence to the matched store (distinguished by aws-* protocol prefix), and restart hydration. Design: docs/specs/2026-06-17-aws-event-interception-design.md. Phase 4 plan: docs/plans/2026-06-17-aws-event-interception-phase4-plan.md.
Deferred:
- Forward: Number/Binary message attribute types — forwarded attributes are sent as
Stringonly; the original data type is not preserved. - Forward: EventBridge per-entry partial failure — any entry error in
PutEventsfails the whole request with 502; per-entry partial-failure fidelity is not modeled. - Forward: SQS FIFO
SequenceNumberrelay — the broker-assigned sequence number is not surfaced in the forwarded response. - GCP Pub/Sub & Azure Service Bus — additional brokers. The credential resolver already leaves a hook for verbatim bearer-token passthrough (OAuth2 / SAS), which — unlike AWS SigV4 — can reuse the app's original token on forward.
- Batch publish ops —
PublishBatch(SNS),SendMessageBatch(SQS). (PutEventsis natively batch and already shipped.) - Consumer side — SQS
ReceiveMessagepolling and SNS HTTP subscription delivery. Shipped phases cover only the outgoing/publish side. - Event fault injection — simulate broker errors (throttling,
AccessDenied, 5xx) on intercepted publishes, reusing the existingFaultProfilemodel. - Weighted / canary event buckets — traffic split per event rule (e.g. 90% respond / 10% forward), mirroring HTTP weighted buckets.
- SNS filter policies & SNS→SQS fan-out — model subscription filtering and fan-out semantics.
- Non-Go SDK fixtures — contract fixtures captured from boto3 and the JS v3 SDK, to harden wire-format fidelity beyond
aws-sdk-go-v2.