WordPress plugin v0.2.0: @state.content + GitHub-releases self-updater#6
Open
webdevtodayjason wants to merge 2 commits into
Open
WordPress plugin v0.2.0: @state.content + GitHub-releases self-updater#6webdevtodayjason wants to merge 2 commits into
webdevtodayjason wants to merge 2 commits into
Conversation
…ty fixes Post agent views now carry the page's real content. @state.content is the block-rendered (do_blocks, not the_content), tag-stripped, word-boundary-preserving body — ~220-word cap with an ellipsis marker, omitted when empty — so Gutenberg / Divi 5 / classic pages carry content, not just a 40-word excerpt. - avl_wp_rendered_text(): memoized per post; password-gated (surface-equivalence, spec 10.5); strips—not-runs—shortcodes; new avl_agent_view_rendered_text filter so membership/visibility plugins can redact (AVL renders blocks directly and bypasses the the_content filter chain). - Excerpt: block-aware fallback, 40-word cap, de-duped (auto-excerpt dropped when @state.content is present; author-written excerpt kept), single entity decode. - @context: neutral line for password-protected posts (no publish-date leak). - avl_wp_scalar: quote strings that would otherwise parse back as bool/number/null. - @state.taxonomies: term names HTML-entity decoded. Verified on a local Docker WP loop: `avl validate --level L3` clean, scripts/ test-plugin.sh passing. Reviewed by a 3-lens adversarial pass (security / conformance / regression): 10 findings fixed, 5 owned as follow-ups. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FLHUJBz8p4pxPf5ssBUgcu
Bundles Plugin Update Checker v5.7 under lib/ and wires it to this repo's GitHub releases so the Plugins screen offers "Update Now" for new AVL builds: - Release-asset mode (REQUIRE_RELEASE_ASSETS): installs the built avl-agent-view-layer.zip, never the whole-monorepo source zipball. - Per-plugin release filter (tag prefix avl-wp-v) so monorepo releases (v1.0.0) are ignored; a request_info_result filter strips the prefix so version_compare sees a clean semver (a subdir plugin defeats PUC's repo-root header read). - Update URI header. - package.sh: keep PUC's bundled Parsedown (only strip a top-level vendor/). - .github/workflows/wp-plugin-release.yml: on an avl-wp-v* tag, build the zip and create the GitHub Release with the asset attached; guards header Version == tag. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FLHUJBz8p4pxPf5ssBUgcu
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.
What
WordPress plugin v0.2.0 — post
.agentviews now carry the page's real content.@state.contentis the block-rendered (do_blocks, notthe_content), tag-stripped, word-boundary-preserving body — ~220-word cap with an ellipsis marker, omitted when empty — so Gutenberg / Divi 5 / classic pages carry content, not just a 40-word excerpt.Changes (
avl-agent-view-layer.php,readme.txt)avl_wp_rendered_text(): memoized per post; password-gated (surface-equivalence, spec §10.5); strips—not-runs—shortcodes; newavl_agent_view_rendered_textfilter so membership/visibility plugins can redact (AVL renders blocks directly, bypassing thethe_contentchain).@state.contentis present; author-written excerpt kept), single entity decode.@context: neutral line for password-protected posts (no publish-date leak).avl_wp_scalar: quotes strings that would otherwise parse back as bool / number / null.@state.taxonomies: term names HTML-entity decoded.Verification
Local Docker WP loop (
plugins/WordPress/scripts):avl validate --level L3clean,test-plugin.shpassing. Reviewed by a 3-lens adversarial pass (security / conformance / regression): 10 findings fixed, 5 owned as follow-ups (protected-post dates, dynamic-nav-blocks-in-body, cross-adapter body-field naming, CJK cap, centralizing the password gate).Out of scope
GitHub-releases updater, other CMS adapters, spec changes, nlbbs.net prod re-baseline.
🤖 Generated with Claude Code
https://claude.ai/code/session_01FLHUJBz8p4pxPf5ssBUgcu