Commit Graph
3894 Commits
Author SHA1 Message Date
OrcaWinandOrcaWin d3a79e606f test: remove low-value image, runtime and cleanup tests (#42086)
Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
2026-11-13 09:45:09 -08:00
Neil 2db7499ae2 refactor: group runtime-environment IPC by ownership (#42081) 2026-11-13 09:35:54 -08:00
OrcaWinandOrcaWin ea92ef7ea0 test: remove low-value runtime and static-analysis cases (#42082)
Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
2026-11-13 09:24:03 -08:00
OrcaWinandOrcaWin 6a6b23c910 test: remove low-value packaging and release test cases (#42078)
Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
2026-11-13 09:12:30 -08:00
OrcaWinandOrcaWin 0a04286445 test: remove low-value mobile and native-build cases (#42076)
Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
2026-11-13 08:58:51 -08:00
Neil dc67a6435f refactor(mobile): organize source control by feature owner (#42073) 2026-11-13 08:49:09 -08:00
OrcaWinandOrcaWin 309f6ca8db test: remove low-value localization and mobile test coverage (#42070)
Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
2026-11-13 08:43:31 -08:00
OrcaWinandOrcaWin 5480f48d5b test: remove low-value runtime packaging and diagnostic suites (#42064)
* test: remove low-value runtime packaging and diagnostic suites

* test: clear scan-progress listeners after AI Vault IPC cases

---------

Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
2026-11-13 08:34:41 -08:00
Neil 075d6b3b50 refactor(rpc): group request contracts by feature owner (#42063) 2026-11-13 08:21:31 -08:00
OrcaWinandOrcaWin d896198ad6 test: remove low-value workflow and packaging suites (#42062)
Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
2026-11-13 08:09:43 -08:00
OrcaWinandOrcaWin 8025a52e5b test: remove low-value build and CI test suites (#42056)
Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
2026-11-13 07:51:57 -08:00
Neil 6775615ce4 refactor(preload): organize API modules by feature owner (#42051) 2026-11-13 07:37:49 -08:00
OrcaWinandOrcaWin a850101549 test: remove low-value relay and contract test coverage (#42053)
Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
2026-11-13 07:32:26 -08:00
Neil 1af96e86ff refactor(mobile): organize terminal session feature owners (#42046) 2026-11-13 06:59:38 -08:00
Neil e956498414 refactor(mobile): organize terminal modules by responsibility (#42040) 2026-11-13 06:37:45 -08:00
Neil c2deee70df refactor(mobile): organize platform adapters by capability (#42030) 2026-11-13 05:54:19 -08:00
OrcaWinandOrcaWin a5854aec6e test: remove low-value transport and shared suites (#42026)
* test: remove low-value automation and shared suites

* test: retire stale gate references and stabilize retained fixture date

---------

Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
2026-11-13 05:43:27 -08:00
OrcaWinandOrcaWin e9d5b35d64 test: remove low-value mobile and CLI runtime tests (#42022)
* test: remove low-value mobile suites and repeated vectors

* test: trim low-value CLI runtime cases and obsolete allowance

* test: satisfy changed-line template lint in click case

---------

Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
2026-11-13 05:25:55 -08:00
Neil 8dd3b71090 refactor: organize mobile files and host-screen domain owners (#42019) 2026-11-13 05:10:41 -08:00
Neil e81a89c5ff refactor: group Jira and Linear task-page modules by domain (#42009)
* refactor: group Jira and Linear task-page modules by domain

* refactor: remove orphaned Linear refresh test entry
2026-11-13 04:31:03 -08:00
OrcaWinandOrcaWin a3be49edd4 test: remove Calculator smoke and redundant coverage (#42000)
* test: remove weak native smoke and repeated writer coverage

* test: focus packaged PTY coverage on output and exit delivery

---------

Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
2026-11-13 04:04:33 -08:00
Neil 59b88a1176 refactor: group GitHub task-page modules by domain (#41995) 2026-11-13 03:52:49 -08:00
OrcaWinandOrcaWin 8c9aff20a3 test: remove filesystem scale and telemetry schema replays (#41988)
Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
2026-11-13 03:43:34 -08:00
Neil 4245b59765 refactor: group agent hook providers by domain (#41968)
* refactor: group agent hook providers by domain

* chore: shrink retired hook test ratchet allowances
2026-11-13 03:27:33 -08:00
OrcaWinandOrcaWin 7658aebc4d test: remove repeated readiness and telemetry schema cases (#41983)
Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
2026-11-13 03:24:50 -08:00
OrcaWinandOrcaWin 404ab9fccf test: remove upstream projections and duplicate submodule guard (#41974)
Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
2026-11-13 02:50:19 -08:00
OrcaWinandOrcaWin 85873ef846 test: remove Git staging and status replays (#41966)
Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
2026-11-13 02:32:58 -08:00
OrcaWinandOrcaWin ee8ad02860 test: remove hook and generation replays and cache assertions (#41951)
Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
2026-11-13 02:20:31 -08:00
Neil 7e10540b93 refactor: group preload modules by domain (#41940)
* refactor: group preload modules by domain

* fix: include preload entry dependencies in web typecheck
2026-11-13 02:06:33 -08:00
Jinwoo Hong fde1ae70da fix(mac): give Orca's main executable its own UUID so Local Network access works (#41676)
* fix(mac): give Orca's main executable its own Mach-O UUID

macOS Local Network privacy identifies an app by its main executable's
UUID. The packaged executable is stock Electron's, so it shares that UUID
with every other app on the same Electron version and macOS can apply
another app's Local Network decision to Orca. Rewrite LC_UUID in every
slice to a value derived from the app id, executable name and CPU type,
before signing.

* fix(mac): re-sign rewritten executables ad hoc, cover the terminal host, assert UUIDs at release

Rewriting LC_UUID breaks Electron's linker ad hoc signature, and arm64
kills unsigned code, so identity-less local builds (where app signing is
skipped) produced an Orca.app that died at launch. Re-sign the rewritten
executable ad hoc, outside the bundle so codesign does not treat it as
the bundle; real signing replaces it later.

The terminal host's executable is a stock Node binary whose UUID is
shared by every copy of that Node release, so give it its own stable
UUID the same way. Packaging and release verification now fail when a
shipped executable does not carry its expected UUID.

* fix(mac): scope the executable UUID rewrite to the main app

The terminal host gets a separate design; leave it unchanged here.
2026-11-13 04:53:48 -05:00
OrcaWinandOrcaWin d1d338cd02 test: remove generation replays and cache counter cases (#41944)
Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
2026-11-13 01:52:46 -08:00
OrcaWinandOrcaWin 37f8222979 test: remove low-value cleanup suites and generation replays (#41941)
* test: remove cleanup wrappers and redundant settlement coverage

* test: remove ineffective preview and generation failure replays

---------

Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
2026-11-13 01:43:44 -08:00
Kelvin Amoaba d1bc6605c1 fix(speech): correct near-miss spellings of dictionary terms, like Superbase to Supabase (#41703)
* fix(speech): spell near misses of dictionary terms the term's way

* fix(speech): ship the common-word list as a 2% Bloom filter to fit the phone page budget
2026-11-13 09:39:16 +00:00
OrcaWinandOrcaWin e4eecd847c test: remove low-value workspace wrapper and notice cases (#41938)
Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
2026-11-13 01:31:41 -08:00
OrcaWinandOrcaWin 2850c00006 test: remove low-value smoke, wrapper, and copy assertions (#41925)
* test: remove prebuilt declarative demo smoke suite

* test: remove static Box summary copy assertion

* test: remove redundant wrapper cases and copied assertions

---------

Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
2026-11-13 01:17:39 -08:00
OrcaWinandOrcaWin 4a81270d6f test: remove duplicate language wrapper and orphan host teardown (#41909)
Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
2026-11-13 00:47:44 -08:00
Neil e7288d7ea5 refactor: group new-workspace modules by domain (#41905) 2026-11-13 00:46:08 -08:00
Neil ad0dfec9d4 fix(ime): keep plain-committed Hangul so macOS 2-Set can rebuild it in place (#41884)
* fix(ime): keep plain-committed Hangul so macOS 2-Set can rebuild it in place

Right after an input-source switch, macOS 2-Set can commit a lone jamo as
plain text and then rebuild it (ㅇ + ㅏ → 아) by replacing that committed
range. The native text forwarder emptied the field after every commit, so
the replacement had nothing to land on and the vowel was dropped (#9738).

Keep Hangul commits in the field (Latin commits still clear for #11504),
and erase replaced text from the PTY before the replacement is sent.

* fix(ime): only erase retained Hangul when the replacement is forwarded and still at the PTY cursor

Drop retention on blur, on any composition start, and on chord/named keydowns
the pane handles before the forwarder (macOS Ctrl+C, non-Latin control chords).
Erase only for insertText/composition replacements that end at the field tail.

* ci(e2e): route terminal IME changes to IME specs again after the input/ owner move

#39113 moved IME and keyboard policy files under terminal-pane/input/, but the
native IBus and synthetic IME routes still matched the old paths, so IME changes
selected neither lane.
2026-11-13 00:41:53 -08:00
OrcaWinandOrcaWin 6734880408 test: remove synthetic portal loop and static WSL move suites (#41895)
Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
2026-11-13 00:08:35 -08:00
Neil bd3d62d3d5 refactor: organize workspace cleanup by concrete owners (#41887) 2026-11-12 23:54:23 -08:00
OrcaWinandOrcaWin b114149bd5 test: remove mocked automation projection and retry suites (#41890)
Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
2026-11-12 23:49:42 -08:00
OrcaWinandOrcaWin 2d9ec3224c fix: keep delete dialog status stable during catalog refreshes (#41864)
Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
2026-11-12 23:37:51 -08:00
OrcaWinandOrcaWin 1c78f83d88 test: remove terminal close and import setter projection suites (#41883)
Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
2026-11-12 23:23:36 -08:00
Neil 9c7800d140 refactor: organize feature wall by concrete owners (#41875) 2026-11-12 23:21:03 -08:00
OrcaWinandOrcaWin a0fc70d291 test: remove low-value repo notifier and schema cache suites (#41877)
Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
2026-11-12 23:12:20 -08:00
Brennan BensonandClaude Opus 5.5 842e4e0077 perf(native-chat): draw only the visible rows of an opened tool run (#41552)
* perf(native-chat): draw only the visible rows of an opened tool run

An opened tool run rendered every call it held, so a long autonomous stretch
kept thousands of rows, their DOM and their per-row state alive while only a
dozen were visible in the run's capped box.

The run now owns a keyed window over its rows (the shared TanStack
virtualizer plus the existing row+offset scroll anchor):
- rows keep today's keys and order; small runs and Find-with-a-query draw
  every row through the same keyed tree, so nothing remounts at the switch
- the reader is remembered as a row and offset (pixel top while unmeasured),
  following the end only for new work, and forgetting on close as before
- the box's cap keeps the measured height of opened details, including ones
  scrolled out of view; the full task list now remembers its open state
- the first/last rows, a diff reveal target, recently interacted rows, the
  focused row's Tab neighbours and a text selection's span stay drawn

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* fix(native-chat): finish tool-run follow, keep reveals, bound per-move work

Review repairs for the windowed tool run:
- a follow started by new work always gets its completion frame, so a
  result that adds no row cannot leave it armed to chase later detail growth
- the row anchor restores only when rows arrive or the pane shows again,
  so a diff reveal or the reader's own scrolling is not pulled back
- opened-detail room is kept incrementally and travels with the run's
  remembered position across outer windowing
- focus neighbours, item keys and window rows no longer cost work per move
  proportional to the run's length; selection is tracked only while visible
- thoughts with no words are not keyboard stops; the restored row stays
  drawn until the reader moves

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* fix(native-chat): finish hidden follows, let reveals win, keep draw-all scrolling free

Second review repair for the windowed tool run:
- a follow is certified only by a real, visible tail measurement, and that
  measurement wakes it even when no size changed; a hidden pane resumes it
- a diff reveal cancels any pending restore and follow on every request
- a hidden pane returns to its row (not its reset pixel offset) on show
- draw-every-row mode (Find, short runs) rebuilds nothing as the reader
  scrolls; selection spans re-derive after the pane was hidden
- remembered detail heights are copied only when one changes

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* fix(native-chat): certify a tool-run follow only by a laid-out tail

A follow's landing is confirmed only when the last row that draws something
has a real, non-zero size; a measurement callback carrying a cached or zero
size no longer ends it early, and a run whose rows draw nothing has no
landing to wait for.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* fix(native-chat): keep draw-all tool runs cheap per scroll and prove follow wake paths

Draw-all (Find) no longer records the scroll anchor or rebuilds the selection span
on every scroll, and its trailing spacer skips the end scan. Tests now cover a task
list crossing the window threshold and Find, and pin both follow-completion paths.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* fix(native-chat): skip anchor scans under a wide selection and recover the reader's row after

A selection wider than a window keeps its rows drawn, so recording the anchor on
each scroll would scan them all; recording now waits, as it does under Find. The
reader's row is then taken from the virtualizer's offsets when recording resumes
or the pane hides, so showing it again does not return to an older row.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* fix(native-chat): type the tool-run selection-span gate and settle the anchor on hide

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* fix(native-chat): merge duplicate tool-run window import

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* chore(native-chat): prune the structured session's compiler bailout after the main sync

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* fix(native-chat): keep the tool-run measurement callback current without a render-time ref write

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* fix(native-chat): keep a reader who jumps past an open run's drawn rows where they jumped

The window redraws inside the scroll that moves it, and a restore still pending
from earlier work could run first and send the reader back to the row they left.
The reader's own scroll now points the anchor at their row from the window's
offsets before that redraw.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* fix(native-chat): re-point the anchor on reader scrolls only while the run is windowed

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* fix(native-chat): keep a hidden tool run's saved row from its box's reset offset

A hidden box resets its offset and may report that as a scroll or as the offset
at unmount. Scroll recording (the run's and the anchor hook's) and the hook's
unmount record now wait while the pane is hidden, so the row kept at hide time is
the one a returning reader lands on.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* fix(native-chat): give an opened tool run sole ownership of its reader's place

The run and the shared scroll-anchor hook each decided when a saved row still owned
the box, and each local exclusion left another path for a stale restore or capture.
The run now keeps one row-and-offset place from the window's full measurement model,
admits a landing only on mount or show, lets every reader scroll retire pending
work first, records nothing while hidden, and takes a reveal before any landing.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* fix(native-chat): confirm every tool-run landing correction and model the browser's scroll report in tests

A real change (size, row list, the held row's measurement) now grants a landing a
fresh, bounded confirmation budget, so a correction made after an earlier budget ran
out is still confirmed. A pending landing's own writes no longer re-arm following.
The reader harness delivers the scroll event a browser sends after an offset change.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* test(native-chat): keep the reveal-return case on one memory record and before the reveal's scroll report

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* test(native-chat): return the reader harness's scroll writes to their earlier behaviour (rig-stop ruling)

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* fix(native-chat): keep a revealed file's own row as the tool run's saved place

A reveal now records the card's row and offset from the page as the card aligns,
rather than reading the window's size model, which may still hold that row's
collapsed height. Remount tests report the landing's own scroll the way a browser
would; the pinned reveal case needs no report.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* fix(native-chat): read an opened tool run's reader place from the rows actually drawn

The window's size model can hold a row's old height for a frame after it grows, so a
scroll report read through it could record a later row than the reader sees. Capture
now takes the row at the box top from the drawn rows' own geometry, found by a binary
search over the run's in-flow children, and uses the model only where the top lies in
an undrawn gap; a box with no geometry keeps the last place.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* test(native-chat): type the reader-position owner test's rows without assertions

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-11-12 23:06:24 -08:00
OrcaWinandOrcaWin a5f68e9d4f test: remove tab-switch mock projection suite (#41872)
Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
2026-11-12 23:00:13 -08:00
Neil d2e2c788a5 refactor: organize WSL guest modules by concrete ownership (#41852)
* refactor: organize WSL guest modules by concrete ownership

* chore: link historical relay evidence to the moved command

* chore: prune retired guest test timing debt
2026-11-12 22:49:12 -08:00
OrcaWinandOrcaWin 9103a362db test: remove 13 low-value workspace teardown cases (#41851)
* test: prune teardown warning and mock projection cases

* test: prune redundant unstopped PTY projections

---------

Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
2026-11-12 22:26:57 -08:00
OrcaWinandOrcaWin 1cd89abca4 test: remove five low-value runtime pipeline suites (#41844)
* test: remove runtime projection suites with low-value fixtures

* test: remove simulated mobile and worker observation pipelines

---------

Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
2026-11-12 22:11:20 -08:00