# ConnectOnion 1.9.3rc39 (release candidate)

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

## The native Scheduled session does REM's work

- The Codex-native scheduled task no longer runs `co rem sync --scheduled` and waits while
  REM starts more Codex sessions. It follows the new `rem` skill: `co rem next --scheduled`
  prints the next piece of model work (instructions, material, the file to write, the exact
  submit command); the session does it; `co rem submit <id>` runs the same checks sync runs
  and promotes the page. Repeat until `next` says the round is done (#2749, #2756).
- `next` does the non-model work once per round, keeps the round's cursor in
  `.state/round.json`, never copies the notebook, and reserves one call per task. `submit`
  refuses when the inputs it hashed have changed, keeps a refused task pending so the
  candidate can be fixed, records a promotion receipt so a death after the page write is
  reconciled without another model turn, and records `quota.after` so weekly points
  accumulate without token usage. A claim by a session that has since died does not block
  the next session. Manual `co rem sync` refuses while a native task is pending; tasks older
  than a day are discarded explicitly. launchd keeps `co rem sync --scheduled`.
- Every stage now exposes `prepare()` and `check()`; the child-runner path calls the same
  codex turn between them and behaves as before. Investigation rounds carry their leads in
  the cursor and continue across processes.
- Acceptance on a copied notebook: one session, fourteen tasks over three runs, every
  submission accepted, no child Codex process, page edits of the same kind the child runner
  produces (new cited sources, an `Unknown` resolved, an identity match kept as a question).

## `co init`: scheduler errors in one line, launchd fallback

- A `RemError` from the REM step of `co init` is printed as one line with `Next: co rem start`
  instead of a traceback. When the Codex app does not register the task within its wait
  (closed, or watching another home), upkeep falls back to launchd and the summary says so;
  `co rem start` switches to Codex Scheduled once the app is open (#2758, #2759).

## Install after publication

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