* 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
7.0 KiB
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.