1052326311 / dsh-goal-quiescence

已收录

Completion evidence gate for DeepSeek Harness goal-mode subagents

main工具 查看源代码

安装

npx -y @deepseek-ai/dsh plugin --profile web add github:1052326311/dsh-goal-quiescence

此安装命令根据 GitHub 仓库地址生成,是未经验证的安装起点。

README

维护者编写的文档快照。

在 GitHub 查看 ↗
提交版本 660fff2同步于 2026年8月18日

dsh-goal-quiescence

Do not complete a Harness goal while observed subagent evidence is still running or has not been explicitly returned to the goal agent.

dsh-goal-quiescence is a community plugin for DeepSeek Harness. It addresses the goal-mode failure reported in DeepSeek Harness Discussion #284: a parent can call update_goal(action=complete) while background reviewers are still running, after which their result can arrive too late to affect the completed goal.

What it enforces

For every subagent run observed after the plugin has loaded under an active goal, the plugin records the public subagent/start and subagent/end lifecycle pair. It then denies update_goal(action=complete) until:

  1. Every observed child run has settled.
  2. The goal agent calls goal_quiescence_ack for every settled run. That tool returns the run's terminal assistant output as its own tool result, making the evidence visible in the parent agent's current context.

goal_quiescence_status gives a bounded list of the runs that still block completion. The plugin does not schedule, cancel, or retry children, and it does not replace Harness goal mode.

Install

pnpm install
pnpm pack
dsh plugin --profile web add ./dsh-goal-quiescence-<version>.tgz

The bundled patch enables the plugin. It requires the normal Harness goal, subagent, and tools services provided by the Web profile.

Completion flow

  1. Work normally in goal mode and delegate background reviews as needed.
  2. If goal completion is denied, call goal_quiescence_status.
  3. Wait for each running run to settle.
  4. Call goal_quiescence_ack with each returned runId; inspect the terminal output it returns.
  5. Resolve any reported finding, then call update_goal(action=complete).

Guarantees and boundaries

The gate is a process-local lifecycle policy. It covers runs that begin after the plugin is loaded and completion attempts made through the model-facing update_goal tool. The policy deliberately does not claim to be an atomic core transaction: direct service calls, a process restart, or a child that began before plugin activation are outside its observable boundary. A core lifecycle permit would be needed for an end-to-end atomic guarantee.

Within that boundary, acknowledgement is not a metadata checkbox: the acknowledgement tool returns the saved terminal output into the parent agent's tool context before it releases completion. This prevents the specific "settled but unseen" state from being treated as complete.

Verification

The integration test mounts the real Harness ToolRuntime, GoalService, and SubagentRuntime. It starts a real runtime lifecycle through a deferred provider, proves completion is denied while the child is running, proves it is still denied after settlement but before acknowledgement, verifies the child output reaches the acknowledgement tool result, and finally completes the unchanged goal revision.

pnpm test
pnpm check

项目文件与信号

以下项目是目录快照中检测到的公开仓库信号。

测试已检测

仓库信息

开发语言
TypeScript
许可证
MIT
最新发布
v0.1.0
最后更新
2026年8月14日 20:00

谨慎安装

请检查源代码、权限、生命周期脚本、依赖与网络访问;不受信任的插件应先在隔离环境中测试。