Skip to content

Conversation

@ZoogieZork
Copy link
Collaborator

Note

This is an experimental branch to explore options and progressively make improvements.
This PR is for verifying CI checks -- individual changes will be cherry-picked into separate PRs.

Description

This is the start of overhauling how plugins start up to be typesafe both during development and at runtime, which will open paths forward to safely make larger changes to the engine <-> plugin protocol.

  • Define typehints for args.
  • Document usage and restrictions.
  • Add runtime logging if JSON decoding fails.

Motivation and Context

Ensure that the communication between the engine and plugins is well-defined, typesafe (both static analysis and at runtime) so that we can start evolving the plugin architecture.

How Has This Been Tested?

Testing focused using the plugin_runner utility.

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation change

Checklist

  • My code follows conforms to the coding standards.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have added tests to cover my changes.
  • All new and existing tests passed.

This is the start of overhauling how plugins start up to be typesafe
both during development and at runtime, which will open paths forward to
safely make larger changes to the engine <-> plugin protocol.

* Define typehints for args.
* Document usage and restrictions.
* Add runtime logging if JSON decoding fails.
@ZoogieZork ZoogieZork changed the title Improve plugin startup validation and type safety [Experimental] Improve plugin startup validation and type safety Aug 7, 2025
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.

1 participant