Plan, run and supervise fleets of agents from task to merged PR. Desktop (macOS, Windows, Linux) + iPhone & Android apps. Supports Claude Code, Codex & 35+ coding agents.
This report summarizes scanner evidence for Untrivial-ai/agent-orchestrator, a Go project with 13,971 GitHub stars. SynthScan examined 1,352,068 lines of code across 4956 source files, recording 1692 pattern matches distributed across 17 syntactic categories. The legacy adjusted pattern signal is 1.4 (Low pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.
Can maintainers explain intent, assumptions, and trade-offs? 1626 finding(s).
Are imports declared and package/API names verified? 51 finding(s).
Are wrappers, guards, and repeated structures necessary? 801 finding(s).
Which changes need focused human review? 1692 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 1692 distinct pattern matches across 17 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. 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 configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | frontend/release-workflows.test.ts | 20 | function findReleaseMutationViolations(workflows: WorkflowSource[]) { | CODE |
| LOW | frontend/forge.config.ts | 52 | async function prepareNativeDependencies(platform: NodeJS.Platform, arch: string): Promise<void> { | CODE |
| LOW | frontend/forge.config.ts | 66 | export function extraResourcesForPlatform(platform: NodeJS.Platform): string[] { | CODE |
| LOW | frontend/makers/maker-dmg.ts | 160 | function assertCompleteAppStoreConnectCredentials(env: NodeJS.ProcessEnv): void { | CODE |
| LOW | frontend/e2e/browser-address-centering.spec.ts | 46 | async function expectAddressBelowInspectorTabs(page: Page) { | CODE |
| LOW | frontend/e2e/session-terminal-focus.spec.ts | 18 | function caretIsInTheVisibleTerminal(page: Page) { | CODE |
| LOW | frontend/e2e/window-transparency-overlap.spec.ts | 10 | async function expectSurfaceTransparency(target: Locator, transparent: boolean) { | CODE |
| LOW | frontend/e2e/files-narrow-inspector.spec.ts | 74 | async function expectFileNameUntruncated(page: Page) { | CODE |
| LOW | frontend/e2e/cross-platform-focus.spec.ts | 59 | function caretIsInTheVisibleTerminal(page: Page) { | CODE |
| LOW | frontend/e2e/sidebar-missing-worker-diagnostic.spec.ts | 86 | async function openLargeExpandedWorkspace(page: Page) { | CODE |
| LOW | frontend/e2e/chat-message-overflow.spec.ts | 9 | async function expectBubbleToStayInsideViewport(bubble: Locator) { | CODE |
| LOW | frontend/e2e/chat-continue.spec.ts | 51 | async function installStoppableConversation(page: Page) { | CODE |
| LOW⚡ | frontend/src/main.ts | 1678 | function disposeBrowserRuntimeLink(): void { | CODE |
| LOW⚡ | frontend/src/main.ts | 1684 | function publishBrowserRuntimeState(state: BrowserRuntimeState): void { | CODE |
| LOW⚡ | frontend/src/main.ts | 1690 | function reconnectBrowserRuntimeLink(): void { | CODE |
| LOW⚡ | frontend/src/main.ts | 1696 | function establishBrowserRuntimeLink(): void { | CODE |
| LOW | frontend/src/main.ts | 343 | function requestRendererQueuePurge(contents: WebContents): Promise<void> { | CODE |
| LOW | frontend/src/main.ts | 355 | async function clearRendererTelemetryQueues(): Promise<void> { | CODE |
| LOW | frontend/src/main.ts | 516 | function syncNativeWindowBackground(): void { | CODE |
| LOW | frontend/src/main.ts | 804 | async function clearElectronBrowserProfileData(partition: string): Promise<void> { | CODE |
| LOW | frontend/src/main.ts | 809 | async function disposeAllBrowserViewHosts(): Promise<void> { | CODE |
| LOW | frontend/src/main.ts | 1229 | function resolveAgentBrowserBinaryPath(): string { | CODE |
| LOW | frontend/src/main.ts | 1310 | function resolveSessionWorkspaceForDesktop(sessionId: string): Promise<string> { | CODE |
| LOW | frontend/src/main.ts | 1316 | function resolveSessionArtifactDirForDesktop(sessionId: string): Promise<string> { | CODE |
| LOW | frontend/src/main.ts | 1665 | function supervisorPipeFromRunFile(rfp: string | null): string { | CODE |
| LOW | frontend/src/main.ts | 1759 | function handleBrowserRuntimeRejection(reason: string): void { | CODE |
| LOW | frontend/src/main.ts | 1783 | async function handleBrowserStreamControl(control: BrowserStreamControl): Promise<void> { | CODE |
| LOW | frontend/src/main.ts | 1820 | function establishBrowserStreamLink(): void { | CODE |
| LOW | frontend/src/main.ts | 1885 | async function gracefullyReplaceDaemonForBrowser(status: DaemonStatus): Promise<void> { | CODE |
| LOW | frontend/src/main.ts | 2549 | function daemonAutoRestartMarkerMatches(intent: DaemonAutoRestartIntent, runFile: { present: boolean; pid: number | null | CODE |
| LOW | frontend/src/main.ts | 2565 | function scheduleDaemonAutoRestart(crashedPid: number | null, runFilePresent: boolean, keepAlive: boolean): void { | CODE |
| LOW | frontend/src/main.ts | 2609 | function reportDaemonRestartFailure(error: unknown): DaemonStatus { | CODE |
| LOW | frontend/src/main.ts | 3001 | function failClosedTelemetryPolicyView(): TelemetryPolicyView { | CODE |
| LOW | frontend/src/main.ts | 3466 | function notifyRenderersOfCloudSession(account: import("./shared/cloud-account").CloudAccount | null): void { | CODE |
| LOW | frontend/src/main.ts | 3516 | async function handleCloudDeepLinkAndFocus(url: string): Promise<void> { | CODE |
| LOW | frontend/src/preload.ts | 183 | function isRendererQueuePurgeRequest(value: unknown): value is RendererTelemetryQueuePurgeRequest { | CODE |
| LOW | frontend/src/annotate-preload.ts | 156 | function sanitizeSessionAdjustments(): void { | CODE |
| LOW | frontend/src/annotate-preload.ts | 720 | function measureAdjustmentPanelHeight(inner: HTMLElement, form: HTMLFormElement): number { | CODE |
| LOW | frontend/src/annotate-preload.ts | 920 | function applyAdjustmentPanelLayout(inner: HTMLElement, form: HTMLFormElement, panelHeight: number): void { | CODE |
| LOW | frontend/src/annotate-preload.ts | 1370 | function resizeAndPositionComposer( | CODE |
| LOW | frontend/src/renderer/types/workspace.ts | 362 | function sessionRecentlyMessagedNewer(a: WorkspaceSession, b: WorkspaceSession): boolean { | CODE |
| LOW | frontend/src/renderer/types/workspace.ts | 373 | function sessionLastMessageTimestamp(session: WorkspaceSession): number { | CODE |
| LOW | frontend/src/renderer/types/workspace.ts | 418 | export function sessionCueTargetAvailable(session: WorkspaceSession | undefined): boolean { | CODE |
| LOW | frontend/src/renderer/types/workspace.ts | 462 | export function hasConfiguredOrchestratorAgent( | CODE |
| LOW | frontend/src/renderer/types/workspace.ts | 524 | export function resolveNextNavigationAfterSessionKill( | CODE |
| LOW | frontend/src/renderer/types/terminal.ts | 24 | export function terminalTargetBelongsToSession(target: TerminalTarget, sessionId: string | undefined): boolean { | CODE |
| LOW | frontend/src/renderer/test/lexical.ts | 29 | export async function typeAndPressInLexicalEditor( | CODE |
| LOW | …end/src/renderer/test/interface-transition-fixtures.ts | 6 | export function sessionInterfaceTransition( | CODE |
| LOW | …end/src/renderer/test/interface-transition-fixtures.ts | 23 | export function sessionInterfaceTransitionStatus( | CODE |
| LOW | frontend/src/renderer/stores/terminal-shell-store.ts | 59 | export function terminalShellRequestValue(preference: TerminalShellPreference): string { | CODE |
| LOW⚡ | frontend/src/renderer/stores/ui-store.ts | 339 | function initialWindowTranslucency() { | CODE |
| LOW⚡ | frontend/src/renderer/stores/ui-store.ts | 343 | function initialTerminalCopyOnSelect() { | CODE |
| LOW⚡ | frontend/src/renderer/stores/ui-store.ts | 347 | function syncDeveloperModeToUpdater(enabled: boolean): void { | CODE |
| LOW | frontend/src/renderer/stores/ui-store.ts | 366 | export function rememberedFileDisplayMode( | CODE |
| LOW | …/renderer/components/OrchestratorReplacementDialog.tsx | 28 | export function OrchestratorReplacementDialog({ | CODE |
| LOW | frontend/src/renderer/components/Sidebar.test.tsx | 429 | function mockAgentReadinessResponse(response: { | CODE |
| LOW | …d/src/renderer/components/CloudProjectSettingsForm.tsx | 31 | export function CloudProjectSettingsAdapter({ projectId, cloudOrgId, section = "general", onSaveState }: { | CODE |
| LOW | …d/src/renderer/components/CloudProjectSettingsForm.tsx | 101 | export function CloudProjectCoderSettings({ project }: { project: CloudCpProject }) { | CODE |
| LOW | …d/src/renderer/components/CloudProjectSettingsForm.tsx | 155 | function CoderTemplateParametersSettings({ project, templateId }: { project: CloudCpProject; templateId: string }) { | CODE |
| LOW | …d/src/renderer/components/CloudProjectSettingsForm.tsx | 212 | function CoderWorkspaceNamePrefixRow({ project }: { project: CloudCpProject }) { | CODE |
| 725 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | frontend/forge.config.ts | 81 | } | COMMENT |
| LOW | frontend/forge.config.ts | 241 | const detail = smoke.error?.message || smoke.stderr || smoke.stdout; | COMMENT |
| LOW | frontend/forge.config.ts | 261 | // Node, #3879) actually runs. verify-mac-artifact.sh is the canonical gate | COMMENT |
| LOW | frontend/vitest.config.ts | 1 | // `vitest run` only auto-loads vite.config.ts / vitest.config.ts — it never | COMMENT |
| LOW | frontend/vite.renderer.config.ts | 21 | } | COMMENT |
| LOW | frontend/vite.renderer.config.ts | 101 | COMMENT | |
| LOW | frontend/makers/macho-archs.ts | 1 | import { closeSync, fstatSync, openSync, readSync } from "node:fs"; | COMMENT |
| LOW | frontend/makers/maker-nsis.ts | 1 | import path from "node:path"; | COMMENT |
| LOW | frontend/makers/maker-nsis.ts | 21 | // otherwise derives the exe name from productName and points the Start menu | COMMENT |
| LOW | frontend/makers/maker-nsis.ts | 41 | // | COMMENT |
| LOW | frontend/makers/maker-nsis.ts | 121 | // to productName when it is unset. Forge's packager already named the binary | COMMENT |
| LOW | frontend/makers/maker-dmg.ts | 21 | // electron-updater that can install an update from a .dmg, so the dmg is | COMMENT |
| LOW | frontend/makers/maker-dmg.ts | 61 | // default `contents` entry). Passing Forge's PACKAGE directory here would | COMMENT |
| LOW | frontend/makers/maker-dmg.ts | 81 | productName: cfg.productName ?? appName, | COMMENT |
| LOW | frontend/makers/maker-dmg.ts | 101 | // for the published dmg, so both paths look the same. | COMMENT |
| LOW | frontend/makers/maker-appimage.ts | 1 | import path from "node:path"; | COMMENT |
| LOW | frontend/scripts/verify-mac-artifact.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | frontend/scripts/verify-mac-artifact.sh | 21 | # fine. backend/internal/cli/start.go already encodes this rule in Go for | COMMENT |
| LOW | frontend/scripts/verify-mac-artifact.sh | 41 | # 5. A valid bundle seal does not prove that nested executables received the | COMMENT |
| LOW | frontend/e2e/smoke-sessions.spec.ts | 1 | import { expect, test } from "@playwright/test"; | COMMENT |
| LOW | frontend/e2e/smoke-projects.spec.ts | 1 | import { expect, test } from "@playwright/test"; | COMMENT |
| LOW | frontend/e2e/smoke-t0.spec.ts | 1 | import { expect, test } from "@playwright/test"; | COMMENT |
| LOW | frontend/e2e/smoke-t0.spec.ts | 121 | // The real DMN-005 ("graceful quit stops the daemon, no orphan processes") is | COMMENT |
| LOW | frontend/e2e/settings-cloud-confirm-stacking.spec.ts | 1 | import { expect, test } from "@playwright/test"; | COMMENT |
| LOW | frontend/e2e/smoke-notifications.spec.ts | 1 | import { expect, test } from "@playwright/test"; | COMMENT |
| LOW | frontend/e2e/smoke-datadir.spec.ts | 1 | import { expect, test } from "@playwright/test"; | COMMENT |
| LOW | frontend/e2e/support/fake-bridge.ts | 1 | import type { Page } from "@playwright/test"; | COMMENT |
| LOW | frontend/e2e/support/fake-bridge.ts | 421 | // REST base URL and opens its SSE streams (the same seam the packaged app | COMMENT |
| LOW | frontend/src/main.ts | 261 | } | COMMENT |
| LOW | frontend/src/main.ts | 281 | } | COMMENT |
| LOW | frontend/src/main.ts | 461 | let chatDraftWindowCloseConfirmed = false; | COMMENT |
| LOW | frontend/src/main.ts | 561 | // fetch/EventSource calls to the loopback API would be CORS-blocked. | COMMENT |
| LOW | frontend/src/main.ts | 1361 | // | COMMENT |
| LOW | frontend/src/main.ts | 1481 | } | COMMENT |
| LOW | frontend/src/main.ts | 2281 | // Capture the spawned handle locally so the async lifecycle listeners act only | COMMENT |
| LOW | frontend/src/main.ts | 2381 | portConfirmed = true; | COMMENT |
| LOW | frontend/src/main.ts | 3601 | // Route update pushes at the shell WebContents, the same target daemon status | COMMENT |
| LOW | frontend/src/main.ts | 3621 | return process.execPath; | COMMENT |
| LOW | frontend/src/renderer/stores/ui-store.ts | 201 | // the always-mounted NewTaskNavigator consumes it by opening the new chat | COMMENT |
| LOW | frontend/src/renderer/stores/terminal-reset-store.ts | 1 | import { create } from "zustand"; | COMMENT |
| LOW | frontend/src/renderer/components/IntakeFields.tsx | 21 | assignee: string; | COMMENT |
| LOW | frontend/src/renderer/components/ShellTerminalTab.tsx | 21 | COMMENT | |
| LOW | frontend/src/renderer/components/BrowserPanel.tsx | 1761 | ) : null} | COMMENT |
| LOW | frontend/src/renderer/components/SearchablePicker.tsx | 61 | `${option.label} ${option.description ?? ""}`.toLowerCase().includes(search.trim().toLowerCase()), | COMMENT |
| LOW | frontend/src/renderer/components/SwipeNavigation.tsx | 1 | import { ArrowLeft, ArrowRight } from "lucide-react"; | COMMENT |
| LOW | frontend/src/renderer/components/ShellTopbar.tsx | 61 | // Orchestrator launcher when a project is in scope. Embedded mode contributes | COMMENT |
| LOW | frontend/src/renderer/components/WorkspaceDiffView.tsx | 161 | return selection.anchorNode !== null && container.contains(selection.anchorNode); | COMMENT |
| LOW | …nd/src/renderer/components/ConnectMobileModal.test.tsx | 461 | COMMENT | |
| LOW | frontend/src/renderer/components/XtermTerminal.tsx | 1 | // Self-contained xterm.js surface, ported from yyork's terminal architecture. | COMMENT |
| LOW | frontend/src/renderer/components/XtermTerminal.tsx | 121 | } | COMMENT |
| LOW | frontend/src/renderer/components/XtermTerminal.tsx | 721 | drawBoldTextInBrightColors: true, | COMMENT |
| LOW | frontend/src/renderer/components/XtermTerminal.tsx | 1081 | // Shift+Enter → newline without submitting, matching Claude Code / Codex. | COMMENT |
| LOW | frontend/src/renderer/components/XtermTerminal.tsx | 1141 | // Copy on select: releasing the mouse button after a selection copies it, | COMMENT |
| LOW | frontend/src/renderer/components/XtermTerminal.tsx | 1261 | // backstop. By 600ms the WebGL atlas and font metrics are unambiguously | COMMENT |
| LOW | frontend/src/renderer/components/XtermTerminal.tsx | 1421 | // wrong grid would otherwise freeze for the whole session. | COMMENT |
| LOW | frontend/src/renderer/components/XtermTerminal.tsx | 1461 | }); | COMMENT |
| LOW | frontend/src/renderer/components/TitlebarNav.tsx | 21 | // Linux has no traffic lights, so it sits at the sidebar's top-left. (Windows | COMMENT |
| LOW | frontend/src/renderer/components/TerminalPane.tsx | 201 | // while `generation` stays the raw value the workspace reconcile loop compares | COMMENT |
| LOW | frontend/src/renderer/components/TerminalPane.tsx | 361 | // Cloud sessions do not share the pooled local-daemon socket: each runs in its | COMMENT |
| LOW | frontend/src/renderer/components/TerminalPane.tsx | 381 | // handle so it never reuses the agent's or an earlier review's factory. | COMMENT |
| 734 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | …/src/renderer/test/shell-new-session-shortcut.test.tsx | 750 | const publish = shellMocks.queryClient.setQueryData.mock.calls.at(-1)?.[1] as (current: WorkspaceSummary[]) => Workspa | CODE |
| CRITICAL | frontend/src/renderer/hooks/useCloudScriptRuns.test.tsx | 68 | const calls = mocks.client.listChatEvents.mock.calls.map(([, , query]) => query); | CODE |
| CRITICAL | frontend/src/renderer/hooks/useCloudScriptRuns.test.tsx | 77 | expect(mocks.client.listChatEvents.mock.calls.at(-1)?.[2]).toMatchObject({ after: 3, types: undefined }); | CODE |
| CRITICAL | frontend/src/browser-extension/executor.ts | 66 | this.deps.chrome.webNavigation.onCommitted.addListener((details) => count(details.tabId, details.frameId)); | CODE |
| CRITICAL | frontend/src/browser-extension/executor.ts | 79 | const stored = await this.deps.chrome.storage.local.get(POLICY_KEY); | CODE |
| CRITICAL | frontend/src/main/render-check.test.ts | 481 | expect(release.mock.invocationCallOrder[0]).toBeGreaterThan(f.contents.executeJavaScriptInIsolatedWorld.mock.invocatio | CODE |
| CRITICAL | frontend/src/main/browser-view-host.test.ts | 4860 | views.map((view) => view.webContents.loadURL.mock.calls.filter(([url]) => url !== "about:blank").length); | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | frontend/package-lock.json | 18977 | "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.3.tgz", | CODE |
| MEDIUM | test/e2e-pod/boot-real.sh | 4 | # The release .deb and this harness are uploaded by the runner (AO_DEB_PATH) — | COMMENT |
| MEDIUM | backend/internal/session_manager/manager_test.go | 11728 | // exactly one poll): #1 Deliver's pre-paste read, #2 Send's harness lookup, | COMMENT |
| MEDIUM | backend/internal/session_manager/manager_test.go | 11815 | // re-read (reads #1-#3 are Deliver's pre-paste read, Send's harness lookup, | COMMENT |
| MEDIUM | backend/internal/session_manager/provision_test.go | 302 | t.Fatalf("unpinned worker config for %q = %#v, want model=worker mode=high", harness, got) | CODE |
| MEDIUM | backend/internal/observe/usage/parser_test.go | 574 | // Break caught: a build before #2928 wrote the harness name — "claude-code", | COMMENT |
| MEDIUM | backend/internal/adapters/scm/gitlab/auth.go | 191 | // all lines so it is robust against reordering of fields or checkmark prefixes | COMMENT |
| MEDIUM | backend/internal/review/review.go | 830 | return fmt.Errorf("%w: %s is already reviewing PR #%d head %s; wait for it, cancel it with `ao review cancel`, or cho | CODE |
| MEDIUM | …nd/internal/service/systeminstall/unreal_agent_test.go | 8 | t.Fatalf("plan = %#v, want bundled-harness explanation", plan) | CODE |
| MEDIUM | backend/internal/service/review/telemetry_wire_test.go | 150 | t.Fatalf("triggered.harness = %#v, want claude-code", triggered.props["harness"]) | CODE |
| MEDIUM | backend/internal/service/review/review_test.go | 590 | t.Fatalf("harness = %#v, want claude-code", p["harness"]) | CODE |
| MEDIUM | backend/pkg/agentruntime/command_test.go | 305 | t.Fatalf("%s restore = (%#v, %v, %v), want unavailable", harness, cmd, ok, err) | CODE |
| MEDIUM | scripts/setup-self-hosted.sh | 243 | # A daemon launched by a service must see the same harness tools as this shell. | COMMENT |
| MEDIUM | .github/workflows/e2e-gate-tests.yml | 21 | # harness emits (AO_VERDICT lines from boot-real.sh) and what the release | COMMENT |
| MEDIUM | .github/workflows/e2e-gate-tests.yml | 22 | # conductor invokes. Re-run the contract tests when the harness moves so | COMMENT |
| MEDIUM | .github/workflows/mac-update-e2e.yml | 47 | # out. The harness checks this explicitly and fails in seconds; see the | COMMENT |
| MEDIUM | .github/workflows/mac-update-e2e.yml | 116 | # here is a real signal, not harness noise. | COMMENT |
| MEDIUM | .github/workflows/mac-update-e2e.yml | 130 | # The harness waits on AO_E2E_UPDATE_SENTINEL, and that listener only | COMMENT |
| MEDIUM | .github/workflows/mac-update-e2e.yml | 134 | # looks like a broken update. Same check the harness makes, hoisted into | COMMENT |
| MEDIUM | .github/workflows/harness-release-feeds.yml | 3 | # Queries every vendor feed and package registry the harness update advisory | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | frontend/src/renderer/components/Sidebar.test.tsx | 658 | cloudSessionState.session = { user: { email: "user@example.com" } }; | CODE |
| LOW | frontend/src/renderer/components/Sidebar.test.tsx | 668 | cloudSessionState.session = { user: { email: "user@example.com" } }; | CODE |
| LOW | …rc/renderer/components/ProjectScriptsSettings.test.tsx | 111 | expect(cleanup).toHaveAttribute("placeholder", "none"); | CODE |
| LOW | …nderer/components/CloudProjectScriptsSettings.test.tsx | 200 | expect(first).toHaveAttribute("placeholder", "30"); | CODE |
| LOW | …nderer/components/CloudProjectScriptsSettings.test.tsx | 226 | expect(await screen.findByLabelText("Time limit for step 1, in minutes")).toHaveAttribute("placeholder", "30"); | CODE |
| LOW | …nderer/components/CloudProjectScriptsSettings.test.tsx | 229 | expect(cleanup).toHaveAttribute("placeholder", "10"); | CODE |
| LOW | …src/renderer/components/CloudProjectLayoutSettings.tsx | 113 | case "placeholder": | CODE |
| LOW | …nd/src/renderer/components/GlobalSettingsForm.test.tsx | 989 | expect(await screen.findByLabelText("Title")).toHaveAttribute("placeholder", "Brief Title"); | CODE |
| LOW | …nd/src/renderer/components/GlobalSettingsForm.test.tsx | 991 | "placeholder", | CODE |
| LOW | frontend/src/renderer/components/TaskComposer.test.tsx | 985 | expect(task().getAttribute("placeholder")).toBeTruthy(); | CODE |
| LOW | frontend/src/renderer/components/TaskComposer.test.tsx | 1006 | expect(task().getAttribute("placeholder")).toBeTruthy(); | CODE |
| LOW | …end/src/renderer/components/CreateProjectFlow.test.tsx | 2744 | expect(prefix).toHaveAttribute("placeholder", "app"); | CODE |
| LOW | …nderer/components/settings/AgentModelCombobox.test.tsx | 332 | expect(search).toHaveAttribute("placeholder", "Search models"); | CODE |
| LOW | …nderer/components/settings/AgentModelCombobox.test.tsx | 499 | expect(search).toHaveAttribute("placeholder", "Search models or providers"); | CODE |
| LOW | …er/components/settings/CloudHarnessLoginPanel.test.tsx | 123 | expect(screen.getByLabelText("Setup token")).toHaveAttribute("placeholder", "Paste your setup token"); | CODE |
| LOW | …/src/renderer/components/chat/ElicitationDock.test.tsx | 301 | expect(other).toHaveAttribute("placeholder", "Other approach…"); | CODE |
| LOW | frontend/src/renderer/lib/cloud-project-repos.ts | 278 | export function workingDirectoryProblem(value: string, options: { standalone?: boolean } = {}): "length" | "characters" | CODE |
| LOW | frontend/src/renderer/lib/cloud-project-repos.ts | 290 | if (/[{}$`\\]/.test(rest.split("{repo}").join(""))) return "placeholder"; | CODE |
| LOW | frontend/src/renderer/lib/cloud-project-repos.test.ts | 119 | expect(workingDirectoryProblem("~/work/{name}")).toBe("placeholder"); | CODE |
| LOW | frontend/src/renderer/lib/cloud-project-repos.test.ts | 120 | expect(workingDirectoryProblem("~/work/$USER")).toBe("placeholder"); | CODE |
| LOW | frontend/src/renderer/i18n/renderer-coverage.test.ts | 7 | const displayAttributes = new Set(["alt", "aria-label", "placeholder", "title"]); | CODE |
| LOW | frontend/src/browser-extension/snapshot.ts | 290 | name = labelText(element) || element.getAttribute("placeholder") || ""; | CODE |
| LOW | …ckend/internal/adapters/reviewer/cursor/cursor_test.go | 284 | if err := os.WriteFile(userConfigPath, []byte(`{"version":1,"authInfo":{"email":"user@example.com","userId":"user-1","a | CODE |
| LOW | …ckend/internal/adapters/reviewer/cursor/cursor_test.go | 309 | if config.AuthInfo["email"] != "user@example.com" || config.AuthInfo["userId"] != "user-1" || config.AuthInfo["authId"] | CODE |
| LOW | backend/internal/adapters/agent/kilocode/auth_test.go | 105 | VALUES ('acct_1', 'user@example.com', 'https://kilo.ai', 'token', 'refresh', 1, 1); | CODE |
| LOW | backend/internal/adapters/agent/grok/auth_test.go | 107 | writeGrokAuthFile(t, `{"https://auth.x.ai::account":{"email":"user@example.com"}}`) | CODE |
| LOW | …nternal/adapters/agent/commandcode/sessionhome_test.go | 1303 | home := filepath.Join(root, "Jane Doe") | CODE |
| LOW | …ckend/internal/adapters/agent/kiro/auth_whoami_test.go | 19 | signedInWhoami = `{"accountType":"IamIdentityCenter","email":"user@example.com","region":"eu-west-1","startUrl":"https | CODE |
| LOW | …ckend/internal/adapters/agent/kiro/auth_whoami_test.go | 93 | if err != nil || status != ports.AgentAuthStatusAuthorized || account.Email != "user@example.com" { | CODE |
| LOW | …ckend/internal/adapters/agent/kiro/auth_whoami_test.go | 110 | if err != nil || status != ports.AgentAuthStatusAuthorized || account.Email != "user@example.com" { | CODE |
| LOW | backend/internal/adapters/agent/hermes/hermes_test.go | 709 | {"superseded env key", ".env", "OPENROUTER_API_KEY=review-dummy-key\nOPENROUTER_API_KEY=\n", false, ""}, | CODE |
| LOW | backend/internal/adapters/agent/hermes/hermes_test.go | 1205 | t.Setenv("OPENROUTER_API_KEY", "sk-or-review-dummy-key") | CODE |
| LOW | backend/internal/adapters/agent/hermes/hermes_test.go | 1231 | t.Setenv("OPENROUTER_API_KEY", "sk-or-review-dummy-key") | CODE |
| LOW | …kend/internal/adapters/agent/opencode/opencode_test.go | 84 | VALUES ('acct_1', 'user@example.com', 'https://opencode.ai', 'token', 'refresh', 1, 1); | CODE |
| LOW | …kend/internal/adapters/agent/opencode/opencode_test.go | 116 | VALUES ('acct_1', 'user@example.com', 'https://opencode.ai', 'token', 'refresh', 1, 1); | CODE |
| LOW | …kend/internal/adapters/agent/opencode/opencode_test.go | 153 | VALUES ('user@example.com', 'https://opencode.ai', 'token', 'refresh', 1, 1, 1); | CODE |
| LOW | backend/internal/adapters/telemetry/identity_test.go | 147 | if ident.SetCloudUserID(context.Background(), "user@example.com") == nil || ident.SetCloudUserID(context.Background(), | CODE |
| LOW | packages/product-ui/src/TaskComposerView.test.tsx | 125 | expect(prompt).toHaveAttribute("placeholder", "Describe the task (optional)…"); | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | frontend/e2e/smoke-t0.spec.ts | 23 | // ── INS: install / first run ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | frontend/e2e/smoke-t0.spec.ts | 89 | // ── DMN: daemon lifecycle / health ────────────────────────────────────────── | COMMENT |
| MEDIUM | frontend/e2e/smoke-t0.spec.ts | 158 | // ── BRD: board ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | frontend/e2e/smoke-t0.spec.ts | 194 | // ── SET: settings ──────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | frontend/e2e/support/fake-bridge.ts | 413 | // ── Fake-agent timeline harness (FAKE tier) ───────────────────────────────── | COMMENT |
| MEDIUM | frontend/src/renderer/lib/browser-tab-label.test.ts | 9 | // ─── empty / blank URL ─────────────────────────────────────────────────── | COMMENT |
| MEDIUM | frontend/src/renderer/lib/browser-tab-label.test.ts | 42 | // ─── standard HTTP(S) URLs ─────────────────────────────────────────────── | COMMENT |
| MEDIUM | frontend/src/renderer/lib/browser-tab-label.test.ts | 74 | // ─── file: URIs ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | frontend/src/renderer/lib/browser-tab-label.test.ts | 101 | // ─── other protocols ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM | frontend/src/renderer/lib/browser-tab-label.test.ts | 109 | // ─── malformed / invalid URLs ──────────────────────────────────────────── | COMMENT |
| MEDIUM | …d/internal/adapters/agent/copilot/terminal_activity.go | 30 | // rules ─────── blocks ╻▄▄▄▄▄▄▄ | COMMENT |
| MEDIUM | …d/internal/adapters/agent/copilot/terminal_activity.go | 32 | // ─────── ╹▀▀▀▀▀▀▀ | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | backend/internal/adapters/agent/copilot/copilot.go | 5 | // This adapter targets the standalone agentic GitHub Copilot CLI (binary | COMMENT |
| MEDIUM | backend/internal/adapters/agent/modelcatalog/catalog.go | 1074 | // cost" and "600B sparse-MoE agentic coding with 1M context" as if they were | COMMENT |
| MEDIUM | backend/internal/adapters/agent/kiro/kiro.go | 5 | // Kiro is AWS's agentic coding assistant. Its terminal CLI ships as the | COMMENT |
| MEDIUM | backend/internal/adapters/agent/kimi/kimi.go | 5 | // Kimi CLI (binary "kimi") is Moonshot AI's terminal-native agentic coding | COMMENT |
| MEDIUM | docs/architecture.md | 877 | ### Termination guardrails | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …s/generate-mobile-store-screenshots-inference-style.py | 55 | except OSError: | CODE |
| HIGH | …ub/scripts/contributor-project/scripts/sync_project.py | 641 | except (TypeError, ValueError): | CODE |
| HIGH | …ripts/contributor-project/scripts/ownership_extract.py | 162 | except (OSError, ValueError, KeyError, TypeError): | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | packages/mobile/scripts/icon-build/from-desktop.py | 79 | CODE | |
| LOW | …scripts/contributor-project/tests/test_sync_scaling.py | 21 | CODE | |
| LOW | …scripts/contributor-project/tests/test_project_sync.py | 854 | CODE | |
| LOW | …scripts/contributor-project/tests/test_project_sync.py | 1084 | CODE | |
| LOW | …ub/scripts/contributor-project/scripts/sync_project.py | 474 | CODE | |
| LOW | …ub/scripts/contributor-project/scripts/sync_project.py | 578 | CODE | |
| LOW | …ub/scripts/contributor-project/scripts/sync_project.py | 830 | CODE | |
| LOW | …ub/scripts/contributor-project/scripts/sync_project.py | 1108 | CODE | |
| LOW | …ub/scripts/contributor-project/scripts/sync_project.py | 1148 | CODE | |
| LOW | …ub/scripts/contributor-project/scripts/build_owners.py | 26 | CODE | |
| LOW | …ripts/contributor-project/scripts/ownership_extract.py | 64 | CODE | |
| LOW | …ripts/contributor-project/scripts/ownership_extract.py | 90 | CODE | |
| LOW | …ripts/contributor-project/scripts/ownership_extract.py | 148 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | backend/internal/session_manager/manager.go | 2424 | // always wins so spawn overrides are reported exactly as requested. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | backend/internal/adapters/agent/autohand/auth.go | 108 | case "api key", "apikey", "your api key", "your-api-key", "your_api_key", "token", "your token", "your-token", "your_to | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | packages/mobile/lib/chat/syntaxHighlight.ts | 15 | python: words("and as assert async await break class continue def del elif else except False finally for from global if | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | backend/internal/session_manager/manager.go | 4433 | // Step 1: ensure the worktree exists. workspace.Restore re-creates it | COMMENT |
| LOW | backend/internal/session_manager/manager.go | 4482 | // Step 2: replay preserve ref when one was recorded. | COMMENT |
| LOW | backend/internal/session_manager/manager.go | 4512 | // Step 3: relaunch the agent in the restored workspace. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | backend/internal/session_manager/manager.go | 4433 | // Step 1: ensure the worktree exists. workspace.Restore re-creates it | COMMENT |
| LOW | backend/internal/session_manager/manager.go | 4482 | // Step 2: replay preserve ref when one was recorded. | COMMENT |
| LOW | backend/internal/session_manager/manager.go | 4512 | // Step 3: relaunch the agent in the restored workspace. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …s/generate-mobile-store-screenshots-inference-style.py | 2 | CODE | |
| LOW | scripts/generate-mobile-store-screenshots.py | 2 | CODE | |
| LOW | scripts/generate-mobile-store-screenshots.py | 5 | CODE | |
| LOW | …ub/scripts/contributor-project/scripts/sync_project.py | 4 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | backend/internal/service/session/claim_pr.go | 154 | // TODO: implement workspace branch checkout. Until then, leave BranchChanged | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …scripts/contributor-project/tests/test_project_sync.py | 104 | CODE |