OpenHands / OpenHands/software-agent-sdk

[Feature]: Serve durable conversation history independently of runtimes

Open
#4,995 1 comment 0 reactions 1 assignee View on GitHub

@neubig is already working on this.

Since Sep 14, 2026.

enhancement ready-for-dev
Dominant language
Python
Stars
1.1k
Forks
539
Avg merge
1d 19h
Merged PRs (30d)
137

Description

Is there an existing feature request for this?

  • I have searched existing issues and feature requests, and this is not a duplicate.

Problem or Use Case

Archived conversations and conversations whose runtime ownership is lost must remain readable. If event history is served only by an inner per-conversation runtime or workspace, removing that runtime can also remove the user's ability to inspect the trajectory that explains prior work and failures.

Desired Behavior

The outer Agent Server should serve retained conversation metadata and event history without creating or contacting an inner runtime. The contract should define retained event data, archive versus deletion retention, and behavior after ownership loss. Runtime-independent history is required for a reliable archived/read-only Canvas experience.

Acceptance Criteria

  • Conversation metadata and retained event history can be read while no inner runtime exists.
  • Reading history never provisions or resumes a runtime.
  • Runtime ownership loss does not erase retained history.
  • Archive retention and permanent deletion semantics are explicitly documented and tested.
  • Tests cover archived, missing-runtime, and ownership-lost conversations using real persistence paths.
  • The API preserves event ordering and pagination semantics.
  • OpenAPI and clients/typescript expose the runtime-independent history contract.
  • Optional trajectory download is included only if it naturally reuses retained event data; workspace export remains out of scope.

Alternatives Considered

Keeping the runtime alive solely to read history defeats archiving, consumes resources, and fails when ownership is already lost. Full workspace export is a separate storage/privacy feature and is intentionally out of scope.

Priority / Severity

High - Significant impact on productivity

Estimated Scope

Medium - New feature with moderate complexity

Feature Area

  • Agent Server

Technical Implementation Ideas (Optional)

Reuse the outer persisted conversation catalog/event storage where possible and add explicit no-runtime contract tests before introducing new storage abstractions.

Additional Context

Dependency: explicit archive contract, canonical runtime lifecycle contract, and #3403.

This issue was created by an AI agent (OpenHands) on behalf of the user.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.