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
|
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).