mirror of
https://github.com/stablyai/orca.git
synced 2026-10-30 16:47:34 +00:00
* Skip reindexing unchanged transcripts on cold session list reads A cold session-list read re-parsed every self-contained transcript and rewrote its search rows, even when nothing had changed. That wasted work and churned the index on every list. - When a transcript's stat (mtime, size, inode, device) matches a complete index entry, the list read now skips the rewrite. Agents with sidecar metadata, unknown sizes, or partial or stale entries still reread. - Test fixtures that replay a "changed" transcript now pass a new mtime so they still exercise the replace path. - New tests cover unchanged skips, changed size/mtime/file identity, sidecar refresh, due/failed repair, and append. - Dependent-transcript and Codex title tests check that cold rereads keep search and title data current. * Make the self-contained transcript check exhaustive over every agent - Replace the hand-maintained `Set` of self-contained agents with a `Record<AiVaultAgent, boolean>`, so adding an agent type fails typecheck until someone decides whether its transcript is self-contained. - Classification is unchanged: the agents that were in the set are `true`, and the rest are `false` with a short note on the sidecar or metadata source they depend on. - Make the replace-generation tests derive the second mtime from the first candidate instead of a hard-coded timestamp, so they stay valid if the default fixture mtime changes. * Guard file-stat reuse with a self-contained transcript test Indexing skips reparsing unchanged transcripts for agents marked self-contained. That is only safe if their parsers read nothing but the transcript itself, and nothing enforced it. A parser that started reading a sidecar or dependency file could serve stale index entries. - Export SELF_CONTAINED_TRANSCRIPT_AGENTS so the test checks the real list - Add a test that parses each self-contained agent's fixture, both direct and cached, and fails if any file other than the transcript is read - Register the test in the SQLite runtime-file include list * Require stored file identity before skipping a transcript rewrite - Rows with a NULL dev or ino were treated as covered, so a file replaced with the same size and mtime could be skipped and never reindexed. - Such rows now count as uncovered, so the rewrite runs and records the identity. - The identity is read through the shared `fileIdentity` helper instead of the raw file fields. * Add regression test for session rows indexed without file identity A session row indexed before file identity (dev/ino) was recorded was never reread once the stat began supplying one, so it could keep stale search content. This test covers that case: the first read with identity replaces the row, and a second read with the same identity leaves it alone.
210 lines
15 KiB
JavaScript
210 lines
15 KiB
JavaScript
// Database opening and lifecycle fixtures exercise Node SQLite behavior.
|
|
export const SQLITE_DATABASE_RUNTIME_INCLUDE = [
|
|
'src/main/ai-vault-search/session-search-dependent-transcripts.test.ts',
|
|
'src/main/ai-vault-search/session-search-file-write.test.ts',
|
|
'src/main/ai-vault-search/session-search-live-transcript.test.ts',
|
|
'src/main/ai-vault-search/session-search-list-reparse.test.ts',
|
|
'src/main/ai-vault-search/session-search-transcript-dependencies.test.ts',
|
|
'src/main/ai-vault/session-scanner-devin-contention.test.ts',
|
|
'src/main/ai-vault/session-scanner-opencode-native-worker.test.ts',
|
|
'src/main/ai-vault/session-scanner-opencode-sqlite-bounds.test.ts',
|
|
'src/main/ai-vault/session-scanner-opencode-sqlite-coexistence.test.ts',
|
|
'src/main/ai-vault/session-scanner-opencode-sqlite-open.test.ts',
|
|
'src/main/ai-vault/session-scanner-opencode-sqlite-process.test.ts',
|
|
'src/main/ai-vault/session-scanner-opencode-sqlite.test.ts',
|
|
'src/main/ai-vault/session-scanner-opencode2-sqlite.test.ts',
|
|
'src/main/ai-vault/session-scanner-zcode.test.ts',
|
|
'src/main/codex/codex-account-session-bridge.test.ts',
|
|
'src/main/codex/codex-index-heal-binary-contract.test.ts',
|
|
'src/main/codex/codex-state-db.test.ts',
|
|
'src/main/native-chat/agent-session-wire/structured-agent-session-queued-stop-row.test.ts',
|
|
'src/main/native-chat/structured-agent-cli-conversation-adoption.test.ts',
|
|
'src/main/native-chat/transcript-opencode-semantic-fidelity.test.ts',
|
|
'src/main/native-chat/transcript-opencode-sqlite-query.test.ts',
|
|
'src/main/native-chat/transcript-opencode-subscribe.test.ts',
|
|
'src/main/native-chat/transcript-zcode.test.ts',
|
|
'src/main/native-chat/transcript-opencode2-sqlite.test.ts',
|
|
'src/main/opencode-usage/cache-read-reproduction.test.ts',
|
|
'src/main/opencode-usage/opencode2-session-usage.test.ts',
|
|
'src/main/opencode-usage/scanner-windows-data-directory.test.ts',
|
|
'src/main/opencode-usage/scanner.test.ts',
|
|
'src/main/rate-limits/opencode-go-api-key-source.test.ts',
|
|
'src/main/rate-limits/opencode-go-managed-account-source.test.ts',
|
|
'src/main/runtime/agent-session-record-store-slot.test.ts',
|
|
'src/main/runtime/claude-structured-exit-mid-response.test.ts',
|
|
'src/main/runtime/claude-structured-failed-start-resume.test.ts',
|
|
'src/main/runtime/claude-structured-resumed-start-failure.test.ts',
|
|
'src/main/runtime/claude-structured-send-during-startup.test.ts',
|
|
'src/main/runtime/claude-structured-send-restart-dies-before-dispatch.test.ts',
|
|
'src/main/runtime/claude-structured-session-integration.test.ts',
|
|
'src/main/runtime/claude-structured-startup-fault-is-not-an-exit.test.ts',
|
|
'src/main/runtime/exit-provenance-audit.test.ts',
|
|
'src/main/runtime/orchestration-cli-subprocess.test.ts',
|
|
'src/main/runtime/orchestration-dispatch-mailbox-delivery.test.ts',
|
|
'src/main/runtime/orchestration-mailbox-crash-recovery.test.ts',
|
|
'src/main/runtime/orchestration-mailbox-notification-consistency.test.ts',
|
|
'src/main/runtime/orchestration-message-delivery-identity.test.ts',
|
|
'src/main/runtime/orchestration-messages-fake-parity.test.ts',
|
|
'src/main/runtime/orchestration/agent-facing-parity.test.ts',
|
|
'src/main/runtime/orchestration/coordinator-decision-gates.test.ts',
|
|
'src/main/runtime/orchestration/coordinator-dispatch-unobserved-prompt.test.ts',
|
|
'src/main/runtime/orchestration/coordinator-drift-probe-coalescing.test.ts',
|
|
'src/main/runtime/orchestration/coordinator-escalation-triage.test.ts',
|
|
'src/main/runtime/orchestration/coordinator-terminal-census-unavailable.test.ts',
|
|
'src/main/runtime/orchestration/coordinator.test.ts',
|
|
'src/main/runtime/orchestration/db-empty-dispatch-shortcircuit.benchmark.test.ts',
|
|
'src/main/runtime/orchestration/db-heartbeat-straggler-guard.test.ts',
|
|
'src/main/runtime/orchestration/db-message-timestamp.test.ts',
|
|
'src/main/runtime/orchestration/db-messages.test.ts',
|
|
'src/main/runtime/orchestration/db-stopping-worker-task-guard.test.ts',
|
|
'src/main/runtime/orchestration/db-task-create-readiness.test.ts',
|
|
'src/main/runtime/orchestration/db-task-dispatch-invariant.test.ts',
|
|
'src/main/runtime/orchestration/db-task-dispatch-lifecycle-guards.test.ts',
|
|
'src/main/runtime/orchestration/db-task-dispatch-races.test.ts',
|
|
'src/main/runtime/orchestration/db-task-promotion-projection.test.ts',
|
|
'src/main/runtime/orchestration/db-undelivered-mailboxes.test.ts',
|
|
'src/main/runtime/orchestration/db.test.ts',
|
|
'src/main/runtime/orchestration/db/attempt-outcome-projection.test.ts',
|
|
'src/main/runtime/orchestration/db/decision-gate-lifecycle.test.ts',
|
|
'src/main/runtime/orchestration/db/dispatch-depth.test.ts',
|
|
'src/main/runtime/orchestration/db/dispatch-mailbox-consumer-fencing.test.ts',
|
|
'src/main/runtime/orchestration/db/federation/federated-dispatch-observation-fence.test.ts',
|
|
'src/main/runtime/orchestration/db/federation/remote-dispatch-attachment-release.test.ts',
|
|
'src/main/runtime/orchestration/db/hot-path-statement-compilation.test.ts',
|
|
'src/main/runtime/orchestration/db/lifecycle-transition.test.ts',
|
|
'src/main/runtime/orchestration/db/messages/mailbox-consumer-lifecycle-fencing.test.ts',
|
|
'src/main/runtime/orchestration/db/remaining-dispatch-statement-compilation.test.ts',
|
|
'src/main/runtime/orchestration/db/row-column-lists.test.ts',
|
|
'src/main/runtime/orchestration/db/runs/run-coordinator-orca-session-binding.test.ts',
|
|
'src/main/runtime/orchestration/db/schema/derived-delivery-migration.test.ts',
|
|
'src/main/runtime/orchestration/db/schema/federated-home-run-migration.test.ts',
|
|
'src/main/runtime/orchestration/db/schema/structured-pointer-schema-migration.test.ts',
|
|
'src/main/runtime/orchestration/db/schema/structured-worker-orca-session-backfill.test.ts',
|
|
'src/main/runtime/orchestration/db/worker-dispatch/failed-start-circuit-breaker.test.ts',
|
|
'src/main/runtime/orchestration/db/worker-dispatch/worker-dispatch-abandon.test.ts',
|
|
'src/main/runtime/orchestration/db/worker-dispatch/worker-dispatch-assignee-orca-session.test.ts',
|
|
'src/main/runtime/orchestration/db/writer-run-required.test.ts',
|
|
'src/main/runtime/orchestration/dispatch-consumer-generation-migration.test.ts',
|
|
'src/main/runtime/orchestration/dispatch-creator-identity-migration.test.ts',
|
|
'src/main/runtime/orchestration/dispatch-failure-idempotency.test.ts',
|
|
'src/main/runtime/orchestration/federation-acknowledgment-integrity.test.ts',
|
|
'src/main/runtime/orchestration/federation-acknowledgment-migration.test.ts',
|
|
'src/main/runtime/orchestration/federation-sync.test.ts',
|
|
'src/main/runtime/orchestration/lifecycle-caller-edges.test.ts',
|
|
'src/main/runtime/orchestration/lifecycle-reconciliation.test.ts',
|
|
'src/main/runtime/orchestration/lightweight-run-worker-exit-escalation.test.ts',
|
|
'src/main/runtime/orchestration/mailbox-pointer-eligibility.test.ts',
|
|
'src/main/runtime/orchestration/mailbox-pointer-release-query.test.ts',
|
|
'src/main/runtime/orchestration/mailbox-pointer-stage.test.ts',
|
|
'src/main/runtime/orchestration/mailbox-pointer-submit.test.ts',
|
|
'src/main/runtime/orchestration/message-batch-atomicity.test.ts',
|
|
'src/main/runtime/orchestration/mutation-receipt-capacity.test.ts',
|
|
'src/main/runtime/orchestration/nested-worker-depth-migration.test.ts',
|
|
'src/main/runtime/orchestration/orchestration-adopted-run-binding.test.ts',
|
|
'src/main/runtime/orchestration/orchestration-all-start-versions-migration.test.ts',
|
|
'src/main/runtime/orchestration/orchestration-creator-authority-performance.test.ts',
|
|
'src/main/runtime/orchestration/orchestration-db-permissions.test.ts',
|
|
'src/main/runtime/orchestration/orchestration-delivery-consumption.test.ts',
|
|
'src/main/runtime/orchestration/orchestration-derived-delivery.test.ts',
|
|
'src/main/runtime/orchestration/orchestration-federated-legacy-probe.test.ts',
|
|
'src/main/runtime/orchestration/orchestration-legacy-coordinator-authority-db.test.ts',
|
|
'src/main/runtime/orchestration/orchestration-legacy-question-migration-db.test.ts',
|
|
'src/main/runtime/orchestration/orchestration-legacy-storage-db.test.ts',
|
|
'src/main/runtime/orchestration/orchestration-mutation-question-db.test.ts',
|
|
'src/main/runtime/orchestration/orchestration-orca-session-column-migration.test.ts',
|
|
'src/main/runtime/orchestration/orchestration-party-location.test.ts',
|
|
'src/main/runtime/orchestration/orchestration-reset-db.test.ts',
|
|
'src/main/runtime/orchestration/orchestration-run-delivery-db.test.ts',
|
|
'src/main/runtime/orchestration/orchestration-run-list-compatibility.test.ts',
|
|
'src/main/runtime/orchestration/orchestration-version-skew-migration.test.ts',
|
|
'src/main/runtime/orchestration/orchestration-worker-dispatch-db.test.ts',
|
|
'src/main/runtime/orchestration/r1-identity-migration.test.ts',
|
|
'src/main/runtime/orchestration/run-coordinator-handle-migration.test.ts',
|
|
'src/main/runtime/orchestration/run-coordinator-orca-session-address.test.ts',
|
|
'src/main/runtime/orchestration/settled-question-threads-migration.test.ts',
|
|
'src/main/runtime/orchestration/worker-dispatch-repair-safety.test.ts',
|
|
'src/main/runtime/orchestration/worker-dispatch-settlement.test.ts',
|
|
'src/main/runtime/orchestration/worker-start-unobserved-prompt-settlement.test.ts',
|
|
'src/main/runtime/rpc/methods/agent-launch-instant-tab.test.ts',
|
|
'src/main/runtime/rpc/methods/agent-launch-restart-replay.test.ts',
|
|
'src/main/runtime/rpc/methods/native-chat-opencode-semantic-pages.test.ts',
|
|
'src/main/runtime/rpc/methods/native-chat-opencode-wire-page-budget.test.ts',
|
|
'src/main/runtime/rpc/methods/orchestration-dispatch-error-codes.test.ts',
|
|
'src/main/runtime/rpc/methods/orchestration-structured-worker-redrive.test.ts',
|
|
'src/main/runtime/rpc/methods/orchestration-worker-mode-opacity.test.ts',
|
|
'src/main/runtime/rpc/methods/orchestration-worker-release-incarnation-fallback.test.ts',
|
|
'src/main/runtime/rpc/methods/orchestration-worker-start-mode-selection.test.ts',
|
|
'src/main/runtime/rpc/methods/orchestration/federation/federated-message-targeting.test.ts',
|
|
'src/main/runtime/rpc/methods/orchestration/federation/federated-release-safety.test.ts',
|
|
'src/main/runtime/rpc/methods/orchestration/federation/federated-worker-start-receipt.test.ts',
|
|
'src/main/runtime/rpc/methods/orchestration/federation/federation-agent-launch.test.ts',
|
|
'src/main/runtime/rpc/methods/orchestration/federation/federation-control-mail.test.ts',
|
|
'src/main/runtime/rpc/methods/orchestration/federation/federation-folder-placement.test.ts',
|
|
'src/main/runtime/rpc/methods/orchestration/federation/federation-launched-agent-readiness.test.ts',
|
|
'src/main/runtime/rpc/methods/orchestration/federation/federation-lifecycle-settlement.test.ts',
|
|
'src/main/runtime/rpc/methods/orchestration/federation/federation-liveness-verdict.test.ts',
|
|
'src/main/runtime/rpc/methods/orchestration/federation/federation-output.test.ts',
|
|
'src/main/runtime/rpc/methods/orchestration/federation/federation-setup.test.ts',
|
|
'src/main/runtime/rpc/methods/orchestration/federation/federation-start-prompt-budget.test.ts',
|
|
'src/main/runtime/rpc/methods/orchestration/federation/federation-worker-brief-agent-in-front.test.ts',
|
|
'src/main/runtime/rpc/methods/orchestration/federation/federation.test.ts',
|
|
'src/main/runtime/rpc/methods/orchestration/messaging/check-worker-federated-attachment.test.ts',
|
|
'src/main/runtime/rpc/methods/orchestration/runs/migration-behavior.test.ts',
|
|
'src/main/runtime/rpc/methods/orchestration/worker/agent-status-producer-census.test.ts',
|
|
'src/main/runtime/rpc/methods/orchestration/worker/failed-start-retry-release.test.ts',
|
|
'src/main/runtime/rpc/methods/orchestration/worker/manual-dispatch-observation.test.ts',
|
|
'src/main/runtime/rpc/methods/orchestration/worker/manual-dispatch-release.test.ts',
|
|
'src/main/runtime/rpc/methods/orchestration/worker/worker-interactive-wait.test.ts',
|
|
'src/main/runtime/rpc/methods/orchestration/worker/worker-list-pagination.test.ts',
|
|
'src/main/runtime/rpc/methods/orchestration/worker/worker-release-recovery.test.ts',
|
|
'src/main/runtime/rpc/methods/orchestration/worker/worker-start-prompt-contract.test.ts',
|
|
'src/main/runtime/rpc/methods/orchestration/worker/worker-stop-liveness-verdict.test.ts',
|
|
'src/main/runtime/rpc/methods/orchestration/worker/worker-terminal-custody-at-creation.test.ts',
|
|
'src/main/runtime/rpc/methods/orchestration/worker/workers-new-worktree.test.ts',
|
|
'src/main/runtime/rpc/methods/orchestration/worker/workers-recovery.test.ts',
|
|
'src/main/runtime/rpc/methods/structured-worker-stop-receipt.test.ts',
|
|
'src/main/runtime/rpc/orchestration-11745-regression-verification.test.ts',
|
|
'src/main/runtime/rpc/orchestration-commit-notify-characterization.test.ts',
|
|
'src/main/runtime/rpc/orchestration-contract-fence.test.ts',
|
|
'src/main/runtime/rpc/orchestration-legacy-coordinator-race.test.ts',
|
|
'src/main/runtime/rpc/orchestration-legacy-question-takeover.test.ts',
|
|
'src/main/runtime/rpc/orchestration-legacy-takeover-delivery.test.ts',
|
|
'src/main/runtime/rpc/orchestration-legacy-takeover-dispatcher.test.ts',
|
|
'src/main/runtime/rpc/orchestration-mutation-executor.test.ts',
|
|
'src/main/runtime/rpc/orchestration-mutation-ledger.test.ts',
|
|
'src/main/runtime/rpc/orchestration-mutation-request-show.test.ts',
|
|
'src/main/runtime/rpc/orchestration-runtime-update-settlement.test.ts',
|
|
'src/main/runtime/rpc/orchestration-task-dispatch-invariant.test.ts',
|
|
'src/main/runtime/rpc/terminal-prompt-delivery-receipt.test.ts',
|
|
'src/main/runtime/runtime-orchestration-sender-names.test.ts',
|
|
'src/main/runtime/runtime-rpc-long-poll-transport.test.ts',
|
|
'src/main/runtime/runtime-orchestration-sender-names.test.ts',
|
|
'src/main/runtime/runtime-rpc-orchestration-db-migration.test.ts',
|
|
'src/main/runtime/runtime-rpc-request-authorization.test.ts',
|
|
'src/main/runtime/runtime-rpc-websocket-long-poll-caps.test.ts',
|
|
'src/main/runtime/settled-worker-process-replacement.test.ts',
|
|
'src/main/runtime/structured-agent-launch-args-wiring.test.ts',
|
|
'src/main/runtime/structured-agent-session-codex-compact-exit.test.ts',
|
|
'src/main/runtime/structured-agent-session-codex-stopped-send-order.test.ts',
|
|
'src/main/runtime/structured-agent-session-codex-turn-end-settlement.test.ts',
|
|
'src/main/runtime/structured-agent-session-failure-logging.test.ts',
|
|
'src/main/runtime/structured-agent-session-held-signal.test.ts',
|
|
'src/main/runtime/structured-agent-session-host-refusal.test.ts',
|
|
'src/main/runtime/structured-agent-session-install-failure.test.ts',
|
|
'src/main/runtime/structured-agent-session-legacy-send-behind-command.test.ts',
|
|
'src/main/runtime/structured-agent-session-mobile-restore.test.ts',
|
|
'src/main/runtime/structured-agent-session-runtime-exit.test.ts',
|
|
'src/main/runtime/structured-agent-session-runtime-provider-started.test.ts',
|
|
'src/main/runtime/structured-agent-session-runtime.test.ts',
|
|
'src/main/runtime/structured-child-records-switch.test.ts',
|
|
'src/main/runtime/structured-claude-auth-policy-wiring.test.ts',
|
|
'src/main/runtime/structured-codex-child-work-runtime.test.ts',
|
|
'src/main/runtime/structured-worker-at-rest.test.ts',
|
|
'src/main/runtime/worker-terminal-archive-release.test.ts',
|
|
'src/main/runtime/worker-terminal-archive-screen.test.ts',
|
|
'src/main/runtime/worker-terminal-wrap-provenance.test.ts',
|
|
'tests/e2e/completed-worker-retirement-resume.unit.test.ts',
|
|
'tests/e2e/cross-version-wire/agent-session-clear-old-client.unit.test.ts',
|
|
'tests/e2e/cross-version-wire/agent-session-clear-old-tab-mirror.unit.test.ts'
|
|
]
|