Repository navigation
Conversation
Recheck dead-owner turns against native terminal status, keep delayed end handlers within their own session epoch, and only settle reuse evidence actually queued. Continue reading the completion handshake after stdout capture reaches its limit.
Keep verified report payloads in the injection ledger after a local queue failure. Retry using the original check evidence and leave unverified injections out of delivery.
Forward the supplied record after native terminal confirmation and handle a missing status reader. Give a dead owner a bounded grace for terminal metadata and omit any stale worktree. Isolated model declarations default to an empty environment.
Keep the cross-shell calibration regression already landed upstream in EvoMap#55.
Require an explicit regular ZCode CLI bundle for background completion. Install through CLI plugin directories, and exercise the package without a Desktop installation.
Package a local marketplace and discover the Desktop-bundled CLI only when no explicit standalone CLI path is configured.
|
Sentinel 已审核此变更,并发现 2 个已核验问题。 无法定位到 diff 的已核验问题绑定模型配置读取时绕过了声明的环境变量覆盖🟠 严重程度:中(P2) Finding: closeInputOn 抛错会逃逸 Promise 并成为未捕获异常🟠 严重程度:中(P2) Finding: 当前为 另有 10 个需要人工确认的风险;黄色 advisory 不阻塞合并,建议开发 agent review advisory 评论并逐条确认。 审核覆盖提示: 开发 agent 查询详情: 调用 MCP 工具 由 Sentinel 审核 · 目标提交 d6d9127486da |
|
Sentinel 保留了 10 个尚未确认的审核候选。这些黄色条目不阻塞合并;红色 P0/P1 与其他独立硬门禁不受影响。 单一猜测、缺少变更行证据或纯 checklist 的候选会统一降为 P3。
需要完整证据时,可用行末 由 Sentinel 审核 · 目标提交 d6d9127486da |
Copying the index advances its mtime, which can make Git trust a cached stat entry for a same-size edit. Use the source index timestamp rounded down before adding untracked entries. A deterministic regression checks both diff parts and the untouched source index. (cherry picked from commit bbd7c68)
|
Sentinel 已审核此变更,并发现 3 个已核验问题。 无法定位到 diff 的已核验问题确认完成模式下读取终态记录失败会永久丢失该轮处理🟠 严重程度:中(P2) Finding: 当前为 另有 12 个需要人工确认的风险;黄色 advisory 不阻塞合并,建议开发 agent review advisory 评论并逐条确认。 审核覆盖提示: 开发 agent 查询详情: 调用 MCP 工具 由 Sentinel 审核 · 目标提交 1faff1639d9f |
|
Sentinel 保留了 12 个尚未确认的审核候选。这些黄色条目不阻塞合并;红色 P0/P1 与其他独立硬门禁不受影响。 单一猜测、缺少变更行证据或纯 checklist 的候选会统一降为 P3。
需要完整证据时,可用行末 由 Sentinel 审核 · 目标提交 1faff1639d9f |
| export async function turnEnded(ports, { sessionId, turnId, reason, answer = '', model = null, projectDir, recordOf = null, source = OBSERVED }) { | ||
| const opened = await closeTurn(ports, sessionId, turnId); | ||
| export async function turnEnded(ports, { sessionId, turnId, reason, answer = '', model = null, projectDir, recordOf = null, source = OBSERVED, expectedTurn }) { | ||
| const opened = await closeTurn(ports, sessionId, turnId, expectedTurn); |
There was a problem hiding this comment.
终态记录读取失败后提前结算,重投无法恢复
🟠 严重程度:中(P2)
turnEnded 先通过 closeTurn 关闭 open turn,随后才在 recordTurn 中读取宿主记录;读取异常时,finally 仍调用 settledSession。同一终态事件重投后已找不到 open turn,而新增的 confirmTurnCompletion 分支直接返回 null,禁用了原有 rejudgeWorkTurn 补偿路径。
Finding:finding_150213f6cd70a7087748bc8f
| const opened = await closeTurn(ports, sessionId, turnId, expectedTurn); | ||
| if (!opened) { | ||
| if (!(turnId && recordOf && source === OBSERVED)) return null; | ||
| if (ports.confirmTurnCompletion || !(turnId && recordOf && source === OBSERVED)) return null; |
There was a problem hiding this comment.
终态记录读取失败后 turn 被永久结算,重试无法补偿
🟠 严重程度:中(P2)
closeTurn 在读取宿主终态记录前先关闭 turn;若 recordOf 抛错,finally 仍将该 turn 标记 settled。之后重试时已找不到 open turn,而新增的 confirmTurnCompletion 分支直接返回 null,不会执行原有 rejudgeWorkTurn 补偿,也不会再次读取终态记录。
Finding:finding_7709a85b775177a249bb4ec4
Reopen only the current confirmed turn when evidence reads fail before any reports or candidate writes. Release uncommitted JSONL claims for immediate recovery on redelivery.
|
Sentinel 已审核此变更,未发现已核验问题,但发现需要人工确认的风险。 另有 22 个需要人工确认的风险;黄色 advisory 不阻塞合并,建议开发 agent review advisory 评论并逐条确认。 审核覆盖提示: 开发 agent 查询详情: 调用 MCP 工具 由 Sentinel 审核 · 目标提交 f18bfe591c30 |
|
Sentinel 保留了 22 个尚未确认的审核候选。这些黄色条目不阻塞合并;红色 P0/P1 与其他独立硬门禁不受影响。 单一猜测、缺少变更行证据或纯 checklist 的候选会统一降为 P3。
另有 开发 agent 查询详情: 调用 MCP 工具 由 Sentinel 审核 · 目标提交 f18bfe591c30 |
|
Sentinel 已审核此变更,并发现 1 个已核验问题。 另有 16 个需要人工确认的风险;黄色 advisory 不阻塞合并,建议开发 agent review advisory 评论并逐条确认。 审核覆盖提示: 开发 agent 查询详情: 调用 MCP 工具 由 Sentinel 审核 · 目标提交 977fc4355b3a |
|
Sentinel 保留了 16 个尚未确认的审核候选。这些黄色条目不阻塞合并;红色 P0/P1 与其他独立硬门禁不受影响。 单一猜测、缺少变更行证据或纯 checklist 的候选会统一降为 P3。
需要完整证据时,可用行末 由 Sentinel 审核 · 目标提交 977fc4355b3a |
| await turnEnded(ports, { sessionId, reason: openTurnReason, projectDir, recordOf: () => NOTHING_DONE }); | ||
| const ending = sessionOf(await ports.sessions.read(sessionId)); | ||
| const due = unreportedOf(ending, sessionId, Infinity); | ||
| const pending = ports.confirmTurnCompletion ? pendingReportsOf(ending, sessionId) : null; |
There was a problem hiding this comment.
确认模式关闭会话时丢弃旧格式的未报告资产
🟠 严重程度:中(P2)
pendingReportsOf() 只返回带 pendingReport 的资产。确认模式下其返回值即使是空数组也为真,因此不会回退到 unreportedOf();随后代码仍调用 endedSession()。旧 ledger 中没有 pendingReport 的未报告资产会留在已关闭 session 内,且确认模式同时禁用了启动时的 queueOrphanReports() 补偿。
Finding:finding_065eeec6c2da6f546353dbc9
Summary
Extend the Windows ZCode CLI adapter to Desktop. Depends on #54. Desktop-only diff
The Desktop bundle includes a local marketplace with the stamped plugin version. When
ZCODE_CLI_PATHis unset, the adapter discovers the CLI in the standard Windows Desktop install. An invalid explicit path blocks completion. The draft targets upstreammainfor CI. The Desktop-only comparison isolates the ten changed files while the CLI base is under review.Evidence
Merge Danger
Two-way. The Desktop layer adds the local marketplace and a runtime discovery path to the existing ZCode package. Keep this draft stacked on #54 until the CLI base has landed.