Contents

v0.3.3: Correct Checkpoint Subagent Usage

View source on GitHub

v0.3.3 is a focused WebUI correctness patch for checkpoint-started subagents. Their catalog rows now report only the provider usage incurred by that child instead of adding the completed parent history inherited by the fork.

Fixed

  • Fork-backed subagents inherit the parent's durable event prefix, while DSH's generic tokenUsage projection intentionally totals the complete log. The official subagent dropdown previously treated that aggregate as child-run usage, so a parent using 8.7K tokens and a child using 7K appeared as 15.7K for the child. Mnemon now owns a descriptor-scoped projection that starts at the latest durable subagent/descriptor, replaces repeated usage samples from the same turn and step, and exposes the resulting value only to the official subagent catalog component. This was delivered through PR #87.
  • The compatibility adapter falls back to the official aggregate for legacy child sessions without a durable descriptor. DSH's kernel, checkpoint and fork behavior, generic complete-log tokenUsage, official UI source, navigation, locale, and styling remain unchanged.

Documentation

  • The English and Chinese README headers now include the live dshfind download count alongside the existing package and repository badges, delivered through PR #82.

Compatibility and upgrade

No Runtime, Document, Memory Space, Provider, configuration, RPC, tool, or persistence format changes require migration. The scoped projection is optional when the DSH projection service is absent, and the client adapter remains inert when the official subagent lineage slot is unavailable.

Update dsh-mnemon, restart each DSH profile that uses it, and reopen the affected parent conversation. Existing session logs do not need rewriting; their scoped value is folded from the durable descriptor on read. Rollback to 0.3.2 requires no data rollback, but the dropdown will again show the inherited complete-log aggregate for checkpoint children.

Verification

  • The complete TypeScript and Vitest chain passes with 492 tests; one Windows-only smoke test is skipped on the local non-Windows run.
  • The deterministic double build verifies 105 generated files with identical hashes.
  • An isolated real Headless profile activates with 35 total tools and five representative Mnemon tools exposed to the model request.
  • The packed package contains 112 files, 371,923 packed bytes, and 1,685,781 unpacked bytes, below the enforced 1,690,000-byte ceiling; all 10 Node-compatible public entries import successfully, and publint strict plus the attw ESM profile pass.
  • A real official Web composition at unmodified DeepSeek Harness commit b150a551b8d465e31e418e1b2eaf5e79bbb7d28e renders the identical seeded checkpoint child as 15.7K tokens before the Mnemon adapter and 7K after it, while the parent retains its own 8.7K complete-log value.
  • git diff --check passes for the release changes.

See the v0.3.2 release notes for the previous Runtime and managed-embedding patch and the v0.3.0 release notes for the composable-memory architecture and frozen benchmark record.