Skip to content

Plugin Stuff Round 7#661

Merged
lbedner merged 1 commit intomainfrom
plugin-stuff-round7
May 1, 2026
Merged

Plugin Stuff Round 7#661
lbedner merged 1 commit intomainfrom
plugin-stuff-round7

Conversation

@lbedner
Copy link
Copy Markdown
Owner

@lbedner lbedner commented May 1, 2026

No description provided.

Copilot AI review requested due to automatic review settings May 1, 2026 20:11
@lbedner lbedner force-pushed the plugin-stuff-round7 branch from c3ce8dd to 12a57fa Compare May 1, 2026 20:13
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR advances the plugin refactor by introducing a declarative “wiring” model on PluginSpec, a serializer that materializes wiring into _plugins answers, and initial template/test scaffolding to render backend routing via plugin entries.

Changes:

  • Add wiring dataclasses (PluginWiring, RouterWiring, etc.) to PluginSpec and populate wiring for in-tree services.
  • Introduce plugin_composer to serialize plugin specs into _plugins answers with when-predicate filtering.
  • Extend routing.py.jinja to render router imports/mounts from plugin wiring and add tests for wiring/serialization and routing render parity.

Reviewed changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated 8 comments.

Show a summary per file
File Description
tests/core/test_plugin_wiring.py Adds unit tests for wiring dataclass defaults, serializer behavior, and in-tree wiring counts/gating.
tests/core/test_plugin_render_parity.py Adds byte-for-byte render parity test for routing.py.jinja (legacy flags vs plugin wiring).
aegis/templates/copier-aegis-project/{{ project_slug }}/app/components/backend/api/routing.py.jinja Adds plugin-driven import/mount loops and tweaks legacy imports to align with wiring output.
aegis/core/services.py Populates wiring for in-tree services (auth/ai/comms/insights/payment).
aegis/core/plugin_spec.py Introduces wiring dataclasses and adds wiring: PluginWiring to PluginSpec.
aegis/core/plugin_composer.py New serializer to produce _plugins answer entries and evaluate when predicates.
aegis/core/manual_updater.py Aliases _plugins to plugins in the render context for manual updates.
aegis/commands/plugins.py Docstring text adjustment (inspection surface wording).

Comment thread aegis/core/plugin_spec.py Outdated
Comment thread aegis/core/plugin_spec.py
Comment thread aegis/core/services.py
Comment thread aegis/core/services.py
Comment thread tests/core/test_plugin_wiring.py
Comment thread aegis/core/plugin_composer.py
@lbedner lbedner force-pushed the plugin-stuff-round7 branch from 12a57fa to f75b29e Compare May 1, 2026 20:44
@lbedner lbedner merged commit 5d09c7e into main May 1, 2026
8 checks passed
@lbedner lbedner deleted the plugin-stuff-round7 branch May 1, 2026 20:55
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.

2 participants