# ConnectOnion 1.9.0a41 (preview)

## Install this preview

Stable remains 1.8.10. Install this opt-in preview by exact pin:

```bash
python -m pip install --upgrade 'connectonion==1.9.0a41'
```

## New notebooks run on Claude Code with Sonnet

A new notebook's `config.yaml` now says `runner: claude-code` and
`model: claude-sonnet-5-5`, so model turns use the owner's own Claude plan
instead of their Codex week. A notebook made before this preview keeps the
runner and model it saved; switch one with
`co rem config set runner claude-code model claude-sonnet-5-5`.

The first run's ten workers also work on this runner now. Every model turn
starts from the same task folder, and the Claude Code adapter used to lock
that folder for every headless run, so nine of ten pages failed with
"Claude Code already owns this workspace". Only a turn that resumes a session
or runs through the Hook bridge takes the lock now
([#2294](https://github.com/openonion/connectonion/pull/2294)).

The choice was measured on one owner's real mailboxes (Gmail and Outlook,
90-day map: 69 people, 18 organisations, 18 projects, 164 skills) with the
same three hand-checked people pages as a benchmark:

| | Codex `gpt-6-luna` | Haiku 4.5 | **Sonnet 5.5** |
|---|---|---|---|
| Pages written | earlier, wider map | 4 of 17 projects, 121 of 164 skills | **16 of 17 projects, all 158 skills, 67 people** |
| Benchmark | 17/25 | 15/25 | **17/25** |
| Privacy labels written | 34 | 1 | 31 |
| Wall clock | 37 min | about 63 min | 52 min |

The Sonnet run took about five points of the account's seven-day Claude
window. Headless `claude -p` turns draw from the subscription's usage limits
today; Anthropic paused a separate Agent SDK credit on 2026-06-15 and has said
it will announce any change in advance. Remaining page-quality gaps, including
unlabelled private sentences, are tracked in
[#2283](https://github.com/openonion/connectonion/issues/2283) and
[#2118](https://github.com/openonion/connectonion/issues/2118).

## Find the people outside the recent window

`co rem init --investigate-all --estimate-only` scans available connected mail
metadata since 1970 and local session history, then shows the selected owner,
People, Project, Organization, and Skill work with an input-token and time
forecast. It performs no model turns, mail-body archive, or scheduling. A
failed mailbox or time window is named and makes the estimate a lower bound.
The ordinary first run still uses its shorter source window.

The People reader now separates written person memories from one-off
correspondents. Historical contacts without a page remain searchable, with
source coverage and a command to prepare a memory. A phone shows those
contacts as cards with a copyable command. Long citation tips stay inside the
viewport. The [design review](https://github.com/openonion/connectonion/blob/v1.9.0a41/docs/design-evidence/rem-all-history-2026-10-04/REVIEW.md)
records the sampled before and after states.

Gmail's REM history path now uses bounded direct profile, alias, listing and
metadata requests. It reads up to eight message headers at once in a window;
full provider pages split before headers are fetched. The sender, recipients,
date and conversation identity remain available to the map. A failed read
does not become a complete result.

## Nightly upkeep follows init

After its foreground pass, `co rem init` presents the connected sources and
schedule for approval and then installs the existing nightly REM upkeep. The
first batch is not repeated. `--yes` explicitly approves this in a script;
`--no-start` leaves background work off. In a noninteractive run without
`--yes`, the schedule waits for `co rem start`. Estimate-only never schedules.

## What was checked

A private Gmail and Outlook lifetime metadata estimate completed in 844
seconds. It observed 22,411 mail headers, mapped 634 People records and ten
projects, and retained 803 low-signal contacts for review. Both mailboxes
finished with zero reported errors and zero incomplete windows. This was a
map and estimate only; no mail body or model turn was read by the trial. It
selected the owner's page, 589 person pages and eight project pages. With ten
workers and no completed local page samples, those 598 pages forecast about
660 million billed input tokens and 297 minutes. Including organizations and
Skills yields 886 pages, about 751 million tokens and 364 minutes. These are
planning estimates, not observed investigation durations or weekly quota
percentages. No private contact data was published. The [reader review](https://github.com/openonion/connectonion/blob/v1.9.0a41/docs/design-evidence/rem-all-history-2026-10-04/REVIEW.md)
used invented content on 375/390-pixel phones and desktop, in light and dark
states, including contact search, the command state and a long citation tip.

## Trial limits

The lifetime scan counts addresses seen in connected mail; it does not prove
that every address is a person or that the written memories are accurate. The
cost forecast uses defaults until the notebook has completed page samples.
The configured investigation target is advisory, while the configured
weekly safety floor still stops new model work. A full all-person model run,
claim-by-claim review and a public-wheel real-data reader trial remain open.
Gmail rate limits and resumability of a stopped lifetime scan are tracked in
[#2287](https://github.com/openonion/connectonion/issues/2287).
