fix(review): bound idle reviews and pause incompatible Agent Teams - #257
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
摘要 / Summary
Long sessions repeatedly created idle-review children, and the published Agent Teams policy could fail after a review had already committed writes. This change bounds review frequency and attempts, defaults to a bounded spawn checkpoint, pauses the incompatible Team composition before child creation, and shows confirmed receipts when a started review fails.
长会话中的空闲审查现在受频率和次数限制,默认使用有界 spawn 检查点。遇到已发布 Agent Teams 的不兼容策略时,在创建子代理前暂停并说明原因;已开始的审查若在写入后失败,仍明确报告失败并保留回执,不会自动重放。
关联 Issue 或背景 / Related Issue or Context
Closes #100
Closes #255
The #255 fix uses the issue's permitted skip degradation for the affected Team composition. It does not claim to repair the upstream experimental Team policy: published DSH 0.1.5-rc.2 with both Agent Teams 0.1.5-alpha.2 packages fails under both fork and spawn. The service-only control remains supported.
涉及区域 / Affected Areas
PR 类型 / PR Type
最新代码确认 / Latest Codebase Confirmation
main分支开发,或在提交前已 rebase 或合并最新main。 / I developed from the latestmain, or rebased or merged the latestmainbefore submitting.Base
1363ebffaf19c9ab4badf0137f6fe87acacaf989was verified against the remote main ref on 2026-09-16:同步命令 / Sync command:
AI 编码披露 / AI Coding Disclosure
使用的 AI 模型 / AI model used: GPT-6 Astra, max reasoning
使用的编码 Agent 工具 / Coding Agent tool used: Codex desktop
仓库规范检查 / Repository Rules
@deepseek-ai/*NPM 契约。 / I did not modify DSH source or point tsconfig at a DSH source checkout, and used only published@deepseek-ai/*NPM contracts.src/host/protocol.ts为准,没有在两侧重复定义 wire DTO。 / The Client and Host boundary still uses browser-safesrc/host/protocol.tsas the source for wire DTOs.lib/文件。 / I did not commit tokens, credentials, private memory, unredacted logs, or generatedlib/files.兼容性与数据安全 / Compatibility and Data Safety
本地验证 / Local Validation
执行的命令 / Commands run:
结果摘要 / Result summary:
用户可见变更证据 / Local Feature Evidence
The real DSH WebUI used disposable synthetic memory and all three Strategy enhancements. Published Agent Teams before/after evidence shows the original error versus a visible compatibility pause and zero child creation. Final-build checks show two committed receipts after an intentional later model failure, one child after four completed parent turns, a five-second interval with cap 1, and independent disabling with cap raised to 2.
The first partial-failure session used the default five-minute interval; a fresh final-build session separately isolated the cap and disable controls. Both sessions' committed Documents remain in the disposable Profile. Model responses are deterministic loopback fixtures, not evidence of external model quality or production API reliability.
Full commands, package/source revisions, sanitized observations, limits, and screenshots: English evidence / 中文证据.