refactor: Update AISuggestionService and tests for improved reliability #12
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request focuses on improving the reliability and maintainability of the AI suggestion pipeline and test isolation for the ContentPoll AI plugin. The main changes include consolidating and refactoring the AI suggestion prompt logic, making JSON parsing for AI suggestions more robust, and ensuring REST API tests are isolated to prevent interference from residual poll data. There are no database or schema changes, and the release is safe to upgrade.
AI Suggestion Pipeline Improvements
PROMPT_TEMPLATE) withinAISuggestionService, eliminating duplicated prompt logic and ensuring consistency across providers. [1] [2] [3] [4] [5] [6]parse_poll_json), removing repeated code and improving maintainability. [1] [2] [3] [4] [5]parse_poll_jsonmethod that applies multi-stage recovery (direct decode, brace span extraction, fragment scanning) to robustly extract and sanitize poll suggestions from provider responses, reducing the chance of malformed suggestions causing fallback behavior.Test Reliability and Isolation
Documentation and Metadata
CHANGELOG.mdandreadme.txtto document the 0.8.1 release, highlighting the refactor, improved robustness, and test isolation. [1] [2] [3]content-poll.phpand updated stable tag inreadme.txt. [1] [2]CHANGELOG.md.Test Result Metadata