Scanner refinements: - Exempt mac_tooling (standalone forensics toolkit, not a product) - Skip /theme/colors.ts /theme/tokens.ts /theme/palette.ts (token sources) - Skip CSS custom property DEFINITIONS even with embedded gradients/multiple hex - Skip [stroke='#hex'] / [fill='#hex'] Recharts attribute SELECTORS (not styling) Cumulative progress: Tier 1 critical: 13 \u2192 0 \u2713 Tier 2 common_plat hex: 59 \u2192 0 \u2713 Tier 3 medium repos: 57 \u2192 0 \u2713 (efforise fixed, mac_tooling exempt) Total: 1402 \u2192 1353. Hex: 388 \u2192 288. 13 of 19 repos hex-clean. Next: Tier 4 (mindlyst 92, fastgap 89, flowmonk 107).
154 KiB
Rule Violations Report — 2026-05-23
Generated by
scripts/check-rule-violations.shagainst canonical rules inAI.dev/SKILLS/agent-behavior-guidelines.md.
Severity legend: critical = data/security risk · major = rule violation · minor = style
learning_ai_common_plat
Counts: critical=0 · major=80 · minor=86 · total=166
- [major]
packages/logger/src/logger.ts:40— console.log: console.log(${prefix} ${message}${extras}); - [major]
packages/create-app/src/scaffolder.ts:60— console.log: console.log(` - [major]
packages/create-app/src/scaffolder.ts:115— console.log: console.log('\n📦 ByteLyst Product Scaffolder\n'); - [major]
packages/create-app/src/scaffolder.ts:126— console.log: console.log('\nPlatforms (comma-separated: web, mobile, ios, android)'); - [major]
packages/create-app/src/scaffolder.ts:135— console.log: console.log('\nFeatures (comma-separated: auth, billing, telemetry, flags, syn - [major]
packages/create-app/src/scaffolder.ts:257— console.log: console.log(\n🚀 Scaffolding ${manifest.displayName}); - [major]
packages/create-app/src/scaffolder.ts:259— console.log: console.log(Product ID: ${manifest.productId}); - [major]
packages/create-app/src/scaffolder.ts:261— console.log: console.log(Output: ${outPath}); - [major]
packages/create-app/src/scaffolder.ts:263— console.log: console.log(Platforms: ${manifest.platforms.join(', ')}); - [major]
packages/create-app/src/scaffolder.ts:265— console.log: console.log(Features: ${manifest.features.join(', ')}); - [major]
packages/create-app/src/scaffolder.ts:268— console.log: console.log(' ⚠️ DRY RUN\n'); - [major]
packages/create-app/src/scaffolder.ts:275— console.log: console.log(📄 ${files.length} files would be generated:\n); - [major]
packages/create-app/src/scaffolder.ts:278— console.log: console.log(── ${file.path} ──────────────────────────────────────); - [major]
packages/create-app/src/scaffolder.ts:280— console.log: console.log(file.content); - [major]
packages/create-app/src/scaffolder.ts:283— console.log: console.log(\n✨ Dry run complete. Re-run without --dry-run to write files. - [major]
packages/create-app/src/scaffolder.ts:293— console.log: console.log(✅ ${file.path}); - [major]
packages/create-app/src/scaffolder.ts:297— console.log: console.log(\n✨ ${manifest.displayName} scaffolded at ${outPath}); - [major]
packages/create-app/src/scaffolder.ts:299— console.log: console.log(\nNext steps:); - [major]
packages/create-app/src/scaffolder.ts:301— console.log: console.log(cd ${outDir}/backend && npm install && npm run dev); - [major]
packages/create-app/src/scaffolder.ts:304— console.log: console.log(cd ${outDir}/web && npm install && npm run dev); - [major]
packages/create-app/src/generators/agents-md.ts:49— console.log: console.log(` - [major]
packages/create-app/src/generators/agents-md.ts:528— console.log: console.log(📝 Would create symlink: ${target} → AGENTS.md); - [major]
packages/create-app/src/generators/agents-md.ts:533— console.log: console.log(✅ ${target} → AGENTS.md); - [major]
packages/create-app/src/generators/agents-md.ts:535— console.log: console.log( - [major]
packages/create-app/src/generators/agents-md.ts:549— console.log: console.log(\n📄 AGENTS.md Generator); - [major]
packages/create-app/src/generators/agents-md.ts:550— console.log: console.log(Repo: ${repoPath}); - [major]
packages/create-app/src/generators/agents-md.ts:551— console.log: if (dryRun) console.log(' ⚠️ DRY RUN — no files will be written\n'); - [major]
packages/create-app/src/generators/agents-md.ts:552— console.log: if (update) console.log(' 🔄 UPDATE mode — preserving custom sections\n'); - [major]
packages/create-app/src/generators/agents-md.ts:556— console.log: console.log(Product: ${manifest.displayName} (${manifest.productId})); - [major]
packages/create-app/src/generators/agents-md.ts:560— console.log: console.log(Backend modules: ${info.backendModules.length}); - [major]
packages/create-app/src/generators/agents-md.ts:561— console.log: console.log(` Tests: ~${info.backendTestCount + info.webTestCount + info.mob - [major]
packages/create-app/src/generators/agents-md.ts:562— console.log: console.log(''); - [major]
packages/create-app/src/generators/agents-md.ts:574— console.log: console.log(🔄 Preserving ${customSections.size} custom section(s)); - [major]
packages/create-app/src/generators/agents-md.ts:578— console.log: console.log(' ℹ️ No existing AGENTS.md to preserve custom sections from - [major]
packages/create-app/src/generators/agents-md.ts:583— console.log: console.log('── AGENTS.md ──────────────────────────────────────'); - [major]
packages/create-app/src/generators/agents-md.ts:584— console.log: console.log(content); - [major]
packages/create-app/src/generators/agents-md.ts:585— console.log: console.log('\n── Symlinks ──────────────────────────────────────'); - [major]
packages/create-app/src/generators/agents-md.ts:587— console.log: console.log('\n✨ Dry run complete.'); - [major]
packages/create-app/src/generators/agents-md.ts:594— console.log: console.log(✅ AGENTS.md written); - [major]
packages/create-app/src/generators/agents-md.ts:599— console.log: console.log(\n✨ AGENTS.md generated for ${manifest.displayName}.); - [major]
packages/create-app/src/generators/api-routes.ts:92— console.log: console.log(` - [major]
packages/create-app/src/generators/api-routes.ts:670— console.log: console.log(\n🚀 Generating API routes: ${name}); - [major]
packages/create-app/src/generators/api-routes.ts:671— console.log: console.log(Mode: ${mode}); - [major]
packages/create-app/src/generators/api-routes.ts:672— console.log: console.log(Methods: ${methods.join(', ')}); - [major]
packages/create-app/src/generators/api-routes.ts:673— console.log: console.log(Target: ${target}); - [major]
packages/create-app/src/generators/api-routes.ts:674— console.log: if (fields) console.log(Fields: ${fields}); - [major]
packages/create-app/src/generators/api-routes.ts:675— console.log: if (dryRun) console.log(' ⚠️ DRY RUN — no files will be written\n'); - [major]
packages/create-app/src/generators/api-routes.ts:725— console.log: console.log('📄 Generated files:\n'); - [major]
packages/create-app/src/generators/api-routes.ts:727— console.log: console.log(── ${file.path} ──────────────────────────────────────); - [major]
packages/create-app/src/generators/api-routes.ts:728— console.log: console.log(file.content); - [major]
packages/create-app/src/generators/api-routes.ts:730— console.log: console.log(\n✨ Dry run complete. Re-run without --dry-run to write files. - [major]
packages/create-app/src/generators/api-routes.ts:742— console.log: console.log(⚠️ SKIP ${file.path} (already exists)); - [major]
packages/create-app/src/generators/api-routes.ts:749— console.log: console.log(✅ ${file.path}); - [major]
packages/create-app/src/generators/api-routes.ts:752— console.log: console.log(\n✨ API routes generated for "${name}".); - [major]
packages/create-app/src/generators/api-routes.ts:754— console.log: console.log(\nPrerequisites (if not already present):); - [major]
packages/create-app/src/generators/api-routes.ts:755— console.log: console.log(- lib/auth-server.ts — getCurrentUser(authHeader) function) - [major]
packages/create-app/src/generators/api-routes.ts:756— console.log: console.log(- lib/api-handler.ts — withErrorHandler HOF); - [major]
packages/create-app/src/generators/api-routes.ts:757— console.log: console.log(- lib/datastore.ts — getCosmosContainer + PRODUCT_ID); - [major]
packages/create-app/src/generators/api-routes.ts:758— console.log: console.log(- zod installed — npm install zod); - [major]
packages/create-app/src/generators/api-routes.ts:760— console.log: console.log(\nPrerequisites (if not already present):); - [major]
packages/create-app/src/generators/api-routes.ts:761— console.log: console.log(- lib/api-helpers.ts — getAccessToken(req) function); - [major]
packages/create-app/src/generators/api-routes.ts:762— console.log: console.log(- lib/api-handler.ts — withErrorHandler HOF); - [major]
packages/create-app/src/generators/api-routes.ts:763— console.log: console.log(` - NEXT_PUBLIC_BACKEND_URL env var (or defaults to localhost: - [major]
packages/mcp-client/src/index.ts:51— console.log: console.log( - [major]
packages/mcp-client/src/index.ts:76— console.log: console.log('[MCP] Successfully connected to MCP server'); - [major]
packages/mcp-client/src/index.ts:102— console.log: console.log('[MCP] Disconnected from MCP server'); - [major]
packages/mcp-client/src/index.ts:155— console.log: console.log([MCP] Tool ${toolName} executed successfully); - [major]
packages/mcp-client/src/index.ts:321— console.log: console.log(`[MCP-AUDIT] Tool called: ${toolName}, Args: ${JSON.stringify(sa - [major]
packages/mcp-client/src/index.ts:325— console.log: console.log([MCP-AUDIT] Tool succeeded: ${toolName}); - [major]
services/extraction-service/src/modules/extract/product-rate-limit.ts:408— console.log: console.log([product-rate-limit] Cleaned up ${cleaned} expired entries - [major]
services/extraction-service/src/modules/extract/sidecar-monitor.ts:295— console.log: console.log( - [major]
services/monitoring/health-check.ts:39— console.log: console.log(🩺 Monitoring dashboard running on http://localhost:${PORT}); - [major]
services/monitoring/health-check.ts:40— console.log: console.log(Checking ${DEFAULT_SERVICES.length} services every request) - [major]
services/monitoring/health-check.ts:46— console.log: console.log(`\n${icon[report.overall]} Overall: ${report.overall.toUpperCase() - [major]
services/monitoring/health-check.ts:50— console.log: console.log( - [major]
services/monitoring/health-check.ts:55— console.log: console.log(\nHealthy: ${report.summary.healthy}/${report.summary.total}); - [major]
packages/swift-diagnostics/Sources/ByteLystDiagnostics/Core/Configuration.swift:88— Swift print(): print("[DEBUG] (message)") - [major]
packages/swift-diagnostics/Sources/ByteLystDiagnostics/Core/Configuration.swift:93— Swift print(): print("[INFO] (message)") - [major]
packages/swift-diagnostics/Sources/ByteLystDiagnostics/Core/Configuration.swift:97— Swift print(): print("[WARN] (message)") - [major]
packages/swift-diagnostics/Sources/ByteLystDiagnostics/Core/Configuration.swift:101— Swift print(): print("[ERROR] (message)") - [minor]
dashboards/admin-web/src/app/(dashboard)/ops/ab-testing/page.tsx:135— any type: return <Badge variant={config.variant as any}>{config.label}; - [minor]
packages/mcp-client/src/index.ts:16— any type: inputSchema?: any; - [minor]
packages/mcp-client/src/index.ts:20— any type: data: any; - [minor]
packages/mcp-client/src/index.ts:77— any type: } catch (error: any) { - [minor]
packages/mcp-client/src/index.ts:103— any type: } catch (error: any) { - [minor]
packages/mcp-client/src/index.ts:109— any type: async callTool(toolName: string, args: any = {}): Promise { - [minor]
packages/mcp-client/src/index.ts:143— any type: const response = result.content as any[]; - [minor]
packages/mcp-client/src/index.ts:160— any type: } catch (error: any) { - [minor]
packages/mcp-client/src/index.ts:190— any type: return response.tools.map((tool: any) => ({ - [minor]
packages/mcp-client/src/index.ts:195— any type: } catch (error: any) { - [minor]
packages/mcp-client/src/index.ts:225— any type: private getCacheKey(toolName: string, args: any): string { - [minor]
packages/mcp-client/src/index.ts:229— any type: private getFromCache(key: string): any | null { - [minor]
packages/mcp-client/src/index.ts:244— any type: private setCache(key: string, data: any): void { - [minor]
packages/mcp-client/src/index.ts:269— any type: private isNonRetriableError(error: any): boolean { - [minor]
packages/mcp-client/src/index.ts:318— any type: private auditLogToolCall(toolName: string, args: any): void { - [minor]
packages/mcp-client/src/index.ts:332— any type: private sanitizeArgs(args: any): any { - [minor]
services/platform-service/src/server.ts:304— any type: const auth = (request as any).auth; - [minor]
services/platform-service/src/server.ts:335— any type: } catch (error: any) { - [minor]
services/extraction-service/src/modules/transcribe/routes.ts:5— any type: * Product-agnostic: any product backend can call this endpoint. - [minor]
dashboards/admin-web/src/app/(dashboard)/surveys/[id]/page.tsx:21— Emoji in code: 📊 - [minor]
dashboards/admin-web/src/app/(dashboard)/surveys/[id]/page.tsx:22— Emoji in code: 📝 - [minor]
dashboards/admin-web/src/app/(dashboard)/surveys/[id]/page.tsx:23— Emoji in code: 📄 - [minor]
dashboards/tracker-web/src/app/roadmap/page.tsx:513— Emoji in code: 💬 - [minor]
dashboards/tracker-web/src/app/roadmap/page.tsx:569— Emoji in code: 💬 - [minor]
dashboards/tracker-web/src/app/dashboard/items/[id]/page.tsx:232— Emoji in code: 🌐 - [minor]
scripts/encrypt-migrate.ts:507— Emoji in code: 📦 - [minor]
scripts/encrypt-migrate.ts:510— Emoji in code: 🔐 - [minor]
scripts/encrypt-migrate.ts:589— Emoji in code: 🏢 - [minor]
packages/dashboard-shell/src/TopBar.tsx:80— Emoji in code: 🔔 - [minor]
packages/celebrations/src/index.ts:7— Emoji in code: 👏 - [minor]
packages/celebrations/src/index.ts:12— Emoji in code: 🎉 - [minor]
packages/celebrations/src/index.ts:14— Emoji in code: 🔥 - [minor]
packages/celebrations/src/index.ts:15— Emoji in code: 🏆 - [minor]
packages/swift-platform-sdk/Tests/BLFieldEncryptTests.swift:32— Emoji in code: 🌍 - [minor]
packages/create-app/src/scaffolder.ts:115— Emoji in code: 📦 - [minor]
packages/create-app/src/scaffolder.ts:257— Emoji in code: 🚀 - [minor]
packages/create-app/src/scaffolder.ts:275— Emoji in code: 📄 - [minor]
packages/create-app/src/generators/agents-md.ts:528— Emoji in code: 📝 - [minor]
packages/create-app/src/generators/agents-md.ts:549— Emoji in code: 📄 - [minor]
packages/create-app/src/generators/agents-md.ts:552— Emoji in code: 🔄 - [minor]
packages/create-app/src/generators/agents-md.ts:574— Emoji in code: 🔄 - [minor]
packages/create-app/src/generators/api-routes.ts:670— Emoji in code: 🚀 - [minor]
packages/create-app/src/generators/api-routes.ts:725— Emoji in code: 📄 - [minor]
packages/time-references/src/client.ts:16— Emoji in code: 🎵 - [minor]
packages/time-references/src/client.ts:23— Emoji in code: 📺 - [minor]
packages/time-references/src/client.ts:24— Emoji in code: 🚶 - [minor]
packages/time-references/src/client.ts:31— Emoji in code: 🧘 - [minor]
packages/time-references/src/client.ts:32— Emoji in code: 📺 - [minor]
packages/time-references/src/client.ts:39— Emoji in code: 🎬 - [minor]
packages/time-references/src/client.ts:40— Emoji in code: 🚴 - [minor]
packages/time-references/src/client.ts:47— Emoji in code: 🚗 - [minor]
packages/time-references/src/client.ts:48— Emoji in code: 📺 - [minor]
packages/time-references/src/client.ts:55— Emoji in code: 💼 - [minor]
packages/time-references/src/client.ts:56— Emoji in code: 😴 - [minor]
packages/time-references/src/client.ts:64— Emoji in code: 🌅 - [minor]
packages/time-references/src/client.ts:74— Emoji in code: 🧙 - [minor]
packages/time-references/src/client.ts:83— Emoji in code: 🌍 - [minor]
packages/time-references/src/client.ts:84— Emoji in code: 🥾 - [minor]
packages/time-references/src/client.ts:91— Emoji in code: 🏆 - [minor]
packages/time-references/src/client.ts:99— Emoji in code: 🌟 - [minor]
packages/time-references/src/index.ts:11— Emoji in code: 🎬 - [minor]
packages/time-references/src/index.ts:17— Emoji in code: 🌙 - [minor]
packages/time-references/src/index.ts:20— Emoji in code: 🏔 - [minor]
packages/time-references/src/index.ts:23— Emoji in code: 🌍 - [minor]
packages/time-references/src/index.ts:26— Emoji in code: 🚂 - [minor]
packages/time-references/src/index.ts:31— Emoji in code: 🏕 - [minor]
services/mcp-server/src/modules/dev/changelog-tools.ts:156— Emoji in code: 📊 - [minor]
services/mcp-server/src/modules/dev/changelog-tools.ts:164— Emoji in code: 🚨 - [minor]
services/mcp-server/src/modules/dev/changelog-tools.ts:183— Emoji in code: 🐛 - [minor]
services/mcp-server/src/modules/dev/changelog-tools.ts:185— Emoji in code: 📚 - [minor]
services/mcp-server/src/modules/dev/changelog-tools.ts:186— Emoji in code: 🧪 - [minor]
services/mcp-server/src/modules/dev/changelog-tools.ts:187— Emoji in code: 🔧 - [minor]
services/mcp-server/src/modules/dev/changelog-tools.ts:189— Emoji in code: 🎨 - [minor]
services/mcp-server/src/modules/dev/changelog-tools.ts:190— Emoji in code: 🔄 - [minor]
services/mcp-server/src/modules/dev/changelog-tools.ts:191— Emoji in code: 📝 - [minor]
services/platform-service/scripts/gen-module.ts:515— Emoji in code: 📝 - [minor]
services/platform-service/scripts/gen-module.ts:551— Emoji in code: 📝 - [minor]
services/platform-service/scripts/gen-module.ts:608— Emoji in code: 🚀 - [minor]
services/platform-service/scripts/gen-module.ts:636— Emoji in code: 📄 - [minor]
services/platform-service/src/modules/predictive-analytics/campaign-engine.ts:451— Emoji in code: 🚨 - [minor]
services/platform-service/src/modules/diagnostics/auto-triggers.ts:393— Emoji in code: 🚨 - [minor]
services/platform-service/src/modules/diagnostics/auto-triggers.ts:427— Emoji in code: 🚨 - [minor]
services/platform-service/src/modules/delivery/templates.ts:203— Emoji in code: 🚨 - [minor]
services/platform-service/src/modules/delivery/templates.ts:205— Emoji in code: 🚨 - [minor]
services/platform-service/src/modules/delivery/templates.ts:214— Emoji in code: 🚨 - [minor]
services/monitoring/health-check.ts:39— Emoji in code: 🩺
learning_voice_ai_agent
Counts: critical=0 · major=5 · minor=89 · total=94
- [major]
src/audio/sounds.py:115— Python print(): print("\a", end="", flush=True) - [major]
src/audio/sounds.py:120— Python print(): print("\a", end="", flush=True) - [major]
src/hotkey/fn_listener.py:93— Python print(): print( - [major]
src/cli_output.py:30— Python print(): print(message) # noqa: T201 — intentional CLI output - [major]
src/cli_output.py:36— Python print(): print(message, file=sys.stderr) # noqa: T201 — intentional CLI output - [minor]
user-dashboard-web/src/lib/api-handler.ts:10— any type: type RouteHandler = (req: NextRequest, ctx: any) => Promise<Response | NextRespo - [minor]
mobile_app/ios/LysnrKeyboard/KeyboardViewController.swift:572— Emoji in code: 🌐 - [minor]
mobile_app/ios/LysnrAI/Views/SessionDetailView.swift:759— Emoji in code: 👍 - [minor]
mobile_app/common/kill_switch.py:58— Emoji in code: 📱 - [minor]
mobile_app/common/kill_switch.py:66— Emoji in code: 🛑 - [minor]
user-dashboard-web/src/app/(portal)/sessions/[id]/page.tsx:932— Emoji in code: 👍 - [minor]
scripts/test_stress.py:46— Emoji in code: 🏋 - [minor]
scripts/test_stress.py:110— Emoji in code: 📊 - [minor]
scripts/test_security.py:136— Emoji in code: 🔒 - [minor]
scripts/test_security.py:140— Emoji in code: 🔑 - [minor]
scripts/test_security.py:148— Emoji in code: 📝 - [minor]
scripts/test_security.py:156— Emoji in code: 📁 - [minor]
scripts/test_security.py:163— Emoji in code: 💥 - [minor]
scripts/test_security.py:176— Emoji in code: 🔐 - [minor]
scripts/churn-alert.ts:205— Emoji in code: 📊 - [minor]
scripts/churn-alert.ts:215— Emoji in code: 🔵 - [minor]
scripts/churn-alert.ts:238— Emoji in code: 🔍 - [minor]
scripts/test_multi_app_paste.py:75— Emoji in code: 🧪 - [minor]
scripts/test_multi_app_paste.py:92— Emoji in code: 📋 - [minor]
scripts/prove_kill_switch.py:97— Emoji in code: 🔌 - [minor]
scripts/prove_kill_switch.py:108— Emoji in code: 📖 - [minor]
scripts/prove_kill_switch.py:119— Emoji in code: 🔴 - [minor]
scripts/test_ui_crossplatform.py:42— Emoji in code: 🖥 - [minor]
scripts/test_ui_crossplatform.py:46— Emoji in code: 🪟 - [minor]
scripts/test_ui_crossplatform.py:60— Emoji in code: 🎯 - [minor]
scripts/test_ui_crossplatform.py:96— Emoji in code: 🎨 - [minor]
scripts/test_ui_crossplatform.py:126— Emoji in code: 🔧 - [minor]
scripts/prove_cosmos_rw.py:92— Emoji in code: 📖 - [minor]
scripts/prove_cosmos_rw.py:100— Emoji in code: 🗑 - [minor]
scripts/prove_cosmos_rw.py:111— Emoji in code: 🔬 - [minor]
scripts/test_accessibility.py:45— Emoji in code: 📢 - [minor]
scripts/test_accessibility.py:57— Emoji in code: 🎨 - [minor]
scripts/test_accessibility.py:80— Emoji in code: 🎯 - [minor]
scripts/test_accessibility.py:92— Emoji in code: 🪟 - [minor]
scripts/test_accessibility.py:102— Emoji in code: 🔊 - [minor]
scripts/test_accessibility.py:113— Emoji in code: 📏 - [minor]
assets/generate-store-assets.py:165— Emoji in code: 📱 - [minor]
assets/generate-store-assets.py:214— Emoji in code: 🎙 - [minor]
assets/generate-store-assets.py:443— Emoji in code: 🔑 - [minor]
assets/generate-store-assets.py:444— Emoji in code: 🚪 - [minor]
assets/generate-store-assets.py:447— Emoji in code: 🌐 - [minor]
assets/generate-store-assets.py:448— Emoji in code: 🎛 - [minor]
assets/generate-store-assets.py:449— Emoji in code: 🔊 - [minor]
assets/generate-store-assets.py:450— Emoji in code: 📋 - [minor]
assets/generate-store-assets.py:512— Emoji in code: 🔍 - [minor]
assets/generate-store-assets.py:581— Emoji in code: 📸 - [minor]
assets/generate-store-assets.py:623— Emoji in code: 🎨 - [minor]
assets/generate-store-assets.py:670— Emoji in code: 💫 - [minor]
assets/generate-store-assets.py:731— Emoji in code: 📁 - [minor]
src/main.py:150— Emoji in code: 🎙 - [minor]
src/main.py:154— Emoji in code: 🎙 - [minor]
src/main.py:234— Emoji in code: 🎙 - [minor]
src/main.py:310— Emoji in code: 🔵 - [minor]
src/main.py:324— Emoji in code: 🔇 - [minor]
src/main.py:326— Emoji in code: 🔴 - [minor]
src/main.py:331— Emoji in code: 🔴 - [minor]
src/main.py:682— Emoji in code: 📎 - [minor]
src/main.py:692— Emoji in code: 📎 - [minor]
src/main.py:883— Emoji in code: 📝 - [minor]
src/main.py:900— Emoji in code: 📝 - [minor]
src/main.py:1200— Emoji in code: 🧙 - [minor]
src/main.py:1225— Emoji in code: 🛑 - [minor]
src/main.py:1292— Emoji in code: 🛑 - [minor]
src/main.py:1306— Emoji in code: 👋 - [minor]
src/ui/overlay.py:238— Emoji in code: 🔴 - [minor]
src/ui/overlay.py:475— Emoji in code: 🔄 - [minor]
src/ui/history_viewer.py:72— Emoji in code: 🔍 - [minor]
src/ui/first_run.py:161— Emoji in code: 🎙 - [minor]
src/ui/macos_menubar.py:37— Emoji in code: 🎙 - [minor]
src/ui/macos_menubar.py:38— Emoji in code: 🔴 - [minor]
src/ui/macos_menubar.py:40— Emoji in code: 📡 - [minor]
src/ui/macos_menubar.py:119— Emoji in code: 🎙 - [minor]
src/ui/tray.py:136— Emoji in code: 🎙 - [minor]
src/ui/stats_dashboard.py:78— Emoji in code: 📊 - [minor]
src/ui/about.py:59— Emoji in code: 🎙 - [minor]
src/ui/update_dialog.py:47— Emoji in code: 🔄 - [minor]
src/ui/unified_window.py:166— Emoji in code: 🎙 - [minor]
src/ui/unified_window.py:172— Emoji in code: 📜 - [minor]
src/ui/unified_window.py:173— Emoji in code: 📊 - [minor]
src/ui/unified_window.py:250— Emoji in code: 🗣 - [minor]
src/ui/unified_window.py:260— Emoji in code: 🤖 - [minor]
src/ui/unified_window.py:273— Emoji in code: 🎛 - [minor]
src/ui/unified_window.py:1028— Emoji in code: 🎙 - [minor]
src/ui/unified_window.py:1029— Emoji in code: 📝 - [minor]
src/ui/unified_window.py:1031— Emoji in code: 🔥 - [minor]
src/ui/unified_window.py:1140— Emoji in code: 🌐 - [minor]
src/ui/unified_window.py:1347— Emoji in code: 🎙 - [minor]
src/hotkey/fn_listener.py:3— Emoji in code: 🌐 - [minor]
src/hotkey/fn_listener.py:8— Emoji in code: 🌐
learning_multimodal_memory_agents
Counts: critical=0 · major=95 · minor=32 · total=127
- [major]
mindlyst-native/iosApp/Models/MemoryStore.swift:64— Swift print(): print("[MemoryStore] Failed to persist items: (error)") - [major]
mindlyst-native/iosApp/Models/MemoryStore.swift:76— Swift print(): print("[MemoryStore] Failed to decode stored items: (error)") - [major]
mindlyst-native/iosApp/Screens/CaptureScreen.swift:143— Swift print(): print("[CaptureScreen] Failed to persist to plat - [minor]
backend/src/modules/brains/repository.ts:30— any type: const decrypted = await getEncryptor().decrypt(doc.rolePrompt as any, { - [minor]
backend/src/modules/reflections/repository.ts:28— any type: const decrypted = await enc.decrypt(val as any, { userId, context }); - [minor]
backend/src/modules/reflections/repository.ts:36— any type: result.repeatedThemes = await encryptStringArray(result.repeatedThemes, uid, ' - [minor]
backend/src/modules/reflections/repository.ts:37— any type: result.postponedItems = await encryptStringArray(result.postponedItems, uid, ' - [minor]
backend/src/modules/reflections/repository.ts:38— any type: result.roleImbalanceSignals = await encryptStringArray(result.roleImbalanceSig - [minor]
backend/src/modules/reflections/repository.ts:39— any type: result.suggestedAdjustments = await encryptStringArray(result.suggestedAdjustm - [minor]
backend/src/modules/reflections/repository.ts:61— any type: const decrypted = await enc.decrypt(result.vsLastWeek!.summary as any, { use - [minor]
backend/src/modules/memory/repository.ts:42— any type: const decrypted = await enc.decrypt(result.rawContent as any, ctx); - [minor]
backend/src/modules/memory/repository.ts:47— any type: const decrypted = await enc.decrypt(result.triageResult.summary as any, { .. - [minor]
backend/src/modules/palace/repository.ts:59— any type: const decrypted = await getEncryptor().decrypt(doc.content as any, { - [minor]
backend/src/modules/daily-briefs/repository.ts:29— any type: result.priorityItems = encrypted as any; - [minor]
backend/src/modules/daily-briefs/repository.ts:34— any type: result.brainSummaries = encrypted as any; - [minor]
backend/src/modules/daily-briefs/repository.ts:56— any type: result.greeting = await enc.decrypt(result.greeting as any, ctx); - [minor]
backend/src/modules/daily-briefs/repository.ts:60— any type: const decrypted = await enc.decrypt(result.priorityItems as any, { ...ctx, c - [minor]
backend/src/modules/daily-briefs/repository.ts:65— any type: const decrypted = await enc.decrypt(result.brainSummaries as any, { ...ctx, - [minor]
backend/src/modules/daily-briefs/repository.ts:70— any type: result.streakMessage = await enc.decrypt(result.streakMessage as any, { ...c - [minor]
backend/src/modules/daily-briefs/repository.ts:74— any type: result.motivationalQuote = await enc.decrypt(result.motivationalQuote as any - [minor]
mindlyst-native/web/src/lib/api-handler.ts:9— any type: type RouteHandler = (req: NextRequest, ctx: any) => Promise<Response | NextRespo - [major]
mindlyst-native/web/src/app/brain-packs/page.tsx:22— Hardcoded hex color: #E67E22 - [major]
mindlyst-native/web/src/app/brain-packs/page.tsx:23— Hardcoded hex color: #E74C3C - [major]
mindlyst-native/web/src/app/brain-packs/page.tsx:24— Hardcoded hex color: #9B59B6 - [major]
mindlyst-native/web/src/app/brain-packs/page.tsx:25— Hardcoded hex color: #F39C12 - [major]
mindlyst-native/web/src/app/brain-packs/page.tsx:26— Hardcoded hex color: #1ABC9C - [major]
mindlyst-native/web/src/app/brain-packs/page.tsx:27— Hardcoded hex color: #2ECC71 - [major]
mindlyst-native/web/src/app/brain-packs/page.tsx:28— Hardcoded hex color: #3498DB - [major]
mindlyst-native/web/src/app/brain-packs/page.tsx:29— Hardcoded hex color: #A29BFE - [major]
mindlyst-native/web/src/app/brain-packs/page.tsx:30— Hardcoded hex color: #00CEC9 - [major]
mindlyst-native/web/src/app/brain-packs/page.tsx:31— Hardcoded hex color: #FDCB6E - [major]
mindlyst-native/web/src/app/settings/page.tsx:8— Hardcoded hex color: #5A8CFF - [major]
mindlyst-native/web/src/app/settings/page.tsx:9— Hardcoded hex color: #FF6E6E - [major]
mindlyst-native/web/src/app/settings/page.tsx:10— Hardcoded hex color: #34D399 - [major]
mindlyst-native/web/src/app/settings/page.tsx:11— Hardcoded hex color: #2EE6D6 - [major]
mindlyst-native/web/src/app/settings/page.tsx:12— Hardcoded hex color: #7D8FB4 - [major]
mindlyst-native/web/src/app/settings/page.tsx:275— Hardcoded hex color: #A5B1C7 - [major]
mindlyst-native/web/src/app/settings/page.tsx:276— Hardcoded hex color: #6C7C98 - [major]
mindlyst-native/web/src/app/settings/page.tsx:290— Hardcoded hex color: #9B59B6 - [major]
mindlyst-native/web/src/app/settings/page.tsx:291— Hardcoded hex color: #E67E22 - [major]
mindlyst-native/web/src/app/settings/page.tsx:292— Hardcoded hex color: #1ABC9C - [major]
mindlyst-native/web/src/app/settings/page.tsx:293— Hardcoded hex color: #E74C3C - [major]
mindlyst-native/web/src/app/dashboard/page.tsx:10— Hardcoded hex color: #5A8CFF - [major]
mindlyst-native/web/src/app/dashboard/page.tsx:11— Hardcoded hex color: #FF6E6E - [major]
mindlyst-native/web/src/app/dashboard/page.tsx:12— Hardcoded hex color: #34D399 - [major]
mindlyst-native/web/src/app/dashboard/page.tsx:13— Hardcoded hex color: #2EE6D6 - [major]
mindlyst-native/web/src/app/dashboard/page.tsx:14— Hardcoded hex color: #7D8FB4 - [major]
mindlyst-native/web/src/app/dashboard/page.tsx:18— Hardcoded hex color: #5A8CFF - [major]
mindlyst-native/web/src/app/dashboard/page.tsx:19— Hardcoded hex color: #FFD166 - [major]
mindlyst-native/web/src/app/dashboard/page.tsx:20— Hardcoded hex color: #FF6E6E - [major]
mindlyst-native/web/src/app/dashboard/page.tsx:21— Hardcoded hex color: #2EE6D6 - [major]
mindlyst-native/web/src/app/dashboard/page.tsx:22— Hardcoded hex color: #A5B1C7 - [major]
mindlyst-native/web/src/app/dashboard/page.tsx:23— Hardcoded hex color: #34D399 - [major]
mindlyst-native/web/src/app/dashboard/page.tsx:27— Hardcoded hex color: #5A8CFF - [major]
mindlyst-native/web/src/app/dashboard/page.tsx:28— Hardcoded hex color: #FF6E6E - [major]
mindlyst-native/web/src/app/dashboard/page.tsx:29— Hardcoded hex color: #34D399 - [major]
mindlyst-native/web/src/app/dashboard/page.tsx:30— Hardcoded hex color: #2EE6D6 - [major]
mindlyst-native/web/src/app/dashboard/page.tsx:31— Hardcoded hex color: #7D8FB4 - [major]
mindlyst-native/web/src/app/dashboard/page.tsx:640— Hardcoded hex color: #A5B1C7 - [major]
mindlyst-native/web/src/app/dashboard/page.tsx:641— Hardcoded hex color: #A5B1C7 - [major]
mindlyst-native/web/src/app/dashboard/page.tsx:677— Hardcoded hex color: #7D8FB4 - [major]
mindlyst-native/web/src/app/palace/page.tsx:20— Hardcoded hex color: #5A8CFF - [major]
mindlyst-native/web/src/app/palace/page.tsx:21— Hardcoded hex color: #2EE6D6 - [major]
mindlyst-native/web/src/app/palace/page.tsx:22— Hardcoded hex color: #34D399 - [major]
mindlyst-native/web/src/app/palace/page.tsx:23— Hardcoded hex color: #FFD166 - [major]
mindlyst-native/web/src/app/palace/page.tsx:24— Hardcoded hex color: #A78BFA - [major]
mindlyst-native/web/src/app/palace/page.tsx:25— Hardcoded hex color: #FF6E6E - [major]
mindlyst-native/web/src/app/palace/page.tsx:26— Hardcoded hex color: #F59E0B - [major]
mindlyst-native/web/src/app/palace/page.tsx:27— Hardcoded hex color: #EF4444 - [major]
mindlyst-native/web/src/app/palace/page.tsx:28— Hardcoded hex color: #8B5CF6 - [major]
mindlyst-native/web/src/app/palace/page.tsx:309— Hardcoded hex color: #fff - [major]
mindlyst-native/web/src/app/palace/page.tsx:459— Hardcoded hex color: #6c7c98 - [major]
mindlyst-native/web/src/app/api/brain-packs/route.ts:86— Hardcoded hex color: #5A8CFF - [major]
mindlyst-native/web/src/app/api/brain-packs/route.ts:87— Hardcoded hex color: #2EE6D6 - [major]
mindlyst-native/web/src/app/api/brain-packs/route.ts:107— Hardcoded hex color: #5A8CFF - [major]
mindlyst-native/web/src/app/api/brain-packs/route.ts:108— Hardcoded hex color: #2EE6D6 - [major]
mindlyst-native/web/src/app/api/brain-packs/route.ts:131— Hardcoded hex color: #5A8CFF - [major]
mindlyst-native/web/src/app/api/brain-packs/route.ts:132— Hardcoded hex color: #2EE6D6 - [major]
mindlyst-native/web/src/app/api/brains/route.ts:35— Hardcoded hex color: #5A8CFF - [major]
mindlyst-native/web/src/app/api/brains/route.ts:36— Hardcoded hex color: #FF6E6E - [major]
mindlyst-native/web/src/app/api/brains/route.ts:37— Hardcoded hex color: #34D399 - [major]
mindlyst-native/web/src/app/api/brains/route.ts:38— Hardcoded hex color: #2EE6D6 - [major]
mindlyst-native/web/src/app/api/brains/route.ts:39— Hardcoded hex color: #7D8FB4 - [major]
mindlyst-native/web/src/app/api/brains/route.ts:112— Hardcoded hex color: #A5B1C7 - [major]
mindlyst-native/web/src/app/api/brains/route.ts:113— Hardcoded hex color: #6C7C98 - [major]
mindlyst-native/web/src/app/api/accessibility-config/route.ts:125— Hardcoded hex color: #EFF4FF - [major]
mindlyst-native/web/src/app/api/capture-config/route.ts:115— Hardcoded hex color: #06070A - [major]
mindlyst-native/web/src/app/api/capture-config/route.ts:133— Hardcoded hex color: #5A8CFF - [major]
mindlyst-native/web/src/app/api/capture-config/route.ts:134— Hardcoded hex color: #FF6E6E - [major]
mindlyst-native/web/src/app/api/capture-config/route.ts:135— Hardcoded hex color: #34D399 - [major]
mindlyst-native/web/src/app/api/capture-config/route.ts:136— Hardcoded hex color: #2EE6D6 - [major]
mindlyst-native/web/src/app/api/capture-config/route.ts:137— Hardcoded hex color: #7D8FB4 - [major]
mindlyst-native/web/src/app/api/share-card/route.ts:146— Hardcoded hex color: #06070A - [major]
mindlyst-native/web/src/app/api/share-card/route.ts:147— Hardcoded hex color: #5A8CFF - [major]
mindlyst-native/web/src/app/challenge/page.tsx:92— Hardcoded hex color: #fff - [major]
mindlyst-native/web/src/app/page.tsx:34— Hardcoded hex color: #5A8CFF - [major]
mindlyst-native/web/src/app/page.tsx:35— Hardcoded hex color: #FF6E6E - [major]
mindlyst-native/web/src/app/page.tsx:36— Hardcoded hex color: #34D399 - [major]
mindlyst-native/web/src/app/page.tsx:37— Hardcoded hex color: #2EE6D6 - [major]
mindlyst-native/web/src/app/onboarding/page.tsx:8— Hardcoded hex color: #5A8CFF - [major]
mindlyst-native/web/src/app/onboarding/page.tsx:9— Hardcoded hex color: #FF6E6E - [major]
mindlyst-native/web/src/app/onboarding/page.tsx:10— Hardcoded hex color: #34D399 - [major]
mindlyst-native/web/src/app/onboarding/page.tsx:11— Hardcoded hex color: #2EE6D6 - [major]
mindlyst-native/web/src/app/onboarding/page.tsx:20— Hardcoded hex color: #5A8CFF - [major]
mindlyst-native/web/src/app/onboarding/page.tsx:21— Hardcoded hex color: #2EE6D6 - [major]
mindlyst-native/web/src/app/onboarding/page.tsx:205— Hardcoded hex color: #A5B1C7 - [major]
mindlyst-native/web/src/app/onboarding/page.tsx:206— Hardcoded hex color: #A5B1C7 - [major]
mindlyst-native/web/src/app/onboarding/page.tsx:217— Hardcoded hex color: #7D8FB4 - [major]
mindlyst-native/web/src/app/onboarding/page.tsx:248— Hardcoded hex color: #6C7C98 - [major]
mindlyst-native/web/src/app/reflection/page.tsx:13— Hardcoded hex color: #5A8CFF - [major]
mindlyst-native/web/src/app/reflection/page.tsx:14— Hardcoded hex color: #2EE6D6 - [major]
mindlyst-native/web/src/app/reflection/page.tsx:141— Hardcoded hex color: #A5B1C7 - [major]
mindlyst-native/web/src/app/reflection/page.tsx:149— Hardcoded hex color: #A5B1C7 - [minor]
mindlyst-native/web/src/app/layout.tsx:13— Emoji in code: 🧠 - [minor]
mindlyst-native/web/src/app/api/launch/route.ts:124— Emoji in code: 👋 - [minor]
mindlyst-native/web/src/app/api/launch/route.ts:131— Emoji in code: 🧠 - [minor]
mindlyst-native/web/src/app/api/prompts/route.ts:66— Emoji in code: 📱 - [minor]
mindlyst-native/web/src/app/api/prompts/route.ts:99— Emoji in code: 🎤 - [minor]
mindlyst-native/web/src/app/api/prompts/route.ts:101— Emoji in code: 📷 - [minor]
mindlyst-native/web/src/app/api/store-listing/route.ts:61— Emoji in code: 🧠 - [minor]
mindlyst-native/web/src/app/api/store-listing/route.ts:78— Emoji in code: 🔒 - [minor]
mindlyst-native/web/src/app/api/store-listing/route.ts:83— Emoji in code: 🚀 - [minor]
mindlyst-native/iosApp/Screens/BrainDetailScreen.swift:11— Emoji in code: 🎙 - [minor]
mindlyst-native/iosApp/Screens/BrainDetailScreen.swift:12— Emoji in code: 📸 - [minor]
mindlyst-native/iosApp/Screens/BrainDetailScreen.swift:13— Emoji in code: 📧 - [minor]
mindlyst-native/iosApp/Screens/BrainDetailScreen.swift:14— Emoji in code: 🔗 - [minor]
mindlyst-native/androidApp/src/main/java/com/mindlyst/android/auth/LoginScreen.kt:92— Emoji in code: 🧠
learning_ai_clock
Counts: critical=0 · major=0 · minor=22 · total=22
- [minor]
backend/src/modules/shared-timers/repository.ts:31— any type: const decrypted = await getEncryptor().decrypt(doc.description as any, { - [minor]
backend/src/modules/timers/repository.ts:32— any type: const decrypted = await getEncryptor().decrypt(doc.description as any, { - [minor]
backend/src/modules/routines/repository.ts:49— any type: const decrypted = await enc.decrypt(result.description as any, ctx); - [minor]
backend/src/modules/routines/repository.ts:56— any type: const decrypted = await enc.decrypt(step.notes as any, { ...ctx, context - [minor]
backend/src/modules/webhooks/repository.ts:46— any type: const decrypted = await enc.decrypt(result.secret as any, ctx); - [minor]
backend/src/modules/webhooks/repository.ts:51— any type: const decrypted = await enc.decrypt(result.description as any, { ...ctx, con - [minor]
web/src/components/Dashboard.tsx:103— Emoji in code: 🔔 - [minor]
web/src/components/StreakCard.tsx:80— Emoji in code: 🏆 - [minor]
web/src/components/StreakCard.tsx:82— Emoji in code: 🔥 - [minor]
web/src/components/PomodoroView.tsx:57— Emoji in code: 🎉 - [minor]
web/src/components/PomodoroView.tsx:86— Emoji in code: 🍅 - [minor]
web/src/components/TimerCard.tsx:243— Emoji in code: 💬 - [minor]
web/src/lib/notifications.ts:94— Emoji in code: 🔔 - [minor]
ios/ChronoMind/Shared/Wellness/MoodCheckInManager.swift:165— Emoji in code: 😴 - [minor]
ios/ChronoMind/Shared/Wellness/MoodCheckInManager.swift:166— Emoji in code: 😐 - [minor]
ios/ChronoMind/Shared/Wellness/MoodCheckInManager.swift:167— Emoji in code: 😊 - [minor]
ios/ChronoMind/Shared/Wellness/MoodCheckInManager.swift:168— Emoji in code: 🔥 - [minor]
ios/ChronoMind/Shared/Gamification/GamificationEngine.swift:55— Emoji in code: 🔥 - [minor]
ios/ChronoMind/Shared/Gamification/GamificationEngine.swift:57— Emoji in code: 👍 - [minor]
ios/ChronoMind/Shared/Gamification/GamificationEngine.swift:58— Emoji in code: 📈 - [minor]
ios/ChronoMind/Shared/Gamification/GamificationEngine.swift:59— Emoji in code: 💪 - [minor]
ios/ChronoMind/Shared/Notifications/NotificationScheduler.swift:100— Emoji in code: 🔔
learning_ai_fastgap
Counts: critical=0 · major=80 · minor=212 · total=292
- [major]
plugins/withAndroidWidget.js:224— console.log: console.log(` - [major]
plugins/withWatchApp.js:59— console.log: console.log(` - [major]
plugins/withWidgetExtension.js:57— console.log: console.log(` - [major]
web/src/app/(app)/settings/page.tsx:185— Hardcoded hex color: #FF6B6B - [major]
web/src/app/(app)/social/page.tsx:194— Hardcoded hex color: #888 - [major]
web/src/app/(app)/simulator/page.tsx:265— Hardcoded hex color: #fff - [major]
web/src/components/ShareCard.tsx:33— Hardcoded hex color: #0D1117 - [major]
web/src/components/ShareCard.tsx:34— Hardcoded hex color: #1A2332 - [major]
web/src/components/ShareCard.tsx:42— Hardcoded hex color: #5AE68C - [major]
web/src/components/ShareCard.tsx:43— Hardcoded hex color: #4ECDC4 - [major]
web/src/components/ShareCard.tsx:48— Hardcoded hex color: #5AE68C - [major]
web/src/components/ShareCard.tsx:53— Hardcoded hex color: #FFFFFF - [major]
web/src/components/ShareCard.tsx:56— Hardcoded hex color: #8B949E - [major]
web/src/components/ShareCard.tsx:76— Hardcoded hex color: #5AE68C - [major]
web/src/components/ShareCard.tsx:80— Hardcoded hex color: #8B949E - [major]
web/src/components/ShareCard.tsx:86— Hardcoded hex color: #484F58 - [major]
web/src/components/BodyCanvas.tsx:14— Hardcoded hex color: #FF9F43 - [major]
web/src/components/BodyCanvas.tsx:15— Hardcoded hex color: #5A8CFF - [major]
web/src/components/BodyCanvas.tsx:48— Hardcoded hex color: #FECA57 - [major]
web/src/components/BodyCanvas.tsx:65— Hardcoded hex color: #1A2040 - [major]
web/src/components/BodyCanvas.tsx:75— Hardcoded hex color: #E85555 - [major]
web/src/components/BodyCanvas.tsx:83— Hardcoded hex color: #5AC0D0 - [major]
web/src/components/BodyCanvas.tsx:91— Hardcoded hex color: #5AC0D0 - [major]
web/src/components/BodyCanvas.tsx:99— Hardcoded hex color: #1E1A10 - [major]
web/src/components/BodyCanvas.tsx:107— Hardcoded hex color: #1E1810 - [major]
web/src/components/BodyCanvas.tsx:115— Hardcoded hex color: #E8C44A - [major]
web/src/components/BodyCanvas.tsx:122— Hardcoded hex color: #D49A6A - [major]
web/src/components/BodyCanvas.tsx:130— Hardcoded hex color: #C47A50 - [major]
web/src/components/BodyCanvas.tsx:139— Hardcoded hex color: #B06060 - [major]
web/src/components/BodyCanvas.tsx:147— Hardcoded hex color: #B06060 - [major]
web/src/components/BodyCanvas.tsx:155— Hardcoded hex color: #101820 - [major]
web/src/components/BodyCanvas.tsx:162— Hardcoded hex color: #101820 - [major]
web/src/components/BodyCanvas.tsx:169— Hardcoded hex color: #18142A - [major]
web/src/components/BodyCanvas.tsx:181— Hardcoded hex color: #E8C44A - [major]
web/src/components/BodyCanvas.tsx:182— Hardcoded hex color: #8899AA - [major]
web/src/components/BodyCanvas.tsx:183— Hardcoded hex color: #80E0F0 - [major]
web/src/components/BodyCanvas.tsx:185— Hardcoded hex color: #C088FF - [major]
web/src/components/BodyCanvas.tsx:186— Hardcoded hex color: #FFE066 - [major]
web/src/components/BodyCanvas.tsx:300— Hardcoded hex color: #C0D0E8 - [major]
web/src/components/BodyCanvas.tsx:304— Hardcoded hex color: #C0D0E8 - [major]
web/src/components/BodyCanvas.tsx:315— Hardcoded hex color: #C0D0E8 - [major]
web/src/components/BodyCanvas.tsx:476— Hardcoded hex color: #FFFFFF - [major]
web/src/components/BodyCanvas.tsx:493— Hardcoded hex color: #7B8BA5 - [major]
web/src/components/BodyCanvas.tsx:504— Hardcoded hex color: #000000 - [major]
src/screens/protocol/ProtocolDetail.tsx:183— Hardcoded hex color: #1A2335 - [major]
src/components/platform/InAppBroadcastBanner.tsx:18— Hardcoded hex color: #ef4444 - [major]
src/components/platform/InAppBroadcastBanner.tsx:19— Hardcoded hex color: #f59e0b - [major]
src/components/platform/InAppBroadcastBanner.tsx:20— Hardcoded hex color: #38bdf8 - [major]
src/components/platform/ActiveSurveyModal.tsx:188— Hardcoded hex color: #f87171 - [major]
src/theme/spacing.ts:33— Hardcoded hex color: #000 - [major]
src/theme/spacing.ts:40— Hardcoded hex color: #000 - [major]
src/theme/spacing.ts:47— Hardcoded hex color: #000 - [major]
src/lib/organ-data.ts:47— Hardcoded hex color: #1A2040 - [major]
src/lib/organ-data.ts:63— Hardcoded hex color: #E85555 - [major]
src/lib/organ-data.ts:64— Hardcoded hex color: #2A1520 - [major]
src/lib/organ-data.ts:80— Hardcoded hex color: #5AC0D0 - [major]
src/lib/organ-data.ts:81— Hardcoded hex color: #14222A - [major]
src/lib/organ-data.ts:96— Hardcoded hex color: #5AC0D0 - [major]
src/lib/organ-data.ts:97— Hardcoded hex color: #14222A - [major]
src/lib/organ-data.ts:113— Hardcoded hex color: #1E1A10 - [major]
src/lib/organ-data.ts:130— Hardcoded hex color: #1E1810 - [major]
src/lib/organ-data.ts:144— Hardcoded hex color: #E8C44A - [major]
src/lib/organ-data.ts:145— Hardcoded hex color: #1A1810 - [major]
src/lib/organ-data.ts:160— Hardcoded hex color: #D49A6A - [major]
src/lib/organ-data.ts:161— Hardcoded hex color: #18140E - [major]
src/lib/organ-data.ts:176— Hardcoded hex color: #C47A50 - [major]
src/lib/organ-data.ts:177— Hardcoded hex color: #18140E - [major]
src/lib/organ-data.ts:192— Hardcoded hex color: #B06060 - [major]
src/lib/organ-data.ts:193— Hardcoded hex color: #1E1218 - [major]
src/lib/organ-data.ts:208— Hardcoded hex color: #B06060 - [major]
src/lib/organ-data.ts:209— Hardcoded hex color: #1E1218 - [major]
src/lib/organ-data.ts:225— Hardcoded hex color: #101820 - [major]
src/lib/organ-data.ts:243— Hardcoded hex color: #101820 - [major]
src/lib/organ-data.ts:261— Hardcoded hex color: #18142A - [major]
src/lib/molecule-flows.ts:45— Hardcoded hex color: #E8C44A - [major]
src/lib/molecule-flows.ts:49— Hardcoded hex color: #8899AA - [major]
src/lib/molecule-flows.ts:53— Hardcoded hex color: #80E0F0 - [major]
src/lib/molecule-flows.ts:63— Hardcoded hex color: #C088FF - [major]
src/lib/molecule-flows.ts:68— Hardcoded hex color: #FFE066 - [major]
src/lib/molecule-flows.ts:69— Hardcoded hex color: #C088FF - [minor]
web/src/app/(app)/settings/page.tsx:109— Emoji in code: 🌙 - [minor]
web/src/app/(app)/social/page.tsx:231— Emoji in code: 🔥 - [minor]
web/src/app/(app)/tracking/page.tsx:126— Emoji in code: 💧 - [minor]
web/src/components/StreakCalendar.tsx:52— Emoji in code: 🔥 - [minor]
web/src/components/CoachingCard.tsx:11— Emoji in code: 📋 - [minor]
web/src/components/CoachingCard.tsx:13— Emoji in code: 💧 - [minor]
web/src/components/CoachingCard.tsx:14— Emoji in code: 🔥 - [minor]
web/src/components/CoachingCard.tsx:15— Emoji in code: 💪 - [minor]
web/src/components/CoachingCard.tsx:16— Emoji in code: 🎉 - [minor]
web/src/components/CoachingCard.tsx:17— Emoji in code: 📈 - [minor]
web/src/components/CoachingCard.tsx:50— Emoji in code: 💡 - [minor]
web/src/components/SafetyBanner.tsx:13— Emoji in code: 🔶 - [minor]
web/src/components/SafetyBanner.tsx:14— Emoji in code: 🛑 - [minor]
web/src/components/Sidebar.tsx:33— Emoji in code: 🧬 - [minor]
web/src/components/OnboardingFlow.tsx:30— Emoji in code: 🧬 - [minor]
web/src/components/OnboardingFlow.tsx:35— Emoji in code: 📋 - [minor]
web/src/components/OnboardingFlow.tsx:40— Emoji in code: 📊 - [minor]
web/src/components/OnboardingFlow.tsx:45— Emoji in code: 🛡 - [minor]
web/src/components/OnboardingFlow.tsx:50— Emoji in code: 🚀 - [minor]
web/src/lib/gamification.ts:78— Emoji in code: 🔥 - [minor]
web/src/lib/gamification.ts:80— Emoji in code: 💪 - [minor]
web/src/lib/gamification.ts:81— Emoji in code: 👑 - [minor]
web/src/lib/gamification.ts:85— Emoji in code: 🌙 - [minor]
web/src/lib/gamification.ts:86— Emoji in code: 💯 - [minor]
web/src/lib/gamification.ts:87— Emoji in code: 🏆 - [minor]
web/src/lib/gamification.ts:90— Emoji in code: 🌱 - [minor]
web/src/lib/gamification.ts:91— Emoji in code: 🎯 - [minor]
web/src/lib/gamification.ts:93— Emoji in code: 🌟 - [minor]
web/src/lib/gamification.ts:94— Emoji in code: 🏅 - [minor]
web/src/lib/gamification.ts:97— Emoji in code: 🔒 - [minor]
web/src/lib/gamification.ts:98— Emoji in code: 💎 - [minor]
web/src/lib/ai-coach.ts:61— Emoji in code: 🔥 - [minor]
ios-extensions/NomGapWidget/NomGapLiveActivity.swift:131— Emoji in code: 🧬 - [minor]
ios-extensions/NomGapWidget/NomGapLiveActivity.swift:139— Emoji in code: 💧 - [minor]
ios-extensions/NomGapWidget/NomGapLiveActivity.swift:171— Emoji in code: 🧬 - [minor]
ios-extensions/NomGapWidget/NomGapLiveActivity.swift:174— Emoji in code: 💧 - [minor]
ios-extensions/NomGapWidget/NomGapLockScreenWidget.swift:108— Emoji in code: 💧 - [minor]
ios-extensions/NomGapShortcuts/NomGapShortcuts.swift:31— Emoji in code: 💪 - [minor]
ios-extensions/NomGapShortcuts/NomGapShortcuts.swift:57— Emoji in code: 🎉 - [minor]
ios-extensions/NomGapShortcuts/NomGapShortcuts.swift:102— Emoji in code: 💧 - [minor]
ios-extensions/NomGapShortcuts/NomGapShortcuts.swift:104— Emoji in code: 💧 - [minor]
ios-extensions/NomGapShortcuts/NomGapShortcuts.swift:125— Emoji in code: 💪 - [minor]
watch/Shared/FastingState.swift:29— Emoji in code: 🍽 - [minor]
watch/Shared/FastingState.swift:31— Emoji in code: 🔥 - [minor]
watch/Shared/FastingState.swift:33— Emoji in code: 🧬 - [minor]
watch/Shared/FastingState.swift:34— Emoji in code: 🌟 - [minor]
watch/NomGapWatch/FastingTimerView.swift:287— Emoji in code: 🎉 - [minor]
watch/NomGapWatch/ComplicationProvider.swift:33— Emoji in code: 🔥 - [minor]
watch/NomGapWatch/StatsView.swift:20— Emoji in code: 🔥 - [minor]
watch/NomGapWatch/HydrationView.swift:18— Emoji in code: 💧 - [minor]
src/utils/shareCardExport.ts:24— Emoji in code: 🍽 - [minor]
src/utils/shareCardExport.ts:57— Emoji in code: 🍽 - [minor]
src/utils/shareCardExport.ts:58— Emoji in code: 🧬 - [minor]
src/utils/shareCardExport.ts:59— Emoji in code: 🔬 - [minor]
src/utils/shareCardExport.ts:60— Emoji in code: 💧 - [minor]
src/screens/learn/LearnScreen.tsx:24— Emoji in code: 💧 - [minor]
src/screens/learn/LearnScreen.tsx:34— Emoji in code: 🌊 - [minor]
src/screens/learn/LearnScreen.tsx:39— Emoji in code: 🍵 - [minor]
src/screens/learn/LearnScreen.tsx:44— Emoji in code: 😴 - [minor]
src/screens/learn/LearnScreen.tsx:49— Emoji in code: 🚶 - [minor]
src/screens/fast/TimerControls.tsx:63— Emoji in code: 🔥 - [minor]
src/screens/fast/TimerControls.tsx:103— Emoji in code: 🎉 - [minor]
src/screens/fast/FastCompletionModal.tsx:147— Emoji in code: 🎉 - [minor]
src/screens/fast/FastCompletionModal.tsx:170— Emoji in code: 💧 - [minor]
src/screens/fast/FastCompletionModal.tsx:208— Emoji in code: 🍽 - [minor]
src/screens/fast/FastCompletionModal.tsx:219— Emoji in code: 📤 - [minor]
src/screens/fast/SafetyBanner.tsx:29— Emoji in code: 🔶 - [minor]
src/screens/fast/SafetyBanner.tsx:30— Emoji in code: 🚨 - [minor]
src/screens/fast/SafetyBanner.tsx:109— Emoji in code: 🧂 - [minor]
src/screens/fast/SafetyBanner.tsx:129— Emoji in code: 🛑 - [minor]
src/screens/fast/CoachingTipsSheet.tsx:66— Emoji in code: 🤖 - [minor]
src/screens/fast/CoachingTipsSheet.tsx:83— Emoji in code: 🌱 - [minor]
src/screens/fast/MoodCheckinModal.tsx:150— Emoji in code: 😞 - [minor]
src/screens/fast/MoodCheckinModal.tsx:158— Emoji in code: 🪫 - [minor]
src/screens/fast/MoodCheckinModal.tsx:166— Emoji in code: 🍽 - [minor]
src/screens/fast/MoodCheckinModal.tsx:175— Emoji in code: 🌫 - [minor]
src/screens/protocol/ProtocolPicker.tsx:87— Emoji in code: 🔥 - [minor]
src/screens/protocol/ProtocolPicker.tsx:88— Emoji in code: 📅 - [minor]
src/screens/protocol/ProtocolPicker.tsx:89— Emoji in code: 🙏 - [minor]
src/screens/protocol/ProtocolPicker.tsx:188— Emoji in code: 🛠 - [minor]
src/screens/protocol/ProtocolPicker.tsx:289— Emoji in code: 📍 - [minor]
src/screens/protocol/ProtocolDetail.tsx:151— Emoji in code: 🕉 - [minor]
src/screens/protocol/ProtocolDetail.tsx:202— Emoji in code: 🔬 - [minor]
src/screens/protocol/ProtocolDetail.tsx:213— Emoji in code: 💡 - [minor]
src/screens/protocol/ProtocolDetail.tsx:238— Emoji in code: 🔥 - [minor]
src/screens/journey/StreakCalendar.tsx:88— Emoji in code: 🔥 - [minor]
src/screens/journey/StreakCalendar.tsx:131— Emoji in code: 🔥 - [minor]
src/screens/journey/StreakCalendar.tsx:152— Emoji in code: 🔥 - [minor]
src/screens/journey/MoodChart.tsx:18— Emoji in code: 😞 - [minor]
src/screens/journey/MoodChart.tsx:19— Emoji in code: 😐 - [minor]
src/screens/journey/MoodChart.tsx:20— Emoji in code: 🙂 - [minor]
src/screens/journey/MoodChart.tsx:21— Emoji in code: 😊 - [minor]
src/screens/journey/MoodChart.tsx:22— Emoji in code: 🤩 - [minor]
src/screens/journey/MoodChart.tsx:26— Emoji in code: 🪫 - [minor]
src/screens/journey/MoodChart.tsx:27— Emoji in code: 😴 - [minor]
src/screens/journey/MoodChart.tsx:29— Emoji in code: 💪 - [minor]
src/screens/journey/MoodChart.tsx:30— Emoji in code: 🔥 - [minor]
src/screens/journey/MoodChart.tsx:58— Emoji in code: 😊 - [minor]
src/screens/journey/MoodChart.tsx:68— Emoji in code: 🙂 - [minor]
src/screens/journey/MoodChart.tsx:83— Emoji in code: 🍽 - [minor]
src/screens/journey/MoodChart.tsx:96— Emoji in code: 🙂 - [minor]
src/screens/journey/InsightsCard.tsx:96— Emoji in code: 💡 - [minor]
src/screens/journey/InsightsCard.tsx:110— Emoji in code: 💡 - [minor]
src/screens/journey/InsightsCard.tsx:166— Emoji in code: 📈 - [minor]
src/screens/journey/InsightsCard.tsx:167— Emoji in code: 📉 - [minor]
src/screens/social/SocialScreen.tsx:241— Emoji in code: 🏆 - [minor]
src/screens/social/SocialScreen.tsx:264— Emoji in code: 🥇 - [minor]
src/screens/social/SocialScreen.tsx:276— Emoji in code: 👥 - [minor]
src/screens/profile/GoalSetting.tsx:34— Emoji in code: 🧬 - [minor]
src/screens/profile/GoalSetting.tsx:35— Emoji in code: 🧠 - [minor]
src/screens/profile/GoalSetting.tsx:37— Emoji in code: 🕊 - [minor]
src/screens/profile/GoalSetting.tsx:38— Emoji in code: 💪 - [minor]
src/screens/profile/ProfileScreen.tsx:104— Emoji in code: 🧬 - [minor]
src/screens/profile/AchievementShelf.tsx:95— Emoji in code: 🔒 - [minor]
src/screens/profile/AchievementShelf.tsx:119— Emoji in code: 🔒 - [minor]
src/screens/meal/MealLogScreen.tsx:35— Emoji in code: 🥩 - [minor]
src/screens/meal/MealLogScreen.tsx:36— Emoji in code: 🍞 - [minor]
src/screens/meal/MealLogScreen.tsx:37— Emoji in code: 🥑 - [minor]
src/screens/meal/MealLogScreen.tsx:38— Emoji in code: 🥗 - [minor]
src/screens/meal/MealLogScreen.tsx:39— Emoji in code: 🍎 - [minor]
src/screens/meal/MealLogScreen.tsx:40— Emoji in code: 🧀 - [minor]
src/screens/meal/MealLogScreen.tsx:41— Emoji in code: 🍲 - [minor]
src/screens/meal/MealLogScreen.tsx:42— Emoji in code: 🥜 - [minor]
src/screens/meal/MealLogScreen.tsx:51— Emoji in code: 🌅 - [minor]
src/screens/meal/MealLogScreen.tsx:57— Emoji in code: 🌙 - [minor]
src/screens/meal/MealLogScreen.tsx:63— Emoji in code: 🍽 - [minor]
src/screens/meal/MealLogScreen.tsx:69— Emoji in code: 🥜 - [minor]
src/screens/meal/MealLogScreen.tsx:275— Emoji in code: 💡 - [minor]
src/screens/onboarding/OnboardingScreen.tsx:34— Emoji in code: 🧬 - [minor]
src/screens/onboarding/OnboardingScreen.tsx:35— Emoji in code: 🧠 - [minor]
src/screens/onboarding/OnboardingScreen.tsx:36— Emoji in code: 🔥 - [minor]
src/screens/onboarding/OnboardingScreen.tsx:37— Emoji in code: 🕊 - [minor]
src/screens/onboarding/OnboardingScreen.tsx:38— Emoji in code: 💚 - [minor]
src/screens/onboarding/OnboardingScreen.tsx:109— Emoji in code: 🧬 - [minor]
src/screens/onboarding/OnboardingScreen.tsx:117— Emoji in code: 🔥 - [minor]
src/screens/onboarding/OnboardingScreen.tsx:118— Emoji in code: 🧠 - [minor]
src/screens/onboarding/OnboardingScreen.tsx:119— Emoji in code: 💧 - [minor]
src/screens/onboarding/OnboardingScreen.tsx:120— Emoji in code: 🏆 - [minor]
src/components/BodyVisualization/BiomarkerCards.tsx:58— Emoji in code: 🔬 - [minor]
src/components/BodyVisualization/BiomarkerCards.tsx:60— Emoji in code: 💪 - [minor]
src/components/BodyVisualization/BodyVisualizationFullScreen.tsx:267— Emoji in code: 📤 - [minor]
src/components/common/WaterTracker.tsx:42— Emoji in code: 💧 - [minor]
src/hooks/useLiveActivity.ts:71— Emoji in code: 🍽 - [minor]
src/hooks/useLiveActivity.ts:73— Emoji in code: 🔥 - [minor]
src/hooks/useLiveActivity.ts:75— Emoji in code: 🧬 - [minor]
src/hooks/useLiveActivity.ts:76— Emoji in code: 🌟 - [minor]
src/hooks/useLiveActivity.ts:86— Emoji in code: 🌟 - [minor]
src/lib/gamification.ts:41— Emoji in code: 🌱 - [minor]
src/lib/gamification.ts:50— Emoji in code: 💪 - [minor]
src/lib/gamification.ts:59— Emoji in code: 🏆 - [minor]
src/lib/gamification.ts:78— Emoji in code: 🔥 - [minor]
src/lib/gamification.ts:96— Emoji in code: 🧬 - [minor]
src/lib/gamification.ts:105— Emoji in code: 🛡 - [minor]
src/lib/gamification.ts:115— Emoji in code: 🔗 - [minor]
src/lib/gamification.ts:124— Emoji in code: 📅 - [minor]
src/lib/gamification.ts:133— Emoji in code: 👑 - [minor]
src/lib/gamification.ts:143— Emoji in code: 💧 - [minor]
src/lib/gamification.ts:153— Emoji in code: 😊 - [minor]
src/lib/gamification.ts:163— Emoji in code: 🦉 - [minor]
src/lib/gamification.ts:172— Emoji in code: 🐦 - [minor]
src/lib/gamification.ts:181— Emoji in code: 🗺 - [minor]
src/lib/gamification.ts:190— Emoji in code: 🦋 - [minor]
src/lib/gamification.ts:199— Emoji in code: 📤 - [minor]
src/lib/fasting-science.ts:110— Emoji in code: 💧 - [minor]
src/lib/fasting-science.ts:121— Emoji in code: 🚨 - [minor]
src/lib/insights.ts:156— Emoji in code: 📈 - [minor]
src/lib/insights.ts:165— Emoji in code: 📉 - [minor]
src/lib/insights.ts:179— Emoji in code: 🎯 - [minor]
src/lib/insights.ts:188— Emoji in code: 💪 - [minor]
src/lib/insights.ts:201— Emoji in code: 🧬 - [minor]
src/lib/insights.ts:213— Emoji in code: 📊 - [minor]
src/lib/insights.ts:289— Emoji in code: 📈 - [minor]
src/lib/insights.ts:298— Emoji in code: 📉 - [minor]
src/lib/insights.ts:310— Emoji in code: 🗺 - [minor]
src/lib/insights.ts:321— Emoji in code: 🏅 - [minor]
src/lib/insights.ts:332— Emoji in code: 📊 - [minor]
src/lib/insights.ts:504— Emoji in code: 🏆 - [minor]
src/lib/insights.ts:514— Emoji in code: 🔥 - [minor]
src/lib/insights.ts:524— Emoji in code: 🧬 - [minor]
src/lib/celebrations.ts:46— Emoji in code: 🚀 - [minor]
src/lib/celebrations.ts:49— Emoji in code: 🧬 - [minor]
src/lib/celebrations.ts:50— Emoji in code: 💧 - [minor]
src/lib/celebrations.ts:51— Emoji in code: 🧠 - [minor]
src/lib/celebrations.ts:52— Emoji in code: 🎯 - [minor]
src/lib/celebrations.ts:54— Emoji in code: 💪 - [minor]
src/lib/celebrations.ts:55— Emoji in code: 🔥 - [minor]
src/lib/celebrations.ts:59— Emoji in code: 🌟 - [minor]
src/lib/gentle-notifications.ts:42— Emoji in code: 💧 - [minor]
src/lib/hydration-reminders.ts:75— Emoji in code: 💧 - [minor]
src/lib/hydration-reminders.ts:76— Emoji in code: 💧 - [minor]
src/lib/hydration-reminders.ts:77— Emoji in code: 💧 - [minor]
src/lib/hydration-reminders.ts:78— Emoji in code: 💧 - [minor]
src/lib/hydration-reminders.ts:79— Emoji in code: 💧 - [minor]
src/lib/hydration-reminders.ts:80— Emoji in code: 💧 - [minor]
src/lib/hydration-reminders.ts:175— Emoji in code: 🎉 - [minor]
src/lib/ai-coach.ts:88— Emoji in code: 🚀 - [minor]
src/lib/ai-coach.ts:181— Emoji in code: 📅 - [minor]
src/lib/ai-coach.ts:196— Emoji in code: 🔥 - [minor]
src/lib/ai-coach.ts:206— Emoji in code: 🔥 - [minor]
src/lib/ai-coach.ts:216— Emoji in code: 👑 - [minor]
src/lib/ai-coach.ts:235— Emoji in code: 💧 - [minor]
src/lib/ai-coach.ts:245— Emoji in code: 🏆 - [minor]
src/lib/ai-coach.ts:286— Emoji in code: 🌱 - [minor]
src/lib/ai-coach.ts:297— Emoji in code: 😴 - [minor]
src/lib/ai-coach.ts:305— Emoji in code: 🧂 - [minor]
src/lib/ai-coach.ts:313— Emoji in code: 🏃 - [minor]
src/lib/streaks.ts:27— Emoji in code: 🔥 - [minor]
src/lib/streaks.ts:28— Emoji in code: 💪 - [minor]
src/lib/streaks.ts:29— Emoji in code: 👑 - [minor]
src/lib/streaks.ts:31— Emoji in code: 🏆 - [minor]
src/lib/streaks.ts:32— Emoji in code: 🌟 - [minor]
src/lib/streaks.ts:33— Emoji in code: 💎
learning_ai_jarvis_jr
Counts: critical=0 · major=0 · minor=15 · total=15
- [minor]
web/src/app/(app)/settings/page.tsx:72— Emoji in code: 🌙 - [minor]
web/src/app/(app)/dashboard/page.tsx:20— Emoji in code: 🎯 - [minor]
web/src/app/(app)/dashboard/page.tsx:27— Emoji in code: 🌍 - [minor]
web/src/app/(app)/history/page.tsx:34— Emoji in code: 📋 - [minor]
web/src/components/Sidebar.tsx:8— Emoji in code: 👥 - [minor]
web/src/components/Sidebar.tsx:9— Emoji in code: 📋 - [minor]
web/src/components/Sidebar.tsx:10— Emoji in code: 📊 - [minor]
web/src/components/Sidebar.tsx:11— Emoji in code: 🏪 - [minor]
web/src/lib/share.ts:40— Emoji in code: 🏆 - [minor]
web/src/lib/share.ts:41— Emoji in code: 🔥 - [minor]
web/src/lib/share.ts:42— Emoji in code: 📊 - [minor]
web/src/lib/share.ts:44— Emoji in code: 📈 - [minor]
web/src/lib/share.ts:61— Emoji in code: 💡 - [minor]
android/app/src/main/java/com/jarvisjr/app/ui/screens/HistoryScreen.kt:33— Emoji in code: 📋 - [minor]
android/app/src/main/java/com/jarvisjr/app/ui/screens/ProgressScreen.kt:33— Emoji in code: 📊
learning_ai_peakpulse
Counts: critical=0 · major=0 · minor=1 · total=1
- [minor]
backend/src/modules/peak-sessions/repository.ts:31— any type: const decrypted = await getEncryptor().decrypt(doc.notes as any, {
learning_ai_notes
Counts: critical=0 · major=0 · minor=11 · total=11
- [minor]
web/src/app/(app)/workspaces/page.tsx:198— any type: owner:any - [minor]
web/src/app/(app)/workspaces/page.tsx:199— any type: visibility:any - [minor]
backend/src/lib/request-context.ts:15— any type: return _ctx.getRequestProductId(req as any); - [minor]
backend/src/lib/request-context.ts:20— any type: return _ctx.getUserId(req as any); - [minor]
mobile/src/app/(tabs)/capture.tsx:16— Emoji in code: 📷 - [minor]
mobile/src/app/(tabs)/capture.tsx:17— Emoji in code: 🎙 - [minor]
mobile/src/app/(tabs)/capture.tsx:18— Emoji in code: 🔗 - [minor]
mobile/src/app/(tabs)/capture.tsx:19— Emoji in code: 📄 - [minor]
mobile/src/app/(tabs)/capture.tsx:20— Emoji in code: 📋 - [minor]
mobile/src/app/(tabs)/capture/scan.tsx:21— Emoji in code: 📄 - [minor]
mobile/src/app/(tabs)/capture/voice.tsx:22— Emoji in code: 🎙
learning_ai_flowmonk
Counts: critical=0 · major=107 · minor=4 · total=111
- [minor]
web/src/app/(app)/tasks/page.tsx:153— any type: { value: '', label: 'Energy: any' }, - [minor]
backend/src/lib/scheduler/engine.ts:468— any type: // Priority 3: any remaining slot (no zone match) - [minor]
backend/src/modules/tasks/repository.ts:28— any type: const decrypted = await getEncryptor().decrypt(task.description as any, { - [major]
mobile/src/app/index.tsx:57— Hardcoded hex color: #07111f - [major]
mobile/src/app/index.tsx:59— Hardcoded hex color: #5ae68c - [major]
mobile/src/app/index.tsx:60— Hardcoded hex color: #eff4ff - [major]
mobile/src/app/index.tsx:61— Hardcoded hex color: #a8b4c8 - [major]
mobile/src/app/index.tsx:64— Hardcoded hex color: #0f1b2d - [major]
mobile/src/app/index.tsx:68— Hardcoded hex color: #eff4ff - [major]
mobile/src/app/index.tsx:70— Hardcoded hex color: #07111f - [major]
mobile/src/app/index.tsx:73— Hardcoded hex color: #a8b4c8 - [major]
mobile/src/app/urgent.tsx:39— Hardcoded hex color: #ef4444 - [major]
mobile/src/app/urgent.tsx:69— Hardcoded hex color: #07111f - [major]
mobile/src/app/urgent.tsx:70— Hardcoded hex color: #eff4ff - [major]
mobile/src/app/urgent.tsx:71— Hardcoded hex color: #a8b4c8 - [major]
mobile/src/app/urgent.tsx:74— Hardcoded hex color: #22170a - [major]
mobile/src/app/urgent.tsx:79— Hardcoded hex color: #eff4ff - [major]
mobile/src/app/urgent.tsx:80— Hardcoded hex color: #d9c7a4 - [major]
mobile/src/app/urgent.tsx:81— Hardcoded hex color: #a8b4c8 - [major]
mobile/src/app/urgent.tsx:83— Hardcoded hex color: #5b4112 - [major]
mobile/src/app/urgent.tsx:84— Hardcoded hex color: #5ae68c - [major]
mobile/src/app/urgent.tsx:85— Hardcoded hex color: #f59e0b - [major]
mobile/src/app/urgent.tsx:86— Hardcoded hex color: #5a8cff - [major]
mobile/src/app/urgent.tsx:88— Hardcoded hex color: #a8b4c8 - [major]
mobile/src/app/login.tsx:31— Hardcoded hex color: #5a6a82 - [major]
mobile/src/app/login.tsx:40— Hardcoded hex color: #5a6a82 - [major]
mobile/src/app/login.tsx:54— Hardcoded hex color: #07111f - [major]
mobile/src/app/login.tsx:55— Hardcoded hex color: #0f1b2d - [major]
mobile/src/app/login.tsx:56— Hardcoded hex color: #5ae68c - [major]
mobile/src/app/login.tsx:57— Hardcoded hex color: #a8b4c8 - [major]
mobile/src/app/login.tsx:58— Hardcoded hex color: #07111f - [major]
mobile/src/app/login.tsx:59— Hardcoded hex color: #5ae68c - [major]
mobile/src/app/login.tsx:60— Hardcoded hex color: #07111f - [major]
mobile/src/app/tasks.tsx:7— Hardcoded hex color: #ef4444 - [major]
mobile/src/app/tasks.tsx:8— Hardcoded hex color: #f59e0b - [major]
mobile/src/app/tasks.tsx:9— Hardcoded hex color: #5a8cff - [major]
mobile/src/app/tasks.tsx:10— Hardcoded hex color: #a8b4c8 - [major]
mobile/src/app/tasks.tsx:69— Hardcoded hex color: #5ae68c - [major]
mobile/src/app/tasks.tsx:74— Hardcoded hex color: #5a8cff - [major]
mobile/src/app/tasks.tsx:79— Hardcoded hex color: #f59e0b - [major]
mobile/src/app/tasks.tsx:83— Hardcoded hex color: #a8b4c8 - [major]
mobile/src/app/tasks.tsx:98— Hardcoded hex color: #07111f - [major]
mobile/src/app/tasks.tsx:99— Hardcoded hex color: #eff4ff - [major]
mobile/src/app/tasks.tsx:100— Hardcoded hex color: #a8b4c8 - [major]
mobile/src/app/tasks.tsx:102— Hardcoded hex color: #a8b4c8 - [major]
mobile/src/app/tasks.tsx:104— Hardcoded hex color: #0f1b2d - [major]
mobile/src/app/tasks.tsx:107— Hardcoded hex color: #ef4444 - [major]
mobile/src/app/tasks.tsx:110— Hardcoded hex color: #eff4ff - [major]
mobile/src/app/tasks.tsx:111— Hardcoded hex color: #fff - [major]
mobile/src/app/tasks.tsx:112— Hardcoded hex color: #a8b4c8 - [major]
mobile/src/app/tasks.tsx:114— Hardcoded hex color: #24344d - [major]
mobile/src/app/schedule.tsx:7— Hardcoded hex color: #5a8cff - [major]
mobile/src/app/schedule.tsx:8— Hardcoded hex color: #5ae68c - [major]
mobile/src/app/schedule.tsx:9— Hardcoded hex color: #e879f9 - [major]
mobile/src/app/schedule.tsx:10— Hardcoded hex color: #f59e0b - [major]
mobile/src/app/schedule.tsx:71— Hardcoded hex color: #24344d - [major]
mobile/src/app/schedule.tsx:81— Hardcoded hex color: #5ae68c - [major]
mobile/src/app/schedule.tsx:84— Hardcoded hex color: #f59e0b - [major]
mobile/src/app/schedule.tsx:87— Hardcoded hex color: #5a8cff - [major]
mobile/src/app/schedule.tsx:105— Hardcoded hex color: #07111f - [major]
mobile/src/app/schedule.tsx:107— Hardcoded hex color: #eff4ff - [major]
mobile/src/app/schedule.tsx:108— Hardcoded hex color: #a8b4c8 - [major]
mobile/src/app/schedule.tsx:109— Hardcoded hex color: #5ae68c - [major]
mobile/src/app/schedule.tsx:110— Hardcoded hex color: #07111f - [major]
mobile/src/app/schedule.tsx:113— Hardcoded hex color: #0f1b2d - [major]
mobile/src/app/schedule.tsx:117— Hardcoded hex color: #5a8cff - [major]
mobile/src/app/schedule.tsx:118— Hardcoded hex color: #a8b4c8 - [major]
mobile/src/app/schedule.tsx:120— Hardcoded hex color: #eff4ff - [major]
mobile/src/app/schedule.tsx:121— Hardcoded hex color: #a8b4c8 - [major]
mobile/src/app/schedule.tsx:123— Hardcoded hex color: #24344d - [major]
mobile/src/app/schedule.tsx:125— Hardcoded hex color: #a8b4c8 - [major]
mobile/src/app/_layout.tsx:11— Hardcoded hex color: #07111f - [major]
mobile/src/app/flows.tsx:55— Hardcoded hex color: #07111f - [major]
mobile/src/app/flows.tsx:56— Hardcoded hex color: #eff4ff - [major]
mobile/src/app/flows.tsx:57— Hardcoded hex color: #a8b4c8 - [major]
mobile/src/app/flows.tsx:60— Hardcoded hex color: #0f1b2d - [major]
mobile/src/app/flows.tsx:65— Hardcoded hex color: #eff4ff - [major]
mobile/src/app/flows.tsx:66— Hardcoded hex color: #a8b4c8 - [major]
mobile/src/app/flows.tsx:67— Hardcoded hex color: #a8b4c8 - [major]
mobile/src/app/flows.tsx:69— Hardcoded hex color: #5a6a82 - [major]
mobile/src/app/flows.tsx:71— Hardcoded hex color: #a8b4c8 - [major]
mobile/src/app/capture.tsx:44— Hardcoded hex color: #5a6a82 - [major]
mobile/src/app/capture.tsx:71— Hardcoded hex color: #5a6a82 - [major]
mobile/src/app/capture.tsx:83— Hardcoded hex color: #07111f - [major]
mobile/src/app/capture.tsx:84— Hardcoded hex color: #eff4ff - [major]
mobile/src/app/capture.tsx:86— Hardcoded hex color: #a8b4c8 - [major]
mobile/src/app/capture.tsx:88— Hardcoded hex color: #0f1b2d - [major]
mobile/src/app/capture.tsx:89— Hardcoded hex color: #eff4ff - [major]
mobile/src/app/capture.tsx:94— Hardcoded hex color: #24344d - [major]
mobile/src/app/capture.tsx:96— Hardcoded hex color: #5a8cff - [major]
mobile/src/app/capture.tsx:97— Hardcoded hex color: #a8b4c8 - [major]
mobile/src/app/capture.tsx:98— Hardcoded hex color: #fff - [major]
mobile/src/app/capture.tsx:100— Hardcoded hex color: #5ae68c - [major]
mobile/src/app/capture.tsx:102— Hardcoded hex color: #07111f - [major]
mobile/src/app/recommendations.tsx:7— Hardcoded hex color: #ef4444 - [major]
mobile/src/app/recommendations.tsx:8— Hardcoded hex color: #f59e0b - [major]
mobile/src/app/recommendations.tsx:9— Hardcoded hex color: #5a8cff - [major]
mobile/src/app/recommendations.tsx:50— Hardcoded hex color: #24344d - [major]
mobile/src/app/recommendations.tsx:78— Hardcoded hex color: #07111f - [major]
mobile/src/app/recommendations.tsx:79— Hardcoded hex color: #eff4ff - [major]
mobile/src/app/recommendations.tsx:80— Hardcoded hex color: #a8b4c8 - [major]
mobile/src/app/recommendations.tsx:83— Hardcoded hex color: #0f1b2d - [major]
mobile/src/app/recommendations.tsx:88— Hardcoded hex color: #eff4ff - [major]
mobile/src/app/recommendations.tsx:89— Hardcoded hex color: #5a6a82 - [major]
mobile/src/app/recommendations.tsx:90— Hardcoded hex color: #a8b4c8 - [major]
mobile/src/app/recommendations.tsx:92— Hardcoded hex color: #5ae68c - [major]
mobile/src/app/recommendations.tsx:93— Hardcoded hex color: #07111f - [major]
mobile/src/app/recommendations.tsx:94— Hardcoded hex color: #24344d - [major]
mobile/src/app/recommendations.tsx:95— Hardcoded hex color: #a8b4c8 - [major]
mobile/src/app/recommendations.tsx:97— Hardcoded hex color: #a8b4c8 - [minor]
web/src/app/(app)/settings/page.tsx:74— Emoji in code: 🌙
learning_ai_trails
Counts: critical=0 · major=0 · minor=1 · total=1
- [minor]
web/src/app/(app)/settings/page.tsx:42— Emoji in code: 🌙
learning_ai_local_memory_gpt
✅ No violations found.
learning_ai_efforise
Counts: critical=0 · major=0 · minor=10 · total=10
- [minor]
backend/src/lib/request-context.ts:14— any type: return _ctx.getRequestProductId(req as any); - [minor]
backend/src/lib/request-context.ts:19— any type: return _ctx.getUserId(req as any); - [minor]
client/src/components/ui/dialog.tsx:107— any type: const isCurrentlyComposing = (e as any).isComposing || isComposing(); - [minor]
client/src/components/ui/textarea.tsx:24— any type: const isComposing = (e.nativeEvent as any).isComposing || dialogCompositio - [minor]
client/src/components/ui/input.tsx:25— any type: const isComposing = (e.nativeEvent as any).isComposing || dialogCompositio - [minor]
client/src/hooks/usePersistFn.ts:3— any type: type noop = (...args: any[]) => any; - [minor]
client/src/pages/app/Dashboard.tsx:140— Emoji in code: 🎯 - [minor]
client/src/pages/app/Identity.tsx:7— Emoji in code: 🎯 - [minor]
client/src/pages/app/Identity.tsx:244— Emoji in code: 🎯 - [minor]
client/src/pages/app/Identity.tsx:273— Emoji in code: 🎯
learning_ai_local_llms
Counts: critical=0 · major=0 · minor=1 · total=1
- [minor]
dashboard/src/app/lib/format.ts:61— Emoji in code: 👁
learning_ai_talk2obsidian
✅ No violations found.
learning_ai_smart_auth
✅ No violations found.
learning_ai_auth_app
✅ No violations found.
learning_ai_productivity_web
Counts: critical=0 · major=0 · minor=6 · total=6
- [minor]
src/app/tools/markdown-preview/page.tsx:36— Emoji in code: 🕐 - [minor]
src/lib/tools-registry.ts:27— Emoji in code: 📝 - [minor]
src/lib/tools-registry.ts:28— Emoji in code: 🔐 - [minor]
src/lib/tools-registry.ts:29— Emoji in code: 🔄 - [minor]
src/lib/tools-registry.ts:30— Emoji in code: 🎨 - [minor]
src/lib/tools-registry.ts:31— Emoji in code: 📊
oss/learning_ai_claw-cowork
Counts: critical=0 · major=14 · minor=5 · total=19
- [major]
plugins/bytelyst-scaffolder/main.js:182— console.log: console.log(JSON.stringify({ error: "no input provided" })); - [major]
plugins/bytelyst-scaffolder/main.js:190— console.log: console.log( - [major]
plugins/bytelyst-scaffolder/main.js:205— console.log: console.log(JSON.stringify(result)); - [major]
plugins/bytelyst-scaffolder/main.js:207— console.log: console.log(JSON.stringify({ error: e.message })); - [major]
plugins/data-analyzer/main.js:152— console.log: console.log(JSON.stringify({ error: "no input provided" })); - [major]
plugins/data-analyzer/main.js:160— console.log: console.log(JSON.stringify({ error:invalid JSON input: ${e.message}})); - [major]
plugins/data-analyzer/main.js:171— console.log: console.log(JSON.stringify({ error: "missing required parameters: file_p - [major]
plugins/data-analyzer/main.js:177— console.log: console.log(JSON.stringify({ error: "missing required parameter: file_pa - [major]
plugins/data-analyzer/main.js:182— console.log: console.log(JSON.stringify(result)); - [major]
plugins/data-analyzer/main.js:184— console.log: console.log(JSON.stringify({ error: e.message })); - [major]
plugins/product-backend-module/main.js:320— console.log: console.log(JSON.stringify({ error: "no input provided" })); - [major]
plugins/product-backend-module/main.js:328— console.log: console.log(JSON.stringify({ error:invalid JSON input: ${e.message}})); - [major]
plugins/product-backend-module/main.js:340— console.log: console.log(JSON.stringify(result)); - [major]
plugins/product-backend-module/main.js:342— console.log: console.log(JSON.stringify({ error: e.message })); - [minor]
crates/cowork-desktop/src/components/ChatView.tsx:543— any type: path: (f as any).path || f.name, - [minor]
crates/cowork-desktop/src/components/ChatView.tsx:616— any type: path: (f as any).path || f.name, - [minor]
crates/cowork-desktop/src/App.tsx:84— Emoji in code: 🚧 - [minor]
crates/cowork-desktop/src/cli.rs:39— Emoji in code: 💭 - [minor]
crates/cowork-desktop/src/components/ChatView.tsx:141— Emoji in code: 🔧
learning_ai_mac_tooling
Counts: critical=0 · major=346 · minor=219 · total=565
- [major]
tools/network_transfer_audit.py:649— Python print(): print(f" {YELLOW}⚠ LLM classification skipped: LLM_OPENAI_ENDPOINT or L - [major]
tools/network_transfer_audit.py:708— Python print(): print(f" {DIM}Classifying {len(to_classify)} unknown processes via LLM. - [major]
tools/network_transfer_audit.py:729— Python print(): print(f" {GREEN}✓ classified {len(classifications)} processes{RESET}") - [major]
tools/network_transfer_audit.py:732— Python print(): print(f" {RED}✗ LLM API error: {e}{RESET}") - [major]
tools/network_transfer_audit.py:734— Python print(): print(f" {RED}✗ Failed to parse LLM response: {e}{RESET}") - [major]
tools/network_transfer_audit.py:1081— Python print(): print(f"\n{BOLD}{CYAN}{'═' * 70}{RESET}") - [major]
tools/network_transfer_audit.py:1082— Python print(): print(f"{BOLD}{CYAN} Network Transfer Monitor{RESET}") - [major]
tools/network_transfer_audit.py:1083— Python print(): print(f"{BOLD}{CYAN}{'═' * 70}{RESET}") - [major]
tools/network_transfer_audit.py:1085— Python print(): print(f" {BOLD}Monitoring duration:{RESET} {mins:.0f} minutes") - [major]
tools/network_transfer_audit.py:1086— Python print(): print(f" {DIM}Taking initial nettop snapshot...{RESET}") - [major]
tools/network_transfer_audit.py:1090— Python print(): print(f" {GREEN}Start:{RESET} {from_dt.strftime('%Y-%m-%d %H:%M:%S')}") - [major]
tools/network_transfer_audit.py:1091— Python print(): print(f" {DIM}Monitoring network activity — waiting {mins:.0f} minutes...{R - [major]
tools/network_transfer_audit.py:1107— Python print(): print(f"\r {CYAN}[{bar}]{RESET} {pct:>3}% {r_min}m {r_sec:02d}s remain - [major]
tools/network_transfer_audit.py:1109— Python print(): print(f"\r {GREEN}[{'█' * 40}]{RESET} 100% Done! ") - [major]
tools/network_transfer_audit.py:1111— Python print(): print(f" {GREEN}End:{RESET} {to_dt.strftime('%Y-%m-%d %H:%M:%S')}") - [major]
tools/network_transfer_audit.py:1113— Python print(): print(f" {DIM}Taking final nettop snapshot...{RESET}") - [major]
tools/network_transfer_audit.py:1135— Python print(): print(f"\n {BOLD}Transfer during monitoring period:{RESET}") - [major]
tools/network_transfer_audit.py:1136— Python print(): print(f" {GREEN}↓ Inbound: {fmt_bytes(total_in)}{RESET}") - [major]
tools/network_transfer_audit.py:1137— Python print(): print(f" {YELLOW}↑ Outbound: {fmt_bytes(total_out)}{RESET}") - [major]
tools/network_transfer_audit.py:1138— Python print(): print(f" {DIM}Processes with activity: {len(deltas)}{RESET}\n") - [major]
tools/network_transfer_audit.py:2236— Python print(): print(f"\n{BOLD}{CYAN}{'═' * 70}{RESET}") - [major]
tools/network_transfer_audit.py:2237— Python print(): print(f"{BOLD}{CYAN} {title}{RESET}") - [major]
tools/network_transfer_audit.py:2238— Python print(): print(f"{BOLD}{CYAN}{'═' * 70}{RESET}") - [major]
tools/network_transfer_audit.py:2242— Python print(): print(f"\n{BOLD}{YELLOW}── {title} {'─' * (65 - len(title))}{RESET}") - [major]
tools/network_transfer_audit.py:2246— Python print(): print(f" {DIM}{msg}{RESET}") - [major]
tools/network_transfer_audit.py:2263— Python print(): print(f" {BOLD}Time window:{RESET} {window_str}") - [major]
tools/network_transfer_audit.py:2266— Python print(): print(f" {BOLD}Duration:{RESET} {hours:.1f} hours") - [major]
tools/network_transfer_audit.py:2271— Python print(): print(f" {DIM}Querying: subsystem == com.apple.networkd ...{RESET}") - [major]
tools/network_transfer_audit.py:2294— Python print(): print(f" {GREEN}Found {len(events)} events across {len(proc_counts) - [major]
tools/network_transfer_audit.py:2295— Python print(): print(f" {'Process':<22} {'PID':>7} {'Events':>7} {'Category':<16} - [major]
tools/network_transfer_audit.py:2296— Python print(): print(f" {'─' * 22} {'─' * 7} {'─' * 7} {'─' * 16} {'─' * 11} {'─' - [major]
tools/network_transfer_audit.py:2304— Python print(): print(f" {proc_name:<22} {sample_pid:>7} {count:>7} {category: - [major]
tools/network_transfer_audit.py:2311— Python print(): print(f" {DIM}Querying: subsystem == com.apple.dnssd ...{RESET}") - [major]
tools/network_transfer_audit.py:2318— Python print(): print(f" {GREEN}Found {sum(c for _, c in dns)} DNS events, {len(dns - [major]
tools/network_transfer_audit.py:2319— Python print(): print(f" {'Domain':<50} {'Hits':>6}") - [major]
tools/network_transfer_audit.py:2320— Python print(): print(f" {'─' * 50} {'─' * 6}") - [major]
tools/network_transfer_audit.py:2322— Python print(): print(f" {domain:<50} {count:>6}") - [major]
tools/network_transfer_audit.py:2329— Python print(): print(f" {DIM}Querying: subsystem == com.apple.alf ...{RESET}") - [major]
tools/network_transfer_audit.py:2336— Python print(): print(f" {GREEN}Found {len(fw_events)} firewall decisions{RESET}\n" - [major]
tools/network_transfer_audit.py:2339— Python print(): print(f" {color}{ev}{RESET}") - [major]
tools/network_transfer_audit.py:2341— Python print(): print(f" {DIM}... and {len(fw_events) - 15} more{RESET}") - [major]
tools/network_transfer_audit.py:2355— Python print(): print(f" {GREEN}Found {len(valid_downloads)} downloads{RESET}\n") - [major]
tools/network_transfer_audit.py:2357— Python print(): print(f" {BOLD}{dl['time']}{RESET} via {CYAN}{dl['agent']}{RES - [major]
tools/network_transfer_audit.py:2360— Python print(): print(f" ↓ {url_display}") - [major]
tools/network_transfer_audit.py:2363— Python print(): print(f" ← {DIM}{origin_display}{RESET}") - [major]
tools/network_transfer_audit.py:2364— Python print(): print() - [major]
tools/network_transfer_audit.py:2385— Python print(): print(f" {GREEN}Found {len(live)} active connections{RESET}\n") - [major]
tools/network_transfer_audit.py:2386— Python print(): print(f" {'Process':<16} {'PID':<7} {'Category':<15} {'Installe - [major]
tools/network_transfer_audit.py:2387— Python print(): print(f" {'─' * 16} {'─' * 7} {'─' * 15} {'─' * 10} {'─' * 16} - [major]
tools/network_transfer_audit.py:2391— Python print(): print(f" {c['process']:<16} {c['pid']:<7} {category:<15} {i - [major]
tools/network_transfer_audit.py:2408— Python print(): print(f" {GREEN}Processes with active network I/O:{RESET}\n") - [major]
tools/network_transfer_audit.py:2409— Python print(): print(f" {'Process':<25} {'Category':<14} {'Installer':<10} {'↓ - [major]
tools/network_transfer_audit.py:2410— Python print(): print(f" {'─' * 25} {'─' * 14} {'─' * 10} {'─' * 10} {'─' * 10} - [major]
tools/network_transfer_audit.py:2418— Python print(): print(f" {p['process']:<25} {category:<14} {installer:<10} - [major]
tools/network_transfer_audit.py:2524— Python print(): print(f" {GREEN}Connections: {ext} external, {intr} internal/loopba - [major]
tools/network_transfer_audit.py:2529— Python print(): print(f" {BOLD}Top External Destinations:{RESET}") - [major]
tools/network_transfer_audit.py:2530— Python print(): print(f" {'IP Address':<22} {'Connections':>12}") - [major]
tools/network_transfer_audit.py:2531— Python print(): print(f" {'─' * 22} {'─' * 12}") - [major]
tools/network_transfer_audit.py:2533— Python print(): print(f" {d['ip']:<22} {d['count']:>12}") - [major]
tools/network_transfer_audit.py:2537— Python print(): print(f"\n {BOLD}Top Remote Ports:{RESET}") - [major]
tools/network_transfer_audit.py:2538— Python print(): print(f" {'Port':<8} {'Service':<16} {'Connections':>12} {'Stat - [major]
tools/network_transfer_audit.py:2539— Python print(): print(f" {'─' * 8} {'─' * 16} {'─' * 12} {'─' * 10}") - [major]
tools/network_transfer_audit.py:2542— Python print(): print(f" {p['port']:<8} {p['service']:<16} {p['count']:>12} - [major]
tools/network_transfer_audit.py:2553— Python print(): print(f" {GREEN}Found {len(listeners)} listening ports{RESET}\n - [major]
tools/network_transfer_audit.py:2554— Python print(): print(f" {'Process':<20} {'PID':<7} {'User':<10} {'Address'}") - [major]
tools/network_transfer_audit.py:2555— Python print(): print(f" {'─' * 20} {'─' * 7} {'─' * 10} {'─' * 30}") - [major]
tools/network_transfer_audit.py:2557— Python print(): print(f" {l['process']:<20} {l['pid']:<7} {l['user']:<10} { - [major]
tools/network_transfer_audit.py:2559— Python print(): print(f" {DIM}... and {len(listeners) - 20} more{RESET}") - [major]
tools/network_transfer_audit.py:2586— Python print(): print(f" {DIM}Querying: com.apple.TCC, com.apple.locationd, com.apple.b - [major]
tools/network_transfer_audit.py:2598— Python print(): print(f" {GREEN}Found {len(sensor_events)} sensor access events acr - [major]
tools/network_transfer_audit.py:2599— Python print(): print(f" {'Process':<28} {'Sensor':<18} {'Count':>6} {'First Seen' - [major]
tools/network_transfer_audit.py:2600— Python print(): print(f" {'─' * 28} {'─' * 18} {'─' * 6} {'─' * 20} {'─' * 20} {'─ - [major]
tools/network_transfer_audit.py:2615— Python print(): print(f" {color}{s['process']:<28} {s['sensor']:<18} {s['count' - [major]
tools/network_transfer_audit.py:2640— Python print(): print(f" {GREEN}Wi-Fi:{RESET} {BOLD}{ssid}{RESET}{rssi_label} ch:{ - [major]
tools/network_transfer_audit.py:2642— Python print(): print(f" {DIM}Wi-Fi: not connected{RESET}") - [major]
tools/network_transfer_audit.py:2649— Python print(): print(f" {GREEN}VPN:{RESET} {len(vpn['tunnels'])} active tunnel(s) - [major]
tools/network_transfer_audit.py:2653— Python print(): print(f" {t['interface']}{ip_str} mtu={t['mtu']}") - [major]
tools/network_transfer_audit.py:2655— Python print(): print(f" {DIM}VPN: no active tunnels{RESET}") - [major]
tools/network_transfer_audit.py:2660— Python print(): print(f"\n {BOLD}Top Interfaces (cumulative):{RESET}") - [major]
tools/network_transfer_audit.py:2661— Python print(): print(f" {'Interface':<12} {'↓ In':>14} {'↑ Out':>14}") - [major]
tools/network_transfer_audit.py:2662— Python print(): print(f" {'─' * 12} {'─' * 14} {'─' * 14}") - [major]
tools/network_transfer_audit.py:2664— Python print(): print(f" {iface:<12} {fmt_bytes(v['bytes_in']):>14} {fmt_bytes( - [major]
tools/network_transfer_audit.py:2670— Python print(): print(f"\n {BOLD}Proxy:{RESET} PAC → {pac}") - [major]
tools/network_transfer_audit.py:2672— Python print(): print(f" {BOLD}DNS:{RESET} {', '.join(net_config['dns_servers'][:4] - [major]
tools/network_transfer_audit.py:2691— Python print(): print(f" {GREEN}{len(arp)} devices on local network{RESET}") - [major]
tools/network_transfer_audit.py:2694— Python print(): print(f" {a['ip']:<18} {a['mac']:<20} {a['interface']}") - [major]
tools/network_transfer_audit.py:2696— Python print(): print(f" {DIM}... and {len(arp) - 10} more{RESET}") - [major]
tools/network_transfer_audit.py:2702— Python print(): print(f"\n {BOLD}Bluetooth:{RESET} {bt.get('controller_state','?')} - [major]
tools/network_transfer_audit.py:2706— Python print(): print(f" {d['name']:<30} {d.get('type',''):<12} {status}") - [major]
tools/network_transfer_audit.py:2711— Python print(): print(f"\n {BOLD}USB Devices:{RESET} {len(named_usb)} with vendor i - [major]
tools/network_transfer_audit.py:2713— Python print(): print(f" {u['name']:<30} {u.get('vendor','')}") - [major]
tools/network_transfer_audit.py:2717— Python print(): print(f"\n {YELLOW}{BOLD}⚠ External disks mounted:{RESET}") - [major]
tools/network_transfer_audit.py:2719— Python print(): print(f" {d['mount_point']} ({d['filesystem']})") - [major]
tools/network_transfer_audit.py:2737— Python print(): print(f" {name:<14} {color}{val}{RESET}") - [major]
tools/network_transfer_audit.py:2739— Python print(): print(f" {'Stealth Mode':<14} {GREEN}on{RESET}") - [major]
tools/network_transfer_audit.py:2741— Python print(): print(f"\n {RED}{BOLD}⚠ Firewall is DISABLED — all inbound connecti - [major]
tools/network_transfer_audit.py:2758— Python print(): print(f" {BOLD}Privilege escalations:{RESET} {len(auth_evts)}") - [major]
tools/network_transfer_audit.py:2760— Python print(): print(f" {e['timestamp'][11:19]} {e['process']:<20} {e['righ - [major]
tools/network_transfer_audit.py:2765— Python print(): print(f" {BOLD}Gatekeeper/XProtect:{RESET} {len(gk_events)} events - [major]
tools/network_transfer_audit.py:2768— Python print(): print(f" {BOLD}Network Extension:{RESET} {len(ne_events)} VPN event - [major]
tools/network_transfer_audit.py:2770— Python print(): print(f" {e['timestamp'][11:19]} {e['event_type']:<20} {e['d - [major]
tools/network_transfer_audit.py:2783— Python print(): print(f" {RED if high_sev else GREEN}Found {len(anomalies)} anomali - [major]
tools/network_transfer_audit.py:2786— Python print(): print(f" {icon} {BOLD}{a['process']}{RESET}: {a['detail']}") - [major]
tools/network_transfer_audit.py:2788— Python print(): print(f" {GREEN}✓ No anomalies detected.{RESET}") - [major]
tools/network_transfer_audit.py:2805— Python print(): print(f"\n {'Category':<18} {'Installer':<12} {'Procs':>6} {'Events - [major]
tools/network_transfer_audit.py:2806— Python print(): print(f" {'─' * 18} {'─' * 12} {'─' * 6} {'─' * 7} {'─' * 14}") - [major]
tools/network_transfer_audit.py:2810— Python print(): print(f" {cat:<18} {installers_str:<12} {len(stats['processes'] - [major]
tools/network_transfer_audit.py:2816— Python print(): print(f"\n {RED}{BOLD}⚠ HIGH RISK PROCESSES DETECTED:{RESET}") - [major]
tools/network_transfer_audit.py:2819— Python print(): print(f" → {BOLD}{p['process']}{RESET} [{p['category']}] In - [major]
tools/network_transfer_audit.py:2821— Python print(): print(f"\n {GREEN}✓ No high-risk processes detected in this window - [major]
tools/network_transfer_audit.py:2826— Python print(): print(f" Network connection events: {len(events)}") - [major]
tools/network_transfer_audit.py:2827— Python print(): print(f" Unique DNS domains: {len(dns)}") - [major]
tools/network_transfer_audit.py:2828— Python print(): print(f" Firewall decisions: {len(fw_events)}") - [major]
tools/network_transfer_audit.py:2830— Python print(): print(f" Files downloaded: {len(valid_dl)}") - [major]
tools/network_transfer_audit.py:2832— Python print(): print(f" Live connections: {len(live)}") - [major]
tools/network_transfer_audit.py:2833— Python print(): print(f" Processes with network I/O: {len(nettop)}") - [major]
tools/network_transfer_audit.py:2834— Python print(): print(f" Unique remote destinations: {dest_analysis.get('unique_de - [major]
tools/network_transfer_audit.py:2835— Python print(): print(f" Listening ports: {len(listeners)}") - [major]
tools/network_transfer_audit.py:2836— Python print(): print(f" Anomalies detected: {len(anomalies)}") - [major]
tools/network_transfer_audit.py:2837— Python print(): print(f" {BOLD}Total data inbound: {GREEN}{fmt_bytes(total - [major]
tools/network_transfer_audit.py:2838— Python print(): print(f" {BOLD}Total data outbound: {YELLOW}{fmt_bytes(tota - [major]
tools/network_transfer_audit.py:2839— Python print(): print(f" Sensor access events: {len(sensor_events)}") - [major]
tools/network_transfer_audit.py:2840— Python print(): print() - [major]
tools/network_transfer_audit.py:2845— Python print(): print(json.dumps(report, indent=2, default=str)) - [major]
tools/network_transfer_audit.py:2854— Python print(): print(f"{GREEN}HTML report saved to: {output_html}{RESET}") - [major]
tools/network_transfer_audit.py:2855— Python print(): print(f"{DIM}Open in browser: open "{output_html}"{RESET}") - [major]
tools/network_transfer_audit.py:2873— Python print(): print(f"{RED}Error: session '{session_id}' not found in {db_path}{RESET} - [major]
tools/network_transfer_audit.py:2885— Python print(): print(f" {BOLD}Session:{RESET} {session_id}") - [major]
tools/network_transfer_audit.py:2886— Python print(): print(f" {BOLD}Status:{RESET} {session['status']}") - [major]
tools/network_transfer_audit.py:2887— Python print(): print(f" {BOLD}Windows:{RESET} {session['windows_done']}") - [major]
tools/network_transfer_audit.py:2888— Python print(): print(f" {BOLD}Range:{RESET} {from_dt.strftime('%Y-%m-%d %H:%M')} → {to - [major]
tools/network_transfer_audit.py:2889— Python print(): print() - [major]
tools/network_transfer_audit.py:2894— Python print(): print(f" {YELLOW}No data windows found in the requested range.{RESET}") - [major]
tools/network_transfer_audit.py:2898— Python print(): print(f" {GREEN}Found {len(windows)} windows covering this range{RESET}\n") - [major]
tools/network_transfer_audit.py:2910— Python print(): print(f" {GREEN}{len(events)} events{RESET}") - [major]
tools/network_transfer_audit.py:2917— Python print(): print(f" {GREEN}{len(dns)} unique domains{RESET}") - [major]
tools/network_transfer_audit.py:2919— Python print(): print(f" {domain:<40} {count:>5} queries") - [major]
tools/network_transfer_audit.py:2928— Python print(): print(f" {GREEN}{len(fw_events)} events{RESET}") - [major]
tools/network_transfer_audit.py:2936— Python print(): print(f" {GREEN}{len(downloads)} files{RESET}") - [major]
tools/network_transfer_audit.py:2949— Python print(): print(f" {GREEN}{len(live)} unique connections{RESET}") - [major]
tools/network_transfer_audit.py:2958— Python print(): print(f" {GREEN}↓ {fmt_bytes(total_in)} ↑ {fmt_bytes(total_out)}{RESET - [major]
tools/network_transfer_audit.py:2959— Python print(): print(f"\n {'Process':<25} {'↓ In':>10} {'↑ Out':>10}") - [major]
tools/network_transfer_audit.py:2960— Python print(): print(f" {'─' * 25} {'─' * 10} {'─' * 10}") - [major]
tools/network_transfer_audit.py:2962— Python print(): print(f" {p['process']:<25} {fmt_bytes(p['bytes_in']):>10} {fmt_byt - [major]
tools/network_transfer_audit.py:2980— Python print(): print(f" {GREEN}{len(listeners)} unique listening ports{RESET}") - [major]
tools/network_transfer_audit.py:2995— Python print(): print(f" {GREEN}{len(sensor_raw)} events across {len(sensor_types)} sen - [major]
tools/network_transfer_audit.py:2996— Python print(): print(f"\n {'Process':<28} {'Sensor':<18} {'Count':>6}") - [major]
tools/network_transfer_audit.py:2997— Python print(): print(f" {'─' * 28} {'─' * 18} {'─' * 6}") - [major]
tools/network_transfer_audit.py:3001— Python print(): print(f" {color}{s['process']:<28} {s['sensor']:<18} {s['count']:>6 - [major]
tools/network_transfer_audit.py:3016— Python print(): print(f" {GREEN}Wi-Fi:{RESET} {BOLD}{ssid}{RESET} ch:{latest_wifi. - [major]
tools/network_transfer_audit.py:3019— Python print(): print(f" {DIM}Wi-Fi: not connected{RESET}") - [major]
tools/network_transfer_audit.py:3023— Python print(): print(f" {YELLOW}⚠ Wi-Fi SSID changed during session: {', '.join(ss - [major]
tools/network_transfer_audit.py:3035— Python print(): print(f" {GREEN}VPN:{RESET} {len(tunnels)} tunnel(s)") - [major]
tools/network_transfer_audit.py:3038— Python print(): print(f" {t['interface']}{ip_str} mtu={t.get('mtu','')}") - [major]
tools/network_transfer_audit.py:3045— Python print(): print(f" Default route → {route_color}{default_iface}{RESET} " - [major]
tools/network_transfer_audit.py:3052— Python print(): print(f"\n {BOLD}Per-Interface Transfer (session delta):{RESET}") - [major]
tools/network_transfer_audit.py:3053— Python print(): print(f" {'Interface':<12} {'↓ In':>14} {'↑ Out':>14}") - [major]
tools/network_transfer_audit.py:3054— Python print(): print(f" {'─' * 12} {'─' * 14} {'─' * 14}") - [major]
tools/network_transfer_audit.py:3056— Python print(): print(f" {d['interface']:<12} {fmt_bytes(d['bytes_in']):>14} {fmt_b - [major]
tools/network_transfer_audit.py:3061— Python print(): print(f"\n {BOLD}Proxy:{RESET} PAC → {pac}") - [major]
tools/network_transfer_audit.py:3063— Python print(): print(f" {BOLD}DNS:{RESET} {', '.join(net_config['dns_servers'][:4])}") - [major]
tools/network_transfer_audit.py:3083— Python print(): print(f" {GREEN}{len(unique_arp)} unique LAN devices{RESET}") - [major]
tools/network_transfer_audit.py:3086— Python print(): print(f" {a['ip']:<18} {a['mac']:<20} {a['interface']}") - [major]
tools/network_transfer_audit.py:3094— Python print(): print(f"\n {BOLD}Bluetooth:{RESET} {len(bt_unique)} devices") - [major]
tools/network_transfer_audit.py:3097— Python print(): print(f" {b.get('name',''):<30} {b.get('device_type',''):<12} {st - [major]
tools/network_transfer_audit.py:3105— Python print(): print(f"\n {BOLD}USB Devices:{RESET} {len(usb_unique)}") - [major]
tools/network_transfer_audit.py:3107— Python print(): print(f" {u['name']:<30} {u.get('vendor','')}") - [major]
tools/network_transfer_audit.py:3115— Python print(): print(f"\n {YELLOW}{BOLD}⚠ External disk:{RESET} {d['mount_point']} - [major]
tools/network_transfer_audit.py:3130— Python print(): print(f" {name:<14} {color}{val}{RESET}") - [major]
tools/network_transfer_audit.py:3132— Python print(): print(f"\n {RED}{BOLD}⚠ Firewall is DISABLED{RESET}") - [major]
tools/network_transfer_audit.py:3150— Python print(): print(f" {BOLD}Privilege escalations:{RESET} {len(auth_rows)}") - [major]
tools/network_transfer_audit.py:3153— Python print(): print(f" {ts} {e.get('process',''):<20} {e.get('auth_right','')[ - [major]
tools/network_transfer_audit.py:3155— Python print(): print(f" {BOLD}Gatekeeper/XProtect:{RESET} {len(gk_rows)} events") - [major]
tools/network_transfer_audit.py:3157— Python print(): print(f" {BOLD}Network Extension:{RESET} {len(ne_rows)} VPN events") - [major]
tools/network_transfer_audit.py:3197— Python print(): print(f" {color}{sensor:<24} {ok}/{total} ok {fmt_bytes(size):>10} - [major]
tools/network_transfer_audit.py:3201— Python print(): print(f"\n {BOLD}Total:{RESET} {total_ok}/{total_samples} successful " - [major]
tools/network_transfer_audit.py:3254— Python print(): print(f" {icon} {BOLD}{a['process']}{RESET}: {a['detail']}") - [major]
tools/network_transfer_audit.py:3256— Python print(): print(f" {GREEN}✓ No anomalies detected.{RESET}") - [major]
tools/network_transfer_audit.py:3263— Python print(): print(f" {'Window':<20} {'Net Evts':>9} {'DNS':>5} {'Conns':>6} {'↓ In' - [major]
tools/network_transfer_audit.py:3264— Python print(): print(f" {'─' * 20} {'─' * 9} {'─' * 5} {'─' * 6} {'─' * 10} {'─' * 10} - [major]
tools/network_transfer_audit.py:3268— Python print(): print(f" {ts:<20} {w['network_event_count']:>9} {w['dns_query_count - [major]
tools/network_transfer_audit.py:3275— Python print(): print(f" Windows analyzed: {totals.get('windows_count', 0)}") - [major]
tools/network_transfer_audit.py:3276— Python print(): print(f" Network connection events: {totals.get('total_network_events', 0 - [major]
tools/network_transfer_audit.py:3277— Python print(): print(f" Unique DNS domains: {len(dns)}") - [major]
tools/network_transfer_audit.py:3278— Python print(): print(f" Firewall decisions: {totals.get('total_firewall_events', - [major]
tools/network_transfer_audit.py:3279— Python print(): print(f" Files downloaded: {totals.get('total_downloads', 0)}") - [major]
tools/network_transfer_audit.py:3280— Python print(): print(f" Sensor access events: {totals.get('total_sensor_events', 0) - [major]
tools/network_transfer_audit.py:3281— Python print(): print(f" {BOLD}Total data inbound: {GREEN}{fmt_bytes(totals.get('t - [major]
tools/network_transfer_audit.py:3282— Python print(): print(f" {BOLD}Total data outbound: {YELLOW}{fmt_bytes(totals.get(' - [major]
tools/network_transfer_audit.py:3283— Python print(): print() - [major]
tools/network_transfer_audit.py:3288— Python print(): print(json.dumps(report, indent=2, default=str)) - [major]
tools/network_transfer_audit.py:3297— Python print(): print(f"{GREEN}HTML report saved to: {output_html}{RESET}") - [major]
tools/network_transfer_audit.py:3298— Python print(): print(f"{DIM}Open in browser: open "{output_html}"{RESET}") - [major]
tools/network_transfer_audit.py:3404— Python print(): print(f"{RED}Error: invalid collect duration '{args.collect}'. Use e - [major]
tools/network_transfer_audit.py:3415— Python print(): print(f"{RED}Error: session '{args.data}' not found in {data_dir}/{R - [major]
tools/network_transfer_audit.py:3453— Python print(): print(f"{RED}Error: invalid monitor duration '{args.monitor}'. Use e - [major]
tools/network_transfer_audit.py:3461— Python print(): print(f"{RED}Error: --from time is after --to time{RESET}", file=sys.std - [major]
tools/network_transfer_audit.py:3488— Python print(): print(f" {YELLOW}No data directory found at {data_dir}{RESET}") - [major]
tools/network_transfer_audit.py:3493— Python print(): print(f" {YELLOW}No collected sessions found in {data_dir}/{RESET}") - [major]
tools/network_transfer_audit.py:3499— Python print(): print(f" {'Session ID':<22} {'Status':<12} {'Windows':>8} {'Started':<20} { - [major]
tools/network_transfer_audit.py:3500— Python print(): print(f" {'─' * 22} {'─' * 12} {'─' * 8} {'─' * 20} {'─' * 20} {'─' * 10}") - [major]
tools/network_transfer_audit.py:3511— Python print(): print(f" {s['id']:<22} {status_color}{s['status']:<12}{RESET} " - [major]
tools/network_transfer_audit.py:3515— Python print(): print(f" {dbf.name:<22} {RED}error: {e}{RESET}") - [major]
tools/network_transfer_audit.py:3517— Python print(): print(f"\n {DIM}Use --data SESSION_ID to query a session{RESET}") - [major]
tools/collector.py:127— Python print(): print(f"\n {YELLOW}⚡ Resuming incomplete session {self._session_id} - [major]
tools/collector.py:128— Python print(): print(f" {DIM}Windows already done: {resume_info['windows_done']}, - [major]
tools/collector.py:148— Python print(): print(f" {YELLOW}Resumed from window {self._seq}/{total_windows}{RE - [major]
tools/collector.py:157— Python print(): print(f" {DIM}Collecting session baseline...{RESET}") - [major]
tools/collector.py:164— Python print(): print(f" {GREEN}✓{RESET} Network config + security posture + se - [major]
tools/collector.py:165— Python print(): print(f" {DIM}Sensor capture enabled: {', '.join(enabled_sensor - [major]
tools/collector.py:167— Python print(): print(f" {YELLOW}⚠ Firewall is disabled{RESET}") - [major]
tools/collector.py:169— Python print(): print(f" {YELLOW}⚠ Baseline collection warning: {e}{RESET}") - [major]
tools/collector.py:182— Python print(): print(f" {GREEN}✓{RESET} Input activity monitor started (ke - [major]
tools/collector.py:184— Python print(): print(f" {YELLOW}⚠ Input monitor unavailable (need Accessib - [major]
tools/collector.py:186— Python print(): print(f" {YELLOW}⚠ Input monitor failed: {e}{RESET}") - [major]
tools/collector.py:189— Python print(): print(f" {DIM}Taking initial nettop snapshot...{RESET}") - [major]
tools/collector.py:206— Python print(): print(f"\n {CYAN}━━ Window {self._seq + 1}/{total_windows} " - [major]
tools/collector.py:210— Python print(): print(f" {DIM}Querying network events...{RESET}", end="", flu - [major]
tools/collector.py:212— Python print(): print(f" {len(net_events)} events") - [major]
tools/collector.py:215— Python print(): print(f" {DIM}Querying DNS...{RESET}", end="", flush=True) - [major]
tools/collector.py:217— Python print(): print(f" {len(dns)} domains") - [major]
tools/collector.py:220— Python print(): print(f" {DIM}Querying firewall...{RESET}", end="", flush=Tru - [major]
tools/collector.py:222— Python print(): print(f" {len(fw)} events") - [major]
tools/collector.py:225— Python print(): print(f" {DIM}Querying downloads...{RESET}", end="", flush=Tr - [major]
tools/collector.py:228— Python print(): print(f" {len(valid_dl)} files") - [major]
tools/collector.py:231— Python print(): print(f" {DIM}Snapshotting live connections...{RESET}", end=" - [major]
tools/collector.py:233— Python print(): print(f" {len(live)} connections") - [major]
tools/collector.py:236— Python print(): print(f" {DIM}Computing nettop delta...{RESET}", end="", flus - [major]
tools/collector.py:242— Python print(): print(f" ↓{_fmt_bytes(total_in)} ↑{_fmt_bytes(total_out)}") - [major]
tools/collector.py:245— Python print(): print(f" {DIM}Querying sensor access...{RESET}", end="", flus - [major]
tools/collector.py:247— Python print(): print(f" {len(sensor_events_raw)} events") - [major]
tools/collector.py:250— Python print(): print(f" {DIM}Snapshotting listening ports...{RESET}", end="" - [major]
tools/collector.py:252— Python print(): print(f" {len(listeners)} ports") - [major]
tools/collector.py:255— Python print(): print(f" {DIM}Snapshotting process list...{RESET}", end="", f - [major]
tools/collector.py:260— Python print(): print(f" {len(proc_list)} processes") - [major]
tools/collector.py:263— Python print(): print(f" {DIM}Querying Wi-Fi / VPN / interfaces...{RESET}", e - [major]
tools/collector.py:269— Python print(): print(f" Wi-Fi:{wifi_label} route:{vpn_label} {len(iface_bytes - [major]
tools/collector.py:272— Python print(): print(f" {DIM}Scanning LAN & devices...{RESET}", end="", flus - [major]
tools/collector.py:277— Python print(): print(f" {len(arp)} LAN {len(bt.get('devices',[]))} BT {len(us - [major]
tools/collector.py:280— Python print(): print(f" {DIM}Querying security events...{RESET}", end="", fl - [major]
tools/collector.py:284— Python print(): print(f" {len(gk_events)} GK {len(auth_evts)} auth {len(ne_eve - [major]
tools/collector.py:288— Python print(): print(f" {DIM}Capturing sensor samples ({len(enabled_sens - [major]
tools/collector.py:295— Python print(): print(f" {ok} ok {skip} skip {err} err blobs={_fmt_by - [major]
tools/collector.py:298— Python print(): print(f" {YELLOW}⚠ {e}{RESET}") - [major]
tools/collector.py:302— Python print(): print(f" {DIM}Running exfiltration monitors...{RESET}", end=" - [major]
tools/collector.py:316— Python print(): print(f" git:{git_ct} exfil-proc:{launch_ct} staging:{stag - [major]
tools/collector.py:319— Python print(): print(f" {YELLOW}⚠ {e}{RESET}") - [major]
tools/collector.py:323— Python print(): print(f" {DIM}Writing to database...{RESET}", end="", flush=T - [major]
tools/collector.py:353— Python print(): print(f" {YELLOW}⚠ exfil write: {e}{RESET}") - [major]
tools/collector.py:356— Python print(): print(f" {DIM}Building process tree...{RESET}", end="", flush - [major]
tools/collector.py:361— Python print(): print(f" {len(ptree)} processes {unsigned} unsigned") - [major]
tools/collector.py:364— Python print(): print(f" {YELLOW}⚠ {e}{RESET}") - [major]
tools/collector.py:368— Python print(): print(f" {DIM}Building connection graph...{RESET}", end="", f - [major]
tools/collector.py:373— Python print(): print(f" {len(conn_graph)} edges {total_dests} unique desti - [major]
tools/collector.py:376— Python print(): print(f" {YELLOW}⚠ {e}{RESET}") - [major]
tools/collector.py:380— Python print(): print(f" {DIM}Scanning persistence mechanisms...{RESET}", end - [major]
tools/collector.py:384— Python print(): print(f" {len(persist_items)} items {risky} flagged") - [major]
tools/collector.py:387— Python print(): print(f" {YELLOW}⚠ {e}{RESET}") - [major]
tools/collector.py:391— Python print(): print(f" {DIM}Capturing payloads...{RESET}", end="", flush=Tr - [major]
tools/collector.py:395— Python print(): print(f" {len(payloads)} payloads {sensitive_ct} with sensi - [major]
tools/collector.py:398— Python print(): print(f" {YELLOW}⚠ {e}{RESET}") - [major]
tools/collector.py:403— Python print(): print(f" {DIM}Reading input activity...{RESET}", end="", - [major]
tools/collector.py:411— Python print(): print(f" keys:{k} ({kpm:.0f}/min) clicks:{clicks_l} " - [major]
tools/collector.py:415— Python print(): print(f" {YELLOW}⚠ {e}{RESET}") - [major]
tools/collector.py:418— Python print(): print(f" {GREEN}✓{RESET}") - [major]
tools/collector.py:422— Python print(): print(f" {GREEN}Window {self._seq} saved.{RESET} " - [major]
tools/collector.py:426— Python print(): print(f"\n {RED}✗ Collection error: {e}{RESET}") - [major]
tools/collector.py:433— Python print(): print(f" {DIM}Computing baselines & updating known processe - [major]
tools/collector.py:437— Python print(): print(f" {len(new_procs)} new processes detected") - [major]
tools/collector.py:439— Python print(): print(f" {GREEN}✓{RESET}") - [major]
tools/collector.py:441— Python print(): print(f" {YELLOW}⚠ {e}{RESET}") - [major]
tools/collector.py:485— Python print(): print(f"\r {DIM}[{bar}] next window in {int(sleep_for - slept):>3}s - [major]
tools/collector.py:500— Python print(): print(f"\n\n {YELLOW}⚠ {sig_name} received — finishing current window a - [major]
tools/collector.py:504— Python print(): print(f"\n{BOLD}{CYAN}{'═' * 70}{RESET}") - [major]
tools/collector.py:505— Python print(): print(f"{BOLD}{CYAN} Continuous Data Collector{RESET}") - [major]
tools/collector.py:506— Python print(): print(f"{BOLD}{CYAN}{'═' * 70}{RESET}") - [major]
tools/collector.py:507— Python print(): print(f" {BOLD}Duration:{RESET} {_fmt_duration(self.duration)}") - [major]
tools/collector.py:509— Python print(): print(f" {BOLD}Interval:{RESET} {self.interval}s ({interval_labe - [major]
tools/collector.py:510— Python print(): print(f" {BOLD}Total windows:{RESET} {total_windows}") - [major]
tools/collector.py:511— Python print(): print(f" {BOLD}Start:{RESET} {start_time.strftime('%Y-%m-%d % - [major]
tools/collector.py:512— Python print(): print(f" {BOLD}Expected end:{RESET} {end_time.strftime('%Y-%m-%d %H: - [major]
tools/collector.py:513— Python print(): print(f" {BOLD}Database:{RESET} {db_path}") - [major]
tools/collector.py:514— Python print(): print(f" {DIM}Press Ctrl+C to stop gracefully{RESET}") - [major]
tools/collector.py:515— Python print(): print() - [major]
tools/collector.py:519— Python print(): print(f"\n{BOLD}{CYAN}{'═' * 70}{RESET}") - [major]
tools/collector.py:520— Python print(): print(f" {BOLD}Collection {color}{status}{RESET}") - [major]
tools/collector.py:521— Python print(): print(f" {BOLD}Windows collected:{RESET} {self._seq}") - [major]
tools/collector.py:522— Python print(): print(f" {BOLD}Database:{RESET} {db_path}") - [major]
tools/collector.py:523— Python print(): print(f" {BOLD}Database size:{RESET} {_fmt_bytes(os.path.getsize(db - [major]
tools/collector.py:524— Python print(): print(f"{BOLD}{CYAN}{'═' * 70}{RESET}\n") - [major]
tools/collector.py:556— Python print(): print(f"\n {YELLOW}Received signal {signum}, shutting down daemon...{RE - [major]
tools/collector.py:562— Python print(): print(f"{BOLD}{CYAN}{'═' * 70}{RESET}") - [major]
tools/collector.py:563— Python print(): print(f"{BOLD} Sensor Audit Collector — Daemon Mode{RESET}") - [major]
tools/collector.py:564— Python print(): print(f"{DIM} Session duration: {_fmt_duration(session_duration)}") - [major]
tools/collector.py:565— Python print(): print(f" Collection interval: {_fmt_duration(interval)}") - [major]
tools/collector.py:566— Python print(): print(f" Data directory: {data_dir}{RESET}") - [major]
tools/collector.py:567— Python print(): print(f"{BOLD}{CYAN}{'═' * 70}{RESET}\n") - [major]
tools/collector.py:572— Python print(): print(f"\n {CYAN}━━ Starting session #{session_num} " - [major]
tools/collector.py:581— Python print(): print(f" {RED}✗ Session #{session_num} error: {e}{RESET}") - [major]
tools/collector.py:587— Python print(): print(f" {DIM}Next session in 10s...{RESET}") - [major]
tools/collector.py:590— Python print(): print(f"\n {GREEN}✓ Daemon stopped cleanly after {session_num} session(s){R - [major]
tools/sample_capture.py:238— Python print(): print(s) - [major]
tools/secure_vault.py:329— Python print(): print("Error: Password cannot be empty", file=sys.stderr) - [major]
tools/secure_vault.py:334— Python print(): print("Error: Passwords do not match", file=sys.stderr) - [major]
tools/secure_vault.py:399— Python print(): print(f"Vault '{result['name']}' created ({result['max_size']})") - [major]
tools/secure_vault.py:400— Python print(): print(f" Path: {result['vault_path']}") - [major]
tools/secure_vault.py:402— Python print(): print(f" Imported from: {args.source}") - [major]
tools/secure_vault.py:407— Python print(): print(f"Vault '{result['name']}' unlocked") - [major]
tools/secure_vault.py:408— Python print(): print(f" Mount point: {result['mount_point']}") - [major]
tools/secure_vault.py:410— Python print(): print(f" ({result['message']})") - [major]
tools/secure_vault.py:414— Python print(): print(f"Vault '{result['name']}' locked") - [major]
tools/secure_vault.py:416— Python print(): print(f" ({result['message']})") - [major]
tools/secure_vault.py:421— Python print(): print("No vaults are currently unlocked") - [major]
tools/secure_vault.py:424— Python print(): print(f" {r['name']}: {status}") - [major]
tools/secure_vault.py:429— Python print(): print("No vaults found. Create one with: secure_vault.py create - [major]
tools/secure_vault.py:431— Python print(): print(f"{'Name':<20} {'Status':<10} {'Size':<12} {'Created':<20} {'M - [major]
tools/secure_vault.py:432— Python print(): print("-" * 90) - [major]
tools/secure_vault.py:438— Python print(): print(f"{v['name']:<20} {status_icon} {v['status']:<7} {size:<12 - [major]
tools/secure_vault.py:443— Python print(): print(f"Vault: {s['name']}") - [major]
tools/secure_vault.py:444— Python print(): print(f" Status: {status_icon}") - [major]
tools/secure_vault.py:445— Python print(): print(f" Path: {s['vault_path']}") - [major]
tools/secure_vault.py:446— Python print(): print(f" Max size: {s['max_size']}") - [major]
tools/secure_vault.py:447— Python print(): print(f" On disk: {_fmt_bytes(s['size_on_disk'])}") - [major]
tools/secure_vault.py:448— Python print(): print(f" Created: {s['created']}") - [major]
tools/secure_vault.py:450— Python print(): print(f" Last unlocked: {s['last_unlocked']}") - [major]
tools/secure_vault.py:452— Python print(): print(f" Mount point: {s['mount_point']}") - [major]
tools/secure_vault.py:454— Python print(): print(f" Hint: {s['password_hint']}") - [major]
tools/secure_vault.py:459— Python print(): print("Aborted.") - [major]
tools/secure_vault.py:463— Python print(): print(f"Vault '{result['name']}' permanently destroyed") - [major]
tools/secure_vault.py:466— Python print(): print("Enter current password:") - [major]
tools/secure_vault.py:468— Python print(): print("Enter new password:") - [major]
tools/secure_vault.py:471— Python print(): print(f"Password changed for vault '{result['name']}'") - [major]
tools/secure_vault.py:474— Python print(): print(f"Access denied: {e}", file=sys.stderr) - [major]
tools/secure_vault.py:477— Python print(): print(f"Error: {e}", file=sys.stderr) - [major]
tools/input_monitor.py:196— Python print(): print(" ⚠ pyobjc-framework-Quartz not installed — input monitoring - [major]
tools/input_monitor.py:213— Python print(): print(" ⚠ CGEventTap failed — grant Accessibility permission to Ter - [major]
tools/input_monitor.py:438— Python print(): print("Input Monitor — press Ctrl+C to stop") - [major]
tools/input_monitor.py:439— Python print(): print("Requires Accessibility permission for Terminal/Python") - [major]
tools/input_monitor.py:440— Python print(): print() - [major]
tools/input_monitor.py:444— Python print(): print("Failed to start — check Accessibility permissions") - [major]
tools/input_monitor.py:451— Python print(): print(f"[{datetime.now().strftime('%H:%M:%S')}] " - [major]
tools/input_monitor.py:461— Python print(): print(f" Top categories: {', '.join(f'{k}={v}' for k, v - [major]
tools/input_monitor.py:465— Python print(): print(f" Top combos: {', '.join(f'{k}={v}' for k, v in t - [major]
tools/input_monitor.py:467— Python print(): print("\nStopping...") - [major]
tools/input_monitor.py:470— Python print(): print("\nFinal stats:") - [major]
tools/input_monitor.py:471— Python print(): print(json.dumps(final, indent=2)) - [minor]
dashboard/src/api.ts:28— any type: async function put<T = any>(path: string, body: any): Promise { - [minor]
dashboard/src/api.ts:38— any type: async function post<T = any>(path: string, body?: any): Promise { - [minor]
dashboard/src/api.ts:56— any type: updateConfig: (data: any) => put('/config', data), - [minor]
dashboard/src/pages/Reports.tsx:25— any type: {reports.map((r: any) => ( - [minor]
dashboard/src/pages/Sessions.tsx:10— any type: const STATUS_CFG: Record<string, { bg: string; icon: any; label: string }> = { - [minor]
dashboard/src/pages/Sessions.tsx:37— any type: sessions.forEach((s: any) => { if (s.status in c) (c as any)[s.status]++; }) - [minor]
dashboard/src/pages/Sessions.tsx:43— any type: const totalSize = sessions.reduce((a: number, s: any) => a + (s.db_size || 0 - [minor]
dashboard/src/pages/Sessions.tsx:44— any type: const totalWindows = sessions.reduce((a: number, s: any) => a + (s.windows_d - [minor]
dashboard/src/pages/Sessions.tsx:51— any type: if (statusFilter !== 'all') list = list.filter((s: any) => s.status === stat - [minor]
dashboard/src/pages/Sessions.tsx:54— any type: list = list.filter((s: any) => - [minor]
dashboard/src/pages/Sessions.tsx:58— any type: list.sort((a: any, b: any) => { - [minor]
dashboard/src/pages/Sessions.tsx:172— any type: {filtered.map((s: any) => { - [minor]
dashboard/src/pages/Vaults.tsx:44— any type: } catch (e: any) { - [minor]
dashboard/src/pages/Vaults.tsx:73— any type: } catch (e: any) { flashErr(e.message); } - [minor]
dashboard/src/pages/Vaults.tsx:79— any type: catch (e: any) { flashErr(e.message); } - [minor]
dashboard/src/pages/Vaults.tsx:84— any type: catch (e: any) { flashErr(e.message); } - [minor]
dashboard/src/pages/Vaults.tsx:108— any type: } catch (e: any) { flashErr(e.message); } - [minor]
dashboard/src/pages/SessionDetail.tsx:48— any type: const isRunning = (s: any) => s?.status === 'running'; - [minor]
dashboard/src/pages/SessionDetail.tsx:162— any type: const maxBytes = nettop.length ? Math.max(...nettop.map((n: any) => n.bytes_in - [minor]
dashboard/src/pages/SessionDetail.tsx:198— any type: } catch (e: any) { toast('error', 'Report failed', e.message); } - [minor]
dashboard/src/pages/Dashboard.tsx:32— any type: toast('success', 'Capture complete', `${results.filter((r: any) => r.statu - [minor]
dashboard/src/pages/Dashboard.tsx:33— any type: } catch (e: any) { - [minor]
dashboard/src/pages/Dashboard.tsx:45— any type: } catch (e: any) { - [minor]
dashboard/src/pages/Dashboard.tsx:55— any type: } catch (e: any) { - [minor]
dashboard/src/pages/Dashboard.tsx:77— any type: const unackedAlerts = (alerts || []).filter((a: any) => !a.acknowledged); - [minor]
dashboard/src/pages/Dashboard.tsx:152— any type: {unackedAlerts.filter((a: any) => a.severity === 'critical').len - [minor]
dashboard/src/pages/Dashboard.tsx:223— any type: {captureResult.map((r: any, i: number) => ( - [minor]
dashboard/src/pages/Dashboard.tsx:264— any type: {sessions.slice(0, 8).map((s: any) => ( - [minor]
dashboard/src/pages/SampleViewer.tsx:21— any type: function MetadataTree({ data, depth = 0 }: { data: any; depth?: number }) { - [minor]
dashboard/src/pages/SampleViewer.tsx:163— any type: {sample.metadata.running_apps?.slice(0, 15).map((a: any, i: numb - [minor]
dashboard/src/pages/SessionCompare.tsx:50— any type: {sessions?.map((s: any) => ( - [minor]
dashboard/src/pages/SessionCompare.tsx:60— any type: {sessions?.map((s: any) => ( - [minor]
dashboard/src/pages/SessionCompare.tsx:151— any type: {data.process_diff.map((p: any) => ( - [minor]
dashboard/src/pages/DataManagement.tsx:66— any type: {sessionList.map((s: any) => ( - [minor]
dashboard/src/pages/Config.tsx:22— any type: mutationFn: (data: any) => api.updateConfig(data), - [minor]
dashboard/src/pages/Config.tsx:32— any type: setLocal((prev: any) => ({ - [minor]
dashboard/src/pages/Config.tsx:38— any type: const updateSensorParam = (sensor: string, param: string, value: any) => { - [minor]
dashboard/src/pages/Config.tsx:39— any type: setLocal((prev: any) => ({ - [minor]
dashboard/src/pages/Config.tsx:46— any type: setLocal((prev: any) => ({ ...prev, schedule: { ...prev.schedule, [param]: v - [minor]
dashboard/src/pages/Alerts.tsx:48— any type: critical: alerts.filter((a: any) => a.severity === 'critical').length, - [minor]
dashboard/src/pages/Alerts.tsx:49— any type: warning: alerts.filter((a: any) => a.severity === 'warning').length, - [minor]
dashboard/src/pages/Alerts.tsx:50— any type: info: alerts.filter((a: any) => a.severity === 'info').length, - [minor]
dashboard/src/pages/Alerts.tsx:51— any type: unacked: alerts.filter((a: any) => !a.acknowledged).length, - [minor]
dashboard/src/pages/Alerts.tsx:57— any type: const cats = new Set(alerts.map((a: any) => a.category).filter(Boolean)); - [minor]
dashboard/src/pages/Alerts.tsx:64— any type: if (sevFilter !== 'all') list = list.filter((a: any) => a.severity === sevFi - [minor]
dashboard/src/pages/Alerts.tsx:65— any type: if (ackFilter === 'unacked') list = list.filter((a: any) => !a.acknowledged) - [minor]
dashboard/src/pages/Alerts.tsx:66— any type: if (ackFilter === 'acked') list = list.filter((a: any) => a.acknowledged); - [minor]
dashboard/src/pages/Alerts.tsx:67— any type: if (catFilter !== 'all') list = list.filter((a: any) => a.category === catFi - [minor]
dashboard/src/pages/Alerts.tsx:76— any type: } catch (e: any) { - [minor]
dashboard/src/pages/Alerts.tsx:170— any type: {filtered.map((a: any) => { - [minor]
dashboard/src/pages/Services.tsx:108— any type: try { await api.stopCollection(); refetch(); toast('info', 'Coll - [minor]
dashboard/src/pages/Services.tsx:114— any type: try { await api.startCollection(3600, 300); refetch(); toast('su - [minor]
dashboard/src/pages/ProcessDetail.tsx:39— any type: ? Math.max(...data.bandwidth_timeline.map((w: any) => w.bytes_in + w.bytes_o - [minor]
dashboard/src/pages/ProcessDetail.tsx:112— any type: {data.bandwidth_timeline.map((w: any, i: number) => { - [minor]
dashboard/src/pages/ProcessDetail.tsx:146— any type: {data.connections.map((c: any, i: number) => ( - [minor]
dashboard/src/pages/ProcessDetail.tsx:172— any type: {data.sensor_access.map((s: any, i: number) => ( - [minor]
dashboard/src/pages/Calendar.tsx:76— any type: for (const s of (sessions || []) as any[]) { - [minor]
dashboard/src/pages/Calendar.tsx:89— any type: if (!map[k].find((x: any) => x.id === s.id)) map[k].push(s); - [minor]
dashboard/src/pages/Calendar.tsx:100— any type: for (const r of (reports || []) as any[]) { - [minor]
dashboard/src/pages/Calendar.tsx:159— any type: const result: any[] = []; - [minor]
dashboard/src/pages/Calendar.tsx:161— any type: for (const s of (sessions || []) as any[]) { - [minor]
dashboard/src/pages/Calendar.tsx:180— any type: return ((reports || []) as any[]).filter((r: any) => { - [minor]
dashboard/src/pages/Calendar.tsx:257— any type: {daySessions.slice(0, 4).map((s: any) => ( - [minor]
dashboard/src/pages/Calendar.tsx:261— any type: {dayReports.slice(0, 3).map((r: any, ri: number) => ( - [minor]
dashboard/src/pages/Calendar.tsx:332— any type: {selectedSessions.map((s: any) => ( - [minor]
dashboard/src/pages/Calendar.tsx:367— any type: {selectedReports.map((r: any, i: number) => ( - [minor]
dashboard/src/pages/DataFlowMap.tsx:305— any type: {(sessions || []).map((s: any) => ( - [minor]
dashboard/src/pages/session-tabs/ConnectionsTab.tsx:6— any type: connGraphData: any; - [minor]
dashboard/src/pages/session-tabs/ConnectionsTab.tsx:7— any type: processTreeData: any; - [minor]
dashboard/src/pages/session-tabs/ConnectionsTab.tsx:18— any type: <Card label="Unique Destinations" value={new Set(edges.map((e: any) => e - [minor]
dashboard/src/pages/session-tabs/ConnectionsTab.tsx:19— any type: <Card label="Processes" value={new Set(edges.map((e: any) => e.process)) - [minor]
dashboard/src/pages/session-tabs/ConnectionsTab.tsx:20— any type: <Card label="Total Outbound" value={fmtBytes(edges.reduce((a: number, e: - [minor]
dashboard/src/pages/session-tabs/ConnectionsTab.tsx:26— any type: rows={edges.slice(0, 100).map((e: any) => [ - [minor]
dashboard/src/pages/session-tabs/ConnectionsTab.tsx:44— any type: rows={tree.filter((p: any) => p.is_exfil_relevant || p.code_signed = - [minor]
dashboard/src/pages/session-tabs/OverviewTab.tsx:8— any type: session: any; - [minor]
dashboard/src/pages/session-tabs/OverviewTab.tsx:9— any type: insightsData: any; - [minor]
dashboard/src/pages/session-tabs/OverviewTab.tsx:10— any type: summaryData: any; - [minor]
dashboard/src/pages/session-tabs/OverviewTab.tsx:12— any type: windows: any[] | undefined; - [minor]
dashboard/src/pages/session-tabs/OverviewTab.tsx:13— any type: nettop: any[]; - [minor]
dashboard/src/pages/session-tabs/OverviewTab.tsx:17— any type: processRisk: any; - [minor]
dashboard/src/pages/session-tabs/OverviewTab.tsx:18— any type: screenCaptures: any[] | undefined; - [minor]
dashboard/src/pages/session-tabs/OverviewTab.tsx:33— any type: {insightsData?.alerts?.filter((a: any) => a.severity === 'critical').map(( - [minor]
dashboard/src/pages/session-tabs/OverviewTab.tsx:85— any type: const timelineMax = Math.max(...windows.map((x: any) => (x.bytes_in_ - [minor]
dashboard/src/pages/session-tabs/OverviewTab.tsx:88— any type: {windows.map((w: any, i: number) => { - [minor]
dashboard/src/pages/session-tabs/OverviewTab.tsx:112— any type: rows={nettop.slice(0, 20).map((n: any) => [ - [minor]
dashboard/src/pages/session-tabs/OverviewTab.tsx:152— any type: const highRisk = procs.filter((p: any) => p.risk_score >= 6); - [minor]
dashboard/src/pages/session-tabs/OverviewTab.tsx:175— any type: {highRisk.map((p: any) => ( - [minor]
dashboard/src/pages/session-tabs/OverviewTab.tsx:200— any type: {procs.slice(0, 25).map((p: any) => ( - [minor]
dashboard/src/pages/session-tabs/OverviewTab.tsx:227— any type: {screenCaptures && screenCaptures.filter((s: any) => s.blob_url && s.blob_ - [minor]
dashboard/src/pages/session-tabs/OverviewTab.tsx:228— any type: <Section title={`📸 Screen Captures (${screenCaptures.filter((s: any) => - [minor]
dashboard/src/pages/session-tabs/OverviewTab.tsx:231— any type: .filter((s: any) => s.blob_url && s.blob_mime?.startsWith('image/' - [minor]
dashboard/src/pages/session-tabs/OverviewTab.tsx:233— any type: .map((s: any) => ( - [minor]
dashboard/src/pages/session-tabs/OverviewTab.tsx:246— any type: {screenCaptures.filter((s: any) => s.blob_url).length > 12 && ( - [minor]
dashboard/src/pages/session-tabs/OverviewTab.tsx:249— any type: View all {screenCaptures.filter((s: any) => s.blob_url).length} sc - [minor]
dashboard/src/pages/session-tabs/PayloadsTab.tsx:6— any type: payloadData: any; - [minor]
dashboard/src/pages/session-tabs/PayloadsTab.tsx:12— any type: const sourceTypes = [...new Set(samples.map((s: any) => s.source_type))] as st - [minor]
dashboard/src/pages/session-tabs/PayloadsTab.tsx:19— any type: <Card label="With Sensitive Data" value={samples.filter((s: any) => s.se - [minor]
dashboard/src/pages/session-tabs/PayloadsTab.tsx:20— any type: <Card label="Total Size" value={fmtBytes(samples.reduce((a: number, s: a - [minor]
dashboard/src/pages/session-tabs/PayloadsTab.tsx:23— any type: <Section key={st} title={`${st.replace(/_/g, ' ').toUpperCase()} (${samp - [minor]
dashboard/src/pages/session-tabs/PayloadsTab.tsx:24— any type: {samples.filter((s: any) => s.source_type === st).slice(0, 30).map((s: - [minor]
dashboard/src/pages/session-tabs/shared.tsx:10— any type: export function Table({ headers, rows }: { headers: string[]; rows: any[][] }) { - [minor]
dashboard/src/pages/session-tabs/shared.tsx:48— any type: export const POSTURE_OK: Record<string, (v: any) => boolean> = { - [minor]
dashboard/src/pages/session-tabs/SamplesTab.tsx:7— any type: samples: any[] | undefined; - [minor]
dashboard/src/pages/session-tabs/SamplesTab.tsx:14— any type: windows: any[] | undefined; - [minor]
dashboard/src/pages/session-tabs/SamplesTab.tsx:58— any type: {windows.map((w: any) => ( - [minor]
dashboard/src/pages/session-tabs/SamplesTab.tsx:67— any type: {[...(samples || [])].sort((a: any, b: any) => { - [minor]
dashboard/src/pages/session-tabs/SamplesTab.tsx:74— any type: }).map((s: any) => { - [minor]
dashboard/src/pages/session-tabs/SecurityTab.tsx:4— any type: const POSTURE_OK: Record<string, (v: any) => boolean> = { - [minor]
dashboard/src/pages/session-tabs/SecurityTab.tsx:10— any type: security: any; - [minor]
dashboard/src/pages/session-tabs/SecurityTab.tsx:22— any type: rows={security.sensor_events.slice(0, 50).map((e: any) => [ - [minor]
dashboard/src/pages/session-tabs/SecurityTab.tsx:34— any type: rows={security.gatekeeper.slice(0, 50).map((e: any) => [ - [minor]
dashboard/src/pages/session-tabs/SecurityTab.tsx:46— any type: rows={security.auth_events.slice(0, 50).map((e: any) => [ - [minor]
dashboard/src/pages/session-tabs/InputTab.tsx:5— any type: inputStats: any; - [minor]
dashboard/src/pages/session-tabs/InputTab.tsx:6— any type: inputTimeline: any[]; - [minor]
dashboard/src/pages/session-tabs/InputTab.tsx:21— any type: const totalCatKeys = cats.reduce((s: number, c: any) => s + c.count, 0) || 1; - [minor]
dashboard/src/pages/session-tabs/InputTab.tsx:22— any type: const maxTimelineKeys = timeline.length ? Math.max(...timeline.map((t: any) => - [minor]
dashboard/src/pages/session-tabs/InputTab.tsx:50— any type: {cats.map((c: any) => { - [minor]
dashboard/src/pages/session-tabs/InputTab.tsx:75— any type: rows={apps.map((a: any) => [ - [minor]
dashboard/src/pages/session-tabs/InputTab.tsx:89— any type: rows={combos.map((c: any) => [ - [minor]
dashboard/src/pages/session-tabs/InputTab.tsx:109— any type: {timeline.map((w: any, i: number) => ( - [minor]
dashboard/src/pages/session-tabs/PermissionsTab.tsx:6— any type: permissionsData: any; - [minor]
dashboard/src/pages/session-tabs/PermissionsTab.tsx:16— any type: const allProcs: any[] = permissionsData.processes || []; - [minor]
dashboard/src/pages/session-tabs/PermissionsTab.tsx:19— any type: ? allProcs.filter((p: any) => p.process.toLowerCase().includes(q) || p.binar - [minor]
dashboard/src/pages/session-tabs/PermissionsTab.tsx:21— any type: if (permFilter) filtered = filtered.filter((p: any) => p.permissions[permFilte - [minor]
dashboard/src/pages/session-tabs/PermissionsTab.tsx:22— any type: const withPerms = filtered.filter((p: any) => p.total_events > 0); - [minor]
dashboard/src/pages/session-tabs/PermissionsTab.tsx:23— any type: const withoutPerms = filtered.filter((p: any) => p.total_events === 0); - [minor]
dashboard/src/pages/session-tabs/PermissionsTab.tsx:25— any type: for (const s of sensors) sensorCounts[s] = allProcs.filter((p: any) => p.permi - [minor]
dashboard/src/pages/session-tabs/PermissionsTab.tsx:33— any type: <Card label="Total Events" value={allProcs.reduce((a: number, p: any) => - [minor]
dashboard/src/pages/session-tabs/PermissionsTab.tsx:79— any type: {withPerms.map((p: any) => ( - [minor]
dashboard/src/pages/session-tabs/PermissionsTab.tsx:114— any type: {withoutPerms.map((p: any) => ( - [minor]
dashboard/src/pages/session-tabs/ExfiltrationTab.tsx:6— any type: exfilData: any; - [minor]
dashboard/src/pages/session-tabs/ExfiltrationTab.tsx:38— any type: {exfilData.ai_ide_activity.map((a: any, i: number) => ( - [minor]
dashboard/src/pages/session-tabs/ExfiltrationTab.tsx:87— any type: {exfilData.git_events.filter((e: any) => e.event_type === 'git_recent_ - [minor]
dashboard/src/pages/session-tabs/ExfiltrationTab.tsx:124— any type: {exfilData.git_events.filter((e: any) => e.event_type !== 'git_recent_ - [minor]
dashboard/src/pages/session-tabs/ExfiltrationTab.tsx:127— any type: rows={exfilData.git_events.filter((e: any) => e.event_type !== 'gi - [minor]
dashboard/src/pages/session-tabs/ExfiltrationTab.tsx:142— any type: rows={exfilData.process_launches.map((e: any) => [ - [minor]
dashboard/src/pages/session-tabs/ExfiltrationTab.tsx:156— any type: {exfilData.file_staging.map((e: any, i: number) => ( - [minor]
dashboard/src/pages/session-tabs/ExfiltrationTab.tsx:182— any type: rows={exfilData.remote_copies.map((e: any) => [ - [minor]
dashboard/src/pages/session-tabs/ExfiltrationTab.tsx:198— any type: rows={exfilData.http_requests.slice(0, 100).map((e: any) => [ - [minor]
dashboard/src/pages/session-tabs/PersistenceTab.tsx:5— any type: persistenceData: any; - [minor]
dashboard/src/pages/session-tabs/PersistenceTab.tsx:19— any type: <Card label="Enabled" value={items.filter((i: any) => i.enabled).length} - [minor]
dashboard/src/pages/session-tabs/PersistenceTab.tsx:24— any type: {items.filter((i: any) => i.item_type === type).slice(0, 50).map((it - [minor]
dashboard/src/pages/session-tabs/NetworkTab.tsx:7— any type: totals: any; - [minor]
dashboard/src/pages/session-tabs/NetworkTab.tsx:8— any type: nettop: any[]; - [minor]
dashboard/src/pages/session-tabs/NetworkTab.tsx:10— any type: connections: any[] | undefined; - [minor]
dashboard/src/pages/session-tabs/NetworkTab.tsx:11— any type: networkData: any; - [minor]
dashboard/src/pages/session-tabs/NetworkTab.tsx:12— any type: destinations: any; - [minor]
dashboard/src/pages/session-tabs/NetworkTab.tsx:29— any type: rows={nettop.slice(0, 30).map((n: any) => [ - [minor]
dashboard/src/pages/session-tabs/NetworkTab.tsx:44— any type: rows={connections.slice(0, 50).map((c: any) => [c.process, c.type, c - [minor]
dashboard/src/pages/session-tabs/NetworkTab.tsx:53— any type: rows={networkData.dns.map((d: any) => [d[0], d[1]])} - [minor]
dashboard/src/pages/session-tabs/NetworkTab.tsx:65— any type: <Card label="Suspicious Ports" value={destinations.top_ports?.filter - [minor]
dashboard/src/pages/session-tabs/NetworkTab.tsx:66— any type: color={destinations.top_ports?.some((p: any) => p.suspicious) ? 't - [minor]
dashboard/src/pages/session-tabs/NetworkTab.tsx:73— any type: {destinations.top_destinations.filter((d: any) => !d.internal) - [minor]
dashboard/src/pages/session-tabs/NetworkTab.tsx:86— any type: {destinations.top_ports.slice(0, 12).map((p: any, i: number) = - [minor]
dashboard/src/pages/session-tabs/TimelineTab.tsx:27— any type: timelineData: any; - [minor]
dashboard/src/pages/session-tabs/TimelineTab.tsx:68— any type: {events.map((ev: any, i: number) => { - [minor]
dashboard/src/pages/session-tabs/InsightsTab.tsx:6— any type: insightsData: any; - [minor]
dashboard/src/pages/session-tabs/InsightsTab.tsx:7— any type: networkData: any; - [minor]
dashboard/src/pages/session-tabs/InsightsTab.tsx:19— any type: {insightsData.alerts.map((a: any, i: number) => { - [minor]
dashboard/src/pages/session-tabs/InsightsTab.tsx:40— any type: {insightsData.insights.map((ins: any, i: number) => ( - [minor]
dashboard/src/pages/session-tabs/InsightsTab.tsx:97— any type: {data.errors.map((e: any) =>${e.status} (${e.count})).j - [minor]
dashboard/src/pages/session-tabs/InsightsTab.tsx:115— any type: rows={procs.map((p: any) => { - [minor]
dashboard/src/pages/session-tabs/InsightsTab.tsx:116— any type: const totalAll = procs.reduce((s: number, x: any) => s + x.count - [minor]
dashboard/src/pages/session-tabs/InsightsTab.tsx:134— any type: rows={insightsData.bandwidth_spikes.map((s: any) => [ - [minor]
dashboard/src/pages/session-tabs/InsightsTab.tsx:150— any type: rows={insightsData.baseline_anomalies.map((a: any) => [ - [minor]
dashboard/src/pages/session-tabs/InsightsTab.tsx:167— any type: rows={insightsData.new_processes_with_network.map((p: any) => [ - [minor]
dashboard/src/pages/session-tabs/DevicesTab.tsx:5— any type: devices: any; - [minor]
dashboard/src/pages/session-tabs/DevicesTab.tsx:17— any type: rows={devices.wifi.map((w: any) => [ - [minor]
dashboard/src/pages/session-tabs/DevicesTab.tsx:29— any type: rows={devices.vpn.map((v: any) => [v.interface, v.ip, v.mtu, (v.flag - [minor]
dashboard/src/pages/session-tabs/DevicesTab.tsx:38— any type: rows={devices.interface_bytes.map((i: any) => [i.interface, fmtBytes - [minor]
dashboard/src/pages/session-tabs/DevicesTab.tsx:47— any type: rows={devices.listening_ports.map((p: any) => [p.process, p.pid, p.u - [minor]
dashboard/src/pages/session-tabs/DevicesTab.tsx:56— any type: rows={devices.bluetooth.map((b: any) => [b.name, b.mac, b.type, b.co - [minor]
dashboard/src/pages/session-tabs/DevicesTab.tsx:65— any type: rows={devices.usb.map((u: any) => [u.name, u.vendor, u.serial, u.pro - [minor]
dashboard/src/pages/session-tabs/DevicesTab.tsx:74— any type: rows={devices.arp.map((a: any) => [a.ip, a.mac, a.interface])} - [minor]
dashboard/src/pages/AskQuestion.tsx:14— any type: data?: any; - [minor]
dashboard/src/pages/AskQuestion.tsx:67— any type: } catch (err: any) { - [minor]
dashboard/src/pages/AskQuestion.tsx:103— any type: {(sessions || []).map((s: any) => ( - [minor]
dashboard/src/pages/AskQuestion.tsx:230— any type: function DataPreview({ data }: { data: any[] }) { - [minor]
dashboard/src/pages/AskQuestion.tsx:247— any type: {items.map((row: any, i: number) => ( - [minor]
dashboard/src/pages/Trends.tsx:12— any type: const maxBw = Math.max(...trends.map((t: any) => t.bytes_in + t.bytes_out), 1) - [minor]
dashboard/src/pages/Trends.tsx:13— any type: const maxAlerts = Math.max(...trends.map((t: any) => t.alerts_critical + t.ale - [minor]
dashboard/src/pages/Trends.tsx:26— any type: {trends.map((t: any, i: number) => { - [minor]
dashboard/src/pages/Trends.tsx:55— any type: {trends.map((t: any, i: number) => { - [minor]
dashboard/src/pages/Trends.tsx:86— any type: {trends.map((t: any) => ( - [minor]
dashboard/src/pages/RunAudit.tsx:239— any type: } catch (e: any) { - [minor]
dashboard/src/pages/RunAudit.tsx:265— any type: } catch (e: any) { - [minor]
dashboard/src/pages/RunAudit.tsx:571— any type: {sessions.map((s: any) => ( - [minor]
dashboard/src/pages/LaunchAgents.tsx:5— any type: function AgentTable({ title, agents }: { title: string; agents: any[] }) { - [minor]
dashboard/src/pages/LaunchAgents.tsx:22— any type: {agents.map((a: any, i: number) => { - [minor]
tools/capture_config.py:44— Emoji in code: 📷 - [minor]
tools/capture_config.py:45— Emoji in code: 🖥 - [minor]
tools/capture_config.py:46— Emoji in code: 🎙 - [minor]
tools/capture_config.py:47— Emoji in code: 📍 - [minor]
tools/capture_config.py:48— Emoji in code: 🌐 - [minor]
tools/capture_config.py:49— Emoji in code: 📋 - [minor]
tools/capture_config.py:50— Emoji in code: 📶 - [minor]
tools/capture_config.py:51— Emoji in code: 🔌 - [minor]
tools/capture_config.py:52— Emoji in code: 💾 - [minor]
tools/capture_config.py:53— Emoji in code: 🔤 - [minor]
tools/capture_config.py:54— Emoji in code: 🪟 - [minor]
tools/html_report.py:522— Emoji in code: 🔒 - [minor]
tools/html_report.py:542— Emoji in code: 📸 - [minor]
tools/html_report.py:585— Emoji in code: 🌐 - [minor]
tools/html_report.py:616— Emoji in code: 📱 - [minor]
tools/html_report.py:647— Emoji in code: 🛡 - [minor]
tools/html_report.py:663— Emoji in code: 🔑 - [minor]
tools/secure_vault.py:437— Emoji in code: 🔓 - [minor]
tools/secure_vault.py:442— Emoji in code: 🔓 - [minor]
dashboard/src/pages/SampleViewer.tsx:98— Emoji in code: 💡 - [minor]
dashboard/src/pages/SampleViewer.tsx:101— Emoji in code: 💡 - [minor]
dashboard/src/pages/SampleViewer.tsx:131— Emoji in code: 📍 - [minor]
dashboard/src/pages/Config.tsx:7— Emoji in code: 📷 - [minor]
dashboard/src/pages/Config.tsx:8— Emoji in code: 🌐 - [minor]
dashboard/src/pages/Config.tsx:9— Emoji in code: 💾 - [minor]
dashboard/src/pages/Config.tsx:119— Emoji in code: 📡 - [minor]
dashboard/src/pages/session-tabs/OverviewTab.tsx:54— Emoji in code: 🧠 - [minor]
dashboard/src/pages/session-tabs/OverviewTab.tsx:139— Emoji in code: 📷 - [minor]
dashboard/src/pages/session-tabs/OverviewTab.tsx:228— Emoji in code: 📸 - [minor]
dashboard/src/pages/session-tabs/SamplesTab.tsx:38— Emoji in code: 📷
Ecosystem totals by rule
| Rule | Total findings |
|---|---|
b7-emoji-in-code |
465 |
b4-python-print |
351 |
web-hardcoded-hex |
276 |
ts-any-type |
249 |
b4-console-log |
93 |
b4-swift-print |
7 |
Grand total: 1441 findings across 19 repos.