Get 10X more out of Claude Code, Codex or any coding agent
This report summarizes scanner evidence for BloopAI/vibe-kanban, a Rust project with 28,529 GitHub stars. SynthScan examined 284,239 lines of code across 1662 source files, recording 484 pattern matches distributed across 8 syntactic categories. The legacy adjusted pattern signal is 2.3 (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? 246 finding(s).
Are imports declared and package/API names verified? 207 finding(s).
Are wrappers, guards, and repeated structures necessary? 226 finding(s).
Which changes need focused human review? 484 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 484 distinct pattern matches across 8 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 | docs/AGENTS.md | 145 | -d '{"name": "John Doe", "email": "john@example.com"}' | CODE |
| LOW | docs/AGENTS.md | 153 | "name": "John Doe", | CODE |
| LOW | docs/CLAUDE.md | 145 | -d '{"name": "John Doe", "email": "john@example.com"}' | CODE |
| LOW | docs/CLAUDE.md | 153 | "name": "John Doe", | CODE |
| LOW | …features/workspace-chat/ui/SessionChatBoxContainer.tsx | 135 | mode: 'placeholder'; | CODE |
| LOW | …features/workspace-chat/ui/SessionChatBoxContainer.tsx | 166 | mode === 'placeholder' ? undefined : props.onSelectSession; | CODE |
| LOW | …features/workspace-chat/ui/SessionChatBoxContainer.tsx | 653 | mode === 'placeholder' || | CODE |
| LOW | …features/workspace-chat/ui/SessionChatBoxContainer.tsx | 951 | if (mode === 'placeholder') { | CODE |
| LOW⚡ | …ckages/web-core/src/i18n/locales/zh-Hans/settings.json | 53 | "placeholder": "选择主题", | CODE |
| LOW⚡ | …ckages/web-core/src/i18n/locales/zh-Hans/settings.json | 58 | "placeholder": "选择语言", | CODE |
| LOW⚡ | …ckages/web-core/src/i18n/locales/zh-Hans/settings.json | 67 | "placeholder": "选择配置文件", | CODE |
| LOW⚡ | …ckages/web-core/src/i18n/locales/zh-Hans/settings.json | 78 | "placeholder": "选择编辑器", | CODE |
| LOW⚡ | …ckages/web-core/src/i18n/locales/zh-Hans/settings.json | 83 | "placeholder": "例如:code、subl、vim", | CODE |
| LOW⚡ | …ckages/web-core/src/i18n/locales/zh-Hans/settings.json | 89 | "placeholder": "例如:主机名或 IP 地址", | CODE |
| LOW⚡ | …ckages/web-core/src/i18n/locales/zh-Hans/settings.json | 94 | "placeholder": "例如:用户名", | CODE |
| LOW | …ckages/web-core/src/i18n/locales/zh-Hans/settings.json | 147 | "placeholder": "vk", | CODE |
| LOW | …ckages/web-core/src/i18n/locales/zh-Hans/settings.json | 163 | "placeholder": "~/", | CODE |
| LOW | …ckages/web-core/src/i18n/locales/zh-Hans/settings.json | 253 | "placeholder": "例如:bug_fix、test_plan、api_docs", | CODE |
| LOW | …ckages/web-core/src/i18n/locales/zh-Hans/settings.json | 260 | "placeholder": "输入使用此标签时将插入的文本" | CODE |
| LOW⚡ | …ckages/web-core/src/i18n/locales/zh-Hans/settings.json | 396 | "placeholder": "选择要配置的项目", | CODE |
| LOW⚡ | …ckages/web-core/src/i18n/locales/zh-Hans/settings.json | 405 | "placeholder": "输入项目名称", | CODE |
| LOW⚡ | …ckages/web-core/src/i18n/locales/zh-Hans/settings.json | 410 | "placeholder": "/path/to/your/existing/repo", | CODE |
| LOW⚡ | …ckages/web-core/src/i18n/locales/zh-Hans/settings.json | 443 | "placeholder": "选择要配置的仓库", | CODE |
| LOW⚡ | …ckages/web-core/src/i18n/locales/zh-Hans/settings.json | 452 | "placeholder": "输入显示名称", | CODE |
| LOW⚡ | …ckages/web-core/src/i18n/locales/zh-Hans/settings.json | 460 | "placeholder": "例如:packages/frontend", | CODE |
| LOW⚡ | …ckages/web-core/src/i18n/locales/zh-Hans/settings.json | 465 | "placeholder": "选择分支", | CODE |
| LOW | …ckages/web-core/src/i18n/locales/zh-Hans/settings.json | 493 | "placeholder": "文件路径或 glob 模式(例如:.env、config/*.json)" | CODE |
| LOW | …ckages/web-core/src/i18n/locales/zh-Hans/settings.json | 572 | "placeholder": "Enter project name" | CODE |
| LOW | packages/web-core/src/i18n/locales/zh-Hans/common.json | 64 | "placeholder": "选择分支", | CODE |
| LOW | packages/web-core/src/i18n/locales/zh-Hans/common.json | 135 | "placeholder": "输入工作区名称", | CODE |
| LOW | packages/web-core/src/i18n/locales/zh-Hans/common.json | 182 | "placeholder": "添加关于此工作区的笔记...", | CODE |
| LOW | packages/web-core/src/i18n/locales/zh-Hans/tasks.json | 8 | "placeholder": "例如:Acme Corp" | CODE |
| LOW | packages/web-core/src/i18n/locales/zh-Hans/tasks.json | 35 | "placeholder": "选择目标分支", | CODE |
| LOW | packages/web-core/src/i18n/locales/zh-Hans/tasks.json | 43 | "placeholder": "选择仓库", | CODE |
| LOW | packages/web-core/src/i18n/locales/zh-Hans/tasks.json | 223 | "placeholder": "例如:feature/my-branch", | CODE |
| LOW⚡ | …ckages/web-core/src/i18n/locales/zh-Hant/settings.json | 53 | "placeholder": "選擇主題", | CODE |
| LOW⚡ | …ckages/web-core/src/i18n/locales/zh-Hant/settings.json | 58 | "placeholder": "選擇語言", | CODE |
| LOW⚡ | …ckages/web-core/src/i18n/locales/zh-Hant/settings.json | 67 | "placeholder": "選擇設定檔", | CODE |
| LOW⚡ | …ckages/web-core/src/i18n/locales/zh-Hant/settings.json | 78 | "placeholder": "選擇編輯器", | CODE |
| LOW⚡ | …ckages/web-core/src/i18n/locales/zh-Hant/settings.json | 83 | "placeholder": "例如:code、subl、vim", | CODE |
| LOW⚡ | …ckages/web-core/src/i18n/locales/zh-Hant/settings.json | 89 | "placeholder": "例如:主機名稱或 IP 位址", | CODE |
| LOW⚡ | …ckages/web-core/src/i18n/locales/zh-Hant/settings.json | 94 | "placeholder": "例如:使用者名稱", | CODE |
| LOW | …ckages/web-core/src/i18n/locales/zh-Hant/settings.json | 147 | "placeholder": "vk", | CODE |
| LOW | …ckages/web-core/src/i18n/locales/zh-Hant/settings.json | 163 | "placeholder": "~/", | CODE |
| LOW | …ckages/web-core/src/i18n/locales/zh-Hant/settings.json | 253 | "placeholder": "例如:bug_fix、test_plan、api_docs", | CODE |
| LOW | …ckages/web-core/src/i18n/locales/zh-Hant/settings.json | 260 | "placeholder": "輸入使用此標籤時要插入的文字" | CODE |
| LOW⚡ | …ckages/web-core/src/i18n/locales/zh-Hant/settings.json | 396 | "placeholder": "選擇要設定的專案", | CODE |
| LOW⚡ | …ckages/web-core/src/i18n/locales/zh-Hant/settings.json | 405 | "placeholder": "輸入專案名稱", | CODE |
| LOW⚡ | …ckages/web-core/src/i18n/locales/zh-Hant/settings.json | 410 | "placeholder": "/path/to/your/existing/repo", | CODE |
| LOW⚡ | …ckages/web-core/src/i18n/locales/zh-Hant/settings.json | 443 | "placeholder": "選擇要設定的儲存庫", | CODE |
| LOW⚡ | …ckages/web-core/src/i18n/locales/zh-Hant/settings.json | 452 | "placeholder": "輸入顯示名稱", | CODE |
| LOW⚡ | …ckages/web-core/src/i18n/locales/zh-Hant/settings.json | 460 | "placeholder": "例如:packages/frontend", | CODE |
| LOW⚡ | …ckages/web-core/src/i18n/locales/zh-Hant/settings.json | 465 | "placeholder": "選擇分支", | CODE |
| LOW | …ckages/web-core/src/i18n/locales/zh-Hant/settings.json | 493 | "placeholder": "檔案路徑或 glob 模式(例如:.env、config/*.json)" | CODE |
| LOW | …ckages/web-core/src/i18n/locales/zh-Hant/settings.json | 572 | "placeholder": "Enter project name" | CODE |
| LOW | packages/web-core/src/i18n/locales/zh-Hant/common.json | 64 | "placeholder": "選擇分支", | CODE |
| LOW | packages/web-core/src/i18n/locales/zh-Hant/common.json | 135 | "placeholder": "輸入工作區名稱", | CODE |
| LOW | packages/web-core/src/i18n/locales/zh-Hant/common.json | 182 | "placeholder": "新增關於此工作區的筆記...", | CODE |
| LOW | packages/web-core/src/i18n/locales/zh-Hant/tasks.json | 8 | "placeholder": "例如:acme Corp" | CODE |
| LOW | packages/web-core/src/i18n/locales/zh-Hant/tasks.json | 35 | "placeholder": "選擇目標分支", | CODE |
| 141 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | crates/preview-proxy/src/click_to_component_script.js | 151 | function getComponentNamesFromFiber(element, maxCount) { | CODE |
| LOW | crates/preview-proxy/src/click_to_component_script.js | 404 | function extractSvelteComponentName(filePath) { | CODE |
| LOW | crates/preview-proxy/src/click_to_component_script.js | 482 | function extractAstroComponentName(componentUrl) { | CODE |
| LOW | crates/preview-proxy/src/click_to_component_script.js | 689 | function getOverlayLabelForElement(element) { | CODE |
| LOW | scripts/relay-test-client/index.html | 297 | function relaySessionPrefixFromUrl(url) { | CODE |
| LOW | scripts/relay-test-client/index.html | 842 | async function verifySignedRelayResponse( | CODE |
| LOW | …ckages/ui/src/components/ChatAggregatedDiffEntries.tsx | 184 | export function ChatAggregatedDiffEntries({ | CODE |
| LOW | …ckages/ui/src/components/IssueRelationshipsSection.tsx | 26 | export function IssueRelationshipsSection({ | CODE |
| LOW | packages/ui/src/components/WorkspacesSidebar.tsx | 99 | export function WorkspacesSidebarReopenTag({ | CODE |
| LOW | packages/ui/src/components/IssueWorkspaceCard.tsx | 71 | function IssueWorkspaceCardContainer({ | CODE |
| LOW | packages/ui/src/components/TypeaheadMenu.tsx | 292 | function TypeaheadMenuSectionHeader({ children }: { children: ReactNode }) { | CODE |
| LOW | packages/ui/src/components/TypeaheadMenu.tsx | 339 | function TypeaheadMenuItemComponent({ | CODE |
| LOW | packages/ui/src/components/AppBar.tsx | 98 | function getHostStatusIndicatorClass(status: AppBarHostStatus): string { | CODE |
| LOW | packages/ui/src/components/AppBar.tsx | 160 | function getStandardAppBarButtonClassName({ | CODE |
| LOW | …ages/ui/src/components/SlashCommandTypeaheadPlugin.tsx | 46 | export function SlashCommandTypeaheadPlugin({ | CODE |
| LOW | packages/ui/src/components/KanbanCardContent.tsx | 60 | function isImageLikeAttachmentName(name: string): boolean { | CODE |
| LOW | packages/ui/src/components/KanbanCardContent.tsx | 69 | function formatKanbanDescriptionPreview( | CODE |
| LOW | …ages/ui/src/components/ComponentInfoKeyboardPlugin.tsx | 16 | export function ComponentInfoKeyboardPlugin({ | CODE |
| LOW | packages/ui/src/components/attachment-node.tsx | 84 | function toMetadataFromLocalAttachment( | CODE |
| LOW | …ckages/ui/src/components/ChatAggregatedToolEntries.tsx | 28 | export function ChatAggregatedToolEntries({ | CODE |
| LOW | …/src/features/create-mode/model/createModeBootstrap.ts | 83 | export async function resolveCreateModeBootstrap({ | CODE |
| LOW | …e/src/features/create-mode/model/useCreateModeState.ts | 184 | function getLatestWorkspaceIdForRemoteProject({ | CODE |
| LOW | …/src/features/create-mode/model/createModeSeedStore.ts | 25 | export function consumeCreateModeSeedState(): CreateModeInitialState | null { | CODE |
| LOW | …/src/features/create-mode/model/createModeSeedStore.ts | 31 | export function subscribeCreateModeSeedState(listener: () => void): () => void { | CODE |
| LOW | …eatures/workspace-chat/ui/DisplayConversationEntry.tsx | 811 | function UserAnsweredQuestionsEntry({ | CODE |
| LOW | …eatures/workspace-chat/ui/DisplayConversationEntry.tsx | 1258 | function AggregatedThinkingGroupEntry({ | CODE |
| LOW | …ures/workspace-chat/model/deriveConversationEntries.ts | 151 | export function deriveConversationEntries({ | CODE |
| LOW | …eatures/workspace-chat/model/conversation-row-model.ts | 371 | export function buildConversationRowsIncremental( | CODE |
| LOW | …eatures/workspace-chat/model/conversation-row-model.ts | 402 | export function findPreviousUserMessageIndex( | CODE |
| LOW | …res/workspace-chat/model/useConversationVirtualizer.ts | 148 | export function useConversationVirtualizer({ | CODE |
| LOW | …space-chat/model/deriveConversationSemanticTimeline.ts | 30 | function extractPromptFromActionChain( | CODE |
| LOW | …space-chat/model/deriveConversationSemanticTimeline.ts | 51 | function toConversationSemanticProcessKind( | CODE |
| LOW | …space-chat/model/deriveConversationSemanticTimeline.ts | 71 | export function deriveConversationSemanticTimeline( | CODE |
| LOW | …res/workspace-chat/model/deriveConversationTimeline.ts | 17 | function isRenderableConversationEntry(entry: DisplayEntry): boolean { | CODE |
| LOW | …res/workspace-chat/model/deriveConversationTimeline.ts | 40 | export function deriveConversationTimeline( | CODE |
| LOW | …kspace-chat/model/contexts/ApprovalFeedbackContext.tsx | 46 | export function useApprovalFeedbackOptional() { | CODE |
| LOW | …rkspace-chat/model/hooks/useSessionQueueInteraction.ts | 37 | export function useSessionQueueInteraction({ | CODE |
| LOW | packages/web-core/src/shared/types/attempt.ts | 14 | export function createWorkspaceWithSession( | CODE |
| LOW | …-core/src/shared/stores/useKanbanIssueComposerStore.ts | 63 | export function buildKanbanIssueComposerKey( | CODE |
| LOW | …es/web-core/src/shared/stores/useUiPreferencesStore.ts | 898 | export function usePersistedCollapsedPaths( | CODE |
| LOW | …kages/web-core/src/shared/components/WYSIWYGEditor.tsx | 166 | function isGenericClipboardImageName(fileName: string): boolean { | CODE |
| LOW | …re/src/shared/components/CloudShutdownExportBanner.tsx | 9 | export function CloudShutdownExportBanner({ | CODE |
| LOW | …c/shared/components/SearchableTagDropdownContainer.tsx | 19 | export function SearchableTagDropdownContainer({ | CODE |
| LOW | …nents/ui-new/containers/AppBarUserPopoverContainer.tsx | 17 | export function AppBarUserPopoverContainer({ | CODE |
| LOW | …es/web-core/src/shared/hooks/useLocalStorageScratch.ts | 51 | export function localStorageScratchUpdate( | CODE |
| LOW | …eb-core/src/shared/hooks/useAllOrganizationProjects.ts | 19 | export function useAllOrganizationProjects( | CODE |
| LOW | …eb-core/src/shared/hooks/useActionVisibilityContext.ts | 38 | export function useActionVisibilityContext( | CODE |
| LOW | …ges/web-core/src/shared/hooks/useContextBarPosition.ts | 57 | function calculateNearestSnapPosition( | CODE |
| LOW | …ore/src/shared/hooks/useProjectWorkspaceCreateDraft.ts | 9 | export function useProjectWorkspaceCreateDraft() { | CODE |
| LOW | packages/web-core/src/shared/hooks/useTaskWorkspaces.ts | 35 | export function useTaskWorkspacesWithSessions(taskId?: string, opts?: Options) { | CODE |
| LOW | packages/web-core/src/shared/hooks/usePreviewUrl.ts | 222 | function detectPreviewUrlFromBuffer( | CODE |
| LOW | …eb-core/src/shared/hooks/useOrganizationInvitations.ts | 12 | export function useOrganizationInvitations( | CODE |
| LOW | …kages/web-core/src/shared/hooks/useAzureAttachments.ts | 77 | function createPendingAttachmentId(): string { | CODE |
| LOW | …es/web-core/src/shared/hooks/useProjectRepoDefaults.ts | 53 | export async function getValidProjectRepoDefaults( | CODE |
| LOW | …eb-core/src/shared/hooks/useCurrentKanbanRouteState.ts | 12 | export function useCurrentKanbanRouteState(): KanbanRouteState { | CODE |
| LOW | …core/src/shared/hooks/useKanbanIssueComposerScratch.ts | 51 | export function useKanbanIssueComposerScratch() { | CODE |
| LOW | …c/shared/hooks/useWorkspaceSidebarPreviewController.ts | 5 | export function useWorkspaceSidebarPreviewController({ | CODE |
| LOW | …kages/web-core/src/shared/hooks/useRemoteCloudHosts.ts | 28 | function normalizeRemoteCloudHostStatus( | CODE |
| LOW | …kages/web-core/src/shared/hooks/useRemoteCloudHosts.ts | 38 | async function fetchRemoteCloudHostsState(): Promise<RemoteCloudHostsState> { | CODE |
| LOW | …kages/web-core/src/shared/hooks/useRemoteCloudHosts.ts | 82 | export function usePairRemoteCloudHostMutation() { | CODE |
| 135 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | crates/relay-tunnel/src/server_bin/auth.rs | 28 | // ── JWT Service (decode-only subset) ────────────────────────────────── | COMMENT |
| MEDIUM | crates/relay-tunnel/src/server_bin/auth.rs | 104 | // ── Request Context ─────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/relay-tunnel/src/server_bin/auth.rs | 114 | // ── Auth Middleware ─────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/services/src/services/remote_client.rs | 754 | // ── Issues ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/services/src/services/remote_client.rs | 811 | // ── Issue Assignees ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/services/src/services/remote_client.rs | 857 | // ── Tags ─────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/services/src/services/remote_client.rs | 870 | // ── Issue Tags ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/services/src/services/remote_client.rs | 913 | // ── Issue Relationships ──────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/services/src/services/remote_client.rs | 942 | // ── Remote Projects ───────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/services/src/services/remote_client.rs | 961 | // ── Project Statuses ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/services/src/services/remote_client.rs | 972 | // ── Pull Requests ─────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/remote/src/azure_blob.rs | 275 | // ── SAS token generation (ported from azure_storage 0.21) ──────────────────── | COMMENT |
| MEDIUM | scripts/ci-local.sh | 59 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | scripts/ci-local.sh | 61 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | scripts/ci-local.sh | 138 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | scripts/ci-local.sh | 140 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | scripts/ci-local.sh | 176 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | scripts/ci-local.sh | 178 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | scripts/ci-local.sh | 262 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | scripts/ci-local.sh | 264 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | scripts/ci-local.sh | 300 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …red/dialogs/settings/settings/ReposSettingsSection.tsx | 70 | // ── Remove Repo confirmation dialog ────────────────────────────────── | COMMENT |
| MEDIUM | …red/dialogs/settings/settings/ReposSettingsSection.tsx | 125 | // ── Main section ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …ges/web-core/src/pages/workspaces/WorkspacesLayout.tsx | 207 | // ── Mobile layout ────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …-core/src/pages/workspaces/PreviewBrowserContainer.tsx | 178 | // ─── Data Sources ─────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …-core/src/pages/workspaces/PreviewBrowserContainer.tsx | 234 | // ─── URL Bar State ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …-core/src/pages/workspaces/PreviewBrowserContainer.tsx | 330 | // ─── Iframe Display Timing ────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …-core/src/pages/workspaces/PreviewBrowserContainer.tsx | 344 | // ─── Navigation Bridge ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …-core/src/pages/workspaces/PreviewBrowserContainer.tsx | 409 | // ─── URL Sync Effect ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …-core/src/pages/workspaces/PreviewBrowserContainer.tsx | 680 | // ─── URL Bar Handlers ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …-core/src/pages/workspaces/PreviewBrowserContainer.tsx | 881 | // ─── Navigation Reset on URL Change ──────────────────────────────────────── | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | crates/tauri-app/build.rs | 1 | fn main() { | COMMENT |
| LOW | crates/tauri-app/build.rs | 61 | } | COMMENT |
| LOW | crates/tauri-app/src/windows_notifications.rs | 1 | //! Windows notification system using `tauri-winrt-notification`. | COMMENT |
| LOW | crates/relay-webrtc/src/proxy.rs | 21 | conn_id: Uuid, | COMMENT |
| LOW | crates/relay-webrtc/src/proxy.rs | 41 | #[derive(Debug, Clone, Serialize, Deserialize, TS)] | COMMENT |
| LOW | crates/relay-webrtc/src/client.rs | 161 | Ok(()) | COMMENT |
| LOW | crates/relay-webrtc/src/fragment.rs | 1 | //! Generic data channel message fragmentation following the SaltyRTC | COMMENT |
| LOW | crates/executors/src/profile.rs | 121 | /// | COMMENT |
| LOW | crates/executors/src/logs/stderr_processor.rs | 21 | COMMENT | |
| LOW | crates/executors/src/logs/plain_text_processor.rs | 1 | //! Reusable log processor for plain-text streams with flexible clustering and formatting. | COMMENT |
| LOW | crates/executors/src/executors/codex.rs | 101 | /// command fails, the user is asked to approve execution without the sandbox. | COMMENT |
| LOW | crates/api-types/src/issue.rs | 161 | #[serde(skip_serializing_if = "Option::is_none")] | COMMENT |
| LOW | crates/api-types/src/issue.rs | 181 | #[ts(optional)] | COMMENT |
| LOW | crates/db/src/models/scratch.rs | 101 | pub struct UiPreferencesData { | COMMENT |
| LOW | crates/db/src/models/scratch.rs | 121 | #[serde(default)] | COMMENT |
| LOW | crates/db/src/models/scratch.rs | 221 | /// Parent issue ID if creating a sub-issue | COMMENT |
| LOW | crates/git/src/cli.rs | 1 | //! Why we prefer the Git CLI here | COMMENT |
| LOW | crates/git/src/cli.rs | 741 | if out.status.success() { | COMMENT |
| LOW | crates/preview-proxy/src/click_to_component_script.js | 41 | if (text.length > 100) text = text.slice(0, 100) + '...'; | COMMENT |
| LOW | crates/preview-proxy/src/click_to_component_script.js | 61 | // ComponentPayload: | COMMENT |
| LOW | crates/remote/src/mutation_definition.rs | 1 | //! Mutation definition builder for type-safe route and metadata generation. | COMMENT |
| LOW | crates/remote/src/shape_route.rs | 1 | //! Unified registration for Electric proxy + REST fallback routes. | COMMENT |
| LOW | crates/remote/src/shape_route.rs | 81 | pub struct NoQueryParams {} | COMMENT |
| LOW | crates/remote/src/shape_route.rs | 101 | OrgWithUser, | COMMENT |
| LOW | scripts/generate-tauri-update-json.js | 1 | #!/usr/bin/env node | COMMENT |
| LOW | scripts/legacy-frontend-paths-allowlist.txt | 1 | # Allowed legacy frontend files during structure migration | COMMENT |
| LOW | scripts/ci-local.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | scripts/generate-desktop-manifest.js | 1 | #!/usr/bin/env node | COMMENT |
| LOW | …-core/src/pages/workspaces/PreviewBrowserContainer.tsx | 341 | (s) => s.setPendingComponentMarkdown | COMMENT |
| LOW | …-core/src/pages/workspaces/PreviewBrowserContainer.tsx | 681 | // handleUrlSubmit flow: | COMMENT |
| LOW | .github/workflows/pre-release.yml | 921 | - name: Build MSI with wixl | COMMENT |
| LOW | .github/workflows/pre-release.yml | 941 | # if: contains(matrix.target, 'windows') && env.AZURE_ENDPOINT != '' | COMMENT |
| LOW | .github/workflows/pre-release.yml | 961 | # # Sign all exe and msi files in the bundle directory | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | crates/executors/default_mcp.json | 14 | "CONTEXT7_API_KEY": "YOUR_API_KEY" | CODE |
| HIGH | crates/executors/default_mcp.json | 31 | "EXA_API_KEY": "YOUR_API_KEY" | CODE |
| HIGH | docs/AGENTS.md | 133 | -H 'Authorisation: Bearer YOUR_API_KEY' | CODE |
| HIGH | docs/AGENTS.md | 273 | Bearer token for API authentication. Format: `Bearer YOUR_API_KEY` | CODE |
| HIGH | docs/CLAUDE.md | 133 | -H 'Authorisation: Bearer YOUR_API_KEY' | CODE |
| HIGH | docs/CLAUDE.md | 273 | Bearer token for API authentication. Format: `Bearer YOUR_API_KEY` | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | crates/worktree-manager/src/worktree_manager.rs | 133 | // Step 1: Comprehensive cleanup of existing worktree and metadata (non-blocking) | COMMENT |
| LOW⚡ | crates/worktree-manager/src/worktree_manager.rs | 136 | // Step 2: Ensure parent directory exists (non-blocking) | COMMENT |
| LOW⚡ | crates/worktree-manager/src/worktree_manager.rs | 145 | // Step 3: Create the worktree with retry logic for metadata conflicts (non-blocking) | COMMENT |
| LOW⚡ | crates/worktree-manager/src/worktree_manager.rs | 237 | // Step 1: Use GitService to remove the worktree registration (force) if present | COMMENT |
| LOW⚡ | crates/worktree-manager/src/worktree_manager.rs | 244 | // Step 2: Always force cleanup metadata directory (proactive cleanup) | COMMENT |
| LOW⚡ | crates/worktree-manager/src/worktree_manager.rs | 249 | // Step 3: Clean up physical worktree directory if it exists | COMMENT |
| LOW⚡ | crates/worktree-manager/src/worktree_manager.rs | 258 | // Step 4: Good-practice to clean up any other stale admin entries | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | crates/worktree-manager/src/worktree_manager.rs | 133 | // Step 1: Comprehensive cleanup of existing worktree and metadata (non-blocking) | COMMENT |
| LOW⚡ | crates/worktree-manager/src/worktree_manager.rs | 136 | // Step 2: Ensure parent directory exists (non-blocking) | COMMENT |
| LOW⚡ | crates/worktree-manager/src/worktree_manager.rs | 145 | // Step 3: Create the worktree with retry logic for metadata conflicts (non-blocking) | COMMENT |
| LOW⚡ | crates/worktree-manager/src/worktree_manager.rs | 237 | // Step 1: Use GitService to remove the worktree registration (force) if present | COMMENT |
| LOW⚡ | crates/worktree-manager/src/worktree_manager.rs | 244 | // Step 2: Always force cleanup metadata directory (proactive cleanup) | COMMENT |
| LOW⚡ | crates/worktree-manager/src/worktree_manager.rs | 249 | // Step 3: Clean up physical worktree directory if it exists | COMMENT |
| LOW⚡ | crates/worktree-manager/src/worktree_manager.rs | 258 | // Step 4: Good-practice to clean up any other stale admin entries | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | crates/worktree-manager/src/worktree_manager.rs | 238 | // The Git CLI is more robust than libgit2 for mutable worktree operations | COMMENT |
| MEDIUM | crates/utils/src/path.rs | 11 | /// This is a robust implementation that handles symlinks and edge cases | COMMENT |
| MEDIUM | packages/web-core/src/integrations/vscode/bridge.ts | 427 | // Auto-install on import to make it robust | COMMENT |
| MEDIUM | …ocal-web/src/app/providers/ClickedElementsProvider.tsx | 109 | // Simple prefix strip; robust handling is on backend (path.rs). | COMMENT |