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.