Problem
tests/dmc-managed-release-integration.sh passes when invoked directly with bash, but fails under Homeboy's deterministic gate launcher (sh -lc "bash ...") with:
FAIL: special-character script path was not rendered safely
The generated PHP contains the correct single-quoted PHP escape (\') and passes php -l. The test computes its expected string with ${SPECIAL_SCRIPT_DIR//\'/\\\'}, whose replacement escaping changes under the launcher context and can produce an extra backslash. This makes a green implementation baseline-red in isolated deterministic gates.
Reproduction
- Passes:
bash tests/dmc-managed-release-integration.sh
- Fails:
sh -lc 'bash tests/dmc-managed-release-integration.sh'
Acceptance
- Assert the generated upgrade-script literal using a launcher-independent expected-value construction.
- Preserve coverage for spaces, ampersand, pipe, and single quote characters.
- Keep the generated PHP syntax assertion.
- Confirm both direct
bash and sh -lc invocations pass.
AI assistance
OpenAI gpt-5.6-sol via OpenCode reproduced the baseline failure under Homeboy's launcher, compared the rendered PHP and expected bytes, identified the Bash assertion as the root cause, and drafted this report. Chris Huber remains responsible.
Problem
tests/dmc-managed-release-integration.shpasses when invoked directly withbash, but fails under Homeboy's deterministic gate launcher (sh -lc "bash ...") with:The generated PHP contains the correct single-quoted PHP escape (
\') and passesphp -l. The test computes its expected string with${SPECIAL_SCRIPT_DIR//\'/\\\'}, whose replacement escaping changes under the launcher context and can produce an extra backslash. This makes a green implementation baseline-red in isolated deterministic gates.Reproduction
bash tests/dmc-managed-release-integration.shsh -lc 'bash tests/dmc-managed-release-integration.sh'Acceptance
bashandsh -lcinvocations pass.AI assistance
OpenAI gpt-5.6-sol via OpenCode reproduced the baseline failure under Homeboy's launcher, compared the rendered PHP and expected bytes, identified the Bash assertion as the root cause, and drafted this report. Chris Huber remains responsible.