# Offline release pack — branch review fixes

**Status:** DONE

**Branch:** `feat/offline-release-pack`

## Commits

| SHA | Message |
|-----|---------|
| `cf702d0dcb` | Harden offline release pack from branch review findings. |

## Fixes applied

1. **Exclude `.env` from tarball** — `scripts/release/package.sh` (`--exclude-from` includes `.env`; `cp` fallback strips `.env`).
2. **`release_activate_frontend_dist`** — propagate `release_sync_dir` failures with `|| return 1`.
3. **Migrations** — `deploy_run_migrations()` always runs after MySQL is ready (no skip on `items` row count).
4. **Fail hard** — web container, `ensure_application_secrets`, `wait_for_mysql`, migrations → nonzero exit; demo import remains warning-only.
5. **`pack.sh`** — `APP_PLATFORM=standard|platform` on `npm run build:h5` lines.
6. **`exclude_file`** — used via `rsync --exclude-from`.

## Verification

```bash
cd /Users/arthur/data/httpd/ecshopx-demo/ECShopX
bash tests/release/run.sh
```

Output (exit 0):

```text
==> test_artifacts.sh
PASS artifacts
==> test_common.sh
PASS version
PASS mode_b2c
PASS mode_bbc
PASS suffix_b2c
PASS suffix_bbc
PASS invalid_mode
==> test_deploy_cli.sh
PASS deploy_cli_guards
==> test_pack_cli.sh
PASS pack_cli_syntax
==> test_package.sh
PASS archive_name
PASS package
```

## Report paths

- `ECShopX/.superpowers/sdd/final-fix-report.md` (this file)
- `ECShopX/.superpowers/sdd/task-6-report.md` (append section with same summary)
