Problem
upgrade.sh --plugins-only can successfully update managed release pointers, then report partial_failure because terminal verification passes the complete WP-CLI output directly to json.loads(). On PHP 8.5, WP-CLI may prefix the JSON/error output with dependency deprecation diagnostics. The parser fails, and the resulting empty/malformed shell values are evaluated by an inline case command substitution.
Reproduction
Run plugin-only upgrade on a WordPress Studio site using PHP 8.5 where WP-CLI emits a diagnostic before terminal plugin-list output.
Observed after a successful DMC release-pointer change:
json.decoder.JSONDecodeError: Expecting value
command substitution: syntax error near unexpected token `newline`
PLUGIN_UPGRADE_RESULT=partial_failure exit=75
Release provenance and the installed plugin file both confirmed the requested version was installed.
Expected
- terminal verification captures stdout and stderr separately
- only a validated JSON document reaches the state parser
- diagnostics return bounded typed verification evidence without shell evaluation errors
- a successful release-pointer update is distinguishable from activation verification that could not run
- PHP 8.5 diagnostic-prefixed and database-unavailable fixtures cover the public plugin-only workflow
Related
AI assistance
OpenAI GPT-5.6 Sol via OpenCode executed the bounded upgrader, captured release-pointer and terminal-verification evidence, deduplicated existing trackers, and drafted this report under Chris Huber’s direction.
Problem
upgrade.sh --plugins-onlycan successfully update managed release pointers, then reportpartial_failurebecause terminal verification passes the complete WP-CLI output directly tojson.loads(). On PHP 8.5, WP-CLI may prefix the JSON/error output with dependency deprecation diagnostics. The parser fails, and the resulting empty/malformed shell values are evaluated by an inlinecasecommand substitution.Reproduction
Run plugin-only upgrade on a WordPress Studio site using PHP 8.5 where WP-CLI emits a diagnostic before terminal plugin-list output.
Observed after a successful DMC release-pointer change:
Release provenance and the installed plugin file both confirmed the requested version was installed.
Expected
Related
AI assistance
OpenAI GPT-5.6 Sol via OpenCode executed the bounded upgrader, captured release-pointer and terminal-verification evidence, deduplicated existing trackers, and drafted this report under Chris Huber’s direction.