ddfb6573ee8c9965cf3f4ea369539917a7b56bc9
The dsh-llm property-suite bullet claimed the suite checks an ordered-prefix contract (the blocks push() returns incrementally are a prefix of final blocks(), in order) and streaming-vs-one-shot agreement on usage/finish. Both died with flushReady()/flushRemaining()/generate()/streamBlocks(): the ordered-prefix guarantee was provided by that flush pair, and push() never guaranteed it (index 0 opened by a delta then index 1 closed by block-end has push() return block 1 while final blocks() orders [0, 1] — the returned block is not a prefix). Rewrite the bullet to enumerate only what properties.spec.ts actually asserts: blocks() count <= distinct indices, idempotent re-assembly with message().content mirroring blocks(), blocks() never throwing and yielding valid tags, and finish reflecting the last finish chunk (defaulting to stop).
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.
pnpm install
pnpm run test # vitest
pnpm run demo:echo # runnable echo-agent example (no API key needed)
pnpm run 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.
Languages
TypeScript
96.9%
CSS
1.6%
JavaScript
0.7%
Python
0.7%