Skip to content

Port upstream CodexBar 0.56.2 [review] - #436

Open
Finesssee wants to merge 30 commits into
mainfrom
review/upstream-0.56.2
Open

Port upstream CodexBar 0.56.2 [review]#436
Finesssee wants to merge 30 commits into
mainfrom
review/upstream-0.56.2

Conversation

@Finesssee

Copy link
Copy Markdown
Collaborator

Review status

Review only. Do not merge until explicit approval.

Stacked on the rebuilt 0.56.1 review branch.

This review branch was rebuilt from current main as a clean stack. Its tree was verified byte-for-byte identical to the already-validated local port tip for 0.56.2, so rebuilding the ancestry did not change implementation content.

Stack

  • Head: $(System.Collections.Hashtable.head)
  • Base: $(System.Collections.Hashtable.base)
  • Next version PR, if any, stacks on this branch.

Validation evidence

Porting work was reviewed with local Codex CLI gpt-5.6-luna:max workers and Thermo-style structural checks. The final 0.56.7 stack is clean and passes:

  • Rust cargo fmt --check
  • git diff --check
  • cargo metadata
  • Frontend: 57 files / 328 tests
  • TypeScript sc --noEmit
  • Vite production build
  • Locale parity: 825 keys
  • Interaction guard: 9/9

Native Rust test/check execution on the local Windows host is blocked before project linking because the host resolves the wrong GNU/Unix link.exe; this is an environment validation limitation, not a proven semantic porting defect.

Merge policy

Please review this PR and the full stack first. Do not merge yet.

@coderabbitai

coderabbitai Bot commented Sep 7, 2026

Copy link
Copy Markdown

Review Change StackReview Change Stack

Note

Currently processing new changes in this PR. This may take a few minutes, please wait...

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Advanced

Run ID: 59fb7659-f7f0-4a62-bbc4-466838aa7301

📥 Commits

Reviewing files that changed from the base of the PR and between 7259f13 and 9c58915.

📒 Files selected for processing (48)
  • apps/desktop-tauri/src-tauri/src/commands/bridge.rs
  • apps/desktop-tauri/src-tauri/src/commands/bridge/pace.rs
  • apps/desktop-tauri/src-tauri/src/commands/system.rs
  • apps/desktop-tauri/src-tauri/src/commands/tests.rs
  • apps/desktop-tauri/src/components/MenuCard.test.tsx
  • apps/desktop-tauri/src/components/MenuCardDetails.tsx
  • apps/desktop-tauri/src/components/MiniBarChart.test.tsx
  • apps/desktop-tauri/src/components/MiniBarChart.tsx
  • apps/desktop-tauri/src/components/charts/BarChart.test.tsx
  • apps/desktop-tauri/src/components/charts/BarChart.tsx
  • apps/desktop-tauri/src/components/charts/LineChart.test.tsx
  • apps/desktop-tauri/src/components/charts/LineChart.tsx
  • apps/desktop-tauri/src/components/charts/chartGeometry.test.ts
  • apps/desktop-tauri/src/components/charts/chartGeometry.ts
  • apps/desktop-tauri/src/lib/providerPace.test.ts
  • apps/desktop-tauri/src/lib/providerPace.ts
  • apps/desktop-tauri/src/styles.css
  • apps/desktop-tauri/src/surfaces/settings/providers/ApiKeySection.tsx
  • apps/desktop-tauri/src/surfaces/settings/providers/ProviderDetailPane.tsx
  • apps/desktop-tauri/src/surfaces/settings/providers/sections/charts/UsageBreakdownChart.test.tsx
  • apps/desktop-tauri/src/surfaces/settings/providers/sections/charts/UsageBreakdownChart.tsx
  • rust/src/agent_sessions.rs
  • rust/src/agent_sessions/claude_desktop.rs
  • rust/src/agent_sessions/parsers.rs
  • rust/src/agent_sessions/pi_family/mod.rs
  • rust/src/agent_sessions/pi_family/parser.rs
  • rust/src/agent_sessions/pi_family/roots.rs
  • rust/src/agent_sessions/pi_family_tests.rs
  • rust/src/agent_sessions/tests.rs
  • rust/src/codex_costs.rs
  • rust/src/core/cost_cache_budget.rs
  • rust/src/core/jsonl_scanner.rs
  • rust/src/core/jsonl_scanner/codex.rs
  • rust/src/core/jsonl_scanner/codex/helpers.rs
  • rust/src/core/jsonl_scanner/codex/parser.rs
  • rust/src/core/jsonl_scanner/tests.rs
  • rust/src/core/usage_snapshot.rs
  • rust/src/cost_scanner.rs
  • rust/src/cost_scanner/codex.rs
  • rust/src/cost_scanner/tests.rs
  • rust/src/providers/codex/weekly_reset.rs
  • rust/src/providers/codex/weekly_reset/diagnostics.rs
  • rust/src/providers/opencodego/local.rs
  • rust/src/providers/opencodego/mod.rs
  • rust/src/providers/openrouter/mod.rs
  • rust/src/spend_contract.rs
  • rust/src/spend_contract/opencodex.rs
  • rust/src/spend_contract/tests.rs
 ______________________________________________________________
< Good things come to those who commit early and review often. >
 --------------------------------------------------------------
  \
   \   (\__/)
       (•ㅅ•)
       /   づ
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch review/upstream-0.56.2

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@Finesssee
Finesssee force-pushed the review/upstream-0.56.1 branch from dbc9091 to 3f17392 Compare September 7, 2026 12:05
@Finesssee
Finesssee force-pushed the review/upstream-0.56.2 branch from 699e1d9 to 379dc31 Compare September 7, 2026 12:05
@Finesssee

Copy link
Copy Markdown
Collaborator Author

Thermo-nuclear review: REQUEST CHANGES

  1. Blocker - two production files cross the 1,000-line threshold. apps/desktop-tauri/src-tauri/src/commands/bridge.rs goes about 997 -> 1,012, and rust/src/providers/codex/weekly_reset.rs about 970 -> 1,042. The thermo skill treats under-1k -> over-1k as presumptively blocking. The new test modules also become very large (jsonl_scanner/tests.rs ~1,091; cost_scanner/tests.rs ~1,572). Remedy: extract the new policy/helper surface from bridge.rs; move weekly-reset diagnostics/tests into focused sibling modules so the state machine remains scannable.

  2. High - OpenCode Go policy is hard-coded in the shared bridge. provider_allows_pace(provider, source_label) checks ProviderId::OpenCodeGo and a provider-specific source-label constant inside commands/bridge.rs. This directly violates the repo rule that provider-specific behavior belongs in the provider/canonical domain layer. Code-judo: carry a typed pace_authoritative / forecast-capability decision in ProviderFetchResult or the usage model, set by OpenCode Go, and make the bridge consume it generically.

  3. High - required CUA proof is absent. The PR changes multiple chart components, styles, provider settings, and visible pace behavior. No fresh Windows CUA/equivalent proof is attached.

There is good decomposition elsewhere in this PR, especially splitting the giant scanner/cost modules. The threshold crossings above stop that cleanup from fully clearing the thermo bar.

@Finesssee
Finesssee changed the base branch from review/upstream-0.56.1 to main September 8, 2026 05:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant