Releases: TLNing260310/dsh-researcher
Release list
v0.8.0-alpha.8 — Windows Canonical-Path Hotfix
v0.8.0-alpha.8 — Windows Canonical-Path Hotfix
Cross-platform repository checks: PASS
Exact release artifact lifecycle: PASS
Goal Governor live E1: NOT RUN
Outcome value / multi-client portability: NOT PROVEN
This append-only hotfix supersedes alpha.7 without rewriting its public tag or evidence. The alpha.7 GitHub Actions matrix passed on Ubuntu but failed one assertion on both Windows Node versions because the runner supplied an 8.3 short temp path while Quickstart persisted the native canonical long path.
- The test now derives its expected identity with
fs.realpathSync.native, exactly like production. - Project-root confinement remains bound to canonical path, filesystem device and inode.
- Safe installer lifecycle, review-first Quickstart and the real-process offline Governor demo are otherwise unchanged from alpha.7.
- The final alpha.8 tarball is built from a clean commit, hash-bound through
package-manifest.jsonandSHA256SUMS, and accepted through isolated dry-run, install, backup, force upgrade, rollback, uninstall, uninstall rollback and packaged Quickstart flows. - No model, remote API or Live E1 execution was used for this hotfix.
The retained failure and artifact evidence are documented in release lifecycle and Windows CI finding. Alpha.7 remains available for audit but is superseded by this release.
v0.8.0-alpha.7 — Safe Trial and Guided Governance
Warning
Superseded by v0.8.0-alpha.8. Alpha.7 is retained for audit because its first Windows CI run exposed a canonical-path test expectation fixed in alpha.8.
v0.8.0-alpha.7 — Safe Trial and Guided Governance
Safe install lifecycle: PASS
Guided review scaffold: PASS
Real-process offline Governor demo: PASS
Local Researcher output probe: FAIL (honestly retained)
Goal Governor live E1: NOT RUN
Outcome value / multi-client portability: NOT PROVEN
This release makes the alpha safer and easier to evaluate without broadening
its product claims.
dsh-researcher install --dry-runperforms compatibility and target
preflight without writing installer-owned paths. Automatic detection may
still start externaldsh --version; use an explicit package binding when
that external process must be avoided.- Exact DSH
0.1.0-rc.7is required by default. Empty rc.7 CLI version output
can be verified through constrained@deepseek-ai/dshpackage metadata;
missing, wrong or untrusted metadata fails closed. backup,uninstallandrollbackpreserve both managed preset states in
content-hashed snapshots. Force upgrades and rollbacks create their own
recovery points.project-cognition quickstartcreates an external review workspace and
removes manual hash transfer. It cannot approve goals, install verifiers or
promote Project Cognition.npm run demostarts two real verifier child processes in an isolated
fixture. Assistant prose and exit code1do not end the goal; only the
matching captured exit code0reachesDONE. DSH envelopes remain an
explicitly simulated offline boundary.- The README now separates the currently trialable Project Research layer from
the experimental Goal Governor value claim.
Two local Project Research probes were also run through DSH Web. Qwen3 14B
reached SAFE but lost the task and misused git_read; local DeepSeek R1 14B
produced an unsupported report and was rejected by the terminal doctor gate.
No successful report is fabricated from these runs. They support runtime-gate
behavior and leave Researcher outcome value unproven.
The Live E1 audit found that the final run still requires a pinned readable
rc.7 module root, capture-only visible-tool evidence, an immutable run lock,
dedicated cost controls and owner input in a real interactive TTY. No Live E1
execution occurred; the readiness audit invoked no model or remote API, and no
synthetic bundle is presented as live evidence. The only model calls in this release cycle were the two local
Ollama Researcher probes above; no remote API or model fee was used.
v0.8.0-alpha.6 — DSH Web installer truth alignment
v0.8.0-alpha.6 — Truthful DSH Web Onboarding
Published Researcher DSH Web smoke: PASS
Installer truth alignment: PASS
Goal Governor live E1: NOT RUN
Outcome value / multi-client portability: NOT PROVEN
The exact alpha.5 GitHub release tarball was installed into a fresh DSH_HOME
and launched from PowerShell through dsh web. It obtained a full SAFE
Researcher Runtime Certificate and rejected a later switch to Workspace Write
before another model response. No model-created file change occurred.
That post-release test found stale installer guidance. Current DSH Web exposes
Read Only with approval=ask; Project Research safely tightens approval to
never and the UI becomes Custom. Alpha.6 corrects Node, PowerShell and bash
installers and adds a consistency test. Runtime code is byte-identical to
alpha.5, so this release is the selected final acceptance version.
npx -y github:TLNing260310/dsh-researcher#v0.8.0-alpha.6 --forceNo remote API or paid model was used. This remains a Researcher runtime smoke,
not protocol-defined Goal Governor E1 or outcome validation.
v0.8.0-alpha.5 — DSH Web Recompose and Terminal Safety
v0.8.0-alpha.5 — DSH Web Recompose and Terminal Safety
Researcher DSH Web smoke: PASS
Goal Governor live E1: NOT RUN
Outcome value / multi-client portability: NOT PROVEN
This release repairs three boundaries found by real local-model DSH Web
testing: post-creation preset attachment, prose-only completion without a
doctor result, and stale SAFE capability after permission drift.
Use Read Only before selecting Project Research. The preset tightens DSH
Web's approval policy from ask to never, attaches refusing write/edit stubs,
and reports Custom in the UI. Writable sandboxes are rejected.
npx -y github:TLNing260310/dsh-researcher#v0.8.0-alpha.5 --forceThe local smoke is intentionally not labeled E1. One local Qwen run produced a
full SAFE runtime certificate but failed the requested project review; local
DeepSeek-R1 failed to call doctor. This release improves runtime reliability,
not demonstrated research outcome value.
The smoke report remains provisional evidence. Canonical Project Cognition is
not automatically promoted by this release; promotion still requires explicit
owner review, seal, install, and deterministic projection regeneration.
v0.8.0-alpha.4 — Fail-Closed Model Cost Admission
v0.8.0-alpha.4 — Fail-Closed Model Cost Admission
E1 infrastructure: READY
Live E1 / DSH re-scan: NOT RUN
Outcome value / multi-client portability: NOT PROVEN
This prerelease makes the user's DeepSeek test-cost rule part of the frozen E1 evidence chain. It performs no DSH installation, live model session or paid API call.
What changed
- The active Goal Governor protocol is frozen as v1.1. v1 was superseded before any live run (
0runs) and remains retrievable by exact alpha.3 tag, commit, blob path, byte length and SHA-256 in the v1 archive record. - Manifest and run-lock schemas freeze
base_url. Remote is exactlyprovider=deepseek-official,model=deepseek-v4-flash,base_url=https://api.deepseek.com; local also fixesprovider=deepseek-officialso the DSH DeepSeek-compatible adapter resolves a no-trailing-slash, explicit-port literal loopback base URL. Unknown routes and route/provider/model/base-URL drift fail closed. - Beijing weekday windows
[09:00,12:00)and[14:00,18:00)reject DeepSeek API. Outside those windows and on weekends, remote E1 remains official-Flash-only at the exact official base URL. Weekends waive only the time blackout, not run lock, budget, cost acknowledgement or route constraints. - Before every child launch, the outer runner creates a frozen settings file with
watch=falseand injects the lockedDEEPSEEK_BASE_URL. The child revalidates the effective URL through DSH's public DeepSeek resolver before create/resume and before and after every model followup. Admission is also recalculated before output, before DSH spawn and in each resumed process; the reserved interval and absolute deadline cap the child runtime. - Evidence bundles preserve admission receipts—including a pre-spawn denial receipt when launch is refused—and bind process start, end and timeout to the absolute deadline. The offline scorer reconstructs successful-run decisions from frozen policy, route, timestamps and budget rather than trusting an
ALLOWlabel. - Historical Phase A protocols, locks, bundles and
evaluation/runtime/eval-headless.mjsare explicitly audit-only and cannot serve as a new model runner.
Upgrade from alpha.3
npx -y github:TLNing260310/dsh-researcher#v0.8.0-alpha.4 --force
--force replaces the two installed preset directories under DSH_HOME; hand edits inside those directories are not preserved. It does not modify repository-local Project Cognition, approved goals or the verifier registry.
Operational boundary
The policy is mechanically enforced by the official repository E1 runner and checked again by the offline scorer. A loopback base URL proves only the adapter's first hop is local; it does not prove the local service avoids proxying to a remote API. The policy also does not establish host-clock or scheduler integrity, OS-wide egress isolation, provider billing identity, cryptographic human identity, honest bundle production or the absence of out-of-band API calls. A real E1 operator should additionally configure trusted time, a dedicated key, provider-side limits and alerts, and process/host egress controls appropriate to the desired assurance.
Reproduce the offline release gate
npm run check
git rev-parse HEAD
npm run release:artifacts -- --out <empty-directory-outside-repo> --expected-version 0.8.0-alpha.4 --expected-revision <full-git-object-id-from-above> --require-clean
Run the artifact command only after the final commit. The offline checks do not install or start DSH and do not call a model or network API.
Evidence boundary
Repository tests, doctor and E1 preflight establish mechanical behavior only. This release did not run DSH, live E1, a model or an API. The candidate still needs the DSH-dependent Gate 0 checks—including successful rc.7 resolution of the frozen remote and local routes—followed by all live E1 trajectories. In particular, the local route is implemented but not yet demonstrated runnable. Outcome value remains gated on the pilot and E2; a second adapter and model × client attribution remain gated beyond that.
v0.8.0-alpha.3 — Auditable Promotion and Stop Discipline
v0.8.0-alpha.3 — Auditable Promotion and Stop Discipline
E1 infrastructure: READY
Live E1 / DSH re-scan: NOT RUN
Outcome value / multi-client portability: NOT PROVEN
This prerelease closes correctness gaps found during the alpha.2 evidence audit. It adds no second adapter and performs no paid or live model run.
What changed
- Canonical state must be sealed.
doctorno longer accepts a.project-cognition/state.jsonwithout a validstate_hash. - The CLI now mechanically supports and guards the artifact transition
draft → diff → seal --out → install; owner review remains an external repository-governance step, not an authenticated CLI event. Install accepts only the sealed artifact, binds the reviewed current hash, requires the exact next revision, and uses best-effort rollback for in-process state/projection write failures.doctordetects active/stale governance locks and a missing or mismatched canonical state/projection pair; it does not enumerate every temp/backup file, perform crash recovery, or claim cross-file power-loss atomicity. - Goal decisions are recomputed from the preceding evidence. A logged terminal label cannot override the reducer; baseline and observation revision labels must stay aligned.
goal status --format markdowngives a shared stopping card: MUST/gate state, attempts remaining, no-progress streak, time/tokens, and a single next action. Terminal cards explicitly say to stop polishing.- Goal approval rejects unknown/superseded invariant references and orphaned local revisions.
- The E1 scorer now distinguishes valid conformance failures from passes. A complete failing bundle is
FAIL_UNDER_TRUSTED_HOST, never a causal PASS. - Raw E1 bundle bytes can receive a cryptographic commitment and an optional external Ed25519 signature. Verification proves that the private key corresponding to the supplied public key signed those bytes; it does not identify the key holder, prove DSH ran, show that the signer is honest, authenticate a TTY user, or establish outcome value.
- The scorer accepts one self-contained bundle directory only; split
--runmanifest and--artifactsroots are rejected. Existing path components for bundle, key, attestation, and output paths must not traverse symlinks or junctions, and evidence files must not be hard-linked. - Release artifacts now include the package tarball,
SHA256SUMS, and a machine-readable package manifest. A--require-cleanbuild computes Git blob object IDs directly from working bytes (allowing only an equivalent CRLF checkout representation of an LF blob), disables replace-object aliases, and reconstructs its source from the verified HEAD blobs in an isolated directory; ignored files, arbitrary clean filters, replace refs, and local package-control files therefore cannot silently alternpm pack. CI runs once per main commit/PR across Windows and Linux at Node22.12.0and current LTS.
Upgrade from alpha.2
npx -y github:TLNing260310/dsh-researcher#v0.8.0-alpha.3 --force
--force replaces the two installed preset directories under DSH_HOME; hand edits inside those preset directories are not preserved. It does not run project-cognition init and does not modify repository-local .project-cognition/state.json, approved goals, or verifier registry. Existing canonical state therefore remains in place. An old editable cognition draft is not installable directly under alpha.3: copy the intended changes into a newly generated unique draft and review the new machine diff before sealing.
Canonical cognition migration
Installing an editable draft directly is intentionally no longer supported:
project-cognition cognition draft --root . --out <unique-review-dir-outside-repo>/state.r<N>.draft.json
project-cognition cognition diff <unique-review-dir-outside-repo>/state.r<N>.draft.json --root .
# owner reviews the exact diff and base.state_hash
project-cognition cognition seal <unique-review-dir-outside-repo>/state.r<N>.draft.json --out <unique-review-dir-outside-repo>/state.r<N>.sealed.json
project-cognition cognition install <unique-review-dir-outside-repo>/state.r<N>.sealed.json --root . --replace --expect-current-hash <reviewed-base-state-hash>
project-cognition doctor .
Each review path must be unique because the CLI refuses overwrite and install does not clean review artifacts. Keep draft/sealed files outside the repository; if policy requires a workspace-local review directory, make it explicitly gitignored. Never place them in .project-cognition/, commit them, or include them in a package. --expect-current-hash prevents stale or concurrent replacement; it is not proof of reviewer identity.
Optional E1 bundle signature
npm run eval:e1:attest -- create --run <bundle> --private-key <external-private.pem> --out <external-attestation.json>
npm run eval:e1:score -- --run <bundle> --attestation <external-attestation.json> --trusted-public-key <external-public.pem>
The key and attestation must stay outside the evidence bundle. The top-level scorer-generated score.json is the only file excluded from the signed commitment.
Reproduce the offline release gate
npm run check
git rev-parse HEAD
npm run release:artifacts -- --out <empty-directory-outside-repo> --expected-version 0.8.0-alpha.3 --expected-revision <full-git-object-id-from-above> --require-clean
Run this only after the final commit. The builder disables Git replace-object aliases, verifies HEAD/index consistency, independently computes each working file's Git blob object ID without invoking clean filters, and permits only exact bytes or the reversible CRLF checkout form of an LF blob. It then reconstructs an isolated source tree directly from the bound HEAD blobs, samples revision and cleanliness again after offline npm pack, validates required/forbidden package entries and npm integrity, and records the source revision plus clean status in the manifest. It writes the tarball, checksums, and manifest; it does not install or start DSH.
Goal boundary limitation
Goal Contract v1 freezes in_scope, out_of_scope, and do_not_touch as semantic strings. The generic Goal Core/DSH runtime does not compile them into a filesystem allowlist or independently detect changed paths. E1 alone has a frozen machine path contract through manifest allowed_changes, enforced by its dedicated runner/scorer. Generic hard path scope remains a schema v2 and adapter-conformance requirement; alpha.3 does not claim it.
Evidence boundary
Repository tests and preflight establish mechanical behavior only. This release did not run DSH or a real model, so the current candidate has not closed the DSH-dependent parts of Gate 0. The next evidence work is to complete those checks and then run live E1 as defined solely by the frozen Goal Governor Evaluation Protocol; pilot, E2, a second adapter, and E3 remain gated behind it.
v0.8.0-alpha.2 — Truth and Evidence Governance
v0.8.0-alpha.2 — Truth and Evidence Governance
This alpha does not add another memory system or client adapter. It makes the existing Project Cognition + Goal Governor prototype say exactly which state is authoritative, how research findings may enter that state, and what evidence must exist before broader product claims or integrations.
E1 infrastructure: READY
Live E1: NOT RUN
Outcome value / multi-client portability: NOT PROVEN
Protocol-defined E1 infrastructure
- A machine-readable manifest freezes the protocol-defined cases, deterministic fixture hashes, DSH
0.1.0-rc.7, expected terminals, allowed paths, equal budgets, invalidity rules and resume/replay semantics. npm run eval:e1:preflightmaterializes each frozen fixture twice in isolated temporary directories, validates the frozen inputs and runs only local fixture verifiers. It performs zero network calls and zero model calls.npm run eval:e1:score -- --run <external-bundle-dir>checks raw host sidecars, call/result uniqueness and order, exact verifier arguments, worktree evidence, external interactive-gate provenance, stage-one seal binding and live/offline replay checkpoints, then writesscore.jsonasPASS,FAILorINVALID. Assistant prose is not evidence. A conforming package is reported asPASS_UNDER_TRUSTED_HOST: the scorer trusts the experiment operator and model-inaccessible bundle root, and does not claim external attestation against a malicious host fabricating an entire self-consistent bundle.npm run eval:e1:live -- ... --ack-live-costis reserved for the next stage. It fails closed unless the exact DSH version, clean committed inputs, external run lock, isolated paths, pinned installed candidate and explicit cost acknowledgement all match; an architecture gate still requires direct interactive TTY input. That establishes the input channel and command linkage, not cryptographic human identity.- The historical locked Phase A runtime is unchanged. No DSH installation, live model session or paid call was performed for this release.
One canonical project truth
.project-cognition/state.jsonis the sole canonical source for project purpose, architecture boundaries, value claims, invariants, decisions and proof order.PROJECT_COGNITION.mdis a deterministic generated projection and must not be edited independently.- The session-log-backed
research-statemechanism is now named the Research Session Ledger. It remains useful for replayable provisional claims and hypotheses, but it is not owner-ratified project truth. - A finding reaches canonical state only through an explicit draft revision, authority/proof/evidence review, owner review, CLI seal/install and regenerated projection.
The full procedure is documented in Project Cognition Governance.
Claims are now independently testable
- V3A — Project Cognition longitudinal value: does persisted, freshness-aware project cognition improve multi-stage maintenance compared with reconstructing context?
- V3B — Goal Governor incremental value: with equal Research handoff content, does host governance reduce false completion, scope drift and correction cost?
The E2 B-versus-C comparison can test V3B. It cannot by itself establish V3A. A-versus-C may be reported only as a whole-stack effect.
Experiment C+ remains causal-invalid for the historical superiority claim. A future valid experiment may create a new claim under a new experiment identity; it cannot rehabilitate or rewrite C+.
Proof order
The governed sequence is now:
Gate 0 → E1 → non-inferential pilot → E2 → second-adapter conformance → E3
The frozen Goal Governor Evaluation Protocol is the sole source for E1's trajectories, run definitions, estimands, thresholds and invalidity rules. The pilot validates measurement readiness but produces no confirmatory outcome claim. A second adapter is deferred until E2 passes; E3 is deferred until that adapter first proves governed capabilities and live conformance.
Doctor is not freshness
project-cognition doctor . verifies schema/hash integrity, deterministic Markdown projection, Goal Contracts and Verifier Registry. It does not recalculate repository evidence or prove that evidence remains fresh. Freshness claims require explicit observed fingerprints via project-cognition cognition freshness.
Compatibility and evidence boundary
- Node.js requirement is consistently documented as
>=22.12.0. - DSH
0.1.0-rc.7remains the only implemented adapter. - Repository mechanical tests and DSH preset discovery remain evidence for implementation behavior, not for long-term maintenance value, live-model terminal reliability or cross-client compatibility.
Verification
npm run check
npm pack --dry-runv0.8.0-alpha.1 — Project Cognition + Goal Governor
v0.8.0-alpha.1 — Project Cognition + Goal Governor
This prerelease turns dsh-researcher from a read-only research preset into an alpha evidence-and-completion-governance layer for DeepSeek Harness.
What is new
- Portable Cognition, Goal and Verifier cores with strict JSON schemas, canonical SHA-256 binding, revisions and deterministic Markdown projection.
- A second DSH preset, Governed Coding, in which the model reports attempts and evidence but the host alone owns terminal goal state.
/researcher <question>for one read-only turn,/researcher on|offfor guarded mode,/researcher goalfor a draft contract, and/researcher runfor an approved contract.- Frozen verifier registry invocations bound to earlier real DSH tool call/result IDs.
- Explicit
ALREADY_SATISFIED,CONTINUE,NEEDS_HUMAN,DONE,BLOCKED,STOPPEDandCANCELLEDdecisions. - Hard attempt and no-progress limits so SHOULD-level polishing cannot run forever.
- A portable
project-cognitionCLI and a self-describing.project-cognition/state.jsonfor this repository.
Trust and evaluation fixes
- Assistant prose no longer counts as completion telemetry.
DON'T BUILDno longer double-counts asBUILD.- Research state imports are strict, bounded and atomic.
- The runtime doctor compares live state with deterministic replay.
- Read tools are confined to the project root, including symlink resolution.
- Experiment C+ is now explicitly
INVALID FOR CAUSAL CLAIM; snapshot leakage cannot be rendered as Researcher superiority.
Verification at release candidate
- 83/83 Node tests pass, including schema-valid public examples and an isolated tarball install/load smoke test.
project-cognition doctor .passes all cognition, projection, contract and registry checks.- Both presets scan as loadable after a temporary DSH
0.1.0-rc.7installation. - Package dry-run contains the portable core, schemas, presets, tests, selected evaluation summaries and documentation.
Not yet proven
This release does not establish long-term maintenance gains, Researcher superiority, live-model terminal reliability, or compatibility with Codex, Claude Code, Kiro, Zed or OpenClaw. The next evidence gate is the preregistered live DSH and three-arm maintenance protocol in goal-governor-evaluation-protocol.md.
Install
npx -y github:TLNing260310/dsh-researcher#v0.8.0-alpha.1Node.js >=22.12 and DeepSeek Harness 0.1.0-rc.7 are the verified environment.