Skip to content

Add Devin CLI workers for SWE-2 and SWE-1.6 - #70

Open
arjitj2 wants to merge 6 commits into
ericlitman:mainfrom
arjitj2:arjit/devin-provider
Open

arjitj2 wants to merge 6 commits into
ericlitman:mainfrom
arjitj2:arjit/devin-provider

Conversation

@arjitj2

@arjitj2 arjitj2 commented Sep 15, 2026

Copy link
Copy Markdown

Closes #69

Changes

Allow Codex and Claude Code to delegate selected workers to Devin CLI. devin:swe-2@medium|high|max pins the corresponding SWE-2 UID; devin:swe-1.6@default pins swe-1-6. Setup supports these opt-in families without changing the default panel.

Check authentication, use exclusive per-run configuration and a private conversation export, and remove both on exit. Completion requires a final agent response in the export, so onboarding banners and progress text before rejected tools cannot become successful results. Only the final response is retained. Receipts record pinned-argv evidence and leave unreported model identity, session, usage, and cost unset.

Read-only workers deny writes and shell execution. Writers receive an explicit execution preface and edit files and run tests through sandboxed exec in their assigned worktree; direct write/edit tools are disabled because they require interactive approval in the current CLI. Unsupported model/effort pairs and account restrictions fail without fallback. Project configuration and startup hooks may still load.

Verification

  • 188 Bun tests pass, including the Devin adapter, transcript completion/privacy, and cleanup cases.
  • Strict typecheck, static invariants, manifest parsing, Claude plugin validation, and git diff --check pass.
  • Exact candidate installed in both affected harnesses.
  • Changed behavior verified from both real application surfaces.
  • Installed version, actions, and observed results recorded below.

The original full-suite failure was a shared timing test with only 300 ms of subprocess startup headroom. The same test exists in the other branches and unchanged upstream. Test-only budgets now allow startup under load while preserving the shared-deadline, exit-code, and signal assertions. Production timeout behavior is unchanged.

Live evidence, 2026-09-16 on macOS: pstack 1.4.1, candidate 2623db594167851ca1ed1cd62bd82505a62901e0. All 168 installed files matched the committed snapshot in Codex CLI 0.154.0 and Claude Code 2.1.179, with Devin CLI 3000.10.27 (bcbe88c7).

Codex's installed run passed both model reads, exact file creation, a real arithmetic-code fix with its Bun test, blocked read-only file/shell attempts, an outside-workspace sandbox denial, and cancellation with output/config/export cleanup. Both read-only attempts correctly produced failed receipts rather than accepting incomplete progress text. Actual files and receipts were checked independently.

Claude's same-candidate run passed both model reads and the file-write denial before its account session limit stopped the parent and cancelled the remaining workers. The final Claude writer, shell-denial, outside-workspace, and cancellation checks remain incomplete until the quota resets. Earlier candidate runs do not satisfy this final-head gate. Final-head Claude validation remains outstanding.

@greptile-apps

greptile-apps Bot commented Sep 15, 2026

Copy link
Copy Markdown

RetriggerConfidence Score: 5/5

The latest code appears safe to merge from a code-review perspective, with the remaining Claude installed validation appropriately tracked as a draft-release gate rather than an established implementation defect.

Summary

Adds optional Devin CLI workers for SWE-2 and SWE-1.6 without changing the default provider panel.

  • Pins supported model/effort combinations and rejects unsupported or account-gated selections without fallback.
  • Applies mode-specific permissions, private per-run configuration, sandboxed writer execution, and cleanup of temporary prompts and conversation exports.
  • Requires a valid final agent response in the private ATIF export before treating a run as complete.
  • Updates setup, dispatch, arena, and user-facing documentation for Devin routing and pinned-argv evidence.
  • Expands adapter and lifecycle tests, while increasing test-only subprocess timing budgets to reduce load-related flakes.
Diagram
sequenceDiagram
  participant Parent as Claude Code / Codex
  participant Runner as pstack-runner
  participant Devin as Devin CLI
  participant Export as Private ATIF export
  Parent->>Runner: "provider=devin, model, effort, mode, prompt"
  Runner->>Runner: Validate model/effort and reserve outputs
  Runner->>Devin: auth status
  Runner->>Runner: Create private config and export directory
  Runner->>Devin: --model UID --sandbox/permissions --export --print
  Devin->>Export: Write conversation export
  Devin-->>Runner: Exit status and diagnostics
  Runner->>Export: Validate final agent response
  alt Complete final response
    Runner-->>Parent: Output plus pinned-argv receipt
  else Invalid, incomplete, or failed
    Runner-->>Parent: Failed receipt without output
  end
  Runner->>Runner: Remove temporary config and export directory
Loading

Reviews (3) · Last reviewed commit: "Guide Devin writers to use sandboxed she..."

Comment thread plugins/pstack/skills/poteto-mode/references/provider-dispatch.md Outdated
@arjitj2

arjitj2 commented Sep 16, 2026

Copy link
Copy Markdown
Author

@greptileai Please re-review the latest commit, 483765c. It fixes the parent completion contract to accept Devin pinned-argv receipts. The validation section also now records successful live source-runner smoke tests for both SWE models and the remaining installed-harness checks.

@arjitj2

arjitj2 commented Sep 16, 2026

Copy link
Copy Markdown
Author

@openswe review

@arjitj2

arjitj2 commented Sep 16, 2026

Copy link
Copy Markdown
Author

@greptileai please review the latest head. The validation follow-ups are pushed; the PR remains draft pending the final Claude Code quota reset and installed test.

@arjitj2
arjitj2 marked this pull request as ready for review September 16, 2026 06:23
@mergify

mergify Bot commented Sep 16, 2026

Copy link
Copy Markdown

Tick the box to add this pull request to the merge queue (same as @mergifyio queue).

  • Queue this pull request

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.

Support Devin CLI workers using SWE-2 and SWE-1.6

1 participant