- uninstall.php checks every site first and wp_die()s (keeping tables,
options and plugin files) on aeav_only modes, misc rows, or zone
modules past cutover; a failed bootstrap also refuses
- Multisite now checks and cleans every site: network activation is always
false at uninstall, so only the main site was being cleaned before
- Drop the inline fallback DROP loop, unreachable now that a missing
helper refuses instead
Verify: UninstallGuardTest (8 tests incl. running uninstall.php single and
multisite); unit 602 OK, integration 429 OK
PR: PR-008
- install() no longer switches the Hook Bus on or puts user/term/comment
into dual_write; the now-unused maybe_autoactivate_entity_bridge() is gone
- Hook Bus and Mode_Manager defaults are off/disabled; sites with stored
modes (incl. aeav_only) keep them since only unset keys use defaults
- Guard run_dbdelta()'s upgrade.php require like install_v2_tables() so
install() can run under the integration test stub
Verify: InstallerV2Test::test_install_does_not_enable_entity_bridge,
ModeManagerDefaultsTest; unit 602 OK, integration 421 OK
PR: PR-007
- Both term/comment filters now default to disabled for new installs, so
activating the plugin no longer reroutes or drops other plugins' meta
- One-time maybe_upgrade() migration keeps the misc bucket on for sites
that already hold misc rows and never set the toggle (data stays readable)
- Admin toggles show the same defaults as the filters
Verify: phpunit-integration --filter 'defaults_false|preserve_default';
unit 600 OK, integration 420 OK
PR: PR-006