# ConnectOnion 1.9.3rc40 (release candidate)

Stable remains **1.9.2**; Python **3.11+** and the existing dependency floors are retained.

## One scheduled REM sync at a time

- A scheduled round now claims the whole round in `worker.json`, including the gaps between
  its model turns. A second scheduled tick that finds a live claim (same host, process alive)
  prints `a scheduled sync started at <time> is still running` and leaves its slot owed, so a
  later tick serves it; before, the second sync took the lock between the first run's model
  turns and the two ran side by side on one notebook (#2754, #2763).
- The same-person stage selects its candidates and reserves its run under the lock, leaves
  aliases out, and rechecks both pages before the model turn and before a merge. A pair whose
  page vanished in the meantime is skipped with one log line instead of ending the run with
  `Record not found`.
- `co rem sync --scheduled` prints `busy` as one line; the depth step runs inside the same
  claim.

## Install after publication

```bash
python -m pip install --upgrade 'connectonion==1.9.3rc40'
```
