Files
deepseek-harness/docs/persistence-changes/releases/README.md
T
Turtle 03e70034e6 refactor(agent-preset): consolidate creator skills into dsh-doc (#6633)
* feat(release): publish package source, declaration maps, and documentation

Every release member publishes its TypeScript source and the declaration
maps that resolve into it, and @deepseek-ai/dsh publishes the repository
Markdown documentation staged from docs/ at prepack time.

The ./src/* export most members already declared now resolves for an
installed consumer, and a consumer editor follows a declaration to the
implementation. Bundled JavaScript maps stay unpublished; the vendored
family and the Desktop runtime file policy are unchanged.

Rationale: .agents/notes/implemented/process/2026-10-08-published-source-and-docs.md

* feat(release): publish JavaScript maps and compress bundles

Every emitted JavaScript map ships beside the bundle it describes, and the
workspace build and the client preset compress bundles without mangling
identifiers.

The documentation payload now mirrors the website publication manifest and
is removed again by `postpack`; Desktop and the Python executable exclude
the published source, documentation, and maps; `clean` removes a staged
copy. Typert's publication contract gains the Remote declaration map.

* fix(release): keep node bundles readable for the worker image

The browser worker image lowers `yield*` only as a whole statement and
rewrites `for await` loops by their source layout, so compressed node-side
entries either fail that lowering or lower to unparseable code. Only the
browser bundles keep compression, which removes about a third of their text.

The bundle-purity assertion now matches the module-loader call regardless of
the quote style compression picks, and the release-pack fixture exercises
the installed package's new documentation requirement.

* feat(release): publish the whole documentation tree

`@deepseek-ai/dsh` copies `docs/` in full instead of the website's page
set: the maintainer documents, the generated migration records, the
translation guidelines, and the `*.i18n.yaml` consistency records ship
with the installed package, so the documentation's own links resolve
without a checkout.

* feat(release): publish the upgrade guides with the documentation

The staged documentation keeps the website's page set and adds every
`docs/upgrade-guide/` document, which is what an installed reader consults
when a released change breaks something. The rest of the maintainer tree
stays out.

* feat(agent-preset): ship plugin artwork skill with creator mode

* docs(skills): clarify artwork icon lookup and official review steps

* refactor(agent-preset): fold plugin artwork into cordis plugin development

* feat(agent-preset): require detail documents for creator bundles

* test(release): expect source and maps in master's new payload cases

* refactor(agent-preset): consolidate creator skills into dsh-doc

* feat(release): keep installed docs and source readable in Desktop

Desktop keeps the published src/ and docs/ trees inside app.asar, and
every model shell call receives DSH_INSTALL_DIR and DSH_NODE_EXECUTABLE
so an agent can read them through Electron's Node mode. Staging also
generates docs/upgrade-guide/README.md, an index of the upgrade guides
grouped by the release they upgrade from.

Minified client bundles print string literals with backticks: the
worker image packer now recognizes those chunk requests, client license
banners are prepended after minification so their text survives, and
the affected artifact tests accept either quote.

* docs(agent-preset): add dsh-doc install, upgrade, and fallback guidance

* docs(agent-preset): align dsh-doc archive reads and upgrade start versions

* docs(agent-preset): bound dsh-doc upgrade index reads and test documented commands

* test(desktop): read archived docs through the Windows PowerShell form

Regenerate the config catalog for the shifted shell-env source line.

* docs(upgrade-guide): correct dsh-doc session verification step

* test(agent-preset): use a block body for dsh-doc fixture cleanup

* test(desktop): wait for the GUI-subsystem Electron process from PowerShell

* docs(agent-preset): read the running DSH version from the installation

* build(release): publish source and maps from the message-quotes package

* docs(agent-preset): document the verified PowerShell runtime invocation

* docs(agent-preset): keep PowerShell runtime output streams and exit code

* docs(tool-cordis): describe the shipped dsh-doc skill

* docs(skills): load configuration guidance separately

* fix(skills): declare shared template details in every locale

* fix(skills): verify dsh-doc guidance through recorded sessions

* test(skills): retain current runtime reminder in dsh-doc replay

* test(snapshot): refresh terminal panel runtime context
2026-11-05 17:53:22 +08:00

7.0 KiB
Raw Blame History

description
description
Browse Session persistence-type changes across every captured DSH alpha/RC tag and validate the historical snapshots offline.

Persistence changes across DSH prereleases

English | 中文

Summary

This archive provides an approximate historical view of 26 DSH alpha/RC tags and their 25 adjacent transitions. Each release includes a short explanation, source tag, before/after digests, and complete snapshots of changed types for reading and format validation. It does not establish historical runtime compatibility or replace current-source acknowledgements.

Table of Contents


Archived releases

The manifest records every DSH alpha/RC tag captured on 2026-09-12: 16 have release records, and the earliest 10 are tag-only. Entries follow semantic-version order; absent tags are not invented. The first entry establishes the historical starting point, so its change count includes every root.

Tag Source date (UTC) Session version Roots / types Changed roots
dsh-v0.0.1-rc.1 2026-08-10 0 42 / 341 42
dsh-v0.0.1-rc.2 2026-08-11 0 47 / 374 45
dsh-v0.0.1-rc.3 2026-08-12 0 47 / 374 12
dsh-v0.0.1-rc.4 2026-08-12 0 47 / 374 0
dsh-v0.0.1-rc.5 2026-08-12 0 47 / 374 0
dsh-v0.1.0-rc.1 2026-08-13 0 47 / 374 0
dsh-v0.1.0-rc.2 2026-08-13 0 47 / 374 0
dsh-v0.1.0-rc.3 2026-08-13 0 47 / 374 0
dsh-v0.1.0-rc.5 2026-08-13 0 47 / 374 0
dsh-v0.1.0-rc.6 2026-08-13 0 47 / 374 0
dsh-v0.1.0-rc.7 2026-08-17 0 47 / 376 1
dsh-v0.1.0-rc.8 2026-08-19 0 51 / 403 8
dsh-v0.1.1-rc.1 2026-08-21 0 51 / 407 1
dsh-v0.1.1-rc.2 2026-08-21 0 51 / 404 10
dsh-v0.1.2-alpha.1 2026-08-27 0 54 / 417 52
dsh-v0.1.2-alpha.2 2026-08-30 0 54 / 417 52
dsh-v0.1.2-alpha.3 2026-08-31 0 54 / 417 0
dsh-v0.1.2-alpha.4 2026-09-01 0 54 / 415 4
dsh-v0.1.2-alpha.5 2026-09-02 0 54 / 415 0
dsh-v0.1.2-rc.1 2026-09-03 0 54 / 415 0
dsh-v0.1.3-alpha.1 2026-09-04 2 54 / 425 17
dsh-v0.1.3-alpha.2 2026-09-07 2 56 / 435 2
dsh-v0.1.5-alpha.1 2026-09-08 3 57 / 443 12
dsh-v0.1.5-alpha.2 2026-09-09 3 59 / 462 4
dsh-v0.1.5-rc.1 2026-09-10 3 59 / 462 0
dsh-v0.1.5-rc.2 2026-09-10 3 59 / 462 0

Files and scope

Each tag has an English/Chinese record with kind: persistence-release, a pairing sidecar, and .schema.json. Its machine declaration contains the tag, immediate predecessor, observed writer version, and each changed root’s before/after digest. The first snapshot contains every root; later snapshots retain only changed roots that remain present and all their reachable types. Deletions use a null after value; unchanged releases retain empty changes and snapshots.

Snapshots cover the logical Session header, physical JSONL header, event envelope, and every first-party event and transitive reference at that tag. Type counts include only definitions reachable after normalization. Historical source references retain file paths without line numbers.

These retrospective records are validated separately from the current acknowledgement chain in the parent directory. Current-rule classifications of old changes are reading aids: historical version 0 did contain structural changes without version increases. A backfilled record cannot authorize a current PR to omit acknowledgement or a required version increase.

Extraction and limitations

Reconstruction used source at each tag, TypeScript 6.0.3, and the merged schema extractor. The only extraction adaptation omits a redundant object member from intersections of early concrete event records. Existing any / unknown remain opaque; no additional opaque types were substituted for unresolved references. Release schema JSON retains historical identifiers; terminology checks still apply to authored records and current schemas.

The first 22 tags legitimately declare optional surfaceOp on surface events. Historical parsing preserves that optionality; current-source parsing still requires the field. Earlier SessionHeader.version: number declarations also remain intact, with actual writer version constants recorded separately. A broad number declaration cannot supply that constant.

The captured tags use writer versions 0, 2, and 3; no tag uses writer version 1.

Digests describe normalized reconstructed types, not verbatim source text or reproduction of the original toolchain. Summaries provide rough structural context; old applications were not replayed, complete codec behavior was not validated, and migration safety was not proved. An unchanged digest does not establish unchanged behavior.

Verification

All 26 snapshots passed canonical-graph, root-digest, and reachable-type-digest validation. The release-archive check reads only the manifest, records, and snapshots in this tree, without Git, network access, or old-version checkouts; it validates manifest coverage, predecessors, before/after values, snapshot type completeness, and bilingual machine declarations.

pnpm run verify-persistence-releases
pnpm run doc-sync

The marker-delimited index, inventory cells, and structural-change facts are generated from the snapshots. Default verification rejects stale facts. Run pnpm run verify-persistence-releases --write to refresh those regions and pairing records after validating all machine data; authored summaries, source evidence, machine declarations, and schema files are preserved.

Tag completeness is relative to the manifest’s captured scope; offline checks do not discover later tags automatically. Standard documentation checks validate pairing records and Markdown links. The format template defines each record’s fields.

Dev Note

Working context for maintainers — click to expand

None.