deepseek-harness/packages/core/agent-loop/tests
Turtle bec6805d6a refactor(session-persistence)!: handle-based seam with a lifecycle-owned write path
The persistence seam is now create/open/stat/list returning per-session
SessionHandles (read/append/flush/close); every log read and write flows
through the owning handle. The seam package exports only the service and
handle contracts, consumer-visible errors, and pure durable-data
validation helpers; each backend owns its complete storage runtime, and
the shared contract suites pin equivalent observable behavior. The
backend routes published sessions' live events by id into the active
write handle; agent-loop only acquires, seeds, and closes the handle.
Resume appends interruptedTurnClosers through its write handle;
session-query owns the revision-keyed cold cache. Legacy-only surfaces
are removed in the same swap: locate/readRaw/supportsRawArtifacts, the
legacy event-shape read migration, zstd torn-frame salvage,
DSH_SESSION_JSONL, and hook transcript_path population; a torn final
zstd frame is discarded whole; the session-list cold blank probe returns
on stat metadata (eventCount derived from the last physical row,
sizeBytes). The WebUI ZIP export serializes the logical log from a read
handle, so both backends export identically.

Refs #3245
2026-09-01 23:19:02 +08:00
..
agent-initiator.spec.ts refactor(session-persistence)!: handle-based seam with a lifecycle-owned write path 2026-09-01 23:19:02 +08:00
agent.spec.ts refactor(session-persistence)!: handle-based seam with a lifecycle-owned write path 2026-09-01 23:19:02 +08:00
cancel.spec.ts refactor(session-persistence)!: handle-based seam with a lifecycle-owned write path 2026-09-01 23:19:02 +08:00
config-session-id.spec.ts refactor(session-persistence)!: handle-based seam with a lifecycle-owned write path 2026-09-01 23:19:02 +08:00
contract-regressions.spec.ts refactor(session-persistence)!: handle-based seam with a lifecycle-owned write path 2026-09-01 23:19:02 +08:00
coverage-edges.spec.ts refactor(session-persistence)!: handle-based seam with a lifecycle-owned write path 2026-09-01 23:19:02 +08:00
interception.spec.ts refactor(session-persistence)!: handle-based seam with a lifecycle-owned write path 2026-09-01 23:19:02 +08:00
invariant.spec.ts refactor: apply repository naming contract 2026-08-13 00:54:38 +08:00
loop.spec.ts refactor(session-persistence)!: handle-based seam with a lifecycle-owned write path 2026-09-01 23:19:02 +08:00
mock-adapter.ts refactor(llm): rename CallId to ToolCallId 2026-08-21 16:10:24 +08:00
properties.spec.ts refactor(session-persistence)!: handle-based seam with a lifecycle-owned write path 2026-09-01 23:19:02 +08:00
request-cache.e2e.ts refactor(session-persistence)!: handle-based seam with a lifecycle-owned write path 2026-09-01 23:19:02 +08:00
request-error.spec.ts refactor(session-persistence)!: handle-based seam with a lifecycle-owned write path 2026-09-01 23:19:02 +08:00
request-reconstruction.spec.ts refactor(session-persistence)!: handle-based seam with a lifecycle-owned write path 2026-09-01 23:19:02 +08:00
resume.spec.ts refactor(session-persistence)!: handle-based seam with a lifecycle-owned write path 2026-09-01 23:19:02 +08:00
runtime-context.spec.ts build(vendor): rescope the vendored Cordis packages into @deepseek-ai 2026-08-10 22:04:13 +08:00
scope-lifecycle.spec.ts refactor(session-persistence)!: handle-based seam with a lifecycle-owned write path 2026-09-01 23:19:02 +08:00
settings.spec.ts refactor(session): migrate host state reads to projections 2026-08-19 13:57:58 +08:00
shutdown-drain.spec.ts refactor(session-persistence)!: handle-based seam with a lifecycle-owned write path 2026-09-01 23:19:02 +08:00
tool-calls.spec.ts refactor(session-persistence)!: handle-based seam with a lifecycle-owned write path 2026-09-01 23:19:02 +08:00
tool-order.spec.ts refactor(session-persistence)!: handle-based seam with a lifecycle-owned write path 2026-09-01 23:19:02 +08:00