Skip to content

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 both latest and beta dist-tags on 3.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-runtime as 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 /agent orchestration through @robota-sdk/agent-command-agent.
  • Added active task context injection so agents can see current .agents/tasks work 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 Agent tool calls via jobs, 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_search and web_extractor.
  • Modernized Gemini transport on @google/genai.
  • Added canonical @robota-sdk/agent-provider-gemini; agent-provider-google remains 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 Agent tool schema and structured per-job results with groupId, agentIds, ordered job output, and partial failure reporting.
  • Kept unresolved replay work explicit: raw provider payloads/chunks, payload references, redaction policy, deterministic /resume replay, 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 dist artifact 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:beta runs npm auth preflight, performs one recursive dry-run, prompts for OTP only after dry-run succeeds, publishes all non-private packages with pnpm publish -r, syncs the beta dist-tag, and verifies both latest and beta.
  • Confirmed lockfile updates are produced through pnpm install; generated lockfile content is not manually edited.

User-Facing Changes

CLI

  • robota --check-update checks npm for newer CLI versions.
  • robota --disable-update-check skips interactive startup update checks for one run.
  • robota -p remains 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

  • InteractiveSession is the primary assembly API for interactive clients.
  • Consumers pass a provider instance to InteractiveSession or createQuery(); 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.
  • Agent tool supports jobs for 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-gemini for Gemini API work.
  • Use @robota-sdk/agent-provider-google only as a compatibility wrapper.
  • Use @robota-sdk/agent-provider-gemma for Gemma-family local models served through LM Studio/OpenAI-compatible endpoints.
  • Use @robota-sdk/agent-provider-qwen for DashScope/Qwen, including optional provider-side web search/fetch.
  • Use @robota-sdk/agent-provider-openai-compatible as reusable transport infrastructure, not as the model-family owner.

Compatibility Notes

  • The provider profile type for Gemini is gemini; google remains 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 prompt calls; 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:

bash
pnpm harness:verify:release
pnpm audit --audit-level high

The 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 /resume replay 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 parallel and model-invoked Agent({ jobs }) behavior.

Released under the MIT License.