Commit 656f2245a62 for woocommerce

commit 656f2245a62f46347148ed6cc4dcd2e9639c4063
Author: Wesley Rosa <wesleyjrosa@gmail.com>
Date:   Thu Jun 25 12:02:54 2026 -0300

    Flag adding methods to implementable interfaces in BC review workflow (#65987)

    * Flag adding methods to implementable interfaces in BC review workflow

    * Cover interface method removal in BC review HIGH-RISK rule

diff --git a/.github/workflows/backwards-compatibility-review.yml b/.github/workflows/backwards-compatibility-review.yml
index 2f64e3c459c..b35e23c40bd 100644
--- a/.github/workflows/backwards-compatibility-review.yml
+++ b/.github/workflows/backwards-compatibility-review.yml
@@ -96,6 +96,7 @@ jobs:
             ANALYSIS BOUNDARIES
             Include:
               - PHP: public/protected signature or visibility changes; default param changes; return/param type-hints; adding `declare(strict_types=1)` to existing files; thrown exception class changes; removed/renamed hooks (`do_action`, `apply_filters`); `templates/**` contract changes; REST route/param/response changes; DB/schema/options; globals/constants; composer constraints.
+              - PHP (HIGH-RISK — flag explicitly): adding a method to (or removing a method from) an `interface` that external code can implement. This is backwards-incompatible: adding a method makes existing implementers fatal on load once they no longer satisfy the contract, and removing one leaves implementers carrying a now-dead method (which static analysis such as PHPStan will flag). The `Internal` namespace does NOT exempt a symbol — third-party code implements/consumes some `Internal` interfaces in practice (e.g. the WooCommerce Stripe Gateway implements `Internal\ProductFeed\Feed\FeedInterface`; WooCommerce 10.9.0 was reverted on WP Cloud after a required `get_entry_count()` method was added to it). Suggest a non-breaking alternative: add the method to a concrete class, introduce a new interface, or provide a default via an abstract base class.
               - JS/Blocks: block names/attributes; script/style handle names, dependencies, and load order; `wp.data` selectors/actions; REST schemas; settings/option keys.
             Exclude:
               - `vendor/**`, `node_modules/**`, `build/**`, `dist/**`, `**/*.min.*`, `**/*.map`, translations `**/*.po` `**/*.mo`, images/binaries, generated artifacts, `tests/**`.