fix: wire Devin manual auth through the CLI on Linux - #3541
Conversation
|
🦞👀 Pull request received. I will update this pull request when review starts. ClawSweeper review completeClawSweeper finished reviewing this revision. The review result is being finalized. |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 3156d5da37
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
Codex review: needs real behavior proof before merge. Reviewed September 10, 2026, 4:51 PM ET / 20:51 UTC (Revision 3). ClawSweeper reviewWhat this changesConnects Devin’s configured bearer token and organization to CLI requests, enables manual authentication on Linux, and adds regression coverage and setup documentation. Merge readiness⛔ Blocked before merge - 2 items remain The PR remains useful: current main and v0.58.0 still lack the working CLI path. The earlier settings-wiring finding is resolved, with no new actionable defect found; real Linux behavior proof remains outstanding. Priority: P2 Review scores
Verification
How this fits togetherCodexBar’s CLI translates provider configuration and environment overrides into usage requests. The Devin provider sends those credentials to its quota endpoint and returns daily and weekly usage. flowchart TD
A[Provider configuration] --> C[Devin settings adapter]
B[Environment overrides] --> D[Manual authentication gate]
C --> D
D -->|Manual token available| E[Devin quota request]
D -->|Unavailable on Linux| F[Unsupported source response]
E --> G[Daily and weekly usage]
Before merge
Agent review detailsSecurityNone. Review metrics
Technical reviewBest possible solution: Keep Devin on the existing descriptor-owned credential path, preserving manual-mode selection, environment precedence, and macOS-only browser import. Do we have a high-confidence way to reproduce the issue? Yes, from source: current main’s CLI receives no Devin credential contribution and rejects its web-backed source on Linux. No runtime reproduction was executed during this read-only review. Is this the best way to solve the issue? Yes. Reusing the existing credential adapter and sharing token resolution repairs both missing connections without adding a competing authentication mechanism. AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning medium; reviewed against cebf9995f672. LabelsLabel justifications:
EvidenceWhat I checked:
Likely related people:
Rank-up movesOptional improvements that raise the rating; they are not merge blockers.
Rating scale
Overall follows the weaker of proof and patch quality. Workflow
History |
Load Devin manual bearer and organization config through its descriptor credential adapter, then permit manual quota requests on Linux. Keep automatic browser import macOS-only and use consistent environment-token precedence across availability, the platform gate and fetch. Regression coverage starts with decoded CLI config and verifies the final synthetic quota request. Includes Linux setup docs and changelog credit. Co-authored-by: Waseem Ilyas <1478353+Waseemilyas@users.noreply.github.com>
3156d5d to
1b9914b
Compare
|
Merged as c9f2eca. The fix covers the missing descriptor credential reader as well as the Linux gate, so manual bearer and organization config reaches the actual fetcher. Availability, the platform gate and requests now share token precedence; automatic browser import remains macOS-only. The new regression failed on the proposal before the config reader was added. Final validation passed: 26 existing Devin tests, four new config/request tests with eight cases, all 1,060 full-suite selections with no retries/timeouts, lint, independent P0–P2 review and every Linux/musl/macOS CI check. The Linux x64 log confirms the config-derived gate and synthetic final-request cases ran successfully. Linux setup docs and the Unreleased changelog are updated. Thanks @Waseemilyas! |
Fixes the Devin CLI config path as well as the Linux platform gate. A configured manual bearer token previously never reached the provider's typed settings, so exempting prebuilt settings in the gate alone did not make the CLI work.
Devin now reads manual auth and organization through the existing descriptor credential adapter. Availability, the Linux gate, and the request share token precedence. Only a usable token in manual mode permits Linux quota requests; automatic browser import remains macOS-only. An empty primary environment override continues to shadow fallback values.
The regression decodes real provider config, checks the resulting settings, and exercises the existing fetcher with a synthetic HTTP transport. It verifies the final organization URL, Authorization header, and daily/weekly result. Linux CI also checks both Auto/Web CLI source modes, explicit Auto/Off auth, and empty overrides using those config-derived settings.
Validation so far: the original proposal failed the config-to-settings regression; 26 existing Devin tests and four new tests (eight cases) pass locally.
make checkis clean and independent P0–P2 review found no actionable defects. Fullmake testpassed all 1,060 selections across 89 groups on the first attempt, with no retries or timeouts (954.4 seconds). Exact-head CI passed all Linux x64, Linux ARM64, musl and macOS checks. The Linux x64 log confirms all eight new config/request cases executed successfully. Merged asc9f2eca8da03b525f097e89f6b98a55fed96b9fd.Includes Linux setup documentation and an Unreleased changelog entry. Thanks @Waseemilyas for the original Linux-gate fix.