ConnectOnion 1.9.2b6 (beta)
Install this preview
Stable remains 1.9.1. Install this opt-in beta by exact pin:
python -m pip install --upgrade 'connectonion==1.9.2b6'
The second pass goes deeper
A page's second investigation reads its material in rounds, and each round may ask for follow-up mail searches: the reply to a request, how two people met, a name from a thread. On the 1.9.2b3 trial notebook (the owner's real mail, 2026-10-10) those searches did not do their job:
| Measured on the 1.9.2b3 trial | |
|---|---|
| Round investigations | 16 |
| Of which lost every follow-up search to Outlook HTTP 400 (fixed in 1.9.2b4) | 5 |
| Follow-up results on one round that were newsletters and digests | 19 of 19 |
| Final rounds that answered NO CHANGE | 6 of 17 |
| Person pages saying "not established" outside Uncertainties | 56 of 87 |
co rem logs --usage |
traceback |
- Searches run since 1.9.2b4, which escapes the model's phrase quotes inside Outlook's own. This beta measured the searches that then ran.
- Answers come from people the notebook knows. A result whose sender is not a mapped person or the owner, or looks automated (noreply, newsletter, digest), is left out of what the model is handed.
- One editing round, named by code. After the final round, the lines that
still say what is not known (
not established,is unknown,not confirmed, …) outside Uncertainties and Sources are counted. If any remain, one more turn lists them by section and asks for each to be rewritten as what the material does establish, moved under Uncertainties (five at most) or deleted. The run record keepshedged_lines: [before, after], and the final-round note now says that NO CHANGE is only right when the page already reads as one account. co rem logs --usagereads a run whose instruction size was recorded as one number (156 skill runs on the trial notebook) instead of crashing.
Measured on one page, live
The same page (Nina, 182 Outlook and 3 Gmail messages, --days 730) was
investigated with this beta's code on a copy of the trial notebook, then the
editing round was run once more on its own after the last fix:
| 1.9.2b3 trial pass | this beta, full pass | editing round alone | |
|---|---|---|---|
| Rounds | 4 | 7 + editing | 1 |
| Wall clock | 888 s | 1,272 s | 40 s |
| Input tokens (cached) | 6.97M (6.41M) | 6.03M (5.37M) | 108k (87k) |
| Follow-up queries refused (HTTP 400) | 5 of 5 | 0 of 8 (quotes stripped; 1.9.2b4 escapes them instead) | — |
| Search results handed to the model | 19, all digests | 12, 4 bulk senders | — |
| Hedged lines outside Uncertainties, before → after | 9 → 9 | 10 → 10 | 10 → 0 |
The full pass is the row that found the two remaining problems. Its editing
round still carried the investigation's context items, and the model treated
it as one more evidence round: it opened the evidence files, added two sources
and a new "not evidenced" line. Four of twelve search results were a beehiiv
newsletter and a bulk founders@ mailout that the no-reply test does not
catch. Both are fixed in this beta: the editing round now carries the page and
the list of lines, nothing else, and made the ten edits in 40 seconds with
every citation kept; a search answer has to come from a mapped person or the
owner.
A slot on a sleeping laptop
The second live test with this beta's wheel (another person, 59 messages)
started at 22:19 and was still "writing investigation" at 23:40 with three
stages done. The Mac had entered Maintenance Sleep at 22:31 and woke for 45
seconds an hour; the Codex turn advanced only in those windows, and every
deadline (co ai --timeout, the runner's subprocess timeout) paused with the
clock, because both count monotonic time, which stops in sleep. A 03:00 slot
on a laptop is the same run. The launchd job now runs under caffeinate -i:
no idle sleep while the job's process lives, and nothing longer. Reinstall the
schedule with co rem start --yes to pick it up.
Verification and limits
- Each fix has a regression test that failed before it; the co rem unit suite passed (1,639 tests across the rem files) on this branch, rebuilt on 1.9.2b5.
- The editing round is one turn, once per investigation. It fixes the lines it names; it does not re-read the material, so a hedge that is wrong because the reply was never searched stays until the next pass asks for that search.
- A search answer from someone the map has never seen (a third party named in a thread, a first contact from before the map's window) is left out; that lead stays open until the person is mapped.
- The editing round was measured on one page, once; the full-pass numbers above are one run each, not a sample.
- Not changed: how the nightly round chooses pages, the round cap, or the first run. A run interrupted by a lid closed by hand still pauses; its deadlines resume with the clock.
ConnectOnion