WP Manifestindependent plugin directory
manifest / utilities / supportinglisteners-plugin

Supporting Listeners — Site Companion

Supporting Listeners site-specific features and the read-only monitoring agent used by Access.

★ 0stars

Install

Download source zip No release zip yet

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.zip
No 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/status endpoint compatible with the Access Site Watchers contract.
  • Authenticated cursor-based GET /wp-json/site-watchers/v1/events endpoint.
  • 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.