MentraOS is the leading smart glasses OS. See live captions, stream your view, talk to AI, and capture photos hands-free on compatible glasses.
This report presents the forensic synthetic code analysis of Mentra-Community/MentraOS, a TypeScript project with 2,226 GitHub stars. SynthScan v2.0 examined 1,001,841 lines of code across 4341 source files, recording 2071 pattern matches distributed across 20 syntactic categories. The overall adjusted score of 5.0 places this repository in the Low AI signal band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
Longitudinal tracking requires multiple scan runs. Once this repository is re-scanned after new commits land, this chart will visualise how the synthetic code signal evolves over time — enabling you to detect whether AI authorship is growing, stabilising, or being actively corrected by human engineers.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 2071 distinct pattern matches across 20 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …tions/src/background/controllers/CaptionsController.ts | 64 | // ── Settings defaults (mirror SettingsManager) ───────────────────────────── | COMMENT |
| MEDIUM | …tions/src/background/controllers/CaptionsController.ts | 82 | // ── Profile selection (verbatim from DisplayManager) ─────────────────────── | COMMENT |
| MEDIUM⚡ | …tions/src/background/controllers/CaptionsController.ts | 125 | // ── Settings state (SettingsManager) ───────────────────────────────────── | COMMENT |
| MEDIUM⚡ | …tions/src/background/controllers/CaptionsController.ts | 128 | // ── Transcript list state (TranscriptsManager) ─────────────────────────── | COMMENT |
| MEDIUM⚡ | …tions/src/background/controllers/CaptionsController.ts | 132 | // ── Display state (DisplayManager) ─────────────────────────────────────── | COMMENT |
| MEDIUM | …tions/src/background/controllers/CaptionsController.ts | 210 | // ─────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …tions/src/background/controllers/CaptionsController.ts | 212 | // ─────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …tions/src/background/controllers/CaptionsController.ts | 272 | // ─────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …tions/src/background/controllers/CaptionsController.ts | 274 | // ─────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …tions/src/background/controllers/CaptionsController.ts | 368 | // ─────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …tions/src/background/controllers/CaptionsController.ts | 370 | // ─────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …tions/src/background/controllers/CaptionsController.ts | 423 | // ─────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …tions/src/background/controllers/CaptionsController.ts | 425 | // ─────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …tions/src/background/controllers/CaptionsController.ts | 561 | // ─────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …tions/src/background/controllers/CaptionsController.ts | 563 | // ─────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | miniapps/captions/src/shared/channels.ts | 25 | // ── background → UI ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM | miniapps/captions/src/shared/channels.ts | 40 | // ── UI → background ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …iapps/teleprompter/src/background/core/ScriptEngine.ts | 86 | // ── Configuration ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …iapps/teleprompter/src/background/core/ScriptEngine.ts | 121 | // ── Cursor ↔ layout mapping ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | …iapps/teleprompter/src/background/core/ScriptEngine.ts | 168 | // ── Voice following ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …iapps/teleprompter/src/background/core/ScriptEngine.ts | 221 | // ── Internals ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …r/src/background/controllers/TeleprompterController.ts | 88 | // ── Playback state ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …r/src/background/controllers/TeleprompterController.ts | 107 | // ─────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …r/src/background/controllers/TeleprompterController.ts | 109 | // ─────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …r/src/background/controllers/TeleprompterController.ts | 210 | // ─────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …r/src/background/controllers/TeleprompterController.ts | 212 | // ─────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …r/src/background/controllers/TeleprompterController.ts | 233 | // ─────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …r/src/background/controllers/TeleprompterController.ts | 235 | // ─────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …r/src/background/controllers/TeleprompterController.ts | 307 | // ─────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …r/src/background/controllers/TeleprompterController.ts | 309 | // ─────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …r/src/background/controllers/TeleprompterController.ts | 381 | // ─────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …r/src/background/controllers/TeleprompterController.ts | 383 | // ─────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …r/src/background/controllers/TeleprompterController.ts | 416 | // ─────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …r/src/background/controllers/TeleprompterController.ts | 418 | // ─────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …r/src/background/controllers/TeleprompterController.ts | 501 | // ─────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …r/src/background/controllers/TeleprompterController.ts | 503 | // ─────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …r/src/background/controllers/TeleprompterController.ts | 628 | // ─────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …r/src/background/controllers/TeleprompterController.ts | 630 | // ─────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …r/src/background/controllers/TeleprompterController.ts | 664 | // ─────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …r/src/background/controllers/TeleprompterController.ts | 666 | // ─────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …r/src/background/controllers/TeleprompterController.ts | 720 | // ─────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …r/src/background/controllers/TeleprompterController.ts | 722 | // ─────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …r/src/background/controllers/TeleprompterController.ts | 745 | // ─────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …r/src/background/controllers/TeleprompterController.ts | 747 | // ─────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …niapps/teleprompter/src/ui/components/SettingsView.tsx | 107 | // ── Building blocks ───────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | miniapps/teleprompter/src/ui/hooks/useTeleprompter.ts | 64 | // ── Settings writes (optimistic) ───────────────────────────────────────── | COMMENT |
| MEDIUM | miniapps/teleprompter/src/ui/hooks/useTeleprompter.ts | 119 | // ── Transport ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | miniapps/teleprompter/src/shared/channels.ts | 14 | // ── background → UI ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM | miniapps/teleprompter/src/shared/channels.ts | 23 | // ── UI → background ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …on/src/background/controllers/TranslationController.ts | 61 | // ── Settings defaults (mirror SettingsManager) ───────────────────────────── | COMMENT |
| MEDIUM | …on/src/background/controllers/TranslationController.ts | 80 | // ── Profile selection (verbatim from DisplayManager) ─────────────────────── | COMMENT |
| MEDIUM⚡ | …on/src/background/controllers/TranslationController.ts | 123 | // ── Settings state (SettingsManager) ───────────────────────────────────── | COMMENT |
| MEDIUM⚡ | …on/src/background/controllers/TranslationController.ts | 126 | // ── Translation list state ─────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | …on/src/background/controllers/TranslationController.ts | 130 | // ── Display state (DisplayManager) ─────────────────────────────────────── | COMMENT |
| MEDIUM | …on/src/background/controllers/TranslationController.ts | 209 | // ─────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …on/src/background/controllers/TranslationController.ts | 211 | // ─────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …on/src/background/controllers/TranslationController.ts | 265 | // ─────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …on/src/background/controllers/TranslationController.ts | 267 | // ─────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …on/src/background/controllers/TranslationController.ts | 318 | // ─────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …on/src/background/controllers/TranslationController.ts | 320 | // ─────────────────────────────────────────────────────────────────────── | COMMENT |
| 514 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL⚡ | asg_client/build_log.txt | 2972 | at org.gradle.cache.internal.DefaultPersistentDirectoryStore.open(DefaultPersistentDirectoryStore.java:91) | CODE |
| CRITICAL⚡ | asg_client/build_log.txt | 2973 | at org.gradle.cache.internal.DefaultPersistentDirectoryStore.open(DefaultPersistentDirectoryStore.java:43) | CODE |
| CRITICAL⚡ | asg_client/build_log.txt | 2974 | at org.gradle.cache.internal.DefaultCacheFactory.doOpen(DefaultCacheFactory.java:103) | CODE |
| CRITICAL⚡ | asg_client/build_log.txt | 2975 | at org.gradle.cache.internal.DefaultCacheFactory.open(DefaultCacheFactory.java:68) | CODE |
| CRITICAL⚡ | asg_client/build_log.txt | 2977 | at org.gradle.groovy.scripts.internal.FileCacheBackedScriptClassCompiler.compile(FileCacheBackedScriptClassCompiler.jav | CODE |
| CRITICAL⚡ | asg_client/build_log.txt | 2978 | at org.gradle.groovy.scripts.internal.CrossBuildInMemoryCachingScriptClassCache.getOrCompile(CrossBuildInMemoryCachingS | CODE |
| CRITICAL⚡ | asg_client/build_log.txt | 2979 | at org.gradle.groovy.scripts.internal.BuildScopeInMemoryCachingScriptClassCompiler.compile(BuildScopeInMemoryCachingScr | CODE |
| CRITICAL⚡ | asg_client/build_log.txt | 2987 | at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157) | CODE |
| CRITICAL⚡ | asg_client/build_log.txt | 2988 | at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59) | CODE |
| CRITICAL⚡ | asg_client/build_log.txt | 2989 | at org.gradle.internal.operations.DefaultBuildOperationRunner.run(DefaultBuildOperationRunner.java:47) | CODE |
| CRITICAL⚡ | asg_client/build_log.txt | 2990 | at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:68) | CODE |
| CRITICAL⚡ | asg_client/build_log.txt | 2992 | at org.gradle.configuration.internal.DefaultUserCodeApplicationContext.apply(DefaultUserCodeApplicationContext.java:44) | CODE |
| CRITICAL⚡ | asg_client/build_log.txt | 3004 | at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157) | CODE |
| CRITICAL⚡ | asg_client/build_log.txt | 3005 | at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59) | CODE |
| CRITICAL⚡ | asg_client/build_log.txt | 3006 | at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53) | CODE |
| CRITICAL⚡ | asg_client/build_log.txt | 3007 | at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:73) | CODE |
| CRITICAL⚡ | asg_client/build_log.txt | 3012 | at org.gradle.internal.composite.CommandLineIncludedBuildSettingsLoader.findAndLoadSettings(CommandLineIncludedBuildSet | CODE |
| CRITICAL⚡ | asg_client/build_log.txt | 3013 | at org.gradle.internal.composite.ChildBuildRegisteringSettingsLoader.findAndLoadSettings(ChildBuildRegisteringSettingsL | CODE |
| CRITICAL⚡ | asg_client/build_log.txt | 3014 | at org.gradle.internal.composite.CompositeBuildSettingsLoader.findAndLoadSettings(CompositeBuildSettingsLoader.java:35) | CODE |
| CRITICAL⚡ | asg_client/build_log.txt | 3024 | at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157) | CODE |
| CRITICAL⚡ | asg_client/build_log.txt | 3025 | at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59) | CODE |
| CRITICAL⚡ | asg_client/build_log.txt | 3026 | at org.gradle.internal.operations.DefaultBuildOperationRunner.run(DefaultBuildOperationRunner.java:47) | CODE |
| CRITICAL⚡ | asg_client/build_log.txt | 3027 | at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:68) | CODE |
| CRITICAL⚡ | asg_client/build_log.txt | 3031 | at org.gradle.internal.model.StateTransitionController.doTransition(StateTransitionController.java:247) | CODE |
| CRITICAL⚡ | asg_client/build_log.txt | 3032 | at org.gradle.internal.model.StateTransitionController.doTransition(StateTransitionController.java:235) | CODE |
| CRITICAL⚡ | asg_client/build_log.txt | 3034 | at org.gradle.internal.work.DefaultSynchronizer.withLock(DefaultSynchronizer.java:34) | CODE |
| CRITICAL⚡ | asg_client/build_log.txt | 3035 | at org.gradle.internal.model.StateTransitionController.transitionIfNotPreviously(StateTransitionController.java:206) | CODE |
| CRITICAL⚡ | asg_client/build_log.txt | 3040 | at org.gradle.internal.model.StateTransitionController.doTransition(StateTransitionController.java:247) | CODE |
| CRITICAL⚡ | asg_client/build_log.txt | 3041 | at org.gradle.internal.model.StateTransitionController.doTransition(StateTransitionController.java:235) | CODE |
| CRITICAL⚡ | asg_client/build_log.txt | 3043 | at org.gradle.internal.work.DefaultSynchronizer.withLock(DefaultSynchronizer.java:34) | CODE |
| CRITICAL⚡ | asg_client/build_log.txt | 3044 | at org.gradle.internal.model.StateTransitionController.maybeTransition(StateTransitionController.java:183) | CODE |
| CRITICAL⚡ | asg_client/build_log.txt | 3045 | at org.gradle.internal.build.DefaultBuildLifecycleController.prepareToScheduleTasks(DefaultBuildLifecycleController.jav | CODE |
| CRITICAL⚡ | asg_client/build_log.txt | 3046 | at org.gradle.internal.buildtree.DefaultBuildTreeWorkPreparer.scheduleRequestedTasks(DefaultBuildTreeWorkPreparer.java: | CODE |
| CRITICAL⚡ | asg_client/build_log.txt | 3048 | at org.gradle.composite.internal.DefaultIncludedBuildTaskGraph.withNewWorkGraph(DefaultIncludedBuildTaskGraph.java:109) | CODE |
| CRITICAL⚡ | asg_client/build_log.txt | 3049 | at org.gradle.internal.buildtree.DefaultBuildTreeLifecycleController.doScheduleAndRunTasks(DefaultBuildTreeLifecycleCon | CODE |
| CRITICAL⚡ | asg_client/build_log.txt | 3053 | at org.gradle.internal.model.StateTransitionController.doTransition(StateTransitionController.java:247) | CODE |
| CRITICAL⚡ | asg_client/build_log.txt | 3055 | at org.gradle.internal.work.DefaultSynchronizer.withLock(DefaultSynchronizer.java:44) | CODE |
| CRITICAL⚡ | asg_client/build_log.txt | 3056 | at org.gradle.internal.model.StateTransitionController.transition(StateTransitionController.java:166) | CODE |
| CRITICAL⚡ | asg_client/build_log.txt | 3057 | at org.gradle.internal.buildtree.DefaultBuildTreeLifecycleController.runBuild(DefaultBuildTreeLifecycleController.java: | CODE |
| CRITICAL⚡ | asg_client/build_log.txt | 3058 | at org.gradle.internal.buildtree.DefaultBuildTreeLifecycleController.scheduleAndRunTasks(DefaultBuildTreeLifecycleContr | CODE |
| CRITICAL⚡ | asg_client/build_log.txt | 3059 | at org.gradle.internal.buildtree.DefaultBuildTreeLifecycleController.scheduleAndRunTasks(DefaultBuildTreeLifecycleContr | CODE |
| CRITICAL⚡ | asg_client/build_log.txt | 3060 | at org.gradle.tooling.internal.provider.ExecuteBuildActionRunner.run(ExecuteBuildActionRunner.java:31) | CODE |
| CRITICAL⚡ | asg_client/build_log.txt | 3061 | at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35) | CODE |
| CRITICAL⚡ | asg_client/build_log.txt | 3062 | at org.gradle.internal.buildtree.ProblemReportingBuildActionRunner.run(ProblemReportingBuildActionRunner.java:49) | CODE |
| CRITICAL⚡ | asg_client/build_log.txt | 3063 | at org.gradle.launcher.exec.BuildOutcomeReportingBuildActionRunner.run(BuildOutcomeReportingBuildActionRunner.java:65) | CODE |
| CRITICAL⚡ | asg_client/build_log.txt | 3064 | at org.gradle.tooling.internal.provider.FileSystemWatchingBuildActionRunner.run(FileSystemWatchingBuildActionRunner.jav | CODE |
| CRITICAL⚡ | asg_client/build_log.txt | 3065 | at org.gradle.launcher.exec.BuildCompletionNotifyingBuildActionRunner.run(BuildCompletionNotifyingBuildActionRunner.jav | CODE |
| CRITICAL⚡ | asg_client/build_log.txt | 3067 | at org.gradle.composite.internal.DefaultRootBuildState.run(DefaultRootBuildState.java:122) | CODE |
| CRITICAL⚡ | asg_client/build_log.txt | 3068 | at org.gradle.launcher.exec.RootBuildLifecycleBuildActionExecutor.execute(RootBuildLifecycleBuildActionExecutor.java:40 | CODE |
| CRITICAL⚡ | asg_client/build_log.txt | 3069 | at org.gradle.internal.buildtree.DefaultBuildTreeContext.execute(DefaultBuildTreeContext.java:40) | CODE |
| CRITICAL⚡ | asg_client/build_log.txt | 3071 | at org.gradle.internal.buildtree.BuildTreeState.run(BuildTreeState.java:53) | CODE |
| CRITICAL⚡ | asg_client/build_log.txt | 3072 | at org.gradle.launcher.exec.BuildTreeLifecycleBuildActionExecutor.execute(BuildTreeLifecycleBuildActionExecutor.java:65 | CODE |
| CRITICAL⚡ | asg_client/build_log.txt | 3079 | at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157) | CODE |
| CRITICAL⚡ | asg_client/build_log.txt | 3080 | at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59) | CODE |
| CRITICAL⚡ | asg_client/build_log.txt | 3081 | at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53) | CODE |
| CRITICAL⚡ | asg_client/build_log.txt | 3082 | at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:73) | CODE |
| CRITICAL⚡ | asg_client/build_log.txt | 3083 | at org.gradle.launcher.exec.RunAsBuildOperationBuildActionExecutor.execute(RunAsBuildOperationBuildActionExecutor.java: | CODE |
| CRITICAL⚡ | asg_client/build_log.txt | 3085 | at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:249) | CODE |
| CRITICAL⚡ | asg_client/build_log.txt | 3086 | at org.gradle.internal.work.DefaultWorkerLeaseService.runAsWorkerThread(DefaultWorkerLeaseService.java:109) | CODE |
| CRITICAL⚡ | asg_client/build_log.txt | 3087 | at org.gradle.launcher.exec.RunAsWorkerThreadBuildActionExecutor.execute(RunAsWorkerThreadBuildActionExecutor.java:36) | CODE |
| 73 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | …core/handlers/subscribers/ShutdownEventSubscriber.java | 55 | // Step 1: Send acknowledgment back to BES | COMMENT |
| LOW⚡ | …core/handlers/subscribers/ShutdownEventSubscriber.java | 58 | // Step 2: Stop active video recording to finalize moov atom and prevent corruption | COMMENT |
| LOW⚡ | …core/handlers/subscribers/ShutdownEventSubscriber.java | 61 | // Step 3: Perform graceful shutdown after delay to ensure ACK is sent and recording | COMMENT |
| LOW | asg_client/scripts/restore-stock.sh | 33 | # Step 1: Uninstall third-party build | COMMENT |
| LOW⚡ | asg_client/scripts/restore-stock.sh | 44 | # Step 2: Re-enable stock app | COMMENT |
| LOW⚡ | asg_client/scripts/restore-stock.sh | 53 | # Step 3: Grant permissions (failsafe) | COMMENT |
| LOW | asg_client/scripts/restore-stock.sh | 83 | # Step 4: Check for updates | COMMENT |
| LOW | asg_client/scripts/restore-stock.sh | 137 | # Step 5: Restore stock as default launcher | COMMENT |
| LOW | asg_client/scripts/restore-stock.sh | 149 | # Step 6: Launch stock app | COMMENT |
| LOW | asg_client/scripts/dev-setup.sh | 68 | # Step 1: Build the debug APK | COMMENT |
| LOW⚡ | asg_client/scripts/dev-setup.sh | 91 | # Step 2: Disable stock app | COMMENT |
| LOW⚡ | asg_client/scripts/dev-setup.sh | 100 | # Step 3: Uninstall any previous dev build | COMMENT |
| LOW⚡ | asg_client/scripts/dev-setup.sh | 105 | # Step 4: Install new build | COMMENT |
| LOW | asg_client/scripts/dev-setup.sh | 119 | # Step 5: Grant additional permissions | COMMENT |
| LOW | asg_client/scripts/dev-setup.sh | 150 | # Step 6: Set as default home launcher | COMMENT |
| LOW | asg_client/scripts/dev-setup.sh | 164 | # Step 7: Launch the app | COMMENT |
| LOW | …va/com/augmentos/otaupdater/worker/RecoveryWorker.java | 197 | // Step 1: Try restarting the service multiple times | COMMENT |
| LOW | …va/com/augmentos/otaupdater/worker/RecoveryWorker.java | 219 | // Step 2: If restart didn't work, try APK reinstallation | COMMENT |
| LOW⚡ | agents/ai-denoising-plan.md | 158 | // Step 1: Lens distortion correction (existing) | COMMENT |
| LOW⚡ | agents/ai-denoising-plan.md | 159 | // Step 2: AI denoising (NEW) | COMMENT |
| LOW⚡ | agents/ai-denoising-plan.md | 164 | // Step 3: Tone mapping (existing) | COMMENT |
| LOW⚡ | agents/ai-denoising-plan.md | 165 | // Step 4: Color correction (existing) | COMMENT |
| LOW⚡ | agents/ai-denoising-plan.md | 219 | // Step 1: Lens distortion correction (existing) | COMMENT |
| LOW⚡ | agents/ai-denoising-plan.md | 220 | // Step 2: AI denoising (NEW) | COMMENT |
| LOW⚡ | agents/ai-denoising-plan.md | 224 | // Step 3: Tone mapping (existing) | COMMENT |
| LOW⚡ | agents/ai-denoising-plan.md | 225 | // Step 4: Vibrance (existing) | COMMENT |
| LOW⚡ | agents/ai-denoising-plan.md | 226 | // Step 5: Color correction (existing) | COMMENT |
| LOW⚡ | mobile/scripts/setup-ios.sh | 91 | # Step 1: Install npm dependencies | COMMENT |
| LOW⚡ | mobile/scripts/setup-ios.sh | 96 | # Step 2: Run expo prebuild | COMMENT |
| LOW⚡ | mobile/scripts/setup-ios.sh | 101 | # Step 3: Install CocoaPods dependencies | COMMENT |
| LOW | mobile/scripts/setup-ios.sh | 118 | # Step 4: Open Xcode workspace | COMMENT |
| LOW | mobile/scripts/old/fix-android-build.sh | 18 | # Step 1: Clean all build artifacts, caches, and lock files | COMMENT |
| LOW⚡ | mobile/scripts/old/fix-android-build.sh | 35 | # Step 2: Install dependencies with clean slate | COMMENT |
| LOW⚡ | mobile/scripts/old/fix-android-build.sh | 40 | # Step 3: Verify dependencies are healthy | COMMENT |
| LOW⚡ | mobile/scripts/old/fix-android-build.sh | 49 | # Step 4: Prebuild with Expo | COMMENT |
| LOW⚡ | mobile/scripts/old/fix-android-build.sh | 54 | # Step 5: Fix React Native symlinks | COMMENT |
| LOW⚡ | mobile/scripts/old/fix-android-build.sh | 90 | # Step 6: Clean Gradle cache | COMMENT |
| LOW⚡ | mobile/scripts/old/fix-android-build.sh | 95 | # Step 7: Final dependency check | COMMENT |
| LOW⚡ | mobile/scripts/old/fix-android-build.sh | 103 | # Step 8: Build Android | COMMENT |
| LOW⚡ | …le/modules/crust/ios/Source/utils/ImageProcessor.swift | 66 | // Step 1: Lens distortion correction | COMMENT |
| LOW⚡ | …le/modules/crust/ios/Source/utils/ImageProcessor.swift | 71 | // Step 2: Tone mapping — S-curve + vibrance | COMMENT |
| LOW⚡ | …le/modules/crust/ios/Source/utils/ImageProcessor.swift | 77 | // Step 3: Color correction — linear warmth/tint | COMMENT |
| LOW⚡ | …c/main/java/com/mentra/crust/utils/ImageProcessor.java | 157 | // Step 1: Lens distortion correction | COMMENT |
| LOW⚡ | …c/main/java/com/mentra/crust/utils/ImageProcessor.java | 165 | // Step 2: Tone mapping + vibrance + color correction in linear space | COMMENT |
| LOW | mobile/src/app/miniapps/settings/profile.tsx | 98 | // Step 1: Initial warning | COMMENT |
| LOW | mobile/src/app/miniapps/settings/profile.tsx | 109 | // Step 2: Generic confirmation - delay to let first modal close | COMMENT |
| LOW | mobile/src/app/miniapps/settings/profile.tsx | 121 | // Step 3: Final severe warning - delay to let second modal close | COMMENT |
| LOW | mobile/src/app/auth/signup.tsx | 128 | // Step 1: Email input | COMMENT |
| LOW | mobile/src/app/auth/signup.tsx | 172 | // Step 2: Password + Confirm password | COMMENT |
| LOW⚡ | mobile/src/utils/LogoutUtils.ts | 19 | // Step 1: Disconnect and forget any connected glasses | COMMENT |
| LOW⚡ | mobile/src/utils/LogoutUtils.ts | 22 | // Step 2: Stop island runtime services before clearing auth/session state | COMMENT |
| LOW⚡ | mobile/src/utils/LogoutUtils.ts | 25 | // Step 3: Sign out of the account provider + wipe legacy auth storage | COMMENT |
| LOW⚡ | mobile/src/utils/LogoutUtils.ts | 28 | // Step 5: Clear all app settings and user data | COMMENT |
| LOW⚡ | mobile/src/utils/LogoutUtils.ts | 31 | // Step 6: Clear any remaining auth-related storage | COMMENT |
| LOW⚡ | mobile/src/utils/LogoutUtils.ts | 34 | // Step 7: Reset status providers and event emitters | COMMENT |
| LOW⚡ | …rc/components/navigation/SnapshotTransitionOverlay.tsx | 51 | // Step 1: Capture the current view | COMMENT |
| LOW⚡ | …rc/components/navigation/SnapshotTransitionOverlay.tsx | 58 | // Step 2: Show the overlay with the old snapshot | COMMENT |
| LOW⚡ | …rc/components/navigation/SnapshotTransitionOverlay.tsx | 63 | // Step 3: Perform the navigation (user still sees old snapshot) | COMMENT |
| LOW⚡ | …rc/components/navigation/SnapshotTransitionOverlay.tsx | 66 | // Step 4: Wait a frame for navigation to complete, then capture new view | COMMENT |
| LOW⚡ | …rc/components/navigation/SnapshotTransitionOverlay.tsx | 76 | // Step 5: Set the new snapshot | COMMENT |
| 236 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | bunfig.toml | 1 | # Use the isolated linker so workspace packages that are ALSO members of other | COMMENT |
| LOW | miniapps/navigation/build.ts | 21 | // dev panel can show which build is running. | COMMENT |
| LOW | …apps/navigation/src/background/NavigationController.ts | 61 | COMMENT | |
| LOW | …apps/navigation/src/background/NavigationController.ts | 81 | private lastMinimapAt = 0 | COMMENT |
| LOW | …apps/navigation/src/background/NavigationController.ts | 101 | // How often the watchdog checks for staleness (and the steady re-push cadence | COMMENT |
| LOW | …apps/navigation/src/background/NavigationController.ts | 121 | // when distance/ETA actually changes (avoids churning the G2 text container). | COMMENT |
| LOW | …apps/navigation/src/background/NavigationController.ts | 161 | // True while the user is in the 15–30m advisory band. Drives the | COMMENT |
| LOW | …apps/navigation/src/background/NavigationController.ts | 181 | private lastStartOpts: (StartNavigationOptions & {destinationName?: string}) | null = null | COMMENT |
| LOW | …apps/navigation/src/background/NavigationController.ts | 461 | this.cachedInstructions && i < this.cachedInstructions.length | COMMENT |
| LOW | …apps/navigation/src/background/NavigationController.ts | 501 | } | COMMENT |
| LOW | …apps/navigation/src/background/NavigationController.ts | 621 | this.ui.send("nav:trip-state", this.trip) | COMMENT |
| LOW | …apps/navigation/src/background/NavigationController.ts | 821 | this.offRouteAdvisory = false | COMMENT |
| LOW | …apps/navigation/src/background/NavigationController.ts | 1441 | let maneuverBody: string | null = null | COMMENT |
| LOW | …apps/navigation/src/background/NavigationController.ts | 1461 | // other or they'll diverge. | COMMENT |
| LOW | …apps/navigation/src/background/NavigationController.ts | 1481 | next = "Welcome to Mentra Maps!\nPick a destination to get started." | COMMENT |
| LOW | …apps/navigation/src/background/NavigationController.ts | 1501 | // every location tick (the bottom box proved accurate + low-latency + | COMMENT |
| LOW | …apps/navigation/src/background/NavigationController.ts | 1581 | // Suppress the trip stats while the off-route "Go back in X m" advisory is | COMMENT |
| LOW | …apps/navigation/src/background/NavigationController.ts | 1701 | // when the user moves past a threshold (PoC: fetch-on-move, ~1s lag accepted). | COMMENT |
| LOW | …apps/navigation/src/background/NavigationController.ts | 1721 | // display-update rate; faster than this just burns CPU + BLE for frames the | COMMENT |
| LOW | …apps/navigation/src/background/NavigationController.ts | 1781 | // movement vector (anchor→current, recomputed every ≥3 m of travel) — no | COMMENT |
| LOW | …apps/navigation/src/background/NavigationController.ts | 1961 | // route polyline. Thresholds: | COMMENT |
| LOW | …apps/navigation/src/background/NavigationController.ts | 2021 | this.refreshHUD() | COMMENT |
| LOW | …apps/navigation/src/background/NavigationController.ts | 2041 | COMMENT | |
| LOW | …apps/navigation/src/background/NavigationController.ts | 2361 | } | COMMENT |
| LOW | …s/navigation/src/background/managers/DisplayManager.ts | 21 | static readonly HUD = { | COMMENT |
| LOW | miniapps/navigation/src/ui/pages/AddPlacePage/index.tsx | 41 | const [loading, setLoading] = useState(false) | COMMENT |
| LOW | miniapps/navigation/src/ui/pages/AddPlacePage/index.tsx | 61 | const [editingType, setEditingType] = useState<"home" | "work" | null>(presetType ?? null) | COMMENT |
| LOW | miniapps/navigation/src/ui/pages/AddPlacePage/index.tsx | 101 | const queryRef = useRef(query) | COMMENT |
| LOW | miniapps/navigation/src/ui/pages/AddPlacePage/index.tsx | 141 | }, [searchActive]) | COMMENT |
| LOW | miniapps/navigation/src/ui/pages/AddPlacePage/index.tsx | 181 | entryPushed: searchEntryPushedRef.current, | COMMENT |
| LOW | …igation/src/ui/pages/NavigationPage/NavigationPage.tsx | 61 | /\b(st|street|ave|avenue|blvd|boulevard|rd|road|dr|drive|ln|lane|way|ct|court|pl|place|ter|terrace|hwy|highway)\b\.?/g | COMMENT |
| LOW | …igation/src/ui/pages/NavigationPage/NavigationPage.tsx | 81 | // | COMMENT |
| LOW | …igation/src/ui/pages/NavigationPage/NavigationPage.tsx | 321 | }, [status]) | COMMENT |
| LOW | …igation/src/ui/pages/NavigationPage/NavigationPage.tsx | 401 | // A dot survives THREE filters: | COMMENT |
| LOW | …igation/src/ui/pages/NavigationPage/NavigationPage.tsx | 781 | lng: coord.lng, | COMMENT |
| LOW | …igation/src/ui/pages/NavigationPage/NavigationPage.tsx | 841 | <NavMap | COMMENT |
| LOW | miniapps/navigation/src/shared/maneuverDisplay.ts | 81 | // but `kind` still points at the wrong/next turn — that's the flash of the | COMMENT |
| LOW | …/example-miniapp/src/ui/pages/tester/StreamingPage.tsx | 1 | // Tester page — exercises session.stream. | COMMENT |
| LOW | …java/com/mentra/asg_client/camera/CameraConstants.java | 81 | COMMENT | |
| LOW | …client/io/bluetooth/managers/K900BluetoothManager.java | 81 | 75; // Delay between successful packets - BES2700 needs time to drain BLE TX | COMMENT |
| LOW | …client/io/bluetooth/managers/K900BluetoothManager.java | 1241 | // Flow: | COMMENT |
| LOW | …va/com/mentra/asg_client/io/ota/helpers/OtaHelper.java | 501 | Log.d(TAG, "Version JSON parsed successfully. Root keys -> apps=" + json.has("apps") | COMMENT |
| LOW | …/com/mentra/asg_client/io/ota/services/OtaService.java | 221 | updateNotification("MTK firmware updated successfully"); | COMMENT |
| LOW | …java/com/mentra/asg_client/utils/PermissionsUtils.java | 161 | Manifest.permission.BLUETOOTH_ADVERTISE, | COMMENT |
| LOW | asg_client/docs/fps-thermal-test/fps-thermal-test.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | asg_client/docs/agents/set-ci-signing-secrets.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | asg_client/scripts/test-apk-ota.sh | 1 | #!/bin/bash | COMMENT |
| LOW | asg_client/scripts/test-webrtc-streaming.sh | 1 | #!/bin/bash | COMMENT |
| LOW | …ent/scripts/assemble-release-upload-restore-version.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | asg_client/scripts/fps-thermal-test.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | asg_client/scripts/upload-asg-client-github-release.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | asg_client/scripts/test-mtk-ota.sh | 1 | #!/bin/bash | COMMENT |
| LOW | asg_client/scripts/dev-setup.sh | 1 | #!/bin/bash | COMMENT |
| LOW | agents/mentrajs-two-layer-miniapp-architecture.md | 661 | // Fires once each time a WebView mounts and acks `mentra.ready()`. | COMMENT |
| LOW | mobile/jest.setup.js | 241 | // LocalMiniappRuntime pulls heavy native modules (react-native-share, expo-*). | COMMENT |
| LOW | mobile/jest.setup.js | 281 | // implementation (pure: settings store + types only) so host screens/tests | COMMENT |
| LOW | mobile/boundary-allowlist.txt | 1 | # Temporary allowlist for production host files that still touch raw island | COMMENT |
| LOW | mobile/doppler.yaml | 1 | # Repo-level Doppler defaults for the mobile client. | COMMENT |
| LOW | mobile/metro.config.js | 41 | // Resolve the core module from the parent directory | COMMENT |
| LOW | mobile/metro.config.js | 61 | // not what's in src/. That means a dev edits modules/engine/src, runs the app, | COMMENT |
| 384 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …erge/backend/src/services/insights/insights.service.ts | 315 | function isContextSensitiveWorkstream(text: string): boolean { | CODE |
| LOW | miniapps/navigation/src/ui/router.tsx | 34 | export function suppressNextRouterPopOnce(): void { | CODE |
| LOW | miniapps/navigation/src/ui/router.tsx | 42 | export function clearSuppressNextRouterPop(): void { | CODE |
| LOW | miniapps/navigation/src/ui/store/navStore.ts | 64 | export function installChannelSubscribers(): void { | CODE |
| LOW | agents/frame_supp.md | 147 | export function BrilliantLabsFramePairingGuide() { | CODE |
| LOW | agents/ios_ctkd_resolution.md | 497 | export function BluetoothAudioPairingGuide({ | CODE |
| LOW | …s/2026-05-16-navigation-miniapp-two-layer-migration.md | 3012 | export function installChannelSubscribers(): void { | CODE |
| LOW | mobile/plugins/android.ts | 39 | function withAppBuildGradleModifications(config: any) { | CODE |
| LOW | mobile/plugins/android.ts | 189 | function withAndroidManifestModifications(config: any) { | CODE |
| LOW | mobile/plugins/android.ts | 478 | function withGradlePropertiesModifications(config: any) { | CODE |
| LOW | mobile/plugins/android.ts | 546 | function withSettingsGradleModifications(config: any) { | CODE |
| LOW | mobile/plugins/remove-ipad-orientations.js | 3 | module.exports = function withRemoveIpadOrientations(config) { | CODE |
| LOW | mobile/agents/notifications_restoration_plan.md | 252 | export async function setNotificationsBlocklist(blocklist: string[]) { | CODE |
| LOW | mobile/agents/notifications_restoration_plan.md | 256 | export async function getNotificationsBlocklist() { | CODE |
| LOW | mobile/agents/notifications_restoration_plan.md | 280 | export function usePhoneNotificationListener(onNotification?: (notification: PhoneNotification) => void) { | CODE |
| LOW⚡ | mobile/e2e-tests/scripts/live_word_monitor.py | 726 | def incident_primary_sort_key(self, incident: dict[str, Any]) -> tuple[int, str, int, str]: | CODE |
| LOW⚡ | mobile/e2e-tests/scripts/live_word_monitor.py | 733 | def current_primary_incident_id(self, device_id: str) -> str | None: | CODE |
| LOW⚡ | mobile/e2e-tests/scripts/live_word_monitor.py | 740 | def recompute_primary_incident(self, device_id: str, now_ms: int) -> tuple[str | None, str | None]: | CODE |
| LOW⚡ | mobile/e2e-tests/scripts/live_word_monitor.py | 801 | def snapshot_word_history_limit(self) -> int: | CODE |
| LOW⚡ | mobile/e2e-tests/scripts/live_word_monitor.py | 804 | def snapshot_completed_utterance_limit(self) -> int: | CODE |
| LOW⚡ | mobile/e2e-tests/scripts/live_word_monitor.py | 807 | def snapshot_recent_word_match_limit(self) -> int: | CODE |
| LOW⚡ | mobile/e2e-tests/scripts/live_word_monitor.py | 817 | def find_ongoing_incident_by_type(self, device_id: str, incident_type: str) -> dict[str, Any] | None: | CODE |
| LOW | mobile/e2e-tests/scripts/live_word_monitor.py | 766 | def append_primary_transition_event(self, device_id: str, previous_primary_id: str | None, new_primary_id: str | Non | CODE |
| LOW | mobile/e2e-tests/scripts/live_word_monitor.py | 1084 | def build_candidate_token_positions(candidate_tokens: list[str]) -> dict[str, list[int]]: | CODE |
| LOW | mobile/e2e-tests/scripts/live_word_monitor.py | 1131 | def get_default_output_device_name() -> str | None: | CODE |
| LOW | mobile/e2e-tests/scripts/live_word_monitor.py | 1154 | def ensure_audio_output_device(device_name: str) -> None: | CODE |
| LOW | mobile/e2e-tests/scripts/live_word_monitor.py | 1203 | def should_accept_display_payload(self, payload: dict[str, Any]) -> bool: | CODE |
| LOW | mobile/e2e-tests/scripts/live_word_monitor.py | 1352 | def handle_captions_tester_incident_result(self, device_id: str, payload: dict[str, Any], now_ms: int) -> dict[str, | CODE |
| LOW | mobile/e2e-tests/scripts/live_word_monitor.py | 1373 | def find_latest_unreported_alert_id(self, device_id: str) -> str | None: | CODE |
| LOW | mobile/e2e-tests/scripts/live_word_monitor.py | 1382 | def handle_legacy_captions_tester_filed_log(self, device_id: str, line: str, now_ms: int) -> dict[str, Any] | None: | CODE |
| LOW | mobile/e2e-tests/scripts/live_word_monitor.py | 1611 | def evaluate_high_average_latency_incident(self, device_id: str, device_state: MonitorDeviceState, now_ms: int) -> N | CODE |
| LOW | mobile/e2e-tests/scripts/live_word_monitor.py | 1683 | def evaluate_audio_output_device_incident(self, device_id: str, device_state: MonitorDeviceState, now_ms: int) -> No | CODE |
| LOW | mobile/e2e-tests/scripts/live_word_monitor.py | 1797 | def evaluate_app_not_foreground_incident(self, device_id: str, device_state: MonitorDeviceState, now_ms: int) -> Non | CODE |
| LOW | mobile/e2e-tests/scripts/live_word_monitor.py | 1836 | def handle_captions_app_lifecycle_line(self, device_id: str, line: str, now_ms: int) -> bool: | CODE |
| LOW | mobile/e2e-tests/scripts/live_word_monitor.py | 1888 | def maybe_record_word_matches( | CODE |
| LOW | mobile/modules/bluetooth-sdk/plugin/src/withAndroid.ts | 31 | function withSettingsGradleModifications(config: any) { | CODE |
| LOW | mobile/modules/bluetooth-sdk/plugin/src/withAndroid.ts | 81 | function withGradlePropertiesModifications(config: any) { | CODE |
| LOW | mobile/modules/bluetooth-sdk/plugin/src/withAndroid.ts | 129 | function withSherpaOnnxLocalMavenRepo(config: any) { | CODE |
| LOW | mobile/modules/bluetooth-sdk/plugin/src/withAndroid.ts | 194 | function withAnalyticsManifestMetadata(config: any, props: BluetoothSdkPluginProps | undefined) { | CODE |
| LOW⚡ | mobile/modules/bluetooth-sdk/src/BluetoothSdk.types.ts | 65 | export function isConnectedGlassesConnectionStatus( | CODE |
| LOW⚡ | mobile/modules/bluetooth-sdk/src/BluetoothSdk.types.ts | 71 | export function isReadyGlassesConnectionStatus(status: GlassesConnectionStatus): boolean { | CODE |
| LOW⚡ | mobile/modules/bluetooth-sdk/src/BluetoothSdk.types.ts | 75 | export function isBusyGlassesConnectionStatus(status: GlassesConnectionStatus): boolean { | CODE |
| LOW⚡ | mobile/modules/bluetooth-sdk/src/BluetoothSdk.types.ts | 79 | export function createDisconnectedGlassesStatus(): Partial<GlassesStatus> { | CODE |
| LOW | …dules/bluetooth-sdk/src/_private/BluetoothSdkModule.ts | 312 | function dashboardMenuItemToNative(item: DashboardMenuItem): Record<string, unknown> { | CODE |
| LOW | …dules/bluetooth-sdk/src/_private/BluetoothSdkModule.ts | 320 | function adaptConnectionStatusToNative(connection: GlassesStatus["connection"]): Record<string, unknown> { | CODE |
| LOW | …dules/bluetooth-sdk/src/_private/BluetoothSdkModule.ts | 335 | function adaptGlassesUpdateToNative(values: Partial<GlassesStatus>): Record<string, unknown> { | CODE |
| LOW | …ules/bluetooth-sdk/src/_private/photoRequestPayload.ts | 28 | export function photoRequestParamsForNative( | CODE |
| LOW | …les/bluetooth-sdk/src/_private/cameraRequestPayload.ts | 10 | export function warmUpCameraParamsForNative( | CODE |
| LOW | …/modules/bluetooth-sdk/src/react/useMentraBluetooth.ts | 290 | async function setVoiceActivityDetectionEnabled(enabled: boolean) { | CODE |
| LOW | mobile/modules/miniapp/src/dev-reload.ts | 23 | export function installDevReloadListenerIfDevMode(): void { | CODE |
| LOW | mobile/modules/miniapp/src/transport/mock.ts | 30 | export function isMockExplicitlyRequested(): boolean { | CODE |
| LOW | mobile/modules/miniapp/src/modules/navigation.ts | 641 | function buildNavRouteFromComputed(computed: ComputedRoute): NavRoute { | CODE |
| LOW | …ile/modules/miniapp/src/modules/pivots/instructions.ts | 247 | export function extractPivotsFromComputedSteps( | CODE |
| LOW | mobile/modules/engine/src/stores/display.ts | 111 | export function flushDisplayCoalesceForTests(): void { | CODE |
| LOW | …bile/modules/engine/src/stores/bluetoothSettingKeys.ts | 31 | export function getBluetoothSettingKeysForDevice( | CODE |
| LOW | mobile/modules/engine/src/utils/miniappGlobals.ts | 89 | export function buildMiniappGlobalsScript(opts: BuildMiniappGlobalsOptions): string { | CODE |
| LOW | mobile/modules/engine/src/facades/pairing.ts | 65 | export async function submitPairingBootTimeoutReport(params: { | CODE |
| LOW | mobile/modules/engine/src/facades/pairing.ts | 103 | async function waitForReadyDuringPairing(options: PairingReadyWaitOptions = {}): Promise<boolean> { | CODE |
| LOW | mobile/modules/engine/src/facades/dev.ts | 49 | function resolveCloudUrlReconnectTarget(urls: CloudUrlOverrides): {core: string; runtime: string} | null | undefined { | CODE |
| LOW⚡ | mobile/modules/engine/src/facades/reports.ts | 56 | function automaticThrottleShouldSkip(key: string, nowMs: number, windowMs: number): boolean { | CODE |
| 228 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | …core/handlers/subscribers/ShutdownEventSubscriber.java | 55 | // Step 1: Send acknowledgment back to BES | COMMENT |
| LOW⚡ | …core/handlers/subscribers/ShutdownEventSubscriber.java | 58 | // Step 2: Stop active video recording to finalize moov atom and prevent corruption | COMMENT |
| LOW⚡ | …core/handlers/subscribers/ShutdownEventSubscriber.java | 61 | // Step 3: Perform graceful shutdown after delay to ensure ACK is sent and recording | COMMENT |
| LOW | asg_client/scripts/restore-stock.sh | 33 | # Step 1: Uninstall third-party build | COMMENT |
| LOW⚡ | asg_client/scripts/restore-stock.sh | 44 | # Step 2: Re-enable stock app | COMMENT |
| LOW⚡ | asg_client/scripts/restore-stock.sh | 53 | # Step 3: Grant permissions (failsafe) | COMMENT |
| LOW | asg_client/scripts/restore-stock.sh | 83 | # Step 4: Check for updates | COMMENT |
| LOW | asg_client/scripts/restore-stock.sh | 137 | # Step 5: Restore stock as default launcher | COMMENT |
| LOW | asg_client/scripts/restore-stock.sh | 149 | # Step 6: Launch stock app | COMMENT |
| LOW | asg_client/scripts/dev-setup.sh | 68 | # Step 1: Build the debug APK | COMMENT |
| LOW⚡ | asg_client/scripts/dev-setup.sh | 91 | # Step 2: Disable stock app | COMMENT |
| LOW⚡ | asg_client/scripts/dev-setup.sh | 100 | # Step 3: Uninstall any previous dev build | COMMENT |
| LOW⚡ | asg_client/scripts/dev-setup.sh | 105 | # Step 4: Install new build | COMMENT |
| LOW | asg_client/scripts/dev-setup.sh | 119 | # Step 5: Grant additional permissions | COMMENT |
| LOW | asg_client/scripts/dev-setup.sh | 150 | # Step 6: Set as default home launcher | COMMENT |
| LOW | asg_client/scripts/dev-setup.sh | 164 | # Step 7: Launch the app | COMMENT |
| LOW | …va/com/augmentos/otaupdater/worker/RecoveryWorker.java | 197 | // Step 1: Try restarting the service multiple times | COMMENT |
| LOW | …va/com/augmentos/otaupdater/worker/RecoveryWorker.java | 219 | // Step 2: If restart didn't work, try APK reinstallation | COMMENT |
| LOW⚡ | mobile/scripts/setup-ios.sh | 91 | # Step 1: Install npm dependencies | COMMENT |
| LOW⚡ | mobile/scripts/setup-ios.sh | 96 | # Step 2: Run expo prebuild | COMMENT |
| LOW⚡ | mobile/scripts/setup-ios.sh | 101 | # Step 3: Install CocoaPods dependencies | COMMENT |
| LOW | mobile/scripts/setup-ios.sh | 118 | # Step 4: Open Xcode workspace | COMMENT |
| LOW | mobile/scripts/old/fix-android-build.sh | 18 | # Step 1: Clean all build artifacts, caches, and lock files | COMMENT |
| LOW⚡ | mobile/scripts/old/fix-android-build.sh | 35 | # Step 2: Install dependencies with clean slate | COMMENT |
| LOW⚡ | mobile/scripts/old/fix-android-build.sh | 40 | # Step 3: Verify dependencies are healthy | COMMENT |
| LOW⚡ | mobile/scripts/old/fix-android-build.sh | 49 | # Step 4: Prebuild with Expo | COMMENT |
| LOW⚡ | mobile/scripts/old/fix-android-build.sh | 54 | # Step 5: Fix React Native symlinks | COMMENT |
| LOW⚡ | mobile/scripts/old/fix-android-build.sh | 90 | # Step 6: Clean Gradle cache | COMMENT |
| LOW⚡ | mobile/scripts/old/fix-android-build.sh | 95 | # Step 7: Final dependency check | COMMENT |
| LOW⚡ | mobile/scripts/old/fix-android-build.sh | 103 | # Step 8: Build Android | COMMENT |
| LOW⚡ | …le/modules/crust/ios/Source/utils/ImageProcessor.swift | 66 | // Step 1: Lens distortion correction | COMMENT |
| LOW⚡ | …le/modules/crust/ios/Source/utils/ImageProcessor.swift | 71 | // Step 2: Tone mapping — S-curve + vibrance | COMMENT |
| LOW⚡ | …le/modules/crust/ios/Source/utils/ImageProcessor.swift | 77 | // Step 3: Color correction — linear warmth/tint | COMMENT |
| LOW⚡ | …c/main/java/com/mentra/crust/utils/ImageProcessor.java | 157 | // Step 1: Lens distortion correction | COMMENT |
| LOW⚡ | …c/main/java/com/mentra/crust/utils/ImageProcessor.java | 165 | // Step 2: Tone mapping + vibrance + color correction in linear space | COMMENT |
| LOW | mobile/src/app/miniapps/settings/profile.tsx | 98 | // Step 1: Initial warning | COMMENT |
| LOW | mobile/src/app/miniapps/settings/profile.tsx | 109 | // Step 2: Generic confirmation - delay to let first modal close | COMMENT |
| LOW | mobile/src/app/miniapps/settings/profile.tsx | 121 | // Step 3: Final severe warning - delay to let second modal close | COMMENT |
| LOW | mobile/src/app/auth/signup.tsx | 128 | // Step 1: Email input | COMMENT |
| LOW | mobile/src/app/auth/signup.tsx | 172 | // Step 2: Password + Confirm password | COMMENT |
| LOW⚡ | mobile/src/utils/LogoutUtils.ts | 19 | // Step 1: Disconnect and forget any connected glasses | COMMENT |
| LOW⚡ | mobile/src/utils/LogoutUtils.ts | 22 | // Step 2: Stop island runtime services before clearing auth/session state | COMMENT |
| LOW⚡ | mobile/src/utils/LogoutUtils.ts | 25 | // Step 3: Sign out of the account provider + wipe legacy auth storage | COMMENT |
| LOW⚡ | mobile/src/utils/LogoutUtils.ts | 28 | // Step 5: Clear all app settings and user data | COMMENT |
| LOW⚡ | mobile/src/utils/LogoutUtils.ts | 31 | // Step 6: Clear any remaining auth-related storage | COMMENT |
| LOW⚡ | mobile/src/utils/LogoutUtils.ts | 34 | // Step 7: Reset status providers and event emitters | COMMENT |
| LOW⚡ | …rc/components/navigation/SnapshotTransitionOverlay.tsx | 51 | // Step 1: Capture the current view | COMMENT |
| LOW⚡ | …rc/components/navigation/SnapshotTransitionOverlay.tsx | 58 | // Step 2: Show the overlay with the old snapshot | COMMENT |
| LOW⚡ | …rc/components/navigation/SnapshotTransitionOverlay.tsx | 63 | // Step 3: Perform the navigation (user still sees old snapshot) | COMMENT |
| LOW⚡ | …rc/components/navigation/SnapshotTransitionOverlay.tsx | 66 | // Step 4: Wait a frame for navigation to complete, then capture new view | COMMENT |
| LOW⚡ | …rc/components/navigation/SnapshotTransitionOverlay.tsx | 76 | // Step 5: Set the new snapshot | COMMENT |
| LOW⚡ | …rc/components/navigation/SnapshotTransitionOverlay.tsx | 79 | // Step 6: Animate the transition | COMMENT |
| LOW⚡ | cloud/test-ci-build.sh | 69 | # Step 1: Install dependencies (like CI does) | COMMENT |
| LOW⚡ | cloud/test-ci-build.sh | 72 | # Step 2: Build types package | COMMENT |
| LOW⚡ | cloud/test-ci-build.sh | 75 | # Step 3: Build SDK package | COMMENT |
| LOW⚡ | cloud/test-ci-build.sh | 78 | # Step 4: Build cloud package | COMMENT |
| LOW | cloud/infra/betterstack-logs/values.yaml | 35 | # Step 1: Filter to only our cloud app containers. | COMMENT |
| LOW | cloud/infra/betterstack-logs/values.yaml | 46 | # Step 2: Flatten the Pino JSON so all fields are top-level. | COMMENT |
| LOW⚡ | cloud/packages/cloud/src/index.ts | 309 | // Step 1: announce via synchronous stderr (Pino logs may not flush in time). | COMMENT |
| LOW⚡ | cloud/packages/cloud/src/index.ts | 319 | // Step 2: close every WebSocket with code 1001. Per-socket try/catch so one | COMMENT |
| 90 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …s/navigation/src/background/managers/DisplayManager.ts | 130 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec venenatis vulputate lorem. Maecenas vestibulum mol | CODE |
| LOW | …s/navigation/src/background/managers/DisplayManager.ts | 130 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec venenatis vulputate lorem. Maecenas vestibulum mol | CODE |
| LOW | asg_client/docs/ASG_CLIENT_API.md | 776 | {"type": "user_email", "email": "user@example.com"} | CODE |
| LOW | agents/miniapp-store-backend-plan.md | 334 | "allowlist": ["user@example.com", "..."] // required when policy=ALLOWLIST | CODE |
| LOW | agents/tpa_triggers_wifi_setup_plan.md | 710 | userId: "user@example.com", | CODE |
| LOW | agents/tpa_triggers_wifi_setup_plan.md | 765 | userId: "user@example.com", | CODE |
| LOW | mobile/TEST_GALLERY_GUIDE.md | 74 | All test images are served from **picsum.photos** - a free Lorem Ipsum service for photos: | CODE |
| LOW | mobile/agents/notifications_restoration_plan.md | 398 | "title": "John Doe", | CODE |
| LOW | mobile/agents/notifications_restoration_plan.md | 412 | "title": "John Doe", | CODE |
| LOW | …droid/src/main/java/com/mentra/bluetoothsdk/sgcs/G1.kt | 3689 | val text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore | CODE |
| LOW | …droid/src/main/java/com/mentra/bluetoothsdk/sgcs/G1.kt | 3689 | val text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore | CODE |
| LOW | …ine/src/services/__tests__/MentraJSLogPipeline.test.ts | 19 | expect(redactSecrets("user@example.com")).toBe("user@example.com") | CODE |
| LOW | mobile/assets/icons/tabler/glyph-map.json | 3705 | "placeholder": 63014, | CODE |
| LOW | mobile/src/components/glasses/Gallery/GalleryScreen.tsx | 65 | type: "server" | "local" | "placeholder" | CODE |
| LOW | mobile/src/components/glasses/Gallery/GalleryScreen.tsx | 941 | type: "placeholder" as const, | CODE |
| LOW | cloud/runbooks/betterstack/using-the-website.md | 30 | `userId:"foo@bar.com"`, etc. | CODE |
| LOW | cloud/packages/cli/IMPLEMENTATION.md | 410 | email: "user@example.com", | CODE |
| LOW | …packages/cloud/src/api/hono/routes/auth.routes.test.ts | 6 | userId: "user@example.com", | CODE |
| LOW | …packages/cloud/src/api/hono/routes/auth.routes.test.ts | 48 | userId: "user@example.com", | CODE |
| LOW | …packages/cloud/src/api/hono/routes/auth.routes.test.ts | 68 | userId: "user@example.com", | CODE |
| LOW | …cloud/src/services/websocket/legacy-session-id.test.ts | 161 | // "user@example.com" and "user@example.com-pkg.io" end in a TLD | COMMENT |
| LOW | …cloud/src/services/websocket/legacy-session-id.test.ts | 165 | userId: "user@example.com", | CODE |
| LOW | …cloud/src/services/websocket/legacy-session-id.test.ts | 284 | expect(parseLegacySessionId("user@example.com")).toBeUndefined(); | CODE |
| LOW | …cloud/src/services/websocket/legacy-session-id.test.ts | 293 | userId: "user@example.com", | CODE |
| LOW | …s/permissions/__tests__/permission-integration.test.ts | 59 | // 'user@example.com', | COMMENT |
| LOW | …s/permissions/__tests__/permission-integration.test.ts | 96 | // 'user@example.com', | COMMENT |
| LOW | …s/permissions/__tests__/permission-integration.test.ts | 141 | // 'user@example.com', | COMMENT |
| LOW | …s/permissions/__tests__/permission-integration.test.ts | 161 | // 'user@example.com', | COMMENT |
| LOW | …d/src/services/client/feedback-receipt.service.test.ts | 24 | resolveFeedbackReceiptRecipient("user@example.com", { | CODE |
| LOW | …d/src/services/client/feedback-receipt.service.test.ts | 28 | ).toBe("user@example.com"); | CODE |
| LOW | …d/src/services/client/feedback-receipt.service.test.ts | 55 | queueFeedbackReceipt("user@example.com", { type: "feature" }, { sender }); | CODE |
| LOW | …d/src/services/client/feedback-receipt.service.test.ts | 119 | "user@example.com", | CODE |
| LOW | …d/src/services/client/feedback-receipt.service.test.ts | 148 | "user@example.com", | CODE |
| LOW | …rvices/logging/docs/glasses-tracking-implementation.md | 171 | const user = await User.findByEmail('user@example.com'); | CODE |
| LOW | …session/docs/issues/App-SETTINGS-PERSISTENCE-ISSUES.md | 281 | email: "user@example.com", | CODE |
| LOW | cloud/packages/apps/captions/EXAMPLES.md | 67 | name: "John Doe", | CODE |
| LOW | cloud/packages/apps/captions/EXAMPLES.md | 85 | name: "John Doe", | CODE |
| LOW | cloud/packages/apps/captions/EXAMPLES.md | 110 | name: "John Doe", | CODE |
| LOW | cloud/packages/apps/captions/STRUCTURE.md | 245 | const session = captionsApp.getSession("user@example.com"); | CODE |
| LOW | cloud/packages/apps/example-webview/STRUCTURE.md | 245 | const session = captionsApp.getSession("user@example.com"); | CODE |
| LOW | cloud/packages/cloud-client/README.md | 25 | email: 'user@example.com', | CODE |
| LOW | cloud/packages/cloud-client/livekit-go-test/README.md | 33 | - `LIVEKIT_ROOM_NAME` - Room name to join (optional, defaults to "user@example.com") | CODE |
| LOW | cloud/packages/cloud-client/docs/README.md | 19 | email: 'user@example.com', | CODE |
| LOW | cloud/packages/cloud-client/docs/api-reference.md | 23 | email: 'user@example.com', | CODE |
| LOW | cloud/packages/cloud-client/docs/protocol.md | 22 | "sessionId": "user@example.com", | CODE |
| LOW⚡ | cloud/packages/cloud-client/docs/protocol.md | 135 | "sessionId": "user@example.com", | CODE |
| LOW⚡ | cloud/packages/cloud-client/docs/protocol.md | 137 | "sessionId": "user@example.com", | CODE |
| LOW⚡ | cloud/packages/cloud-client/docs/protocol.md | 138 | "userId": "user@example.com", | CODE |
| LOW | cloud/packages/cloud-client/docs/protocol.md | 164 | "sessionId": "user@example.com", | CODE |
| LOW | cloud/packages/cloud-client/docs/protocol.md | 180 | "sessionId": "user@example.com", | CODE |
| LOW | cloud/packages/cloud-client/docs/protocol.md | 194 | "sessionId": "user@example.com", | CODE |
| LOW | cloud/packages/cloud-client/docs/protocol.md | 205 | "sessionId": "user@example.com", | CODE |
| LOW | …kages/cloud-client/src/examples/livekit-simple-test.ts | 7 | const email = process.env.TEST_EMAIL || "user@example.com"; | CODE |
| LOW | …es/cloud-client/src/examples/livekit-handshake-test.ts | 12 | const email = process.env.TEST_EMAIL || "user@example.com"; | CODE |
| LOW | …ckages/cloud-client/src/examples/rtc-node-publisher.ts | 21 | const email = process.env.TEST_EMAIL || "user@example.com"; | CODE |
| LOW | …s/cloud-client/src/examples/livekit-subscriber-test.ts | 27 | const email = process.env.TEST_EMAIL || "user@example.com"; | CODE |
| LOW | …ges/cloud-client/src/examples/bridge-file-roundtrip.ts | 104 | const email = process.env.TEST_EMAIL || "user@example.com"; | CODE |
| LOW | …packages/cloud-client/src/examples/livekit-e2e-test.ts | 11 | const email = process.env.TEST_EMAIL || "user@example.com"; | CODE |
| LOW | …oud-client/src/examples/livekit-node-publisher-test.ts | 7 | const email = process.env.TEST_EMAIL || "user@example.com"; | CODE |
| LOW | …ckages/cloud-client/src/examples/livekit-e2e-test-2.ts | 11 | const email = process.env.TEST_EMAIL || "user@example.com"; | CODE |
| 18 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | cloud/tools/incidents/README.md | 10 | export MENTRA_AGENT_API_KEY=your-api-key | CODE |
| HIGH | cloud/packages/sdk/docs/old-README.md | 115 | apiKey: 'your_api_key' | CODE |
| HIGH | cloud/packages/sdk/docs/old-README.md | 143 | apiKey: 'your_api_key', | CODE |
| HIGH | …amples/managed-rtmp-streaming-with-restream-example.ts | 18 | apiKey: process.env.MENTRAOS_API_KEY || "your-api-key", | CODE |
| HIGH | cloud/packages/sdk/src/app/server/index.ts | 62 | * apiKey: 'your_api_key', | COMMENT |
| HIGH | cloud/packages/sdk/src/app/server/index.ts | 144 | * apiKey: 'your_api_key', | COMMENT |
| HIGH | cloud/packages/sdk/src/app/session/index.ts | 103 | * apiKey: 'your_api_key', | COMMENT |
| HIGH | cloud/packages/sdk/src/app/session/index.ts | 150 | * apiKey: 'your_api_key' | COMMENT |
| HIGH | cloud/packages/apps/captions/STRUCTURE.md | 164 | MENTRAOS_API_KEY=your_api_key | CODE |
| HIGH | cloud/packages/apps/v3-stream-example/README.md | 41 | MENTRAOS_API_KEY=your_api_key | CODE |
| HIGH | cloud/packages/apps/photo-test/README.md | 43 | export MENTRAOS_API_KEY="your-api-key-here" | CODE |
| HIGH | cloud/packages/apps/example-webview/STRUCTURE.md | 164 | MENTRAOS_API_KEY=your_api_key | CODE |
| HIGH | cloud/issues/048-sdk-v3/docs-update-spec.md | 268 | apiKey: "your_api_key", | CODE |
| HIGH | cloud/websites/console/src/pages/CLIKeys.tsx | 159 | mentra auth <your-api-key> | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …rc/main/java/com/mentra/asg_client/reporting/README.md | 42 | │ ├── ReportManager.java # Singleton manager orchestrating all providers | CODE |
| MEDIUM | …/src/main/java/com/mentra/asg_client/io/file/README.md | 21 | │ ├── FileManagerImpl.java # Main implementation orchestrating managers | CODE |
| MEDIUM | asg_client/docs/features/led-control.md | 85 | ## Recording-LED behavior (orchestration of both systems) | COMMENT |
| MEDIUM | agents/cloud-shrinkage-plan.md | 135 | ### `services/session/` — per-app orchestration (heart of the rot) | COMMENT |
| MEDIUM | agents/miniapp-sdk-overview.md | 208 | bunx create-mentra-miniapp my-app # scaffold | CODE |
| MEDIUM | …les/bluetooth-sdk/ios/Source/utils/JSCExperiment.swift | 34 | /// idevicesyslog is unreliable. The Documents file is the agentic-test | COMMENT |
| MEDIUM | mobile/modules/miniapp/src/sub-path-types.test-d.ts | 44 | // ----- compile-time guardrails ------------------------------------------ | COMMENT |
| MEDIUM | …src/services/session/docs/LIVEKIT-AUDIO-INTEGRATION.md | 56 | ### 4) VAD & orchestration | COMMENT |
| MEDIUM | …audio-output-streaming/audio-streaming-architecture.md | 280 | ### Future: transcoding microservice | COMMENT |
| MEDIUM | …d/issues/107-legacy-sessionid-hyphen-parse-bug/spec.md | 55 | ### Why dependency injection | COMMENT |
| MEDIUM | …sues/020-glasses-status-boundary/integration-review.md | 237 | ## Residual scaffolding (reconciled from the PR #3298 review) | COMMENT |
| MEDIUM | …sues/020-glasses-status-boundary/integration-review.md | 239 | PR #3298 (`notes/pr3167-island-scaffolding-review.md`, written against #3167 at | CODE |
| MEDIUM | cloud-v2/docs/issues/004-cloud-client/design.md | 55 | runtime.ts # cloud.runtime: the RuntimeModule, orchestrates the rest | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | asg_client/setup-sentry.sh | 12 | # Check if sentry.properties already exists | COMMENT |
| LOW | asg_client/switch-sentry-env.sh | 14 | # Check if the environment configuration exists | COMMENT |
| LOW | agents/xiaomi_glasses_wifi_capture.sh | 22 | # Check if this line contains WiFi credentials | COMMENT |
| LOW | mobile/scripts/trim-transparent-borders.sh | 14 | # Check if ImageMagick is installed | COMMENT |
| LOW | mobile/scripts/trim-transparent-borders.sh | 26 | # Check if directory exists | COMMENT |
| LOW | mobile/scripts/setup-ios.sh | 169 | # Check if we're in the right directory | COMMENT |
| LOW | mobile/scripts/setup-sherpa-onnx-optional.sh | 9 | # Check if we're in a "scripts" directory | COMMENT |
| LOW | mobile/scripts/old/fix-android-build.sh | 2 | # Check if we're in a "scripts" directory | COMMENT |
| LOW⚡ | mobile/scripts/old/fix-android-build.sh | 108 | # Check if build was successful | COMMENT |
| LOW | mobile/scripts/old/fix-react-native-symlinks.sh | 2 | # Check if we're in a "scripts" directory | COMMENT |
| LOW | mobile/scripts/old/fix-react-native-symlinks.sh | 25 | # Check if node_modules exists | COMMENT |
| LOW | mobile/scripts/old/fixXcodeCompletely.sh | 3 | # Check if we're in a "scripts" directory | COMMENT |
| LOW | cloud/analyze-audio.sh | 88 | # Check if ffmpeg is available | COMMENT |
| LOW | cloud/rtmp_relay/run-local.sh | 7 | # Check if CLOUD_API_URL is set | COMMENT |
| LOW | cloud/rtmp_relay/simple-forward.sh | 16 | # Check if reset was successful | COMMENT |
| LOW | cloud/scripts/setup-udp-service.sh | 230 | # Check if Doppler CLI is available | COMMENT |
| LOW | cloud/scripts/setup-udp-service.sh | 249 | # Check if app exists | COMMENT |
| LOW | cloud/scripts/setup-udp-service.sh | 407 | # Check if service exists | COMMENT |
| LOW | cloud/scripts/setup-udp-service.sh | 418 | # Check if app exists at all | COMMENT |
| LOW | .github/workflows/mentra-asg-client-build.yml | 176 | # Check if retry succeeded by looking for the APK | COMMENT |
| LOW | .github/workflows/mentra-app-android-build.yml | 225 | # Check if retry succeeded by looking for the APK | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | mobile/.maestro/flows/99-stress-jetsam-background.yaml | 7 | # Mount N dummies, then send the app to background. The harness's dwell | COMMENT |
| MEDIUM | mobile/.maestro/flows/99-stress-jetsam-leak.yaml | 42 | # Leave the screen alive so the harness's dwell timer can collect samples. | COMMENT |
| MEDIUM | mobile/.maestro/flows/99-stress-jetsam-leak.yaml | 43 | # The harness will tear down via app launch state on the next run. | COMMENT |
| MEDIUM | mobile/.maestro/flows/99-stress-jetsam-long.yaml | 7 | # Mount N dummies, then send the app to background. The harness's dwell | COMMENT |
| MEDIUM | mobile/.maestro/flows/99-stress-jetsam-foreground.yaml | 42 | # Leave the screen alive so the harness's dwell timer can collect samples. | COMMENT |
| MEDIUM | mobile/.maestro/flows/99-stress-jetsam-foreground.yaml | 43 | # The harness will tear down via app launch state on the next run. | COMMENT |
| MEDIUM | mobile/src/effects/Compositor.tsx | 180 | // is seamless. Clamp the seed so a violent flick doesn't overshoot. | COMMENT |
| MEDIUM | …d/packages/cloud/src/services/core/location.service.ts | 195 | // The most robust way to iterate over a MongooseMap is to first | COMMENT |
| MEDIUM | cloud-v2/tests/soniox.integration.test.ts | 112 | // robust word checks, not an exact match (STT punctuation/casing varies) | COMMENT |
| MEDIUM | …ackages/runtime/src/services/audio/providers/soniox.ts | 124 | // Soniox identify even when hinted is robust to user accent / code-switch.) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | asg_client/docs/fps-thermal-test/fps-thermal-test.sh | 17 | # Usage: | COMMENT |
| LOW | asg_client/docs/agents/set-ci-signing-secrets.sh | 12 | # Usage: | COMMENT |
| LOW | asg_client/scripts/test-webrtc-streaming.sh | 4 | # Usage: | COMMENT |
| LOW | asg_client/scripts/restore-stock.sh | 8 | # Usage: | COMMENT |
| LOW | asg_client/scripts/fps-thermal-test.sh | 17 | # Usage: | COMMENT |
| LOW | asg_client/scripts/test-mtk-ota.sh | 5 | # Usage: | COMMENT |
| LOW | asg_client/scripts/dev-setup.sh | 14 | # Usage: | COMMENT |
| LOW | mobile/scripts/runner-cleanup.sh | 30 | # Usage: | COMMENT |
| LOW | mobile/scripts/setup-runner.sh | 66 | # Usage: | COMMENT |
| LOW | mobile/scripts/stress-test/run-jetsam-test.sh | 13 | # Usage: | COMMENT |
| LOW | mobile/src/utils/dev/debugging.tsx | 291 | // Example usage: | COMMENT |
| LOW | mobile/src/theme/colorTools.ts | 109 | // Example usage: | COMMENT |
| LOW | cloud/scripts/setup-udp-service.sh | 5 | # Usage: | COMMENT |
| LOW | scripts/fetch-incident-logs.sh | 8 | # Usage: | COMMENT |
| LOW | cloud-v2/scripts/sync-doppler-to-porter.sh | 4 | # Usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | cloud/rtmp_relay/stream-manager.sh | 16 | # Create a cleaned path for the output | COMMENT |
| MEDIUM | .github/workflows/staging-builds.yml | 434 | # Create a per-build keychain so we don't depend on knowing the | COMMENT |
| MEDIUM | cloud-v2/doppler.yaml | 8 | # This file is checked in. It contains NO secrets — only project pointer. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | mobile/e2e-tests/scripts/live_word_monitor.py | 6 | CODE | |
| LOW | …ndroid/lc3Lib/src/main/cpp/liblc3/rnnoise/rnn_train.py | 3 | CODE | |
| LOW | …ndroid/lc3Lib/src/main/cpp/liblc3/rnnoise/rnn_train.py | 5 | CODE | |
| LOW | …ndroid/lc3Lib/src/main/cpp/liblc3/rnnoise/rnn_train.py | 9 | CODE | |
| LOW | …ndroid/lc3Lib/src/main/cpp/liblc3/rnnoise/rnn_train.py | 11 | CODE | |
| LOW | …ndroid/lc3Lib/src/main/cpp/liblc3/rnnoise/rnn_train.py | 12 | CODE | |
| LOW | …ndroid/lc3Lib/src/main/cpp/liblc3/rnnoise/rnn_train.py | 13 | CODE | |
| LOW | …ndroid/lc3Lib/src/main/cpp/liblc3/rnnoise/rnn_train.py | 16 | CODE | |
| LOW | …d/packages/cloud/src/scripts/analyze-heap-retention.py | 36 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | mobile/e2e-tests/scripts/live_word_monitor.py | 331 | except Exception: | CODE |
| LOW | mobile/e2e-tests/scripts/live_word_monitor.py | 380 | except Exception: | CODE |
| LOW | mobile/e2e-tests/scripts/live_word_monitor.py | 1335 | except Exception as exc: | CODE |
| LOW | mobile/e2e-tests/scripts/live_word_monitor.py | 1677 | except Exception as exc: | CODE |
| LOW | mobile/e2e-tests/scripts/live_word_monitor.py | 1762 | except Exception as exc: | CODE |
| LOW | mobile/e2e-tests/scripts/live_word_monitor.py | 1997 | except Exception as exc: | CODE |
| LOW | mobile/e2e-tests/scripts/live_word_monitor.py | 2117 | except Exception as exc: | CODE |
| LOW | mobile/e2e-tests/scripts/live_word_monitor.py | 2153 | except Exception as exc: | CODE |
| LOW | mobile/scripts/stress-test/run-jetsam-test.sh | 248 | except Exception: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | mobile/e2e-tests/scripts/live_word_monitor.py | 456 | CODE | |
| LOW | mobile/e2e-tests/scripts/live_word_monitor.py | 531 | CODE | |
| LOW | mobile/e2e-tests/scripts/live_word_monitor.py | 1091 | CODE | |
| LOW | mobile/e2e-tests/scripts/live_word_monitor.py | 1728 | CODE | |
| LOW | mobile/e2e-tests/scripts/live_word_monitor.py | 1836 | CODE | |
| LOW | mobile/e2e-tests/scripts/live_word_monitor.py | 1888 | CODE | |
| LOW | mobile/e2e-tests/scripts/live_word_monitor.py | 2005 | CODE | |
| LOW | mobile/e2e-tests/scripts/live_word_monitor.py | 2121 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …e/core/handlers/subscribers/ButtonEventSubscriber.java | 249 | // TODO: implement this at a later time | COMMENT |
| LOW | cloud/.architecture/dashboard.md | 212 | placeholders["$CONNECTION_STATUS$"] = "Connected" // TODO: implement | CODE |
| LOW | …ugger/src/pages/MockGlasses/hooks/useAudioRecording.ts | 136 | hasError: false, // TODO: Implement error handling | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …bile/modules/bluetooth-sdk/ios/Source/sgcs/Mach1.swift | 533 | // // don't forget to commit, this is a common mistake. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | mobile/e2e-tests/scripts/live_word_monitor.py | 1551 | def update_drop_tracking(self, device_id: str, device_state: MonitorDeviceState, utterance: UtteranceState | None, n | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …oud/packages/cloud/src/api/hono/client/v2/photo.api.ts | 137 | async function handleRequest(c: AppContext) { | CODE |