Repository Analysis

Emanuele-web04/remodex

Remote Control for Codex.

3.4 Likely human-written View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of Emanuele-web04/remodex, a Swift project with 3,250 GitHub stars. SynthScan v2.0 examined 242,604 lines of code across 910 source files, recording 697 pattern matches distributed across 8 syntactic categories. The overall adjusted score of 3.4 places this repository in the Likely human-written 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).

3.4
Adjusted Score
3.4
Raw Score
100%
Time Factor
2026-07-13
Last Push
3.2K
Stars
Swift
Language
242.6K
Lines of Code
910
Files
697
Pattern Hits
2026-07-14
Scan Date
0.02
HC Hit Rate

What These Metrics Mean

Adjusted Score
Primary synthetic code indicator. Raw score normalised per 1,000 lines of code and multiplied by the temporal discount factor. This is the definitive comparative metric — use it to rank repositories by AI authorship density.
Raw Score
The unmodified sum of all severity-weighted, context-multiplied pattern match scores before temporal discounting. Reflects the absolute signal strength independent of when the repository was last active.
Time Factor
The temporal discount multiplier (0–100%) applied to the raw score. Repositories last updated before ChatGPT's launch (Nov 2022) receive a 5% factor. Full signal is only assigned to repositories active in the post-adoption era (Jan 2024+).
Pattern Hits
Total count of individual pattern matches across all files and categories. A high hit count with a low score may indicate a very large codebase with isolated AI snippets; a low count with a high score indicates dense, concentrated AI signatures.
HC Hit Rate
High+Critical pattern hits per file, averaged across the repository. This orthogonal signal catches repositories where a few files are densely packed with high-severity AI tells — a strong indicator even when the normalised score appears moderate due to codebase size.
Lines of Code / Files
Total lines and files analysed. The scanner examines 94 file extensions. These denominators are used to normalise the score, enabling fair comparison between repositories of vastly different sizes.

Score History

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.

No multi-scan history yet — run the scanner again to build trend data.

Severity Breakdown

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.

CRITICAL 3HIGH 11MEDIUM 79LOW 604

Directory Score Breakdown

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.

Pattern Findings

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

Hyper-Verbose Identifiers546 hits · 447 pts
SeverityFileLineSnippetContext
LOWphodex-bridge/test/rollout-live-mirror.test.js2430function createTemporaryRolloutHome({ threadId, originator, source, lines }) {CODE
LOWphodex-bridge/test/rollout-watch.test.js272function makeTemporarySessionsHome() {CODE
LOWphodex-bridge/test/secure-transport.test.js29function createTestBridgeSecureTransport(options) {CODE
LOWphodex-bridge/test/secure-transport.test.js1041function encodeLengthPrefixedBuffer(buffer) {CODE
LOW…dex-bridge/test/bridge-desktop-ipc-integration.test.js767function loadBridgeWithTestDoubles({CODE
LOW…dex-bridge/test/bridge-desktop-ipc-integration.test.js807function createPlaintextSecureTransport() {CODE
LOW…dex-bridge/test/bridge-desktop-ipc-integration.test.js823function createSecureDeviceStateDouble() {CODE
LOWphodex-bridge/test/bridge.test.js33function expectedGeneratedImagePath(threadId, fileName) {CODE
LOWphodex-bridge/test/bridge.test.js2649 fs.openSync = function openSyncWithRolloutCounter(filePath, ...args) {CODE
LOWphodex-bridge/test/desktop-ipc-action-follower.test.js6210function backgroundConversationSnapshot(threadId, status, {CODE
LOWphodex-bridge/test/desktop-ipc-action-follower.test.js6291async function startInitializedIpcTestServer(t, prefix) {CODE
LOWphodex-bridge/test/secure-device-state.test.js333function readCanonicalStateFromDisk() {CODE
LOWphodex-bridge/bin/remodex.js336function sanitizeBridgeServiceStatusForOutput(status = {}) {CODE
LOWphodex-bridge/bin/remodex.js345function sanitizeDaemonConfigForOutput(config) {CODE
LOWphodex-bridge/bin/remodex.js357function sanitizePairingSessionForOutput(pairingSession) {CODE
LOWphodex-bridge/src/package-version-status.js15function createBridgePackageVersionStatusReader({CODE
LOWphodex-bridge/src/package-version-status.js29 return async function readBridgePackageVersionStatus() {CODE
LOWphodex-bridge/src/package-version-status.js70async function resolveReportedLatestVersion({CODE
LOWphodex-bridge/src/package-version-status.js94function refreshLatestVersionInBackground({CODE
LOWphodex-bridge/src/package-version-status.js137function fetchLatestPublishedVersion(registryUrl) {CODE
LOWphodex-bridge/src/workspace-checkpoints.js19async function workspaceCheckpointCapture(repoRoot, params) {CODE
LOWphodex-bridge/src/workspace-checkpoints.js83async function workspaceCheckpointRestorePreview(repoRoot, params) {CODE
LOWphodex-bridge/src/workspace-checkpoints.js110async function workspaceCheckpointRestoreApply(repoRoot, params) {CODE
LOWphodex-bridge/src/workspace-checkpoints.js148function resolveCheckpointDescriptor(params, prefix = "") {CODE
LOWphodex-bridge/src/workspace-checkpoints.js224function backupDescriptorForRestore(params) {CODE
LOWphodex-bridge/src/workspace-checkpoints.js295async function changedFilesAgainstCommit(repoRoot, commit) {CODE
LOWphodex-bridge/src/bridge-status.js14function createBridgeStatusPublisher({CODE
LOWphodex-bridge/src/bridge-status.js74function hasRelayConnectionGoneStale(CODE
LOWphodex-bridge/src/bridge-status.js87function buildHeartbeatBridgeStatus(CODE
LOWphodex-bridge/src/thread-context-handler.js9function handleThreadContextRequest(rawMessage, sendResponse, parsedMessage = null) {CODE
LOWphodex-bridge/src/desktop-ipc-live-owner.js109function createDesktopIpcLiveOwner({CODE
LOWphodex-bridge/src/desktop-ipc-live-owner.js408 function markTurnInterruptedOptimistically(threadId, params) {CODE
LOWphodex-bridge/src/desktop-ipc-live-owner.js463 function discardPendingTurnStartEntry(threadId, entry) {CODE
LOWphodex-bridge/src/desktop-ipc-live-owner.js489 function resolvePendingTurnStartResponse(responseId, message) {CODE
LOWphodex-bridge/src/desktop-ipc-live-owner.js517 function insertOptimisticPendingTurn(threadId, entry) {CODE
LOWphodex-bridge/src/desktop-ipc-live-owner.js568 function refreshOptimisticFallbackForThread(threadId) {CODE
LOWphodex-bridge/src/desktop-ipc-live-owner.js593 function removeOptimisticPendingTurn(threadId, entry) {CODE
LOWphodex-bridge/src/desktop-ipc-live-owner.js626 function claimStartedThreadForPendingLocalStart(message) {CODE
LOWphodex-bridge/src/desktop-ipc-live-owner.js687 function broadcastRemovedConversationState(threadId, { reason = "", skipArchiveMetadataBroadcast = false } = {}) {CODE
LOWphodex-bridge/src/desktop-ipc-live-owner.js724 function broadcastThreadUnarchived(threadId) {CODE
LOWphodex-bridge/src/desktop-ipc-live-owner.js732 function scheduleSidebarAnnouncement(threadId) {CODE
LOWphodex-bridge/src/desktop-ipc-live-owner.js751 function cancelSidebarAnnouncement(threadId) {CODE
LOWphodex-bridge/src/desktop-ipc-live-owner.js761 function queueThreadArchiveMetadataBroadcast(method, threadId, { cwd } = {}) {CODE
LOWphodex-bridge/src/desktop-ipc-live-owner.js774 function flushPendingThreadArchiveMetadataBroadcasts() {CODE
LOWphodex-bridge/src/desktop-ipc-live-owner.js796 function maybeYieldOwnedThreadForPeerArchive(envelope) {CODE
LOWphodex-bridge/src/desktop-ipc-live-owner.js815 function upsertConversationFromThread(thread) {CODE
LOWphodex-bridge/src/desktop-ipc-live-owner.js897 function shouldDelayInitialSnapshotForHistory(threadId) {CODE
LOWphodex-bridge/src/desktop-ipc-live-owner.js913 function requestInitialHistoryBaselineIfDue(threadId) {CODE
LOWphodex-bridge/src/desktop-ipc-live-owner.js941 function stopAwaitingInitialHistory(threadId) {CODE
LOWphodex-bridge/src/desktop-ipc-live-owner.js949 function scheduleInitialHistoryRetryWakeup(threadId, delayMs) {CODE
LOWphodex-bridge/src/desktop-ipc-live-owner.js963 function clearInitialHistoryRetryWakeup(threadId) {CODE
LOWphodex-bridge/src/desktop-ipc-live-owner.js990 function hydrateOwnedThreadFromRead(threadId) {CODE
LOWphodex-bridge/src/desktop-ipc-live-owner.js1019 function broadcastAllOwnedSnapshots() {CODE
LOWphodex-bridge/src/desktop-ipc-live-owner.js1034 function broadcastConversationState(threadId, { forceSnapshot = false } = {}) {CODE
LOWphodex-bridge/src/desktop-ipc-live-owner.js1204 async function handleFollowerLoadCompleteHistory(conversationId) {CODE
LOWphodex-bridge/src/desktop-ipc-live-owner.js1278 function mirrorFollowerUserPromptToPhone(threadId, turnStartParams, turnStartResult = null) {CODE
LOWphodex-bridge/src/desktop-ipc-live-owner.js1321 async function handleFollowerInterruptTurn(conversationId, params) {CODE
LOWphodex-bridge/src/desktop-ipc-live-owner.js1336 function followerApprovalResultForRequest(conversationId, params) {CODE
LOWphodex-bridge/src/desktop-ipc-live-owner.js1355 function sendServerRequestResponse(conversationId, requestId, result) {CODE
LOWphodex-bridge/src/desktop-ipc-live-owner.js1374 function applyFollowerModelAndReasoning(conversationId, params) {CODE
486 more matches not shown…
Decorative Section Separators69 hits · 207 pts
SeverityFileLineSnippetContext
MEDIUMphodex-bridge/test/secure-device-state.test.js23// ─── Relay Session Resolution ───────────────────────────────COMMENT
MEDIUMphodex-bridge/bin/remodex.js45// ─── ENTRY POINT ─────────────────────────────────────────────COMMENT
MEDIUMphodex-bridge/src/bridge.js1504 // ─── Bridge-owned auth snapshot ─────────────────────────────COMMENT
MEDIUMphodex-bridge/src/project-handler.js26// ─── ENTRY POINT ─────────────────────────────────────────────COMMENT
MEDIUMphodex-bridge/src/project-handler.js87// ─── Project Methods ─────────────────────────────────────────COMMENT
MEDIUMphodex-bridge/src/project-handler.js328// ─── Filesystem Helpers ──────────────────────────────────────COMMENT
MEDIUMphodex-bridge/src/voice-handler.js179// ─── Audio validation helpers ───────────────────────────────COMMENT
MEDIUMphodex-bridge/src/push-notification-tracker.js47 // ─── ENTRY POINT ─────────────────────────────────────────────COMMENT
MEDIUMphodex-bridge/src/account-status.js9// ─── Status composition ─────────────────────────────────────COMMENT
MEDIUMphodex-bridge/src/account-status.js90// ─── Settled snapshot helpers ───────────────────────────────COMMENT
MEDIUMphodex-bridge/src/voice-audio.js7// ─── WAV parsing ─────────────────────────────────────────────────COMMENT
MEDIUMphodex-bridge/src/voice-audio.js91// ─── M4A parsing ─────────────────────────────────────────────────COMMENT
MEDIUMphodex-bridge/src/git-handler.js170// ─── Git Status ───────────────────────────────────────────────COMMENT
MEDIUMphodex-bridge/src/git-handler.js267// ─── Git Diff ─────────────────────────────────────────────────COMMENT
MEDIUMphodex-bridge/src/git-handler.js286// ─── Git Commit ───────────────────────────────────────────────COMMENT
MEDIUMphodex-bridge/src/git-handler.js312// ─── Git Draft Generation ────────────────────────────────────COMMENT
MEDIUMphodex-bridge/src/git-handler.js419// ─── Git Push ─────────────────────────────────────────────────COMMENT
MEDIUMphodex-bridge/src/git-handler.js459// ─── Git Pull ─────────────────────────────────────────────────COMMENT
MEDIUMphodex-bridge/src/git-handler.js478// ─── Git Branches ─────────────────────────────────────────────COMMENT
MEDIUMphodex-bridge/src/git-handler.js542// ─── Git Checkout ─────────────────────────────────────────────COMMENT
MEDIUMphodex-bridge/src/git-handler.js581// ─── Git Log ──────────────────────────────────────────────────COMMENT
MEDIUMphodex-bridge/src/git-handler.js608// ─── Git Create Branch ────────────────────────────────────────COMMENT
MEDIUMphodex-bridge/src/git-handler.js949// ─── Git Stash ────────────────────────────────────────────────COMMENT
MEDIUMphodex-bridge/src/git-handler.js957// ─── Git Stash Pop ────────────────────────────────────────────COMMENT
MEDIUMphodex-bridge/src/git-handler.js968// ─── Git Reset to Remote ──────────────────────────────────────COMMENT
MEDIUMphodex-bridge/src/git-handler.js997// ─── Git Remote URL ───────────────────────────────────────────COMMENT
MEDIUMphodex-bridge/src/git-handler.js1005// ─── Git Stacked Actions / Pull Requests ─────────────────────COMMENT
MEDIUMphodex-bridge/src/git-handler.js1848// ─── Git Branches With Status ─────────────────────────────────COMMENT
MEDIUMphodex-bridge/src/git-handler.js2486// ─── Helpers ──────────────────────────────────────────────────COMMENT
MEDIUM…dexMobile/Views/Shared/UsageStatusSummaryContent.swift69 // ─── Shared Sections ────────────────────────────────────────COMMENT
MEDIUM…dexMobile/Views/Shared/UsageStatusSummaryContent.swift136 // ─── Row Rendering ──────────────────────────────────────────COMMENT
MEDIUM…dexMobile/Views/Shared/UsageStatusSummaryContent.swift231 // ─── Formatting Helpers ─────────────────────────────────────COMMENT
MEDIUM…Mobile/Views/Turn/Messages/TurnMessageRegexCache.swift40 // ─── Shared Helpers ─────────────────────────────────────────────COMMENT
MEDIUM…odexMobile/Views/Turn/Messages/TurnMessageCaches.swift357// ─── Code Comment Directive Content Cache ───────────────────────────COMMENT
MEDIUM…odexMobile/Views/Turn/Messages/TurnMessageCaches.swift371// ─── Thinking Disclosure Content Cache ──────────────────────────────COMMENT
MEDIUM…odexMobile/Views/Turn/Messages/TurnMessageCaches.swift385// ─── Diff Block Detection Cache ─────────────────────────────────────COMMENT
MEDIUM…odexMobile/Views/Turn/Messages/TurnMessageCaches.swift405// ─── File Change Grouping Cache ─────────────────────────────────────COMMENT
MEDIUM…Mobile/Views/Turn/Messages/TurnMessageComponents.swift322// ─── Message row ────────────────────────────────────────────────────COMMENT
MEDIUMCodexMobile/CodexMobile/Views/Turn/Core/TurnView.swift72 // ─── ENTRY POINT ─────────────────────────────────────────────COMMENT
MEDIUM…le/Views/Turn/Core/TurnConversationContainerView.swift81 // ─── ENTRY POINT ─────────────────────────────────────────────COMMENT
MEDIUM…xMobile/Views/Turn/Composer/TurnComposerHostView.swift58 // ─── ENTRY POINT ─────────────────────────────────────────────COMMENT
MEDIUM…CodexMobile/Views/Turn/Composer/TurnComposerView.swift149 // ─── ENTRY POINT ─────────────────────────────────────────────COMMENT
MEDIUM…obile/Views/Turn/Composer/TurnComposerMetaMapper.swift11 // ─── Model Mapping ────────────────────────────────────────────────COMMENT
MEDIUM…obile/Views/Turn/Composer/TurnComposerMetaMapper.swift76 // ─── Reasoning Mapping ───────────────────────────────────────────COMMENT
MEDIUM…ile/CodexMobile/Views/Turn/Diff/TurnDiffRenderer.swift7// ─── Diff Classification ────────────────────────────────────────────COMMENT
MEDIUM…/CodexMobile/Views/Turn/Diff/TurnUnifiedDiffView.swift10// ─── Model ──────────────────────────────────────────────────────────COMMENT
MEDIUM…/CodexMobile/Views/Turn/Diff/TurnUnifiedDiffView.swift61// ─── Parser ─────────────────────────────────────────────────────────COMMENT
MEDIUM…/CodexMobile/Views/Turn/Diff/TurnUnifiedDiffView.swift247// ─── View ───────────────────────────────────────────────────────────COMMENT
MEDIUM…/CodexMobile/Views/Turn/Diff/TurnUnifiedDiffView.swift353// ─── Hunk section ───────────────────────────────────────────────────COMMENT
MEDIUM…/CodexMobile/Views/Turn/Diff/TurnUnifiedDiffView.swift456// ─── Row ────────────────────────────────────────────────────────────COMMENT
MEDIUM…/CodexMobile/Views/Turn/Diff/TurnUnifiedDiffView.swift513// ─── Palette ────────────────────────────────────────────────────────COMMENT
MEDIUM…Views/Turn/Timeline/TurnTimelineRenderProjection.swift9// ─── Render Item Models ───────────────────────────────────────COMMENT
MEDIUM…Views/Turn/Timeline/TurnTimelineRenderProjection.swift126// ─── Projection ────────────────────────────────────────────────COMMENT
MEDIUM…exMobile/Views/Turn/Timeline/TurnTimelineReducer.swift17 // ─── ENTRY POINT ─────────────────────────────────────────────COMMENT
MEDIUM…e/CodexMobile/Services/CodexService+AIChangeSets.swift233// ─── Ledger mutation helpers ───────────────────────────────────────COMMENT
MEDIUM…e/CodexMobile/Services/CodexService+AIChangeSets.swift378// ─── Private helpers ───────────────────────────────────────────────COMMENT
MEDIUM…odexMobile/Services/GPTVoiceTranscriptionManager.swift104 // ─── Recording lifecycle ─────────────────────────────────────COMMENT
MEDIUM…odexMobile/Services/GPTVoiceTranscriptionManager.swift260 // ─── Duration timer ─────────────────────────────────────────COMMENT
MEDIUM…odexMobile/Services/GPTVoiceTranscriptionManager.swift278 // ─── Mic permission ──────────────────────────────────────────COMMENT
MEDIUM…odexMobile/Services/GPTVoiceTranscriptionManager.swift337 // ─── Audio session ───────────────────────────────────────────COMMENT
9 more matches not shown…
Cross-File Repetition11 hits · 55 pts
SeverityFileLineSnippetContext
HIGH…Mobile/CodexMobileTests/TurnTimelineReducerTests.swift0status: completed path: sources/app.swift kind: update totals: +2 -1STRING
HIGH…eTests/CodexServiceIncomingCommandExecutionTests.swift0status: completed path: sources/app.swift kind: update totals: +2 -1STRING
HIGH…ile/CodexMobileTests/TurnSessionDiffSummaryTests.swift0status: completed path: sources/app.swift kind: update totals: +2 -1STRING
HIGH…odexMobileTests/TurnFileChangeSummaryParserTests.swift0status: completed path: sources/app.swift kind: update totals: +2 -1STRING
HIGH…Mobile/CodexMobileTests/TurnTimelineReducerTests.swift0latest testflight inbox email says: remodex version 1.4, build 124 subject: "remodex - remote ai coding 1.4 (124) for ioSTRING
HIGH…eTests/CodexServiceIncomingCommandExecutionTests.swift0latest testflight inbox email says: remodex version 1.4, build 124 subject: "remodex - remote ai coding 1.4 (124) for ioSTRING
HIGH…obileTests/CodexServiceIncomingRunIndicatorTests.swift0latest testflight inbox email says: remodex version 1.4, build 124 subject: "remodex - remote ai coding 1.4 (124) for ioSTRING
HIGH…Mobile/CodexMobileTests/TurnTimelineReducerTests.swift0status: inprogress path: sources/app.swift kind: update totals: +2 -1STRING
HIGH…eTests/CodexServiceIncomingCommandExecutionTests.swift0status: inprogress path: sources/app.swift kind: update totals: +2 -1STRING
HIGH…ile/CodexMobileTests/TurnSessionDiffSummaryTests.swift0status: inprogress path: sources/app.swift kind: update totals: +2 -1STRING
HIGH…odexMobileTests/TurnFileChangeSummaryParserTests.swift0status: inprogress path: sources/app.swift kind: update totals: +2 -1STRING
Over-Commented Block44 hits · 43 pts
SeverityFileLineSnippetContext
LOWphodex-bridge/bin/phodex.js1#!/usr/bin/env nodeCOMMENT
LOWphodex-bridge/src/desktop-ipc-live-owner.js1701// Desktop's prompt dedupe allows only these item types to precede the initialCOMMENT
LOWphodex-bridge/src/desktop-ipc-action-follower.js701 queuedChangesByThreadId.clear();COMMENT
LOW…yKit.xcframework/ios-arm64-simulator/Headers/ghostty.h1// Ghostty embedding API. The documentation for the embedding API isCOMMENT
LOW…yKit.xcframework/ios-arm64-simulator/Headers/ghostty.h21typedef SSIZE_T ssize_t;COMMENT
LOW…yKit.xcframework/ios-arm64-simulator/Headers/ghostty.h41 #ifdef GHOSTTY_BUILD_SHAREDCOMMENT
LOW…dor/GhosttyKit.xcframework/ios-arm64/Headers/ghostty.h1// Ghostty embedding API. The documentation for the embedding API isCOMMENT
LOW…dor/GhosttyKit.xcframework/ios-arm64/Headers/ghostty.h21typedef SSIZE_T ssize_t;COMMENT
LOW…dor/GhosttyKit.xcframework/ios-arm64/Headers/ghostty.h41 #ifdef GHOSTTY_BUILD_SHAREDCOMMENT
LOW…Mobile/CodexMobile/Models/String+PathDisplayName.swift1// FILE: String+PathDisplayName.swiftCOMMENT
LOW…ile/CodexMobile/Models/CodexSyntheticIdentifiers.swift1// FILE: CodexSyntheticIdentifiers.swiftCOMMENT
LOWCodexMobile/CodexMobile/Views/SidebarView.swift1// FILE: SidebarView.swiftCOMMENT
LOW…CodexMobile/Views/Sidebar/SidebarBottomActionBar.swift1// FILE: SidebarBottomActionBar.swiftCOMMENT
LOW…Mobile/Views/Sidebar/SidebarProjectSectionHeader.swift1// FILE: SidebarProjectSectionHeader.swiftCOMMENT
LOW…bile/CodexMobile/Views/Sidebar/SidebarActionPill.swift1// FILE: SidebarActionPill.swiftCOMMENT
LOW…exMobile/Views/Sidebar/SidebarContentScopePicker.swift1// FILE: SidebarContentScopePicker.swiftCOMMENT
LOW…e/CodexMobile/Views/Sidebar/SidebarSectionHeader.swift1// FILE: SidebarSectionHeader.swiftCOMMENT
LOW…dexMobile/Views/Sidebar/SidebarToolbarIconButton.swift1// FILE: SidebarToolbarIconButton.swiftCOMMENT
LOW…dexMobile/Views/Sidebar/SidebarThreadContextMenu.swift1// FILE: SidebarThreadContextMenu.swiftCOMMENT
LOW…CodexMobile/Views/Sidebar/SidebarForegroundStyle.swift1// FILE: SidebarForegroundStyle.swiftCOMMENT
LOW…odexMobile/Views/Settings/SettingsBaseComponents.swift1// FILE: SettingsBaseComponents.swiftCOMMENT
LOW…e/CodexMobile/Views/Shared/AdaptiveGlassModifier.swift221 }COMMENT
LOWCodexMobile/CodexMobile/Views/Shared/ToolCallIcon.swift1// FILE: ToolCallIcon.swiftCOMMENT
LOW…obile/CodexMobile/Views/Shared/CircularIconBadge.swift1// FILE: CircularIconBadge.swiftCOMMENT
LOW…Mobile/CodexMobile/Views/Shared/UIKitContextMenu.swift1// FILE: UIKitContextMenu.swiftCOMMENT
LOW…Mobile/CodexMobile/Views/Shared/UIKitContextMenu.swift21// itself to. SwiftUI does not expose the underlying host view of anCOMMENT
LOWCodexMobile/CodexMobile/Views/Shared/HapticButton.swift1// FILE: HapticButton.swiftCOMMENT
LOWCodexMobile/CodexMobile/Views/Shared/RemodexIcon.swift161 }COMMENT
LOWCodexMobile/CodexMobile/Views/Shared/RemodexIcon.swift261 // Anchor to a SQUARE SF Symbol bounding box (rather than the mappedCOMMENT
LOW…ws/Turn/Messages/StreamingInlineMarkupAutoCloser.swift1// FILE: StreamingInlineMarkupAutoCloser.swiftCOMMENT
LOW…Turn/Messages/StreamingAssistantMarkdownTextView.swift21 // when the user flips theme or accent mid-stream (otherwise equality would suppress it).COMMENT
LOW…ews/Turn/Messages/StreamingMarkdownBlockSplitter.swift1// FILE: StreamingMarkdownBlockSplitter.swiftCOMMENT
LOW…bile/Views/Turn/Messages/StreamingMarkdownReveal.swift21 static let positionQuantization = 4.0COMMENT
LOW…Mobile/Views/Turn/Messages/TurnMessageComponents.swift1// FILE: TurnMessageComponents.swiftCOMMENT
LOW…Views/Turn/Composer/TurnComposerRuntimeUIKitMenu.swift1// FILE: TurnComposerRuntimeUIKitMenu.swiftCOMMENT
LOW…/CodexMobile/Views/Turn/Composer/UIKitMenuButton.swift1// FILE: UIKitMenuButton.swiftCOMMENT
LOW…/CodexMobile/Views/Turn/Composer/UIKitMenuButton.swift21// to that VC's view instead.COMMENT
LOW…n/Composer/TurnComposerCollapsibleContextCluster.swift1// FILE: TurnComposerCollapsibleContextCluster.swiftCOMMENT
LOW…CodexMobile/Views/Turn/Composer/TurnMentionChips.swift1// FILE: TurnMentionChips.swiftCOMMENT
LOW…dexMobile/Views/Turn/Voice/VoiceRecordingCapsule.swift101 return String(format: "%d:%02d", minutes, seconds)COMMENT
LOW…CodexMobile/Views/Turn/Git/TurnGitActionsToolbar.swift161// plain `title` stays as the textual/voice-over fallback. App Review risk isCOMMENT
LOW…obile/CodexMobile/Services/CodexService+Incoming.swift3421 // bridge's 250ms rollout poll interval so consecutive batches never merge,COMMENT
LOWCodexMobile/CodexMobile/Services/CodexService.swift601 // recreate live/streaming UI or mark the sidebar as running.COMMENT
LOW…dexMobile/Services/StreamingUIInteractionMonitor.swift1// FILE: StreamingUIInteractionMonitor.swiftCOMMENT
Hallucination Indicators3 hits · 30 pts
SeverityFileLineSnippetContext
CRITICALphodex-bridge/test/desktop-ipc-live-owner.test.js2720 const turnIds = snapshot.params.change.conversationState.turns.map((turn) => turn.turnId);CODE
CRITICALphodex-bridge/test/desktop-ipc-live-owner.test.js3711 && frame.params.change.conversationState.turns.some((turn) => turn.turnId === "turn-fresh")CODE
CRITICALphodex-bridge/test/desktop-ipc-live-owner.test.js3713 const turnIds = reclaimBroadcast.params.change.conversationState.turns.map((turn) => turn.turnId);CODE
Modern AI Meta-Vocabulary8 hits · 24 pts
SeverityFileLineSnippetContext
MEDIUMAGENTS.md7## Core guardrailsCOMMENT
MEDIUMAGENTS.md21## iOS runtime + timeline guardrailsCOMMENT
MEDIUMAGENTS.md32## Local connection guardrailsCOMMENT
MEDIUMAGENTS.md41## Build guardrailsCOMMENT
MEDIUMCLAUDE.md7## Core guardrailsCOMMENT
MEDIUMCLAUDE.md21## iOS runtime + timeline guardrailsCOMMENT
MEDIUMCLAUDE.md32## Local connection guardrailsCOMMENT
MEDIUMCLAUDE.md41## Build guardrailsCOMMENT
Fake / Example Data14 hits · 14 pts
SeverityFileLineSnippetContext
LOWphodex-bridge/test/account-status.test.js59 email: "user@example.com",CODE
LOWphodex-bridge/test/account-status.test.js77 email: "user@example.com",CODE
LOWphodex-bridge/test/account-status.test.js94 email: "user@example.com",CODE
LOWphodex-bridge/test/account-status.test.js112 email: "user@example.com",CODE
LOWphodex-bridge/test/account-status.test.js130 email: "user@example.com",CODE
LOWphodex-bridge/test/account-status.test.js148 email: "user@example.com",CODE
LOWphodex-bridge/test/account-status.test.js166 email: "user@example.com",CODE
LOWphodex-bridge/test/account-status.test.js359 email: "user@example.com",CODE
LOWphodex-bridge/test/account-status.test.js377 email: "user@example.com",CODE
LOWCodexMobile/CodexMobileTests/CodexGPTAccountTests.swift64 "email": .string("user@example.com"),CODE
LOWCodexMobile/CodexMobileTests/CodexGPTAccountTests.swift78 XCTAssertEqual(service.gptAccountSnapshot.email, "user@example.com")CODE
LOWCodexMobile/CodexMobileTests/CodexGPTAccountTests.swift426 "email": .string("user@example.com"),CODE
LOWCodexMobile/CodexMobileTests/CodexGPTAccountTests.swift496 email: "user@example.com",CODE
LOWCodexMobile/CodexMobileTests/CodexGPTAccountTests.swift510 "email": .string("user@example.com"),CODE
Slop Phrases2 hits · 6 pts
SeverityFileLineSnippetContext
MEDIUM…ramework/ios-arm64-simulator/Headers/ghostty/vt/wasm.h32 * Here's a simple example of using the Wasm utilities with the key encoder:COMMENT
MEDIUM…ttyKit.xcframework/ios-arm64/Headers/ghostty/vt/wasm.h32 * Here's a simple example of using the Wasm utilities with the key encoder:COMMENT