# Failure status after successful rollback (WJ-027) The deployment helper now explicitly logs candidate failure, successful rollback, or failed rollback to stderr. These messages contain only release commits and outcome information. A successful rollback still rethrows the original deployment exception. `ci-deploy` captures stderr together with stdout in `build/reports/deployment/result.log`; `pipefail` preserves the nonzero exit status through `tee`. `tools/test-ci-artifact --fail-candidate` runs the actual CI/remote/transport chain with a controlled candidate readiness failure. The transmitted deployment helper performs the real rollback file transitions. The test requires the old manifest/current release, removed maintenance/journal after successful recovery, a nonzero result from the complete command chain, and both outcome messages in the saved CI log. Unexpected rebuilds remain forbidden. WJ-027 is included in the default production Gherkin selection. This command boundary test uses the same isolated host adapters as WJ-026; real H2/JVM failure and recovery are separately exercised by WJ-021 and WJ-023. Its report is `build/reports/production/deployment-failure.json`. Verification: the standalone command-chain failure probe passed with exit code 1 and both outcome messages. All 68 operations tests passed. The targeted WJ-021/WJ-023/WJ-026/WJ-027 regression on 0.1.89-SNAPSHOT passed four scenarios / 17 steps in 2m 9.262s. The normal CI default includes all implemented production scenarios. Completion version: 0.1.90-SNAPSHOT; full CI verification is pending.