Show usage stats for OpenAI Codex and Claude Code, without having to login.
This report summarizes scanner evidence for steipete/CodexBar, a Swift project with 22,912 GitHub stars. SynthScan examined 976,681 lines of code across 3882 source files, recording 1207 pattern matches distributed across 17 syntactic categories. The legacy adjusted pattern signal is 1.5 (Low pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.
Can maintainers explain intent, assumptions, and trade-offs? 793 finding(s).
Are imports declared and package/API names verified? 365 finding(s).
Are wrappers, guards, and repeated structures necessary? 337 finding(s).
Which changes need focused human review? 1207 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 1207 distinct pattern matches across 17 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | Tests/CodexBarTests/CursorTeamSpendTests.swift | 61 | #expect(snapshot.planLimitUSD == 20) | COMMENT |
| LOW | …xBarTests/OpenAIDashboardFetcherCreditsWaitTests.swift | 641 | #expect(snapshot.creditEvents.count == 1) | COMMENT |
| LOW | …ts/CodexBarTests/OpenCodeGoLocalUsageReaderTests.swift | 761 | COMMENT | |
| LOW | Tests/CodexBarTests/KiroStatusProbeTests.swift | 1301 | #expect(snapshot.authMethod == "Google") | COMMENT |
| LOW | Tests/CodexBarTests/AmpUsageParserTests.swift | 41 | #expect(usage.primary?.windowMinutes == 30 * 24 * 60) | COMMENT |
| LOW | Tests/CodexBarTests/AmpUsageParserTests.swift | 281 | COMMENT | |
| LOW | Tests/CodexBarTests/CostUsageStoreTests.swift | 1 | import Foundation | COMMENT |
| LOW | Tests/CodexBarTests/CostUsageStoreTests.swift | 521 | var expectedSnapshot = snapshotBefore | COMMENT |
| LOW | Tests/CodexBarTests/CostUsageStoreTests.swift | 901 | #expect(await store.upsertFile(file)) | COMMENT |
| LOW | Tests/CodexBarTests/CostUsageStoreTests.swift | 1081 | let accumulator = Self.accumulator(path: file.path) | COMMENT |
| LOW | Tests/CodexBarTests/CostUsageStoreTests.swift | 2021 | #expect(second.deletedRows == 0) | COMMENT |
| LOW | Tests/CodexBarTests/AntigravityCLICostTests.swift | 141 | #expect(!text.contains("$0")) | COMMENT |
| LOW | Tests/CodexBarTests/DoubaoUsageFetcherTests.swift | 1101 | #expect(snapshot.secondary == nil) | COMMENT |
| LOW | Tests/CodexBarTests/ProviderDiagnosticExportTests.swift | 581 | resetDescription: "Weekly") | COMMENT |
| LOW | Tests/CodexBarTests/OpenAIOrgRateLimitsTests.swift | 181 | #expect(resolver.projectCap(for: "gpt-4o")?.tokensPerMinute == 200) | COMMENT |
| LOW | Tests/CodexBarTests/OpenAIOrgRateLimitsTests.swift | 221 | .init(model: "a", tokensPerMinute: 100), | COMMENT |
| LOW | …xBarTests/CostUsageScannerClaudePricingMemoTests.swift | 21 | id: "\(file)-\(index)", | COMMENT |
| LOW | …xBarTests/CostUsageScannerClaudePricingMemoTests.swift | 61 | COMMENT | |
| LOW | Tests/CodexBarTests/BifrostPluginTests.swift | 41 | #expect(usage.identity?.accountEmail == "fixture-team") | COMMENT |
| LOW | Tests/CodexBarTests/BifrostPluginTests.swift | 161 | #expect(usage.primary == nil) | COMMENT |
| LOW | Tests/CodexBarTests/QwenCloudProviderTests.swift | 241 | try QwenCloudUsageFetcher.parseUsageSnapshot(from: Data("not-json".utf8)) | COMMENT |
| LOW | …ts/CodexBarTests/CodexAccountReconciliationTests.swift | 41 | defer { | COMMENT |
| LOW | Tests/CodexBarTests/CursorUsageEventsFetcherTests.swift | 101 | #expect(firstDay.modelBreakdowns?.count == 2) | COMMENT |
| LOW | Tests/CodexBarTests/CursorUsageEventsFetcherTests.swift | 261 | #expect(page.usageEventsDisplay.isEmpty) | COMMENT |
| LOW | Tests/CodexBarTests/CLIUsageFetchSetupTests.swift | 21 | arguments: [ | COMMENT |
| LOW | Tests/CodexBarTests/CodexProfileHomeAccountTests.swift | 181 | #expect(fixture.store.isTokenRefreshInFlight(for: .codex)) | COMMENT |
| LOW | Tests/CodexBarTests/HuggingFaceWalletPluginTests.swift | 41 | ] | COMMENT |
| LOW | Tests/CodexBarTests/AntigravityLocalWALTests.swift | 181 | #expect(control == SQLITE_ROW || control == SQLITE_CANTOPEN) | COMMENT |
| LOW | Tests/CodexBarTests/AntigravityLocalWALTests.swift | 341 | }) | COMMENT |
| LOW | …s/CodexBarTests/ClaudeEducationAvailabilityTests.swift | 121 | #expect(store.tokenSnapshot(for: .claude) == tokenSnapshot) | COMMENT |
| LOW | Tests/CodexBarTests/OpenCodexNousUsageTests.swift | 161 | #expect(enabled) | COMMENT |
| LOW | …CodexBarTests/KeychainAccessGateConcurrencyTests.swift | 1 | import Foundation | COMMENT |
| LOW | …ts/CodexBarTests/ProviderSettingsDescriptorTests.swift | 1001 | #expect(fixture.settings.configSnapshot.providerConfig(for: .alibabatokenplan)?.source == .cli) | COMMENT |
| LOW | …dexBarTests/CLIConfigClearCredentialCommandTests.swift | 101 | #expect(Set(json.keys) == ["provider", "cleared", "configPath"]) | COMMENT |
| LOW | …CodexBarTests/CostUsageClaudeVertexPrecheckTests.swift | 21 | let range = CostUsageScanner.CostUsageDayRange(since: day, until: day, calendar: .current) | COMMENT |
| LOW | Tests/CodexBarTests/ShareStatsTests.swift | 41 | #expect(payload.currencies == [ | COMMENT |
| LOW | Tests/CodexBarTests/ShareStatsTests.swift | 101 | } | COMMENT |
| LOW | Tests/CodexBarTests/ShareStatsTests.swift | 121 | func `subscription labels require a plan tier provider contract`() { | COMMENT |
| LOW | Tests/CodexBarTests/GroqConsoleFetcherTests.swift | 61 | historyDays: 30, | COMMENT |
| LOW | Tests/CodexBarTests/StatuspageSummaryTests.swift | 201 | #expect(result.components[2].indicator == .critical) | COMMENT |
| LOW | Tests/CodexBarTests/HomebrewUpgradeCommandTests.swift | 81 | #expect(updater.phase == .available("0.80.0")) | COMMENT |
| LOW | Tests/CodexBarTests/MenuBarLayoutTests.swift | 361 | COMMENT | |
| LOW | Tests/CodexBarTests/MenuBarLayoutTests.swift | 1081 | settings.resetTimesShowAbsolute = true | COMMENT |
| LOW | Tests/CodexBarTests/MenuBarLayoutTests.swift | 1181 | #expect(!settings.menuBarLayoutMonospacedDigits) | COMMENT |
| LOW | Tests/CodexBarTests/CodexWorkspaceBalanceTests.swift | 81 | claudeFetcher: ClaudeUsageFetcher(browserDetection: browserDetection), | COMMENT |
| LOW | …BarTests/UsageStorePlanUtilizationAsyncLoadTests.swift | 1 | import CodexBarCore | COMMENT |
| LOW | Tests/CodexBarTests/MiniMaxTokenPlanChangeTests.swift | 21 | #expect(services[0].serviceType == "general") | COMMENT |
| LOW | Tests/CodexBarTests/MiniMaxTokenPlanChangeTests.swift | 221 | COMMENT | |
| LOW | …/CodexBarTests/StatusItemAnimationSignatureTests.swift | 381 | let button = try #require(controller.statusItem.button) | COMMENT |
| LOW | …xBarTests/CodexManagedOpenAIWebSubscriptionTests.swift | 81 | #expect(mergedUsage.identity?.providerID == existingUsage.identity?.providerID) | COMMENT |
| LOW | Tests/CodexBarTests/SpendDashboardDateTruthTests.swift | 341 | #expect(usd.models.first(where: { $0.provider == .codex })?.totalTokens == 10) | COMMENT |
| LOW | Tests/CodexBarTests/SpendDashboardDateTruthTests.swift | 441 | let groups = SpendDashboardModel.build( | COMMENT |
| LOW | Tests/CodexBarTests/SpendDashboardDateTruthTests.swift | 541 | requestedDays: 30, | COMMENT |
| LOW | Tests/CodexBarTests/SpendDashboardDateTruthTests.swift | 621 | let groups = SpendDashboardModel.build( | COMMENT |
| LOW | Tests/CodexBarTests/ZenMuxPluginTests.swift | 21 | let body = request.url?.path.hasSuffix("/payg/balance") == true | COMMENT |
| LOW | …s/CodexBarTests/ProviderPluginDetailsParityTests.swift | 481 | secrets: ["Z_AI_API_KEY": "fixture-key"], | COMMENT |
| LOW | …s/CodexBarTests/ProviderPluginDetailsParityTests.swift | 701 | #expect(swift.providerCost?.used == script.providerCost?.used) | COMMENT |
| LOW | Tests/CodexBarTests/CostUsageSessionTurnsTests.swift | 21 | #expect(first.requests.count == 2) | COMMENT |
| LOW | Tests/CodexBarTests/LiteLLMMemberBudgetTests.swift | 101 | #expect(abs(primary.usedPercent - 38.4) < 0.000001) | COMMENT |
| LOW | Tests/CodexBarTests/T3ChatUsageFetcherTests.swift | 21 | // 2026-05-21T12:23:36Z, the usage-window reset that must not drive overage reset display. | COMMENT |
| 327 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …xBarTests/OpenAIDashboardFetcherCreditsWaitTests.swift | 9 | signedInEmail: "user@example.com", | CODE |
| LOW | …xBarTests/OpenAIDashboardFetcherCreditsWaitTests.swift | 148 | signedInEmail: "user@example.com", | CODE |
| LOW | …xBarTests/OpenAIDashboardFetcherCreditsWaitTests.swift | 160 | signedInEmail: "user@example.com", | CODE |
| LOW | …xBarTests/OpenAIDashboardFetcherCreditsWaitTests.swift | 378 | signedInEmail: "user@example.com", | STRING |
| LOW | …xBarTests/OpenAIDashboardFetcherCreditsWaitTests.swift | 398 | verifiedEmail: "user@example.com", | STRING |
| LOW | …xBarTests/OpenAIDashboardFetcherCreditsWaitTests.swift | 415 | signedInEmail: "user@example.com", | STRING |
| LOW | …xBarTests/OpenAIDashboardFetcherCreditsWaitTests.swift | 446 | signedInEmail: "user@example.com", | STRING |
| LOW | …xBarTests/OpenAIDashboardFetcherCreditsWaitTests.swift | 482 | verifiedEmail: "user@example.com", | STRING |
| LOW | …xBarTests/OpenAIDashboardFetcherCreditsWaitTests.swift | 487 | #expect(snapshot.signedInEmail == "user@example.com") | STRING |
| LOW | …xBarTests/OpenAIDashboardFetcherCreditsWaitTests.swift | 502 | signedInEmail: "user@example.com", | STRING |
| LOW | …xBarTests/OpenAIDashboardFetcherCreditsWaitTests.swift | 525 | verifiedEmail: "user@example.com", | STRING |
| LOW | …xBarTests/OpenAIDashboardFetcherCreditsWaitTests.swift | 537 | signedInEmail: "user@example.com", | STRING |
| LOW | …xBarTests/OpenAIDashboardFetcherCreditsWaitTests.swift | 547 | signedInEmail: "user@example.com", | STRING |
| LOW | …xBarTests/OpenAIDashboardFetcherCreditsWaitTests.swift | 572 | signedInEmail: "user@example.com", | STRING |
| LOW | …xBarTests/OpenAIDashboardFetcherCreditsWaitTests.swift | 592 | verifiedEmail: "user@example.com", | STRING |
| LOW⚡ | Tests/CodexBarTests/KiroStatusProbeTests.swift | 1536 | #expect(account.email == "user@example.com") | STRING |
| LOW⚡ | Tests/CodexBarTests/KiroStatusProbeTests.swift | 1544 | stdout: "user@example.com", | STRING |
| LOW⚡ | Tests/CodexBarTests/KiroStatusProbeTests.swift | 1549 | #expect(account.email == "user@example.com") | STRING |
| LOW | …odexBarTests/ClaudeBaselineCharacterizationTests.swift | 703 | accountEmail: "user@example.com", | STRING |
| LOW | …odexBarTests/ClaudeBaselineCharacterizationTests.swift | 835 | accountEmail: "user@example.com", | STRING |
| LOW | …odexBarTests/ClaudeBaselineCharacterizationTests.swift | 857 | #expect(result.usage.identity?.accountEmail == "user@example.com") | STRING |
| LOW | …odexBarTests/ClaudeBaselineCharacterizationTests.swift | 872 | accountEmail: "user@example.com", | STRING |
| LOW | Tests/CodexBarTests/AmpUsageParserTests.swift | 264 | #expect(snapshot.accountEmail == "user@example.com") | STRING |
| LOW | Tests/CodexBarTests/AmpUsageParserTests.swift | 552 | #expect(snapshot.accountEmail == "user@example.com") | STRING |
| LOW | Tests/CodexBarTests/MenuBarLayoutRendererTests.swift | 102 | (.accountLabel, "user@example.com"), | CODE |
| LOW | Tests/CodexBarTests/MenuBarLayoutRendererTests.swift | 2489 | accountLabel: String? = "user@example.com", | CODE |
| LOW | …ts/CodexBarTests/CodexAccountReconciliationTests.swift | 349 | email: "user@example.com", | CODE |
| LOW | …ts/CodexBarTests/CodexAccountReconciliationTests.swift | 357 | email: "user@example.com", | CODE |
| LOW | …ts/CodexBarTests/CodexAccountReconciliationTests.swift | 384 | #expect(baseProjection.visibleAccounts.first?.displayName == "user@example.com") | COMMENT |
| LOW | …ts/CodexBarTests/CodexAccountReconciliationTests.swift | 392 | email: "user@example.com", | CODE |
| LOW⚡ | …ts/CodexBarTests/CodexAccountReconciliationTests.swift | 411 | #expect(projection.activeVisibleAccountID == "user@example.com") | COMMENT |
| LOW⚡ | …ts/CodexBarTests/CodexAccountReconciliationTests.swift | 412 | #expect(projection.liveVisibleAccountID == "user@example.com") | COMMENT |
| LOW⚡ | …ts/CodexBarTests/CodexAccountReconciliationTests.swift | 419 | email: "user@example.com", | CODE |
| LOW | …ts/CodexBarTests/CodexAccountReconciliationTests.swift | 442 | storedAccountRuntimeEmails: [stored.id: "user@example.com"]) | CODE |
| LOW | …ts/CodexBarTests/CodexAccountReconciliationTests.swift | 458 | storedAccountRuntimeEmails: [stored.id: "user@example.com"]) | CODE |
| LOW | …ts/CodexBarTests/CodexAccountReconciliationTests.swift | 474 | storedAccountRuntimeEmails: [stored.id: "user@example.com"]) | CODE |
| LOW | …ts/CodexBarTests/CodexAccountReconciliationTests.swift | 495 | email: "user@example.com", | CODE |
| LOW | …ts/CodexBarTests/CodexAccountReconciliationTests.swift | 518 | #expect(projection.activeVisibleAccountID == "user@example.com") | COMMENT |
| LOW | …ts/CodexBarTests/CodexAccountReconciliationTests.swift | 519 | #expect(projection.source(forVisibleAccountID: "user@example.com") == .liveSystem) | COMMENT |
| LOW⚡ | …ts/CodexBarTests/CodexAccountReconciliationTests.swift | 530 | email: "user@example.com", | CODE |
| LOW⚡ | …ts/CodexBarTests/CodexAccountReconciliationTests.swift | 536 | email: "user@example.com", | CODE |
| LOW⚡ | …ts/CodexBarTests/CodexAccountReconciliationTests.swift | 546 | identity: .emailOnly(normalizedEmail: "user@example.com")) | CODE |
| LOW | …ts/CodexBarTests/CodexAccountReconciliationTests.swift | 560 | #expect(Set(projection.visibleAccounts.map(\.email)) == Set(["user@example.com"])) | COMMENT |
| LOW | Tests/CodexBarTests/ProviderStorageFootprintTests.swift | 120 | email: "user@example.com", | CODE |
| LOW | …exBarTests/AntigravityCLIHTTPSFetchStrategyTests.swift | 448 | accountEmail: "user@example.com", | STRING |
| LOW | …exBarTests/AntigravityCLIHTTPSFetchStrategyTests.swift | 453 | #expect(snapshot.accountEmail == "user@example.com") | STRING |
| LOW | …exBarTests/AntigravityCLIHTTPSFetchStrategyTests.swift | 487 | accountEmail: "user@example.com", | STRING |
| LOW | …exBarTests/AntigravityCLIHTTPSFetchStrategyTests.swift | 503 | expectedAccountEmail: "user@example.com", | STRING |
| LOW | …exBarTests/AntigravityCLIHTTPSFetchStrategyTests.swift | 532 | accountEmail: "user@example.com", | STRING |
| LOW | …exBarTests/AntigravityCLIHTTPSFetchStrategyTests.swift | 538 | #expect(snapshot.accountEmail == "user@example.com") | STRING |
| LOW | …exBarTests/AntigravityCLIHTTPSFetchStrategyTests.swift | 567 | accountEmail: "user@example.com", | STRING |
| LOW | …exBarTests/AntigravityCLIHTTPSFetchStrategyTests.swift | 572 | #expect(snapshot.accountEmail == "user@example.com") | STRING |
| LOW | …exBarTests/AntigravityCLIHTTPSFetchStrategyTests.swift | 640 | accountEmail: "user@example.com", | STRING |
| LOW | …exBarTests/AntigravityCLIHTTPSFetchStrategyTests.swift | 645 | #expect(snapshot.accountEmail == "user@example.com") | STRING |
| LOW | …exBarTests/AntigravityCLIHTTPSFetchStrategyTests.swift | 706 | accountEmail: "user@example.com", | STRING |
| LOW | …exBarTests/AntigravityCLIHTTPSFetchStrategyTests.swift | 743 | accountEmail: "user@example.com", | STRING |
| LOW | …exBarTests/AntigravityCLIHTTPSFetchStrategyTests.swift | 748 | #expect(snapshot.accountEmail == "user@example.com") | STRING |
| LOW | Tests/CodexBarTests/CurlCaptureParserTests.swift | 8 | let curl = "curl 'https://example.com/api/usage' -H 'Authorization: Bearer fake-token'" | CODE |
| LOW⚡ | Tests/CodexBarTests/CurlCaptureParserTests.swift | 27 | curl 'https://example.com' --header "Authorization: Bearer fake-token" --header "Cookie: session=abc" | CODE |
| LOW⚡ | Tests/CodexBarTests/CurlCaptureParserTests.swift | 31 | #expect(fields.contains("Authorization: Bearer fake-token")) | STRING |
| 296 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | .agents/skills/codexbar/scripts/test_codexbar.py | 115 | def test_help_is_small_and_read_only(self) -> None: | CODE |
| LOW⚡ | .agents/skills/codexbar/scripts/test_codexbar.py | 122 | def test_missing_binary_is_json(self) -> None: | CODE |
| LOW⚡ | .agents/skills/codexbar/scripts/test_codexbar.py | 129 | def test_doctor_reports_version_and_raw_validation_shape(self) -> None: | CODE |
| LOW⚡ | .agents/skills/codexbar/scripts/test_codexbar.py | 139 | def test_providers_passes_upstream_json_without_second_schema(self) -> None: | CODE |
| LOW⚡ | .agents/skills/codexbar/scripts/test_codexbar.py | 149 | def test_usage_defaults_to_enabled_and_runs_from_any_cwd(self) -> None: | CODE |
| LOW | .agents/skills/codexbar/scripts/test_codexbar.py | 160 | def test_usage_scope_maps_to_upstream_cli(self) -> None: | CODE |
| LOW | .agents/skills/codexbar/scripts/test_codexbar.py | 170 | def test_usage_hides_identity_but_preserves_provider_id(self) -> None: | CODE |
| LOW | .agents/skills/codexbar/scripts/test_codexbar.py | 187 | def test_include_identities_never_exposes_secret_keys(self) -> None: | CODE |
| LOW | .agents/skills/codexbar/scripts/test_codexbar.py | 198 | def test_each_stream_is_capped_while_fully_drained(self) -> None: | CODE |
| LOW | .agents/skills/codexbar/scripts/test_codexbar.py | 215 | def test_timeout_kills_process_group(self) -> None: | CODE |
| LOW | docs/site.js | 57 | function getMenubarRenderedHeightPx() { | CODE |
| LOW | docs/site.js | 160 | function getHudDefaultsFromGeometry() { | CODE |
| LOW | docs/site.js | 276 | function computeMobileMockupOffsetX(viewportWidth) { | CODE |
| LOW | Integrations/Linux/tests/test_package.py | 14 | def test_symlinked_binary_is_packaged_as_a_regular_file(self): | CODE |
| LOW | Integrations/Linux/tests/test_package.py | 27 | def test_archive_installs_without_a_checkout(self): | CODE |
| LOW | Integrations/Linux/tests/test_package.py | 72 | def test_invalid_version_does_not_create_an_archive(self): | CODE |
| LOW⚡ | Integrations/Linux/tests/test_desktop.py | 97 | def test_preferences_validation_and_atomic_save(self): | STRING |
| LOW⚡ | Integrations/Linux/tests/test_desktop.py | 106 | def test_scoped_windows_reach_private_snapshots_without_exporting_identifiers(self): | STRING |
| LOW⚡ | Integrations/Linux/tests/test_desktop.py | 313 | def test_old_response_cannot_replace_new_selection(self): | STRING |
| LOW⚡ | Integrations/Linux/tests/test_desktop.py | 322 | def test_failed_refresh_preserves_previous_usage(self): | STRING |
| LOW⚡ | Integrations/Linux/tests/test_desktop.py | 329 | def test_quick_view_is_opt_in_and_never_scans_cost_on_open(self): | STRING |
| LOW⚡ | Integrations/Linux/tests/test_desktop.py | 372 | def test_custom_provider_partial_failure_keeps_other_results(self): | STRING |
| LOW⚡ | Integrations/Linux/tests/test_desktop.py | 381 | def test_custom_provider_ignores_usage_answered_for_another_provider(self): | STRING |
| LOW⚡ | Integrations/Linux/tests/test_desktop.py | 390 | def test_selection_change_during_custom_batch(self): | STRING |
| LOW⚡ | Integrations/Linux/tests/test_desktop.py | 398 | def test_autostart_toggle_is_independent_of_preferences(self): | STRING |
| LOW⚡ | Integrations/Linux/tests/test_desktop.py | 407 | def test_display_changes_preserve_usage_without_a_provider_query(self): | STRING |
| LOW | Integrations/Linux/tests/test_desktop.py | 84 | def test_single_instance_and_snapshot_privacy(self): | STRING |
| LOW | Integrations/Linux/tests/test_desktop.py | 137 | def test_antigravity_pools_reach_snapshots_once_with_representatives_first(self): | STRING |
| LOW | Integrations/Linux/tests/test_desktop.py | 161 | def test_provider_window_labels_reach_private_snapshot(self): | STRING |
| LOW | Integrations/Linux/tests/test_desktop.py | 175 | def test_panel_details_reach_snapshot_without_identity(self): | STRING |
| LOW | Integrations/Linux/tests/test_desktop.py | 204 | def test_snapshot_redacts_provider_labels_even_when_identity_is_visible(self): | STRING |
| LOW | Integrations/Linux/tests/test_desktop.py | 217 | def test_spending_snapshot_recovers_after_failed_scan(self): | STRING |
| LOW | Integrations/Linux/tests/test_desktop.py | 229 | def test_bar_detail_caps_and_pace_are_independent_preferences(self): | STRING |
| LOW | Integrations/Linux/tests/test_desktop.py | 254 | def test_bar_provider_limit_validates_and_only_changes_display(self): | STRING |
| LOW | Integrations/Linux/tests/test_desktop.py | 280 | def test_settings_from_before_the_bar_preferences_survive_an_upgrade(self): | STRING |
| LOW | Integrations/Linux/tests/test_desktop.py | 301 | def test_invalid_config_is_not_overwritten(self): | STRING |
| LOW | Integrations/Linux/tests/test_desktop.py | 353 | def test_failed_spending_preserves_previous_scan(self): | STRING |
| LOW | Integrations/Linux/tests/test_desktop.py | 361 | def test_custom_provider_order_and_selection(self): | STRING |
| LOW | Integrations/Linux/tests/test_desktop.py | 418 | def test_display_settings_validation(self): | STRING |
| LOW | Integrations/Linux/tests/test_desktop.py | 422 | def test_windows_and_cost_scan_use_existing_backend(self): | STRING |
| LOW | Integrations/Omarchy/test_install.py | 15 | def test_desktop_entries_launch_the_installed_binary_with_special_home_characters(self): | CODE |
| LOW | Integrations/Omarchy/test_install.py | 47 | def test_desktop_commands_escape_special_characters_in_the_home_path(self): | CODE |
| LOW | Integrations/Omarchy/test_install.py | 76 | def test_reinstall_preserves_the_desktop_entry_hidden_setting(self): | CODE |
| LOW | Integrations/Omarchy/test_install.py | 105 | def test_xdg_directories_use_defaults_unless_absolute(self): | CODE |
| LOW | Integrations/Omarchy/test_install.py | 141 | def test_migration_and_reinstall_preserve_preferences_and_layout(self): | CODE |
| LOW | Integrations/Omarchy/test_install.py | 179 | def test_dotfiles_symlinks_survive_and_receive_the_change(self): | CODE |
| LOW | Integrations/Omarchy/test_install.py | 249 | def test_installer_payload_paths_replace_links_instead_of_writing_through_them(self): | CODE |
| LOW | Integrations/Omarchy/test_install.py | 274 | def test_a_broken_plugin_link_does_not_abort_the_install(self): | CODE |
| LOW | Integrations/Omarchy/test_install.py | 287 | def test_standalone_install_does_not_require_omarchy(self): | CODE |
| LOW⚡ | Scripts/test_ci_prune_swiftpm_cache.py | 18 | def test_keeps_newest_main_snapshot_per_lane_even_after_toolchain_change(self): | CODE |
| LOW⚡ | Scripts/test_ci_prune_swiftpm_cache.py | 23 | def test_deletes_every_snapshot_from_retired_lanes(self): | CODE |
| LOW⚡ | Scripts/test_ci_prune_swiftpm_cache.py | 27 | def test_active_lanes_match_the_cache_builder(self): | CODE |
| LOW⚡ | Scripts/test_ci_prune_swiftpm_cache.py | 30 | def test_never_selects_legacy_other_namespace_or_non_main_caches(self): | CODE |
| LOW⚡ | Scripts/test_ci_prune_swiftpm_cache.py | 39 | def test_invalid_entries_are_ignored(self): | CODE |
| LOW | Scripts/test_packaged_app_launch.py | 16 | def test_all_launches_isolate_ambient_accounts_and_normal_launch_mode(self): | CODE |
| LOW | Scripts/test_fast_runner.py | 54 | def test_native_arguments_and_repeated_filters_remain_literal(self): | CODE |
| LOW | Scripts/test_fast_runner.py | 73 | def test_make_filters_cannot_execute_make_or_shell_expressions(self): | CODE |
| LOW | Scripts/test_fast_runner.py | 84 | def test_native_exit_code_is_preserved(self): | CODE |
| LOW | Scripts/test_fast_runner.py | 89 | def test_make_does_not_launch_swift_when_environment_setup_fails(self): | CODE |
| LOW | Scripts/test_fast_runner.py | 100 | def test_scrubber_preserves_explicit_build_search_paths(self): | CODE |
| 228 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …BarTests/ClaudeOAuthCredentialsProfileCacheTests.swift | 0 | { "claudeaioauth": { "accesstoken": "\(accesstoken)", \(refreshtokenjson) "expiresat": \(expiresat), "scopes": ["user:pr | STRING |
| HIGH | …rTests/ClaudeOAuthDirectKeychainReadConsentTests.swift | 0 | { "claudeaioauth": { "accesstoken": "\(accesstoken)", \(refreshtokenjson) "expiresat": \(expiresat), "scopes": ["user:pr | STRING |
| HIGH | …dexBarTests/ClaudeOAuthUpgradeCompatibilityTests.swift | 0 | { "claudeaioauth": { "accesstoken": "\(accesstoken)", \(refreshtokenjson) "expiresat": \(expiresat), "scopes": ["user:pr | STRING |
| HIGH | …arTests/ClaudeOAuthHistoryCredentialRoutingTests.swift | 0 | { "claudeaioauth": { "accesstoken": "\(accesstoken)", \(refreshtokenjson) "expiresat": \(expiresat), "scopes": ["user:pr | STRING |
| HIGH | …s/CodexBarTests/ClaudeOAuthCredentialsStoreTests.swift | 0 | { "claudeaioauth": { "accesstoken": "\(accesstoken)", "expiresat": \(millis), "scopes": ["user:profile"]\(refreshfield) | STRING |
| HIGH | …ests/ClaudeOAuthCredentialsStoreSecurityCLITests.swift | 0 | { "claudeaioauth": { "accesstoken": "\(accesstoken)", "expiresat": \(millis), "scopes": ["user:profile"]\(refreshfield) | STRING |
| HIGH | …udeOAuthCredentialsStoreCLIStorageOwnershipTests.swift | 0 | { "claudeaioauth": { "accesstoken": "\(accesstoken)", "expiresat": \(millis), "scopes": ["user:profile"]\(refreshfield) | STRING |
| HIGH | …OAuthCredentialsStoreTemporaryKeychainCacheTests.swift | 0 | { "claudeaioauth": { "accesstoken": "\(accesstoken)", "expiresat": \(millis), "scopes": ["user:profile"]\(refreshfield) | STRING |
| HIGH | …arTests/ClaudeOAuthDelegatedRefreshRecoveryTests.swift | 0 | { "claudeaioauth": { "accesstoken": "\(accesstoken)", "expiresat": \(millis), "scopes": ["user:profile"]\(refreshfield) | STRING |
| HIGH | …ClaudeOAuthCredentialsStoreNeverPromptCacheTests.swift | 0 | { "claudeaioauth": { "accesstoken": "\(accesstoken)", "expiresat": \(millis), "scopes": ["user:profile"]\(refreshfield) | STRING |
| HIGH | …sts/ClaudeOAuthCredentialsStorePromptPolicyTests.swift | 0 | { "claudeaioauth": { "accesstoken": "\(accesstoken)", "expiresat": \(millis), "scopes": ["user:profile"]\(refreshfield) | STRING |
| HIGH | …s/CodexBarTests/ProviderPluginDetailsParityTests.swift | 0 | {"data":{"limit":30,"limit_remaining":30,"limit_reset":"monthly","usage":0,"usage_monthly":0}} | STRING |
| HIGH | Tests/CodexBarTests/OpenRouterLimitTestSupport.swift | 0 | {"data":{"limit":30,"limit_remaining":30,"limit_reset":"monthly","usage":0,"usage_monthly":0}} | STRING |
| HIGH | TestsPlugin/ProviderPluginDetailsParityTests.swift | 0 | {"data":{"limit":30,"limit_remaining":30,"limit_reset":"monthly","usage":0,"usage_monthly":0}} | STRING |
| HIGH | …s/CodexBarTests/ProviderPluginDetailsParityTests.swift | 0 | {"code":200,"msg":"success","success":true,"data":{ "x_time":["2026-08-02 08:00","2026-08-02 09:00"], "modeldatalist":[{ | STRING |
| HIGH | Tests/CodexBarTests/ZaiProviderTests.swift | 0 | {"code":200,"msg":"success","success":true,"data":{ "x_time":["2026-08-02 08:00","2026-08-02 09:00"], "modeldatalist":[{ | STRING |
| HIGH | TestsPlugin/ProviderPluginDetailsParityTests.swift | 0 | {"code":200,"msg":"success","success":true,"data":{ "x_time":["2026-08-02 08:00","2026-08-02 09:00"], "modeldatalist":[{ | STRING |
| HIGH | Tests/CodexBarTests/ClaudeUsageTests.swift | 0 | { "five_hour": { "utilization": 7, "resets_at": "2025-12-23t16:00:00.000z" }, "seven_day": { "utilization": 21, "resets_ | STRING |
| HIGH | …arTests/ClaudeOAuthDelegatedRefreshRecoveryTests.swift | 0 | { "five_hour": { "utilization": 7, "resets_at": "2025-12-23t16:00:00.000z" }, "seven_day": { "utilization": 21, "resets_ | STRING |
| HIGH | …exBarTests/ClaudeOAuthDelegatedRefreshEpochTests.swift | 0 | { "five_hour": { "utilization": 7, "resets_at": "2025-12-23t16:00:00.000z" }, "seven_day": { "utilization": 21, "resets_ | STRING |
| HIGH | …sts/ClaudeOAuthNoninteractiveCredentialLoadTests.swift | 0 | { "five_hour": { "utilization": 7, "resets_at": "2025-12-23t16:00:00.000z" }, "seven_day": { "utilization": 21, "resets_ | STRING |
| HIGH | …dexBarTests/ClaudeOAuthUpgradeCompatibilityTests.swift | 0 | { "five_hour": { "utilization": 7, "resets_at": "2025-12-23t16:00:00.000z" }, "seven_day": { "utilization": 21, "resets_ | STRING |
| HIGH | TestsLinux/ClaudeOAuthDelegatedRefreshLinuxTests.swift | 0 | { "five_hour": { "utilization": 7, "resets_at": "2025-12-23t16:00:00.000z" }, "seven_day": { "utilization": 21, "resets_ | STRING |
| HIGH | Tests/CodexBarTests/CodexOAuthCreditLimitTests.swift | 0 | { "rate_limit": { "primary_window": null, "secondary_window": null }, "credits": { "has_credits": true, "unlimited": fal | STRING |
| HIGH | Tests/CodexBarTests/CodexExtraUsageCostTests.swift | 0 | { "rate_limit": { "primary_window": null, "secondary_window": null }, "credits": { "has_credits": true, "unlimited": fal | STRING |
| HIGH | Tests/CodexBarTests/CodexOAuthTests.swift | 0 | { "rate_limit": { "primary_window": null, "secondary_window": null }, "credits": { "has_credits": true, "unlimited": fal | STRING |
| HIGH | …udeOAuthCredentialsStoreCLIStorageOwnershipTests.swift | 0 | { "mcpoauth": { "plugin:slack:slack": { "accesstoken": "" } } } | STRING |
| HIGH | …ests/ClaudeOAuthDelegatedRefreshCoordinatorTests.swift | 0 | { "mcpoauth": { "plugin:slack:slack": { "accesstoken": "" } } } | STRING |
| HIGH | Tests/CodexBarTests/ClaudeOAuthTests.swift | 0 | { "mcpoauth": { "plugin:slack:slack": { "accesstoken": "" } } } | STRING |
| HIGH | Tests/CodexBarTests/Sub2APIUsageFetcherTests.swift | 0 | { "mode": "quota_limited", "isvalid": true, "status": "active", "remaining": 75, "unit": "usd", "quota": { "limit": 100, | STRING |
| HIGH | Tests/CodexBarTests/Sub2APIPluginGoldenTests.swift | 0 | { "mode": "quota_limited", "isvalid": true, "status": "active", "remaining": 75, "unit": "usd", "quota": { "limit": 100, | STRING |
| HIGH | TestsPlugin/Sub2APIPluginGoldenTests.swift | 0 | { "mode": "quota_limited", "isvalid": true, "status": "active", "remaining": 75, "unit": "usd", "quota": { "limit": 100, | STRING |
| HIGH | …Tests/ClaudeOAuthDelegatedRefreshMCPProfileTests.swift | 0 | { "claudeaioauth": { "accesstoken": "\(accesstoken)", "expiresat": \(millis), "scopes": ["user:profile"] } } | STRING |
| HIGH | …ests/ClaudeOAuthDelegatedRefreshCoordinatorTests.swift | 0 | { "claudeaioauth": { "accesstoken": "\(accesstoken)", "expiresat": \(millis), "scopes": ["user:profile"] } } | STRING |
| HIGH | …thCredentialsStoreSecurityCLIFallbackPolicyTests.swift | 0 | { "claudeaioauth": { "accesstoken": "\(accesstoken)", "expiresat": \(millis), "scopes": ["user:profile"] } } | STRING |
| HIGH | …ClaudeOAuthDelegatedRefreshUnreadableResultTests.swift | 0 | { "claudeaioauth": { "accesstoken": "\(accesstoken)", "expiresat": \(millis), "scopes": ["user:profile"] } } | STRING |
| HIGH | Tests/CodexBarTests/OpenRouterUsageStatsTests.swift | 0 | {"data":{ "limit":500, "limit_remaining":454.542594979, "limit_reset":"monthly", "usage":433.286754736, "usage_daily":3. | STRING |
| HIGH | Tests/CodexBarTests/ProviderPluginParityTests.swift | 0 | {"data":{ "limit":500, "limit_remaining":454.542594979, "limit_reset":"monthly", "usage":433.286754736, "usage_daily":3. | STRING |
| HIGH | TestsPlugin/ProviderPluginParityTests.swift | 0 | {"data":{ "limit":500, "limit_remaining":454.542594979, "limit_reset":"monthly", "usage":433.286754736, "usage_daily":3. | STRING |
| HIGH | Tests/CodexBarTests/OpenRouterUsageStatsTests.swift | 0 | {"data":{ "limit":500, "limit_reset":"monthly", "usage_monthly":45.457405021 }} | STRING |
| HIGH | Tests/CodexBarTests/ProviderPluginParityTests.swift | 0 | {"data":{ "limit":500, "limit_reset":"monthly", "usage_monthly":45.457405021 }} | STRING |
| HIGH | TestsPlugin/ProviderPluginParityTests.swift | 0 | {"data":{ "limit":500, "limit_reset":"monthly", "usage_monthly":45.457405021 }} | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | bin/install-codexbar-cli.sh | 2 | # -p blocks inherited functions and startup hooks before validation; it does not elevate privileges. | COMMENT |
| MEDIUM | Tests/CodexBarTests/StatusMenuInstantOpenTests.swift | 69 | // assertion below compares against that resolved set, so it stays robust regardless. | COMMENT |
| MEDIUM | Tests/CodexBarTests/Issue2037FixtureHarnessTests.swift | 16 | #expect(fixture.manifest.familyAlias == "harness-smoke") | COMMENT |
| MEDIUM | …odexBarTests/OpenCodexUsageStoreIncrementalTests.swift | 121 | #expect(harness.store.parseCursorForTesting()?.parsedOffset == completeOffset) | COMMENT |
| MEDIUM | …odexBarTests/OpenCodexUsageStoreIncrementalTests.swift | 109 | let completeOffset = try #require(harness.store.parseCursorForTesting()?.parsedOffset) | CODE |
| MEDIUM | …odexBarTests/OpenCodexUsageStoreIncrementalTests.swift | 191 | let oldOffset = try #require(harness.store.parseCursorForTesting()?.parsedOffset) | CODE |
| MEDIUM⚡ | …odexBarTests/OpenCodexUsageStoreIncrementalTests.swift | 348 | let cursorBefore = try #require(harness.store.parseCursorForTesting()) | STRING |
| MEDIUM⚡ | …odexBarTests/OpenCodexUsageStoreIncrementalTests.swift | 355 | let cursorAfter = try #require(harness.store.parseCursorForTesting()) | STRING |
| MEDIUM⚡ | …odexBarTests/OpenCodexUsageStoreIncrementalTests.swift | 359 | #expect(try harness.sqliteRequestIDs() == rowsBefore) | STRING |
| MEDIUM⚡ | …odexBarTests/OpenCodexUsageStoreIncrementalTests.swift | 372 | let firstCursor = try #require(harness.store.parseCursorForTesting()) | STRING |
| MEDIUM⚡ | …odexBarTests/OpenCodexUsageStoreIncrementalTests.swift | 376 | let newerCursor = try #require(harness.store.parseCursorForTesting()) | STRING |
| MEDIUM⚡ | …odexBarTests/OpenCodexUsageStoreIncrementalTests.swift | 386 | let afterStale = try #require(harness.store.parseCursorForTesting()) | STRING |
| MEDIUM⚡ | …odexBarTests/OpenCodexUsageStoreIncrementalTests.swift | 393 | #expect(try harness.sqliteEntryCount() == expected.count) | STRING |
| MEDIUM⚡ | …odexBarTests/OpenCodexUsageStoreIncrementalTests.swift | 394 | #expect(try harness.sqliteRequestIDs() == expected.map(\.requestID).sorted()) | STRING |
| MEDIUM⚡ | …odexBarTests/OpenCodexUsageStoreIncrementalTests.swift | 476 | #expect(try harness.sqliteRequestIDs() == loadedIDs.sorted()) | STRING |
| MEDIUM⚡ | …odexBarTests/OpenCodexUsageStoreIncrementalTests.swift | 478 | let cursor = try #require(harness.store.parseCursorForTesting()) | STRING |
| MEDIUM⚡ | …odexBarTests/OpenCodexUsageStoreIncrementalTests.swift | 479 | #expect(cursor.path == harness.log.path) | STRING |
| MEDIUM⚡ | …odexBarTests/OpenCodexUsageStoreIncrementalTests.swift | 523 | #expect(try harness.sqliteRequestIDs() == ["a-seed-1", "a-seed-2", "a-tail"].sorted()) | STRING |
| MEDIUM⚡ | …odexBarTests/OpenCodexUsageStoreIncrementalTests.swift | 524 | #expect(try harness.sqliteRequestIDs().contains("b-1") == false) | STRING |
| MEDIUM⚡ | …odexBarTests/OpenCodexUsageStoreIncrementalTests.swift | 525 | #expect(try harness.sqliteRequestIDs().contains("b-2") == false) | STRING |
| MEDIUM⚡ | …odexBarTests/OpenCodexUsageStoreIncrementalTests.swift | 532 | #expect(try harness.store.loadEntries(logURL: harness.log) == []) | STRING |
| MEDIUM | …odexBarTests/OpenCodexUsageStoreIncrementalTests.swift | 293 | #expect(harness.store.parseCursorForTesting()?.parsedOffset == Int64(complete.utf8.count)) | STRING |
| MEDIUM | …odexBarTests/OpenCodexUsageStoreIncrementalTests.swift | 306 | #expect(harness.store.parseCursorForTesting()?.parsedOffset == 0) | STRING |
| MEDIUM | …odexBarTests/OpenCodexUsageStoreIncrementalTests.swift | 439 | let firstCursor = try #require(harness.store.parseCursorForTesting()) | STRING |
| MEDIUM⚡ | Tests/CodexBarTests/StatusItemSpendSignatureTests.swift | 19 | #expect(harness.component("layoutSpend", used: 450, limit: 1000) != first) | COMMENT |
| MEDIUM⚡ | Tests/CodexBarTests/StatusItemSpendSignatureTests.swift | 20 | #expect(harness.component("layoutSpend", used: 420, limit: 1250) != first) | COMMENT |
| MEDIUM⚡ | Tests/CodexBarTests/StatusItemSpendSignatureTests.swift | 28 | #expect(harness.component("layoutSpend", used: 420) == "layoutSpend=nil") | COMMENT |
| MEDIUM⚡ | Tests/CodexBarTests/StatusItemSpendSignatureTests.swift | 37 | #expect(harness.component("layoutPace", used: 200)?.hasPrefix("layoutPace=spend=-") == true) | COMMENT |
| MEDIUM⚡ | Tests/CodexBarTests/StatusItemSpendSignatureTests.swift | 38 | #expect(harness.component("layoutPace", used: 800)?.hasPrefix("layoutPace=spend=+") == true) | COMMENT |
| MEDIUM⚡ | Tests/CodexBarTests/StatusItemSpendSignatureTests.swift | 48 | #expect(harness.component("layoutResets", used: 420, resetsInDays: 20) != early) | COMMENT |
| MEDIUM⚡ | Tests/CodexBarTests/StatusItemSpendSignatureTests.swift | 58 | #expect(harness.component("layoutCondWindows", used: 550) != below) | COMMENT |
| MEDIUM⚡ | Tests/CodexBarTests/StatusItemSpendSignatureTests.swift | 59 | #expect(harness.component("layoutSpend", used: 420) == "layoutSpend=nil") | COMMENT |
| MEDIUM⚡ | Tests/CodexBarTests/StatusItemSpendSignatureTests.swift | 69 | #expect(harness.component("layoutCondWindows", used: 420, resetsInDays: 20) != early) | COMMENT |
| MEDIUM⚡ | Tests/CodexBarTests/StatusItemSpendSignatureTests.swift | 78 | #expect(harness.component("layoutPace", used: 200)?.hasPrefix("layoutPace=spend=-") == true) | COMMENT |
| MEDIUM⚡ | Tests/CodexBarTests/StatusItemSpendSignatureTests.swift | 79 | #expect(harness.component("layoutPace", used: 800)?.hasPrefix("layoutPace=spend=+") == true) | COMMENT |
| MEDIUM | Tests/CodexBarTests/StatusItemSpendSignatureTests.swift | 90 | #expect(harness.component("layoutSpend", used: 420.01, limit: 100_000) != below) | COMMENT |
| MEDIUM | Tests/CodexBarTests/StatusItemBlinkGatingTests.swift | 21 | #expect(harness.settings.randomBlinkEnabled) | COMMENT |
| MEDIUM | Tests/CodexBarTests/StatusItemBlinkGatingTests.swift | 25 | #expect(harness.clock.reads == reads) | COMMENT |
| MEDIUM | Tests/CodexBarTests/StatusItemBlinkGatingTests.swift | 59 | #expect(harness.clock.delays.last == .milliseconds(75)) | COMMENT |
| MEDIUM | Tests/CodexBarTests/AdaptiveRefreshTimerTests.swift | 313 | #expect(await harness.recordedStarts() == [.milliseconds(100), .milliseconds(300)]) | COMMENT |
| MEDIUM | Tests/CodexBarTests/AdaptiveRefreshTimerTests.swift | 314 | #expect(await harness.maximumConcurrentRefreshes() == 1) | COMMENT |
| MEDIUM | Sources/CodexBar/IconRemainingResolver.swift | 5 | /// The renderer caches percentages in tenths. This is the smallest robust value that has a distinct cache | COMMENT |
| MEDIUM | Sources/CodexBarCore/UsageFormatter.swift | 331 | /// Uses Swift's modern FormatStyle API (iOS 15+/macOS 12+) for robust, locale-aware formatting. | COMMENT |
| MEDIUM | …/CodexBarCore/Providers/Claude/ClaudeStatusProbe.swift | 365 | // Use a more robust capture configuration than the standard `/status` scrape: | COMMENT |
| MEDIUM | …s/CodexBarCore/Providers/Groq/GroqConsoleSession.swift | 28 | /// token when available (robust for background polling), else falls back to | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | Tests/CodexBarTests/StatusMenuSwitcherClickTests.swift | 108 | // Step 1: provider → Overview via the runtime click path. | COMMENT |
| LOW⚡ | Tests/CodexBarTests/StatusMenuSwitcherClickTests.swift | 113 | // Step 2: Overview → provider via the runtime click path. Tag 2 is the second provider | COMMENT |
| LOW⚡ | Tests/CodexBarTests/StatusMenuSwitcherClickTests.swift | 120 | // Step 3: provider → Overview again. | COMMENT |
| LOW⚡ | Tests/CodexBarTests/StatusMenuSwitcherClickTests.swift | 125 | // Step 4: Overview → other provider. This is the click that previously got dropped. | COMMENT |
| LOW | docs/FORK_SETUP.md | 27 | ### Step 1: Configure Git Remotes | COMMENT |
| LOW | docs/FORK_SETUP.md | 51 | ### Step 2: Test Automation Scripts | COMMENT |
| LOW | docs/FORK_SETUP.md | 66 | ### Step 3: Initial Upstream Review | COMMENT |
| LOW | docs/FORK_SETUP.md | 78 | ### Step 4: Initial Quotio Analysis | COMMENT |
| LOW | docs/QUOTIO_ANALYSIS.md | 47 | ### Step 1: Repository Overview | COMMENT |
| LOW | docs/QUOTIO_ANALYSIS.md | 60 | ### Step 2: Feature Comparison | COMMENT |
| LOW | docs/QUOTIO_ANALYSIS.md | 74 | ### Step 3: Deep Dive Areas | COMMENT |
| LOW | docs/UPSTREAM_STRATEGY.md | 177 | ### Step 1: Review Upstream Changes | COMMENT |
| LOW | docs/UPSTREAM_STRATEGY.md | 208 | ### Step 2: Selective Cherry-Picking | COMMENT |
| LOW | docs/UPSTREAM_STRATEGY.md | 224 | ### Step 3: Quotio Pattern Adaptation | COMMENT |
| LOW | docs/codex-oauth.md | 147 | ### Step 1: CodexOAuthCredentials.swift | COMMENT |
| LOW | docs/codex-oauth.md | 165 | ### Step 2: CodexOAuthUsageFetcher.swift | COMMENT |
| LOW | docs/codex-oauth.md | 291 | ### Step 3: CodexTokenRefresher.swift | COMMENT |
| LOW | docs/codex-oauth.md | 304 | ### Step 4: Update CodexProviderDescriptor.swift | COMMENT |
| LOW⚡ | …arCore/Providers/Augment/AugmentSessionKeepalive.swift | 280 | // Step 1: Ping the session endpoint to trigger cookie refresh | COMMENT |
| LOW⚡ | …arCore/Providers/Augment/AugmentSessionKeepalive.swift | 285 | // Step 2: Re-import cookies from browser | COMMENT |
| LOW⚡ | …dexBarCore/Providers/StepFun/StepFunUsageFetcher.swift | 436 | // Step 1: Get INGRESSCOOKIE by visiting the platform homepage | COMMENT |
| LOW⚡ | …dexBarCore/Providers/StepFun/StepFunUsageFetcher.swift | 439 | // Step 2: RegisterDevice → get anonymous token | COMMENT |
| LOW⚡ | …dexBarCore/Providers/StepFun/StepFunUsageFetcher.swift | 442 | // Step 3: SignInByPassword → get authenticated token | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | Integrations/Linux/install.py | 41 | CODE | |
| LOW | Integrations/Linux/install.py | 61 | CODE | |
| LOW | Integrations/Omarchy/test_install.py | 15 | CODE | |
| LOW | Integrations/Omarchy/test_install.py | 105 | CODE | |
| LOW | Scripts/ci_swiftpm_cache.py | 166 | CODE | |
| LOW | Scripts/ci_swiftpm_cache.py | 246 | CODE | |
| LOW | Scripts/ci_swiftpm_cache.py | 319 | CODE | |
| LOW | Scripts/acknowledgements.py | 134 | CODE | |
| LOW | Scripts/test_fast_runner.py | 210 | CODE | |
| LOW | Scripts/direct_swift_test_groups.py | 48 | CODE | |
| LOW | Scripts/test_swift_test_process_cleanup.py | 164 | CODE | |
| LOW | Scripts/test_swift_test_process_cleanup.py | 263 | CODE | |
| LOW | Scripts/test_swift_test_process_cleanup.py | 608 | CODE | |
| LOW | Scripts/test_swift_test_process_cleanup.py | 743 | CODE | |
| LOW | Scripts/test_swift_test_process_cleanup.py | 756 | CODE | |
| LOW | Scripts/test_swift_test_process_cleanup.py | 913 | CODE | |
| LOW | Scripts/test_swift_test_process_cleanup.py | 925 | CODE | |
| LOW | Scripts/test_swift_test_process_cleanup.py | 1392 | CODE | |
| LOW | Scripts/test_swift_test_process_cleanup.py | 1505 | CODE | |
| LOW | Scripts/test_codex_account_promotion.py | 26 | CODE | |
| LOW | Scripts/ci_swift_test_by_suite.py | 462 | CODE | |
| LOW | Scripts/ci_swift_test_by_suite.py | 582 | CODE | |
| LOW | Scripts/ci_swift_test_by_suite.py | 756 | CODE | |
| LOW | Scripts/ci_swift_test_by_suite.py | 373 | CODE | |
| LOW | Scripts/ci_swift_test_by_suite.py | 391 | CODE | |
| LOW | Scripts/test_mimo_usage.py | 24 | CODE | |
| LOW | Scripts/test_mimo_usage.py | 89 | CODE | |
| LOW | Scripts/swift_test_diagnostics.py | 31 | CODE | |
| LOW | Scripts/test_direct_swift_test_groups.py | 73 | CODE | |
| LOW | Scripts/test_direct_swift_test_groups.py | 299 | CODE | |
| LOW | Scripts/test_direct_swift_test_groups.py | 421 | CODE | |
| LOW | Scripts/test_linux_serve_memory.py | 14 | CODE | |
| LOW | Scripts/mimo-usage.py | 36 | CODE | |
| LOW | Scripts/mimo-usage.py | 85 | CODE | |
| LOW | Scripts/mimo-usage.py | 169 | CODE | |
| LOW | Scripts/test_ci_swiftpm_cache.py | 305 | CODE | |
| LOW | .github/scripts/test_release.py | 176 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | Scripts/ci_swiftpm_cache.py | 207 | except FileNotFoundError: | CODE |
| HIGH | Scripts/ci_swiftpm_cache.py | 194 | except FileExistsError: | CODE |
| HIGH | Scripts/ci_swift_test_by_suite.py | 430 | except ProcessLookupError: | CODE |
| HIGH | Scripts/ci_swift_test_by_suite.py | 367 | except ProcessLookupError: | CODE |
| HIGH | Scripts/ci_swift_test_by_suite.py | 438 | except ProcessLookupError: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | Tests/CodexBarTests/StatusMenuSwitcherClickTests.swift | 108 | // Step 1: provider → Overview via the runtime click path. | COMMENT |
| LOW⚡ | Tests/CodexBarTests/StatusMenuSwitcherClickTests.swift | 113 | // Step 2: Overview → provider via the runtime click path. Tag 2 is the second provider | COMMENT |
| LOW⚡ | Tests/CodexBarTests/StatusMenuSwitcherClickTests.swift | 120 | // Step 3: provider → Overview again. | COMMENT |
| LOW⚡ | Tests/CodexBarTests/StatusMenuSwitcherClickTests.swift | 125 | // Step 4: Overview → other provider. This is the click that previously got dropped. | COMMENT |
| LOW⚡ | …arCore/Providers/Augment/AugmentSessionKeepalive.swift | 280 | // Step 1: Ping the session endpoint to trigger cookie refresh | COMMENT |
| LOW⚡ | …arCore/Providers/Augment/AugmentSessionKeepalive.swift | 285 | // Step 2: Re-import cookies from browser | COMMENT |
| LOW⚡ | …dexBarCore/Providers/StepFun/StepFunUsageFetcher.swift | 436 | // Step 1: Get INGRESSCOOKIE by visiting the platform homepage | COMMENT |
| LOW⚡ | …dexBarCore/Providers/StepFun/StepFunUsageFetcher.swift | 439 | // Step 2: RegisterDevice → get anonymous token | COMMENT |
| LOW⚡ | …dexBarCore/Providers/StepFun/StepFunUsageFetcher.swift | 442 | // Step 3: SignInByPassword → get authenticated token | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | Sources/CodexBarWidget/CodexBarAccountUsageWidget.swift | 140 | } else if let usage = self.entry.usageEntry.snapshot.entries.first(where: { | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .agents/skills/codexbar/scripts/test_codexbar.py | 1 | CODE | |
| LOW | Integrations/Linux/tests/test_desktop.py | 2 | CODE | |
| LOW | Scripts/direct_swift_test_groups.py | 7 | CODE | |
| LOW | Scripts/ci_swift_test_by_suite.py | 4 | CODE | |
| LOW | Scripts/swift_test_diagnostics.py | 3 | CODE | |
| LOW | .github/scripts/test_homebrew.py | 1 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | Scripts/review_upstream.sh | 2 | # Create a review branch for upstream changes | COMMENT |
| MEDIUM | Scripts/review_upstream.sh | 127 | # Create a review log file | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | docs/ibm-bob.md | 18 | export BOBSHELL_API_KEY="your-api-key" | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | Scripts/test_swift_test_process_cleanup.py | 1518 | while (time(NULL) < deadline && access(stop, F_OK) != 0) usleep(10000); | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | docs/codex-workspaces.md | 15 | ## Internal navigation scaffold | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | Scripts/test_mimo_usage.py | 69 | except Exception as error: | CODE |
| MEDIUM | Scripts/test_mimo_usage.py | 57 | def write_cache(writer_id): | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .agents/skills/codexbar/scripts/test_codexbar.py | 103 | def helper(*args: str, env: dict[str, str], cwd: Path | None = None) -> subprocess.CompletedProcess[str]: | CODE |