Skip to content

Proposal: add a version-gated DeepSeek Harness transcript source to SkillOpt-Sleep #225

Description

@iiwish

Motivation

DeepSeek Harness (DSH) now persists event-sourced sessions, but SkillOpt-Sleep has no DSH transcript source. The recently merged OpenCode source provides a useful precedent for adding a narrow, privacy-conscious harvester independently from an execution backend or plugin.

DSH is currently a developer preview (0.1.0-rc.5) and its session header is version 0, so this integration should be explicitly experimental and fail closed rather than claim forward compatibility.

Proposed MVP

  • Add an explicit --source dsh and --dsh-session-root; do not add DSH to auto discovery yet.
  • Read sessions locally and read-only, accepting only the tested DSH schema/version.
  • Keep root-session visible user/assistant text, short tool names, working directory, timestamps, and immutable session feedback records.
  • Exclude reasoning/chunk events, tool arguments/results, file payloads, request/provider/account metadata, child sessions, and SkillOpt-created replay sessions.
  • Normalize accepted sessions into the existing SessionDigest contract and preserve the current redaction boundary.
  • Add sanitized fixtures and tests for valid sessions, corruption, unknown versions, filtering, redaction, CLI/config routing, and documentation.

Design question

Would maintainers prefer the smallest direct importer for version-0 JSONL (with a documented policy for DSH's default zstd files), or a versioned sanitized export produced by a thin DSH plugin? Direct import is smaller and has no plugin prerequisite; an exporter is a more durable format boundary and can include DSH's separate message-feedback store.

Non-goals

  • A DSH execution backend or tool-aware agentic replay
  • A DSH UI/plugin bundle
  • Automatic skill adoption
  • Recovering message-level feedback from DSH's sidecar when using raw session logs
  • Compatibility with unknown future DSH session versions

Acceptance criteria

  • Harvesting is local, read-only, and requires no DSH model login or running daemon.
  • Unknown or malformed schemas are skipped with a clear warning; no partial permissive parse.
  • since, project, limit, child-session, and replay-session filters have tests.
  • Sensitive event payloads never enter SessionDigest or fixtures.
  • Existing harvest sources remain unchanged and the full test/documentation checks pass.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions