Open Science v0.10.1: Building a More Reproducible and Extensible AI Research Workspace
Open Science v0.10.1: Branch any conversation into a fresh session, search GitHub for skills by keyword, import and export specialist packages, and keep oversized data files out of model context — while a provider turn-adapter pattern unifies how each agent framework drives the session lifecycle and a module-first application-command architecture makes the IPC surface independently testable.
Open Science v0.10.1: Branch any conversation into a fresh session, search GitHub for skills by keyword, import and export specialist packages, and keep oversized data files out of model context — while a provider turn-adapter pattern unifies how each agent framework drives the session lifecycle and a module-first application-command architecture makes the IPC surface independently testable.

Open Science v0.10.1 is a patch release on top of Open Science v0.10.0. It brings the ability to branch a conversation's active message path into a new session, search public GitHub repositories for skills by keyword, import and export specialist profiles as versioned packages with safe contribution workflows, and see session-age metadata in the project file library.
Under the hood it keeps oversized text files and compute datasets on managed disk instead of eagerly inlining them into the model context, deduplicates replayed branch events so edited branches do not collect ghost messages, preserves reviewer correction provenance against the durable conversation graph, and assigns resumed Codex prompt responses to the correct runtime segment — while a broad ownership refactor introduces a provider turn-adapter interface (Claude, Codex, OpenCode each owning their generation, presentation, resume, and handoff lifecycle), a module-first application-command architecture routing every IPC call through typed, independently testable owners, and CI validation that selects checks by owning module with fail-closed classification.
What new capabilities help researchers build and manage AI-powered research workflows?
Branch a conversation into a new session
A split Send control now offers a Branch in new session action for any conversational session, immediately creating a local pending session that copies only the source session's active message path and uses the submitted prompt as the new title. Creation failures are retryable in the new session and never mutate or roll back the source. Artifacts, project files, and notebook state remain owned by the source session, and missing preview metadata is resolved through one batched descriptor call rather than by duplicating records.
Search GitHub skills by keyword
The skill import flow now accepts free-text keywords alongside explicit repository references. Keyword input searches public GitHub repositories, returns matching metadata, and lets the user scan a selected repository for Skill folders. Repository matches collapse to keep the list manageable, with prominent controls to expand them again, and the actions are clarified as Find skills and Scan for skills.
Specialist package import/export
Specialist profiles can now be exported and imported as versioned packages through secure ZIP and directory flows, with archive limits, validation diagnostics, preview, install, overwrite confirmation, cancellation, report saving, and atomic rollback. Safe deletion checks linked-skill ownership before removing a specialist.
Oversized file context protection
Large text files and compute datasets (for example, an 18 MB CSV) now stay on managed disk instead of being eagerly inlined into the model context. The prompt carries a bounded preview plus a local-file descriptor so the agent can still read the full file through notebook or shell execution, but downstream adapters can no longer overflow the model context by decoding the entire attachment.
What new features make Open Science a more capable scientific AI workspace?
Branch in new session
An integrated split Send control adds a Branch in new session action that creates a local pending session from the source session's active message path, uses the submitted prompt as the new title, and reuses the existing bounded ACP replay path for text, images, and upload references. Creation failures remain retryable and never mutate or roll back the source session. Artifacts and notebook state stay owned by the source; missing preview metadata is resolved through one batched artifact descriptor call instead of by copying artifact records.
GitHub skill search by keyword
The skill import flow now routes free-text keywords through a public GitHub repository search while preserving owner/repo, owner/repo@ref, and github.com URL input. Repository matches collapse when scanning for Skill folders, with prominent controls to show or hide them again. Actions are clarified as Find skills and Scan for skills, repositories are visually separated from discovered Skills, and selection controls are in a dedicated toolbar. Stale responses and GitHub rate-limit errors are handled.
Specialist contribution channels
versioned specialist package types, manifests, and templates support secure ZIP and directory import/export with archive limits, validation diagnostics, Finder-created ZIP support, preview, install, overwrite confirmation, cancellation, report saving, and atomic rollback. Safe specialist deletion checks linked-skill ownership and protection before removal. The contribution APIs are exposed through the preload bridge and renderer contract catalog, and the Settings UI, renderer stores, and IPC handlers are extended.
Session-age metadata in artifact list
the project file library's list view now shows compact relative time (for example, 1 · 15h ago) next to each session header, so users can see when a session was last active without opening it. Session headers use a default cursor while preserving expand/collapse behavior, and the previous file-count fallback applies when timing data is unavailable.
Bug Fixes
Replayed branch message deduplication
when switching from an interrupted conversation to an edited message branch, assistant events owned by the original branch are no longer replayed onto the edited branch, preventing mixed messages and duplicate Completed/Usage footers. Events are now deduplicated against the durable conversation graph by bounded event ID and prompt message ID before mutating the active flat projection.
Image filtering on text-only session replay
images are filtered out when replaying a text-only session during branch creation, preventing broken image references from appearing in the new session.
Branch controls positioning
message branch controls are pinned below the chat bubble instead of overflowing the message area, so the controls stay visible and usable on all message lengths.
Reviewer correction provenance
reviewer-owned correction prompts now materialize the durable conversation graph before the correction turn, so artifact finalization can bind to the correct frame and branch instead of failing closed on a mismatched root.
Codex prompt-runtime ownership after resume
after a detached Codex session resumes, the agent response is assigned to the runtime segment of its responseToMessageId prompt instead of the latest segment, preventing artifact finalization from rejecting the durable ownership proof when the active segment changes between prompt projection and terminal agent message.
Renderer prompt controls stripped from ACP
Prompt controls are no longer forwarded to the ACP layer, preventing framework adapters from receiving renderer-internal state.
DOM async iterable type coverage
web type definitions now include DOM async iterables, preventing type-check failures for stream-based browser APIs.