[Research preview] dsh-subagent-contract — durable cross-session subagent canary #5136
ArmyWas
started this conversation in
Show Your Plugins!
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Summary
I built dsh-subagent-contract, an independent post-run verifier for durable DeepSeek Harness subagent behavior:
https://github.com/ArmyWas/dsh-subagent-contract
中文摘要:这个项目不评估“最终回答看起来是否正确”,而是重新读取父、子会话的原始持久化日志,验证跨会话关系是否真实成立。目前是 research preview,已经用
@deepseek-ai/dsh-sdk-client@0.1.2-alpha.2跑通真实四场景,并保留了可复核的结构化证据和 fail-closed 边界。Why this gap matters
A parent can return plausible text while the durable multi-agent record is wrong: a child may have the wrong parent/depth, a rejected admission may leave an unaccounted session, a follow-up may land in a replacement conversation, or a report/settlement notice may be attributed to the wrong child.
Merged tool counts and LLM scoring cannot prove these properties. The verifier therefore reopens every parent/child log and checks seven cross-session contracts:
Duplicate check / scope boundary
This is intentionally narrower than existing work:
dsh-evalowns YAML benchmark execution, isolation, aggregation, and run comparison;dsh-eval-harnessowns plugin-regression execution and session-log decoding;This project adds a post-process, cross-session contract layer over durable headers, descriptors, parent tool results, continuation messages, reports, and settlement notices. It does not introduce another benchmark DSL or LLM judge.
Current evidence
On Windows, the fixed four-case matrix against
@deepseek-ai/dsh-sdk-client@0.1.2-alpha.2produced:The checked-in summary binds the artifact to the exact runner, lifecycle observer, retry policy, environment policy, dependency lockfile, and three overlays. It is explicitly labeled self-attested local verification, not a third-party signature. Raw prompts, responses, session ids, paths, and credentials are not committed.
The fail-closed behavior was also exercised during hardening. Separate local runs were rejected when a parent sent an extra FIFO message or started a duplicate report child. Those failures were not retried or presented as passes. Only an exclusive
S00_SCENARIO_NOT_EXERCISEDmay retry; a lifecycle, permission, trace, token, cleanup, compatibility, or contract failure stops the matrix.Reproducibility and limits
Research preview release:
https://github.com/ArmyWas/dsh-subagent-contract/releases/tag/v0.1.0-preview.1
Questions for maintainers
I would be happy to adapt the matrix or contribute the narrow checks upstream if maintainers prefer a different ownership boundary.
All reactions