Skip to content

Implement Event Router RFC vertical slice from issue #8287 - #2

Draft
ritofactory-dev[bot] wants to merge 1 commit into
developfrom
ritofactory/run_156c99ed242229fde9a6c112d128e6f2
Draft

Implement Event Router RFC vertical slice from issue #8287#2
ritofactory-dev[bot] wants to merge 1 commit into
developfrom
ritofactory/run_156c99ed242229fde9a6c112d128e6f2

Conversation

@ritofactory-dev

@ritofactory-dev ritofactory-dev Bot commented Aug 24, 2026

Copy link
Copy Markdown

Experimental fork-only implementation

Warning

This is an authorized RitoFactory experiment for the RFC in aws-powertools#8287. It is incomplete, its API may change, and it must not be submitted to or represented as approved by the upstream project.

This draft implements one bounded vertical slice: a reusable exact-match router core plus EventBridgeRouter, typed EventBridgeEvent dispatch, explicit shape/no-match errors, focused tests, documentation, and an example.

Deferred RFC scope

  • glob and regular-expression matching
  • S3 and other event-source routers
  • default handlers
  • Pydantic integration
  • async handlers
  • BatchProcessor composition
  • nested detail matching, composition, and debug logging

Verification evidence

Builder MicroVM reported:

  • python -m ruff format aws_lambda_powertools/event_router tests/unit/event_router examples/event_router --check - passed
  • python -m ruff check aws_lambda_powertools/event_router tests/unit/event_router examples/event_router - passed
  • python -m mypy --pretty aws_lambda_powertools/event_router examples/event_router - passed after installing missing boto3 stubs
  • python -m ty check aws_lambda_powertools/event_router - passed
  • python -m pytest tests/unit/event_router -v --cov=aws_lambda_powertools/event_router --cov-report=term-missing - 12 passed, 96.12% module coverage
  • python -m compileall -q aws_lambda_powertools/event_router tests/unit/event_router examples/event_router - passed
  • git diff --check - passed

Limitations: full make pr, documentation build/lint, security and complexity baselines, and the full repository suite were not run. The Reviewer MicroVM lacked pytest/ruff/mypy/ty, so it reproduced behavior manually but could not independently reproduce the reported tool output. No GitHub checks are currently registered on this fork.

RitoFactory provenance

  • Run: run_156c99ed242229fde9a6c112d128e6f2
  • Work: wki_73f39c146508486354166a3789c60b99
  • Workflow: pwf_d54e8a7e2af9548d27283f50f6100dab version 1
  • Base: ritofactory/powertools-lambda-python:develop

The Reviewer returned a conditional rejection because the PR did not yet exist during review and its environment could not reproduce the builder tooling. Delivery subsequently created this draft PR; independent CI verification remains outstanding.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

0 participants