# ConnectOnion 1.9.3rc12 (release candidate)

## Install this preview

Stable remains 1.9.2. Install this release candidate by exact pin:

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

## Rounds keep what they had

- **A round no longer swaps quotes.** The round note told the writer to delete
  what a part superseded, so it replaced earlier quotes with its own; on the
  owner's page two of four part rounds were refused in every run. Every quote
  already on a page now stays word for word, and a part that settles it adds
  the outcome beside it.
- **A dropped quote is put back before a round is refused.** Quotes are
  compared after removing escapes and normalising spacing and case. Lines a
  rewrite dropped are restored beside it, then one repair turn gets the exact
  list of what is still missing; only then is the prior page restored.
- **A carried quote that is not in its source is not guarded**, and a restored
  line never lands in a code block or on a one-character row.
- **A round that changed nothing skips the synthesis turn**; a refused round
  does not rest the page; a timed-out turn is retried once, and an
  infrastructure failure waits a day instead of resting the page for a week.
  Duplicate source definitions merge instead of failing the citation check.

## Open threads say who owes whom

A dated ask or promise that no later message answers stays open however old.
A promise past its due date reads "due <date>, overdue" instead of closing.
Each line says who asked and who agreed: "The user owes", "<Name> owes the
user", "<Name> asked the user", "The user asked <Name>". An ask the user never
agreed to is not the user's debt. On an invented eight-mail case with four
expected lines, main found 2, 0 and 0; this release finds 4, 2 and 4, with no
line in the wrong direction.

The owner page's Insight is work only, and hedges such as "it is unclear
whether" and 无法确认 are removed by the editing turn; the known fact is written
with its date and the open part goes to Open threads.

## First run

- A dropped mail connection during mapping is retried (after 2, 4 and 8 s)
  instead of stopping init. This was the transient Gmail SSL error in the rc9
  known issues.
- The first-run estimate prices the heaviest pages at measured rates; on the
  release check it now says 95 minutes and 100M input tokens against an actual
  93.5 minutes and 102M (rc9 said 42 minutes).
- The session cache is built in its own process while init maps, instead of
  after the owner's quick page or on a thread competing with mapping.
- A domain whose correspondents only send notices or sign-in codes gets no
  organisation page, and an organisation's mail leaves out notices sent to the
  owner's own address there.

## The reader

- **Home is a morning brief**: a date line and one summary sentence, then
  Overnight (verified field changes from the run log), Today (overdue, due
  within three days, or new), Open threads and Find.
- **Copy prompt and Mark done** on every open thread. Copy prompt gives an agent
  the thread, its page and its sources and asks it to draft, not send. Mark
  done is kept in this browser only; nothing is sent and the notebook is not
  changed.
- Near-duplicate threads that cite the same message merge; the People table is
  one line per cell.
- In 中文 mode, overnight values, Facts labels and "Unknown" read in Chinese, and
  the owner's own English terms stay in English.

## Names

Docs, prompts, skills, code comments and tests use invented names only. The
names of real correspondents that earlier previews carried in docs and blog
posts are gone from this release.

## Verification and limits

- Every change merged with all CI checks green; the round, open-thread and
  first-run changes were measured on copies of real notebooks and on invented
  cases, three runs per arm.
- No handoff change: the install floor is this release.
- Organisation pages are still the slow tail of a first run.
