Platform support
Support is computed per request, never cached. Caching it in an option would mean activating a plugin failed to register — so this table is what the shipped drivers answer today, and the plugin’s own Settings → Platforms is always authoritative for your site.
A refusal is stated where you would meet it, in the platform’s own terms rather than as a disabled control with no explanation:

The matrix
Section titled “The matrix”| Resource | Fluent Cart | WooCommerce |
|---|---|---|
| Product | ✅ except backorders |
✅ |
| Product variation | ✅ | ✅ |
| Product category | ✅ | ✅ |
| Product tag | ❌ no tag taxonomy | ✅ |
| Brand | ✅ | ✅ |
| Attribute | ✅ | ✅ |
| Product download | ✅ | ✅ |
| Customer | ✅ | ✅ |
| Order | ✅ except company |
✅ |
| Order tax rate | ✅ | ✅ |
| Transaction | ✅ | ❌ recorded on the order |
| Refund | ✅ | ✅ |
| Coupon | ✅ except maximum_amount, exclude_sale_items |
✅ except starts_at |
| Cart session | ✅ | ✅ |
| Shipping class | ✅ | ✅ |
| Shipping plan | ✅ | ✅ except delivery_min, delivery_max |
| Tax class | ✅ | ✅ |
| Subscription | ✅ | 🔌 WooCommerce Subscriptions |
| License | ✅ | ❌ |
| Label | ✅ | ❌ |
| Log | ✅ | ❌ |
✅ supported · ❌ the platform has no such concept · 🔌 a plugin would enable it
Three different noes
Section titled “Three different noes”The distinction is deliberate, because they read differently to whoever hits them.
unsupported — the platform has no such concept, and no plugin changes that. WooCommerce records payment on the order, so there is no transaction record to create. A dead end, and saying “install
something” would send someone looking for a setting that does not exist.
missing_extension — a plugin would enable it. Subscriptions on WooCommerce. A link, not a dead end.
supported_except — the resource is written, but one canonical field cannot be stored. Fluent Cart has no company column on an order address, so the admin prints which field is dropped rather
than dropping it silently.
A claim without a writer is reported
Section titled “A claim without a writer is reported”A driver that declares support and ships no writer reports storeseeder_missing_writer at generate time — once, rather than failing per item — because the matrix and writer_classes() have to agree
and only one of them is checkable at boot.
Adding a driver
Section titled “Adding a driver”See Extension points. storeseeder_platforms is the whole surface: the generators, REST API, CLI and admin all pick a new driver up without changes.