mirror of
https://github.com/stablyai/orca.git
synced 2026-11-15 10:27:33 +00:00
d85fa2f5d2d2db434fc93bbf0f2f81c022e88fa1
6
Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
88a266e003 |
Make SQLite the source of truth for native chats (#39256)
* Retire projection adapter tests and use real SQL journal fixtures
* Persist bounded history detail and conversation outline projections
* Select rewind cuts by provider indexes and delete uniform rows as a set
* Cache bounded conversation outlines after reader projection
* Remove retired journal fold and message adapters
* 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.
* Fail the 4a harness launch fast on a non-e2e build and stop the app it launched
* Shim tsx's __name in 4a harness pages and install the probe inside the guarded launch
* Read the native chat working flag from the 4a harness's visible root itself
* Retry transient main-process evaluates in the 4a harness host-work probe
* Use the history page's itemId in the 4a harness and name what a visible-state wait timed out on
* Activate 4a harness chat tabs through their tab group and seed enough smoke filler chats for the unopened-chat row
* WIP: migrate native chat tests to SQL journal readers
* Treat refusals carried inside a successful 4a harness RPC result as refusals
* Give the 4a stub's user echo the uuid its transcript row records
* Remove retired journal writer test machinery
* Chain the 4a stub's resumed transcript to the last message, past a fork copy's title row
* Fork the 4a harness's large chat through its latest response, not its latest prompt
* Port persisted chat tests to SQL fixtures (red WIP)
* 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.
* Fail the 4a harness launch fast on a non-e2e build and stop the app it launched
* Shim tsx's __name in 4a harness pages and install the probe inside the guarded launch
* Read the native chat working flag from the 4a harness's visible root itself
* Retry transient main-process evaluates in the 4a harness host-work probe
* Use the history page's itemId in the 4a harness and name what a visible-state wait timed out on
* Activate 4a harness chat tabs through their tab group and seed enough smoke filler chats for the unopened-chat row
* Treat refusals carried inside a successful 4a harness RPC result as refusals
* Give the 4a stub's user echo the uuid its transcript row records
* Chain the 4a stub's resumed transcript to the last message, past a fork copy's title row
* Fork the 4a harness's large chat through its latest response, not its latest prompt
* Port ACP tests to SQL journal named reads
* Port Claude tests to SQL journal named reads
* Port Codex tests to SQL journals and drop the legacy row rollback test
* Port failure and persisted-read fixtures to the active chat database
* Remove obsolete internal-work counting from chat inventory tests
* test(native-chat): repair SQL epoch fixtures and sender closure case
* fix(native-chat): own async option preparation and port SQL runtime fixtures
* test(native-chat): encode the full founding identity
* fix(native-chat): recover saved live work on SQL open
* fix(native-chat): select retained image sources before history paging
* fix(native-chat): preserve catch-up authority and scoped journal teardown
* 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.
* fix(native-chat): preserve stopped result disclosure and async fixture ownership
* Resolve lost-session warning identity at the journal writer
* 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.
* Remove the retired ACP warning-reader fixture field
* Validate warning writer authority before duplicate selection
* Wake queued delivery when pending requests change
* Validate authority before all resolved item selection
* Use current chat test fixtures and name the handover journal owner
* Keep warning authority validation on the semantic selection branch
* test: lose unsaved ACP creations before a successful resume
* refactor: tighten SQL journal types and publication reads
* test: use SQL chat writers and async journal observations
* 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.
* refactor: type handover owners and finite recovery snapshots
* 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.
* 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.
* 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.
* Port cross-version wire tests to SQL journal reads
Hosts take the shared domain database, reads go through named async
journal reads and catch-up history pages, and released-build fixtures
type the release's own synchronous journal API.
* Align cross-version downgrade tests with one-way conversion
A downgraded build sees the chat and records as converted and its
later writes are not carried forward. Drop tests whose subject was
this build's legacy row and outcome writes; seed newer legacy rows
before the first conversion.
* Port cross-version wire tests to SQL journal reads
Hosts take the shared domain database, reads go through named async
journal reads and catch-up history pages, and released-build fixtures
type the release's own synchronous journal API.
* Align cross-version downgrade tests with one-way conversion
A downgraded build sees the chat and records as converted and its
later writes are not carried forward. Drop tests whose subject was
this build's legacy row and outcome writes; seed newer legacy rows
before the first conversion.
* test: open runtime fixtures with SQL journal workers
* test: combine runtime fixture imports
* test: prune resolved compatibility timeout finding
* test: use bundled SQL workers for runtime admission fixtures
* test: await SQL reader delivery and complete real rewind cuts
* test: include the medium chat in comparison profile metadata
* test: cover snapshot holds after replacement rollback and read failure
* test: keep clear history assertions on saved and rendered results
* Inject the deletion scenarios' record removal at the SQL record store's reads
The SQL record store has no transact or record-deletion command, so the
authoritative-deletion cases make the store's public record reads answer as
for a missing record and restore them before teardown. Assertions unchanged.
* Align cross-version fixtures with async SQL publication
Wait for frames that follow committed reads, await the async
completion feed, route the outline and item calls to their current
host methods, and expect the restart unreconciled latch on loaded
records.
* test: delete automation records with their command receipts
* 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.
* 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.
* Establish restart recovery debt in the record writer
* Add active-chat resident memory comparison to 4a harness
* Commit complete provider dispatches and preserve Stop sources
* Coalesce pending publications across provider dispatches
* Capture CI watch actions at SQL writer publication
* Restore Claude task linkage in SQL acquisition facts
* Lift restarted queue holds through SQL admission
* Forward brief clear through Claude close
* Isolate SQL test worker lifetimes and prove fork durability
* Preserve saved queue order and recover restart custody on SQL open
* Keep saved queue contracts explicit and type fixtures accurately
* Run startup chat workspace conversion through its SQL owner
* Make journal command classifications exhaustive and remove unchecked casts
* Temporarily reverse quality cleanup to isolate translation regression
* Restore verified behavior-neutral journal quality cleanup
* Initialize real saved snapshot routes in Claude translation tests
* Repair native chat campaign readiness and contention measurements
* Measure fork contention under isolated retired history pressure
* Verify contention still targets a live stream at dispatch
* Run chat maintenance within the record-store lifetime
* Bound chat activity reads to work transitions
* test: adopt saved snapshots in direct Claude sinks
* Cover maintenance activity during registered starts
* test: initialize saved facts for Claude permission and resume fixtures
* test: await durable Claude resume and chain publications
* Complete provider dispatch identities in maintenance fixtures
* Preserve journal body admission and text close finality
* Scope optional permission backfill failure to its record change
* test: seed SQL reader fixtures through their owning contract
* test: assert saved Codex outcomes through SQL readers
* test: seed replay-budget withdrawals through command turns
* fix: refuse chat access on newer journal schemas
* test: migrate Claude echo wait; fails on known product finding
The retained Working assertion still fails after awaiting initial publication and accepted echo. The product finding is handed to the author.
* test: await SQL transcript and command publications
* test: migrate public rewind cursors and teardown warning scopes
* test: await child-work and status re-entry publications
* test: bind operation fixtures to SQL current-work reads
* test: establish recovery fixtures through owner restart reconciliation
* Keep child work owned across null status publications
* test: await subscriber and late-proof SQL observations
* test: resolve the profile transfer fixture from the repository root
* test: assert restart recovery capsules instead of internal call counts
* test: migrate Claude echo wait; fails on known product finding
The retained Working assertion still fails after awaiting initial publication and accepted echo. The product finding is handed to the author.
* test: await runtime session publications and final writer acknowledgement
* test: migrate coordinator mail SQL APIs; known product failures remain
* test: persist fork sources and use SQL RPC fixture contracts
* test: observe conversation publications in worker abandonment
* test: admit downgrade fixture owners through the SQL store
* test: await ordered attention prompt relay observations
* Keep status observer failures outside provider ingress
* Order provider facts before late delivery receipts
* test: submit replay fixture turns through the general writer command
* test: await durable worker delivery and lifecycle outcomes
* test: follow current provider ownership in coordinator mail
* fix(chat): settle mail custody from writer outcomes
* fix(perf): format retired fixture row count explicitly
* fix(chat): admit automatic worker close from current work
* Require live tool contention witness at send dispatch
* Await attention fixture updates and prune the fixed echo wait baseline
* Preserve the Pi startup exit verdict after recording process identity
* Check restored image deletion through the transcript view
* Adapt history pressure fixture and probes to current item storage
* Repair CI import paths and asynchronous lint findings
* Keep journal storage and projections acyclic
* Preserve proven startup facts across acquisition settlement
* Wait for the owning chat boundary in recovery and delivery tests
* Observe admitted delivery work in native chat fixtures
* Make native chat comparison measurements fail closed
* Isolate SQL worker fixtures across test files
* fix(sqlite): avoid retaining large bindings in cached statements
* perf(native-chat): reuse the captured queue publication
* test(orchestration): await refused mail settlement before recovery
* fix(orchestration): reconcile owned mail before consuming checks
* fix(orchestration): preserve each mail check response
* test(orchestration): diagnose surviving timers through public SQL reads
* perf(native-chat): place item metadata before large forms
* test(native-chat): require the octet-length column flag
* fix(native-chat): version persisted item presentations
* fix(native-chat): bound queued-image history admission
* test(orchestration): update shared mail source support
* fix(native-chat): preserve Stop transitions and admitted forms
* perf(native-chat): select the existing latest-turn index
* perf(native-chat): reuse history admission facts
* perf(native-chat): reuse shortened history wire forms
* perf(native-chat): batch bounded fork metadata reads
* fix(native-chat): synchronize CI fixtures and type mailbox receipts
* perf(native-chat): bound fork scratch presentation work
* test(native-chat): await subscriber catch-up completion
* fix(native-chat): retire readers after fork setup failure
* perf(native-chat): batch bounded fork metadata and output reads
* Reuse validated journal publication inputs on demand
* fix(chat): cancel reader requests on requested shutdown
* perf(native-chat): reuse narrow SQLite work reads
Read canonical current work and queue eligibility in one snapshot, and reuse validated work through the existing journal observation entry. Preserve full status publication, live authority validation, optional queue failures and final writer claims.
Frozen700 matches the reviewed 27-file source manifest and measured tree
|
||
|
|
2ceaff4869 |
refactor(renderer): group workspace creation and launch owners (#40688)
* refactor(renderer): group workspace creation and launch owners * refactor(renderer): combine concrete workspace naming imports |
||
|
|
be059c443d |
test: share a worker's module cache across unit files that can be reset between files (#40067)
Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com> |
||
|
|
4001dc9edf |
test: remove 112 low-value static-gate and runtime tests (#38723)
Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com> |
||
|
|
a820de5ff5 |
test: remove 91 low-value terminal and compiler tests (#38623)
Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com> |
||
|
|
9bd6272fdf |
refactor(tooling): organize build, CI, and test owners (#38130)
* refactor(tooling): organize test runtime and maintenance owners * test(tooling): preserve relocated runtime fixture dependency edges * refactor(tooling): preserve xterm routing owner checks * ci(tooling): include routing owner in sparse checkout * test(tooling): preserve copied workflow dependency closures * fix(tooling): normalize hashed JSON assets in release parity * fix(tooling): distinguish asset aliases from literal references * fix(tooling): frame normalized asset reference payloads * fix(tooling): normalize decoded JSON asset references * refactor(tooling): organize build, CI and release owners * fix(tooling): align moved generator and workflow path contracts * fix(tooling): update generated plugin bundle owner banners * test(tooling): create relocated mobile verifier fixture directories * test(tooling): copy headless detector dependency closure * test(tooling): align native batch policy fixtures with owner path * fix(tooling): link moved reliability command to historical evidence * fix(tooling): preserve nested sandbox owners and canonical guide source * fix(tooling): target release version owners in checkout fixture |