Posts not being classified
Check the master switch and category list
Check the master switch and category list
Verify that
opennotes_enabled is true and that the post’s category slug or ID appears in
opennotes_monitored_categories.Check the server URL and API key
Check the server URL and API key
The plugin sends every request to A
{opennotes_server_url}/api/public/v1/.... An incorrect
base URL or an expired API key will cause all classification jobs to fail silently.Test connectivity from the Discourse host:401 response means the API key is wrong or expired. A connection timeout means the server
URL is unreachable.Check the Sidekiq queue
Check the Sidekiq queue
Classification runs asynchronously via
Jobs::SyncPostToOpennotes. If the Sidekiq queue is
backed up or the job is failing, posts will not be classified promptly.Visit Admin > Sidekiq in Discourse and check for failed jobs with the class
SyncPostToOpennotes. Retry failed jobs from there.Post may be scan-exempt
Post may be scan-exempt
Posts that were previously auto-hidden and then restored by community overturn are marked
scan-exempt. Minor edits to these posts will not trigger re-classification. Only a substantial
rewrite (which clears the scan-exempt flag) will cause re-classification.
Community review page is empty
Check trust level requirements
Check trust level requirements
The logged-in user must meet the
opennotes_reviewer_min_trust_level threshold. Visit
Admin > Users and confirm the user’s trust level.Verify there are pending review items
Verify there are pending review items
The
/community-reviews page only shows items in under_review or retro_review state.
If no posts have been sent for classification yet, the page will be empty. Create a test post
in a monitored category and wait for the Sidekiq job to run.Automated actions are not being applied
Check opennotes_auto_hide_on_consensus
Check opennotes_auto_hide_on_consensus
If
opennotes_auto_hide_on_consensus is false, community consensus creates a staff task
rather than hiding the post automatically. Enable it if you want the plugin to act without
manual staff confirmation.Check opennotes_staff_approval_required
Check opennotes_staff_approval_required
When
opennotes_staff_approval_required is true, automated actions from the Tier 1 path
(high-confidence AI classification) still appear in the staff review queue and require a staff
member to confirm before taking effect.Check webhook delivery
Check webhook delivery
The server notifies Discourse of consensus via
POST /opennotes/webhook. If the webhook is
not reaching your instance (firewall, DNS, or TLS mismatch), the action will be delayed until
the next polling cycle (every 5 minutes via Jobs::SyncScoringStatus).Check the Open Notes server logs for webhook delivery errors and verify that
https://your-discourse.example.com/opennotes/webhook is reachable from the server.Plugin not appearing in admin
Verify the clone succeeded
Verify the clone succeeded
SSH into the Discourse host and check that the plugin directory exists inside the container:If the directory is missing, the
git clone step in app.yml failed. Rebuild with
./launcher rebuild app and watch the output for clone errors.Check for Ruby load errors
Check for Ruby load errors