Compare commits

..

1 Commits

View File

@@ -1871,7 +1871,11 @@ other four Rust repos keep their cutover by hand (D313); a case for them is a pl
it running, its last step starts it again. The job may take 240 minutes (about 100 is usual).
- **The copy on `main` is the trigger.** It holds the schedule and the step wiring; every step checks out `edge`
and runs `edge`'s code, so the step outputs are a contract between the two (a test holds them equal), and the
review of PRs into `edge` is the real gate, since `edge`'s code runs with the merge token.
review of PRs into `edge` is the real gate, since `edge`'s code runs with the merge token. **Change both copies
together, byte for byte:** `main`'s and `edge`'s were added by separate commits, so a change to `edge`'s copy
alone makes the cutover PR an add/add conflict. That happened on 2026-11-06: runicnpc-rust#28 changed `edge`'s
copy only, and the cutover PR #29 could not merge though every gate had passed, until #30 gave `main` the same
file. Mend it on `main`, not `edge`: a new `edge` commit runs every gate again.
- **Trying it.** `workflow_dispatch` is dry unless `dry_run` is exactly `false`: every gate runs and reports to
the job summary; nothing is opened, edited, commented, merged or written. `force` works outside the weekend, and
`code_ref` lets a dry run use another branch's code (a real run always uses `edge`).