Skip to content

Releases

v0.5.2 — fixes rc.2 native-checkpoint resume across restarts

Choose a tag to compare

@shaomingbo shaomingbo released this 30 Sep 23:04

What changed

  • Fixes the 0.5.1 known issue: continuing a conversation with a committed native checkpoint after a host restart no longer fails with CODEX_RUNTIME_REQUEST_PREPARE on DSH 0.2.0-rc.2.
  • Root cause: the rc.2 host's bundled converter (pi-ai 0.87.1) normalizes the legacy Context.systemPrompt/tools into a leading transcript system message; the owner-bound native runtime keeps its pinned pi-ai 0.84.4 protocol expecting the legacy shape, so the owner request carried empty instructions/tools.
  • The provider adapter restores the canonical initial system message at the owner's streamSimple boundary (src/owner-context.js): instructions, tools, checkpoint and ordering are preserved verbatim; legacy-shaped input passes through unchanged; unsupported rich or mixed transcript shapes fail closed (CODEX_NATIVE_CONTEXT_INCOMPATIBLE).
  • No core patches, no pi-ai version change, no duplicate login; auth/HTTP/codec/catalog ownership stays with the codex-runtime/v1 owner. Version contracts updated together (package 0.5.2, DEFAULT_SOURCE pin, check assertion, README install pins, CHANGELOG).

Verification (tag v0.5.2, commit ac76e59)

  • Full repo check suite: 173 unit + 46 legacy-A + 34 compaction A/B, all passing; npm pack --dry-run --ignore-scripts (35 files) and git diff --check clean.
  • Paired suites against the published owner dsh-token-usage v5.3.1: owner account suite 423 tests / 416 pass / 0 fail / 7 optional skips; cross-plugin integration 51 tests / 50 pass / 0 fail / 1 optional skip; authSdk 0.82.1 / nativeSdk 0.84.4; no real credentials, no live profile.
  • Actual rc.2 Agent harness: create + separate-process resume with a committed native checkpoint — 16 turns, compaction committed, replay passed, 144→154 events, exact DSH system prompt and fixture tool schema preserved in every native request, externalCalls 0.
  • Isolated rc.2 GUI combination acceptance: 7/7 target plugins active, official file/session references and agent/pre-step capture verified; gpt-6.1-sol (owner v5.3.1 verified catalog) serves through the same pinned protocol template with no interaction.
  • Not verified here: real-account wire behavior and production deployment.

v0.5.1 — adds DSH 0.2.0-rc.2 to the tested host matrix

Choose a tag to compare

@shaomingbo shaomingbo released this 30 Sep 11:37

What changed

  • Runtime version guard, installer gate, CLI guidance and help text now accept exactly 0.1.7-alpha.1 or 0.2.0-rc.2 (homogeneous host-package sets), all derived from a single constant (TARGET_DSH_VERSIONS) so they cannot drift.
  • DEFAULT_SOURCE pinned to v0.5.1; installer tests assert the source pin follows the package version, cover the rc.2 launcher, and refuse adjacent unvalidated versions (0.1.7-rc.1, 0.2.0-rc.1, 0.2.0).

Verification (tag v0.5.1, commit 3b45e7a)

  • Full repo check suite (unit, legacy-A, compaction A/B) passes; 168/168 + check green.
  • Live on isolated host 0.2.0-rc.2: install via official dsh plugin add, boot with zero activation failures, Codex Native preset registered, real ChatGPT-account /compact committed a native checkpoint (responses.compaction-trigger.v2 envelope, no error), UI reported "10 history records compacted".

Known issue (0.2.0-rc.2)

After a host restart, continuing a conversation that contains a committed native checkpoint fails during request preparation (CODEX_RUNTIME_REQUEST_PREPARE); fresh sessions and the compaction itself work. Behavior on 0.1.7-alpha.1 for the same flow is unknown (not reproduced there; a same-version control experiment could not rebuild the OAuth session cheaply). Until fixed, avoid relying on native-checkpoint resume across restarts: keep long Codex Native sessions within one host run or use reader-text.

v0.5.0 — 0.1.7-alpha.1 durable native compaction

Choose a tag to compare

@shaomingbo shaomingbo released this 25 Sep 06:18

0.1.7-alpha.1 durable native compaction (isolated verification complete)

Scope: DSH 0.1.7-alpha.1 only. The installer accepts exactly that dsh CLI version.

Highlights

  • Owner Settings catalog projection (dsh-token-usage 5.3.0): models.preview / models.apply bind a catalog revision, Settings revision and preview digest; apply is idempotent and revision-guarded, and rejects malformed/duplicate/unknown targets instead of writing a half list. Sol/Luna use verified Codex facts (contextWindow=272000, maxTokens=128000, text+image; off→none, minimal→low).
  • Codex Native preset default: preset-local nativeDefault (true only on codex-native-b); explicit on/off/reader-text wins; inherit/never-set follow the CURRENT preset. Status reports capability, preset default, session preference, effective mode and carrier readability separately; the global capability flag never carries preference.
  • Deterministic failures: pure-local history/schema precheck runs before any lease, and deterministic bad inputs are fingerprint-blocked instead of riding the transient cooldown (process-local; a restart re-runs the precheck).
  • Preset-scoped efficiency guard (default off, experimental): defers an automatic low-gain native request (net freed <4096 heuristic tokens or <10% of the replaced content, within 60 s, no ≥4096 surface growth) with zero HTTP and a fixed reason. Manual compaction bypasses the efficiency deferral but not the safety checks. No fabricated commit, no hidden retry, no automatic reader-text.
  • Source-aware retention (source-aware-v1, behind the preset's experimental sourceRetention switch, default off): the full request is still sent; only provably duplicated host-generated copies may leave the retained checkpoint copy. Ambiguous same-text sources fall back conservatively; real user content, constraints and unknown items are never dropped; an old owner without the capability marker receives no hints.
  • Observer/history correctness: replacement ranges read from the 0.1.7 surfaceOp/sourceEventSeqs schema; committed requires a source-linked summary → replacement → clean end; comparison-unknown is distinct from failure; V4 tool-role history (top-level tool payloads, durable images) is accepted while legacy V3 wrappers still fail closed.
  • Packaging: host peerDependencies removed (they make npx github:…#tag auto-resolve the whole host tree and hit ERESOLVE); compatibility stays gated by the installer's dsh CLI matrix.

Install

npx --yes --ignore-scripts github:shaomingbo/dsh-codex-compaction#v0.5.0

No arguments means install; the default profile is web. status, uninstall, --profile <name>, --source link:<local-path> and --help are also available.

Verified / not verified

Verified in isolation: packaged candidates, an isolated 0.1.7-alpha.1 host, the paired account snapshot, and the installer's npx github: path. Not verified: real-account calls beyond the recorded small matrix, GUI on a production profile, real-model performance, and production deployment.

v0.4.6

Choose a tag to compare

@shaomingbo shaomingbo released this 24 Sep 09:14

Fix: npx install failed with ERESOLVE. Host packages (@deepseek-ai/cordis, dsh-*) are provided by the DSH profile runtime, not npm peers — the peer declarations made npx auto-resolve the whole host tree (dsh-agent ^0.1.7-alpha.1 resolved to 0.1.7-rc.1, whose cordis ~4.0.4 conflicted with the exact 4.0.3 pin). peerDependencies removed; compatibility stays gated by the installer dsh CLI matrix. Installer default source now derives from the package version.

v0.4.5

Choose a tag to compare

@shaomingbo shaomingbo released this 24 Sep 08:35

Codex compaction: /compact with structured native presets. test:compaction-ab moved out of default check (fixture shape drift, engine unaffected).

dsh-codex-compaction 0.4.3

Choose a tag to compare

@shaomingbo shaomingbo released this 12 Sep 00:59

Allows homogeneous DSH 0.1.5-rc.2 (same session replace ops as rc.1). Mixed rc.1/rc.2 host trees still fail closed.

npx --yes --ignore-scripts github:shaomingbo/dsh-codex-compaction#v0.4.3

dsh-codex-compaction 0.4.2

Choose a tag to compare

@shaomingbo shaomingbo released this 11 Sep 01:52

Session V3 structured compaction reads the current model-visible system prompt from session.surface.nodes (A→B→A tail-clear keeps head A). Installer matrix: exact dsh 0.1.2-alpha.3, 0.1.2-rc.1, and 0.1.5-rc.1. Does not claim 0.1.5-*.

npx --yes --ignore-scripts github:shaomingbo/dsh-codex-compaction#v0.4.2

v0.4.1 long-session native compact stability

Choose a tag to compare

@shaomingbo shaomingbo released this 10 Sep 11:37

Long-session native compact stability on the 0.4.0 line.

  • Sanitize error/aborted compact history only after a supported pi-ai v2 replay envelope, including the lab-route → openai-codex remap.
  • Reject interrupted tool pairing; nested tool-result content is payload, not extra pairing ids.
  • Official Basic still owns shrink/pressure. Owner estimateCheckpoint remains JSON.stringify(items)/4 and is not a verified occupancy oracle.

Commit: 484dd10

Install:
npx --yes --ignore-scripts github:shaomingbo/dsh-codex-compaction#v0.4.1

0.4.0 — Explicit reader-text and compaction benefit

Choose a tag to compare

@shaomingbo shaomingbo released this 10 Sep 00:30

dsh-codex-compaction 0.4.0

Commit: b58f5a83ed1f741195ac433acd551789b11d0933 (annotated tag v0.4.0).
Companion: dsh-token-usage 5.1.5.

  • Explicit, restart-safe /codex-native reader-text uses the same account owner and Basic's complete instruction, including JSON scalar-type fidelity guidance.
  • /codex-context adds bounded metadata-only pressure/benefit observation; no token-meter, history or usage override.
  • Exact CLI support: 0.1.2-alpha.3 and 0.1.2-rc.1; host packages remain pinned to 0.1.2-rc.1.
  • Accept optional corrected SDK stream terminal diagnostics from the companion owner.
  • Basic remains primary, defaults remain off, and no automatic reader-text strategy is enabled. No core patch, duplicate login or lifecycle installation scripts.

Fixed asset

dsh-codex-compaction-0.4.0.tgz
SHA256: 21d24b26614fea57e730f26eb813052e0054638f4c782142f52cf0e531029aef

The asset is the exact previously accepted 28-file candidate. Package JSON values match the source commit; other packaged source files match byte-for-byte. Packaged documentation retains its preparation-stage labels to preserve the accepted content; this release page records distribution status.

Validation and limits

Compaction check (main, legacy A and A/B), pack dry-run, diff checks, isolated owner/pinned-SDK integration, and fixed-asset loader/GUI disk recovery passed. Cross-plugin integration: 32 passed, one optional real-time test skipped. Both actual supported CLIs passed the earlier frozen-asset install/repeat/status/uninstall tests.

A bounded real-model opaque-only fixture recovered seven facts/types after the reader guidance fix. Real cancellation preserved the original carrier and committed no summary. This is not a universal quality guarantee; real account switching was not tested. Reader conversion itself has a token cost; a smaller later request is not an immediate total-cost saving. No extra real-model calls were made for the final diagnostic/distribution delta.

Formal GitHub tag acceptance — passed

Actual npx --yes --ignore-scripts github:shaomingbo/dsh-codex-compaction#v0.4.0 and companion commands passed on both CLI 0.1.2-alpha.3 and 0.1.2-rc.1, with actual Base/Web 0.1.2-rc.1. Each row used a fresh HOME, DSH_HOME, cwd and cache, without a source override or provider credentials.

Install/repeat/status/uninstall, lifecycle blocking and unrelated-profile preservation passed. All 28 consumer / 61 owner packaged files and npx materializations matched the frozen candidates; tags retained the exact expected commits before and after. Real config dump/startup showed all three plugin entries active; the served client combo contained the exact frozen owner client bytes. Both temporary servers and fixture directories were cleaned up.

This verifies actual tag distribution, startup and client asset serving, not a new browser-render/HMR or model-quality test. No sessions or generation were used in this matrix. No production deployment or restart is included.

0.3.3: native checkpoint and image replay repair

Choose a tag to compare

@shaomingbo shaomingbo released this 09 Sep 09:18

0.3.3 — native checkpoints + image replay

Repairs the mixed-history refusal when a conversation contains both native Codex checkpoints and user/tool-result images. Includes the real attachment-policy correction for valid images previously rejected with INVALID_ATTACHMENT_REF.

Changes

  • Resolve images through published DSH PiAiAdapter attachment/access callbacks, with all three image bounds materialized by its public Config schema.
  • Ordinary replay retains native state and images. Mixed histories use one same-owner, compaction-budget reader-text request with the official Basic instruction; Basic retains usage, shrinking, validation and history commit.
  • No checkpoint/owner protocol change, no duplicate authentication, no native-image codec, no reader-failure retry or stock fallback. Unsupported roles/models, missing attachments, malformed carriers and identity mismatches remain fail-closed.
  • Preserve the 0.3.2 setup/idle/total deadline correction. Existing published Accounts 5.1.3 is sufficient; this release does not require the separately developing Accounts governance changes.

中文:修复原生检查点与截图混合历史无法继续运行的问题。真实附件服务回归覆盖有效图片被误拒绝的根因;保留账户绑定、图片预算、失败关闭与官方 Basic 提交边界,不改写旧历史或删除截图。

Installation

Requires the tested DSH CLI and host 0.1.2-rc.1, Node 24 and pnpm. The older PATH CLI 0.1.2-alpha.3 is not supported by this installer. Companion: github:shaomingbo/dsh-token-usage#v5.1.3.

npx --yes --ignore-scripts github:shaomingbo/dsh-codex-compaction#v0.3.3
npx --yes --ignore-scripts github:shaomingbo/dsh-codex-compaction#v0.3.3 status

No arguments means install into profile web. uninstall, --profile, explicit local link: and --help remain available. Installation never restarts the host. A deliberate production switch from a local link to this tag requires a user-performed restart and Web refresh; publishing this release does not perform that switch.

Verified evidence and boundaries

  • 545 passed, 1 skipped: plugin 163 + legacy-A 46 + comparison 34 + exact published account 275 + paired integration 27. The skip is the existing optional 130-second real-time deadline case; virtual-clock deadline cases passed.
  • Companion source is the exact published v5.1.3 commit dddb7f2bd62ddffc24c62916b205796b1c78c5a0, not an unpublished account worktree.
  • Four real temporary LocalAttachmentStore cases, strict image mocks, aggregate-budget negatives, and actual owner/Basic composition tests passed using fake auth/transport. Independent read-only review found no substantiated defect; 26 focused cases passed.
  • Main and tag GitHub CI passed. Local full checks, peer checks, pack dry-run and whitespace gates passed.
  • Fixed-tag npx install/repeat/status/dump/uninstall cycle uses a fresh HOME/DSH_HOME and cache, without booting a server or using real provider credentials. All 26 installed package files match the reviewed release bytes; all declared host peers resolve to their exact tested versions and all three ESM entries load.
  • The load check uses the documented rc.1 launcher peer-preparation API: profiles intentionally disable peer auto-installation, and an unprepared standalone Node import is not equivalent to loading inside DSH. No private loader patch or plugin code change is used.
  • The repaired runtime already passed authorized original-instance ordinary replay with normal completion and zero tool calls. That local-link acceptance is distinct from fixed-tag installation. No additional live mixed Basic compaction or lossless recall is claimed.

Immutable release identity

  • Source base: published v0.3.2, commit 48762d23b83c19fe517d319404ce0007c933e7e9.
  • Tag: v0.3.3, annotated tag object fd186b3b94c0d780631df9878439979211056740.
  • Commit: e78085d (also main at publication).
  • Attached package: dsh-codex-compaction-0.3.3.tgz, 26 files, 61,921 bytes compressed.
  • SHA-256: 4573666b4219c2618b2bcdba27fc1b364b60167f571958b7b23b3272ac874464.
  • npm shasum: 5a9e2c7469129cd6b24824bbadb3a71b12679012.
  • npm integrity: sha512-ZRdG/d2K3MK/jJVzamWCV9755MLrjxZpnwX28CKW0w6C6RXLHEnKRu1DW+cxUP7AuEIPqqobMcAC7CvMkS3lXw==.

Distribution is this fixed GitHub tag/release; no npm-registry publication or catalog approval is implied.