Orca is the ADE for working with a fleet of parallel agents. Run any coding agent with your own subscription. Available on desktop and mobile.
This report presents the forensic synthetic code analysis of stablyai/orca, a TypeScript project with 18,844 GitHub stars. SynthScan v2.0 examined 1,956,821 lines of code across 8059 source files, recording 10437 pattern matches distributed across 15 syntactic categories. The overall adjusted score of 6.2 places this repository in the Low AI signal band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 10437 distinct pattern matches across 15 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | electron.vite.config.ts | 37 | function createStartupDiagnosticsBanner(chunkName: string): string { | CODE |
| LOW | electron.vite.config.ts | 151 | function createStartupDiagnosticsBootstrapPlugin() { | CODE |
| LOW | build-plugins/plain-node-entry-guard.ts | 98 | export function createPlainNodeEntryGuardPlugin(): Plugin { | CODE |
| LOW | native/computer-use-linux/runtime.py | 349 | def render_accessibility_tree(root, window_rect, root_path, compact_browser_tabs=False): | CODE |
| LOW | native/computer-use-linux/runtime.py | 444 | def compact_rendered_browser_tabs(records, lines, start_line, depth): | CODE |
| LOW | native/computer-use-linux/runtime.py | 478 | def is_direct_rendered_browser_tab_line(line, depth): | CODE |
| LOW | native/computer-use-linux/runtime.py | 488 | def is_active_rendered_browser_tab_line(line, depth, records_by_index): | CODE |
| LOW | tests/e2e/terminal-pty-readiness.ts | 20 | export async function getTerminalContentForPtyId( | CODE |
| LOW | …2e/terminal-document-visibility-webgl-recovery.spec.ts | 56 | async function writeStableTerminalContent(page: Page): Promise<void> { | CODE |
| LOW | …2e/terminal-document-visibility-webgl-recovery.spec.ts | 243 | async function tryBrowserWindowVisibilityCycle( | CODE |
| LOW | …2e/terminal-document-visibility-webgl-recovery.spec.ts | 261 | async function dispatchDocumentVisibilityCycle(page: Page): Promise<void> { | CODE |
| LOW | tests/e2e/combined-diff-scroll-restore.spec.ts | 50 | function createCombinedDiffScrollRepo(): CombinedDiffScrollRepo { | CODE |
| LOW | tests/e2e/combined-diff-scroll-restore.spec.ts | 215 | async function waitForStableViewportAnchor(page: Page): Promise<ViewportAnchor> { | CODE |
| LOW | tests/e2e/combined-diff-scroll-restore.spec.ts | 249 | async function waitForRestoredViewportAnchor( | CODE |
| LOW | tests/e2e/combined-diff-scroll-restore.spec.ts | 271 | async function startCombinedDiffScrollProbe(page: Page): Promise<void> { | CODE |
| LOW | tests/e2e/combined-diff-scroll-restore.spec.ts | 303 | async function stopCombinedDiffScrollProbe(page: Page): Promise<ScrollProbeSample[]> { | CODE |
| LOW | tests/e2e/combined-diff-scroll-restore.spec.ts | 339 | function getLargestBackwardScrollJump(samples: readonly ScrollProbeSample[]): number { | CODE |
| LOW | tests/e2e/terminal-panes.spec.ts | 46 | async function setPaneTitleFromTerminalMenu(page: Page, title: string): Promise<void> { | CODE |
| LOW | tests/e2e/terminal-panes.spec.ts | 98 | async function installDelayedTerminalFocusSteals( | CODE |
| LOW | tests/e2e/terminal-panes.spec.ts | 120 | async function readVisibleXtermContainerBox( | CODE |
| LOW | tests/e2e/terminal-panes.spec.ts | 136 | function expectTerminalToReserveTitleSpace( | CODE |
| LOW | tests/e2e/terminal-panes.spec.ts | 146 | async function expectPaneTitleAttachedToLeaf( | CODE |
| LOW | tests/e2e/terminal-panes.spec.ts | 209 | async function expectSavedLayoutNotToContainTitle( | CODE |
| LOW | tests/e2e/ssh-codex-terminal-observers.ts | 13 | export async function waitForRemoteFixtureCleanFinalInHiddenPane( | CODE |
| LOW | tests/e2e/ssh-codex-terminal-observers.ts | 38 | export async function waitForRealRemoteCodexCompletion( | CODE |
| LOW | tests/e2e/ssh-codex-terminal-observers.ts | 68 | export async function clearRemoteTerminalAfterCodex( | CODE |
| LOW | tests/e2e/ssh-codex-terminal-observers.ts | 83 | export async function waitForRealRemoteCodexBackgroundStatus(page: Page): Promise<void> { | CODE |
| LOW | tests/e2e/ssh-codex-terminal-observers.ts | 112 | export async function scrollActiveTerminalToArtifactHistory(page: Page): Promise<void> { | CODE |
| LOW | tests/e2e/ssh-codex-terminal-observers.ts | 134 | export async function stressRestoreRemoteTerminalDuringCodex( | CODE |
| LOW | tests/e2e/setup-script-import.spec.ts | 128 | async function openImportedSetupSettingsFromToast(page: Page, repoId: string): Promise<Locator> { | CODE |
| LOW | tests/e2e/setup-script-import.spec.ts | 141 | async function expectSettingsCommandValue( | CODE |
| LOW | tests/e2e/computer-mac-safari.e2e.ts | 173 | async function safariFixtureWindowTargetArgs(title: string): Promise<string[]> { | CODE |
| LOW | tests/e2e/worktree-smart-sort.spec.ts | 16 | async function getVisibleWorktreeIdsByTop(page: Page): Promise<string[]> { | CODE |
| LOW | tests/e2e/worktree-smart-sort.spec.ts | 177 | async function getSmartSortScenarioReadiness( | CODE |
| LOW | tests/e2e/markdown-prose-reflow.spec.ts | 102 | async function placeCaretAtGoalParagraphEnd( | CODE |
| LOW | …s/e2e/floating-workspace-reopen-webgl-recovery.spec.ts | 27 | async function enableFloatingWorkspaceWithWebgl(page: Page): Promise<void> { | CODE |
| LOW | …s/e2e/floating-workspace-reopen-webgl-recovery.spec.ts | 253 | async function instrumentRecoveryCounters(page: Page): Promise<boolean> { | CODE |
| LOW | …s/e2e/floating-workspace-reopen-webgl-recovery.spec.ts | 292 | async function screenshotFloatingTerminal(page: Page): Promise<Buffer> { | CODE |
| LOW | …s/e2e/floating-workspace-reopen-webgl-recovery.spec.ts | 320 | async function setUpCorruptedFloatingTerminal( | CODE |
| LOW | tests/e2e/setup-guide-sidebar.spec.ts | 68 | async function setActiveViewForFlashProbe( | CODE |
| LOW | tests/e2e/setup-guide-sidebar.spec.ts | 79 | async function installBlockedCompletedCapabilityFakes( | CODE |
| LOW | tests/e2e/setup-guide-sidebar.spec.ts | 150 | async function releaseBlockedSkillDiscovery(electronApp: ElectronApplication): Promise<void> { | CODE |
| LOW | tests/e2e/setup-guide-sidebar.spec.ts | 188 | async function seedCompletedSetupExceptCapabilityReadiness(page: Page): Promise<void> { | CODE |
| LOW | tests/e2e/setup-guide-sidebar.spec.ts | 327 | async function startSetupGuideFlashMonitor(page: Page): Promise<void> { | CODE |
| LOW | tests/e2e/setup-guide-sidebar.spec.ts | 378 | async function stopSetupGuideFlashMonitor(page: Page): Promise<number[]> { | CODE |
| LOW | …sts/e2e/terminal-reveal-stale-pty-resize-repro.spec.ts | 129 | async function closeRightSidebarAndFeatureTips(page: Page): Promise<void> { | CODE |
| LOW | …sts/e2e/terminal-reveal-stale-pty-resize-repro.spec.ts | 172 | async function driveHiddenResizeRevealCycles(args: CycleDriverArgs): Promise<CycleFailure[]> { | CODE |
| LOW | …ts/e2e/terminal-raw-emoji-table-scroll-restore.spec.ts | 64 | function rawEmojiFixtureBoxTableScript(table: string, runId: string): string { | CODE |
| LOW⚡ | …ts/e2e/terminal-raw-emoji-table-scroll-restore.spec.ts | 174 | function rawEmojiFixtureCompletionMarker(runId: string): string { | CODE |
| LOW⚡ | …ts/e2e/terminal-raw-emoji-table-scroll-restore.spec.ts | 178 | function rawEmojiFixtureFrameTailMarker(runId: string): string { | CODE |
| LOW⚡ | …ts/e2e/terminal-raw-emoji-table-scroll-restore.spec.ts | 182 | async function setWideRenderedTableViewport(page: Page): Promise<void> { | CODE |
| LOW | …ts/e2e/terminal-raw-emoji-table-scroll-restore.spec.ts | 197 | async function waitForActiveTerminalColumns( | CODE |
| LOW | …ts/e2e/terminal-raw-emoji-table-scroll-restore.spec.ts | 222 | async function readTerminalBoxTableWrapDiagnostics(page: Page): Promise<{ | CODE |
| LOW | …ts/e2e/terminal-raw-emoji-table-scroll-restore.spec.ts | 267 | async function readTerminalRightEdgeOverpaint(page: Page): Promise<{ | CODE |
| LOW | …ts/e2e/terminal-raw-emoji-table-scroll-restore.spec.ts | 316 | async function readVisibleSingerRowGeometry(page: Page): Promise<{ | CODE |
| LOW | …ts/e2e/terminal-raw-emoji-table-scroll-restore.spec.ts | 375 | async function readTerminalRenderDiagnostics(page: Page): Promise<{ | CODE |
| LOW | tests/e2e/sustained-agent-typing-load-scripts.ts | 23 | export function sustainedLoadReadyFilePath( | CODE |
| LOW | tests/e2e/sustained-agent-typing-load-scripts.ts | 114 | export function writeSustainedAgentLoadScript( | CODE |
| LOW | tests/e2e/sustained-agent-typing-load-scripts.ts | 128 | export function writeTypingEchoProbeScript( | CODE |
| LOW | …ts/e2e/source-control-commit-draft-persistence.spec.ts | 14 | function createWorktreeWithStagedChange(repoPath: string): E2eWorktree { | CODE |
| 9171 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tests/e2e/terminal-reattach-mouse-mode-leak.spec.ts | 67 | // ── First launch: arm the leak through the real daemon ───────────── | COMMENT |
| MEDIUM | tests/e2e/terminal-reattach-mouse-mode-leak.spec.ts | 141 | // ── Second launch: reattach must disarm the leaked modes ──────────── | COMMENT |
| MEDIUM | tests/e2e/global-setup.ts | 27 | // ── 1. Build the Electron app ────────────────────────────────────── | COMMENT |
| MEDIUM | tests/e2e/global-setup.ts | 56 | // ── 2. Create a seeded test git repo ─────────────────────────────── | COMMENT |
| MEDIUM | tests/e2e/resource-usage-warm-reattach.spec.ts | 61 | // ── First launch: seed a daemon-backed PTY ───────────────────────── | COMMENT |
| MEDIUM | tests/e2e/resource-usage-warm-reattach.spec.ts | 94 | // ── Second launch: verify hydration restored coverage ────────────── | COMMENT |
| MEDIUM | tests/e2e/terminal-restart-persistence.spec.ts | 203 | // ── First launch ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | tests/e2e/terminal-restart-persistence.spec.ts | 225 | // ── Second launch ─────────────────────────────────────────────── | COMMENT |
| MEDIUM | tests/e2e/terminal-restart-persistence.spec.ts | 327 | // ── First launch ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | tests/e2e/terminal-restart-persistence.spec.ts | 354 | // ── Second launch ─────────────────────────────────────────────── | COMMENT |
| MEDIUM | tests/e2e/helpers/terminal-input-probes.ts | 29 | // ─── Page-based probes (healthy CDP session) ──────────────────────── | COMMENT |
| MEDIUM | tests/e2e/helpers/terminal-input-probes.ts | 88 | // ─── Main-process-based probes (post-renderer-crash) ──────────────── | COMMENT |
| MEDIUM | tests/e2e/helpers/terminal-input-probes.ts | 266 | // ─── Failure report ───────────────────────────────────────────────── | COMMENT |
| MEDIUM | mobile/src/components/NewWorktreeModal.tsx | 133 | // ── Main modal ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …/src/components/pr-sidebar/mobile-pr-sidebar-styles.ts | 284 | // ─── Reviewer picker (BottomDrawer) ─────────────────────────────────────── | COMMENT |
| MEDIUM | mobile/src/session/use-mobile-pr-actions.test.ts | 62 | // ─── mutation wrappers: prRepo / param shapes ─────────────────────────────── | COMMENT |
| MEDIUM | mobile/src/session/use-mobile-pr-actions.test.ts | 128 | // ─── engine: merge / state / reviewers / rerun ────────────────────────────── | COMMENT |
| MEDIUM | mobile/src/session/use-mobile-pr-actions.test.ts | 227 | // ─── permanent vs transient + last-intent-wins ────────────────────────────── | COMMENT |
| MEDIUM | .github/workflows/release-cut.yml | 1000 | # ── Windows inner-binary signing (issue #7785) ───────────────────── | COMMENT |
| MEDIUM | .github/workflows/release-cut.yml | 1236 | # ── End Windows inner-binary signing ─────────────────────────────── | COMMENT |
| MEDIUM | src/renderer/src/runtime/remote-server-parity.test.ts | 182 | // ────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/renderer/src/runtime/remote-server-parity.test.ts | 184 | // ────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/renderer/src/runtime/remote-server-parity.test.ts | 237 | // ────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/renderer/src/runtime/remote-server-parity.test.ts | 239 | // ────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/renderer/src/runtime/remote-server-parity.test.ts | 277 | // ────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/renderer/src/runtime/remote-server-parity.test.ts | 279 | // ────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/renderer/src/runtime/remote-server-parity.test.ts | 299 | // ────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/renderer/src/runtime/remote-server-parity.test.ts | 301 | // ────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/renderer/src/runtime/remote-server-parity.test.ts | 417 | // ────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/renderer/src/runtime/remote-server-parity.test.ts | 420 | // ────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/renderer/src/components/UpdateCard.tsx | 14 | // ── Helpers ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/renderer/src/components/UpdateCard.tsx | 53 | // ── Compact card (transient check feedback) ───────────────────────── | COMMENT |
| MEDIUM | src/renderer/src/components/UpdateCard.tsx | 99 | // ── Main component ────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/renderer/src/components/UpdateCard.tsx | 209 | // ── Prefers-reduced-motion ────────────────────────────────────────── | COMMENT |
| MEDIUM | src/renderer/src/components/UpdateCard.tsx | 235 | // ── Visibility gates ────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/renderer/src/components/UpdateCard.tsx | 291 | // ── Shared helpers ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/renderer/src/components/UpdateCard.tsx | 444 | // ── Dynamic aria-label ──────────────────────────────────────────── | COMMENT |
| MEDIUM | src/renderer/src/components/UpdateCard.tsx | 461 | // ── Card wrapper ────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/renderer/src/components/UpdateCard.tsx | 470 | // ── Compact transient states (user-initiated check feedback) ────── | COMMENT |
| MEDIUM | src/renderer/src/components/UpdateCard.tsx | 490 | // ── Error states ───────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/renderer/src/components/UpdateCard.tsx | 506 | // ── Downloaded state ───────────────────────────────────────────── | COMMENT |
| MEDIUM | src/renderer/src/components/UpdateCard.tsx | 528 | // ── Downloading state ──────────────────────────────────────────── | COMMENT |
| MEDIUM | src/renderer/src/components/UpdateCard.tsx | 546 | // ── Available state ────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/renderer/src/components/UpdateCard.tsx | 631 | // ── Rich card content ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/renderer/src/components/UpdateCard.tsx | 729 | // ── Simple card content ────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/renderer/src/components/UpdateCard.tsx | 788 | // ── Downloading content ────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/renderer/src/components/UpdateCard.tsx | 889 | // ── Error card content ─────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/renderer/src/components/UpdateCard.tsx | 988 | // ── Ready to install content ───────────────────────────────────────── | COMMENT |
| MEDIUM | src/renderer/src/components/UpdateCard.test.ts | 9 | // ── Helpers ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/renderer/src/components/UpdateCard.test.ts | 34 | // ── Store-level tests for setUpdateStatus / changelog caching ──────── | COMMENT |
| MEDIUM | src/renderer/src/components/UpdateCard.test.ts | 132 | // ── dismissUpdate ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/renderer/src/components/UpdateCard.test.ts | 164 | // ── dismissUpdate nudge-aware path ─────────────────────────────────── | COMMENT |
| MEDIUM | src/renderer/src/components/UpdateCard.test.ts | 207 | // ── updateCardCollapsed ────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/renderer/src/components/UpdateCard.test.ts | 254 | // ── markUpdateReassuranceSeen ──────────────────────────────────────── | COMMENT |
| MEDIUM | src/renderer/src/components/UpdateCard.test.ts | 268 | // ── hydratePersistedUI for update fields ───────────────────────────── | COMMENT |
| MEDIUM | src/renderer/src/components/UpdateCard.test.ts | 305 | // ── Visibility gate logic (pure function extraction) ───────────────── | COMMENT |
| MEDIUM | src/renderer/src/components/UpdateCard.test.ts | 573 | // ── Full update lifecycle through the store ────────────────────────── | COMMENT |
| MEDIUM | src/renderer/src/components/TaskPage.tsx | 3720 | // ── GitLab task-source state ────────────────────────────────────── | COMMENT |
| MEDIUM | src/renderer/src/components/sidebar/WorktreeList.tsx | 5335 | // ── Stable sort order ────────────────────────────────────────── | COMMENT |
| MEDIUM | src/renderer/src/components/sidebar/AddRepoSteps.tsx | 12 | // ── SSH host project hook ─────────────────────────────────────────── | COMMENT |
| 380 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | electron.vite.config.ts | 1 | import { resolve } from 'node:path' | COMMENT |
| LOW | build-plugins/plain-node-entry-guard.ts | 1 | import { spawnSync } from 'node:child_process' | COMMENT |
| LOW | Casks/orca.rb | 21 | # tells Homebrew not to compete with the in-app updater — `brew upgrade` | COMMENT |
| LOW | resources/linux/packaging/after-install.sh | 1 | #!/bin/bash | COMMENT |
| LOW | tests/e2e/tab-close-navigation.spec.ts | 241 | test('closing the last visible surface returns the app to Landing', async ({ orcaPage }) => { | COMMENT |
| LOW | tests/e2e/terminal-panes.spec.ts | 241 | // Why: only the pointer-drag resize test needs a visible window (pointer | COMMENT |
| LOW | …sts/e2e/terminal-reveal-stale-pty-resize-repro.spec.ts | 81 | { width: 1280, height: 800 }, | COMMENT |
| LOW | tests/e2e/terminal-column-desync-repro.spec.ts | 401 | `TUIs: ${JSON.stringify(desyncs)}` | COMMENT |
| LOW | tests/e2e/terminal-attention.spec.ts | 341 | message: 'Unread pane state did not clear after pressing Escape in xterm' | COMMENT |
| LOW | tests/e2e/terminal-attention.spec.ts | 381 | // secondTabId is already active after createTerminalTab. Simulate what | COMMENT |
| LOW | tests/e2e/terminal-hidden-view-parking.spec.ts | 481 | COMMENT | |
| LOW | tests/e2e/terminal-parked-memory.spec.ts | 21 | // terminal-hidden-view-parking.spec.ts) so it cannot leak into other specs. | COMMENT |
| LOW | tests/e2e/tab-sidebar-closed-overlap.spec.ts | 41 | // regression that broke the Cmd+B binding, carved the chord out for a | COMMENT |
| LOW | tests/e2e/file-open.spec.ts | 101 | // There should be a new open file | COMMENT |
| LOW | tests/e2e/artificial-opencode-terminal-load.spec.ts | 121 | const MAIN_RENDERER_PRESSURE_TARGET_CHARS = 2 * 1024 * 1024 | COMMENT |
| LOW | tests/e2e/helpers/orca-app.ts | 41 | // opts out via `test.use({ dismissOnboarding: false })`. | COMMENT |
| LOW | tests/e2e/helpers/orca-app.ts | 201 | // developer running with ORCA_E2E_FORCE_HEADFUL=1 can actually watch what | COMMENT |
| LOW | mobile/app/index.tsx | 561 | }, [ | COMMENT |
| LOW | mobile/app/h/[hostId]/session/[worktreeId].tsx | 1061 | const markdownSaveInFlightRef = useRef<Set<string>>(new Set()) | COMMENT |
| LOW | mobile/app/h/[hostId]/session/[worktreeId].tsx | 1461 | initializedHandlesRef.current.add(handle) | COMMENT |
| LOW | mobile/app/h/[hostId]/session/[worktreeId].tsx | 1501 | const dims = await getTerminalRef(handle)?.measureFitDimensions( | COMMENT |
| LOW | mobile/app/h/[hostId]/session/[worktreeId].tsx | 3061 | initializedHandlesRef.current.delete(handle) | COMMENT |
| LOW | mobile/src/tasks/mobile-tasks-capability.ts | 1 | // Runtime capability the desktop advertises when it supports the mobile Tasks RPC | COMMENT |
| LOW | mobile/src/transport/connection-health.ts | 1 | import { isTailscaleEndpoint } from '../../../src/shared/remote-runtime-tailscale-hint' | COMMENT |
| LOW | mobile/src/transport/rpc-client.ts | 81 | // Why: UI escalates "Reconnecting…" to "Can't connect" once attempts cross | COMMENT |
| LOW | mobile/src/transport/rpc-client.ts | 101 | // own when the network recovers. With 12 total attempts, the last | COMMENT |
| LOW | mobile/src/transport/rpc-client.ts | 121 | const TRICKLE_RECONNECT_DELAY_MS = 90_000 | COMMENT |
| LOW | mobile/src/transport/client-context.tsx | 1 | // Why: collapses the per-screen WebSocket connection model into a single | COMMENT |
| LOW | mobile/src/transport/rpc-client-live-recovery.test.ts | 1 | // Live (real-socket, real-timer) repro harness for issue #5049: Android | COMMENT |
| LOW | mobile/src/transport/e2ee.ts | 1 | // Why: E2EE primitives for the mobile side. Uses tweetnacl for Curve25519 ECDH | COMMENT |
| LOW | mobile/src/transport/protocol-version.ts | 1 | // Why: declares the mobile client's runtime protocol version and the minimum | COMMENT |
| LOW | mobile/src/agent-history/agent-history-capability.ts | 1 | // Why: mobile's protocol-version.ts is a separate copy without the capability | COMMENT |
| LOW | mobile/src/terminal/terminal-webview-reflow-injected.ts | 1 | // In-WebView reflow routine, injected into XTERM_HTML. Extracted from | COMMENT |
| LOW | mobile/src/terminal/terminal-webview-html.ts | 421 | COMMENT | |
| LOW | mobile/src/terminal/terminal-path-tap-injected.ts | 1 | // Plain-JS file-path-under-tap detection, injected verbatim into the terminal | COMMENT |
| LOW | mobile/src/notifications/mobile-notifications.ts | 241 | // Returns an unsubscribe function. | COMMENT |
| LOW | .github/workflows/pullfrog.yml | 41 | DEEPSEEK_API_KEY: ${{ secrets.DEEPSEEK_API_KEY }} | COMMENT |
| LOW | .github/workflows/release-cut.yml | 1 | name: Cut Release | COMMENT |
| LOW | .github/workflows/release-cut.yml | 201 | run: | | COMMENT |
| LOW | .github/workflows/release-cut.yml | 421 | done | COMMENT |
| LOW | .github/workflows/release-cut.yml | 441 | # Recovery policy: if the tag exists AND no GitHub release has | COMMENT |
| LOW | .github/workflows/release-cut.yml | 801 | retry_wait_seconds: 30 | COMMENT |
| LOW | .github/workflows/release-cut.yml | 841 | echo "Classified $TAG as $identity" | COMMENT |
| LOW | .github/workflows/release-cut.yml | 1161 | } | COMMENT |
| LOW | .github/workflows/release-cut.yml | 1481 | } | COMMENT |
| LOW | .github/workflows/windows-signing-rehearsal.yml | 1 | # Windows inner-binary signing rehearsal. | COMMENT |
| LOW | .github/workflows/win-update-e2e.yml | 1 | name: Windows Update-Survival E2E | COMMENT |
| LOW | .github/workflows/homebrew-bump.yml | 1 | name: Homebrew Cask Bump | COMMENT |
| LOW | skills/orca-per-workspace-env/SKILL.md | 221 | COMMENT | |
| LOW | skills/orca-per-workspace-env/SKILL.md | 241 | COMMENT | |
| LOW | skills/orca-per-workspace-env/SKILL.md | 261 | COMMENT | |
| LOW | skill-guides/orca-per-workspace-env.md | 221 | COMMENT | |
| LOW | skill-guides/orca-per-workspace-env.md | 241 | COMMENT | |
| LOW | skill-guides/orca-per-workspace-env.md | 261 | COMMENT | |
| LOW | src/renderer/src/App.tsx | 721 | unmountAddRepoDialogTimerRef.current = null | COMMENT |
| LOW | src/renderer/src/App.tsx | 861 | // Fetch initial data + hydrate GitHub cache from disk | COMMENT |
| LOW | src/renderer/src/App.tsx | 881 | // for some tabs but did NOT reach the tail set() that flips | COMMENT |
| LOW | src/renderer/src/App.tsx | 1141 | ) | COMMENT |
| LOW | src/renderer/src/App.tsx | 1181 | } catch (reconnectErr) { | COMMENT |
| LOW | src/renderer/src/App.tsx | 1201 | // (see terminals.ts post-loop cleanup). Bypassing that drain by | COMMENT |
| 378 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | tests/e2e/computer-windows.e2e.ts | 123 | expect(envelope.result.snapshot.app.name.toLowerCase()).toBe('notepad') | CODE |
| CRITICAL | …er/src/components/terminal-pane/pty-connection.test.ts | 1934 | const writesAfterExit = pane.terminal.write.mock.calls.flat().join('') | CODE |
| CRITICAL | …er/src/components/terminal-pane/pty-connection.test.ts | 6094 | const resizeToSnapshotCall = pane.terminal.resize.mock.invocationCallOrder.find( | CODE |
| CRITICAL | …er/src/components/terminal-pane/pty-connection.test.ts | 6100 | const snapshotWriteCall = pane.terminal.write.mock.invocationCallOrder.find( | CODE |
| CRITICAL | …er/src/components/terminal-pane/pty-connection.test.ts | 6143 | const tailWriteCall = pane.terminal.write.mock.invocationCallOrder.find( | CODE |
| CRITICAL | …er/src/components/terminal-pane/pty-connection.test.ts | 6146 | const resetWriteCall = pane.terminal.write.mock.invocationCallOrder.find((_order, index) => | CODE |
| CRITICAL | …er/src/components/terminal-pane/pty-connection.test.ts | 6972 | const writeCalls = pane.terminal.write.mock.calls.map(([data]) => data) | CODE |
| CRITICAL | …er/src/components/terminal-pane/pty-connection.test.ts | 7943 | const written = pane.terminal.write.mock.calls.map((call) => String(call[0])).join('') | CODE |
| CRITICAL | …er/src/components/terminal-pane/pty-connection.test.ts | 8355 | return pane.terminal.write.mock.calls.map((call) => String(call[0])).join('') | CODE |
| CRITICAL | …er/src/components/terminal-pane/pty-connection.test.ts | 8545 | return pane.terminal.write.mock.calls.map((call) => String(call[0])).join('') | CODE |
| CRITICAL | …er/src/components/terminal-pane/pty-connection.test.ts | 10955 | const written = pane.terminal.write.mock.calls.map(([data]) => data as string) | CODE |
| CRITICAL | …er/src/components/terminal-pane/pty-connection.test.ts | 11020 | const written = pane.terminal.write.mock.calls.map(([data]) => data as string) | CODE |
| CRITICAL | …er/src/components/terminal-pane/pty-connection.test.ts | 11125 | const written = pane.terminal.write.mock.calls.map(([data]) => data as string) | CODE |
| CRITICAL | src/main/pi/agent-status-extension-source.test.ts | 260 | const procReads = harness.fsMock.readFileSync.mock.calls.filter(([path]) => | CODE |
| CRITICAL | src/main/browser/browser-screencast-stream.test.ts | 257 | const beforeNavigation = webContents.debugger.sendCommand.mock.calls.filter( | CODE |
| CRITICAL | src/main/browser/browser-screencast-stream.test.ts | 265 | const afterNavigation = webContents.debugger.sendCommand.mock.calls.filter( | CODE |
| CRITICAL | src/main/browser/browser-screencast-stream.test.ts | 798 | const methods = webContents.debugger.sendCommand.mock.calls.map((call) => call[0]) | CODE |
| CRITICAL | src/main/browser/agent-browser-bridge.test.ts | 602 | wc.debugger.sendCommand.mock.calls.some((call) => call[0] === 'Input.dispatchMouseEvent') | CODE |
| CRITICAL | src/main/browser/agent-browser-bridge.test.ts | 620 | const mouseCalls = wc.debugger.sendCommand.mock.calls.filter( | CODE |
| CRITICAL | src/main/browser/agent-browser-bridge.test.ts | 640 | const mouseCalls = wc.debugger.sendCommand.mock.calls.filter( | CODE |
| CRITICAL | src/main/browser/agent-browser-bridge.test.ts | 663 | const evaluateCall = wc.debugger.sendCommand.mock.calls.find( | CODE |
| CRITICAL | src/main/browser/agent-browser-bridge.test.ts | 669 | const mouseCalls = wc.debugger.sendCommand.mock.calls.filter( | CODE |
| CRITICAL⚡ | src/main/ipc/pty.test.ts | 8542 | return mainWindow.webContents.send.mock.calls.filter( | CODE |
| CRITICAL⚡ | src/main/ipc/pty.test.ts | 8548 | return mainWindow.webContents.send.mock.calls.filter( | CODE |
| CRITICAL | src/main/ipc/pty.test.ts | 698 | const listenerCall = mainWindow.webContents.on.mock.calls.find( | CODE |
| CRITICAL | src/main/ipc/pty.test.ts | 2711 | mainWindow.webContents.send.mock.calls.filter((call) => call[0] === 'pty:exit') | CODE |
| CRITICAL | src/main/ipc/pty.test.ts | 2765 | mainWindow.webContents.send.mock.calls.filter((call) => call[0] === 'pty:exit') | CODE |
| CRITICAL | src/main/ipc/pty.test.ts | 3431 | expect(mainWindow.webContents.send.mock.calls.filter((call) => call[0] === 'pty:exit')).toEqual( | CODE |
| CRITICAL | src/main/ipc/pty.test.ts | 3477 | expect(mainWindow.webContents.send.mock.calls.filter((call) => call[0] === 'pty:exit')).toEqual( | CODE |
| CRITICAL | src/main/ipc/pty.test.ts | 3615 | const dataSends = mainWindow.webContents.send.mock.calls.filter( | CODE |
| CRITICAL | src/main/ipc/pty.test.ts | 10419 | expect(mockProc.proc.write.mock.calls.map(([chunk]) => chunk).join('')).toBe(text) | CODE |
| CRITICAL | src/main/ipc/pty.test.ts | 10831 | const firstWindowLoadHandlers = firstWindow.webContents.on.mock.calls.filter( | CODE |
| CRITICAL | src/main/ipc/pty.test.ts | 10859 | secondWindow.webContents.on.mock.calls.filter( | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | skills/orca-emulator/SKILL.md | 153 | ORCA emulator type "user@example.com" --json | CODE |
| LOW | skills/orca-emulator-android/SKILL.md | 97 | | Type text | `ORCA emulator type "user@example.com" --device <serial>` | US ASCII; spaces handled | CODE |
| LOW | skill-guides/orca-emulator-android.md | 97 | | Type text | `ORCA emulator type "user@example.com" --device <serial>` | US ASCII; spaces handled | CODE |
| LOW | skill-guides/orca-emulator.md | 153 | ORCA emulator type "user@example.com" --json | CODE |
| LOW | …nderer/src/components/settings/CommitMessageAiPane.tsx | 250 | translate('auto.components.settings.CommitMessageAiPane.fc1a525fa5', 'placeholder') | CODE |
| LOW | …nderer/src/components/settings/CommitMessageAiPane.tsx | 265 | keywords={['custom', 'command', 'cli', 'binary', 'prompt', 'placeholder']} | CODE |
| LOW | …c/components/editor/rich-markdown-details-extension.ts | 25 | Extract<PlaceholderOptions['placeholder'], (...args: never[]) => string> | CODE |
| LOW | src/renderer/src/i18n/locales/zh.json | 10468 | "placeholder": "选择主机" | CODE |
| LOW | src/renderer/src/i18n/locales/zh.json | 10641 | "placeholder": "my-mac.ts.net、home.example.com 或 192.168.1.50", | CODE |
| LOW | src/renderer/src/i18n/locales/zh.json | 12913 | "placeholder": "teammate@example.com", | CODE |
| LOW | src/renderer/src/i18n/locales/zh.json | 12987 | "placeholder": "发送消息…", | CODE |
| LOW | src/renderer/src/i18n/locales/ja.json | 10468 | "placeholder": "Choose host" | CODE |
| LOW | src/renderer/src/i18n/locales/ja.json | 10641 | "placeholder": "my-mac.ts.net、home.example.com、または 192.168.1.50", | CODE |
| LOW | src/renderer/src/i18n/locales/ja.json | 12913 | "placeholder": "teammate@example.com", | CODE |
| LOW | src/renderer/src/i18n/locales/ja.json | 12987 | "placeholder": "メッセージを送信してください…", | CODE |
| LOW | src/renderer/src/i18n/locales/en.json | 5258 | "fc1a525fa5": "placeholder", | CODE |
| LOW | src/renderer/src/i18n/locales/en.json | 10468 | "placeholder": "Choose host" | CODE |
| LOW | src/renderer/src/i18n/locales/en.json | 10641 | "placeholder": "my-mac.ts.net, home.example.com, or 192.168.1.50", | CODE |
| LOW | src/renderer/src/i18n/locales/en.json | 12913 | "placeholder": "teammate@example.com", | CODE |
| LOW | src/renderer/src/i18n/locales/en.json | 12987 | "placeholder": "Send a message…", | CODE |
| LOW | src/renderer/src/i18n/locales/ko.json | 10468 | "placeholder": "호스트 선택" | CODE |
| LOW | src/renderer/src/i18n/locales/ko.json | 10641 | "placeholder": "my-mac.ts.net, home.example.com 또는 192.168.1.50", | CODE |
| LOW | src/renderer/src/i18n/locales/ko.json | 12913 | "placeholder": "teammate@example.com", | CODE |
| LOW | src/renderer/src/i18n/locales/ko.json | 12987 | "placeholder": "메시지 보내기…", | CODE |
| LOW | src/renderer/src/i18n/locales/es.json | 5258 | "fc1a525fa5": "placeholder", | CODE |
| LOW | src/renderer/src/i18n/locales/es.json | 10468 | "placeholder": "Elegir host" | CODE |
| LOW | src/renderer/src/i18n/locales/es.json | 10641 | "placeholder": "my-mac.ts.net, home.example.com o 192.168.1.50", | CODE |
| LOW | src/renderer/src/i18n/locales/es.json | 12913 | "placeholder": "teammate@example.com", | CODE |
| LOW | src/renderer/src/i18n/locales/es.json | 12987 | "placeholder": "Enviar un mensaje…", | CODE |
| LOW | src/shared/browser-grab-types.ts | 207 | 'placeholder', | CODE |
| LOW | src/relay/git-handler.test.ts | 1701 | execFileSync('git', ['config', 'user.email', 'test@test.com'], { | CODE |
| LOW | src/relay/git-handler.test.ts | 1780 | execFileSync('git', ['config', 'user.email', 'test@test.com'], { | CODE |
| LOW | src/relay/git-handler-test-setup.ts | 12 | const TEST_GIT_USER_EMAIL = 'test@test.com' | CODE |
| LOW | …git-response-pty-echo-backpressure.integration.test.ts | 174 | run(['config', 'user.email', 'test@test.com']) | CODE |
| LOW | src/relay/subprocess.test.ts | 155 | execFileSync('git', ['config', 'user.email', 'test@test.com'], { cwd: tmpDir, stdio: 'pipe' }) | CODE |
| LOW | src/relay/git-handler-pull-reconciliation.test.ts | 56 | execGit(cwd, ['config', 'user.email', 'test@test.com']) | CODE |
| LOW | src/relay/integration.test.ts | 29 | execFileSync('git', ['config', 'user.email', 'test@test.com'], { cwd: dir, stdio: 'pipe' }) | CODE |
| LOW | src/main/codex-accounts/service.test.ts | 258 | email: 'user@example.com', | CODE |
| LOW | src/main/codex-accounts/service.test.ts | 300 | email: 'user@example.com', | CODE |
| LOW | src/main/codex-accounts/service.test.ts | 343 | email: 'user@example.com', | CODE |
| LOW | src/main/codex-accounts/service.test.ts | 432 | email: 'user@example.com', | CODE |
| LOW | src/main/codex-accounts/service.test.ts | 474 | email: 'user@example.com', | CODE |
| LOW | src/main/codex-accounts/service.test.ts | 523 | const payload = Buffer.from(JSON.stringify({ email: 'user@example.com' })).toString( | CODE |
| LOW | src/main/codex-accounts/service.test.ts | 668 | email: 'user@example.com', | CODE |
| LOW | src/main/codex-accounts/service.test.ts | 714 | email: 'user@example.com', | CODE |
| LOW | src/main/codex-accounts/service.test.ts | 1243 | email: 'user@example.com', | CODE |
| LOW | src/main/codex-accounts/service.test.ts | 1422 | email: 'user@example.com', | CODE |
| LOW | src/main/codex-accounts/service.test.ts | 1464 | email: 'user@example.com', | CODE |
| LOW | src/main/codex-accounts/service.test.ts | 1520 | email: 'user@example.com', | CODE |
| LOW⚡ | src/main/codex-accounts/runtime-home-service.test.ts | 2765 | const originalAuth = createCodexAuthJson('user@example.com', 'acct-1', 'original') | CODE |
| LOW⚡ | src/main/codex-accounts/runtime-home-service.test.ts | 2766 | const refreshedAuth = createCodexAuthJson('user@example.com', 'acct-1', 'refreshed') | CODE |
| LOW⚡ | src/main/codex-accounts/runtime-home-service.test.ts | 2773 | email: 'user@example.com', | CODE |
| LOW⚡ | src/main/codex-accounts/runtime-home-service.test.ts | 2999 | const selectedAuth = createCodexAuthJson('user@example.com', 'acct-selected', 'selected') | CODE |
| LOW⚡ | src/main/codex-accounts/runtime-home-service.test.ts | 3000 | const staleLivePtyAuth = createCodexAuthJson('user@example.com', 'acct-stale', 'stale') | CODE |
| LOW⚡ | src/main/codex-accounts/runtime-home-service.test.ts | 3007 | email: 'user@example.com', | CODE |
| LOW⚡ | src/main/codex-accounts/runtime-home-service.test.ts | 3034 | const originalAuth = createCodexAuthJson('user@example.com', 'acct-selected', 'original') | CODE |
| LOW⚡ | src/main/codex-accounts/runtime-home-service.test.ts | 3035 | const refreshedAuth = createCodexAuthJson('user@example.com', 'acct-selected', 'refreshed') | CODE |
| LOW⚡ | src/main/codex-accounts/runtime-home-service.test.ts | 3042 | email: 'user@example.com', | CODE |
| LOW⚡ | src/main/codex-accounts/runtime-home-service.test.ts | 3143 | const originalAuth = createCodexAuthJson('user@example.com', 'acct-1', 'original', 1_000) | CODE |
| LOW⚡ | src/main/codex-accounts/runtime-home-service.test.ts | 3144 | const refreshedAuth = createCodexAuthJson('user@example.com', 'acct-1', 'refreshed', 2_000) | CODE |
| 118 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | mobile/src/components/NewWorkspaceFab.tsx | 15 | // Phone-only floating "+" for creating a workspace. Absolutely positioned so it | COMMENT |
| MEDIUM⚡ | .github/workflows/release-cut.yml | 1171 | # pristine elevate.exe from its download cache over resources\elevate.exe | COMMENT |
| MEDIUM⚡ | .github/workflows/release-cut.yml | 1177 | # so later runs may see elevate.exe as already signed and skip staging it — | COMMENT |
| MEDIUM⚡ | .github/workflows/release-cut.yml | 1179 | # elevate.exe in the shipped installer unconditionally. If this ever causes | COMMENT |
| MEDIUM⚡ | .github/workflows/release-cut.yml | 1180 | # trouble, delete this step; the only effect is elevate.exe shipping | COMMENT |
| MEDIUM | .github/workflows/release-cut.yml | 1402 | # Why elevate.exe is always appended: staging skips already-signed | COMMENT |
| MEDIUM | .github/workflows/release-cut.yml | 1404 | # previously signed elevate.exe — so it may be absent from the list | COMMENT |
| MEDIUM | .github/workflows/win-update-e2e.yml | 8 | # install, so running the harness on a machine with a real Orca install would | COMMENT |
| MEDIUM | .github/workflows/win-update-e2e.yml | 15 | # own tree. The paths filter keeps it to harness/workflow edits so ordinary | COMMENT |
| MEDIUM | .github/workflows/win-update-e2e.yml | 92 | # Why: the harness only needs its runtime deps (the Playwright Electron | COMMENT |
| MEDIUM | .github/workflows/win-update-e2e.yml | 98 | # installer, rather than deep inside the harness. | COMMENT |
| MEDIUM | .github/workflows/win-update-e2e.yml | 116 | # the harness installs to the default per-user location and owns it — the | COMMENT |
| MEDIUM | .github/workflows/win-update-e2e.yml | 123 | # Why: on a driving failure the harness dumps a screenshot + DOM state | COMMENT |
| MEDIUM | .github/workflows/win-update-survival-e2e.yml | 5 | # BRANCH, then runs the win-update-e2e harness with --expect survival: install, | COMMENT |
| MEDIUM | .github/workflows/win-update-survival-e2e.yml | 52 | # This job only builds and runs the harness locally; it never pushes. | COMMENT |
| MEDIUM | .github/workflows/win-update-survival-e2e.yml | 69 | # harness-only edit skips the ~20 min electron-builder build. The daemon | COMMENT |
| MEDIUM | …nts/feature-wall/agents-orchestration/StatusesPage.tsx | 203 | // -50% translate loop reads as seamless infinite scroll. | COMMENT |
| MEDIUM | …/renderer/src/components/editor/monaco-reveal-range.ts | 21 | // to a one-column range keeps reveal robust if stale or malformed payloads | COMMENT |
| MEDIUM | src/renderer/src/hooks/useEditorExternalWatch.ts | 582 | // equivalent and more robust to future code added after the loop. | COMMENT |
| MEDIUM⚡ | src/cli/bundled-skill-guides.ts | 18 | const ORCA_CLI_MARKDOWN = "---\nname: orca-cli\ndescription: >-\n Use the public `orca` CLI to operate Orca-managed wor | CODE |
| MEDIUM⚡ | src/cli/bundled-skill-guides.ts | 18 | const ORCA_CLI_MARKDOWN = "---\nname: orca-cli\ndescription: >-\n Use the public `orca` CLI to operate Orca-managed wor | CODE |
| MEDIUM⚡ | src/cli/bundled-skill-guides.ts | 21 | const ORCA_EMULATOR_MARKDOWN = "---\nname: orca-emulator\ndescription: >\n Control a mobile (iOS) emulator / simulator | CODE |
| MEDIUM⚡ | src/cli/bundled-skill-guides.ts | 21 | const ORCA_EMULATOR_MARKDOWN = "---\nname: orca-emulator\ndescription: >\n Control a mobile (iOS) emulator / simulator | CODE |
| MEDIUM⚡ | src/cli/bundled-skill-guides.ts | 30 | const ORCA_PER_WORKSPACE_ENV_MARKDOWN = "---\nname: orca-per-workspace-env\ndescription: >-\n Set up, review, debug, or | CODE |
| MEDIUM | src/main/cursor/hook-service.ts | 149 | // shapes to stay robust against future schema changes. | COMMENT |
| MEDIUM | …n/daemon/headless-emulator-snapshot-cost.bench.test.ts | 193 | describe.skipIf(!benchEnabled)('headless emulator snapshot cost (issue #5096 harness)', () => { | CODE |
| MEDIUM | src/main/agent-hooks/server.ts | 1798 | // dedup is robust against future shape drift in serializeStatusFile. | COMMENT |
| MEDIUM | src/main/stats/collector.ts | 193 | // keep stat recording robust — a buggy listener must not lose the | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tests/e2e/helpers/docker-ssh-relay-processes.ts | 35 | elif [ "$base" = relay.js ]; then | CODE |
| HIGH | src/relay/pty-shell-launch.ts | 139 | elif [[ -f "$HOME/.bash_login" ]]; then | CODE |
| HIGH | src/relay/pty-shell-launch.ts | 141 | elif [[ -f "$HOME/.profile" ]]; then | CODE |
| HIGH | src/main/shell-templates.ts | 145 | elif (( \${+widgets[zle-line-init]} )) && [[ "\${widgets[zle-line-init]}" == user:* ]]; then | CODE |
| HIGH⚡ | src/main/providers/local-pty-shell-ready.ts | 120 | elif [[ -f "$HOME/.bash_login" ]]; then | CODE |
| HIGH⚡ | src/main/providers/local-pty-shell-ready.ts | 122 | elif [[ -f "$HOME/.profile" ]]; then | CODE |
| HIGH | src/main/cli/wsl-cli-scripts.ts | 17 | elif [ -x /mnt/c/Windows/System32/WindowsPowerShell/v1.0/powershell.exe ]; then | CODE |
| HIGH | src/main/cli/wsl-cli-installer.test.ts | 47 | elif [ -x /mnt/c/Windows/System32/WindowsPowerShell/v1.0/powershell.exe ]; then | CODE |
| HIGH⚡ | src/main/daemon/shell-ready.ts | 93 | elif [[ -f "$HOME/.bash_login" ]]; then | CODE |
| HIGH⚡ | src/main/daemon/shell-ready.ts | 95 | elif [[ -f "$HOME/.profile" ]]; then | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | src/main/rate-limits/opencode-go-usage-fetcher.ts | 115 | // Step 1: resolve workspace IDs to try. | COMMENT |
| LOW | src/main/rate-limits/opencode-go-usage-fetcher.ts | 191 | // Step 2: Robust workspace resolution. Try each candidate ID until one returns 200 OK | COMMENT |
| LOW | src/main/daemon/daemon-init.test.ts | 641 | // Step 7: rebind must run *after* Step 6. The last rebind call index | COMMENT |
| LOW⚡ | src/main/daemon/daemon-init.ts | 709 | // Step 2: detach renderer listeners from the current adapter. Must happen | COMMENT |
| LOW⚡ | src/main/daemon/daemon-init.ts | 714 | // Step 3: kill the current-protocol daemon process (shutdown RPC → fallback | COMMENT |
| LOW⚡ | src/main/daemon/daemon-init.ts | 718 | // Step 4: reuse the existing spawner so the respawn closure baked into | COMMENT |
| LOW⚡ | src/main/daemon/daemon-init.ts | 723 | // Step 5: build a fresh current adapter against the respawned daemon. Its | COMMENT |
| LOW⚡ | src/main/daemon/daemon-init.ts | 756 | // Step 6: swap module state (adapter + localProvider) atomically. | COMMENT |
| LOW⚡ | src/main/daemon/daemon-init.ts | 759 | // Step 7: rebind renderer listeners against the new provider. | COMMENT |
| LOW | src/main/daemon/daemon-init.ts | 688 | // Step 1: synthesize pty:exit for every active session on the current | COMMENT |
| LOW⚡ | src/main/daemon/reattach-snapshot.test.ts | 62 | // Step 1: write reattach payload (what pty-connection writes to xterm.js) | COMMENT |
| LOW⚡ | src/main/daemon/reattach-snapshot.test.ts | 64 | // Step 2: write SIGWINCH repaint data (what the TUI sends after receiving SIGWINCH) | COMMENT |
| LOW⚡ | src/main/daemon/reattach-snapshot.test.ts | 359 | // Step 1: write snapshot (simulating pty-connection) | COMMENT |
| LOW⚡ | src/main/daemon/reattach-snapshot.test.ts | 363 | // Step 2: NO clear — cursor stays where snapshot left it (end of line 3) | COMMENT |
| LOW⚡ | src/main/daemon/reattach-snapshot.test.ts | 365 | // Step 3: Ink-style SIGWINCH repaint: move cursor up 3 lines, | COMMENT |
| LOW⚡ | src/main/daemon/reattach-snapshot.test.ts | 387 | // Step 1: write snapshot (3 lines, cursor at end of line 3) | COMMENT |
| LOW⚡ | src/main/daemon/reattach-snapshot.test.ts | 390 | // Step 2: clear — cursor moves to (1,1) | COMMENT |
| LOW⚡ | src/main/daemon/reattach-snapshot.test.ts | 393 | // Step 3: Ink-style repaint: cursor-up-3 from (1,1) → clamped to (1,1) | COMMENT |
| LOW⚡ | src/main/ipc/filesystem.test.ts | 2229 | // Step 1: register handlers and trigger initial cache build with only | COMMENT |
| LOW⚡ | src/main/ipc/filesystem.test.ts | 2237 | // Step 2: simulate the CLI creating a new worktree — git now lists it, | COMMENT |
| LOW⚡ | src/main/ipc/filesystem.test.ts | 2256 | // Step 3: branchCompare on the new worktree should fail — this is the | COMMENT |
| LOW⚡ | src/main/ipc/filesystem.test.ts | 2265 | // Step 4: invalidate the cache (what our fix does after CLI create). | COMMENT |
| LOW⚡ | src/main/ipc/filesystem.test.ts | 2268 | // Step 5: the same branchCompare should now succeed. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | src/main/rate-limits/opencode-go-usage-fetcher.ts | 115 | // Step 1: resolve workspace IDs to try. | COMMENT |
| LOW | src/main/rate-limits/opencode-go-usage-fetcher.ts | 191 | // Step 2: Robust workspace resolution. Try each candidate ID until one returns 200 OK | COMMENT |
| LOW | src/main/daemon/daemon-init.test.ts | 641 | // Step 7: rebind must run *after* Step 6. The last rebind call index | COMMENT |
| LOW⚡ | src/main/daemon/daemon-init.ts | 709 | // Step 2: detach renderer listeners from the current adapter. Must happen | COMMENT |
| LOW⚡ | src/main/daemon/daemon-init.ts | 714 | // Step 3: kill the current-protocol daemon process (shutdown RPC → fallback | COMMENT |
| LOW⚡ | src/main/daemon/daemon-init.ts | 718 | // Step 4: reuse the existing spawner so the respawn closure baked into | COMMENT |
| LOW⚡ | src/main/daemon/daemon-init.ts | 723 | // Step 5: build a fresh current adapter against the respawned daemon. Its | COMMENT |
| LOW⚡ | src/main/daemon/daemon-init.ts | 756 | // Step 6: swap module state (adapter + localProvider) atomically. | COMMENT |
| LOW⚡ | src/main/daemon/daemon-init.ts | 759 | // Step 7: rebind renderer listeners against the new provider. | COMMENT |
| LOW | src/main/daemon/daemon-init.ts | 688 | // Step 1: synthesize pty:exit for every active session on the current | COMMENT |
| LOW⚡ | src/main/daemon/reattach-snapshot.test.ts | 62 | // Step 1: write reattach payload (what pty-connection writes to xterm.js) | COMMENT |
| LOW⚡ | src/main/daemon/reattach-snapshot.test.ts | 64 | // Step 2: write SIGWINCH repaint data (what the TUI sends after receiving SIGWINCH) | COMMENT |
| LOW⚡ | src/main/daemon/reattach-snapshot.test.ts | 359 | // Step 1: write snapshot (simulating pty-connection) | COMMENT |
| LOW⚡ | src/main/daemon/reattach-snapshot.test.ts | 363 | // Step 2: NO clear — cursor stays where snapshot left it (end of line 3) | COMMENT |
| LOW⚡ | src/main/daemon/reattach-snapshot.test.ts | 365 | // Step 3: Ink-style SIGWINCH repaint: move cursor up 3 lines, | COMMENT |
| LOW⚡ | src/main/daemon/reattach-snapshot.test.ts | 387 | // Step 1: write snapshot (3 lines, cursor at end of line 3) | COMMENT |
| LOW⚡ | src/main/daemon/reattach-snapshot.test.ts | 390 | // Step 2: clear — cursor moves to (1,1) | COMMENT |
| LOW⚡ | src/main/daemon/reattach-snapshot.test.ts | 393 | // Step 3: Ink-style repaint: cursor-up-3 from (1,1) → clamped to (1,1) | COMMENT |
| LOW⚡ | src/main/ipc/filesystem.test.ts | 2229 | // Step 1: register handlers and trigger initial cache build with only | COMMENT |
| LOW⚡ | src/main/ipc/filesystem.test.ts | 2237 | // Step 2: simulate the CLI creating a new worktree — git now lists it, | COMMENT |
| LOW⚡ | src/main/ipc/filesystem.test.ts | 2256 | // Step 3: branchCompare on the new worktree should fail — this is the | COMMENT |
| LOW⚡ | src/main/ipc/filesystem.test.ts | 2265 | // Step 4: invalidate the cache (what our fix does after CLI create). | COMMENT |
| LOW⚡ | src/main/ipc/filesystem.test.ts | 2268 | // Step 5: the same branchCompare should now succeed. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | docs/droid-orchestration-group.md | 5 | Issue #4560 reports that Orca CLI / orchestration cannot be used with a Droid agent. Droid is already a first-class laun | CODE |
| MEDIUM | .github/workflows/pr.yml | 140 | # it for Node so orchestration tests can load the native module. | COMMENT |
| MEDIUM | skills/orca-per-workspace-env/SKILL.md | 321 | ### 7e. State file — scaffold with scope/project/repo filled in and snapshot ids empty (§6). | COMMENT |
| MEDIUM | skill-guides/orca-per-workspace-env.md | 321 | ### 7e. State file — scaffold with scope/project/repo filled in and snapshot ids empty (§6). | COMMENT |
| MEDIUM | …/src/components/settings/CliSkillRuntimeSetup.test.tsx | 70 | expect(command).toContain('`\\"\' } # Runs: npx skills update orchestration --global') | CODE |
| MEDIUM⚡ | src/cli/bundled-skill-guides.ts | 18 | const ORCA_CLI_MARKDOWN = "---\nname: orca-cli\ndescription: >-\n Use the public `orca` CLI to operate Orca-managed wor | CODE |
| MEDIUM⚡ | src/cli/bundled-skill-guides.ts | 21 | const ORCA_EMULATOR_MARKDOWN = "---\nname: orca-emulator\ndescription: >\n Control a mobile (iOS) emulator / simulator | CODE |
| MEDIUM⚡ | src/cli/bundled-skill-guides.ts | 30 | const ORCA_PER_WORKSPACE_ENV_MARKDOWN = "---\nname: orca-per-workspace-env\ndescription: >-\n Set up, review, debug, or | CODE |
| MEDIUM⚡ | src/cli/bundled-skill-guides.ts | 30 | const ORCA_PER_WORKSPACE_ENV_MARKDOWN = "---\nname: orca-per-workspace-env\ndescription: >-\n Set up, review, debug, or | CODE |
| MEDIUM⚡ | src/cli/bundled-skill-guides.ts | 33 | const ORCHESTRATION_MARKDOWN = "---\nname: orchestration\ndescription: >-\n Use Orca orchestration for structured multi | CODE |
| MEDIUM | src/main/runtime/orchestration/preamble.ts | 102 | # NEVER use AskUserQuestion; use \`${cli} orchestration ask\` or send | COMMENT |
| MEDIUM | src/main/agent-hooks/first-work-branch-rename.ts | 4 | // owns the orchestration: gate on the signal, enforce the safety guardrails, | COMMENT |
| MEDIUM | src/main/skills/discovery.test.ts | 113 | await writeFile(join(realSkill, 'SKILL.md'), '# orchestration\n\nCoordinate agents.') | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | native/computer-use-linux/runtime.py | 68 | except Exception: | CODE |
| LOW | native/computer-use-linux/runtime.py | 1087 | except Exception: | CODE |
| LOW | native/computer-use-linux/runtime.py | 1102 | except Exception as exc: | CODE |
| MEDIUM | native/computer-use-linux/runtime.py | 64 | def attempt(fn, fallback=None): | CODE |
| MEDIUM | native/computer-use-linux/runtime.py | 799 | def require_positive_integer(value, name): | CODE |
| MEDIUM | native/computer-use-linux/runtime.py | 1096 | def main(): | CODE |
| MEDIUM | …bile/packages/expo-two-way-audio/ios/AudioEngine.swift | 139 | print("Error: Could not access channel data") | CODE |
| MEDIUM | …bile/packages/expo-two-way-audio/ios/AudioEngine.swift | 164 | print("Error: Could not access channel data") | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | README.md | 127 | <a href="https://www.onorca.dev/docs/review/annotate-ai-diff"><picture><source srcset="docs/assets/feature-wall/annota | CODE |
| HIGH | …c/components/feature-wall/ReviewShipAnimatedVisual.tsx | 20 | // the user sees commit + PR generated by AI back-to-back. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | native/computer-use-linux/runtime.py | 784 | def perform_action(node, index): | CODE |
| LOW | mobile/scripts/mock-server-rpc-handlers.ts | 86 | export function handleRequest( | CODE |
| LOW | …renderer/src/components/terminal-pane/pty-transport.ts | 434 | function processData( | CODE |
| LOW | …hared/remote-runtime-shared-control-connection.test.ts | 603 | function handleRequest( | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | native/computer-use-linux/runtime.py | 349 | CODE | |
| LOW | native/computer-use-linux/runtime.py | 982 | CODE | |
| LOW | native/computer-use-linux/runtime.py | 354 | CODE | |
| LOW | native/computer-use-linux/runtime.py | 358 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | config/scripts/dev-fresh-profile.sh | 6 | # Usage: | COMMENT |
| LOW | config/scripts/macos-launch-diagnostics.sh | 4 | # Usage: | COMMENT |