Files
orca/config/scripts/vitest-sqlite-runtime-files.mjs
T
Brennan Benson de849c1416 Rewind Claude chats by forking the kept conversation (#30400)
* fix(native-chat): rewind works at any chat length

Rewind copied the kept part of the chat into its saved record and, for
Codex, re-read and re-translated the whole provider history before and
after the revert. Both were bounded (10,000 rows / 2 MB host, 1,024
entries / 2 MB Codex), so long chats were refused with "too long to go
back in".

The record now names the cut; the kept rows are derived from the
journal, which keeps the old epoch until the rewind completes. Codex
reads only the turns it undoes and trusts thread/revert; recovery
proves an applied revert from the newest turn alone and never
truncates otherwise.

* feat(native-chat): Claude chats launch a rewind's fork of the kept conversation

A rewind record can name the provider session the chat continues in (providerFork). Claude's next
launch forks it with the SDK's own truncating resume at the rewound prompt's parent, and publishes a
forked link once the provider has created it. Removes the transcript proof branch that could never
pass on the real CLI.

* test(native-chat): pin Claude's rewind fork against the real CLI

* feat(native-chat): rewind Claude chats

Claude declares rewind. The adapter answers where a rewind forks (the rewound prompt's parent in
its own transcript); the host saves that fork with the prepared record, stops the agent, and
rebuilds the journal from the rows before the message. Recovery completes a prepared fork, since
nothing outside Orca can have half-happened, and the next launch makes the fork.

* test(native-chat): keep the Claude rewind tests to the flows they pin

* test(codex): type the rewind fixture's page params instead of asserting them

* ci: run the PR checks against main

* fix(native-chat): rewind recovery reads the provider handle only from a record that exists

* fix(native-chat): import the session record type once

* test: run the rewind cut test in the SQLite runtime project

* test(native-chat): run the fork rewind test on SQLite, and give Claude's test double its fork

* fix(native-chat): omit rejected submissions from rewound history

* fix(native-chat): rewind forked chats without restarting the agent

* fix(native-chat): Claude rewinds also leave out messages that never ran

* fix(native-chat): Claude rewind to a mid-turn message drops the rest of that turn

A message sent while Claude is answering joins the running turn. Rewinding to it
forks Claude's conversation at that message, so the chat now drops the rest of
that turn too instead of keeping replies Claude no longer has.

A rewound chat whose kept conversation lives only in another Claude account now
gets the same "history is in another account" refusal as a resume, instead of
Claude's raw start failure on every launch.

* fix(native-chat): rewind only to messages that start a turn

A message sent while the agent is still answering joins that turn. Claude's CLI
holds it until a break and records it after the reply; Orca's chat records it
when it was sent. Rewinding to it therefore cut the chat and Claude's
conversation at different places: the previous fix dropped reply text Claude
still remembered, and the version before kept the message itself. For Codex the
cut started at the turn's own first message, removing a message the user did
not pick.

Rewind now returns only to messages that opened their own turn, the common
pattern: the chat stops offering it on a message sent mid-reply, and the host
refuses one, so a mid-reply message and its turn are always kept or dropped
together. The Claude cut goes back to keeping a kept turn's late rows.

* fix(native-chat): rewind targets follow the turn record's opener; saved rewinds still complete

A message opened its turn when the turn record names it, not only when it sits
at thread level: restored history scopes its openers to their turns, so those
chats lost Rewind.

The opener check now runs only when a new rewind is admitted. Recovery cuts
wherever an already saved rewind points, so one saved by an earlier build
still completes instead of blocking the chat.

* fix(native-chat): recovery's read-ahead reads turns only from a Codex rewind cut
2026-10-20 12:58:21 -07:00

306 lines
23 KiB
JavaScript

import { SQLITE_DATABASE_RUNTIME_INCLUDE } from './vitest-sqlite-database-runtime-files.mjs'
// Real SQLite fixtures keep Node publication and close semantics.
export const SQLITE_RUNTIME_INCLUDE = [
'src/main/pi/rpc-session-adapter.test.ts',
'src/main/pi/rpc-session-startup.test.ts',
'src/main/acp/acp-structured-publish-at-spawn.test.ts',
'tests/e2e/native-chat-startup-option-pickers.unit.test.ts',
...SQLITE_DATABASE_RUNTIME_INCLUDE,
'src/main/ipc/repos/project-host-setup-wsl-move-fence.test.ts',
'src/main/ipc/repos/repo-ipc-wsl-move-fence.test.ts',
'src/main/runtime/runtime-managed-worktree-metadata-wsl-move.test.ts',
'src/main/persistence/moving-wsl-projects/wsl-move-session-freeze.test.ts',
'src/main/wsl-move-scan-pruning.test.ts',
'src/main/repo-backfill-wsl-move.test.ts',
'src/main/acp/acp-structured-host-live-listing.test.ts',
'src/main/acp/acp-structured-host-configured-default.test.ts',
'src/main/acp/acp-structured-omp-recordings.test.ts',
'src/main/acp/acp-text-stream-identity.test.ts',
'src/main/acp/acp-text-message-ownership.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-clear-queued-command.test.ts',
'src/main/acp/acp-structured-sign-in.test.ts',
'src/main/acp/acp-structured-auth.test.ts',
'src/main/acp/acp-structured-prompt-failure.test.ts',
'src/main/acp/acp-timeline-turn-failures.test.ts',
'src/main/acp/acp-structured-session-adapter.test.ts',
'src/main/acp/acp-structured-session-adapter-resume.test.ts',
'src/main/acp/acp-structured-host-start-aborts.test.ts',
'src/main/acp/acp-conversation-copy.test.ts',
'src/main/pi/rpc-turn-races.test.ts',
'src/main/acp/acp-structured-child-session-end.test.ts',
'src/main/acp/acp-structured-child-stop.test.ts',
'src/main/acp/acp-structured-child-work-admission.test.ts',
'src/main/acp/acp-structured-child-work.test.ts',
'src/main/acp/acp-structured-host-subagent-stop.test.ts',
'src/main/acp/acp-timeline-grok-subagent-retention.test.ts',
'src/main/acp/acp-scripted-child-runtime.test.ts',
'src/main/active-view-persistence-boundary.test.ts',
'src/main/automations/automation-dispatch-host-fence.test.ts',
'src/main/automations/automation-owner-fencing.test.ts',
'src/main/automations/automation-skip-coalescing.test.ts',
'src/main/automations/automation-update-host-retarget.test.ts',
'src/main/automations/automation-workspace-host-attribution.test.ts',
'src/main/automations/automation-wsl-move-refusal.test.ts',
'src/main/automations/automation-zero-grace-tick-latency.test.ts',
'src/main/automations/retained-run-reconciliation.test.ts',
'src/main/automations/run-completion-watcher.test.ts',
'src/main/automations/service-precheck.test.ts',
'src/main/automations/service.test.ts',
'src/main/claude/claude-api-retry-idle-sweep.test.ts',
'src/main/claude/claude-api-retry-row.test.ts',
'src/main/claude/claude-context-usage-restart.test.ts',
'src/main/claude/claude-context-usage-unloaded-turn.test.ts',
'src/main/claude/claude-informational-row.test.ts',
'src/main/claude/claude-stream-json-connection.test.ts',
'src/main/claude/claude-structured-journal-translation.test.ts',
'src/main/claude/claude-structured-provider-fallback.test.ts',
'src/main/claude/claude-subagent-permission-request.test.ts',
'src/main/claude/claude-subagent-resume-after-restart.test.ts',
'src/main/codex/codex-provider-retry-idle-sweep.test.ts',
'src/main/codex/codex-structured-journal-context-usage.test.ts',
'src/main/codex/codex-structured-journal-exit-convergence.test.ts',
'src/main/codex/codex-structured-journal-goal-revision.test.ts',
'src/main/codex/codex-structured-journal-repeated-questions.test.ts',
'src/main/codex/codex-structured-journal-settlement-rollback.test.ts',
'src/main/codex/codex-structured-journal-subagent-readers.test.ts',
'src/main/codex/codex-structured-journal-translation-turn-lifecycle.test.ts',
'src/main/codex/codex-structured-journal-turn-settles-once-journal.test.ts',
'src/main/ipc/repos/folder-workspace-attachment-handlers.test.ts',
'src/main/ipc/ssh/ssh-host-server-on-connect-wiring.test.ts',
'src/main/native-chat/agent-session-attachments/agent-session-attachment-claims.test.ts',
'src/main/native-chat/agent-session-attachments/agent-session-attachment-sweep.test.ts',
'src/main/native-chat/agent-session-wire/agent-session-bounded-frames.test.ts',
'src/main/native-chat/agent-session-wire/agent-session-history-byte-accounting.test.ts',
'src/main/native-chat/agent-session-wire/agent-session-history-conversation-window.test.ts',
'src/main/native-chat/agent-session-wire/agent-session-history-forward-read-budget.test.ts',
'src/main/native-chat/agent-session-wire/agent-session-history-page.test.ts',
'src/main/native-chat/agent-session-wire/agent-session-stop-note-projection.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-accept-then-deliver.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-acquire-isolation.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-adopted-import.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-append-delivery.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-at-rest-commands.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-attach-reconciliation.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-attachment-admission.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-background-stop-unreadable.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-claude-compact-stop.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-claude-echo-working.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-claude-hung-start-stop.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-claude-opening-send-hold.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-claude-queued-stop.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-claude-root-exit.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-claude-stop-ends-session.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-claude-stop-exit-ends-record.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-claude-subagent-row.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-claude-stop-note-end.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-claude-stop-turn-end.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-close-aborts-start.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-close-verdict.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-codex-stop-note-end.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-codex-stop-row.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-command-publication.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-conversation-stop.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-conversations.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-crash-mid-start.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-crash-turn-end.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-create-adoption.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-create.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-dead-generation-settlement.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-event-sink.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-failed-create-owner-verdict.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-current-work.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-forget-status.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-fork-rewind.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-held-child-lease-renewal.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-host-runtime-state.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-host.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-idle-sweep.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-journal-corruption.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-late-proof-tool-ends.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-late-settlement.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-lease-renewer.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-exit-delivery.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-ended-prompt-cancel.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-legacy-handoff-record.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-live-turn-window.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-message-choices.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-newer-content-host.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-send-options.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-owed-work-release.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-processless-reservation.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-prompt-answer-receipts.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-prompt-cancel.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-provider-open.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-ready-operation-order.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-queued-action-receipts.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-queued-gate.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-queued-messages.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-queued-newer-orca.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-queued-pause-lift.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-queued-repeat-press.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-read-restore.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-readable-restorer.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-reasoning-sweep.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-recovered-turn-clock.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-recovery-exits.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-recovery-resolution.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-repeated-stop.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-resend-answer.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-replaced-server-turn.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-resend-ledger-refusal.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-resolved-append.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-resumed-child-owner.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-restart-offer-newer-orca.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-restart-offer-withdrawal.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-restart-provider-output.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-restart-recovery-output.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-restart-restore.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-restart-stream-duration.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-rewind-at-rest.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-rewind-live-send.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-rewind-provenance.test.ts',
'src/main/native-chat/agent-session-wire/structured-rewind-cut.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-rewind.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-clear-rewind.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-send-idempotency.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-send-open-stale-turn.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-send.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-send-restarts-failed-start.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-shutdown-cut-row.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-stale-turn-verdict.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-stale-turn-open.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-start-admission.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-start-failure-writer.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-startup-attempt-host.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-startup-attempt-registrations.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-startup-reconcile-failure.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-status-feed-child-work.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-status-feed-child.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-status-feed-children.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-status-feed-clock.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-status-feed-launch-directory.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-status-feed-stopping.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-status-feed.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-status-reentry.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-stop-note-opened-turn.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-stop-note-withdrawn-send.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-stop-receipts.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-stopping-journal.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-subagent-recency.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-subagent-rows.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-subscriber-background-tasks.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-subscribers.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-target-reconcile.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-thread-goal.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-transition.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-turns.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-unnamed-stop-races.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-unopened-tab.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-unsent-send-hold.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-view-start-after-failed-start.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-wedged-profile-migration.test.ts',
'src/main/native-chat/agent-session-wire/structured-agent-session-wire-admission.test.ts',
'src/main/native-chat/agent-session-wire/structured-conversation-command.test.ts',
'src/main/opencode/opencode-acp-stored-messages.test.ts',
'src/main/orcad/orcad-automations.test.ts',
'src/main/orcad/orcad-local-serve-selection.test.ts',
'src/main/orcad/orcad-managed-idle-exit-chat-provider.test.ts',
'src/main/orcad/serve-profile-ssh-targets.test.ts',
'src/main/pi/rpc-launch-resolution.test.ts',
'src/main/runtime/agent-session-conversation-clear-commit.test.ts',
'src/main/runtime/agent-session-conversation-name-store.test.ts',
'src/main/runtime/agent-session-death-evidence-persistence.test.ts',
'src/main/runtime/agent-session-launch-directory.test.ts',
'src/main/runtime/agent-session-launch-env-admission.test.ts',
'src/main/runtime/agent-session-lease-renewal.test.ts',
'src/main/runtime/agent-session-record-store-tab-table.test.ts',
'src/main/runtime/agent-session-record-store.test.ts',
'src/main/runtime/agent-session-permission-backfill.test.ts',
'src/main/runtime/agent-session-released-reservation-replay.test.ts',
'src/main/runtime/agent-session-runtime-attribution.test.ts',
'src/main/runtime/agent-session-store-transactions.test.ts',
'src/main/runtime/agent-session-unsaved-creation-supersession.test.ts',
'src/main/runtime/automation-change-publication.test.ts',
'src/main/runtime/host-terminal-close-persistence-durability.test.ts',
'src/main/runtime/orca-runtime-terminal-close-records.test.ts',
'src/main/runtime/orca-runtime-terminal-surface-close.test.ts',
'src/main/runtime/runtime-terminal-orphan-adoption-rollback.test.ts',
'src/main/runtime/orchestration/mailbox-owner.test.ts',
'src/main/runtime/orchestration/orchestration-party-location.test.ts',
'src/main/runtime/orchestration/structured-worker-journal-page.test.ts',
'src/main/runtime/rpc/methods/agent-launch-at-rest.test.ts',
'src/main/runtime/rpc/methods/agent-launch-caller-selection.test.ts',
'src/main/runtime/rpc/methods/orchestration/federation/federation-agent-death-liveness.test.ts',
'tests/e2e/agent-launch-cli.unit.test.ts',
'src/main/runtime/rpc/methods/agent-launch-folder-workspace-create.test.ts',
'src/main/runtime/rpc/methods/agent-launch-instant-tab.test.ts',
'src/main/runtime/orca-runtime.test.ts',
'src/main/runtime/worktree-agent-first-surface.test.ts',
'tests/e2e/agent-launch-setup-choice.unit.test.ts',
'src/main/runtime/rpc/methods/agent-launch-pane-reservation.test.ts',
'src/main/runtime/rpc/methods/agent-launch-prestart-failure.test.ts',
'src/main/runtime/rpc/methods/agent-launch-replay.test.ts',
'src/main/runtime/rpc/methods/agent-launch-session-reservation.test.ts',
'src/main/runtime/rpc/methods/structured-agent-session-adoption-replay.test.ts',
'src/main/runtime/rpc/methods/structured-agent-session-at-rest.test.ts',
'src/main/runtime/rpc/methods/structured-agent-session-close-before-create.test.ts',
'src/main/runtime/rpc/methods/structured-agent-session-create-message.test.ts',
'src/main/runtime/rpc/methods/structured-agent-session-options-workspace-scope.test.ts',
'src/main/runtime/rpc/methods/structured-agent-session-restart-unregistered-agent.test.ts',
'src/main/runtime/rpc/methods/structured-agent-session-unsubscribe.test.ts',
'src/main/runtime/rpc/methods/structured-chat-tab-table.test.ts',
'src/main/runtime/runtime-managed-worktree-metadata-sweep.test.ts',
'src/main/runtime/runtime-orchestration-sender-names.test.ts',
'src/main/runtime/runtime-worktree-agent-rows-verdict.test.ts',
'src/main/runtime/runtime-worktree-structured-agent-rows-liveness.test.ts',
'src/main/runtime/structured-agent-session-codex-interrupt-order.test.ts',
'src/main/runtime/structured-agent-session-codex-opening-send-hold.test.ts',
'src/main/runtime/runtime-client-agent-launch-settings-durability.test.ts',
'src/main/runtime/structured-agent-session-codex-scripted-child.test.ts',
'src/main/runtime/structured-agent-session-codex-start-deadline.test.ts',
'src/main/runtime/structured-agent-session-pi-startup.test.ts',
'src/main/runtime/structured-agent-session-pi-signed-out-start.test.ts',
'src/main/runtime/structured-agent-session-adapter-start-failure.test.ts',
'src/main/runtime/structured-agent-session-provider-operations-while-starting.test.ts',
'src/main/runtime/structured-agent-session-codex-settlement-order.test.ts',
'src/main/runtime/structured-agent-session-integration-replay.test.ts',
'src/main/runtime/structured-agent-session-integration.test.ts',
'src/main/runtime/structured-agent-session-mobile-restore.test.ts',
'src/main/runtime/structured-agent-session-paired-caller.test.ts',
'src/main/runtime/structured-agent-session-rollback-compatibility.test.ts',
'src/main/runtime/structured-agent-session-spawn-token-descendants.test.ts',
'src/main/runtime/structured-agent-session-startup-reconcile.test.ts',
'src/main/runtime/structured-claude-attachment-grant.test.ts',
'src/main/runtime/structured-claude-pending-rewind.test.ts',
'src/main/runtime/structured-foreground-command-strip.test.ts',
'src/main/ssh-expired-lease-pane-readoption.test.ts',
'src/main/ssh-reattach-pane-cardinality.test.ts',
'src/main/ssh/legacy-relay/legacy-relay-cli-call-limits.test.ts',
'src/main/ssh/legacy-relay/legacy-relay-cli-legacy-records.test.ts',
'src/main/ssh/legacy-relay/legacy-relay-cli-server.test.ts',
'src/main/ssh/orcad-migration-cutover-coordinator.test.ts',
'src/main/ssh/orcad-migration-delta-move.test.ts',
'src/main/ssh/orcad-migration-delta-snapshot.test.ts',
'src/main/ssh/orcad-migration-repository-link.test.ts',
'src/main/ssh/orcad-migration-snapshot-resume.test.ts',
'src/main/ssh/orcad-migration-source-fence.test.ts',
'src/main/ssh/orcad-migration-ssh-relay-source.test.ts',
'src/main/ssh/orcad-migration-stuck-host-profiles.test.ts',
'src/main/managed-server/lifecycle/orcad-runtime-conversion.test.ts',
'src/main/ssh/orcad-unreachable-setup-release.test.ts',
'src/main/ssh/targets/ssh-target-orcad-preflight.test.ts',
'src/main/worktree-identity-persistence.test.ts',
'src/main/worktree-removal-close-records.test.ts',
'src/main/worktree-removal-session-partition-fencing.test.ts',
'tests/e2e/codex-child-approval-activity-row.unit.test.ts',
'tests/e2e/cross-version-wire/agent-session-newer-chat-refusal.unit.test.ts',
'tests/e2e/cross-version-wire/agent-session-stop-event-downgrade.unit.test.ts',
'tests/e2e/cross-version-wire/cross-version-agent-session-wire.unit.test.ts',
'tests/e2e/cross-version-wire/submission-positions-downgrade.unit.test.ts',
'tests/e2e/folder-upgrade-identity-persistence.unit.test.ts',
'tests/e2e/host-agent-launch-settings-hook-bookkeeping.unit.test.ts',
'tests/e2e/structured-agent-session-read-owner.unit.test.ts',
'tests/e2e/structured-chat-owner-status-activation.unit.test.ts'
]