mirror of
https://github.com/deepseek-ai/deepseek-harness
synced 2026-08-15 21:04:50 +00:00
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).