docs: record historical migration replay verification

This commit is contained in:
2026-10-26 11:03:17 +03:00
parent a7dceb50a9
commit 68fbdbf86f

View File

@@ -0,0 +1,56 @@
<!-- #region Release.MigrationReplayBoundaries20261026 [C:2] [TYPE Block] [SEMANTICS migration,postgresql,regression,evidence]
@BRIEF Preserve historical migration replay boundaries and independently verify the affected PostgreSQL tests.
@INVARIANT Targeted migration evidence does not close full regression or product acceptance.
-->
# Historical migration replay — 2026-10-26
Source commit: `34e59f8f432581856fd807cf6a32e2b9619d640c`.
The five-file test-only change retains historical 0049→0050, 0050→0051 and
0051→0052 assertions, updates current-chain tests to the explicit 0055 head,
and extracts assertion helpers without dropping old test IDs or conditions.
The 0052 idempotency test now repeats **0052**, instead of upgrading to head
while still asserting 0052. No production migration or schema was changed.
## Executed checks
Python 3.13.7, two fresh controller-owned PostgreSQL worker databases per run.
Commands ran from `backend/`, with a matching private connection descriptor,
worker storage and `DATABASE_URL`; credentials are not part of this report.
```sh
python -m pytest -q -n 2 --max-worker-restart=0 --run-isolated-pg-workers \
tests/test_alembic_migrations.py tests/test_alembic_inplace_upgrade.py \
tests/test_finish_notification_migration_chain.py \
tests/test_reference_draft_inspection_migration.py \
tests/test_alembic_url_interpolation.py::test_existing_test_helper_config_writes_retain_the_exact_url \
--tb=short --show-capture=no --junitxml=<v2>/junit.xml
```
Before the historical replay repair: **43 passed, 1 failed**, exit 1, 11.07 s.
The failure was the second 0052 assertion observing head 0055. The other four
owned source files remained byte-identical through the repair.
```sh
python -m pytest -q -n 2 --max-worker-restart=0 --run-isolated-pg-workers \
tests/test_reference_draft_inspection_migration.py \
--tb=short --show-capture=no --junitxml=<v3>/junit.xml
```
After repair, the entire changed module: **9 passed**, exit 0, 5.62 s;
JUnit has zero failures, errors or skips. This is a targeted rerun, not a
claim that the 44-case command was repeated on the final commit.
Independent review verified all five frozen hashes, preserved historical
assertions and whole-file strict INV1–7 audit, exit 0. Review SHA-256:
`7bb63db4095b78c7cf0e814e1853dee6e1c92da6207a488aacf4c4ecfca9ba55`.
## Retained evidence and limits
Ignored evidence in `.worktrees/go-migration-regression-20261026/artifacts/`:
`root-pg-migration-v2/`, `root-pg-migration-v3/`,
`migration-independent-v3/`, and
`.orchestrator/go-migration-regression-20261026/v3/` contain exact argv,
source hashes, process exits, logs, JUnit and assertion accounting.
Earlier failed evidence remains intact. Full regression, later 0056/0057
head integration, bundle import and browser acceptance remain separate checks.
<!-- #endregion Release.MigrationReplayBoundaries20261026 -->