feat: add Reasonix engine adapter (DeepSeek-native CLI) - #148
Conversation
Adds a BYOA engine adapter for Reasonix, the DeepSeek-native coding agent CLI (npm: reasonix). Drives 'reasonix run' headlessly with --permission-mode auto --output-format json, resumes sessions via --resume <session-id>, seeds the agent home with AGENTS.md (which Reasonix loads as project memory), and reports token usage from the terminal JSON result document. - engine.ts: ReasonixAdapter (probe/classify/run/seedHome) + reasonixReplyFromJson - registry.ts: PAIRABLE + EngineId include reasonix - engines.ts: UI label/bin for Reasonix Reasonix enforces a workspace-root file-write sandbox + permission gates rather than an OS-level boundary, so it runs under CUMORA_BYOA_ALLOW_UNSANDBOXED=1 like the other compatibility engines.
|
Thanks — and thank you for actually running it end to end. "8 agents, wake → triage → engine turn → reply, session resume across daemon restarts" is more validation than most engine PRs arrive with, and it is the part I cannot check for you. Two things before this can land. 1. It conflicts with main. Please rebase. 2. The engine registry guard will almost certainly fail. This touches three files —
So a Reasonix turn would be attributed to Claude in I would expect at least One design note, not a blocker. Gating Reasonix behind Rebase, let the guard run, and ping me. |
Wired into every list an engine has to appear in — BYOA_SOURCES, the ledger, observability, the version specs, the renderer, the big-brain guard — so the registry guard passes rather than a half-wired engine silently billing its runs to Claude. That is the completeness #148 still needs. The security posture is the part worth keeping: it deliberately does NOT add itself to SANDBOXED_ENGINE_IDS, even though the adapter passes `agy --sandbox`, on the grounds that Cumora should not claim a verified fail-closed boundary before the file/tool/credential/network surface has been independently proven. After the week this repo just had — a sandbox profile that aborted every codex turn on 103 workspaces — declining to assert an unverified boundary is the right instinct, and I would rather have it stated than assumed. Also normalizes Antigravity's cumulative session usage into per-turn deltas, so resuming does not rebill prior turns and cache reads. Conflict was the agent-cli version line against v0.12.1; kept the released version, took their description.
|
I've written two of these adapters (#99 gemini, #113 qwen) and the registry guard (#114), so I ran this branch through both. CI has not reported on this PR at all, and there are two things it would have caught — one mechanical, one not. The guard fails on this branch
Most are unions to widen, but two bite at runtime: without
|
|
Thanks for this — the adapter itself is good work. I can't merge it yet. Two blockers, one of which is mechanical: 1. No CI has ever run on this branch, and it now conflicts with 2. Adding an
Separately, and not covered by the guard: 3. Please add a unit test for One question rather than a blocker: the doc comment says the contract was verified against reasonix v1.31.1, and you've run 8 agents on it end to end — that's more validation than most adapters arrive with, thank you. Given that, could you also add a Work through the guard, get the checks green, and I'll merge it. |
|
Following up on my review from yesterday — status unchanged, so this is just a nudge rather than new feedback. The branch is still The adapter itself is still good work and I'd like to land it — it just needs to be wired in everywhere before it can be. Ping me when CI is green. |
|
Following up on my earlier note: this still cannot merge, and the conflict has grown. Against current
When you rebase, two things to fold in:
The adapter itself looked reasonable when I read it. It is only the drift that is blocking. |
Adds a BYOA engine adapter for Reasonix, the DeepSeek-native coding agent CLI (npm: reasonix). Drives 'reasonix run' headlessly with --permission-mode auto --output-format json, resumes sessions via --resume , seeds the agent home with AGENTS.md (which Reasonix loads as project memory), and reports token usage from the terminal JSON result document.
Reasonix enforces a workspace-root file-write sandbox + permission gates rather than an OS-level boundary, so it runs under CUMORA_BYOA_ALLOW_UNSANDBOXED=1 like the other compatibility engines.
Tested end-to-end: paired a local computer and ran 8 agents on
reasonix via BYOA — wake → triage → engine turn → reply all worked
(DeepSeek deepseek-v4-flash, ~3s/turn, session resume across daemon
restarts verified).