Treat any change to a public interface (PDK function signatures, plugin config/schema fields, or other externally-consumed API contracts) as a compatibility commitment.
Do
Don’t
Example (signature change rule)
-- Before
function compose_tags(service_name, status, consumer_id, tags, conf) end
-- After (append new param at the end)
function compose_tags(service_name, status, consumer_id, tags, conf, route_name) end
Apply this checklist whenever a change touches externally-defined contracts: if users (or other plugins) might call it, update it with backward compatibility as the default and a documented migration/compat story.
Enter the URL of a public GitHub repository