Managed Research Launch, Horizons Agent Runtime
Friday product updates for February 20, 2026.
TL;DR
- Managed Research launches — overnight research runs with budget enforcement, GitHub PR delivery, and a full SDK.
- Horizons adds a deterministic actor runtime, Claude Code agent support, sandbox orchestration, and MCP tool server improvements.
- Unified billing — Autumn is now the single billing backend for all Synth products including Managed Research.
- RLM v1 fix — Chat Completions API compatibility restored for tool-use traces.
- Continual learning — ontology overfitting fix, observation-only TextDreamer mode, simplified online MIPRO flow.
Managed Research
Managed Research is now live on Pro and Team plans. Connect a repo, set a budget and a night-start time, wake up to a report, result files, and PRs.
What shipped
- Onboarding wizard — four-step flow: project basics, GitHub connection, starting data and spec, budgets. Lock-down redirect until complete.
- Scheduled overnight runs — set a timezone, days of week, and start window. The scheduler evaluates every 60 seconds and fires automatically.
- Budget enforcement — monthly cap blocks new runs at trigger time (402). Per-run cap hard-stops mid-run (
budget_exhausted). Timebox hard-stops after N hours. - GitHub PR delivery — workers open PRs on your connected repos. Multi-PR per run supported. PRs tracked as
github_prartifacts on the deliverables page. - Deliverables page —
report_mdrendered as markdown, arbitrary result files with preview and download, PR cards with status badges. - Usage page — month-to-date spend, per-run breakdown, budget remaining, Autumn credit balance, entitlement status.
- SDK —
SmrControlClientwithtrigger_run,get_run,list_run_artifacts,pause_run,stop_run,set_agent_config(model and agent kind overrides).
Billing
Autumn is now the unified billing backend. All Managed Research spend deducts from the org's Autumn credit balance via the smr_spend feature. managed_research entitlement gating is enforced on project creation and run trigger. smr_active_projects tracked on create/archive/unarchive. The old smr_config.py is deleted — feature flags removed, billing gates always on.
Horizons
Deterministic Actor Runtime
New OrchestratorAgentRuntime with a deterministic actor contract for sandbox-based agent execution. Agents run inside Docker sandboxes with full MCP tool access, log tagging, and per-run setup hooks.
Claude Code Agent Support
Claude Code joins Codex and OpenCode as a supported agent kind. MCP config is split into settings.json and .mcp.json with inline token auth. MCP permission patterns fixed (mcp__orchestrator not mcp__orchestrator(*)).
MCP Tool Server
clear_tools()for dynamic tool registration- Comprehensive request logging
- MCP tool error detection for better failure diagnostics
Sandbox Improvements
SandboxConfiggainslog_tagsanddocker_socketsupport- Docker socket auto-detection (Colima, Docker Desktop, standard)
- Health check timeout increased to 600s for heavy sandbox builds
libsqlmade optional behindtursofeature flag- Event channel deadlock fix in
run_session_in_sandbox
Continual Learning & Optimization
- Ontology overfitting fix — context refresh no longer overfits to narrow entity patterns during continual learning.
- TextDreamer observation-only mode —
SYN-1396: collect observations without proposing changes, useful for baseline measurement. - Simplified online MIPRO —
SYN-1349: removed tunnel and env-key friction from the online optimization flow. SDK tests cover every API path. - GEPA config improvements — graph API updates, helix query regeneration for better optimization stability.
RLM v1 Compatibility Fix
The RLM v1 integration test was using OpenAI's Responses API (/responses), which rejects role: "tool" messages that the RLM v1 engine naturally produces. Fixed to use Chat Completions (/chat/completions) directly — removed ~170 lines of unnecessary message normalization code.
Infrastructure
- OpenAI Responses API usage fields — cached and reasoning token counts now handled correctly in usage tracking.
- Devcontainer —
SYN-1388: declarativedevcontainer.jsonenvironment definition added to dev sandboxes across backend, rust_backend, and Horizons. - Managed Research worker diagnostics — claim-by-id logging, relaxed pool filters, retry_of migration, queued-stall recovery.