Skip to content

Storage: move JSONL transcripts and the tool-result artifact store onto driver ports #453

Closed

Description

@senamakel

Part of tinyhumansai/openhuman#7522, tracked from tinyhumansai/openhuman#7783.

tinyagents#446 moved ArtifactOffload and generated media onto the BlobStore port. Two path-bound stores remain (see the PR's CHANGELOG 'Not yet moved'):

  • artifacts::tool_results::ToolResultArtifactStore: its pointers are file paths the host file_read opens, and pruning uses mtimes (blobs have none). Needs a host read tool and an age/retention design first.
  • The JSONL transcript writer/reader/FileTranscriptLocator (about 12k lines in session::transcript, path-pervasive for adoption, spend and view). With a session provider (DriverSessionStores) transcripts already live in session_transcripts/session_transcript_entries; this item is the file-backed path used when no provider is installed.

Acceptance: neither store takes a filesystem path on its public surface; hosts hand it a driver port; legacy files are still imported once.

Activity

  1. added
    priority: p3Whenever. Cosmetic, a nicety, or a cleanup with no user visible effect.
    on Oct 14, 2026
  2. tinysweeper commented on Oct 14, 2026

    @tinysweeper

    Architecture/refactor task: move the two remaining path-bound stores (artifacts::tool_results::ToolResultArtifactStore and the JSONL transcript writer/reader/FileTranscriptLocator in session::transcript) onto driver ports so neither takes a filesystem path on its public surface, while still importing legacy files once. Follow-up to tinyagents#446, which moved ArtifactOffload and generated media onto BlobStore; no functional breakage is reported, and the tool-result store explicitly needs a host read tool plus an age/retention design before it can move. No candidate duplicates or fixing PRs were provided, so duplicate_of and resolved_by are null.

    Labelled priority: p3.

  3. added theissue type on Oct 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    priority: p3Whenever. Cosmetic, a nicety, or a cleanup with no user visible effect.

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions