Yoast SEO 27.6 — docs(ai): Document new AI Content Planner feature#393
Closed
claude[bot] wants to merge 1 commit into
Closed
Yoast SEO 27.6 — docs(ai): Document new AI Content Planner feature#393claude[bot] wants to merge 1 commit into
claude[bot] wants to merge 1 commit into
Conversation
Adds docs for the Content Planner introduced in wordpress-seo 27.6-RC1.
This was referenced Apr 28, 2026
Deploying yoast-developer with
|
| Latest commit: |
e926502
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://dc640ace.yoast-developer.pages.dev |
| Branch Preview URL: | https://rc-sync-wordpress-seo-27-6-r.yoast-developer.pages.dev |
enricobattocchi
added a commit
that referenced
this pull request
Apr 29, 2026
Triggered by feedback on PR #393, where the agent documented two REST endpoints (yoast/v1/ai_content_planner/get_suggestions and get_outline) that may have been intended as internal admin-UI plumbing. The agent had no signal distinguishing public from internal surface — anything that looked like a public registration was fair game. This commit teaches the agent to discriminate, and documents the convention authors can use to override the heuristics. agent prompt (.github/claude-agent/run.md): adds Step 1.6 — Public vs. internal surface — between coverage-gap detection and authoring. The agent now applies, in order: 1. Authoritative override: `@internal` PHPDoc annotation on the registering method or class. If present, skip and log. 2. Permission-callback heuristic: `register_rest_route` whose permission_callback is `current_user_can('manage_options')` (or similar admin capability check) without an unauthenticated branch is likely internal. 3. Path/class-name heuristic: registrations under `**/admin/**`, `**/user-interface/**`, or named `*_Admin_*` / `*_Internal_*` default to internal. 4. When in doubt, don't document — false positives in the public direction are higher cost than false negatives. Items skipped under this rule appear in a new "Internal surface skipped" section of the run-summary comment, so the decision is visible per-RC and a maintainer can override in a follow-up. AGENT_MAP.md: adds a "Public vs. internal surface" section documenting both the heuristics (automatic) and the @internal override (authoritative), so source-repo authors know how to mark a route as internal without reading the agent prompt. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
9 tasks
Member
|
Closing this as the API was not intended to be public. |
6 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
RC docs sync — 27.6-RC1
Product: wordpress-seo
Area: ai
Source evidence:
src/ai/content-planner/user-interface/get-suggestions-route.php: New REST endpointGET yoast/v1/ai_content_planner/get_suggestionssrc/ai/content-planner/user-interface/get-outline-route.php: New REST endpointPOST yoast/v1/ai_content_planner/get_outlinesrc/integrations/blocks/content-planner-block.php: Registersyoast/content-planner-bannerblock underyoast-ai-blockscategorypackages/js/src/ai-content-planner/**: JavaScript UI for the Content Planner featureChanges in this PR
docs/features/ai/content-planner.md— New page documenting the AI Content Planner feature and its REST API endpointssidebars.js— Addedfeatures/ai/content-plannerto the Yoast AI sidebar categoryVerification
yarn buildpasses locally in this workflow.yarn lintclean for files touched by this PR.Reviewer notes
to_array()methods in the PHP source — they match the actual wire format exactly.apply_filters()ordo_action()hooks were added in this RC for the Content Planner feature; the doc therefore contains no filter documentation.category.id = -1/category.name = ""convention for "no category" is taken directly from the PHPDoc incontent-suggestion.php.Authored by the RC docs-sync agent. Not auto-merged — requires human review. Run: https://github.com/Yoast/developer/actions/runs/25059082464