| @@ -399,11 +399,14 @@ | ||
| 399 | 399 | /** |
| 400 | 400 | * Registers the comment-spam analysis ability. |
| 401 | 401 | * |
| 402 | 402 | * Not offered to the model during a search turn (see |
| 403 | - * {@see openstation_ai_search_ability_names()}); the moderation pipeline | |
| 404 | - * resolves and executes it directly ({@see openstation_ai_analyze_comment_now()} | |
| 405 | - * runs through it). Exposed in the abilities catalog for observability + reuse. | |
| 403 | + * {@see openstation_ai_search_ability_names()}) — a search turn can be driven | |
| 404 | + * by attacker-controlled comment text, and this one spends provider tokens. | |
| 405 | + * It is an on-demand ability: a caller with `moderate_comments` runs it for one | |
| 406 | + * comment and gets the verdict back. Automatic scoring on comment save was | |
| 407 | + * removed (`docs/migration-comments-ai-scoring.md`), so nothing in the plugin | |
| 408 | + * invokes it on its own. | |
| 406 | 409 | * |
| 407 | 410 | * @return void |
| 408 | 411 | */ |
| 409 | 412 | function openstation_ai_register_comment_analysis_ability() { |
| @@ -410,9 +413,9 @@ | ||
| 410 | 413 | wp_register_ability( |
| 411 | 414 | 'desktop-mode/analyze-comment', |
| 412 | 415 | array( |
| 413 | 416 | 'label' => __( 'Analyze comment for spam', 'desktop-mode' ), |
| 414 | - 'description' => 'Runs the AI spam/harm analysis for a single comment and returns its structured verdict ({ topic, ai_summary, harmful, spam }). Used by comment moderation to score incoming comments.', | |
| 417 | + 'description' => 'Runs the AI spam/harm analysis for a single comment and returns its structured verdict ({ topic, ai_summary, harmful, spam }). On-demand only: nothing in the plugin runs it automatically.', | |
| 415 | 418 | 'category' => OPENSTATION_AI_ABILITY_CATEGORY, |
| 416 | 419 | 'input_schema' => array( |
| 417 | 420 | 'type' => 'object', |
| 418 | 421 | 'additionalProperties' => false, |