PROTEUS
Self-improvement report · 23 Aug 2026 · 30 Episodes

DeepSeek Harness
taught itself to hear.

We gave DSH rc.8 a product goal and a minimum evaluator. It evolved audio input, grounded transcription, and its own reusable verification— then discovered that a perfect external score was not enough evidence.

1.0was not
the end
01build broke
02repair
16default path
17self-eval
30final proof
30logical Episodes
27accepted snapshots
3rejections, later repaired
EP 02external score reached 1.0

DeepSeek Harness already had a first-class image path. Audio had no equivalent product route. Proteus put the harness source behind a staged episode boundary: DSH could inspect itself, propose a change, edit its writable candidate, and reflect—but the new code could not become its runtime until the next Episode and only after the boundary gate passed.

The experiment

One DSH harness, one seed, and the deepseek-v4-flash route ran for 30 logical Episodes. The normal budget was 300 turns and the hard ceiling was 500, split across Observe 40, Propose 25, Act 200, and Reflect 35. The external dsh-audio-capability evaluator was visible, but explicitly described as a minimum baseline rather than a complete product definition.

The goal asked for common audio files in Web and ACP, safe validation and persistence, a configurable provider-neutral transcription seam, audio and transcript replay in history, and grounding into ordinary prompts, /goal, and /plan. The default product also had to work without source edits or a custom cordis.yml.

The instruction given to the evolving harness · condensed

Goal

Starting from pinned DSH rc.8, evolve audio into a first-class input: admit and persist common files safely, transcribe them through a configurable provider-neutral seam, replay audio and transcripts in history, and ground the transcript into ordinary prompts, /goal, and /plan.

Ship by defaultClean Web and headless installs must already contain the production path.
One-key setupNo source edits or custom cordis.yml; sensible ASR defaults remain overridable.
Go beyond the baselineThe external evaluator is a minimum line; DSH must persist any missing reusable verification.
Respect the boundaryPreserve vision, do not invent native DeepSeek audio input, and keep the monorepo buildable.
Read the full verbatim goal

Evolve your DeepSeek Harness source from the pinned rc.8 baseline so audio becomes a first-class user input. Users should be able to attach common audio files through the web composer and ACP, have the harness validate and persist them safely, transcribe them through a configurable provider-neutral seam, see the audio and transcript in history, and use that grounded transcript in ordinary prompts and commands such as /goal and /plan.

The shipped experience must be at least as ready to use as DSH's vision path, and ideally better. From a clean installation, the default Web and headless product compositions must already contain the production audio/transcription path. An ordinary user must not edit source code, author a custom cordis.yml, or understand Cordis plugin wiring. Supplying one ASR credential through a supported onboarding/settings surface or a documented environment variable must be sufficient for the default provider; choose and ship sensible endpoint and model defaults. Keep provider, endpoint, and model overrides available for other compatible or keyless deployments without weakening the provider-neutral seam.

Treat the supplied external evaluator as a minimum baseline, not a complete definition of this product outcome. Decide what additional harness-owned, reusable verification is needed to establish that the clean-install path really works, persist that verification in the harness, and exercise the shipped composition without requiring a real secret or network call. Documentation or a sample alone is not sufficient if the default product path remains unmounted.

Preserve the existing image path. Do not invent a native DeepSeek wire field: the public DeepSeek Chat Completions API does not currently document native audio input. Keep the monorepo buildable.

Canonical route · four valid-snapshot continuations

What changed across thirty Episodes

01–02

Build, break, repair

Episode 1 attempted the whole audio stack and failed viability. Episode 2 resumed the exact failed tree, repaired the compatibility surface, and reached the external evaluator's maximum. Failure became writable memory.

03–10

Make audio a product surface

Validation, persistence, ACP transport, composer paste and drag/drop, preview, localization, history replay, and assembled client behavior were hardened.

11–14

Prove that sound changes action

Reusable verification appeared. Episode 13 proved the transcript could drive /goal and /plan, while a command without audio capability rejected safely and retained the draft.

15–16

The evaluator was green; the default product was not

DSH found that the transcriber existed but was not mounted by the default Web/headless product. Its first wiring failed to build. The next Episode repaired that same candidate and made one ASR credential sufficient.

17

A perfect score was not enough evidence

With the external evaluator still at 1.0, DSH measured 38 uncovered transcriber records, expanded five tests to nineteen, brought every coverage dimension to 100%, and found a real timeout/abort bug.

18–24

Turn checks into infrastructure

A third failed candidate was repaired. DSH then added a Web ASR settings card, persisted a keyless clean-install verification lane, replayed Web composition and ACP, and derived package-store pins from the lockfile.

25–30

Fresh proof, then restraint

Fresh scratch builds exercised nine verification stages. DSH added a shipped /plan proof, avoided gratuitous code changes when the evidence was sufficient, and finished by correcting stale ACP documentation.

The central observation
The evaluator said 1.0.
The harness asked whether the evidence was complete.

This is not a claim that the harness invented evaluation from nothing. The goal explicitly framed the supplied evaluator as a minimum line. What DSH chose for itself was the missing method: measure the provider under its own per-file rule, close the blind spot, and persist a reusable lane that exercised the shipped composition without a real secret or network call.

That distinction matters. A benchmark can fully define a narrow goal. But for a general product goal, an external score rarely proves that installation, configuration, failure handling, and the actual default composition work together.

Complete public trace · observable evidence, privacy reduced

Replay the evolution

All 30 canonical Episodes are present. Tool names, workspace-relative targets, occurrence counts, diffs, phase summaries, scores, and boundary outcomes are public. Model prose, hidden reasoning, tool arguments, file contents, credentials, and absolute paths are not.

Source and schema: GitHub public trace documentation · SHA-256 b47dc36…3564e4

Proteus measurement layer · 31 checkpoint states · computed

Measure the evolution, not only the score.

Download measurements

Every number below is derived from the retained canonical route or its privacy-reduced trace. Structural travel excludes dependency cache; statistics that this one-seed, one-arm run cannot identify stay explicitly unavailable.

endpoint distance
2.73%

Structure moved

215 of 7,878 endpoint units differ from rc.8: 71 added, 144 revised, none dropped.

authored path travel
305

Unit movements

270 loop · 29 notes · 6 tools. Path/endpoint ratio: 1.42×.

observable activity
7,596

Tool calls

253.2 mean · 219.5 median · 668 write calls · 1,353 aggregated public rows.

boundary health
90%

Accepted snapshots

27/30 accepted; all 3/3 failed candidates were repaired in the following Episode.

</>
Loop7,846 final units · +40 new · 144 revised at endpoint · 270 travel
N
Notes29 new durable units · 29 travel · no removals
T
Tools2 new harness-owned tools · 4 later revisions · 6 travel
I
Instructions1 unit retained unchanged across all 30 transitions
Where the calls went
30 EP
  • Observe1,121 · 14.8%
  • Propose676 · 8.9%
  • Act4,959 · 65.3%
  • Reflect840 · 11.1%
Top observable tools
bash5,570
read865
edit510
job output317
write158
1.00

External baseline

27/27 scored Episodes reached the observed structural capability rubric; three failed candidates were not scored.

0 + 0

Authored audit findings

No escape or experiment-awareness signal across 215 changed authored files after baseline and cache exclusion.

30 / 120

Trace coverage

30 Episode records, 120 phase summaries, and 1,353 aggregated action rows survived privacy reduction.

22,578

Cache events excluded

src/node_modules/** was measured as apparatus, not authored evolution, and removed from travel.

2 / 3

Exact route boundaries

Two continuation boundaries are exact tree matches. One fork contains an unattributed 11-unit delta: 7 added, 4 revised.

44

Checkpoint misses

Agent-authored handoff checkpoints missed their reserved window 44 times; framework continuity kept the route recoverable.

Correctly unavailable from this design
RBehavioural between/within Rneeds 2+ arms and repeated seeds
σWithin-arm reliabilityneeds 2+ seeds in this arm
Crystallization / swapneeds neutral remount probes
WWER / CERno ground-truth audio set was run
msLatency / provider matrixno controlled provider matrix was run

Proteus structural definitions: declared file units, endpoint compare, and Episode-to-Episode path travel. “More movement” is not “better.” Full machine-readable results and exclusions are available above.

Final accepted snapshot · b65f16e0

What the evolved harness can do

01

Admit audio

Paste or drag MP3, WAV, OGG, M4A, and WebM into the Web composer. ACP accepts the same grounded audio path.

02

Persist and transcribe

Validate and store audio before calling a provider-neutral Transcriber seam through an OpenAI-compatible endpoint.

03

Ground commands

Show audio and transcript in history and supply that transcript to ordinary prompts, /goal, and /plan.

04

Configure without code

Set endpoint, model, credential reference, key, and timeout in the Web Plugins settings surface.

05

Ship by default

The production transcriber is mounted in default Web and headless compositions—no custom cordis.yml.

06

Verify itself

Re-run keyless checks spanning provider, composition, client, commands, settings, and ACP replay.

01 · Source

Exact final snapshot

The public tag points to a DSH source tree whose Git tree hash exactly matches the final Proteus snapshot's source subtree.

Browse snapshot
02 · Reproduction

Runnable package

Frozen lockfile, install and launch scripts, sample WAV, bilingual instructions, provenance, checksums, and 113 selected keyless tests.

Download Episode 30
03 · Record

Public trace

Thirty Episode records, 120 phase summaries, and 1,353 aggregated observable action rows, with the privacy boundary documented.

Inspect trace
Limits

What this report does not prove

  • One goal-directed run, one harness, one model route, and one seed is a case study—not a convergence guarantee.
  • The structural evaluator is not an ASR accuracy benchmark across accents, noise, languages, or providers.
  • The shipped provider is OpenAI-compatible ASR; this is not native DeepSeek API audio input.
  • The one-shot headless CLI has no audio-file flag. Real non-Web audio enters through ACP.
  • ASR needs one transcription credential; agent inference still needs DSH's normal model credential.
Reference · BibTeX

Cite this report

Proteus CITATION.cff
@misc{proteus_dsh_audio_2026,
  author       = {{The Proteus Authors}},
  title        = {DeepSeek Harness Taught Itself to Hear: A Proteus Self-Improvement Report},
  year         = {2026},
  howpublished = {\url{https://proteus-evolve.github.io/dsh-self-improvement.html}},
  note         = {30-Episode trajectory; final snapshot b65f16e0; Proteus v0.2.0}
}

This cites the case report. Use the linked CITATION.cff when citing the Proteus framework itself.