Release Notes: 2026-05-02 Beta 59 Snapshot
This document summarizes the develop-branch work window that was promoted to main by PR #144 on 2026-05-03 02:09 KST. It covers the runtime, CLI, provider, CI, deployment, and publishing process state now represented by the 3.0.0-beta.59 npm release.
Scope
- Time window: 2026-04-30 23:01 KST through 2026-05-03 02:09 KST
- Develop range:
d2c351652^..59d0d42a8 - Main promotion:
b9d9b9d9c(Merge pull request #144 from woojubb/develop) - Published releases inside the range:
3.0.0-beta.56,3.0.0-beta.57,3.0.0-beta.58,3.0.0-beta.59 - Current npm state: all 18 publishable
@robota-sdk/*packages have bothlatestandbetadist-tags on3.0.0-beta.59
Release Intent
The work turns Robota from a basic interactive coding assistant into a more complete agent runtime:
- Subagents are real background jobs with runtime-owned state, transcripts, watchdogs, and command surfaces.
- The CLI is a TUI shell over SDK-owned session state, with richer status, usage, diff, checkpoint, memory, and background-work displays.
- Provider composition is definition-driven, allowing Qwen, Gemma, Gemini, Anthropic, OpenAI, and OpenAI-compatible endpoints without CLI-specific provider branches.
- Session logs now record provider/tool execution-boundary events as replay-grade provenance.
- The Agent tool has a deterministic batch path for explicit multi-agent and parallel-agent requests.
- CI, deployment, and beta publishing now avoid per-package rebuild/publish loops and reuse the monorepo root build path.
Highlights
Agent Runtime and Subagents
Merged PRs: #100, #101, #103, #106, #108, #122, #123, #124, #131, #132, #146, #147
- Added
@robota-sdk/agent-runtimeas the shared owner of background task and subagent lifecycle contracts. - Added background agent jobs with real process/session execution rather than display-only placeholders.
- Added subagent manager state, background task snapshots, transcripts, watchdogs, and terminal visibility rules.
- Added command-level
/agentorchestration through@robota-sdk/agent-command-agent. - Added active task context injection so agents can see current
.agents/taskswork items in system prompt context. - Added self-hosting verification helpers for agent-driven development loops.
- Added replay-grade session event plumbing for provider requests, normalized responses, assistant commits, tool batches, tool requests, and tool results.
- Added deterministic batch
Agenttool calls viajobs, so explicit parallel requests can spawn all valid jobs before waiting.
CLI and TUI
Merged PRs: #102, #112, #114, #115, #118, #119, #120, #121, #126, #133, #136, #138, #139, #140, #141, #142, #143
- Updated the CLI to Ink 7 and moved more interaction logic into tested TypeScript state managers and hooks.
- Added provider setup UI generated from provider definitions.
- Added npm update checks while keeping print/headless mode deterministic.
- Added project memory commands and then routed memory through command descriptors instead of public automatic memory APIs.
- Added status line settings, prompt history navigation, queue handling, and CJK input flow improvements.
- Added markdown rendering for tool diff blocks and context hunk rendering for edit diffs.
- Added provider usage summaries and status activity indicators.
- Added tree-row display for background work and collapsed command-output transcripts for scannable long sessions.
Providers
Merged PRs: #107, #110, #113, #117, #127, #128, #134, #135
- Added Gemma provider transport for LM Studio/OpenAI-compatible local endpoints.
- Added Gemma serving-template projection for reasoning markers and native tool-call text.
- Added Qwen provider support through Alibaba Cloud Model Studio/DashScope.
- Added Qwen provider-side web tools via Responses API
web_searchandweb_extractor. - Modernized Gemini transport on
@google/genai. - Added canonical
@robota-sdk/agent-provider-gemini;agent-provider-googleremains a compatibility wrapper. - Clarified OpenAI-compatible transport boundaries so model-family behavior lives in provider packages.
- Kept provider setup branch-free through provider definition metadata.
SDK, Sessions, Memory, and Checkpoints
Merged PRs: #129, #130, #132, #134, #135, #146, #147
- Added automatic memory capture/retrieval internals, then narrowed the public surface so memory is controlled through command descriptors.
- Added edit checkpointing and rewind support for safer file-edit workflows.
- Added context injection from active task files.
- Added session-log evidence for execution boundaries through
onExecutionEvent. - Added batch
Agenttool schema and structured per-job results withgroupId,agentIds, ordered job output, and partial failure reporting. - Kept unresolved replay work explicit: raw provider payloads/chunks, payload references, redaction policy, deterministic
/resumereplay, history mutation events, and validator commands remain active task scope.
Harness, CI, Deploy, and Publish
Merged PRs and release commits: #111, #116, #137, #145, #149, #150, #151, plus beta.57-beta.59 release governance commits
- Added scoped verification planning and pre-push verification hooks.
- Added package coverage commands.
- Added release dist freshness scanning that builds before checking dist output.
- Added documentation-sync rules requiring package READMEs, package docs pages, and robota.io source pages to stay current with package changes.
- Fixed atomic Write/Edit internals to preserve existing file mode bits during atomic replacement.
- Changed PR CI to run the root monorepo package build once when affected scopes require build output, then reuse the archived
distartifact for quality verification. - Changed Vercel deploy verification to run the root package build once, archive package dist output, and reuse it during the app build/deploy job.
- Hardened beta publishing so
pnpm publish:betaruns npm auth preflight, performs one recursive dry-run, prompts for OTP only after dry-run succeeds, publishes all non-private packages withpnpm publish -r, syncs thebetadist-tag, and verifies bothlatestandbeta. - Confirmed lockfile updates are produced through
pnpm install; generated lockfile content is not manually edited.
User-Facing Changes
CLI
robota --check-updatechecks npm for newer CLI versions.robota --disable-update-checkskips interactive startup update checks for one run.robota -premains deterministic and does not perform startup update checks.- Provider setup is now driven by provider definitions, including Anthropic, OpenAI-compatible, Gemma, Gemini, and Qwen in the default CLI build.
- TUI output now gives clearer edit diffs, provider usage summaries, command-output collapse, background job tree rows, and status activity.
- Slash-command behavior is increasingly SDK-owned; the CLI renders and routes commands rather than owning session logic.
SDK
InteractiveSessionis the primary assembly API for interactive clients.- Consumers pass a provider instance to
InteractiveSessionorcreateQuery(); the SDK remains provider-neutral. - Agent definitions and active tasks are included in prompt composition when enabled.
- System commands, skills, memory, checkpointing, and background jobs are SDK-level capabilities that CLI and transports can consume.
Agenttool supportsjobsfor batch subagent execution.- Session logs include more execution-boundary events, but full deterministic replay is still active follow-up work.
Providers
- Use
@robota-sdk/agent-provider-geminifor Gemini API work. - Use
@robota-sdk/agent-provider-googleonly as a compatibility wrapper. - Use
@robota-sdk/agent-provider-gemmafor Gemma-family local models served through LM Studio/OpenAI-compatible endpoints. - Use
@robota-sdk/agent-provider-qwenfor DashScope/Qwen, including optional provider-side web search/fetch. - Use
@robota-sdk/agent-provider-openai-compatibleas reusable transport infrastructure, not as the model-family owner.
Compatibility Notes
- The provider profile type for Gemini is
gemini;googleremains accepted as an alias during migration. - Qwen provider-side web tools are separate from Robota local tools and do not bypass local permission checks.
- Gemma local models should use the Gemma provider rather than the generic OpenAI provider so reasoning markers and native tool-call text are projected correctly.
- The Agent tool remains backwards-compatible with single-job
promptcalls; batch jobs are additive. - Existing session JSON snapshots still exist, but replay-grade restoration is not complete until raw payload storage and replay validation are implemented.
Verification Notes
Release-grade verification for main PRs now runs:
pnpm harness:verify:release
pnpm audit --audit-level highThe Node 18 compatibility job runs the root package build through pnpm run build:deps and then runs coverage for packages that support Node 18. Develop PR CI uses the affected-scope plan, but package/app build output is produced once at the root and reused by later jobs.
The 3.0.0-beta.59 beta publish completed for 18 publishable packages. npm registry checks confirmed latest=3.0.0-beta.59 and beta=3.0.0-beta.59 for every publishable @robota-sdk/* package in the beta set.
Follow-Up Work
- Complete deterministic
/resumereplay from append-only event logs. - Add raw provider response/chunk logging with redaction and payload-reference policy.
- Add replay validators for unmatched tool calls/results and non-replayable payload references.
- Add four-agent batch scenario coverage and final-response claim validation.
- Continue converging
/agent paralleland model-invokedAgent({ jobs })behavior.