2nd dokployH
Find a file
Tianyi Cui f1dac1b1ed fix(session-persistence-sqlite): defer crash-tail repair to append; fix all-tail materialized flag; persist schema version (review #35)
- load() no longer DELETEs the crash tail — it stays non-mutating w.r.t.
  the event log and records a repair point (repairFrom). The next append
  runs the DELETE inside its own transaction before inserting. This makes
  the SQLite backend honor the SAME public contract as JSONL (load returns
  the committed prefix; the subsequent append performs the one-time
  physical truncation-repair), instead of mutating during load.

- All-tail load: when the discarded crash tail was the session's only
  committed content (committed.length === 0), the metadata row still read
  materialized = 1 from the prior append, so has()/list() reported a
  session load() had just emptied. load() now flips the row's materialized
  flag to 0 (metadata only — the orphaned event rows are still removed by
  the deferred repair), so has()/list() are immediately consistent.

- Schema version: openDatabase now stores SCHEMA_VERSION in PRAGMA
  user_version on a fresh database and rejects opening one whose
  user_version is newer than this build supports, protecting against a
  future incompatible layout.

Regression tests: load is non-mutating (tail rows survive until the next
append), all-tail load makes has()/list() false, and a newer-schema
database is rejected on open.
2026-06-16 00:05:25 +08:00
.agents/skills/dsh-code-review docs: correct the doc-sync gate claim in the code-review skill (PR1 review) 2026-06-14 23:14:46 +08:00
.claude docs: accuracy sweep, architecture restructure, two ADRs, review skill 2026-06-13 22:05:34 +08:00
.github/workflows feat(session-persistence): abstract seam + JSONL backend + wiring 2026-06-15 21:05:46 +08:00
docs Merge branch 'split/agent-factory' into split/session-persistence-sqlite 2026-06-15 22:14:02 +08:00
examples feat(session-persistence): abstract seam + JSONL backend + wiring 2026-06-15 21:05:46 +08:00
packages fix(session-persistence-sqlite): defer crash-tail repair to append; fix all-tail materialized flag; persist schema version (review #35) 2026-06-16 00:05:25 +08:00
scripts feat(session-persistence-sqlite): second backend validating the abstraction 2026-06-15 21:45:21 +08:00
vendor docs: accuracy sweep, architecture restructure, two ADRs, review skill 2026-06-13 22:05:34 +08:00
.gitignore feat(session-persistence): abstract seam + JSONL backend + wiring 2026-06-15 21:05:46 +08:00
.yarnrc.yml Set up monorepo infra: Yarn 4 workspaces, tsc -b + dumble build, vitest 2026-06-11 10:52:45 +08:00
AGENTS.md docs: sync high-authority docs with the doc-sync gate and dsh-invariants (P1-16) 2026-06-14 23:07:52 +08:00
CLAUDE.md Initialize repo with README, AGENTS.md, and CLAUDE.md symlink 2026-06-10 22:58:56 +08:00
eslint.config.mjs Replace dumble with tsdown for JS bundling 2026-06-11 22:34:43 +08:00
knip.json Add examples/coding-agent and the docs cookbook 2026-06-13 18:30:50 +08:00
lefthook.yml build: run doc-sync gates in the local pre-push hook too 2026-06-14 10:40:20 +08:00
LICENSE Initialize repo with README, AGENTS.md, and CLAUDE.md symlink 2026-06-10 22:58:56 +08:00
package.json build: run doc-sync gates in the local pre-push hook too 2026-06-14 10:40:20 +08:00
README.md docs: split README guidance by audience 2026-06-14 10:50:10 +08:00
tsconfig.base.json feat(session-persistence-sqlite): second backend validating the abstraction 2026-06-15 21:45:21 +08:00
tsconfig.build.json feat(session-persistence-sqlite): second backend validating the abstraction 2026-06-15 21:45:21 +08:00
tsconfig.json Fix CI: order steps by artifact dependency, resolve fresh-clone builds 2026-06-11 23:10:43 +08:00
tsconfig.test.json Set up monorepo infra: Yarn 4 workspaces, tsc -b + dumble build, vitest 2026-06-11 10:52:45 +08:00
tsconfig.typecheck.json feat(session-persistence-sqlite): second backend validating the abstraction 2026-06-15 21:45:21 +08:00
tsdown.config.ts Replace dumble with tsdown for JS bundling 2026-06-11 22:34:43 +08:00
vitest.config.ts Document why vite-tsconfig-paths can't be replaced by resolve.tsconfigPaths 2026-06-11 23:24:41 +08:00
vitest.e2e.config.ts Add examples/coding-agent and the docs cookbook 2026-06-13 18:30:50 +08:00
yarn.config.cjs Add repo hygiene gates: knip, publint, yarn constraints 2026-06-11 15:04:50 +08:00
yarn.lock feat(session-persistence-sqlite): second backend validating the abstraction 2026-06-15 21:45:21 +08:00

DeepSeek Harness

Monorepo for the DeepSeek Harness group.

Projects

  • DeepSeek Code — DeepSeek's coding agent product.

Development

This monorepo is built on the Cordis framework (vendored as source under vendor/), microkernel-style: everything is a plugin.

yarn install
yarn test          # vitest
yarn demo:echo     # runnable echo-agent example (no API key needed)
yarn demo:coding   # the real DeepSeek coding agent (needs DEEPSEEK_API_KEY)

For humans, start with the development guide for local setup, hooks, environment variables, and quality gates, then read the architecture design before package work. Local context lives in packages/ and vendor/.

For agents, follow AGENTS.md.