Skip to content

feat: support DSH 0.2 persistence handles - #1

Merged
mattheliu merged 1 commit into
mainfrom
codex/session-teleport-dsh-0.2
Sep 28, 2026
Merged

mattheliu merged 1 commit into
mainfrom
codex/session-teleport-dsh-0.2

Conversation

@mattheliu

@mattheliu mattheliu commented Sep 28, 2026 •

Copy link
Copy Markdown
Member

DSH 0.2.0-rc.1 removes the coordinator and ID-addressed persistence API used by the current plugin. This updates Session Teleport to the published create/open → SessionHandle contract and pins its development baseline to DSH 0.2.0-rc.1 / Cordis 4.0.4.

  • Implement read/write handles, live SessionStore routing, durability barriers, teardown, local OS writer locks, typed ownership errors, and exact-batch retries after response loss. Background failures retain their batch and pause automatic retries until an explicit flush succeeds.
  • Preserve fork inheritedEventCount across storage and export/import, and support empty session materialization/import/rollback. Schema 5 adds the inherited boundary without rewriting stored events. Upgrade the authority service and adapter together; a readiness check refuses older services. The adapter refuses retired session formats rather than silently relabeling them as format 4.
  • Update the public dependency closure, profile lifecycle checks, migration guidance, committed build output, and CI. A new CI job boots the official DSH CLI, runs PostgreSQL 17 recovery/migration checks, and verifies profile install/cutover/uninstall.

Validation on macOS with Node 24:

  • pnpm check with the official DSH CLI: 57 passed, 6 PostgreSQL-only tests skipped; includes strict type checks, build, release artifact checks, actual loader/capture probes, and a real JSONL fork export/import/restore.
  • Local packaged-profile install, default/cutover composition, binary/adapter loading, and uninstall: passed.
  • pnpm audit --prod: no vulnerabilities. pnpm pack:check: passed (90 files, no local npm config).
  • Linux CI: both jobs passed. The integration job passed all 8 tests against the official DSH CLI and PostgreSQL 17, plus packaged-profile install/cutover/uninstall. Combined with the default suite, all 63 distinct tests have passed.

The two-commit lifecycle probe using old 0.6.0-rc.2 as the starting version stopped at the new DSH compatibility guard: DSH 0.2 correctly refuses that old plugin before installation and restores the disposable profile. No version exemption was enabled. The completed package/loader checks validate the new candidate; cross-runtime upgrades from an already installed RC.6 profile still need their own acceptance run.

Physical multi-host/WAN, database failover, and Windows operation remain outside this validation; this PR does not certify those release gates.

@mattheliu
mattheliu merged commit 43d4100 into main Sep 28, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant