fix(core): wiring_summary reports EDA event listeners (v26.06.09)#35
Merged
Conversation
…ump v26.06.09 The startup bean/wiring summary logged event_listeners (@app_event_listener), message_listeners, cqrs_handlers, scheduled_tasks, async_methods, post_processors — but omitted EDA @event_listener subscriptions (tracked as event_listeners_eda), so wired EDA listeners showed as absent in the summary (misleading when using it to diagnose noop-wiring). Extracted _wiring_summary_fields() and added event_listeners_eda. EDA subscription/dispatch unchanged. Regression tests: tests/core/test_wiring_summary.py + an EDA-listener wiring test in tests/context/test_wiring.py. Found while validating implement-eda (skill + eda/messaging runtime already correct). Gates: mypy --strict (607), ruff, full suite 3630 passed.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The startup
wiring_summarylog (PyFlyApplication) surfacedevent_listeners(@app_event_listener),message_listeners,cqrs_handlers,scheduled_tasks,async_methods, andpost_processors— but omitted EDA@event_listenersubscriptions, which_wire_event_listenerstracks underevent_listeners_eda. So a service that wired EDA listeners saw them reported as absent in the summary — misleading when using the summary to diagnose noop-wiring (asdebugging-async-servicesrecommends).The EDA listeners were correctly subscribed and dispatched (verified end-to-end during the
implement-edaskill validation) — only the summary line under-reported them. The skill and the eda/messaging runtime were already correct; this is purely a startup-log accuracy fix.Fix
Extracted the summary-field assembly into a pure, testable helper
pyfly.core.application._wiring_summary_fields(wiring)and addedevent_listeners_eda. No behavioural change to event subscription or dispatch.Tests
tests/core/test_wiring_summary.py— asserts the summary surfacesevent_listeners_eda, mapsscheduled→scheduled_tasks, and includes every advertised counter (defaulting to 0).tests/context/test_wiring.py::TestEdaEventListenerWiring— wires a real EDA@event_listener(memory provider) and assertswiring_counts["event_listeners_eda"] >= 1.Gates
mypy --strict(607 files) ✓ ·ruff✓ · full suite 3630 passed, 1 skipped.Bumps
v26.06.08 → v26.06.09(pyproject /__init__/ README), CHANGELOG entry,uv.locksynced.