Product method
Current behavior is a draft, not the truth.
The compiler proposes a bounded matrix from supported WooCommerce configuration. A responsible operator reviews it before any expectation becomes alertable.
1. Compile meaningful cases
Money boundaries use exact integer minor units immediately below, at, and above a threshold. Discrete cases cover relevant zones, merchant-provided synthetic postcodes, classes, coupon state, and selected mixed carts. Deterministic pairwise coverage avoids an unsafe Cartesian explosion.
2. Approve an immutable revision
A user with manage_woocommerce approves expected and forbidden method-instance identities plus optional rate ranges. Later configuration never silently replaces the approved revision.
3. Execute through WooCommerce
The plugin calculates synthetic packages through public WooCommerce APIs and cleans up ephemeral session state. It creates no checkout, order, customer, product, coupon, shipping zone, method, or carrier record.
4. Preserve unknowns
Unsupported rule engines, incomplete batches, stale evidence, exceptions, and missing required cases result in unknown. A failure dominates unknown; only a complete later pass of the same assertion resolves an incident.
5. Map relevant changes
The report compares normalized configuration and allow-listed component versions between the last passing and first failing run. It identifies what preceded and most likely affected a result while preserving competing explanations.