Install
This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.
Install straight from GitHub with WP-CLI:
wp plugin install https://github.com/betterbetterbetter/supportinglisteners-plugin/archive/refs/heads/main.zipNo built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.
Dedicated WordPress plugin for Supporting Listeners site-specific behavior. Access remains the authentication and central monitoring control plane; this plugin provides the local, read-only monitoring sensor and future SL-specific feature modules.
Monitoring features
- Persistent agent identity.
- Hash-only API-key storage and one-time key display on rotation.
- Authenticated
GET /wp-json/site-watchers/v1/statusendpoint compatible with the Access Site Watchers contract. - Authenticated cursor-based
GET /wp-json/site-watchers/v1/eventsendpoint. - Database, WordPress, PHP, HTTPS, cron, Access SSO, MemberPress, and LearnDash status.
- Bounded local event capture for fatal PHP errors, failed logins, plugin changes, and WordPress component upgrades.
- No outbound monitoring requests from WordPress. Access pulls status and the managed worker collects browser evidence.
- GET-only checkout readiness checks for explicitly selected MemberPress products, with two-strike failure and recovery alerts.
- Checkout safety evidence stating that no form was submitted, order created, or payment attempted.
- A pre-promotion checklist in WordPress and an operator runbook in
docs/CHECKOUT_MONITORING_RUNBOOK.md.
Structure
supporting-listeners.php— minimal plugin entrypoint.includes/class-plugin.php— loader and feature registry.includes/contracts/interface-feature.php— isolated feature contract.includes/features/monitoring/— Site Watchers-compatible local sensor.includes/features/checkout-monitoring/— no-charge checkout checks and owner alerting.includes/class-admin.php— Supporting Listeners admin dashboard.tests/monitoring-contract.php— WP-CLI contract test.
Local development
Symlink this directory to wp-content/plugins/supporting-listeners, activate
the plugin, and run:
wp eval-file /absolute/path/to/plugin/tests/monitoring-contract.php --skip-themes
wp eval-file /absolute/path/to/plugin/tests/checkout-readiness-contract.php --skip-themes
The local clone intentionally reports environment=local and keeps WP-Cron
disabled. Checkout tests request only the selected local .test registration
pages and never post checkout data.