An Open-Source Cloud Software Factory
This report summarizes scanner evidence for langchain-ai/open-swe, a Python project with 10,990 GitHub stars. SynthScan examined 374,397 lines of code across 1945 source files, recording 4205 pattern matches distributed across 18 syntactic categories. The legacy adjusted pattern signal is 12.2 (Moderate 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.
Can maintainers explain intent, assumptions, and trade-offs? 2963 finding(s).
Are imports declared and package/API names verified? 318 finding(s).
Are wrappers, guards, and repeated structures necessary? 3764 finding(s).
Which changes need focused human review? 4205 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 4205 distinct pattern matches across 18 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 | …/src/features/assistant/useModelSelectionSubmission.ts | 6 | export function useModelSelectionSubmission( | CODE |
| LOW | …s/settings/components/WorkspaceRepositoriesSection.tsx | 9 | export function WorkspaceRepositoriesSection({ | CODE |
| LOW | …res/settings/components/ManagedToolsGatewaySection.tsx | 15 | export function ManagedToolsGatewaySection({ | CODE |
| LOW | …es/settings/components/PersonalInstructionsSection.tsx | 12 | export function PersonalInstructionsSection() { | CODE |
| LOW | ui/src/features/agents/terminal/terminalLinks.ts | 65 | export function collectWrappedTerminalLinkLine( | CODE |
| LOW | ui/src/features/agents/terminal/ghostty/surface.ts | 63 | function ensureTerminalSymbolsFont(): Promise<void> { | CODE |
| LOW | ui/src/features/agents/terminal/ghostty/surface.ts | 79 | function quoteTerminalFontFamilies(list: string): string { | CODE |
| LOW | ui/src/features/agents/terminal/ghostty/surface.ts | 93 | function uncheckedTerminalFontFamily(family?: string): string { | CODE |
| LOW | ui/src/features/agents/terminal/ghostty/surface.ts | 152 | export function shouldBlinkTerminalCursor(state: { | CODE |
| LOW | ui/src/features/agents/terminal/ghostty/surface.ts | 191 | export function terminalScrollbarGeometry( | CODE |
| LOW | ui/src/features/agents/terminal/ghostty/surface.ts | 212 | export function terminalScrollbarOffsetAtPointer( | CODE |
| LOW | ui/src/features/agents/terminal/ghostty/surface.ts | 297 | export function terminalLinkAtPositionWithRange( | CODE |
| LOW | ui/src/features/agents/terminal/ghostty/surface.ts | 397 | export function isTerminalCompositionCommitInput( | CODE |
| LOW | ui/src/features/agents/terminal/ghostty/surface.ts | 413 | export function shouldReportTerminalMouse( | CODE |
| LOW | ui/src/features/agents/terminal/ghostty/surface.ts | 454 | export function isTerminalLinkPointerGesture( | CODE |
| LOW | ui/src/features/agents/terminal/ghostty/surface.ts | 463 | export function shouldShowTerminalLinkHover( | CODE |
| LOW | ui/src/features/agents/terminal/ghostty/surface.ts | 494 | export function advanceTerminalSelectionClickSequence( | CODE |
| LOW | ui/src/features/agents/terminal/ghostty/keyCodes.ts | 223 | export function loadGhosttyKeyboardLayoutMap(): Promise< | CODE |
| LOW | ui/src/features/agents/terminal/ghostty/keyCodes.ts | 242 | export function ghosttyUnshiftedCodepoint( | CODE |
| LOW | ui/src/features/agents/utils/diffUtils.ts | 87 | function handleDiffOverflowStorage(event: StorageEvent): void { | CODE |
| LOW | …/src/features/agents/components/PullRequestPreview.tsx | 32 | export function parseGitHubPullRequestUrl( | CODE |
| LOW | …/src/features/agents/components/PullRequestPreview.tsx | 52 | export function PullRequestPreviewProvider({ | CODE |
| LOW | …/src/features/agents/components/PullRequestPreview.tsx | 92 | export function PreviewablePullRequestLink({ | CODE |
| LOW | ui/src/features/agents/components/SidebarThreadRow.tsx | 140 | function openContextMenuFromKeyboard( | CODE |
| LOW | …/agents/components/chat/ManagedToolsConnectionCard.tsx | 17 | export function ManagedToolsConnectionCard({ | CODE |
| LOW | …src/features/agents/components/chat/markdownPlugins.ts | 71 | function isSameLineOverIndentedCode( | CODE |
| LOW | …src/features/agents/components/chat/markdownPlugins.ts | 148 | export function remarkNormalizeListItemIndentation(this: MarkdownParser) { | CODE |
| LOW | …es/agents/components/composer/ComposerPromptEditor.tsx | 640 | function ComposerPromptEditorInner({ | CODE |
| LOW | …features/agents/components/composer/composerTrigger.ts | 46 | function encodeMarkdownLinkDestination(path: string): string { | CODE |
| LOW | …features/agents/components/composer/composerTrigger.ts | 59 | export function serializeComposerFileLink(path: string): string { | CODE |
| LOW | ui/src/features/agents/lib/autoSelectionIntent.ts | 2 | export function createAutoSelectionIntent() { | CODE |
| LOW | ui/src/features/agents/lib/diffPanelStore.ts | 36 | export function migratePersistedDiffPanelState(persistedState: unknown): { | CODE |
| LOW | ui/src/features/agents/lib/sidebarThreads.ts | 231 | export function groupSidebarThreadsByRepo( | CODE |
| LOW | ui/src/features/agents/lib/sidebarThreads.ts | 305 | export function groupSidebarThreadsByWorkspace( | CODE |
| LOW | ui/src/features/agents/lib/contextUsage.ts | 24 | export function contextUsageFromUsageMetadata( | CODE |
| LOW | ui/src/features/agents/lib/queries.ts | 71 | export function invalidateAgentThreadLists(queryClient: QueryClient): void { | CODE |
| LOW | ui/src/features/agents/lib/queries.ts | 222 | function snapshotAgentThreadQueries( | CODE |
| LOW | ui/src/features/agents/lib/queries.ts | 290 | export function restoreAgentThreadQueries( | CODE |
| LOW | ui/src/features/agents/lib/queries.ts | 505 | export function useOrganizationAgentSkills(enabled = true) { | CODE |
| LOW | ui/src/features/agents/lib/queries.ts | 596 | export function useSeedAgentThreadDetails( | CODE |
| LOW | ui/src/features/agents/lib/queries.ts | 851 | export function useAgentThreadPullRequestStatus( | CODE |
| LOW | ui/src/features/agents/lib/queries.ts | 866 | export function useAgentThreadQueuedMessages(threadId: string) { | CODE |
| LOW | ui/src/features/agents/lib/queries.ts | 885 | export function useAgentThreadWorkingTreeDiff( | CODE |
| LOW | ui/src/features/agents/lib/queries.ts | 937 | export function useWorkflowApprovalDecision(threadId: string) { | CODE |
| LOW | ui/src/features/agents/lib/queries.ts | 1162 | export function useAdminCancelAgentThread() { | CODE |
| LOW | ui/src/features/agents/lib/queries.ts | 1211 | export function useShareThreadWithWorkspace() { | CODE |
| LOW | ui/src/features/agents/lib/queries.ts | 1225 | export function useContinueThreadPrivately() { | CODE |
| LOW | ui/src/features/agents/lib/terminalSession.ts | 151 | export function useDesktopTerminalMetadata( | CODE |
| LOW | ui/src/features/agents/lib/terminalSession.ts | 245 | export function cloudTerminalReconnectDelay(attempt: number): number { | CODE |
| LOW | ui/src/features/agents/lib/terminalSession.ts | 249 | export function shouldReconnectCloudTerminal( | CODE |
| LOW | ui/src/features/agents/lib/api.ts | 191 | function filenameFromContentDisposition(value: string | null): string | null { | CODE |
| LOW | ui/src/features/agents/lib/gitPanelPreferences.ts | 17 | export function writeStoredPanelCollapsed( | CODE |
| LOW | ui/src/features/agents/lib/structuredInputMessages.ts | 268 | export function collectStructuredEntities( | CODE |
| LOW | ui/src/features/agents/lib/rightPanelStore.ts | 177 | export function migratePersistedRightPanelState(persistedState: unknown): { | CODE |
| LOW | ui/src/features/agents/lib/rightPanelStore.ts | 582 | export function selectThreadRightPanelState( | CODE |
| LOW | ui/src/features/agents/lib/rightPanelStore.ts | 591 | export function selectSelectedRightPanelSurface( | CODE |
| LOW | ui/src/features/agents/lib/rightPanelStore.ts | 602 | export function selectActiveRightPanelSurface( | CODE |
| LOW | ui/src/features/agents/lib/legacyLocal.ts | 23 | export async function ensureDesktopModelCredential( | CODE |
| LOW | ui/src/features/agents/lib/legacyLocal.ts | 43 | export function useReadyLegacyLocalThread(threadId: string) { | CODE |
| LOW | ui/src/features/agents/lib/legacyLocal.ts | 100 | export function useMarkLegacyLocalThreadViewed() { | CODE |
| 2759 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | evals/reviewer/run_eval.py | 242 | except Exception: | CODE |
| LOW | evals/reviewer/run_eval.py | 269 | except Exception: | CODE |
| LOW | evals/reviewer/run_eval.py | 284 | except Exception as exc: | CODE |
| LOW | evals/reviewer/run_eval.py | 297 | except Exception: | CODE |
| LOW | evals/reviewer/store_reporter.py | 93 | except Exception: | CODE |
| LOW | evals/reviewer/target.py | 214 | except Exception: | CODE |
| LOW | evals/reviewer/build_dataset.py | 132 | except Exception as exc: | CODE |
| MEDIUM | tests/e2e/harness.py | 98 | def _exit_when_orphaned() -> None: | CODE |
| LOW | tests/e2e/harness.py | 101 | except Exception: | CODE |
| LOW | openswe/store.py | 94 | except Exception as exc: | CODE |
| LOW | openswe/store.py | 116 | except Exception as exc: | CODE |
| LOW⚡ | openswe/server.py | 392 | except Exception: | CODE |
| LOW⚡ | openswe/server.py | 407 | except Exception: | CODE |
| LOW⚡ | openswe/server.py | 418 | except Exception: | CODE |
| LOW⚡ | openswe/server.py | 427 | except Exception: | CODE |
| LOW | openswe/server.py | 529 | except Exception: | CODE |
| LOW | openswe/server.py | 735 | except Exception: | CODE |
| LOW | openswe/server.py | 893 | except Exception as e: # noqa: BLE001 | CODE |
| LOW | openswe/server.py | 1142 | except Exception: | CODE |
| LOW | openswe/server.py | 1161 | except Exception: | CODE |
| LOW | openswe/server.py | 1362 | except Exception: | CODE |
| LOW | openswe/server.py | 1451 | except Exception: | CODE |
| LOW | openswe/baby_sit.py | 58 | except Exception: | CODE |
| LOW | openswe/baby_sit.py | 67 | except Exception: | CODE |
| LOW | openswe/baby_sit.py | 180 | except Exception: | CODE |
| LOW | openswe/baby_sit.py | 229 | except Exception: | CODE |
| LOW | openswe/baby_sit.py | 234 | except Exception: | CODE |
| LOW | openswe/baby_sit.py | 247 | except Exception: | CODE |
| LOW | openswe/baby_sit.py | 295 | except Exception: | CODE |
| LOW | openswe/baby_sit.py | 316 | except Exception: | CODE |
| LOW | openswe/baby_sit.py | 327 | except Exception: | CODE |
| LOW | openswe/baby_sit.py | 352 | except Exception: | CODE |
| LOW | openswe/baby_sit.py | 528 | except Exception: | CODE |
| LOW | openswe/background_tasks.py | 258 | except Exception: | CODE |
| LOW | openswe/background_tasks.py | 298 | except Exception: | CODE |
| LOW | openswe/agent_cost.py | 91 | except Exception: # noqa: BLE001 | CODE |
| LOW | openswe/agent_cost.py | 108 | except Exception: # noqa: BLE001 | CODE |
| LOW | openswe/agent_cost.py | 146 | except Exception: # noqa: BLE001 | CODE |
| LOW | openswe/agent_cost.py | 158 | except Exception: # noqa: BLE001 | CODE |
| LOW | openswe/agent_cost.py | 219 | except Exception: # noqa: BLE001 | CODE |
| LOW | openswe/completion.py | 186 | except Exception: # noqa: BLE001 | CODE |
| LOW | openswe/completion.py | 337 | except Exception: # noqa: BLE001 | CODE |
| LOW | openswe/completion.py | 351 | except Exception: # noqa: BLE001 | CODE |
| LOW | openswe/completion.py | 359 | except Exception: # noqa: BLE001 | CODE |
| LOW | openswe/completion.py | 380 | except Exception: | CODE |
| LOW | openswe/completion.py | 419 | except Exception: # noqa: BLE001 | CODE |
| LOW | openswe/completion.py | 443 | except Exception: # noqa: BLE001 | CODE |
| LOW | openswe/completion.py | 474 | except Exception: # noqa: BLE001 | CODE |
| LOW | openswe/completion.py | 523 | except Exception: | CODE |
| LOW | openswe/completion.py | 571 | except Exception: # noqa: BLE001 | CODE |
| LOW | openswe/completion.py | 607 | except Exception: # noqa: BLE001 | CODE |
| LOW | openswe/completion.py | 629 | except Exception: # noqa: BLE001 | CODE |
| LOW | openswe/session_cost.py | 107 | except Exception: | CODE |
| LOW | openswe/session_cost.py | 133 | except Exception: # noqa: BLE001 | CODE |
| LOW | openswe/session_cost.py | 139 | except Exception: # noqa: BLE001 | CODE |
| LOW | openswe/session_cost.py | 239 | except Exception: # noqa: BLE001 | CODE |
| LOW | openswe/dispatch.py | 337 | except Exception: | CODE |
| LOW | openswe/rollout_events.py | 255 | except Exception: # noqa: BLE001 | CODE |
| LOW | openswe/chat.py | 107 | except Exception as e: # noqa: BLE001 | CODE |
| LOW | openswe/thread_title.py | 148 | except Exception: | CODE |
| 505 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | evals/reviewer/run_eval.py | 35 | logger = logging.getLogger(__name__) | CODE |
| LOW | evals/reviewer/store_reporter.py | 25 | logger = logging.getLogger(__name__) | CODE |
| LOW | evals/reviewer/costs.py | 29 | logger = logging.getLogger(__name__) | CODE |
| LOW | evals/reviewer/target.py | 26 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/reviewer/test_reviewer_outcomes.py | 40 | def update_example(self, **kwargs: Any) -> None: | CODE |
| LOW⚡ | tests/auth/test_encryption.py | 10 | def _set_key(monkeypatch: pytest.MonkeyPatch, value: str) -> None: | CODE |
| LOW | tests/utils/test_startup_trace.py | 24 | def update_run(self, run_id: Any, **kwargs: Any) -> None: | CODE |
| LOW | tests/e2e/agent_entrypoint.py | 19 | __all__ = ["traced_agent"] | CODE |
| LOW | tests/e2e/chat_entrypoint.py | 18 | __all__ = ["traced_chat_agent"] | CODE |
| LOW | tests/e2e/scheduler_entrypoint.py | 20 | __all__ = ["get_scheduler"] | CODE |
| LOW | tests/e2e/patches.py | 24 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/e2e/review_scout_entrypoint.py | 18 | __all__ = ["traced_review_scout"] | CODE |
| LOW | tests/e2e/fakes.py | 653 | def set_repo_private(value: bool) -> None: | CODE |
| LOW | tests/e2e/fakes.py | 694 | def set_collaborator_permission(login: str, permission: str) -> None: | CODE |
| LOW | mda/reviewer/open_swe_reviewer/middleware.py | 32 | logger = logging.getLogger(__name__) | CODE |
| LOW | openswe/store.py | 27 | logger = logging.getLogger(__name__) | CODE |
| LOW | openswe/server.py | 20 | logger = logging.getLogger(__name__) | CODE |
| LOW | openswe/encryption.py | 9 | logger = logging.getLogger(__name__) | CODE |
| LOW | openswe/baby_sit.py | 36 | logger = logging.getLogger(__name__) | CODE |
| LOW | openswe/background_tasks.py | 32 | logger = logging.getLogger(__name__) | CODE |
| LOW | openswe/agent_cost.py | 21 | logger = logging.getLogger(__name__) | CODE |
| LOW | openswe/completion.py | 48 | logger = logging.getLogger(__name__) | CODE |
| LOW | openswe/completion.py | 143 | async def _settle_failed_reviewer_check(thread_id: str, metadata: dict[str, Any]) -> None: | CODE |
| LOW | openswe/completion.py | 424 | async def _settle_transcript_turn(thread_id: str, run_id: str | None, status: object) -> None: | CODE |
| LOW | openswe/session_cost.py | 23 | logger = logging.getLogger(__name__) | CODE |
| LOW | openswe/dispatch.py | 61 | logger = logging.getLogger(__name__) | CODE |
| LOW | openswe/webapp.py | 5 | __all__ = ["app"] | CODE |
| LOW | openswe/rollout_events.py | 28 | logger = logging.getLogger(__name__) | CODE |
| LOW | openswe/chat.py | 73 | logger = logging.getLogger(__name__) | CODE |
| LOW | openswe/thread_ids.py | 13 | __all__ = [ | CODE |
| LOW | openswe/message_queue.py | 22 | logger = logging.getLogger(__name__) | CODE |
| LOW | openswe/thread_title.py | 19 | logger = logging.getLogger(__name__) | CODE |
| LOW | openswe/reviewer.py | 26 | logger = logging.getLogger(__name__) | CODE |
| LOW | openswe/source_context.py | 29 | logger = logging.getLogger(__name__) | CODE |
| LOW | openswe/thread_feedback.py | 14 | logger = logging.getLogger(__name__) | CODE |
| LOW | openswe/scheduler.py | 31 | logger = logging.getLogger(__name__) | CODE |
| LOW | openswe/prompt.py | 14 | logger = logging.getLogger(__name__) | CODE |
| LOW | openswe/run_config.py | 36 | logger = logging.getLogger(__name__) | CODE |
| LOW | openswe/reconcile.py | 16 | logger = logging.getLogger(__name__) | CODE |
| LOW | openswe/local_checkpointer.py | 19 | logger = logging.getLogger(__name__) | CODE |
| LOW | openswe/middleware/require_user_reply.py | 30 | logger = logging.getLogger(__name__) | CODE |
| LOW⚡ | openswe/middleware/refresh_github_proxy.py | 20 | logger = logging.getLogger(__name__) | CODE |
| LOW | openswe/middleware/sandbox_circuit_breaker.py | 22 | logger = logging.getLogger(__name__) | CODE |
| LOW⚡ | openswe/middleware/deliver_event_matches.py | 14 | logger = logging.getLogger(__name__) | CODE |
| LOW | openswe/middleware/transcript.py | 72 | logger = logging.getLogger(__name__) | CODE |
| LOW | openswe/middleware/repair_orphaned_tool_calls.py | 26 | logger = logging.getLogger(__name__) | CODE |
| LOW | openswe/middleware/model_call_timeout.py | 20 | logger = logging.getLogger(__name__) | CODE |
| LOW | openswe/middleware/model_fallback.py | 46 | logger = logging.getLogger(__name__) | CODE |
| LOW | openswe/middleware/notify_step_limit.py | 20 | logger = logging.getLogger(__name__) | CODE |
| LOW | openswe/middleware/model_selection.py | 21 | logger = logging.getLogger(__name__) | CODE |
| LOW | openswe/middleware/__init__.py | 37 | __all__ = [ | CODE |
| LOW | openswe/middleware/subdir_agents.py | 19 | logger = logging.getLogger(__name__) | CODE |
| LOW | openswe/middleware/workflow_push_guard.py | 35 | logger = logging.getLogger(__name__) | CODE |
| LOW | openswe/middleware/dynamic_tools.py | 27 | logger = logging.getLogger(__name__) | CODE |
| LOW | openswe/middleware/settle_review_check.py | 22 | logger = logging.getLogger(__name__) | CODE |
| LOW⚡ | openswe/middleware/record_run_usage.py | 16 | logger = logging.getLogger(__name__) | CODE |
| LOW | openswe/middleware/tool_error_handler.py | 37 | logger = logging.getLogger(__name__) | CODE |
| LOW | openswe/middleware/model_errors.py | 29 | logger = logging.getLogger(__name__) | CODE |
| LOW | openswe/middleware/stale_workspace.py | 16 | logger = logging.getLogger(__name__) | CODE |
| LOW | openswe/middleware/require_cli_result.py | 22 | logger = logging.getLogger(__name__) | CODE |
| 284 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tests/tools/test_output_iframe.py | 76 | "test -f /workspace/project/chart.html && wc -c < /workspace/project/chart.html", | CODE |
| HIGH⚡ | tests/agent/test_repo_prep.py | 57 | assert "git checkout --force abc123 --quiet 2>/dev/null || true" not in cmd | CODE |
| HIGH⚡ | tests/agent/test_repo_prep.py | 59 | assert "git fetch --all --quiet || true" in cmd | CODE |
| HIGH⚡ | tests/agent/test_workflow_push_guard.py | 112 | "cd /repo && git push -u origin HEAD:feature" | CODE |
| HIGH⚡ | tests/agent/test_workflow_push_guard.py | 120 | assert guard._parse_git_push("git status && git push") is None | CODE |
| HIGH⚡ | tests/sandbox/test_sandbox_handoff.py | 27 | _git(tmp_path, "git init -q --bare -b main origin.git && git clone -q origin.git seed") | CODE |
| HIGH⚡ | tests/sandbox/test_sandbox_handoff.py | 28 | _git(tmp_path / "seed", f"echo a>a && echo d>d && git add . && git {identity} commit -qm base") | CODE |
| HIGH⚡ | tests/sandbox/test_sandbox_handoff.py | 33 | _git(source, f"git checkout -qb feat && echo b>b && git add b && git {identity} commit -qm b") | CODE |
| HIGH⚡ | tests/sandbox/test_sandbox_handoff.py | 34 | _git(source, "echo edit>>a && rm d && echo new>untracked") | CODE |
| HIGH⚡ | tests/sandbox/test_sandbox_handoff.py | 35 | _git(tmp_path, "git clone -q origin.git mac && git -C mac worktree add -q -b local ../wt main") | CODE |
| HIGH⚡ | tests/sandbox/test_sandbox_paths.py | 70 | assert backend.commands == ["test -d /workspace && test -w /workspace"] | CODE |
| HIGH | tests/sandbox/test_sandbox_paths.py | 87 | "test -d /workspace && test -w /workspace", | CODE |
| HIGH | tests/sandbox/test_sandbox_paths.py | 89 | "test -d /home/daytona && test -w /home/daytona", | CODE |
| HIGH | tests/sandbox/test_langsmith_sandbox_timeout.py | 185 | "test -e /workspace/repo/obsolete.txt || test -L /workspace/repo/obsolete.txt", | CODE |
| HIGH | tests/e2e/fake_llm.py | 757 | {"name": "execute", "args": {"command": "echo planning && ls"}, "id": "call-plan-read"} | STRING |
| HIGH | tests/e2e/fake_llm.py | 811 | "set -euo pipefail\nmkdir -p repos && echo provisioned > repos/.provisioned && ls -a repos" | STRING |
| HIGH | tests/e2e/fake_llm.py | 997 | {"command": "sleep 3 && ls"}, | CODE |
| HIGH | openswe/background_tasks.py | 139 | f"rmdir {shlex.quote(f'{TASK_ROOT}/{task_id}/notify.claim')} 2>/dev/null || true", | CODE |
| HIGH | openswe/background_tasks.py | 353 | f"rmdir {shlex.quote(MONITOR_LOCK)} 2>/dev/null || true", timeout=10 | CODE |
| HIGH | openswe/sandboxes/paths.py | 47 | f'{{ test -e "$HOME"/{name}/.git && printf %s "$HOME"/{name}; }}' | CODE |
| HIGH⚡ | openswe/sandboxes/handoff.py | 27 | cd {dir} 2>/dev/null && git rev-parse --git-dir >/dev/null 2>&1 || exit 0 | CODE |
| HIGH⚡ | openswe/sandboxes/handoff.py | 27 | cd {dir} 2>/dev/null && git rev-parse --git-dir >/dev/null 2>&1 || exit 0 | CODE |
| HIGH⚡ | openswe/sandboxes/handoff.py | 29 | git fetch -q --prune origin || true | CODE |
| HIGH⚡ | openswe/sandboxes/handoff.py | 31 | cp "$(git rev-parse --git-path index)" "$index" 2>/dev/null || rm -f "$index" | CODE |
| HIGH⚡ | openswe/sandboxes/handoff.py | 40 | echo "{prefix}$(git symbolic-ref -q --short HEAD || true)" | CODE |
| HIGH⚡ | openswe/sandboxes/handoff.py | 45 | test -e {dir}/.git || gh repo clone {repo} {dir} | CODE |
| HIGH⚡ | openswe/sandboxes/handoff.py | 54 | && git checkout -q -f -B "$b" "$wip^" 2>/dev/null; then | CODE |
| HIGH⚡ | openswe/sandboxes/repo_prep.py | 49 | f" cd {q_repo_dir} && {{ git fetch --all --quiet || true; }}", | CODE |
| HIGH⚡ | openswe/sandboxes/repo_prep.py | 56 | lines.append(f"git fetch origin {q_base} --quiet 2>/dev/null || true") | CODE |
| HIGH⚡ | openswe/sandboxes/repo_prep.py | 60 | lines.append(f"git fetch origin {q_head} --quiet 2>/dev/null || true") | CODE |
| HIGH⚡ | openswe/sandboxes/repo_prep.py | 63 | lines.append(f"git fetch origin {pull_ref} --quiet 2>/dev/null || true") | CODE |
| HIGH | openswe/tools/background_execute.py | 238 | f"acquired=; for _ in 1 2 3 4 5 6 7 8 9 10; do mkdir {lock} 2>/dev/null && acquired=1 && break; sleep .1; done; | STRING |
| HIGH | openswe/tools/repair_data.py | 35 | """Replace one Store item, or delete it with value=null, after explicit confirmation.""" | STRING |
| HIGH | openswe/transcript/projections.py | 187 | assignments.append("metadata = metadata || CAST(:metadata AS jsonb)") | CODE |
| HIGH | openswe/transcript/projections.py | 458 | text = thread_message.text || EXCLUDED.text, | STRING |
| HIGH | openswe/transcript/projections.py | 459 | reasoning = thread_message.reasoning || EXCLUDED.reasoning | STRING |
| HIGH | openswe/walkthrough/checkout.py | 82 | ' git fetch --quiet origin "$ref" 2>/dev/null || true\n' | CODE |
| HIGH | openswe/utils/turn_checkpoint.py | 26 | "if git rev-parse --verify -q HEAD >/dev/null; then git read-tree HEAD; " | CODE |
| HIGH⚡ | openswe/utils/turn_checkpoint.py | 58 | 'if B=$(git rev-parse --verify "${B_INPUT}^{tree}" 2>/dev/null); then :; ' | CODE |
| HIGH⚡ | openswe/utils/turn_checkpoint.py | 59 | 'elif [ "$B_INPUT" = HEAD ]; then B=$(git hash-object -t tree /dev/null); ' | CODE |
| HIGH⚡ | openswe/utils/turn_checkpoint.py | 61 | 'H=$(git rev-parse --verify "${H}^{tree}" 2>/dev/null) || exit 4' | CODE |
| HIGH | openswe/workspaces/store.py | 286 | f"rc=$?; cat {shlex.quote(log_path)} 2>/dev/null; exit $rc" | CODE |
| HIGH⚡ | openswe/review/eval_jobs.py | 209 | "command -v uv || curl -LsSf https://astral.sh/uv/install.sh | sh; " | CODE |
| HIGH⚡ | openswe/review/eval_jobs.py | 210 | "git init -q /root/open-swe && cd /root/open-swe && " | CODE |
| HIGH⚡ | openswe/review/eval_jobs.py | 212 | f"uv sync --locked && timeout {EVAL_TIMEOUT_SECONDS} " | CODE |
| HIGH | scripts/build_preview_branch.py | 471 | git fetch origin pull/{number}/head && git merge FETCH_HEAD # this one | CODE |
| HIGH | scripts/build_preview_branch.py | 472 | git fetch origin pull/<other>/head && git merge FETCH_HEAD # each one it clashes with | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/agent/test_agent_integration_tools.py | 25 | CODE | |
| LOW | tests/github/test_open_pull_request.py | 11 | CODE | |
| LOW | tests/e2e/agent_entrypoint.py | 17 | CODE | |
| LOW | tests/e2e/chat_entrypoint.py | 16 | CODE | |
| LOW | tests/e2e/scheduler_entrypoint.py | 18 | CODE | |
| LOW | tests/e2e/patches.py | 22 | CODE | |
| LOW | tests/e2e/review_scout_entrypoint.py | 16 | CODE | |
| LOW | openswe/server.py | 166 | CODE | |
| LOW | openswe/webapp.py | 3 | CODE | |
| LOW | openswe/middleware/__init__.py | 70 | CODE | |
| LOW | openswe/middleware/__init__.py | 71 | CODE | |
| LOW | openswe/middleware/__init__.py | 72 | CODE | |
| LOW | openswe/middleware/__init__.py | 72 | CODE | |
| LOW | openswe/middleware/__init__.py | 73 | CODE | |
| LOW | openswe/middleware/__init__.py | 74 | CODE | |
| LOW | openswe/middleware/__init__.py | 75 | CODE | |
| LOW | openswe/middleware/__init__.py | 76 | CODE | |
| LOW | openswe/middleware/__init__.py | 77 | CODE | |
| LOW | openswe/middleware/__init__.py | 78 | CODE | |
| LOW | openswe/middleware/__init__.py | 79 | CODE | |
| LOW | openswe/middleware/__init__.py | 80 | CODE | |
| LOW | openswe/middleware/__init__.py | 80 | CODE | |
| LOW | openswe/middleware/__init__.py | 81 | CODE | |
| LOW | openswe/middleware/__init__.py | 82 | CODE | |
| LOW | openswe/middleware/__init__.py | 83 | CODE | |
| LOW | openswe/middleware/__init__.py | 84 | CODE | |
| LOW | openswe/middleware/__init__.py | 85 | CODE | |
| LOW | openswe/middleware/__init__.py | 86 | CODE | |
| LOW | openswe/middleware/__init__.py | 87 | CODE | |
| LOW | openswe/middleware/__init__.py | 88 | CODE | |
| LOW | openswe/middleware/__init__.py | 89 | CODE | |
| LOW | openswe/middleware/__init__.py | 90 | CODE | |
| LOW | openswe/middleware/__init__.py | 91 | CODE | |
| LOW | openswe/middleware/__init__.py | 91 | CODE | |
| LOW | openswe/middleware/__init__.py | 92 | CODE | |
| LOW | openswe/middleware/__init__.py | 93 | CODE | |
| LOW | openswe/middleware/__init__.py | 94 | CODE | |
| LOW | openswe/middleware/__init__.py | 95 | CODE | |
| LOW | openswe/database/__init__.py | 3 | CODE | |
| LOW | openswe/database/__init__.py | 3 | CODE | |
| LOW | openswe/database/__init__.py | 3 | CODE | |
| LOW | openswe/database/__init__.py | 3 | CODE | |
| LOW | openswe/database/__init__.py | 3 | CODE | |
| LOW | openswe/database/__init__.py | 3 | CODE | |
| LOW | openswe/database/__init__.py | 3 | CODE | |
| LOW | openswe/database/__init__.py | 3 | CODE | |
| LOW | openswe/tools/__init__.py | 176 | CODE | |
| LOW | openswe/tools/__init__.py | 177 | CODE | |
| LOW | openswe/tools/__init__.py | 178 | CODE | |
| LOW | openswe/tools/__init__.py | 179 | CODE | |
| LOW | openswe/tools/__init__.py | 180 | CODE | |
| LOW | openswe/tools/__init__.py | 181 | CODE | |
| LOW | openswe/tools/__init__.py | 181 | CODE | |
| LOW | openswe/tools/__init__.py | 181 | CODE | |
| LOW | openswe/tools/__init__.py | 186 | CODE | |
| LOW | openswe/tools/__init__.py | 187 | CODE | |
| LOW | openswe/tools/__init__.py | 188 | CODE | |
| LOW | openswe/tools/__init__.py | 189 | CODE | |
| LOW | openswe/tools/__init__.py | 190 | CODE | |
| LOW | openswe/tools/__init__.py | 191 | CODE | |
| 175 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | evals/reviewer/run_eval.py | 304 | CODE | |
| LOW | tests/auth/test_thread_credential_scope.py | 150 | CODE | |
| LOW | tests/dashboard/test_allowed_slack_bots.py | 18 | CODE | |
| LOW | tests/dashboard/test_allowed_slack_bots.py | 31 | CODE | |
| LOW | tests/github/test_github_app.py | 77 | CODE | |
| LOW | tests/slack/test_slack_context.py | 802 | CODE | |
| LOW | tests/slack/test_slack_untagged_flag.py | 264 | CODE | |
| LOW | tests/slack/test_slack_message_api.py | 168 | CODE | |
| LOW | openswe/server.py | 1053 | CODE | |
| LOW | openswe/baby_sit.py | 186 | CODE | |
| LOW | openswe/background_tasks.py | 326 | CODE | |
| LOW | openswe/dispatch.py | 102 | CODE | |
| LOW | openswe/dispatch.py | 314 | CODE | |
| LOW | openswe/thread_title.py | 64 | CODE | |
| LOW | openswe/reconcile.py | 37 | CODE | |
| LOW | openswe/middleware/pr_creation_guard.py | 152 | CODE | |
| LOW | openswe/middleware/transcript.py | 96 | CODE | |
| LOW | openswe/middleware/transcript.py | 258 | CODE | |
| LOW | openswe/middleware/transcript.py | 417 | CODE | |
| LOW | openswe/middleware/model_fallback.py | 186 | CODE | |
| LOW | openswe/middleware/check_message_queue.py | 160 | CODE | |
| LOW | openswe/database/notifications.py | 114 | CODE | |
| LOW | openswe/sandboxes/tool_store.py | 28 | CODE | |
| LOW | openswe/sandboxes/retry.py | 39 | CODE | |
| LOW | openswe/sandboxes/providers/langsmith.py | 328 | CODE | |
| LOW | openswe/tools/open_pull_request.py | 623 | CODE | |
| LOW | openswe/tools/open_pull_request.py | 919 | CODE | |
| LOW | openswe/tools/open_pull_request.py | 966 | CODE | |
| LOW | openswe/tools/publish_review.py | 287 | CODE | |
| LOW | openswe/tools/publish_review.py | 930 | CODE | |
| LOW | openswe/tools/publish_review.py | 1070 | CODE | |
| LOW | openswe/tools/workspaces.py | 101 | CODE | |
| LOW | openswe/human_review/routes.py | 34 | CODE | |
| LOW | openswe/transcript/routes.py | 205 | CODE | |
| LOW | openswe/resources/recovery_patch.py | 104 | CODE | |
| LOW | openswe/linear/webhook.py | 37 | CODE | |
| LOW | openswe/walkthrough/plan.py | 95 | CODE | |
| LOW | openswe/audit_logs/middleware.py | 53 | CODE | |
| LOW | openswe/utils/jev.py | 43 | CODE | |
| LOW | openswe/utils/model.py | 268 | CODE | |
| LOW | openswe/utils/model.py | 303 | CODE | |
| LOW | openswe/utils/thread_participants.py | 94 | CODE | |
| LOW | openswe/utils/thread_participants.py | 220 | CODE | |
| LOW | openswe/utils/thread_pr_state.py | 26 | CODE | |
| LOW | openswe/mcp/runtime.py | 103 | CODE | |
| LOW | openswe/ui_invalidations/hub.py | 63 | CODE | |
| LOW | openswe/github/codeowners.py | 70 | CODE | |
| LOW | openswe/github/webhook.py | 413 | CODE | |
| LOW | openswe/github/webhook.py | 989 | CODE | |
| LOW | openswe/github/webhook.py | 1394 | CODE | |
| LOW | openswe/github/pull_requests.py | 373 | CODE | |
| LOW | openswe/threads/terminal.py | 73 | CODE | |
| LOW | openswe/threads/terminal.py | 116 | CODE | |
| LOW | openswe/threads/handlers.py | 197 | CODE | |
| LOW | openswe/threads/listing.py | 560 | CODE | |
| LOW | openswe/threads/listing.py | 711 | CODE | |
| LOW | openswe/threads/summary.py | 313 | CODE | |
| LOW | openswe/threads/summary.py | 431 | CODE | |
| LOW | openswe/threads/runs.py | 747 | CODE | |
| LOW | openswe/threads/recent_context.py | 161 | CODE | |
| 27 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | evals/reviewer/run_eval.py | 242 | except Exception: | CODE |
| HIGH | tests/ui_invalidations/test_ui_invalidations.py | 32 | except RuntimeError: | CODE |
| HIGH | openswe/middleware/transcript.py | 575 | except asyncio.QueueEmpty: | CODE |
| HIGH | openswe/bridge/listener.py | 111 | except asyncio.CancelledError: | CODE |
| HIGH | openswe/bridge/listener.py | 136 | except TimeoutError: | CODE |
| HIGH | openswe/bridge/routes.py | 165 | except TimeoutError: | CODE |
| HIGH | openswe/utils/ttl_cache.py | 120 | except RuntimeError: | CODE |
| HIGH | openswe/threads/terminal.py | 149 | except WebSocketDisconnect: | CODE |
| HIGH | openswe/threads/terminal.py | 157 | except Exception: # noqa: BLE001 | CODE |
| HIGH | openswe/incidents/runtime.py | 273 | except ValueError: | CODE |
| HIGH | openswe/analytics/worker.py | 28 | except TimeoutError: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tests/e2e/local_desktop_login.py | 79 | # harness's own callback and escape what reaches the page. | COMMENT |
| MEDIUM | tests/e2e/harness.py | 834 | # dev:mock), not this harness, so the cookie + the hot-reloading UI line up. | COMMENT |
| MEDIUM | tests/e2e/dev-mock.sh | 2 | # Local dev against the mock harness, with a REAL LLM and a Vite HMR dev server. | COMMENT |
| MEDIUM | tests/e2e/dev-mock.sh | 5 | # Slack/GitHub + sign-in to the harness ($API). Same-origin is what lets the | COMMENT |
| MEDIUM | tests/e2e/dev-mock.sh | 27 | # Pulled line-by-line, not by sourcing .env, which would clobber the harness's | COMMENT |
| MEDIUM | tests/e2e/dev-mock.sh | 47 | # own origin and Vite proxies it (and the WS) to the harness. | COMMENT |
| MEDIUM | tests/e2e/patches.py | 59 | # Set E2E_REAL_LLM=1 to drive the harness (mock Slack/GitHub, real agent) | COMMENT |
| MEDIUM | tests/e2e/patches.py | 138 | # from the harness origin instead, so teach the parser that one extra shape | COMMENT |
| MEDIUM | tests/e2e/patches.py | 167 | # that a loopback harness cannot satisfy: the ticket URL must be on | COMMENT |
| MEDIUM | tests/e2e/patches.py | 169 | # rejects loopback. Widen both to this one harness path — skipping them | COMMENT |
| MEDIUM | tests/e2e/e2e_env.py | 42 | # Where a browser reaches the dashboard: the app's own server, not this harness. | COMMENT |
| MEDIUM | openswe/run_config.py | 181 | # Eval harness | COMMENT |
| MEDIUM | openswe/dashboard/auth_routes.py | 61 | # Module-level so a local harness can point the browser leg at a fake consent | COMMENT |
| MEDIUM | openswe/review/eval_jobs.py | 49 | # A launched sandbox clones and syncs before the harness writes its first heartbeat. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | evals/reviewer/golden_comments/discourse.json | 62 | "comment": "The case-sensitive email lookup in `BlockedEmail.should_block?` creates a bypass risk, allowing 'Use | CODE |
| LOW | tests/api_keys/test_api_key_routes.py | 13 | _ADMIN_SESSION = {"sub": "admin", "email": "admin@example.com"} | CODE |
| LOW⚡ | tests/auth/test_authorship.py | 106 | async def fake_token(**kwargs: Any) -> str: | CODE |
| LOW⚡ | tests/auth/test_authorship.py | 109 | monkeypatch.setattr(github_app, "get_github_app_installation_token", fake_token) | CODE |
| LOW⚡ | tests/agent/test_server_prepare_analytics.py | 187 | async def fake_token(**kwargs: Any) -> str: | CODE |
| LOW⚡ | tests/agent/test_server_prepare_analytics.py | 190 | monkeypatch.setattr("openswe.github.app.get_github_app_installation_token", fake_token) | CODE |
| LOW⚡ | tests/agent/test_admin_workspaces.py | 279 | monkeypatch.setenv("CONFIGURED_ADMINS", "admin@example.com") | CODE |
| LOW⚡ | tests/agent/test_admin_workspaces.py | 287 | admin_requester_config = _config(user_email="admin@example.com") | CODE |
| LOW | tests/workspaces/test_routes.py | 14 | _ADMIN_SESSION = {"sub": "admin", "email": "admin@example.com"} | CODE |
| LOW⚡ | tests/dashboard/test_workspace_mcps.py | 194 | monkeypatch.setenv("CONFIGURED_ADMINS", "admin@example.com") | CODE |
| LOW⚡ | tests/dashboard/test_workspace_mcps.py | 198 | session = {"sub": "admin", "email": "admin@example.com"} | CODE |
| LOW | tests/dashboard/test_workspace_mcps.py | 222 | session = {"sub": "admin", "email": "admin@example.com"} | CODE |
| LOW | tests/dashboard/test_workspace_mcps.py | 237 | monkeypatch.setenv("CONFIGURED_ADMINS", "admin@example.com") | CODE |
| LOW | tests/dashboard/test_workspace_mcps.py | 248 | session = {"sub": "admin", "email": "admin@example.com"} | CODE |
| LOW | tests/dashboard/test_workspace_mcps.py | 265 | session = {"sub": "admin", "email": "admin@example.com"} | CODE |
| LOW⚡ | tests/dashboard/test_dashboard_thread_api.py | 1368 | deps.require_admin({"sub": "not-admin", "email": "user@example.com"}) | CODE |
| LOW | tests/dashboard/test_dashboard_thread_api.py | 1084 | email="admin@example.com", | CODE |
| LOW⚡ | tests/dashboard/test_thread_visibility.py | 61 | assert summary.thread_is_readable(metadata, "someone", "admin@example.com") | CODE |
| LOW | tests/dashboard/test_thread_visibility.py | 18 | _ADMINS = {"admin", "admin@example.com"} | CODE |
| LOW | tests/dashboard/test_thread_visibility.py | 378 | "private-thread", "someone", email="admin@example.com" | CODE |
| LOW⚡ | tests/dashboard/test_public_repo_org_gate.py | 327 | async def fake_token(**_kwargs) -> None: | CODE |
| LOW⚡ | tests/dashboard/test_public_repo_org_gate.py | 333 | monkeypatch.setattr(github_org_membership, "get_github_app_installation_token", fake_token) | CODE |
| LOW | tests/dashboard/test_public_repo_org_gate.py | 369 | async def fake_token(**kwargs) -> str: | CODE |
| LOW | tests/dashboard/test_public_repo_org_gate.py | 376 | monkeypatch.setattr(github_org_membership, "get_github_app_installation_token", fake_token) | CODE |
| LOW | tests/github/test_repo_extraction.py | 35 | "user": {"id": "user-1", "name": "Test User", "email": "test@test.com"}, | CODE |
| LOW | tests/github/test_repo_extraction.py | 72 | "email": "test@test.com", | CODE |
| LOW | tests/e2e/harness.py | 1175 | prefix = "dummy-user-oauth-token:" | CODE |
| LOW | tests/e2e/patches.py | 230 | return f"dummy-user-oauth-token:{login}" if login else "dummy-user-oauth-token" | CODE |
| LOW | tests/e2e/tests/human_review.spec.ts | 273 | headers: { Authorization: `Bearer dummy-user-oauth-token:${login}` }, | CODE |
| LOW | docs/CUSTOMIZATION.md | 595 | "user_email": "user@example.com", | CODE |
| LOW | openswe/slack/thread_feedback.py | 92 | "placeholder": {"type": "plain_text", "text": "What could be better?"}, | CODE |
| LOW | openswe/slack/blocks.py | 300 | element["placeholder"] = plain_text(placeholder) | CODE |
| LOW | openswe/slack/blocks.py | 340 | element["placeholder"] = plain_text(placeholder) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/threads/test_recent_context.py | 47 | CODE | |
| LOW | openswe/server.py | 899 | CODE | |
| LOW | openswe/dispatch.py | 342 | CODE | |
| LOW | openswe/dispatch.py | 436 | CODE | |
| LOW | openswe/prompt.py | 113 | CODE | |
| LOW | openswe/middleware/workflow_push_guard.py | 254 | CODE | |
| LOW | openswe/sandboxes/providers/langsmith.py | 816 | CODE | |
| LOW | openswe/tools/code_channel_set_view.py | 18 | CODE | |
| LOW | openswe/tools/listen_events.py | 82 | CODE | |
| LOW | openswe/tools/threads.py | 249 | CODE | |
| LOW | openswe/tools/threads.py | 989 | CODE | |
| LOW | openswe/tools/automations.py | 88 | CODE | |
| LOW | openswe/tools/workspaces.py | 101 | CODE | |
| LOW | openswe/threads/listing.py | 560 | CODE | |
| LOW | openswe/threads/listing.py | 847 | CODE | |
| LOW | openswe/threads/runs.py | 249 | CODE | |
| LOW | openswe/threads/routes.py | 222 | CODE | |
| LOW | openswe/slack/code_channels.py | 338 | CODE | |
| LOW | openswe/slack/webhook.py | 443 | CODE | |
| LOW | openswe/slack/tools/manage_code_channel.py | 50 | CODE | |
| LOW | openswe/webhooks/common.py | 518 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | ui/native/libghostty-vt/include/ghostty/vt/terminal.h | 86 | * ### Defining a write_pty callback | COMMENT |
| MEDIUM⚡ | ui/native/libghostty-vt/include/ghostty/vt/terminal.h | 89 | * ### Defining a bell callback | COMMENT |
| MEDIUM⚡ | ui/native/libghostty-vt/include/ghostty/vt/terminal.h | 92 | * ### Defining a title_changed callback | COMMENT |
| MEDIUM | ui/native/libghostty-vt/include/ghostty/vt/sys.h | 33 | * ### Defining a PNG decode callback | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | ui/vite.config.ts | 341 | route: `${prefix}/**`, | COMMENT |
| LOW | ui/vitest.config.ts | 1 | import { defineConfig } from "vitest/config" | COMMENT |
| LOW | ui/native/libghostty-vt/include/ghostty/vt.h | 121 | extern "C" { | COMMENT |
| LOW | ui/native/libghostty-vt/include/ghostty/vt.h | 141 | #include <ghostty/vt/modes.h> | COMMENT |
| LOW | ui/native/libghostty-vt/include/ghostty/vt/device.h | 21 | #define GHOSTTY_DA_CONFORMANCE_VT220 62 | COMMENT |
| LOW | ui/native/libghostty-vt/include/ghostty/vt/device.h | 41 | #define GHOSTTY_DA_FEATURE_NATIONAL_REPLACEMENT 9 | COMMENT |
| LOW | ui/native/libghostty-vt/include/ghostty/vt/types.h | 1 | /** | COMMENT |
| LOW | ui/native/libghostty-vt/include/ghostty/vt/types.h | 21 | #if defined(GHOSTTY_STATIC) | COMMENT |
| LOW | ui/native/libghostty-vt/include/ghostty/vt/formatter.h | 1 | /** | COMMENT |
| LOW | ui/native/libghostty-vt/include/ghostty/vt/terminal.h | 1 | /** | COMMENT |
| LOW | ui/native/libghostty-vt/include/ghostty/vt/modes.h | 61 | #define GHOSTTY_MODE_SLOW_SCROLL (ghostty_mode_new(4, false)) /**< Slow scroll */ | COMMENT |
| LOW | ui/native/libghostty-vt/include/ghostty/vt/modes.h | 81 | #define GHOSTTY_MODE_ALT_SCROLL (ghostty_mode_new(1007, false)) /**< Alternate scroll mode */ | COMMENT |
| LOW | ui/native/libghostty-vt/include/ghostty/vt/selection.h | 1 | /** | COMMENT |
| LOW | ui/native/libghostty-vt/include/ghostty/vt/render.h | 1 | /** | COMMENT |
| LOW | tests/e2e/tests/expedited_review.spec.ts | 1 | import { | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | ui/src/features/settings/components/MCPImport.tsx | 161 | '{\n "mcpServers": {\n "datadog": {\n "type": "http",\n "url": "https://mcp.us5.datadoghq.com/v1 | CODE |
| HIGH | docs/CUSTOMIZATION.md | 290 | "DD_API_KEY": "YOUR_API_KEY", | CODE |
| HIGH | docs/CUSTOMIZATION.md | 306 | Open SWE, then configure its `/mcp` URL with an `Authorization: Bearer YOUR_API_KEY` | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | openswe/linear/webhook.py | 0 | slack webhook handler — moved out of common.py (behavior-identical). helpers and constants stay in common.py; they are a | STRING |
| HIGH | openswe/github/webhook.py | 0 | slack webhook handler — moved out of common.py (behavior-identical). helpers and constants stay in common.py; they are a | STRING |
| HIGH | openswe/slack/webhook.py | 0 | slack webhook handler — moved out of common.py (behavior-identical). helpers and constants stay in common.py; they are a | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | ui/native/libghostty-vt/include/ghostty/vt/wasm.h | 33 | * Here's a simple example of using the Wasm utilities with the key encoder: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | openwiki/workflows/scheduling-and-baby-sit.md | 163 | ### Agent-facing guardrails | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tests/tools/test_read_only_sql.py | 149 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | scripts/dotenv_value.sh | 2 | # Print the value of KEY from a dotenv FILE the way python-dotenv reads it: last | COMMENT |