I'm Xand Reed. I'm building efferent — an open-source coding agent that lives in the terminal — on Effect.ts, in public.
Notes on Effect, agents, and evals. Artifacts first, opinions later. No React.
2026 A terminal UI with SolidJS signals and no React Streaming agent output is a fine-grained reactivity problem. Why efferent's TUI is OpenTUI + Solid signals instead of Ink, and what the cost model looks like. Sub-agents over a persistent context tree Sub-agent context is a tree worth keeping, not scaffolding to throw away. Resume, branch, staleness briefs, and fan-out under one token budget. Your agent's evals should live next to its tools Eval distance is an iteration tax. Why efferent keeps its eval suites in the same workspace as the prompts and tools they judge. Bash approval: rules, not dialogs Every approval dialog should leave a rule behind. How efferent makes its permission prompt rate decay instead of compound. Swap your LLM provider at runtime, not compile time Provider choice is request-scoped state, not architecture. How efferent routes one LanguageModel port across Claude, Gemini, and OpenAI per request.