Skip to content

Claude Agent SDK SessionStore backend #44

Description

@tenequm

Context

Assessed against claude-agent-sdk-python v0.2.91 (~/pjv/anthropics/claude-agent-sdk-python) in the 2026-06-05 session, with corrections that reversed the initial verdict:

pond is a legitimate, distinctive SessionStore backend - the lossless, searchable, cross-agent-restoring one. The conformance contract's deep-equal load() is satisfiable because pond already stores every source record verbatim (options.source.raw_record + placement rule 3 catch-all); delete is OPTIONAL in the conformance suite (_OPTIONAL_METHODS), so pond's append-only stance is fully conformant. Cross-agent resume (ingest a Codex/opencode session, restore it as Claude Code JSONL, hand to materialize_resume_session) is the capability no redis/postgres/s3 backend has.

Depends on: live-write ingest (#43).

Work items

  1. Ordering tiebreaker (LOW). pond orders by (timestamp, id); the contract wants append order. Real transcripts have distinct timestamps so the orders coincide; strict conformance (timestamp-less synthetic entries) needs options.source.line promoted to a sortable column. Rule: the tiebreaker must be source position, never a write-time counter (keeps re-ingest idempotent per lance-deterministic-pk / additive-sync).
  2. Key-model mapping (the trickiest bit, not lossy). SDK keys are (project_key, session_id, subpath); pond models subagents as child sessions linked by parent_session_id. Define the bidirectional mapping.
  3. Schema fidelity check. Verify the SDK transcript_mirror entry types (custom-title, tag, agent_metadata, summary sidecars) flow through the claude_code adapter catch-all losslessly. Expected yes (no message field -> System carrier path); prove it against fixtures.
  4. Python shim. Thin in-process SessionStore class over pond HTTP (/v1/ingest + load/restore). Reference shape: the tee decorator - delegate store-of-record duties to any real backend, forward entries to pond - which passes conformance by construction and is the right first example regardless.
  5. Proof. Run the SDK's 14-contract conformance suite against the pond-backed store.

Positioning (decided, do not relitigate)

Both framings ship: the tee example ("mirror SDK sessions into pond for cross-session search") as the low-risk entry, and the direct backend as the differentiated one. The cross-agent resume demo is the headline artifact.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions