# YachtMemory Source Catalog v2 – Concurrency Review 0.1.0

**No production deployment.** This package reuses the byte-identical atomic receiver from the previously successful review and tests concurrent MySQL operations with a **new synthetic vessel ID** in the pre-existing isolated database `yachtmemory_catalog_v2_test`.

Test cases: 12 simultaneous identical manifest/chunk/finalize requests; one durable sync receipt and no duplicates; two competing different valid manifests with the same sequence number (exactly one committed, conflicting hash rejected); and two different sequence numbers for the same vessel processed concurrently. The SQL assertions verify receipt counts, active pointer, and snapshot count. The test is **one-shot**, intentionally does not clean or overwrite other review fixtures, and must **not** be repeated after a partial failure without inspection.

## Offline review

```bash
cd /var/www/app.yachtmemory.net/YM-Source-Catalog-v2-Concurrency-0.1.0-REVIEW
php -l receiver/ym-sync-catalog-v2-atomic-review.php
bash -n tests/mysql_concurrency_test_review.sh
python3 -m unittest discover -s tests -v
sha256sum receiver/ym-sync-catalog-v2-atomic-review.php
cat tests/mysql_concurrency_test_review.sh
```

## Explicit opt-in after reviewing shell script

```bash
bash tests/mysql_concurrency_test_review.sh
```

Requires `sync_receipts` in the test DB and local `sudo mysql`; all database writes target only the isolated test database. The one-shot script inserts a synthetic vessel (`d731f2a0-4480-4aa0-a558-814cca608e10`), snapshots, chunks, and receipts under that vessel only. It does not touch Wildbad, the productive sync controller/receiver, or `SilentMessDB`.

This does **not** validate actual network/SSH concurrent replay, power loss, workload performance, or cross-entity ordering in the production controller. It also does not prove concurrent aggregation processing (v1). No schema migration needed.
