Claude Desktop for Linux
This report summarizes scanner evidence for aaddrick/claude-desktop-debian, a Shell project with 5,446 GitHub stars. SynthScan examined 75,934 lines of code across 279 source files, recording 492 pattern matches distributed across 14 syntactic categories. The legacy adjusted pattern signal is 10.1 (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? 401 finding(s).
Are imports declared and package/API names verified? 1 finding(s).
Are wrappers, guards, and repeated structures necessary? 94 finding(s).
Which changes need focused human review? 492 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 492 distinct pattern matches across 14 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 | build.sh | 41 | # desktopName field (it ignores --class, productName, and the ELF | COMMENT |
| LOW | tools/chromium-switch-smoke.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | tools/patch-necessity-audit.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | tools/patch-necessity-audit.sh | 101 | # There deliberately is no such single file any more (#820). Pre-3.x | COMMENT |
| LOW | tools/test-harness/eipc-registry-probe.ts | 1 | // Probe to verify whether the eipc channel registry (LocalSessions_$_*, | COMMENT |
| LOW | tools/test-harness/grounding-probe.ts | 1 | // Grounding probe — dumps Claude Desktop runtime state that backs the | COMMENT |
| LOW | tools/test-harness/grounding-probe.ts | 21 | // T22 AX fingerprint (PR toolbar — open the surface before probing) | COMMENT |
| LOW | tools/test-harness/orchestrator/sweep.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | tools/test-harness/src/lib/ax.ts | 1 | // AX-tree loading + traversal primitives — shared substrate for any | COMMENT |
| LOW | tools/test-harness/src/lib/ax.ts | 21 | // | COMMENT |
| LOW | tools/test-harness/src/lib/ax.ts | 41 | // click anchor scans. The predicate carries the discrimination | COMMENT |
| LOW | tools/test-harness/src/lib/ax.ts | 81 | // `computedRole` is `AxNode.role.value` — the platform-computed role | COMMENT |
| LOW | tools/test-harness/src/lib/ax.ts | 101 | // of that role exist? | COMMENT |
| LOW | tools/test-harness/src/lib/ax.ts | 281 | // polling for is exactly the AX tree updating. | COMMENT |
| LOW | tools/test-harness/src/lib/ax.ts | 321 | } | COMMENT |
| LOW | tools/test-harness/src/lib/ax.ts | 341 | // keeps the first iteration from racing the in-flight render. | COMMENT |
| LOW | tools/test-harness/src/lib/ax.ts | 361 | // `inspector.clickByBackendNodeId` if a click follows. Keeping click | COMMENT |
| LOW | tools/test-harness/src/lib/ax.ts | 401 | COMMENT | |
| LOW | tools/test-harness/src/lib/electron-mocks.ts | 1 | // Mock-then-call helpers for side-effecting Electron module APIs. | COMMENT |
| LOW | tools/test-harness/src/lib/electron-mocks.ts | 21 | // | COMMENT |
| LOW | tools/test-harness/src/lib/electron-mocks.ts | 141 | return await inspector.evalInMain<ShowItemInFolderCall[]>( | COMMENT |
| LOW | tools/test-harness/src/lib/row.ts | 1 | // Row-aware skip primitive. | COMMENT |
| LOW | tools/test-harness/src/lib/eipc.ts | 1 | // "eipc" channel-registry primitive — runtime discovery of the custom | COMMENT |
| LOW | tools/test-harness/src/lib/eipc.ts | 21 | // where every `e.ipc.handle("$eipc_message$_..._$_<scope>_$_<iface>_$_<method>", fn)` | COMMENT |
| LOW | tools/test-harness/src/lib/eipc.ts | 41 | // `waitForEipcChannel(s)`. Handler PRESENCE checks (T22b / T31b / T33b | COMMENT |
| LOW | tools/test-harness/src/lib/eipc.ts | 61 | // `invokeEipcChannel` is read-by-default but doesn't enforce a | COMMENT |
| LOW | tools/test-harness/src/lib/eipc.ts | 221 | // margin for slow-cache cases. | COMMENT |
| LOW | tools/test-harness/src/lib/eipc.ts | 301 | interval: opts.intervalMs ?? 250, | COMMENT |
| LOW | tools/test-harness/src/lib/eipc.ts | 321 | // 1s on a warm app; the 30s budget is for cold-cache cases. | COMMENT |
| LOW | tools/test-harness/src/lib/eipc.ts | 341 | // works (the gate is structural, not `instanceof`-checked) but spoofs | COMMENT |
| LOW | tools/test-harness/src/lib/electron.ts | 21 | // launch, cleaned up on close(). | COMMENT |
| LOW | tools/test-harness/src/lib/electron.ts | 81 | // non-zero `code` and was NOT killed by us (`signal === null`), | COMMENT |
| LOW | tools/test-harness/src/lib/electron.ts | 101 | COMMENT | |
| LOW | tools/test-harness/src/lib/electron.ts | 121 | // invoked because we spawn Electron directly to keep CLAUDE_CDP_AUTH | COMMENT |
| LOW | tools/test-harness/src/lib/electron.ts | 401 | // (cleanup_orphaned_cowork_daemon + cleanup_stale_lock). The daemon | COMMENT |
| LOW | tools/test-harness/src/lib/input.ts | 1 | // Focus-shifter primitive for "Quick Entry shortcut fires from any focus" | COMMENT |
| LOW | tools/test-harness/src/lib/input.ts | 21 | // `search --name <regex> windowfocus` as one atomic call. Doing it | COMMENT |
| LOW | tools/test-harness/src/lib/input.ts | 101 | } | COMMENT |
| LOW | tools/test-harness/src/lib/input.ts | 221 | COMMENT | |
| LOW | tools/test-harness/src/lib/input.ts | 241 | // missing on minimal Fedora installs. | COMMENT |
| LOW | tools/test-harness/src/lib/asar.ts | 1 | // Read files out of the installed app.asar without on-disk extraction. | COMMENT |
| LOW | tools/test-harness/src/lib/argv.ts | 1 | // Read a process's argv from /proc/<pid>/cmdline. | COMMENT |
| LOW | tools/test-harness/src/lib/inspector.ts | 1 | // Node-inspector client for Electron's main process. | COMMENT |
| LOW | tools/test-harness/src/lib/input-niri.ts | 1 | // Focus-shifter primitive for "Quick Entry shortcut fires from any | COMMENT |
| LOW | tools/test-harness/src/lib/input-niri.ts | 21 | // WIDs are hex strings. Callers handle one or the other based on | COMMENT |
| LOW | tools/test-harness/src/lib/input-niri.ts | 41 | // --title <T> verbatim with no de-escaping surprises, and ships in | COMMENT |
| LOW | tools/test-harness/src/lib/input-niri.ts | 121 | } | COMMENT |
| LOW | tools/test-harness/src/lib/input-niri.ts | 221 | } | COMMENT |
| LOW | tools/test-harness/src/lib/host-claude.ts | 1 | // Detect-and-kill any running Claude Desktop process owned by the | COMMENT |
| LOW | tools/test-harness/src/lib/claudeai.ts | 1 | // claude.ai renderer-UI domain wrapper — single point of coupling to | COMMENT |
| LOW | tools/test-harness/src/lib/claudeai.ts | 41 | // All three CDP-exposed menu-item variants. Caller code wants to treat | COMMENT |
| LOW | tools/test-harness/src/lib/claudeai.ts | 61 | // through `lib/claudeai.ts`. | COMMENT |
| LOW | tools/test-harness/src/lib/claudeai.ts | 241 | // to match QuickEntry / MainWindow in quickentry.ts. | COMMENT |
| LOW | tools/test-harness/src/lib/claudeai.ts | 341 | `CodeTab.selectLocal: no /^Local\\b/ item in the open menu. ` + | COMMENT |
| LOW | tools/test-harness/src/lib/quickentry.ts | 1 | // Quick Entry domain wrapper — single point of coupling to upstream's | COMMENT |
| LOW | tools/test-harness/src/lib/quickentry.ts | 61 | '29:0', // LEFTCTRL up | COMMENT |
| LOW | tools/test-harness/src/lib/quickentry.ts | 361 | return null; | COMMENT |
| LOW | tools/test-harness/src/lib/quickentry.ts | 501 | // for upstream's lHn() (`!user.isLoggedOut`) returning true. The | COMMENT |
| LOW | tools/test-harness/src/lib/isolation.ts | 1 | // Per-test config isolation. | COMMENT |
| LOW | tools/test-harness/src/lib/isolation.ts | 41 | // config never gets mutated by the test; secrets never leave the | COMMENT |
| 280 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | build.sh | 3 | #=============================================================================== | COMMENT |
| MEDIUM | build.sh | 7 | #=============================================================================== | COMMENT |
| MEDIUM | build.sh | 75 | #=============================================================================== | COMMENT |
| MEDIUM | build.sh | 77 | #=============================================================================== | COMMENT |
| MEDIUM | build.sh | 256 | #=============================================================================== | COMMENT |
| MEDIUM | build.sh | 258 | #=============================================================================== | COMMENT |
| MEDIUM | tools/patch-necessity-audit.sh | 2 | #=============================================================================== | COMMENT |
| MEDIUM | tools/patch-necessity-audit.sh | 22 | #=============================================================================== | COMMENT |
| MEDIUM | tools/patch-necessity-audit.sh | 141 | #------------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/patch-necessity-audit.sh | 143 | #------------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/patch-necessity-audit.sh | 180 | #------------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/patch-necessity-audit.sh | 182 | #------------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/patch-necessity-audit.sh | 379 | #------------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/patch-necessity-audit.sh | 381 | #------------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/test-patch-stage.sh | 2 | #=============================================================================== | COMMENT |
| MEDIUM | tests/test-patch-stage.sh | 35 | #=============================================================================== | COMMENT |
| MEDIUM | .claude/scripts/triage/validate.sh | 30 | # ─── Path resolution ────────────────────────────────────────────── | COMMENT |
| MEDIUM | .claude/scripts/triage/validate.sh | 57 | # ─── Closed-world extraction ────────────────────────────────────── | COMMENT |
| MEDIUM | .claude/scripts/triage/validate.sh | 83 | # ─── Anchor grep ────────────────────────────────────────────────── | COMMENT |
| MEDIUM | .claude/scripts/triage/validate.sh | 101 | # ─── Schema-ban scan ────────────────────────────────────────────── | COMMENT |
| MEDIUM | .claude/scripts/triage/validate.sh | 126 | # ─── Per-finding validation ─────────────────────────────────────── | COMMENT |
| MEDIUM | .claude/scripts/triage/validate.sh | 227 | # ─── Per-anchor validation ──────────────────────────────────────── | COMMENT |
| MEDIUM | .claude/scripts/triage/validate.sh | 285 | # ─── Related issues ─────────────────────────────────────────────── | COMMENT |
| MEDIUM | .claude/scripts/triage/validate.sh | 324 | # ─── Pattern sweep re-grep ──────────────────────────────────────── | COMMENT |
| MEDIUM | .claude/scripts/triage/validate.sh | 363 | # ─── Assemble output ────────────────────────────────────────────── | COMMENT |
| MEDIUM | .claude/scripts/triage/drift-bridge.sh | 33 | # ─── Resolve claimed_version → approximate date ────────────────── | COMMENT |
| MEDIUM | .claude/scripts/triage/drift-bridge.sh | 55 | # ─── Collect files named in findings ────────────────────────────── | COMMENT |
| MEDIUM | .claude/scripts/triage/drift-bridge.sh | 63 | # ─── git log sweep ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | .claude/scripts/triage/drift-bridge.sh | 85 | # ─── gh pr list sweep ───────────────────────────────────────────── | COMMENT |
| MEDIUM | .claude/scripts/triage/drift-bridge.sh | 111 | # ─── Assemble ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM | .claude/scripts/triage/suspicious-input-scan.sh | 33 | # ─── Read fields ────────────────────────────────────────────────── | COMMENT |
| MEDIUM | .claude/scripts/triage/suspicious-input-scan.sh | 41 | # ─── Scan ───────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | .claude/scripts/triage/suspicious-input-scan.sh | 70 | # ─── Output ─────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …eported-environments/scripts/make_timeseries_charts.py | 50 | # ===================================================================== | COMMENT |
| MEDIUM | …eported-environments/scripts/make_timeseries_charts.py | 54 | # ===================================================================== | COMMENT |
| MEDIUM⚡ | …eported-environments/scripts/make_timeseries_charts.py | 127 | # ===================================================================== | COMMENT |
| MEDIUM⚡ | …eported-environments/scripts/make_timeseries_charts.py | 129 | # ===================================================================== | COMMENT |
| MEDIUM⚡ | …eported-environments/scripts/make_timeseries_charts.py | 133 | # ===================================================================== | COMMENT |
| MEDIUM⚡ | …eported-environments/scripts/make_timeseries_charts.py | 135 | # ===================================================================== | COMMENT |
| MEDIUM⚡ | …eported-environments/scripts/make_timeseries_charts.py | 139 | # ===================================================================== | COMMENT |
| MEDIUM⚡ | …eported-environments/scripts/make_timeseries_charts.py | 141 | # ===================================================================== | COMMENT |
| MEDIUM⚡ | …eported-environments/scripts/make_timeseries_charts.py | 145 | # ===================================================================== | COMMENT |
| MEDIUM⚡ | …eported-environments/scripts/make_timeseries_charts.py | 147 | # ===================================================================== | COMMENT |
| MEDIUM⚡ | …eported-environments/scripts/make_timeseries_charts.py | 151 | # ===================================================================== | COMMENT |
| MEDIUM⚡ | …eported-environments/scripts/make_timeseries_charts.py | 153 | # ===================================================================== | COMMENT |
| MEDIUM | …eported-environments/scripts/make_timeseries_charts.py | 191 | # ===================================================================== | COMMENT |
| MEDIUM | …eported-environments/scripts/make_timeseries_charts.py | 195 | # ===================================================================== | COMMENT |
| MEDIUM | …e-history/reported-environments/scripts/make_charts.py | 62 | # ===================================================================== | COMMENT |
| MEDIUM | …e-history/reported-environments/scripts/make_charts.py | 64 | # ===================================================================== | COMMENT |
| MEDIUM | …e-history/reported-environments/scripts/make_charts.py | 77 | # ===================================================================== | COMMENT |
| MEDIUM | …e-history/reported-environments/scripts/make_charts.py | 79 | # ===================================================================== | COMMENT |
| MEDIUM | …e-history/reported-environments/scripts/make_charts.py | 91 | # ===================================================================== | COMMENT |
| MEDIUM | …e-history/reported-environments/scripts/make_charts.py | 93 | # ===================================================================== | COMMENT |
| MEDIUM | …e-history/reported-environments/scripts/make_charts.py | 109 | # ===================================================================== | COMMENT |
| MEDIUM | …e-history/reported-environments/scripts/make_charts.py | 113 | # ===================================================================== | COMMENT |
| MEDIUM | …e-history/reported-environments/scripts/make_charts.py | 144 | # ===================================================================== | COMMENT |
| MEDIUM | …e-history/reported-environments/scripts/make_charts.py | 146 | # ===================================================================== | COMMENT |
| MEDIUM | scripts/doctor.sh | 2 | #=============================================================================== | COMMENT |
| MEDIUM | scripts/doctor.sh | 18 | #=============================================================================== | COMMENT |
| MEDIUM | scripts/launcher-common.sh | 1501 | #=============================================================================== | COMMENT |
| 29 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tools/test-harness/orchestrator/sweep.sh | 34 | # "Environment variables" table in tools/test-harness/README.md. | COMMENT |
| MEDIUM | tools/test-harness/orchestrator/sweep.sh | 76 | # on PATH so the harness stays usable on minimal images. | COMMENT |
| MEDIUM | tests/test-patch-stage.sh | 97 | # @electron/asar@3 (not @4): this harness reads and repacks an | COMMENT |
| MEDIUM | tests/test-patch-stage.sh | 128 | # harness with it and skip every remaining assertion. | COMMENT |
| MEDIUM | tests/test-artifact-common.sh | 5 | # tool, the patch-stage harness and these artifact tests all share one | COMMENT |
| MEDIUM | tests/test-artifact-common.sh | 284 | # the grace window is clear the harness asks the X server it started | COMMENT |
| MEDIUM | tests/test-artifact-common.sh | 327 | # Reap the harness's own X server. It is ours now rather than | COMMENT |
| MEDIUM | tests/test-artifact-common.sh | 552 | # Everything the harness captured about a launch, dumped to stderr. | COMMENT |
| MEDIUM | tests/test-artifact-common.sh | 588 | # Window-existence probe (#616). Asks the X server the harness started | COMMENT |
| MEDIUM | tests/test-artifact-common.sh | 599 | # AppImage's is inside a squashfs the harness never mounts). | COMMENT |
| MEDIUM | tests/test-artifact-common.sh | 663 | # verdict would blame the artifact for the harness's own | COMMENT |
| MEDIUM | tests/test-artifact-common.sh | 703 | # The harness's fault, not the artifact's. Say so, or the next | COMMENT |
| MEDIUM | scripts/patches/app-asar.sh | 153 | # (PATCH_STAGE_RERUN=1, the harness's idempotency pass) none may. | COMMENT |
| MEDIUM | .github/workflows/test-artifacts.yml | 97 | # harness drives Xvfb directly now, so xvfb-run is no longer used. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | .claude/scripts/triage/validate.sh | 17 | # catches the canonical identifier-hallucination pattern in minified | COMMENT |
| MEDIUM⚡ | docs/issue-triage/README.md | 977 | ### Structured output as a hallucination control | COMMENT |
| MEDIUM⚡ | docs/issue-triage/README.md | 981 | ### LLM hallucination rates and mitigation surveys | COMMENT |
| MEDIUM | docs/testing/quick-entry-closeout.md | 6 | - [§ Test list](#test-list) enumerates the QE-N items as conceptual checks and maps each to the concrete S-N / T-N case | CODE |
| MEDIUM | …-0009_patch-suite-history/dossiers/shared-machinery.md | 1 | # Dossier: Shared patch machinery and asar repack scaffolding | COMMENT |
| MEDIUM | …-0009_patch-suite-history/dossiers/shared-machinery.md | 96 | ### Repack scaffolding — `scripts/staging/electron.sh` and `locales.sh` | COMMENT |
| MEDIUM | scripts/patches/app-asar.sh | 2 | # app.asar patch orchestration for the official Linux tree. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | AGENTS.md | 225 | ### Step 1: Download the official .deb | COMMENT |
| LOW | AGENTS.md | 246 | ### Step 2: Extract the .deb | COMMENT |
| LOW | AGENTS.md | 262 | ### Step 3: Extract app.asar | COMMENT |
| LOW | AGENTS.md | 268 | ### Step 4: Beautify the JavaScript Files | COMMENT |
| LOW | AGENTS.md | 285 | ### Step 5: Clean Up (Optional) | COMMENT |
| LOW | CLAUDE.md | 225 | ### Step 1: Download the official .deb | COMMENT |
| LOW | CLAUDE.md | 246 | ### Step 2: Extract the .deb | COMMENT |
| LOW | CLAUDE.md | 262 | ### Step 3: Extract app.asar | COMMENT |
| LOW | CLAUDE.md | 268 | ### Step 4: Beautify the JavaScript Files | COMMENT |
| LOW | CLAUDE.md | 285 | ### Step 5: Clean Up (Optional) | COMMENT |
| LOW | …harness/src/runners/S15_appimage_extract_works.spec.ts | 238 | // Step 1: extraction. 30s budget — extracting ~200MB of | COMMENT |
| LOW | …harness/src/runners/S15_appimage_extract_works.spec.ts | 279 | // Step 2: assert squashfs-root/AppRun exists. | COMMENT |
| LOW | …harness/src/runners/S15_appimage_extract_works.spec.ts | 298 | // Step 3: spawn `AppRun --version` with a 5s timeout. AppRun | COMMENT |
| LOW | scripts/cowork-fallback/cowork.sh | 381 | // Step 1: Find the ENOENT check and expand it to include ECONNREFUSED | COMMENT |
| LOW | scripts/cowork-fallback/cowork.sh | 413 | // Step 2: Inject auto-launch before the retry delay | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH⚡ | docs/issue-triage/README.md | 983 | [^diffray-hallucinations]: [LLM Hallucinations in AI Code Review](https://diffray.ai/blog/llm-hallucinations-code-review | CODE |
| HIGH | .github/workflows/ci.yml | 348 | # Only generate fallback if AI-generated notes don't exist | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .claude/hooks/post-pr-simplify.sh | 43 | # Check if the PR was created successfully (look for PR URL in output) | COMMENT |
| LOW | scripts/doctor.sh | 1780 | # Check if any MCP servers are configured | COMMENT |
| LOW | scripts/launcher-common.sh | 153 | # Check if we have a valid display (not running from TTY) | COMMENT |
| LOW | scripts/setup/dependencies.sh | 66 | # Check if we can sudo without a password first | COMMENT |
| LOW | .github/workflows/check-claude-version.yml | 196 | # Check if we have a PAT | COMMENT |
| LOW | .github/workflows/check-claude-version.yml | 206 | # Check if there are changes to commit | COMMENT |
| LOW | .github/workflows/test-flags.yml | 31 | echo "$OUTPUT" # Print output for logs | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | docs/learnings/wayland-global-shortcuts-portal.md | 40 | **Root cause (pinned to source on both sides):** xdg-desktop-portal grew a host-app identity step — non-sandboxed apps m | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/chromium-switch-smoke.sh | 16 | # Usage: | COMMENT |
| LOW | tools/patch-necessity-audit.sh | 10 | # Usage: | COMMENT |
| LOW | tools/test-harness/orchestrator/sweep.sh | 4 | # Usage: | COMMENT |
| LOW | tests/test-patch-stage.sh | 27 | # Usage: | COMMENT |
| LOW | tests/test-artifact-common.sh | 301 | # Usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …harness/src/runners/S15_appimage_extract_works.spec.ts | 238 | // Step 1: extraction. 30s budget — extracting ~200MB of | COMMENT |
| LOW | …harness/src/runners/S15_appimage_extract_works.spec.ts | 279 | // Step 2: assert squashfs-root/AppRun exists. | COMMENT |
| LOW | …harness/src/runners/S15_appimage_extract_works.spec.ts | 298 | // Step 3: spawn `AppRun --version` with a 5s timeout. AppRun | COMMENT |
| LOW | scripts/cowork-fallback/cowork.sh | 381 | // Step 1: Find the ENOENT check and expand it to include ECONNREFUSED | COMMENT |
| LOW | scripts/cowork-fallback/cowork.sh | 413 | // Step 2: Inject auto-launch before the retry delay | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/test-harness/src/lib/electron-mocks.ts | 111 | export async function installShowItemInFolderMock( | CODE |
| LOW | tools/test-harness/src/lib/electron.ts | 355 | export function isCoworkFallbackDaemonArgv(argv: readonly string[]): boolean { | CODE |
| LOW | …ness/src/runners/T23_notification_reaches_dbus.spec.ts | 75 | async function notificationDaemonRegistered(): Promise<boolean> { | CODE |
| LOW | scripts/cowork-fallback/cowork-vm-service.js | 507 | function translateEmbeddedGuestPaths(csv, mountMap) { | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | scripts/launcher-common.sh | 3 | # This file is sourced by both launchers to avoid code duplication | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | scripts/doctor.sh | 273 | except Exception: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | scripts/cowork-fallback/cowork-vm-service.js | 2987 | async function handleRequest(request, socket) { | CODE |