Skip to content

fix(ci): the plugin API check compares a used function's signature, not only that it exists - #254

Open
AlexS-scale wants to merge 2 commits into
mainfrom
AlexS/plugin-api-checks-function-signatures
Open

AlexS-scale wants to merge 2 commits into
mainfrom
AlexS/plugin-api-checks-function-signatures

Conversation

@AlexS-scale

@AlexS-scale AlexS-scale commented Oct 19, 2026 •

Copy link
Copy Markdown
Contributor

Follow-up to #234. The plugin API check passes each USED entry's old and new object to griffe.find_breaking_changes. griffe compares only an object's members, so for a function it reports nothing. Every function listed in USED by itself was checked only for existence: for example, making count_runs's task_id required, or removing a parameter, passed without a !. That covers #234's run-index functions (insert_run, mark_terminal, …), find_task_instance, task_instances, build_env_provider and register_env_instance. Functions reached through a module entry (agent_env.plugins.settings) were already checked.

Now a function entry is compared through its parent module or class, and only its own breakages are kept.

The check still passes on main. Tests: a new used-function-signature-changed case fails before this change. An unused-sibling-of-a-used-function case shows that changing a function in the same module that isn't on the surface still passes.

RetriggerView in GreptileConfidence Score: 5/5

The PR appears safe to merge; the requested sibling-filtering test is now present.

Summary

The PR makes the plugin API check catch signature changes to individually listed functions.

  • The plugin API check now catches signature changes to used functions.

Reviews (2) · Last reviewed commit: "test(ci): a change to a used function's ..." · Reviewed by Greptile

@AlexS-scale
AlexS-scale requested a review from a team as a code owner October 19, 2026 15:54
Comment thread tst/unit/test_check_plugin_api.py

This branch has not been deployed

No deployments
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