Local-first session search, analytics, insights, and token use statistics for coding agents, supporting Claude Code, Codex, and more than 50 other agents.
This report summarizes scanner evidence for kenn-io/agentsview, a Go project with 6,313 GitHub stars. SynthScan examined 1,501,151 lines of code across 3879 source files, recording 1004 pattern matches distributed across 15 syntactic categories. The legacy adjusted pattern signal is 0.8 (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? 927 finding(s).
Are imports declared and package/API names verified? 29 finding(s).
Are wrappers, guards, and repeated structures necessary? 168 finding(s).
Which changes need focused human review? 1004 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 1004 distinct pattern matches across 15 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 | cmd/agentsview/replica_vector_search.go | 41 | // A miss is never an error: a replica that cannot serve vectors, a | COMMENT |
| LOW | cmd/agentsview/parse_diff_test.go | 1021 | assert.False(t, notFailed, | COMMENT |
| LOW | cmd/agentsview/extract_scheduler.go | 41 | // onPassFinished is called after every pass that started, even when it | COMMENT |
| LOW | cmd/agentsview/session_get.go | 121 | } | COMMENT |
| LOW | cmd/agentsview/session_get.go | 221 | // already surfaced so an on-disk session is not double-counted | COMMENT |
| LOW | cmd/agentsview/session_get.go | 321 | // on remote stores so the user is pointed at `session list` and | COMMENT |
| LOW | cmd/agentsview/session_messages.go | 61 | flags.String("role", "", | COMMENT |
| LOW | cmd/agentsview/malloc_tuning_linux.go | 21 | } | COMMENT |
| LOW | cmd/agentsview/malloc_tuning_linux.go | 41 | // trimming until 64 MiB of free memory sits at the top of the heap. | COMMENT |
| LOW | cmd/agentsview/replica_watch.go | 61 | // The replica records a full push only once the copy starts. | COMMENT |
| LOW | cmd/agentsview/replica_watch.go | 81 | // relational sessions. | COMMENT |
| LOW | cmd/agentsview/replica_watch.go | 161 | } | COMMENT |
| LOW | cmd/agentsview/replica.go | 41 | // lock; it has no CLI flag. | COMMENT |
| LOW | cmd/agentsview/archive_sync_lane.go | 161 | loop *pushLoop | COMMENT |
| LOW | cmd/agentsview/archive_sync_lane.go | 181 | // archive and syncs before it pushes. Watcher dispatch opens then. A local | COMMENT |
| LOW | cmd/agentsview/polling_scope_identity_test.go | 241 | } | COMMENT |
| LOW | cmd/agentsview/classifier_wiring.go | 1 | // ABOUTME: applyClassifierConfig installs user-defined | COMMENT |
| LOW | cmd/agentsview/session_get_test.go | 41 | } | COMMENT |
| LOW | cmd/agentsview/health.go | 161 | } | COMMENT |
| LOW | cmd/agentsview/token_use.go | 21 | const ( | COMMENT |
| LOW | cmd/agentsview/token_use.go | 41 | // | COMMENT |
| LOW | cmd/agentsview/daemon_runtime.go | 1021 | // verified is free, not after releasing it: unlocking first would leave | COMMENT |
| LOW | cmd/agentsview/session_list.go | 321 | // sessionNameWidth caps the NAME column so a long first message can't | COMMENT |
| LOW | cmd/agentsview/sync_worker.go | 221 | stats := engine.ResyncAll(ctx, onProgress) | COMMENT |
| LOW | cmd/agentsview/unwatched_poll.go | 321 | // availableUnwatchedPollScopes selects the reconciliation scopes whose | COMMENT |
| LOW | cmd/agentsview/unwatched_poll_test.go | 901 | // agent means "every provider" for deferral purposes, so blocking must be | COMMENT |
| LOW | cmd/agentsview/terminal_sanitize.go | 1 | // ABOUTME: terminal-output hardening for session CLI commands. | COMMENT |
| LOW | cmd/agentsview/vector_push_source.go | 21 | // target has vectors disabled never touches the file. Only a successful open is | COMMENT |
| LOW | cmd/agentsview/replica_watch_health.go | 21 | const replicaWatchErrorLimit = 500 | COMMENT |
| LOW | cmd/agentsview/embed_scheduler.go | 21 | "go.kenn.io/agentsview/internal/sync" | COMMENT |
| LOW | cmd/agentsview/embed_scheduler.go | 81 | // embedManager is the subset of *vector.Manager the scheduler needs, | COMMENT |
| LOW | cmd/agentsview/embed_scheduler.go | 661 | RecallMutationNotify func() | COMMENT |
| LOW | cmd/agentsview/embed_scheduler.go | 821 | } | COMMENT |
| LOW | cmd/agentsview/embed_scheduler.go | 841 | // mapped by translateSearchError onto db.ErrSemanticUnavailable with the | COMMENT |
| LOW | cmd/agentsview/usage.go | 401 | } | COMMENT |
| LOW | cmd/agentsview/remote_source_sync.go | 41 | return roots | COMMENT |
| LOW | cmd/agentsview/worker_pass.go | 21 | ) | COMMENT |
| LOW | cmd/agentsview/worker_pass.go | 41 | // surfaced as-is rather than re-run in process. | COMMENT |
| LOW | cmd/agentsview/worker_pass.go | 61 | var launchSyncWorker = launchSyncWorkerProcess | COMMENT |
| LOW | cmd/agentsview/main.go | 141 | // otherwise balloon the heap to several hundred megabytes; the pages | COMMENT |
| LOW | cmd/agentsview/main.go | 441 | // the worker persisted skip state into the archive, which the | COMMENT |
| LOW | cmd/agentsview/main.go | 841 | // A foreground `agentsview sync` may have already driven startup | COMMENT |
| LOW | cmd/agentsview/main.go | 1221 | // catches up incrementally so safely applicable updates | COMMENT |
| LOW | cmd/agentsview/main.go | 2041 | // back to incremental sync (existing rows untouched) and orphans | COMMENT |
| LOW | cmd/agentsview/main.go | 2621 | // configured dir that still exists while the nested root or symlink target | COMMENT |
| LOW | cmd/agentsview/stats_test.go | 441 | // Determinism comes from four levers: | COMMENT |
| LOW | cmd/agentsview/stats_test.go | 581 | // distributions.user_messages, and primary/primary_human all resolve. | COMMENT |
| LOW | cmd/benchgate/main.go | 1 | // Command benchgate compares two `go test -bench` outputs (baseline | COMMENT |
| LOW | cmd/benchgate/main.go | 21 | // count barely changes. Time (sec/op) is noisy on shared runners, so | COMMENT |
| LOW | cmd/benchgate/main.go | 61 | ) | COMMENT |
| LOW | frontend/src/lib/stores/activity.svelte.ts | 141 | // Bumped whenever report.by_session is replaced by a first page instead of | COMMENT |
| LOW | frontend/src/lib/stores/activity.svelte.ts | 661 | this.automation = automation; | COMMENT |
| LOW | frontend/src/lib/utils/usageSavings.ts | 1 | export type SavingsState = "saved" | "costlier" | "none"; | COMMENT |
| LOW | …d/src/lib/components/content/CallRow_CallGroup.test.ts | 1 | // @vitest-environment jsdom | COMMENT |
| LOW | …ontend/src/lib/components/shared/RefreshControl.svelte | 81 | ); | COMMENT |
| LOW | internal/clickhouse/activityreport_probe.go | 101 | // every session has a current snapshot. Each prepared row names the snapshot | COMMENT |
| LOW | internal/clickhouse/activityreport_probe.go | 121 | deltaRows [][]any | COMMENT |
| LOW | internal/clickhouse/vector_push.go | 21 | const vectorCompleteMarker = "" | COMMENT |
| LOW | internal/clickhouse/usage_prices_push.go | 181 | COMMENT | |
| LOW | internal/clickhouse/schema_usage_messages.go | 661 | for _, query := range queries { | COMMENT |
| 683 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | docs/screenshots/tests/screenshots.spec.ts | 105 | // ── Dashboard / Analytics ─────────────────────────────── | COMMENT |
| MEDIUM | docs/screenshots/tests/screenshots.spec.ts | 435 | // ── Activity dashboard ─────────────────────────────────── | COMMENT |
| MEDIUM | docs/screenshots/tests/screenshots.spec.ts | 535 | // ── Data workspace ─────────────────────────────────────── | COMMENT |
| MEDIUM | docs/screenshots/tests/screenshots.spec.ts | 655 | // ── Recall corpus browser ─────────────────────────────────── | COMMENT |
| MEDIUM | docs/screenshots/tests/screenshots.spec.ts | 786 | // ── Session browser ───────────────────────────────────────── | COMMENT |
| MEDIUM | docs/screenshots/tests/screenshots.spec.ts | 919 | // ── Message viewer ────────────────────────────────────── | COMMENT |
| MEDIUM | docs/screenshots/tests/screenshots.spec.ts | 1274 | // ── Command palette & search ──────────────────────────── | COMMENT |
| MEDIUM | docs/screenshots/tests/screenshots.spec.ts | 1344 | // ── Modals ────────────────────────────────────────────── | COMMENT |
| MEDIUM | docs/screenshots/tests/screenshots.spec.ts | 1402 | // ── Recall and Quality ────────────────────────────────── | COMMENT |
| MEDIUM | docs/screenshots/tests/screenshots.spec.ts | 1535 | // ── Themes ────────────────────────────────────────────── | COMMENT |
| MEDIUM | docs/screenshots/tests/screenshots.spec.ts | 1592 | // ── Settings page ──────────────────────────────────────── | COMMENT |
| MEDIUM | docs/screenshots/tests/screenshots.spec.ts | 1823 | // ── About dialog ───────────────────────────────────────── | COMMENT |
| MEDIUM | docs/screenshots/tests/screenshots.spec.ts | 1845 | // ── In-session search ──────────────────────────────────── | COMMENT |
| MEDIUM | docs/screenshots/tests/screenshots.spec.ts | 1881 | // ── Token usage ────────────────────────────────────────── | COMMENT |
| MEDIUM | docs/screenshots/tests/screenshots.spec.ts | 1944 | // ── Sub-agent tree ─────────────────────────────────────── | COMMENT |
| MEDIUM | docs/screenshots/tests/screenshots.spec.ts | 1981 | // ── Focused transcript mode ───────────────────────────── | COMMENT |
| MEDIUM | docs/screenshots/tests/screenshots.spec.ts | 2053 | // ── Machine labels (pg sync) ──────────────────────────── | COMMENT |
| MEDIUM | docs/screenshots/tests/screenshots.spec.ts | 2078 | // ── Search grouping and sort ──────────────────────────── | COMMENT |
| MEDIUM | docs/screenshots/tests/screenshots.spec.ts | 2125 | // ── Model info in session header ──────────────────────── | COMMENT |
| MEDIUM | docs/screenshots/tests/screenshots.spec.ts | 2146 | // ── Import conversations ──────────────────────────────── | COMMENT |
| MEDIUM | docs/screenshots/tests/screenshots.spec.ts | 2219 | // ── Session Vital Signs ───────────────────────────────── | COMMENT |
| MEDIUM | docs/screenshots/tests/screenshots.spec.ts | 2281 | // ── Trends ────────────────────────────────────────────── | COMMENT |
| MEDIUM | docs/screenshots/tests/screenshots.spec.ts | 2303 | // ── Session intelligence ──────────────────────────────── | COMMENT |
| MEDIUM | docs/screenshots/tests/screenshots.spec.ts | 2426 | // ── Dashboard session health section ──────────────────── | COMMENT |
| MEDIUM | docs/screenshots/tests/screenshots.spec.ts | 2444 | // ── Usage dashboard (token usage & cost) ──────────────── | COMMENT |
| MEDIUM | docs/screenshots/tests/screenshots.spec.ts | 2558 | // ── Recent Edits ──────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | scripts/build_wheels_test.py | 135 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | scripts/build_wheels_test.py | 137 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | scripts/build_wheels_test.py | 248 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | scripts/build_wheels_test.py | 250 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | scripts/build_wheels_test.py | 21 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | scripts/build_wheels_test.py | 23 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | scripts/build_wheels_test.py | 71 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | scripts/build_wheels_test.py | 73 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | scripts/build_wheels.py | 21 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | scripts/build_wheels.py | 23 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | scripts/build_wheels.py | 56 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | scripts/build_wheels.py | 58 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | scripts/build_wheels.py | 78 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | scripts/build_wheels.py | 80 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | scripts/build_wheels.py | 121 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | scripts/build_wheels.py | 123 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | scripts/build_wheels.py | 272 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | scripts/build_wheels.py | 274 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | scripts/build_wheels.py | 329 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | scripts/build_wheels.py | 331 | # --------------------------------------------------------------------------- | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | frontend/vite.config.ts | 37 | function requestOriginMatchesLoopbackDevServer( | CODE |
| LOW | frontend/src/App.svelte | 342 | function clearYokeForClearedSessionDates( | CODE |
| LOW | frontend/src/App.svelte | 420 | function clearRootDetailDateRestoreSuppressed(): void { | CODE |
| LOW | frontend/src/App.svelte | 425 | function clearRootFilterProvenance(): void { | CODE |
| LOW | frontend/src/vitest-setup.ts | 9 | export function installFallbackResizeObserver(): void { | CODE |
| LOW | frontend/src/vitest-setup.ts | 29 | export function installFallbackPointerCapture(): void { | CODE |
| LOW | frontend/src/vitest-setup.ts | 44 | export function installFallbackMatchMedia(): void { | CODE |
| LOW | frontend/src/lib/stores/ui.svelte.ts | 164 | function currentDesktopWebviewWindow(): DesktopTauriWebviewWindow | undefined { | CODE |
| LOW | frontend/src/lib/stores/sessions.test.ts | 101 | function rejectGeneratedRequestOnAbort( | CODE |
| LOW | frontend/src/lib/stores/sessions.test.ts | 170 | function expectSidebarIndexCalledWith(expected: Partial<SidebarIndexParams>) { | CODE |
| LOW | frontend/src/lib/stores/sessions.test.ts | 176 | function expectPaginatedSidebarIndexCalledWith(expected: Partial<SidebarIndexParams>) { | CODE |
| LOW | frontend/src/lib/stores/perf.svelte.ts | 95 | export function installPerfFetchInstrumentation(): void { | CODE |
| LOW | frontend/src/lib/stores/usage.svelte.ts | 1717 | export function mergeUsageAndSessionUrlParams( | CODE |
| LOW | frontend/src/lib/stores/yokedDates.svelte.ts | 281 | export function panelDateToSessionFilterParams(state: PanelDateState): Record<string, string> { | CODE |
| LOW | frontend/src/lib/stores/yokedDates.svelte.ts | 304 | function activityCustomRangeWithinLimit(from: string, to: string): boolean { | CODE |
| LOW | frontend/src/lib/stores/usageTokenTypes.ts | 21 | export function selectedTokenTypesFromParams(params: Record<string, string>): UsageTokenType[] { | CODE |
| LOW | frontend/src/lib/stores/sessionRouteParams.ts | 93 | function hasFixedSessionDateParams(params: Record<string, string>): boolean { | CODE |
| LOW | frontend/src/lib/stores/sessionRouteParams.ts | 101 | export function hasSessionRouteDateIntent(route: string, params: Record<string, string>): boolean { | CODE |
| LOW | frontend/src/lib/stores/sessionRouteParams.ts | 124 | function fixedSessionDateParamsEqual( | CODE |
| LOW | frontend/src/lib/stores/sessionRouteParams.ts | 135 | function fixedSessionDateParamsMatchRollingWindow( | CODE |
| LOW | frontend/src/lib/stores/sessionRouteParams.ts | 148 | function shouldPreserveSessionWindowDays( | CODE |
| LOW | frontend/src/lib/stores/sessionRouteParams.ts | 164 | export function sessionRouteParamsForFilters( | CODE |
| LOW | frontend/src/lib/stores/sessionRouteParams.ts | 177 | function currentSessionRouteParams(currentParams: Record<string, string>): Record<string, string> { | CODE |
| LOW | frontend/src/lib/stores/sessionRouteParams.ts | 188 | export function sessionRouteParamsForDetailExit( | CODE |
| LOW | frontend/src/lib/utils/transcript-mode.ts | 19 | export function filterDisplayItemsByTranscriptMode( | CODE |
| LOW | frontend/src/lib/utils/transcript-mode.ts | 107 | export function shouldAutoSwitchTranscriptModeToNormal( | CODE |
| LOW | frontend/src/lib/utils/messages.ts | 73 | function stripLeadingReminderBlocks(content: string): { | CODE |
| LOW | frontend/src/lib/utils/messages.ts | 97 | function stripLeadingReminderEnvelopes(content: string): string { | CODE |
| LOW | frontend/src/lib/utils/refresh.ts | 236 | export function queryDurationWidthSamples(): string[] { | CODE |
| LOW | frontend/src/lib/utils/refresh.ts | 279 | export function refreshStatusWidthSamples(statuses: readonly string[] = []): string[] { | CODE |
| LOW | frontend/src/lib/utils/markdown.ts | 734 | function unknownXmlParagraphBoundary() { | CODE |
| LOW | frontend/src/lib/utils/markdown.ts | 884 | function isLegacyProtectedAutolink(raw: string): boolean { | CODE |
| LOW | frontend/src/lib/utils/markdown.ts | 893 | function shouldEscapeCustomXmlLiteral(raw: string | undefined): boolean { | CODE |
| LOW | frontend/src/lib/utils/arrow-target.ts | 39 | export function navigateRegisteredSessionList(delta: number): boolean { | CODE |
| LOW | frontend/src/lib/utils/tool-summary.ts | 249 | export function summarizeToolInputPreview(preview: string): string { | CODE |
| LOW | frontend/src/lib/utils/chartPalette.ts | 78 | export function orderedChartSeriesStyleMap( | CODE |
| LOW | frontend/src/lib/utils/chartPalette.ts | 93 | export function orderedChartSeriesColorMap( | CODE |
| LOW | frontend/src/lib/utils/health.ts | 31 | export function setupVisibilityHealthCheck(opts: VisibilityHealthCheckOptions = {}): () => void { | CODE |
| LOW | frontend/src/lib/utils/toolDisplay.ts | 43 | export function displayFormattedToolResult(content: string): string { | CODE |
| LOW | frontend/src/lib/utils/resume.ts | 132 | export function formatResumeResponseCommand( | CODE |
| LOW | frontend/src/lib/search/session-scope.ts | 42 | export function keepsAnswerBeforeTrailingTools( | CODE |
| LOW | …tend/src/lib/components/component-source-guard.test.ts | 27 | function oneOffControlStyleOffenders(source: string): string[] { | CODE |
| LOW | …tend/src/lib/components/component-source-guard.test.ts | 43 | function accentFillForegroundOffenders(source: string): string[] { | CODE |
| LOW | frontend/src/lib/components/quality/QualityPage.svelte | 286 | function handleAutomatedScopeChange(value: string) { | CODE |
| LOW | frontend/src/lib/components/quality/qualityPatterns.ts | 123 | export function buildRuleBasedRecommendations( | CODE |
| LOW | …ntend/src/lib/components/activity/ActivityPage.test.ts | 28 | function stubActivityPageCollaborators() { | CODE |
| LOW | …nd/src/lib/components/layout/ThreeColumnLayout.test.ts | 87 | function getClampedSidebarWidthForLayout(desiredWidth: number, layoutWidth: number) { | CODE |
| LOW | frontend/src/lib/components/layout/AppHeader.svelte | 150 | async function handleCopyMarkdownExportLink() { | CODE |
| LOW | frontend/src/lib/components/layout/sidebar-width.ts | 68 | export function clampSidebarWidthForLayout(desiredWidth: number, layoutWidth: number): number { | CODE |
| LOW | frontend/src/lib/components/layout/sidebar-width.ts | 77 | export function clampVitalsWidthForLayout(desiredWidth: number, layoutWidth: number): number { | CODE |
| LOW | …d/src/lib/components/friction/frictionReviewSummary.ts | 21 | export function pickFrictionReviewInsight( | CODE |
| LOW | frontend/src/lib/components/content/MessageList.svelte | 559 | function clickedEmptyMemberOrdinal( | CODE |
| LOW | frontend/src/lib/components/usage/UsagePage.test.ts | 21 | function usageSummaryWithUnsupported(kind?: string): UsageSummaryResponse { | CODE |
| LOW | …tend/src/lib/components/usage/AttributionPanel.test.ts | 70 | function summaryWithDuplicateProjectLabels(): UsageSummaryResponse { | CODE |
| LOW | frontend/src/lib/components/usage/UsagePage.svelte | 217 | function usageSupportedSessionParams( | CODE |
| LOW | frontend/src/lib/components/shared/rangeSelection.ts | 89 | function selectionFromCalendarRange(from: string, to: string): CalendarSelection | null { | CODE |
| LOW | …tend/src/lib/components/analytics/AnalyticsPage.svelte | 112 | function parseSessionAnalyticsWindowDays( | CODE |
| LOW | …tend/src/lib/components/analytics/AnalyticsPage.svelte | 135 | function sessionAnalyticsDateUrlSignature( | CODE |
| LOW | …tend/src/lib/components/analytics/AnalyticsPage.svelte | 168 | function sessionDateFiltersAreClear(): boolean { | CODE |
| LOW | …tend/src/lib/components/analytics/AnalyticsPage.svelte | 185 | function syncSessionFiltersForDateState( | CODE |
| 60 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | internal/rawclient/e2e_test.go | 42 | // Step 1: enroll a device through the real DeviceAuthService. | COMMENT |
| LOW | internal/rawclient/e2e_test.go | 73 | // Step 2: build a two-object generation from fixture bytes with real | COMMENT |
| LOW | internal/rawclient/e2e_test.go | 111 | // Step 3: negotiate missing objects, then upload both through the | COMMENT |
| LOW | internal/rawclient/e2e_test.go | 136 | // Step 4: commit the first generation with an empty expected parent | COMMENT |
| LOW | internal/rawclient/e2e_test.go | 167 | // Step 5: a second generation chained onto the first receipt advances | COMMENT |
| LOW | internal/rawclient/e2e_test.go | 181 | // Step 6: a stale parent receipt is rejected as a typed head conflict | COMMENT |
| LOW | internal/rawclient/e2e_test.go | 195 | // Step 7: the checkpoint reflects only the last acknowledged head — | COMMENT |
| LOW | internal/postgres/sync_test.go | 1148 | // Step 1: push with project filter = ["alpha"]. | COMMENT |
| LOW | internal/postgres/sync_test.go | 1178 | // Step 2: push unfiltered — beta and gamma should arrive. | COMMENT |
| LOW | internal/postgres/sync_test.go | 1196 | // Step 3: second filtered push is a no-op (fingerprints | COMMENT |
| LOW | internal/postgres/raw_client_e2e_pgtest_test.go | 162 | // Step 1: negotiate missing objects, then upload both through the | COMMENT |
| LOW | internal/postgres/raw_client_e2e_pgtest_test.go | 207 | // Step 2: commit the first generation with an empty expected parent | COMMENT |
| LOW | internal/postgres/raw_client_e2e_pgtest_test.go | 285 | // Step 3: simulate an interrupted upload. The laptop dies after two | COMMENT |
| LOW | internal/postgres/raw_client_e2e_pgtest_test.go | 373 | // Step 4: a stale parent receipt is rejected as a typed head conflict | COMMENT |
| LOW | internal/postgres/collision_pgtest_test.go | 55 | // Step 1: Insert a session owned by machine-a directly into PG. | COMMENT |
| LOW | internal/postgres/collision_pgtest_test.go | 66 | // Step 2: Attempt to push the same session from machine-b. | COMMENT |
| LOW⚡ | internal/postgres/collision_pgtest_test.go | 91 | // Step 3: Verify the machine column is still "machine-a". | COMMENT |
| LOW⚡ | internal/postgres/collision_pgtest_test.go | 100 | // Step 4: Verify no messages were written for this session. | COMMENT |
| LOW | internal/sync/cline_reconciliation_test.go | 48 | // Step 1: Initial sync (parent + teammate) | COMMENT |
| LOW | internal/sync/cline_reconciliation_test.go | 59 | // Step 2: Delete teammate file and resync. | COMMENT |
| LOW | internal/sync/cline_reconciliation_test.go | 72 | // Step 3: Restore teammate file and resync -> session revives. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | internal/rawclient/e2e_test.go | 42 | // Step 1: enroll a device through the real DeviceAuthService. | COMMENT |
| LOW | internal/rawclient/e2e_test.go | 73 | // Step 2: build a two-object generation from fixture bytes with real | COMMENT |
| LOW | internal/rawclient/e2e_test.go | 111 | // Step 3: negotiate missing objects, then upload both through the | COMMENT |
| LOW | internal/rawclient/e2e_test.go | 136 | // Step 4: commit the first generation with an empty expected parent | COMMENT |
| LOW | internal/rawclient/e2e_test.go | 167 | // Step 5: a second generation chained onto the first receipt advances | COMMENT |
| LOW | internal/rawclient/e2e_test.go | 181 | // Step 6: a stale parent receipt is rejected as a typed head conflict | COMMENT |
| LOW | internal/rawclient/e2e_test.go | 195 | // Step 7: the checkpoint reflects only the last acknowledged head — | COMMENT |
| LOW | internal/postgres/sync_test.go | 1148 | // Step 1: push with project filter = ["alpha"]. | COMMENT |
| LOW | internal/postgres/sync_test.go | 1178 | // Step 2: push unfiltered — beta and gamma should arrive. | COMMENT |
| LOW | internal/postgres/sync_test.go | 1196 | // Step 3: second filtered push is a no-op (fingerprints | COMMENT |
| LOW | internal/postgres/raw_client_e2e_pgtest_test.go | 162 | // Step 1: negotiate missing objects, then upload both through the | COMMENT |
| LOW | internal/postgres/raw_client_e2e_pgtest_test.go | 207 | // Step 2: commit the first generation with an empty expected parent | COMMENT |
| LOW | internal/postgres/raw_client_e2e_pgtest_test.go | 285 | // Step 3: simulate an interrupted upload. The laptop dies after two | COMMENT |
| LOW | internal/postgres/raw_client_e2e_pgtest_test.go | 373 | // Step 4: a stale parent receipt is rejected as a typed head conflict | COMMENT |
| LOW | internal/postgres/collision_pgtest_test.go | 55 | // Step 1: Insert a session owned by machine-a directly into PG. | COMMENT |
| LOW | internal/postgres/collision_pgtest_test.go | 66 | // Step 2: Attempt to push the same session from machine-b. | COMMENT |
| LOW⚡ | internal/postgres/collision_pgtest_test.go | 91 | // Step 3: Verify the machine column is still "machine-a". | COMMENT |
| LOW⚡ | internal/postgres/collision_pgtest_test.go | 100 | // Step 4: Verify no messages were written for this session. | COMMENT |
| LOW | internal/sync/cline_reconciliation_test.go | 48 | // Step 1: Initial sync (parent + teammate) | COMMENT |
| LOW | internal/sync/cline_reconciliation_test.go | 59 | // Step 2: Delete teammate file and resync. | COMMENT |
| LOW | internal/sync/cline_reconciliation_test.go | 72 | // Step 3: Restore teammate file and resync -> session revives. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | cmd/agentsview/session_get_test.go | 476 | // Copilot / Gemini bare UUID. Definitely not a | COMMENT |
| MEDIUM | frontend/package-lock.json | 7148 | "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.3.tgz", | CODE |
| MEDIUM | internal/parser/kimi.go | 39 | // more robust proxy at an identical price. Switch to k2.7 once the | COMMENT |
| MEDIUM | internal/db/analytics.go | 176 | // to leverage the started_at index. Empty From/To inputs | COMMENT |
| MEDIUM | internal/duckdb/store_test.go | 3799 | // Word-bounded: "seamless" does not count for "seam", and | COMMENT |
| MEDIUM | internal/sync/engine_integration_test.go | 15325 | // assertion is robust to filesystem mtime granularity. | COMMENT |
| MEDIUM | internal/vector/mirror.go | 332 | // and that guard together make Refresh's accounting robust regardless | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | frontend/src/lib/utils/content-parser.test.ts | 96 | '````markdown\nSome context paragraph.\n\n```qmd\nauthor: "Jane Doe"\n```\n\nMore context here.\n````'; | CODE |
| LOW | frontend/src/lib/utils/content-parser.test.ts | 102 | 'Some context paragraph.\n\n```qmd\nauthor: "Jane Doe"\n```\n\nMore context here.\n', | CODE |
| LOW | frontend/src/lib/components/sidebar/SessionList.test.ts | 383 | makeSession({ id: "pending", project: "placeholder", is_index_only: true }), | CODE |
| LOW | …c/lib/components/friction/FrictionMarkdownPanel.svelte | 71 | <p class="placeholder">{m.friction_markdown_loading()}</p> | CODE |
| LOW | …tend/src/lib/components/content/SessionFindBar.test.ts | 49 | expect(input?.getAttribute("placeholder")).toBe("在会话中查找..."); | CODE |
| LOW | …end/src/lib/components/modals/GoToSessionModal.test.ts | 96 | expect(input().getAttribute("placeholder")).toBe("Paste a session ID or UUID"); | CODE |
| LOW | internal/importer/importer_test.go | 1512 | full := strings.Repeat("lorem ipsum ", 50) + "zephyrquill closing words" | CODE |
| LOW | internal/server/insights_test.go | 237 | te.srv.SetGithubToken("fake-token") | CODE |
| LOW | internal/server/insights_test.go | 248 | require.Equal(t, "token fake-token", req.Header.Get("Authorization")) | CODE |
| LOW | internal/server/insights_test.go | 325 | te.srv.SetGithubToken("fake-token") | CODE |
| LOW | internal/server/server_test.go | 4189 | te.srv.SetGithubToken("fake-token") | CODE |
| LOW | internal/parser/openclaw_sqlite_test.go | 428 | writeSourceFile(t, dbPath, "placeholder") | CODE |
| LOW | internal/parser/openclaw_sqlite_test.go | 555 | writeSourceFile(t, partialDB, "placeholder") | CODE |
| LOW | internal/parser/openclaw_sqlite_test.go | 556 | writeSourceFile(t, healthyDB, "placeholder") | CODE |
| LOW | internal/db/git/pr_test.go | 56 | "fake-token", | CODE |
| LOW | internal/db/git/pr_test.go | 95 | "fake-token", | CODE |
| LOW | internal/db/git/pr_test.go | 111 | "fake-token", | CODE |
| LOW | internal/db/git/pr_test.go | 130 | "fake-token", | CODE |
| LOW | internal/remotesync/resolve.go | 628 | if symlinkEscapesRoot(targetRoot, filepath.Join(sessionsDir, "placeholder")) { | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | cmd/agentsview/replica_embed.go | 104 | if scheduler != nil && e.source.cfg.Vector.Embed.RunAfterSyncEnabled() { | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | internal/insight/canned_friction_template_test.go | 120 | assert.True(t, strings.HasPrefix(md, "# AI-generated recommendation\n\n")) | CODE |
| HIGH | internal/insight/canned.go | 542 | b.WriteString("# AI-generated recommendation\n\n") | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | docs/changelog.md | 3257 | ([Antigravity](https://antigravity.google), Google's agentic IDE). The IDE | CODE |
| MEDIUM | docs/internal/jilog-adaptation.md | 174 | ## Review orchestration | COMMENT |
| MEDIUM⚡ | scripts/build_wheels.py | 273 | # Top-level build orchestration | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | docs/screenshots/test_capture.py | 1 | CODE | |
| LOW | docs/screenshots/test_capture.py | 6 | CODE | |
| LOW | docs/scripts/check_built_site.py | 2 | CODE | |
| LOW | docs/scripts/check_markdown_sources.py | 2 | CODE | |
| LOW | docs/scripts/check_vercel_redirects.py | 2 | CODE | |
| LOW | scripts/build_wheels_test.py | 1 | CODE | |
| LOW | scripts/build_wheels_test.py | 4 | CODE | |
| LOW | scripts/build_wheels.py | 1 | CODE | |
| LOW | scripts/qwenpaw-fixtures/gen.py | 43 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | docs/screenshots/container.py | 8 | CODE | |
| LOW | docs/screenshots/corpus.py | 129 | CODE | |
| LOW | docs/screenshots/corpus.py | 220 | CODE | |
| LOW | docs/scripts/check_built_site.py | 453 | CODE | |
| LOW | docs/scripts/check_vercel_redirects.py | 135 | CODE | |
| LOW | docs/scripts/check_vercel_redirects.py | 171 | CODE | |
| LOW | scripts/build_wheels.py | 99 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | internal/signals/outcome.go | 31 | "i'm unable to", | CODE |
| MEDIUM | internal/signals/outcome_test.go | 123 | LastAssistantText: "I'm unable to complete this task.", | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | docs/screenshots/corpus.py | 247 | print(f"Error: {message}", file=sys.stderr) | CODE |
| MEDIUM | scripts/build_wheels.py | 379 | print("Error: no wheels were built", file=sys.stderr) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | docker-compose.test.yml | 2 | # Usage: | COMMENT |