Skip to content

[Feature]: Add partial DeepSeek Harness session-evidence adapter #93

Description

@Cobb04

Preflight

  • I searched existing issues for a similar request.

What problem are you trying to solve?

Better Harness currently has no session-evidence adapter for DeepSeek Harness (dsh), so persisted DSH runs cannot be consumed by Better Harness's existing session-based analysis.

DSH's current base composition persists structured session records with session identity, workspace metadata, ordered user/assistant activity, correlated tool calls and results, and explicit turn outcomes. This leaves an integration gap between evidence DSH produces and evidence Better Harness can analyze after a run.

DSH is also highly configurable and plugin-oriented. Combined with its persisted execution evidence, that could make Better Harness findings a useful foundation for future harness-level iteration. This is only motivation for the adapter: a session log does not establish plugin ownership, root cause, or an automatic repair.

What would success look like?

A first contribution lands as a partial session-evidence adapter, with a support claim limited to:

DSH persisted JSONL session → workspace qualification → supported event normalization → Better Harness session evidence

For the currently observed DSH dsh-v0.1.0-rc.7 / session-format-v0 contract, the adapter would:

  • discover JSONL-backend session artifacts from an explicitly resolved DSH session root, including the current default .jsonl.zstd encoding and raw .jsonl mode;
  • validate the session header, identity, physical/logical record shape, and contiguous event sequence before using the evidence;
  • qualify sessions against the requested workspace using the header's absolute cwd, not the intentionally lossy project-directory name;
  • normalize an allowlisted subset of user, assistant, tool-call/result, and turn-outcome events into Better Harness's existing session contracts;
  • retain user-message source distinctions, native call/result correlation, and existing privacy/content gates;
  • keep missing, incomplete, and known-but-unsupported evidence explicit;
  • refuse unsupported or malformed session-format versions and unknown required events rather than guessing;
  • treat an open trailing turn as incomplete evidence and never repair or rewrite DSH artifacts;
  • include deterministic synthetic fixtures for supported encodings, workspace matching and rejection, event correlation, terminal outcomes, unknown events, malformed records, deduplication, and privacy boundaries;
  • document JSONL-only partial support and leave SQLite or custom persistence providers unavailable.

This first slice would not claim native installation, configured-asset discovery, plugin lifecycle integration, packaging integration, or Quickstart readiness.

Where would this be used?

The initial use case is post-run analysis of a project that has been worked on with DeepSeek Harness:

DSH run → persisted session evidence → Better Harness qualification/normalization → existing Better Harness analysis

Better Harness would analyze durable evidence after the run; it would not run natively inside DSH or infer live terminal/process state in this first slice.

Examples or evidence

Current upstream DSH sources at dsh-v0.1.0-rc.7:

Anything else?

DSH describes itself as a rapidly changing developer preview, and its current session format is version 0 with no compatibility promise. A narrow, version-aware adapter therefore seems safer than a general “DeepSeek Harness support” claim. Same-version structural drift should also fail closed when it does not match the explicitly supported fixtures.

I am interested in implementing this contribution. I would use PR #56 as a reference for Better Harness's ownership, evidence, synthetic-fixture, privacy, and validation conventions, while treating the current contribution guide as authoritative.

Explicit non-goals for this first contribution are full first-class DSH support, native Better Harness installation inside DSH, configured-asset or Skill discovery, DSH plugin lifecycle or packaging integration, public Quickstart status, automatic harness optimization, and automatic identification of faulty plugins.

Maintainer feedback would be welcome on whether session-evidence-only partial support, limited initially to the current JSONL contract, is the right first boundary.

Metadata

Metadata

Assignees

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