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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants