U7 two-process acceptance, k6 load harness, cross-instance fixes and release checklist #410

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

协作存储方案 U7(§3/§5/§7)代码与测试部分。任务卡 .task/feature-u7-load-fault-release.md(证据三段入卡,本描述与卡同源摘要)。

交付

  1. 双进程 HTTP 级验收 tests/integration/multi-instance/:两个真实 serve 进程共享隔离 PG,覆盖跨实例读/SSE 传播、同会话 409 不误写、跨实例 HITL resolve(202 via command)、跨实例 cancel、SIGKILL 崩溃(租约内 409 不误抢、死实例不拖累其他会话、原实例重启对账收口恢复)、重启不变量(SSE 从 0 重放 seq 无洞)。CI test-pg job 追加必跑步骤 make test-multi-instance。
  2. 压测入口 tests/load/collaboration/:k6 混合读写阶梯(requestId 幂等重放抽样、预期 409/429 单列、读组 P95≤300ms 阈值)+ Go SSE 可见延迟探针(P95≤1s 断言即退出码)+ run_load.sh 编排(自建隔离 PG 栈 → 引导 → 压测 → 探针 → SQL 不变量对账 → 自动回收)。smoke 已端到端跑通:SSE p95≈17ms、零 seq 重复、零孤儿 run。
  3. backend 修复(PR #164,gitlink 已 pin):双进程验收实测三个跨实例缺陷——HITL resolve 先落卡短路命令总线、cancel 命令空 conversation_id 无法送达、CancelRun 非执行实例假成功 200 吞掉命令路径;均带回归测试。另新增磁盘满维度测试(对象目录失效时明确 5xx、零残留、可恢复)。
  4. 放行前检查单 docs/release-multi-instance.md:A/B/C 三节逐条绑定证据命令与状态;明确双进程/双主机放行门槛未过前不放行。

诚实边界

容量实测窗口(ladder/60min/2h)与双主机验证待用户指定资源时间,本 PR 提供可复核入口不预填容量结论;k6 冒烟曾以临时二进制(v2.3.0)验证后删除;B5 大数据量 seed 与 C2 双实例压测入口列为下一步。

验证

  • make test 组合 exit=0(SELF 入卡)
  • make test-multi-instance 隔离真 PG 5 场景全过(SELF 入卡)
  • run_load.sh --profile smoke exit=0(SELF 入卡)
  • backend PR #164 CI 双档全绿为权威
协作存储方案 U7(§3/§5/§7)代码与测试部分。任务卡 `.task/feature-u7-load-fault-release.md`(证据三段入卡,本描述与卡同源摘要)。 ## 交付 1. **双进程 HTTP 级验收** `tests/integration/multi-instance/`:两个真实 serve 进程共享隔离 PG,覆盖跨实例读/SSE 传播、同会话 409 不误写、跨实例 HITL resolve(202 via command)、跨实例 cancel、SIGKILL 崩溃(租约内 409 不误抢、死实例不拖累其他会话、原实例重启对账收口恢复)、重启不变量(SSE 从 0 重放 seq 无洞)。CI test-pg job 追加必跑步骤 `make test-multi-instance`。 2. **压测入口** `tests/load/collaboration/`:k6 混合读写阶梯(requestId 幂等重放抽样、预期 409/429 单列、读组 P95≤300ms 阈值)+ Go SSE 可见延迟探针(P95≤1s 断言即退出码)+ `run_load.sh` 编排(自建隔离 PG 栈 → 引导 → 压测 → 探针 → SQL 不变量对账 → 自动回收)。smoke 已端到端跑通:SSE p95≈17ms、零 seq 重复、零孤儿 run。 3. **backend 修复**(PR #164,gitlink 已 pin):双进程验收实测三个跨实例缺陷——HITL resolve 先落卡短路命令总线、cancel 命令空 conversation_id 无法送达、CancelRun 非执行实例假成功 200 吞掉命令路径;均带回归测试。另新增磁盘满维度测试(对象目录失效时明确 5xx、零残留、可恢复)。 4. **放行前检查单** `docs/release-multi-instance.md`:A/B/C 三节逐条绑定证据命令与状态;明确双进程/双主机放行门槛未过前不放行。 ## 诚实边界 容量实测窗口(ladder/60min/2h)与双主机验证待用户指定资源时间,本 PR 提供可复核入口不预填容量结论;k6 冒烟曾以临时二进制(v2.3.0)验证后删除;B5 大数据量 seed 与 C2 双实例压测入口列为下一步。 ## 验证 - `make test` 组合 exit=0(SELF 入卡) - `make test-multi-instance` 隔离真 PG 5 场景全过(SELF 入卡) - `run_load.sh --profile smoke` exit=0(SELF 入卡) - backend PR #164 CI 双档全绿为权威
weichen added 9 commits 2026-10-12 02:43:51 +00:00
Why: establish the authorized task workspace and its initial baseline.

Evidence: preserved precheck receipt in .task/feature-u7-load-fault-release.md; R0=c6223724437b8c186d4ef80a20275fab4cf30004.

Impact: task metadata only; the feature workspace starts at c622372443.

Refs: .task/feature-u7-load-fault-release.md
Why: collaboration storage U7 (proposal sections 3/5/7) requires two-process
HTTP-level acceptance over shared PG, a reproducible load-test entry honoring
the load contract, and an auditable pre-release checklist; capacity windows and
dual-host runs need user-scheduled resources, so the deliverable here is the
verifiable entry, not capacity claims.
Evidence: make test green (composite); make test-multi-instance green locally
against an isolated PG (five scenarios incl. crash-takeover and restart
invariants); run_load.sh --profile smoke end-to-end green (SSE probe p95~18ms,
zero seq duplicates, stack auto-recycled); backend pinned to feature branch
with the three cross-instance fixes.
Impact: new tests/integration/multi-instance (CI test-pg job step), new
tests/load/collaboration (k6 + SSE probe + run_load.sh), release checklist at
docs/release-multi-instance.md; no runtime behavior change in Dev repo itself.
Refs: backend PR #164; task card feature/u7-load-fault-release.
Why: include the current integration baseline before verification.

Evidence: fetched origin/main=3f32fdacbc5af91bd9212b2ded69f6559d1d92b2.

Impact: integrate upstream changes without rewriting task history.

Refs: task-sync
Why: bind the task validation checkpoint to the latest integration baseline.

Evidence: SELF recursive component checks; sync_base=3f32fdacbc5af91bd9212b2ded69f6559d1d92b2; candidate=e52abd298e690b39d40ffec0acac6422ddfe6ff7.

Impact: task metadata only.

Refs: .task/feature-u7-load-fault-release.md
Fill U7 task card results and remaining items
ci / test-pg (pull_request) Successful in 1m39s
ci / test (pull_request) Successful in 2m52s
ceee89f9ca
weichen added 4 commits 2026-10-12 03:12:01 +00:00
Why: include the current integration baseline before verification.

Evidence: fetched origin/main=3fa0d3ade8beb6b534c7ffa7505426001c58e284.

Impact: integrate upstream changes without rewriting task history.

Refs: task-sync
Why: bind the task validation checkpoint to the latest integration baseline.

Evidence: SELF recursive component checks; sync_base=37e3229538d64867a6a074020a072da925244fcc; candidate=85d7fcb8f409a21b293697e93638be32c4e7f8f2.

Impact: task metadata only.

Refs: .task/feature-u7-load-fault-release.md
Re-record composite evidence after final sync
ci / test-pg (pull_request) Successful in 2m4s
ci / test (pull_request) Successful in 3m35s
d85a47c5a8
weichen added 3 commits 2026-10-12 03:21:27 +00:00
# Conflicts:
#	modules/backend
Why: bind the task validation checkpoint to the latest integration baseline.

Evidence: SELF recursive component checks; sync_base=37e3229538d64867a6a074020a072da925244fcc; candidate=57ea0d86f037ae5d47301c7d80562967566a09a0.

Impact: task metadata only.

Refs: .task/feature-u7-load-fault-release.md
Re-record composite evidence on merged pin
ci / test-pg (pull_request) Successful in 1m48s
ci / test (pull_request) Successful in 3m32s
94c1cf7a30
weichen added 1 commit 2026-10-12 03:24:04 +00:00
Record green composite evidence (governance flake rerun)
ci / test-pg (pull_request) Successful in 2m15s
ci / test (pull_request) Successful in 3m10s
22cc820e5c
weichen added 2 commits 2026-10-12 03:29:01 +00:00
Why: include the current integration baseline before verification.

Evidence: fetched origin/main=af9c2de663be5ff102dcab7698464a645832f569.

Impact: integrate upstream changes without rewriting task history.

Refs: task-sync
Record the sync checkpoint
ci / test-pg (pull_request) Successful in 2m2s
ci / test (pull_request) Successful in 4m11s
c9f6ebc85a
Why: bind the task validation checkpoint to the latest integration baseline.

Evidence: SELF recursive component checks; sync_base=af9c2de663be5ff102dcab7698464a645832f569; candidate=d41b3ef7b05ffaa5b949acd9f816bc3047939acb.

Impact: task metadata only.

Refs: .task/feature-u7-load-fault-release.md
weichen added 1 commit 2026-10-12 03:42:09 +00:00
Merge authoritative main into the task branch
ci / test-pg (pull_request) Successful in 1m41s
ci / test (pull_request) Successful in 4m1s
6ec36e6a8e
Why: include the current integration baseline before verification.

Evidence: fetched origin/main=b6307db015da4a3718baadb242c52cb66b024f74.

Impact: integrate upstream changes without rewriting task history.

Refs: task-sync

# Conflicts:
#	modules/backend
weichen merged commit 3e4a79e413 into main 2026-10-12 03:47:15 +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-Dev#410