| 1 | # Astra: L18 joint round, round 4 (confirming) |
| 2 | |
| 3 | Round 3 (`CODEX-REVIEW-L18-JOINT-ROUND-FINAL-3.md`) left one item open: finding 1, where moves' `restoring` phase lost the source's files protection. You approved the fix on static review (moves a5e8c13f). |
| 4 | |
| 5 | Since then: |
| 6 | |
| 7 | 1. **Fix merged to main as 650e6152.** It is the squash of a5e8c13f, and CI was green on that tip. The build branch `region-ha-1b-next-build` now has main merged in, at the commit under review. Main also brought in unrelated work (release, update target, updatewords and more), 134 files in all. |
| 8 | 2. **Model aligned (`region-ha-two-box-build` at eaa08175).** |
| 9 | - The source region stays the files home through `releasing` and `released`, until the source's return. |
| 10 | - After a dirty return, until the source's probe is admitted, the source is no longer the files home. The D6 install park then retires the pre-move generations. |
| 11 | - INV-30 does not count those generations in that window. |
| 12 | - The new test `TestDirtyReturnParksPreMoveFiles` fails under the `files-home-move-phases` mutation. |
| 13 | - The unmutated 3000-seed two-box run had no failures. |
| 14 | |
| 15 | **Judge:** |
| 16 | 1. Is finding 1 closed in the merged build (`internal/host/movessources.go`, and its callers in the merged tree)? |
| 17 | 2. Does the model at eaa08175 match the code's restoring and D6 behaviour? |
| 18 | 3. Did merging main into the relocation branch (8ad2c570) break anything relocation depends on? In particular, check: |
| 19 | - the completion barrier (`RelocationStartGuard`, `StartGuard`, `completionBarrier`); |
| 20 | - `EndProbe` and `flushStopped`; |
| 21 | - `completionFence` and `BeginPurge`'s `fencedCompletion`; |
| 22 | - the census and copy gates. |
| 23 | 4. **Verdict:** may relocation merge dormant? |
| 24 | |
| 25 | Give findings P1/P2/P3 with file:line. Report only new items; do not re-litigate settled rulings. |
| 26 | |