Commit Graph
52 Commits
Author SHA1 Message Date
Brennan Benson d24c8b2e00 Merge origin/main into native chat SQLite host 2026-11-11 05:33:44 -08:00
Neil faced26704 refactor: group computer provider owners (#41154) 2026-11-11 05:08:03 -08:00
Brennan Benson c8bf7ed98b Merge main into native chat SQLite host 2026-11-10 22:01:27 -08:00
Brennan Benson d6eb9ce9e8 Make native chat comparison measurements fail closed 2026-11-10 20:46:35 -08:00
Brennan Benson 5df83053ab Adapt history pressure fixture and probes to current item storage 2026-11-10 11:22:21 -08:00
Brennan Benson a2e3ac27cc Require live tool contention witness at send dispatch 2026-11-10 08:05:27 -08:00
Brennan Benson 7eaf6ad8c6 fix(perf): format retired fixture row count explicitly 2026-11-10 06:54:31 -08:00
Brennan Benson bacb167ecb Verify contention still targets a live stream at dispatch 2026-11-10 02:37:12 -08:00
Brennan Benson dac2c6a836 Measure fork contention under isolated retired history pressure 2026-11-10 02:32:53 -08:00
Brennan Benson 7a5bca7f8c Repair native chat campaign readiness and contention measurements 2026-11-10 02:24:14 -08:00
Brennan Benson b6c2c83b20 Keep saved queue contracts explicit and type fixtures accurately 2026-11-10 00:12:24 -08:00
Brennan Benson 0c0bbc3e65 Merge commit '9728801985f' into brennanb2025/native-chat-sqlite-host
# Conflicts:
#	src/main/native-chat/agent-session-journal/journal-domain-import-rows.ts
#	src/main/native-chat/agent-session-journal/journal-sql-database-read.ts
#	src/main/native-chat/agent-session-journal/journal-sql-maintenance.ts
#	src/main/native-chat/agent-session-wire/journal-ingress/structured-agent-session-event-sink-queue.ts
2026-11-09 23:27:05 -08:00
Brennan Benson 1d2020a3cf Merge pinned main into the SQL journal branch 2026-11-09 23:16:27 -08:00
Brennan Benson 5de3fd7d3d Merge commit '414799e41a0' into brennanb2025/native-chat-sqlite-host 2026-11-09 21:38:52 -08:00
Brennan Benson 414799e41a Add active-chat resident memory comparison to 4a harness 2026-11-09 20:30:22 -08:00
Brennan Benson 36821e3d4c Merge commit '8e06fb56d24' into brennanb2025/native-chat-sqlite-tests-providers 2026-11-09 17:56:34 -08:00
Brennan Benson 8e06fb56d2 Pin each 4a arm to a full SHA and prove its build came from it
Each --arm now names name=<checkout>@<full sha>. The harness refuses an arm whose HEAD
differs, whose product sources are dirty, whose renderer build-commit stamp is not that
HEAD, or whose sources changed after the build, and records that provenance in every
result. A cached seed from another seed-arm commit is refused, and report-only refuses to
mix results from different pins, seeds or recipes. Tables name full SHAs and disclose that
writer BEGIN-to-COMMIT spans are not observed.
2026-11-09 14:38:17 -08:00
Brennan Benson 70a9eb5af3 Merge commit 'd724950c7eb' into brennanb2025/native-chat-sqlite-host 2026-11-09 12:56:20 -08:00
Brennan Benson d724950c7e Seed completed diff originals through the baseline writer and measure them
The 4a stub speaks Claude stream-json, whose adapter writes no diff items, so
completed diff originals were a skipped row. The seed now appends known
diffs once into its last filler chat through the seed arm's own original
journal writer, after that arm stops and before the seed is renamed or
copied, so every arm starts from the same rows and item IDs. Both arms verify
kind, original length, a short page head and the exact patch from detail
before timing the tail page and the detail read, and the conversion sweep
reports the diff chat apart from the small chats.
2026-11-09 12:52:23 -08:00
OrcaWinandOrcaWin f637498b34 test: remove obsolete manual tools and duplicate launch coverage (#40317)
Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
2026-11-09 03:57:10 -08:00
Brennan Benson 6a6dae399f test: include the medium chat in comparison profile metadata 2026-11-09 03:42:04 -08:00
Brennan Benson 288681caf6 Name the 4a arm's bundled envelope builders by their tracked source files
The protocol bundle imported from './src/shared/agent-session/...', a folder
the path-literal ratchet reads as an unresolved import. Each module is now a
tracked-file constant joined onto the arm's own checkout, the same form
runtime-file-watcher-resource-probe.mjs uses; the bundle and its exports are
unchanged.
2026-11-09 02:57:07 -08:00
Brennan Benson 3bd9f8ecdc Replace casts and empty type imports in the 4a harness scripts with annotations and guards
Renderer times and tab ids from waitForFunction handles go through typeof
guards, the visibility probe is a declared Window global, the runtime call
keeps its own typed response, and cached manifests, Electron paths, profiles
and families are narrowed by guards. The empty `import type {}` blocks name
AppStore and use it. Three casts remain, each with a line-specific SAFETY:
the generic RPC result and Node's performance inside main-process callbacks.
2026-11-09 02:57:07 -08:00
Brennan Benson 2d7525c12e Name the 4a arm's bundled envelope builders by their tracked source files
The protocol bundle imported from './src/shared/agent-session/...', a folder
the path-literal ratchet reads as an unresolved import. Each module is now a
tracked-file constant joined onto the arm's own checkout, the same form
runtime-file-watcher-resource-probe.mjs uses; the bundle and its exports are
unchanged.
2026-11-09 02:56:06 -08:00
Brennan Benson bf869bc421 Replace casts and empty type imports in the 4a harness scripts with annotations and guards
Renderer times and tab ids from waitForFunction handles go through typeof
guards, the visibility probe is a declared Window global, the runtime call
keeps its own typed response, and cached manifests, Electron paths, profiles
and families are narrowed by guards. The empty `import type {}` blocks name
AppStore and use it. Three casts remain, each with a line-specific SAFETY:
the generic RPC result and Node's performance inside main-process callbacks.
2026-11-09 02:37:32 -08:00
Brennan Benson 1850ba5458 Cover the 4a conversion, history-shape and maintenance-debt cases through outside observation
Conversion: seed a medium chat (310 chats on the full profile) and refuse a
cached seed from another recipe. Observe the candidate's existing
epoch-installed ready boundary with a read-only poll of journal_chat_state.
An idle seed copy yields launch to every chat ready and the per-size
ready-mark intervals; the families copy verifies an unconverted first open and
waits for every chat ready before any steady-state family.

History/detail: the stub emits ordinary Claude subagent frames (interleaved
and sparse-root corpora) and a shapes turn (huge completed tool originals, one
above the detail reply cap, an oversized ordinary message). Each named shape is
verified through the real history/detail route before its samples count; diff
items stay explicit missing evidence because the Claude adapter writes none.

Maintenance: write and rewind large completed rows on a disposable seeded chat
under a held outside reader, then measure other-chat sends during the hold,
after release and while freed pages are reclaimed, from read-only page/WAL
state. Retired-epoch pruning is skipped unless such rows are observed.
2026-11-09 02:03:08 -08:00
Brennan Benson 8302b87a15 Cover the 4a conversion, history-shape and maintenance-debt cases through outside observation
Conversion: seed a medium chat (310 chats on the full profile) and refuse a
cached seed from another recipe. Observe the candidate's existing
epoch-installed ready boundary with a read-only poll of journal_chat_state.
An idle seed copy yields launch to every chat ready and the per-size
ready-mark intervals; the families copy verifies an unconverted first open and
waits for every chat ready before any steady-state family.

History/detail: the stub emits ordinary Claude subagent frames (interleaved
and sparse-root corpora) and a shapes turn (huge completed tool originals, one
above the detail reply cap, an oversized ordinary message). Each named shape is
verified through the real history/detail route before its samples count; diff
items stay explicit missing evidence because the Claude adapter writes none.

Maintenance: write and rewind large completed rows on a disposable seeded chat
under a held outside reader, then measure other-chat sends during the hold,
after release and while freed pages are reclaimed, from read-only page/WAL
state. Retired-epoch pruning is skipped unless such rows are observed.
2026-11-09 01:52:41 -08:00
Brennan Benson 00ae90a4ac Fork the 4a harness's large chat through its latest response, not its latest prompt 2026-11-08 23:58:04 -08:00
Brennan Benson 7378d21e73 Chain the 4a stub's resumed transcript to the last message, past a fork copy's title row 2026-11-08 23:58:04 -08:00
Brennan Benson 7fec6f1d55 Give the 4a stub's user echo the uuid its transcript row records 2026-11-08 23:58:04 -08:00
Brennan Benson 32c935c07e Treat refusals carried inside a successful 4a harness RPC result as refusals 2026-11-08 23:58:04 -08:00
Brennan Benson 433663597d Activate 4a harness chat tabs through their tab group and seed enough smoke filler chats for the unopened-chat row 2026-11-08 23:58:04 -08:00
Brennan Benson 4e9402a441 Use the history page's itemId in the 4a harness and name what a visible-state wait timed out on 2026-11-08 23:58:03 -08:00
Brennan Benson 6dadd80f21 Retry transient main-process evaluates in the 4a harness host-work probe 2026-11-08 23:58:03 -08:00
Brennan Benson 7ce7d484da Read the native chat working flag from the 4a harness's visible root itself 2026-11-08 23:58:03 -08:00
Brennan Benson 948cd3de8b Shim tsx's __name in 4a harness pages and install the probe inside the guarded launch 2026-11-08 23:58:03 -08:00
Brennan Benson 781e718f13 Fail the 4a harness launch fast on a non-e2e build and stop the app it launched 2026-11-08 23:58:03 -08:00
Brennan Benson e0b7afa46a Add the 4a main-vs-candidate native chat comparison harness
One entry (native-chat-4a-comparison.ts) seeds the 55k-history/310-chat
profile once through the seed arm, clones it per arm at a fixed path,
launches each built checkout in the background with an isolated home,
and drives the same stub provider events through the host RPC surface
both builds serve. Envelopes come from each arm's own source bundle.
Rows cover send/queue, 1/8/16 MiB streams with a competing send,
maintenance windows, open/reopen, history/detail, outline/fork,
rewind, record operations, R3 retained-history admission and, reported
separately, first-launch conversion (optional 20 GiB source). Output is
one JSON and one markdown table keyed by both head SHAs.
2026-11-08 23:58:03 -08:00
Brennan Benson d3d106e4d4 Fork the 4a harness's large chat through its latest response, not its latest prompt 2026-11-08 23:32:20 -08:00
Brennan Benson 7768407d7f Chain the 4a stub's resumed transcript to the last message, past a fork copy's title row 2026-11-08 23:11:41 -08:00
Brennan Benson cd48c33e9c Give the 4a stub's user echo the uuid its transcript row records 2026-11-08 23:09:08 -08:00
Brennan Benson 989d4bbfca Treat refusals carried inside a successful 4a harness RPC result as refusals 2026-11-08 23:07:53 -08:00
Brennan Benson 9122518057 Activate 4a harness chat tabs through their tab group and seed enough smoke filler chats for the unopened-chat row 2026-11-08 22:52:13 -08:00
Brennan Benson fb4b83b4d2 Use the history page's itemId in the 4a harness and name what a visible-state wait timed out on 2026-11-08 22:48:02 -08:00
Brennan Benson a65497e63a Retry transient main-process evaluates in the 4a harness host-work probe 2026-11-08 22:38:27 -08:00
Brennan Benson 8d448e8d98 Read the native chat working flag from the 4a harness's visible root itself 2026-11-08 22:30:47 -08:00
Brennan Benson 503d5f323c Shim tsx's __name in 4a harness pages and install the probe inside the guarded launch 2026-11-08 22:18:59 -08:00
Brennan Benson ef87913581 Fail the 4a harness launch fast on a non-e2e build and stop the app it launched 2026-11-08 22:03:00 -08:00
Brennan Benson d2235aa57c Add the 4a main-vs-candidate native chat comparison harness
One entry (native-chat-4a-comparison.ts) seeds the 55k-history/310-chat
profile once through the seed arm, clones it per arm at a fixed path,
launches each built checkout in the background with an isolated home,
and drives the same stub provider events through the host RPC surface
both builds serve. Envelopes come from each arm's own source bundle.
Rows cover send/queue, 1/8/16 MiB streams with a competing send,
maintenance windows, open/reopen, history/detail, outline/fork,
rewind, record operations, R3 retained-history admission and, reported
separately, first-launch conversion (optional 20 GiB source). Output is
one JSON and one markdown table keyed by both head SHAs.
2026-11-08 20:37:54 -08:00
Neil b0ac9ae521 refactor: organize native chat composer and conversation owners (#39534) 2026-11-07 12:26:03 -08:00