Skip to content

fix: catch Nectar up with framework v13.32 - #2

Merged
ogorzalka merged 4 commits into
mainfrom
fix/catch-up-framework-13-32
Sep 28, 2026
Merged

ogorzalka merged 4 commits into
mainfrom
fix/catch-up-framework-13-32

Conversation

@ogorzalka

@ogorzalka ogorzalka commented Sep 28, 2026 •

Copy link
Copy Markdown
Member

Nectar had not followed the framework since 0.2.0 (June 2026): its guidelines, which Boost copies into every project's AGENTS.md, and its skills taught things v13.32 removed or changed. Audit: every framework change from v13.4.1 to v13.32.0-beta.8 checked against Nectar.

Wrong, now fixed

  • active_theme_info listed no block for a theme made since v13.32: it read resources/blocks only. It reads resources/views/blocks (a directory counts only with a block.json) and reports blocks_in_deprecated_directory.
  • Guidelines listed the Loop and Query facades, removed from the framework (their aliases made pages crash).
  • pollora-blocks skill taught resources/blocks, --dynamic + render.php, and a hand-written BlocksServiceProvider (whose blocks exist in WP-CLI only). Rewritten: resources/views/blocks, dynamic Blade blocks by default, --static, registration by Pollora, migration steps.
  • 12 → 13 upgrade prompt told agents to add a copy-theme-json build step — the step that froze apiary's palette (fix: keep the palette to the theme's own colours, each with a value theme-apiary#11). Removed, with the reason.
  • pollora:make-post-type → pollora:make:post-type; 13.x guidelines: illuminate/* ^13.32, WordPress 7.

Missing, now covered

  • upgrade-pollora-v13-32 prompt, registered for 13.0 to 13.4.x: dependencies and wp-packages, composer-patches 2 (patches-relock, patches.lock.json, checking WordPress is patched), renamed commands, class map for pollora/hook / option / ajax, Loop/Query replacements, Translater domain, blocks, skeleton files (routes/web.php, cache table, .htaccess), theme.json from @theme.
  • pollora-abilities skill (WordPress Abilities API).
  • Guidelines and skills: pollora_register(), #[Ajax], #[Ability], #[SkipDiscovery], __() routing, login screen, get_theme_file_uri(), template marker, full command list.

Package

  • The suite ran against Laravel 12 and framework 12.0: orchestra/testbench stopped at ^10. It accepts ^11 now; pollora/framework is bounded to ^12.0 || ^13.0 instead of *.
  • On framework 13, WordPressRoutes no longer needs method_exists() probes and @phpstan-ignore comments.

Checked

  • Pest: 60 tests (was 48), including the prompt's version range (13.32 pre-releases excluded) and its rendering; Pint and PHPStan clean, against Laravel 13.33 / framework 13.4.4.
  • Guidelines rendered through Boost's Blade renderer: @theme, @posts, #[Ajax] and the marker come through intact.

Not in this PR: the release (Nectar.php still says 0.2.0 while the only tag is v1.0.0; to align at release time).

active_theme_info read resources/blocks only, where themes no longer keep
their blocks: it reported none. It reads resources/views/blocks, counts a
directory only when it holds a block.json, and reports the blocks left in
the deprecated resources/blocks separately.
The guidelines listed the Loop and Query facades, removed from the framework,
and the blocks skill taught resources/blocks, render.php and a hand-written
BlocksServiceProvider. They now teach what v13.32 does: blocks in
resources/views/blocks rendered with Blade and registered by Pollora, the
facades that exist, __() routing, pollora_register(), #[Ajax], #[Ability],
#[SkipDiscovery], the login screen, the template marker, the full list of
commands, and the 13.x requirements. A pollora-abilities skill covers the
WordPress Abilities API.
No prompt covered the move from 13.4 to 13.32, whose breaking changes are
many: composer-patches 2, renamed commands, classes moved to extracted
packages, Loop and Query removed, blocks moved, skeleton files changed. The
upgrade-pollora-v13-32 prompt walks through them, registered when 13.0 to
13.4.x is installed.

The 12 to 13 prompt no longer adds a copy-theme-json build step: copying the
built theme.json over the theme's own froze its palette.
orchestra/testbench stopped at ^10, Laravel 12, so the suite ran against
pollora/framework 12.0 whatever the package claimed. It accepts ^11 now, and
pollora/framework is bounded to ^12.0 || ^13.0 instead of *.

On framework 13, Pollora's Route class has the methods WordPressRoutes
probed with method_exists(): the probes and their phpstan-ignore comments go.
@ogorzalka
ogorzalka merged commit 398f07c into main Sep 28, 2026
4 checks passed
@ogorzalka
ogorzalka deleted the fix/catch-up-framework-13-32 branch September 28, 2026 08:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant