AI Slop Code Risk Monitor

kenn-io/msgvault

SlopCodeMonitor badge for kenn-io/msgvault Adjusted legacy signal; badge bands: 25 / 50 / 75 (different from dashboard bands).

Archive a lifetime of email and chat. Offline search, analytics, and AI query over your full message history. Powered by SQLite and DuckDB

1.3 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for kenn-io/msgvault, a Go project with 2,173 GitHub stars. SynthScan examined 1,492,907 lines of code across 4124 source files, recording 1715 pattern matches distributed across 13 syntactic categories. The legacy adjusted pattern signal is 1.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.

1.3
Adjusted Signal
1.3
Raw Pattern Score
100%
Time Factor
2026-10-31
Last Push
2.2K
Stars
Go
Language
1.5M
Lines of Code
4.1K
Files
1.7K
Pattern Hits
2026-10-31
Scan Date
0.00
HC Hit Rate

Risk Review · Payload v1

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.

Cognitive Ownership Risk 3.3/100 · LOW

Can maintainers explain intent, assumptions, and trade-offs? 910 finding(s).

Hallucinated Dependency & Supply Chain Risk 3.0/100 · LOW

Are imports declared and package/API names verified? 801 finding(s).

Agent Over-Engineering Ratio 0.2/100 · LOW

Are wrappers, guards, and repeated structures necessary? 57 finding(s).

PR Review Velocity Impact 5.8/100 · LOW

Which changes need focused human review? 1715 finding(s).

What These Metrics Mean

Adjusted Signal
Legacy pattern score normalized per 1,000 scanned lines and multiplied by the repository-level time factor. It is not an estimate of AI authorship.
Raw Pattern Score
Sum of severity- and context-weighted pattern findings before applying the time factor.
Time Factor
A coarse multiplier based on repository last-push metadata. It does not identify when individual code was written.
Pattern Hits
Count of configured pattern findings. Review each location and surrounding code before acting.
HC Hit Rate
High- and critical-severity findings per scanned file. Severity is a configured detector weight, not proof of a vulnerability or authorship.
Lines / Files
Scan coverage denominators used by the legacy normalized score.

Pattern-Signal History

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.

Severity Breakdown

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.

CRITICAL 1HIGH 8MEDIUM 12LOW 1694

Directory Score Breakdown

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.

Pattern Findings

The scanner identified 1715 distinct pattern matches across 13 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.

Fake / Example Data788 hits · 868 pts
SeverityFileLineSnippetContext
LOWcmd/msgvault/cmd/deletions_test.go767 account := "user@example.com"CODE
LOWcmd/msgvault/cmd/muesli_remote_test.go43 source := meetingimport.Source{Identifier: "recorder", AccountEmail: "user@example.com"}CODE
LOWcmd/msgvault/cmd/muesli_remote_test.go140 source := meetingimport.Source{Identifier: "recorder", AccountEmail: "user@example.com"}CODE
LOWcmd/msgvault/cmd/serve_account_catalog_test.go58 require.NoError(st.AddAccountIdentity(src.ID, "work@example.org", "manual"))CODE
LOWcmd/msgvault/cmd/serve_account_catalog_test.go59 assert.Equal(t, []string{"work@example.org"}, addresses())CODE
LOWcmd/msgvault/cmd/store_adapter_test.go468 "account_email": "user@example.com"CODE
LOWcmd/msgvault/cmd/meeting_import_e2e_test.go27 "account_email": "user@example.com"CODE
LOWcmd/msgvault/cmd/serve_api_wiring_test.go38 source, err := st.GetOrCreateSource("gmail", "user@example.com")CODE
LOWcmd/msgvault/cmd/serve_archive_sql_test.go20 INSERT INTO sources (id, source_type, identifier) VALUES (1, 'gmail', 'user@example.com');CODE
LOWcmd/msgvault/cmd/root_test.go442 Expected: "user@example.com",CODE
LOWcmd/msgvault/cmd/root_test.go454 _, err := getTokenSourceWithReauth(context.Background(), mock, "user@example.com", true, gmailReauthHint)CODE
LOWcmd/msgvault/cmd/muesli_watch_test.go62 cfg.Muesli = []config.MuesliSource{{DBPath: filepath.Join(t.TempDir(), "muesli.db"), Contacts: &off, Identifier: "recorCODE
LOWcmd/msgvault/cmd/muesli_watch_test.go153 cfg.Muesli = []config.MuesliSource{{Identifier: "recorder", AccountEmail: "user@example.com", DBPath: path, Contacts: &CODE
LOWcmd/msgvault/cmd/muesli_watch_test.go173 cfg.Muesli = []config.MuesliSource{{Identifier: "recorder", AccountEmail: "user@example.com", DBPath: filepath.Join(t.TCODE
LOW⚡cmd/msgvault/cmd/account_attribution_test.go46 require.NoError(st.AddAccountIdentity(src.ID, "work@example.org", "manual"))CODE
LOW⚡cmd/msgvault/cmd/account_attribution_test.go47 require.NoError(st.AddAccountIdentity(src.ID, "mask@example.org", "manual"))CODE
LOW⚡cmd/msgvault/cmd/account_attribution_test.go50 for _, header := range []string{"X-Delivered-To: work@example.org", "X-Delivered-To: mask@example.org", "X-Delivered-CODE
LOW⚡cmd/msgvault/cmd/account_attribution_test.go59 require.NoError(st.UpdateSourceSyncConfig(calendar.ID, `{"account_email":"work@example.org","calendar_id":"primary"}`CODE
LOW⚡cmd/msgvault/cmd/account_attribution_test.go60 require.NoError(st.AddAccountIdentity(calendar.ID, "work@example.org", "manual"))CODE
LOW⚡cmd/msgvault/cmd/account_attribution_test.go75 "account:work@example.org": 2,CODE
LOW⚡cmd/msgvault/cmd/account_attribution_test.go76 "received:work@example.org": 1,CODE
LOW⚡cmd/msgvault/cmd/account_attribution_test.go77 "account:mask@example.org": 1,CODE
LOW⚡cmd/msgvault/cmd/account_attribution_test.go78 "received:work@example.org received:mask@example.org": 2,CODE
LOW⚡cmd/msgvault/cmd/account_attribution_test.go79 "account:work@example.org received:work@example.org": 1,CODE
LOWcmd/msgvault/cmd/account_attribution_test.go112 for _, address := range []string{"work@example.org", "mask@example.org"} {CODE
LOW⚡cmd/msgvault/cmd/account_attribution_test.go154 require.NoError(st.AddAccountIdentity(src.ID, "work@example.org", "manual"))CODE
LOW⚡cmd/msgvault/cmd/account_attribution_test.go155 require.NoError(st.AddAccountIdentity(src.ID, "mask@example.org", "manual"))CODE
LOW⚡cmd/msgvault/cmd/account_attribution_test.go158 for _, header := range []string{"X-Delivered-To: work@example.org", "X-Delivered-To: mask@example.org", "X-Original-To:CODE
LOW⚡cmd/msgvault/cmd/account_attribution_test.go175 "identity": {{SourceID: &source, Addresses: []string{"work@example.org"}}},CODE
LOW⚡cmd/msgvault/cmd/account_attribution_test.go177 "inbound": {{Addresses: []string{"work@example.org", "mask@example.org"}, Inbound: true}},CODE
LOW⚡cmd/msgvault/cmd/account_attribution_test.go178 "intersect": {{Addresses: []string{"work@example.org", "mask@example.org"}}, {Addresses: []string{"mask@example.orgCODE
LOWcmd/msgvault/cmd/imap_folder_state_sync_test.go75 IMAPSkipFolders: map[string][]string{src.Identifier: {"Trash", "Junk"}, "user@example.com": {"Trash"}},CODE
LOWcmd/msgvault/cmd/serve_test.go861 INSERT INTO sources (id, source_type, identifier) VALUES (1, 'gmail', 'user@example.com');CODE
LOWcmd/msgvault/cmd/serve_test.go903 INSERT INTO sources (id, source_type, identifier) VALUES (1, 'gmail', 'user@example.com');CODE
LOWcmd/msgvault/cmd/serve_test.go1001 INSERT INTO sources (id, source_type, identifier) VALUES (1, 'gmail', 'user@example.com');CODE
LOWcmd/msgvault/cmd/serve_test.go1046 INSERT INTO sources (id, source_type, identifier) VALUES (1, 'gmail', 'user@example.com');CODE
LOWcmd/msgvault/cmd/serve_test.go1174 INSERT INTO sources (id, source_type, identifier) VALUES (1, 'gmail', 'user@example.com');CODE
LOWcmd/msgvault/cmd/serve_test.go1192 INSERT INTO sources (id, source_type, identifier) VALUES (1, 'gmail', 'user@example.com');CODE
LOWcmd/msgvault/cmd/serve_test.go1424 INSERT INTO sources (id, source_type, identifier) VALUES (1, 'gmail', 'user@example.com');CODE
LOWcmd/msgvault/cmd/serve_test.go1515 INSERT INTO sources (id, source_type, identifier) VALUES (1, 'gmail', 'user@example.com');CODE
LOWcmd/msgvault/cmd/serve_test.go2313 Args: []string{"add-account", "user@example.com", "--readonly"},CODE
LOWcmd/msgvault/cmd/serve_test.go2334 "add-account", "user@example.com", "--readonly", "--grant-decided=true",CODE
LOWcmd/msgvault/cmd/serve_test.go2336 assert.Equal(t, []string{"add-account", "user@example.com", "--readonly"}, req.Args,CODE
LOWcmd/msgvault/cmd/serve_test.go2933 imapEmail = "user@example.com"CODE
LOWcmd/msgvault/cmd/serve_test.go2982 imapEmail = "user@example.com"CODE
LOWcmd/msgvault/cmd/serve_test.go2988 `{"host":"127.0.0.1","port":1,"username":"user@example.com","tls":true}`,CODE
LOW⚡cmd/msgvault/cmd/serve_test.go3167 "user@example.com": {Media: &enabled, MaxMediaMB: 7},CODE
LOW⚡cmd/msgvault/cmd/serve_test.go3174 opts := scheduledTeamsImportOptions("user@example.com", cfg)CODE
LOW⚡cmd/msgvault/cmd/serve_test.go3175 assert.Equal(t, cfg.Teams.MediaPolicy("user@example.com"), opts.MediaPolicy)CODE
LOWcmd/msgvault/cmd/muesli_client_test.go53 clientCfg.Muesli = []config.MuesliSource{{Identifier: "recorder", AccountEmail: "user@example.com", DBPath: path, ContaCODE
LOWcmd/msgvault/cmd/muesli_client_test.go162 clientCfg.Muesli = append(clientCfg.Muesli, config.MuesliSource{Identifier: configured.identifier, AccountEmail: "usCODE
LOWcmd/msgvault/cmd/muesli_client_test.go241 _, err := muesli.NewImporter(st).ImportRemote(t.Context(), muesli.RemoteRequest{Action: "register", Source: meetingimCODE
LOWcmd/msgvault/cmd/muesli_client_test.go288 clientCfg.Muesli = []config.MuesliSource{{Identifier: "recorder", AccountEmail: "user@example.com", DBPath: path, ConCODE
LOWcmd/msgvault/cmd/addaccount_identity_test.go38 for _, email := range []string{"user@example.com", "User.Name+archive@gmail.com", "user@googlemail.com"} {CODE
LOWcmd/msgvault/cmd/addaccount_identity_test.go88 for _, profile := range []string{"user@example.com", "other@example.com", "unavailable"} {CODE
LOWcmd/msgvault/cmd/addaccount_identity_test.go107 tokenPath := oauth.TokenFilePath(cfg.TokensDir(), "user@example.com")CODE
LOWcmd/msgvault/cmd/addaccount_identity_test.go111 source, err := s.GetOrCreateSource("gmail", "user@example.com")CODE
LOW⚡cmd/msgvault/cmd/addaccount_identity_test.go125 cmd.SetArgs([]string{"user@example.com", "--display-name", "Updated", "--no-default-identity"})CODE
LOW⚡cmd/msgvault/cmd/addaccount_identity_test.go127 if profile == "user@example.com" {CODE
LOW⚡cmd/msgvault/cmd/addaccount_identity_test.go129 source, err := findGmailSource(s, "user@example.com")CODE
728 more matches not shown…
Over-Commented Block769 hits · 764 pts
SeverityFileLineSnippetContext
LOW…ault/cmd/serve_vector_precheck_mainpath_pgonly_test.go1//go:build pgvector && !sqlite_vecCOMMENT
LOWcmd/msgvault/cmd/eval_fts_production_test.go21)COMMENT
LOWcmd/msgvault/cmd/eval_fts_production_test.go101//COMMENT
LOWcmd/msgvault/cmd/serve_vector.go461 return fmt.Errorf("invalid multimodal cron expression %q: %w", cronExpr, err)COMMENT
LOWcmd/msgvault/cmd/serve_vector.go481// store.OpenReadOnly. On PostgreSQL it sets BOTH pgvector.Options.SkipMigrateCOMMENT
LOWcmd/msgvault/cmd/store_resolver.go61 if res.Notice != "" {COMMENT
LOWcmd/msgvault/cmd/store_resolver.go341COMMENT
LOWcmd/msgvault/cmd/serve.go4141func (a *schedulerAdapter) TriggerJob(name string) error {COMMENT
LOWcmd/msgvault/cmd/eval_topics_test.go41 text := done()COMMENT
LOWcmd/msgvault/cmd/imap_folder_state_sync_test.go661 }COMMENT
LOWcmd/msgvault/cmd/build_cache.go101// maintenance (lockCacheAndInvalidateSyncState) for its whole operation.COMMENT
LOWcmd/msgvault/cmd/build_cache.go601 MaxMessageID int64COMMENT
LOWcmd/msgvault/cmd/build_cache.go961// conversation-type, participant-identifier, participant or person display-name driftCOMMENT
LOWcmd/msgvault/cmd/build_cache.go1101 // Read the identity revision and computed participant clusters throughCOMMENT
LOWcmd/msgvault/cmd/build_cache.go2361COMMENT
LOWcmd/msgvault/cmd/repair_encoding.go141// s.ResetEmbedGen clears embed_gen. Opening a writable backend runs theCOMMENT
LOWcmd/msgvault/cmd/embed_scope.go81 }COMMENT
LOWcmd/msgvault/cmd/eval_qrels_test.go41 evalQrels = writeEvalFile(t, dir, "qrels.txt", qrels)COMMENT
LOWcmd/msgvault/cmd/account_identity.go81// opt-out, so scheduled sync and later add-command reruns cannot restore theCOMMENT
LOWcmd/msgvault/cmd/deduplicate.go1061// backupDatabase writes a point-in-time consistent copy of the SQLiteCOMMENT
LOWcmd/msgvault/cmd/deletions.go881 }, nilCOMMENT
LOWcmd/msgvault/cmd/deletions.go1741 }COMMENT
LOWcmd/msgvault/cmd/daemon_runtime.go541// createTimeComparison distinguishes exact process identity from toleratedCOMMENT
LOWcmd/msgvault/cmd/repair_encoding_vector.go21// Opening a writable backend runs the one-time upgrade backfillCOMMENT
LOWcmd/msgvault/cmd/repair_encoding_vector.go81// row below the watermark would otherwise wait for a full-scan backstop (whichCOMMENT
LOWcmd/msgvault/cmd/calendar.go141 // A token that exists, carries the calendar scope, and matches theCOMMENT
LOWcmd/msgvault/cmd/cache_staleness.go41 // HasConversationParticipantDrift signals conversation membership changedCOMMENT
LOWcmd/msgvault/cmd/cache_staleness.go61 // escalates to a full rebuild when new messages coincide: incrementalCOMMENT
LOWcmd/msgvault/cmd/cache_staleness.go121// cacheNeedsBuild checks if the analytics cache needs to be built orCOMMENT
LOWcmd/msgvault/cmd/cache_staleness.go501 reasons = append(reasons, "derived message data changed")COMMENT
LOWcmd/msgvault/cmd/import_mbox.go321 // whenever the legacy [identity] block had populated rows.COMMENT
LOWcmd/msgvault/cmd/vector_features.go21 Worker *visual.WorkerCOMMENT
LOWcmd/msgvault/cmd/addaccount.go181 }COMMENT
LOWcmd/msgvault/cmd/addaccount.go241// readonlyGrantWarning checks what actually came back after a --readonlyCOMMENT
LOWcmd/msgvault/cmd/addaccount.go721}COMMENT
LOWcmd/msgvault/cmd/addaccount.go761 // Err refuses the run outright.COMMENT
LOWcmd/msgvault/cmd/addaccount.go801 if readonly {COMMENT
LOWcmd/msgvault/cmd/addaccount.go841 "Re-run with --readonly to keep the narrower grant.",COMMENT
LOWcmd/msgvault/cmd/addaccount.go921 }COMMENT
LOWcmd/msgvault/cmd/confirm.go21 ConfirmModePermanent ConfirmMode = iotaCOMMENT
LOWcmd/msgvault/cmd/repair_encoding_vector_test.go21// that guards the one-time upgrade backfill. Kept in sync deliberately: theCOMMENT
LOWcmd/msgvault/cmd/repair_encoding_vector_test.go41// the vector backend runs BackfillEmbedGenForUpgrade, which stampsCOMMENT
LOW…t/cmd/serve_vector_precheck_mainpath_sqlitevec_test.go1//go:build sqlite_vecCOMMENT
LOWcmd/msgvault/cmd/build_cache_test.go1001COMMENT
LOWcmd/msgvault/cmd/build_cache_test.go4041COMMENT
LOWcmd/msgvault/cmd/person_provider.go581 }COMMENT
LOWcmd/msgvault/cmd/cache_text.go101// cacheTextSQL returns valid VARCHAR while keeping NULL. DuckDB's nativeCOMMENT
LOWcmd/msgvault/cmd/embed_vector_test.go1081 // event is different from the cumulative rate the old printerCOMMENT
LOWcmd/msgvault/cmd/eval.go201 column stringCOMMENT
LOWcmd/msgvault/cmd/eval.go221 // keys — see eval.OverFetchPlan and evaluator.rankedKeys.COMMENT
LOWcmd/msgvault/cmd/eval.go281 UnhydratedHits int `json:"unhydrated_hits,omitempty"`COMMENT
LOWcmd/msgvault/cmd/eval.go301COMMENT
LOWcmd/msgvault/cmd/eval.go401// ftsSearcher is the production relevance-ranked full-text path.COMMENT
LOWcmd/msgvault/cmd/eval.go441 // keys are the doc keys in the engine's rank order, before collapsing;COMMENT
LOWcmd/msgvault/cmd/eval.go481 filled := len(deduped) >= e.limitCOMMENT
LOWcmd/msgvault/cmd/eval.go641// reasonable default for an interactive search box, where the user sees theCOMMENT
LOWcmd/msgvault/cmd/eval.go941// parseEvalModes splits and validates the --modes flag, keeping each mode onceCOMMENT
LOWcmd/msgvault/cmd/eval.go981 return modes, needVec, nilCOMMENT
LOWcmd/msgvault/cmd/eval.go1001// second, narrower fallback inside Store itself, forcing the same LIKECOMMENT
LOWcmd/msgvault/cmd/eval.go1041 // clearly rather than pointing a sqlite-vec backend at a PG handle.COMMENT
709 more matches not shown…
Structural Annotation Overuse42 hits · 79 pts
SeverityFileLineSnippetContext
LOW⚡cmd/msgvault/cmd/setup.go69 // Step 1: Find or prompt for OAuth credentialsCOMMENT
LOW⚡cmd/msgvault/cmd/setup.go75 // Step 2: Choose the timezone used for activity day boundaries.COMMENT
LOW⚡cmd/msgvault/cmd/setup.go86 // Step 3: Optionally configure remote NASCOMMENT
LOW⚡cmd/msgvault/cmd/setup.go92 // Step 3: Persist choices made in the wizard, including values that matchCOMMENT
LOW⚡cmd/msgvault/cmd/build_cache_test.go1909 // Step 1: Initial full export (5 messages, 12 recipients).COMMENT
LOW⚡cmd/msgvault/cmd/build_cache_test.go1914 // Step 2: Add new messages to SQLite, then incremental export. PublicationCOMMENT
LOW⚡cmd/msgvault/cmd/build_cache_test.go1936 // Step 3: Remove conversations dir (simulate legacy cache missing a table).COMMENT
LOW⚡cmd/msgvault/cmd/build_cache_test.go1940 // Step 4: Backfill — no new messages, but conversations is missing.COMMENT
LOW⚡cmd/msgvault/cmd/build_cache_test.go1946 // Step 5: Verify exact counts — no duplicates from stale incremental shards.COMMENT
LOW⚡cmd/msgvault/cmd/build_cache_test.go1983 // Step 1: Full export (5 messages, 12 recipients).COMMENT
LOW⚡cmd/msgvault/cmd/build_cache_test.go1987 // Step 2: Delete message_recipients dir (simulate missing table).COMMENT
LOW⚡cmd/msgvault/cmd/build_cache_test.go1991 // Step 3: Add new messages to SQLite (so maxID > lastMessageID).COMMENT
LOW⚡cmd/msgvault/cmd/build_cache_test.go2004 // Step 4: Build — missing table + new messages should force full rebuild.COMMENT
LOW⚡cmd/msgvault/cmd/build_cache_test.go2009 // Step 5: Verify ALL recipients present (12 original + 2 new = 14).COMMENT
LOW⚡cmd/msgvault/cmd/build_cache_test.go2038 // Step 1: Full export to create all tables.COMMENT
LOW⚡cmd/msgvault/cmd/build_cache_test.go2043 // Step 2: Remove the messages directory (simulate corruption/partial failure).COMMENT
LOW⚡cmd/msgvault/cmd/build_cache_test.go2052 // Step 3: Build again — messages are missing but other tables exist.COMMENT
LOW⚡cmd/msgvault/cmd/build_cache_test.go3406 // Step 1: Full rebuild creates metadata plus a schema-compatible emptyCOMMENT
LOW⚡cmd/msgvault/cmd/build_cache_test.go3412 // Step 2: Verify non-message parquet was created.COMMENT
LOW⚡cmd/msgvault/cmd/build_cache_test.go3417 // Step 3: Run non-full build — should skip, NOT trigger another full rebuild.COMMENT
LOW⚡internal/tui/nav_view_test.go631 // Step 1: Drill into alice (top-level, creates drillFilter with TimeMonth default)COMMENT
LOW⚡internal/tui/nav_view_test.go640 // Step 2: Tab to sub-aggregate viewCOMMENT
LOWinternal/tui/nav_view_test.go655 // Step 3: Enter on "2024" — this was the bugCOMMENT
LOWinternal/tui/nav_drill_test.go285 // Step 1: Drill down to message list (sets contextStats from alice's row)COMMENT
LOWinternal/tui/nav_drill_test.go296 // Step 2: Press Tab to go to sub-aggregate view (contextStats saved in breadcrumb)COMMENT
LOW⚡internal/tui/nav_drill_test.go308 // Step 3: Drill down from sub-aggregate to message list (contextStats overwritten)COMMENT
LOW⚡internal/tui/nav_drill_test.go315 // Step 4: Go back to sub-aggregate (contextStats should be restored to alice's stats)COMMENT
LOW⚡internal/tui/nav_drill_test.go470 // Step 1: Drill down from top-level to message list (Enter on alice)COMMENT
LOW⚡internal/tui/nav_drill_test.go475 // Step 2: Go to sub-aggregate view (Tab)COMMENT
LOW⚡internal/tui/nav_drill_test.go484 // Step 3: Select an aggregate in sub-aggregate view, then drill down with EnterCOMMENT
LOWinternal/api/agent_tokens_test.go697 // Step 1: issue a grant via HTTP.COMMENT
LOW⚡internal/api/agent_tokens_test.go717 // Step 2: prove the token authenticates.COMMENT
LOW⚡internal/api/agent_tokens_test.go724 // Step 3: revoke via HTTP.COMMENT
LOW⚡internal/api/agent_tokens_test.go731 // Step 4: prove the token no longer authenticates.COMMENT
LOWinternal/vector/embed/worker.go540 // Step 1: upsert embeddings (VectorsDB side).COMMENT
LOWinternal/vector/embed/worker.go565 // Step 2: atomically skip-mark empty/missing rows and remove their staleCOMMENT
LOWdocs/guides/oauth-setup.md40### Step 1: Create a Google Cloud ProjectCOMMENT
LOWdocs/guides/oauth-setup.md55### Step 2: Enable Google APIsCOMMENT
LOWdocs/guides/oauth-setup.md71### Step 3: Configure OAuth Consent ScreenCOMMENT
LOWdocs/guides/oauth-setup.md149### Step 4: Create OAuth Client CredentialsCOMMENT
LOWdocs/guides/oauth-setup.md186### Step 5: Configure msgvaultCOMMENT
LOWdocs/guides/oauth-setup.md234### Step 6: Add Your AccountCOMMENT
Verbosity Indicators36 hits · 70 pts
SeverityFileLineSnippetContext
LOW⚡cmd/msgvault/cmd/setup.go69 // Step 1: Find or prompt for OAuth credentialsCOMMENT
LOW⚡cmd/msgvault/cmd/setup.go75 // Step 2: Choose the timezone used for activity day boundaries.COMMENT
LOW⚡cmd/msgvault/cmd/setup.go86 // Step 3: Optionally configure remote NASCOMMENT
LOW⚡cmd/msgvault/cmd/setup.go92 // Step 3: Persist choices made in the wizard, including values that matchCOMMENT
LOW⚡cmd/msgvault/cmd/build_cache_test.go1909 // Step 1: Initial full export (5 messages, 12 recipients).COMMENT
LOW⚡cmd/msgvault/cmd/build_cache_test.go1914 // Step 2: Add new messages to SQLite, then incremental export. PublicationCOMMENT
LOW⚡cmd/msgvault/cmd/build_cache_test.go1936 // Step 3: Remove conversations dir (simulate legacy cache missing a table).COMMENT
LOW⚡cmd/msgvault/cmd/build_cache_test.go1940 // Step 4: Backfill — no new messages, but conversations is missing.COMMENT
LOW⚡cmd/msgvault/cmd/build_cache_test.go1946 // Step 5: Verify exact counts — no duplicates from stale incremental shards.COMMENT
LOW⚡cmd/msgvault/cmd/build_cache_test.go1983 // Step 1: Full export (5 messages, 12 recipients).COMMENT
LOW⚡cmd/msgvault/cmd/build_cache_test.go1987 // Step 2: Delete message_recipients dir (simulate missing table).COMMENT
LOW⚡cmd/msgvault/cmd/build_cache_test.go1991 // Step 3: Add new messages to SQLite (so maxID > lastMessageID).COMMENT
LOW⚡cmd/msgvault/cmd/build_cache_test.go2004 // Step 4: Build — missing table + new messages should force full rebuild.COMMENT
LOW⚡cmd/msgvault/cmd/build_cache_test.go2009 // Step 5: Verify ALL recipients present (12 original + 2 new = 14).COMMENT
LOW⚡cmd/msgvault/cmd/build_cache_test.go2038 // Step 1: Full export to create all tables.COMMENT
LOW⚡cmd/msgvault/cmd/build_cache_test.go2043 // Step 2: Remove the messages directory (simulate corruption/partial failure).COMMENT
LOW⚡cmd/msgvault/cmd/build_cache_test.go2052 // Step 3: Build again — messages are missing but other tables exist.COMMENT
LOW⚡cmd/msgvault/cmd/build_cache_test.go3406 // Step 1: Full rebuild creates metadata plus a schema-compatible emptyCOMMENT
LOW⚡cmd/msgvault/cmd/build_cache_test.go3412 // Step 2: Verify non-message parquet was created.COMMENT
LOW⚡cmd/msgvault/cmd/build_cache_test.go3417 // Step 3: Run non-full build — should skip, NOT trigger another full rebuild.COMMENT
LOW⚡internal/tui/nav_view_test.go631 // Step 1: Drill into alice (top-level, creates drillFilter with TimeMonth default)COMMENT
LOW⚡internal/tui/nav_view_test.go640 // Step 2: Tab to sub-aggregate viewCOMMENT
LOWinternal/tui/nav_view_test.go655 // Step 3: Enter on "2024" — this was the bugCOMMENT
LOWinternal/tui/nav_drill_test.go285 // Step 1: Drill down to message list (sets contextStats from alice's row)COMMENT
LOWinternal/tui/nav_drill_test.go296 // Step 2: Press Tab to go to sub-aggregate view (contextStats saved in breadcrumb)COMMENT
LOW⚡internal/tui/nav_drill_test.go308 // Step 3: Drill down from sub-aggregate to message list (contextStats overwritten)COMMENT
LOW⚡internal/tui/nav_drill_test.go315 // Step 4: Go back to sub-aggregate (contextStats should be restored to alice's stats)COMMENT
LOW⚡internal/tui/nav_drill_test.go470 // Step 1: Drill down from top-level to message list (Enter on alice)COMMENT
LOW⚡internal/tui/nav_drill_test.go475 // Step 2: Go to sub-aggregate view (Tab)COMMENT
LOW⚡internal/tui/nav_drill_test.go484 // Step 3: Select an aggregate in sub-aggregate view, then drill down with EnterCOMMENT
LOWinternal/api/agent_tokens_test.go697 // Step 1: issue a grant via HTTP.COMMENT
LOW⚡internal/api/agent_tokens_test.go717 // Step 2: prove the token authenticates.COMMENT
LOW⚡internal/api/agent_tokens_test.go724 // Step 3: revoke via HTTP.COMMENT
LOW⚡internal/api/agent_tokens_test.go731 // Step 4: prove the token no longer authenticates.COMMENT
LOWinternal/vector/embed/worker.go540 // Step 1: upsert embeddings (VectorsDB side).COMMENT
LOWinternal/vector/embed/worker.go565 // Step 2: atomically skip-mark empty/missing rows and remove their staleCOMMENT
Hyper-Verbose Identifiers53 hits · 56 pts
SeverityFileLineSnippetContext
LOWweb/src/lib/settings/google-authorization.ts56export function receiveGoogleContactsCallback(): boolean {CODE
LOWweb/src/lib/carddav/navigation.ts16export function normalizeSettingsNavigationAuthority(value: unknown): SettingsNavigationAuthority | '' {CODE
LOWweb/src/lib/archive/thread-window.ts8export function selectInclusiveThreadWindow(CODE
LOWweb/src/lib/archive/url-state.ts26function freshDefaultArchiveURLState(): ArchiveURLState {CODE
LOWweb/src/lib/saved-views/canonical.ts75export function exploreStateFromSavedView(saved: CanonicalState, schemaVersion = CURRENT_SCHEMA_VERSION): Partial<ExplorCODE
LOWweb/src/lib/content/sanitize.ts59function keepPresentationalAttributes(element: HTMLElement): void {CODE
LOWweb/src/lib/content/sanitize.ts162function classifyRemoteImageSource(value: string): RemoteImageSource {CODE
LOWweb/src/lib/operations/focus.ts43export function resolveOperationFocusAnchor(CODE
LOWweb/src/lib/directory/person-merge.ts26export function isMatchingPersonRevisionETag(CODE
LOWweb/src/lib/directory/person-merge.ts34export function validatePersonMergeRequired(value: unknown): ValidatedPersonMergeRequired | null {CODE
LOWweb/src/lib/directory/person-merge.ts58export function isPersonMergeRevisionConflict(value: unknown): boolean {CODE
LOWweb/src/lib/directory/profile-controller.svelte.ts728function hasUsableDefinitionIdentity(definition: Record<string, unknown>): definition is Record<string, unknown> & {CODE
LOWweb/src/lib/directory/fact-ledger-controller.svelte.ts121export function evidenceStatusReasonLabel(reason: string): string {CODE
LOWweb/src/lib/explore/selection.ts48export function createAllMatchingSelection(CODE
LOWweb/src/lib/explore/group-context.ts55function appendGroupMembershipFilter(CODE
LOWweb/src/lib/search/modes.ts49export function availableSearchModeStorage(): SearchModeStorage | null {CODE
LOWweb/src/lib/search/modes.ts85export function explicitSearchModeFromURL(search: string, parameter = 'explore'): ExploreSearchMode | undefined {CODE
LOWweb/src/lib/components/reader/inline-images.ts160export async function resolveArchivedInlineImages(options: {CODE
LOWweb/src/lib/components/reader/remote-images.ts78export async function resolveArchivedRemoteImages(options: {CODE
LOW…c/lib/components/reader/ContentFrame.browser.svelte.ts22export function createArchivedContentMessageHandler(CODE
LOWweb/src/lib/components/reader/inline-images.test.ts41async function resolveWithPublicationByteLimit(CODE
LOW…lib/components/settings/CardDAVAccountSettings.test.ts328function expectAccountControlsLocked(activeLabel: 'Testing…' | 'Saving…'): void {CODE
LOW…/src/lib/components/settings/SettingsWorkspace.test.ts1613function cardDAVOperationsResponse(request: Request): Response | undefined {CODE
LOW…/lib/components/settings/CardDAVAccountSettings.svelte113 function canReusePersistedPassword(): boolean {CODE
LOW…/lib/components/settings/CardDAVAccountSettings.svelte118 function canDisableWithoutPassword(): boolean {CODE
LOW⚡web/src/lib/components/shell/AppShell.svelte253 function replaceCommittedNavigation(patch: Partial<ExploreURLState>): void {CODE
LOW⚡web/src/lib/components/shell/AppShell.svelte263 function commitRestorableNavigation(patch: Partial<ExploreURLState>): void {CODE
LOW⚡web/src/lib/components/shell/AppShell.svelte267 function replaceCommittedRestorableNavigation(patch: Partial<ExploreURLState>): void {CODE
LOW⚡web/src/lib/components/shell/AppShell.svelte276 function openDirectoryFromRelationship(participantID: number): void {CODE
LOWweb/src/lib/components/shell/AppShell.svelte347 function openVisualAttachmentSettings(): void {CODE
LOWweb/src/lib/components/shell/AppShell.svelte358 function consumeCardDAVSettingsRequest(key: number): void {CODE
LOWweb/src/lib/components/shell/AppShell.svelte786 function syncEditableShortcutScope(target: EventTarget | null): void {CODE
LOW⚡web/src/lib/components/shell/AppShell.test.ts47function documentIndexStatusResponse() {CODE
LOW⚡web/src/lib/components/shell/AppShell.test.ts57function documentVectorStatusResponse() {CODE
LOW⚡web/src/lib/components/shell/AppShell.test.ts61function visualAttachmentStatusResponse() {CODE
LOW⚡web/src/lib/components/shell/AppShell.test.ts68function operationAuthorityResponse(path: string): Response | undefined {CODE
LOW…lib/components/directory/RelationshipTypeEditor.svelte110 async function refreshAfterUncertainOutcome(): Promise<void> {CODE
LOW…/components/directory/OrganizationEmploymentTab.svelte63 async function openRequestedOrganization(id: number): Promise<void> {CODE
LOW…/lib/components/directory/DirectoryReviewCentre.svelte92 async function focusCurrentReviewSurface(): Promise<void> {CODE
LOW…b/components/directory/PersonRelationshipEditor.svelte199 async function refreshAfterUncertainOutcome(): Promise<void> {CODE
LOW…ib/components/relationships/RelationshipHeader.test.ts71function clusteredPersonWithBareMember(): PersonSummary {CODE
LOWweb/src/lib/theme/preferences.svelte.ts145export function createAppearancePreferences(defaults: AppearanceDefaults): AppearancePreferences {CODE
LOWweb/src/lib/api/client.ts41export function createSessionAwareAPIClient(CODE
LOWweb/src/lib/meetings/archive-selection.ts16export function parseArchiveMeetingSelection(value: string | null): number | undefined {CODE
LOWweb/src/lib/meetings/archive-selection.ts21export function parseArchiveMeetingHistory(value: unknown, selectedRow: string | null): ArchiveMeetingHistory | undefineCODE
LOWweb/src/lib/relationships/controller.svelte.ts920function relationshipCalendarCacheKey(CODE
LOWdocs/screenshots/generate_demo_data.py331def get_or_create_participant(conn: sqlite3.Connection, email: str, name: str | None = None) -> int:STRING
LOWdocs/internal/web-ui-overhaul-pr2-plan.md788export function exploreStateFromSavedView(saved: CanonicalState): Partial<ExploreURLState>;CODE
LOWdocs/internal/web-ui-overhaul-pr4-plan.md1099function openVisualAttachmentSettings(): void {CODE
LOWdocs/scripts/check_built_site.py395def check_expected_asset_files() -> None:CODE
LOWdocs/scripts/check_built_site.py413def check_fragment_nav_labels(current: pathlib.Path, parser: LinkParser) -> None:CODE
LOWdocs/scripts/check_built_site.py423def check_public_site_file_inventory(site: pathlib.Path = SITE) -> None:CODE
LOWdocs/scripts/check_vercel_redirects.py50def validate_finite_json_numbers(path: str, value: object) -> None:CODE
Magic Placeholder Names8 hits · 40 pts
SeverityFileLineSnippetContext
HIGHcmd/msgvault/cmd/quickstart.md314api_key = "your-api-key"CODE
HIGHdocs/guides/remote-deployment.md157 --to http://nas-ip:8080 --api-key YOUR_API_KEY --allow-insecureCODE
HIGHdocs/guides/remote-deployment.md176export MSGVAULT_REMOTE_API_KEY=YOUR_API_KEYCODE
HIGHdocs/guides/remote-deployment.md202curl -X POST -H "X-API-Key: YOUR_API_KEY" http://remote-host:8080/api/v1/sync/you@gmail.comCODE
HIGHdocs/guides/remote-deployment.md205curl -H "X-API-Key: YOUR_API_KEY" http://remote-host:8080/api/v1/scheduler/statusCODE
HIGHdocs/guides/remote-deployment.md225curl -H "X-API-Key: YOUR_API_KEY" http://remote-host:8080/api/v1/scheduler/statusCODE
HIGHdocs/guides/remote-deployment.md266api_key = "YOUR_API_KEY"CODE
HIGHdocs/guides/remote-deployment.md482curl -H "X-API-Key: YOUR_API_KEY" http://remote-host:8080/api/v1/accountsCODE
AI Slop Vocabulary6 hits · 18 pts
SeverityFileLineSnippetContext
MEDIUMinternal/vector/pgvector/backend.go963// is robust under a busy pool. SET LOCAL is tx-scoped so the disabled timeoutCOMMENT
MEDIUMinternal/store/migrate_recipient_envelope.go185// the current shape and there is nothing to rebuild — robust againstCOMMENT
MEDIUMinternal/store/sqlite_errors_cgo.go14// This is more robust than strings.Contains on err.Error() because it firstCOMMENT
MEDIUMinternal/store/sqlite_errors_cgo.go47// the result code is more robust than substring matching: BUSY surfaces asCOMMENT
MEDIUMinternal/store/api.go172 // Use scanMessageRows for robust date parsingCOMMENT
MEDIUMinternal/store/dialect_pg.go441// robust against multibyte input that the SQL char cap cannot bound) andCOMMENT
Decorative Section Separators4 hits · 12 pts
SeverityFileLineSnippetContext
MEDIUMdocs/screenshots/generate-screenshots.sh50# =====================COMMENT
MEDIUMdocs/screenshots/generate-screenshots.sh52# =====================COMMENT
MEDIUMdocs/screenshots/generate-screenshots.sh277# =====================COMMENT
MEDIUMdocs/screenshots/generate-screenshots.sh279# =====================COMMENT
Hallucination Indicators1 hit · 10 pts
SeverityFileLineSnippetContext
CRITICALinternal/api/media_search_test.go144 f.docbank.server.Config.Handler.ServeHTTP(w, r)CODE
Modern AI Meta-Vocabulary2 hits · 6 pts
SeverityFileLineSnippetContext
MEDIUMinternal/api/handlers_test.go8384// can't fetch raw MIME (Postgres scaffold, remote engine) surface a stableCOMMENT
MEDIUMdocs/usage/vector-search.md302### Matching `max_input_chars` to your embedder's context windowCOMMENT
Unused Imports4 hits · 4 pts
SeverityFileLineSnippetContext
LOWdocs/scripts/check_built_site.py2CODE
LOWdocs/scripts/check_markdown_sources.py2CODE
LOWdocs/scripts/check_vercel_redirects.py2CODE
LOWdocs/scripts/selftest_check_built_site.py8CODE
Example Usage Blocks1 hit · 2 pts
SeverityFileLineSnippetContext
LOWscripts/testify-coverage-diff.sh3# Usage:COMMENT
Deep Nesting1 hit · 1 pts
SeverityFileLineSnippetContext
LOWdocs/scripts/check_built_site.py436CODE