Repository navigation
Releases: lion231226/dsh-verified-progress
Release list
dsh-verified-progress v0.3.1
Verified-progress ledger for long-running DSH work.
v0.3.1 fixes a false-positive that made the plugin unusable in a live desktop session. The mutation guard fingerprinted the whole workspace root, but in the desktop profile that root is the harness home itself — sessions/**, storages/** and plugin state are being written continuously by the session the plugin is running inside. The first two verifications came back workspace mutated (+3 ~5 -3), and every changed path belonged to the harness. The verifier had written nothing. A guard that accuses the verifier of the host's writes fails every round while looking like a conservative verdict.
The fingerprint is now scoped by the caller:
verified_progress_verifytakesguard_scope— a workspace-relative path or glob whose non-glob prefix becomes the snapshot root- the scope must resolve inside the workspace; absolute paths and
..are rejected rather than silently widened - when the workspace is the harness home, a scope is required, and harness-owned roots (
sessions,storages,logs,telemetry,cache,profiles, …) are excluded only at the root, so a real project containing a nestedsessions/is still guarded - the result now prints what was fingerprinted, so a verdict is never ambiguous about its scope
The acceptance probe gained a fourth scenario for exactly this: unrelated churn outside the scope is ignored, while a real edit inside it still trips the guard.
Install: dsh plugin --profile <name> add https://github.com/lion231226/dsh-verified-progress/releases/download/v0.3.1/dsh-verified-progress.tgz, or point a profile patch insert row at the package.
43 tests pass; the acceptance probe passes with its positive control tripped.
dsh-verified-progress v0.3.0 (renamed)
Verified-progress ledger for long-running DSH work, renamed from dsh-longhorizon.
The old name borrowed the upstream project's name and implied a fork relationship that does not exist. This release is the same plugin under a name that states what it does: progress is only recorded once an independent verifier has confirmed it against the workspace.
- package and repository:
dsh-verified-progress - tools:
verified_progress_verify,verified_progress_ledger,verified_progress_state - patch row id:
verified-progress - state directory:
<DSH_HOME>/verified-progress - README.md and lib/core/verdict.js keep crediting AMAP-ML/LongHorizon-Harness for the loop design
Behaviour is unchanged from 0.2.1:
- an independent subagent with a fresh context certifies each claimed step
- files are fingerprinted before and after each verification, so a verifier that changed anything has its verdict voided (
integrity: violation) and the round cannot become progress integrity=violationorcontract!=alignednever leavesstatus=complete- the ledger is append-only, fsync'd per append, torn-tail tolerant, and survives a crash or a new session; rejected rounds stay as evidence
Verified: 38 tests, plus an acceptance probe against the packed artifact whose positive control must trip, plus a real end-to-end run with a real model recorded in docs/e2e-evidence.md.
dsh-longhorizon v0.2.1
Verified-progress ledger for long-running DSH work.
An independent verifier with a fresh context certifies each claimed step against the real workspace. A fingerprint check taken before and after every verification episode voids any verdict whose verifier mutated the workspace. Only a clean, aligned, complete verdict becomes progress; anything else stays in the ledger as evidence.
v0.2.1 fixes two defects that a live run caught:
- VERIFIER_TOOLS listed two tool names that do not exist in the host registry.
tools.restrict()rejects the whole restriction when any name is unknown, so no verifier could start and every round was silently downgraded to incomplete. The list is nowread,glob,grep,read_image, with a test asserting each name exists and that no write-capable tool is ever granted. - The verify output schema was an open object with no properties, so the declared fields never reached the caller. They are declared explicitly now.
Also in 0.2.x: the subagent run is disposed (verification could previously leak the bounded subagent slots), and the plain-object Config export is gone — cordis resolves config through the Standard Schema interface, so that export made the row fail before apply() ran.
Verified: 38 tests pass; the acceptance probe passes against the packed artifact with its positive control tripped; and a real harness run with a real model recorded a COMPLETE round with the verifier's own evidence — see docs/e2e-evidence.md and verify/acceptance-report.json.
dsh-longhorizon v0.2.0
Verified-progress ledger for long-running DSH work.
An independent verifier with a fresh context certifies each claimed step against the real workspace. A fingerprint check taken before and after every verification episode voids any verdict whose verifier mutated the workspace, so a round can never be promoted to progress on the strength of a report that may have been staged.
- independent verification with a non-inheriting subagent provider
- hard downgrade invariant: integrity=violation or contract!=aligned never leaves status=complete
- durable ledger.jsonl (fsync per append, torn-tail tolerant) plus an atomic state projection
- workspace-mutation detection as the ledger's admission rule
v0.2.0 fix: the plugin no longer exports a plain-object Config. Cordis resolves a plugin's config through the Standard Schema interface (Config["~standard"].validate), so the previous export made the row fail with "Cannot read properties of undefined (reading validate)" before apply() ever ran. Verified on a real harness boot: the profile now starts with no activation warning for dsh-longhorizon. The subagent run is also disposed now, so verification cannot leak the bounded subagent slots.
Verified before release: 37 tests pass and the acceptance probe passes against the packed artifact with its positive control tripped - see verify/acceptance-report.json.
dsh-longhorizon v0.1.0
Verified-progress ledger for long-running DSH work.
An independent verifier with a fresh context certifies each claimed step against the real workspace. A fingerprint check taken before and after every verification episode voids any verdict whose verifier mutated the workspace, so a round can never be promoted to progress on the strength of a report that may have been staged.
- independent verification with a non-inheriting subagent provider
- hard downgrade invariant: integrity=violation or contract!=aligned never leaves status=complete
- durable ledger.jsonl (fsync per append, torn-tail tolerant) plus an atomic state projection
- workspace-mutation detection as the ledger's admission rule
Verified before release: 37 tests pass, and tools/acceptance-probe.mjs passes against the packed artifact with its positive control tripped - see verify/acceptance-report.json.