Harden cross-instance HITL/cancel command paths and add disk-full rejection tests (U7) #164

Merged
weichen merged 2 commits from feature/u7-load-fault-release into main 2026-10-12 03:09:03 +00:00
Owner

协作存储 U7(方案 §5/§7):

  • 修复双进程验收实测的三个跨实例缺陷:
    1. ResolveHITL 非执行实例先落卡状态,短路 server 层命令 fallback(执行者永远等不到答案)——改为本地无句柄即返回未决错误,命令总线转交。
    2. 跨实例 cancel 命令 conversation_id 传空串,消费侧执行权 JOIN 永远无法匹配——回填真实值。
    3. CancelRun 在非执行实例返回 nil 假成功,HTTP 200 吞掉命令路径——跨实例判定前置。
  • 新增回归:TestCrossInstanceResolveDoesNotSettleCard(真库门控)。
  • 新增 U7 故障矩阵「磁盘满」维度测试:上传/工件覆写在对象目录失效时明确 5xx、零 DB/对象残留、恢复后可写。

Why/Evidence/Impact 详见提交信息;测试 SQLite 与真 PG 双档全绿。配套 Dev 侧双进程验收与压测入口见 Agent-System-Dev 任务卡 feature/u7-load-fault-release。

协作存储 U7(方案 §5/§7): - 修复双进程验收实测的三个跨实例缺陷: 1. `ResolveHITL` 非执行实例先落卡状态,短路 server 层命令 fallback(执行者永远等不到答案)——改为本地无句柄即返回未决错误,命令总线转交。 2. 跨实例 cancel 命令 `conversation_id` 传空串,消费侧执行权 JOIN 永远无法匹配——回填真实值。 3. `CancelRun` 在非执行实例返回 nil 假成功,HTTP 200 吞掉命令路径——跨实例判定前置。 - 新增回归:`TestCrossInstanceResolveDoesNotSettleCard`(真库门控)。 - 新增 U7 故障矩阵「磁盘满」维度测试:上传/工件覆写在对象目录失效时明确 5xx、零 DB/对象残留、恢复后可写。 Why/Evidence/Impact 详见提交信息;测试 SQLite 与真 PG 双档全绿。配套 Dev 侧双进程验收与压测入口见 Agent-System-Dev 任务卡 feature/u7-load-fault-release。
weichen added 1 commit 2026-10-12 02:29:06 +00:00
Why: two-process HTTP acceptance (Dev tests/integration/multi-instance, added in
the matching Dev-side change) exposed three real cross-instance defects that the
U5 library-level tests bypassed via direct Manager calls, plus the U7 fault
matrix needs explicit disk-full rejection evidence.
Evidence: go test ./... green on SQLite and real PG (AGENT_PG_TEST_DSN);
new regressions TestCrossInstanceResolveDoesNotSettleCard (runmgr, PG-gated),
TestUploadRejectsCleanlyWhenObjectDirUnwritable and
TestArtifactOverwriteRejectsCleanlyWhenObjectDirUnwritable (server).
Impact: ResolveHITL no longer settles the card when the run executes on another
instance (command-bus fallback stays available); cancelRun enqueues the command
with the real conversation id and no longer reports a false local success;
object-store failures now provably leave zero DB/object residue.
Refs: collaboration storage proposal U7 (sections 3/5/7); task card
feature/u7-load-fault-release.
weichen added 1 commit 2026-10-12 03:07:51 +00:00
weichen merged commit 9ec9f9a010 into main 2026-10-12 03:09:03 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: weichen/Agent-System-Backend#164