Closes: PRC-
[!IMPORTANT] Active release? PRs target
trunk. If this change should ship in the active release, add thebackport release/x.ylabel before merging. The exact label is listed on the active Linear release in Releases. Include the Linear issue key (e.g.PRC-123) in the PR title, body, or branch name. See RELEASING.md for the full flow.
Summary
Implementation Notes
Changes
Testing
Automated:
- Unit tests added/updated
- Integration tests added/updated
- All existing tests pass
Manual testing performed:
Screenshots
Review Checklist
Correctness
- Code actually solves the issue
- Acceptance criteria are met
- Edge cases handled
Code Quality
- Follows existing codebase patterns
- Follows VIP coding standards
- Naming conventions consistent
- No unnecessary complexity
- Comments where needed (but code is self-documenting)
Security
- Input validation present
- No exposed secrets or credentials
- Proper escaping/sanitization (esc_html, esc_attr, wp_kses, etc.)
- Nonce verification where needed
- Capability checks where needed
Performance
- No obvious N+1 database queries
- Reasonable algorithmic complexity
- Caching used where appropriate
- No blocking operations in request lifecycle
Tests
- Tests actually test behavior (not just coverage)
- Edge cases covered
- Failure modes tested