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: include the current integration baseline before verification.
Evidence: fetched origin/main=3fa0d3ade8beb6b534c7ffa7505426001c58e284.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=af9c2de663be5ff102dcab7698464a645832f569.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
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 main2026-10-12 03:47:15 +00:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
协作存储方案 U7(§3/§5/§7)代码与测试部分。任务卡
.task/feature-u7-load-fault-release.md(证据三段入卡,本描述与卡同源摘要)。交付
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。tests/load/collaboration/:k6 混合读写阶梯(requestId 幂等重放抽样、预期 409/429 单列、读组 P95≤300ms 阈值)+ Go SSE 可见延迟探针(P95≤1s 断言即退出码)+run_load.sh编排(自建隔离 PG 栈 → 引导 → 压测 → 探针 → SQL 不变量对账 → 自动回收)。smoke 已端到端跑通:SSE p95≈17ms、零 seq 重复、零孤儿 run。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 smokeexit=0(SELF 入卡)