You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Proposal: add a version-gated DeepSeek Harness transcript source to SkillOpt-Sleep #225
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.
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.
#266 now handles current v2 and highest-generation selection correctly; those earlier review concerns are resolved. A new current-producer check found that ordinary DSH compaction lifecycle events make the importer discard an otherwise valid session. The reproduction extends the PR's sanitized fixture with the producer's start/end records and uses no live data or model calls.
The 70 shipped importer tests and strict docs build pass, but they do not cover that normal producer behavior. Keep this issue open until the supported-event gap is fixed and revalidated; no DSH backend or broad benchmark is required. Unknown-required-event refusal and the existing privacy/lineage/replacement tests should remain intact.
The new discussion on #266 reports a v4 producer format with additional event and compaction behavior, while the unchanged PR head accepts only versions 0/1/2. A sanitized producer-shaped fixture and expected final visible conversation are the next useful evidence. Version acceptance alone would not establish correct lifecycle reconstruction or privacy filtering. #330 has now merged and repairs a separate shell-executor invocation seam; it does not deliver a DSH transcript source. This issue remains open.
Activity
Yif-Yang commentedon Sep 30, 2026
#266 now handles current v2 and highest-generation selection correctly; those earlier review concerns are resolved. A new current-producer check found that ordinary DSH compaction lifecycle events make the importer discard an otherwise valid session. The reproduction extends the PR's sanitized fixture with the producer's start/end records and uses no live data or model calls.
The 70 shipped importer tests and strict docs build pass, but they do not cover that normal producer behavior. Keep this issue open until the supported-event gap is fixed and revalidated; no DSH backend or broad benchmark is required. Unknown-required-event refusal and the existing privacy/lineage/replacement tests should remain intact.
Yif-Yang commentedon Oct 23, 2026
The new discussion on #266 reports a v4 producer format with additional event and compaction behavior, while the unchanged PR head accepts only versions 0/1/2. A sanitized producer-shaped fixture and expected final visible conversation are the next useful evidence. Version acceptance alone would not establish correct lifecycle reconstruction or privacy filtering. #330 has now merged and repairs a separate shell-executor invocation seam; it does not deliver a DSH transcript source. This issue remains open.