Fix env provisioning after breakdance plugin merge + warm-claim status flicker - #70
Open
louisreingold wants to merge 1 commit into
Open
Fix env provisioning after breakdance plugin merge + warm-claim status flicker#70louisreingold wants to merge 1 commit into
louisreingold wants to merge 1 commit into
Conversation
…s flicker
Three independent bugs that surfaced when creating environments:
1. Seed presets referenced breakdance-elements and breakdance-woocommerce,
which breakdance PR #9585 folded INTO breakdance-main (moved to
breakdance-main/plugin/{elements,woocommerce}/). They no longer exist as
separate plugins, so wp-cli errored on the missing slug during activation.
Under set -euo pipefail that aborted the whole setup, so the NEXT step,
install-agent-connector.sh, never ran: "successful" envs ended up with no
agent connector and could not mint a wp-admin login link, and warm-pool
builds for Oxygen/Breakdance/FutureLayer failed outright. Seed presets now
activate breakdance-main (which carries elements + woocommerce); the three
affected presets are updated and commented.
2. install-plugins.sh made a single failed activation fatal to the entire
setup. It now warns and continues on a missing/errored slug, so one
upstream plugin rename/merge can no longer take down provisioning (and the
steps that run after it) wholesale.
3. Claiming a warm-pool member flickered the new env into the Stopped tab and
back. A pooled member carries a stale "down" probe cache; _claimPipeline
set status=running but never invalidated that cache the way start() does,
so the read path (computeStatus) derived "stopped" from the stale ps until
the next reconcile sweep. Both _claimPipeline and _pipeline now drop the
probe cache in finally, so describe() reflects the fresh persisted status
immediately.
Live box already fixed at runtime (data/presets.json patched via the API,
pools rebuilt, server restarted); this makes the fixes durable in the repo /
for fresh deploys.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
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 & why
Three independent bugs that surfaced when creating environments on the live devbox host. All three are fixed here; the running box was already patched at runtime, so this makes the fixes durable in the repo and for fresh deploys.
1. Presets pointed at plugins that no longer exist
breakdance PR #9585 merged the standalone
breakdance-elementsandbreakdance-woocommerceplugins intobreakdance-main(breakdance-main/plugin/elements/,…/woocommerce/) and deleted the old plugin dirs. The seed presets still listed the removed slugs, sowp plugin activate breakdance-elementserrored. Underset -euo pipefailthat aborted the wholenpm run setup, which meant the next step —install-agent-connector.sh— never ran:Fix: the three affected seed presets now activate
breakdance-main(which carries elements + woocommerce), dropping the merged-away slugs.oxygen-elements, breakdance-elements, breakdance-mainoxygen-elements, breakdance-mainbreakdance-elements, breakdance-main, breakdance-woocommercebreakdance-mainbreakdance-elements, breakdance-main, breakdance-woocommerce, breakdance-ai, futurelayer-pluginbreakdance-main, breakdance-ai, futurelayer-plugin2. One bad slug shouldn't nuke the whole setup
install-plugins.shmade a singlewp plugin activatefailure fatal (it's in aset -escript), which is what let bug #1 take down the agent-connector step too. It now warns and continues on a missing/errored slug, so a future upstream plugin rename/merge can't wholesale-break provisioning.3. Warm-claim status flicker
Creating an env from a warmed preset showed it in Active ("configuring…") → Stopped → back to Active on its own. A pooled member carries a stale "down" probe cache (it's stopped while it waits);
_claimPipelinesetstatus=runningbut — unlikestart()— never invalidated that cache, so the read path (computeStatus) derivedstoppedfrom the stalepsuntil the next reconcile sweep. Both_claimPipelineand_pipelinenow drop the probe cache infinally.Verification (on the host)
node --checkonmanager.js/presets.js,bash -noninstall-plugins.sh.agent-connector-for-wpinstalled and✓ Initial setup complete.configuring → running, held at running for 12s, neverstopped.🤖 Generated with Claude Code