Add B5 load seed and C2 dual-instance load entry #439

Merged
weichen merged 11 commits from feature/u7-b5-c2-load into main 2026-10-12 05:51:55 +00:00
Owner

Summary

  • B5: tests/load/collaboration/seed/ (tiny/contract) via PG COPY for messages/events/knowledge; run_load.sh --seed.
  • C2: run_load.sh --instances 2 with shared DSN/artifacts, k6 BASE_URLS, dual SSE probes; port B default 18982.
  • Checklist B5/C2 → ⏳; clear must_change for terminal load passwords (U4 gate); exec-based serve PID cleanup.
  • Pin backend to origin/main tip that already includes storage-migrate login_keys (unblocks make test).

Test plan

  • make test (evidence on card)
  • run_load.sh --seed tiny --instances 2 --skip-k6 (SSE A/B PASS, dup_seq=0)
  • Formal ladder/60min/2h windows (user-scheduled; out of scope)
  • brew install k6 then smoke without --skip-k6

Refs

  • docs/release-multi-instance.md
  • modules/documents/.../2026-10-11-collaboration-storage-and-distribution.md §3/§5 U7
## Summary - B5: `tests/load/collaboration/seed/` (tiny/contract) via PG COPY for messages/events/knowledge; `run_load.sh --seed`. - C2: `run_load.sh --instances 2` with shared DSN/artifacts, k6 `BASE_URLS`, dual SSE probes; port B default 18982. - Checklist B5/C2 → ⏳; clear `must_change` for terminal load passwords (U4 gate); exec-based serve PID cleanup. - Pin backend to origin/main tip that already includes storage-migrate `login_keys` (unblocks `make test`). ## Test plan - [x] `make test` (evidence on card) - [x] `run_load.sh --seed tiny --instances 2 --skip-k6` (SSE A/B PASS, dup_seq=0) - [ ] Formal ladder/60min/2h windows (user-scheduled; out of scope) - [ ] `brew install k6` then smoke without `--skip-k6` ## Refs - docs/release-multi-instance.md - modules/documents/.../2026-10-11-collaboration-storage-and-distribution.md §3/§5 U7
weichen added 10 commits 2026-10-12 05:47:29 +00:00
Why: establish the authorized task workspace and its initial baseline.

Evidence: preserved precheck receipt in .task/feature-u7-b5-c2-load.md; R0=b431777c9fa9c74f096d7f14fce40d1beba53fe2.

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

Refs: .task/feature-u7-b5-c2-load.md
Why: U7 release checklist B5/C2 needed volume seed and dual-serve load wiring before capacity windows.
Evidence: tiny single/dual smoke (skip-k6) SSE p95≈4ms, dup_seq=0; seed COPY 1k msgs/chunks in ~30ms.
Impact: run_load.sh --seed/--instances; docs/release-multi-instance B5/C2 → ready; no backend product change.
Refs: docs/proposals/2026-10-11-collaboration-storage-and-distribution.md §3/§5 U7; docs/release-multi-instance.md
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: include the current integration baseline before verification.

Evidence: fetched origin/main=673e687c5c85b9af3ce13ca30845d5e68de5dfa0.

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=673e687c5c85b9af3ce13ca30845d5e68de5dfa0; candidate=875a72b8afb2f0eb9516f3415c12dc682da7e809.

Impact: task metadata only.

Refs: .task/feature-u7-b5-c2-load.md
Why: origin/main backend broke make test after v26 login_keys without migrator list update.
Evidence: go test ./cmd/storage-migrate -run TestCopyOrderCoversAllFixtureTables (exit 0) on 741b5b0.
Impact: Dev combination gate unblocked; pairs with backend PR #175.
Refs: modules/backend@741b5b0; backend PR #175
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: background subshell PID was recorded instead of serve, so cleanup left orphans that stole ports and broke the next smoke.
Evidence: prior dual evidence failed with bind address already in use + probe 401 against stale instance.
Impact: trap kill now terminates the real serve process.
Refs: tests/load/collaboration/run_load.sh
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: backend U4 password gate returns 403 on business APIs until must_change clears; CLI-created load passwords are terminal.
Evidence: dual smoke failed POST /api/projects 403 after login_keys pin.
Impact: load suite works on schema v26+; EXIT trap disables re-entry and waits for serve.
Refs: server enforcePasswordGate; CreateAccount must_change
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: Completion gate requires evidence tool rows for the dual tiny smoke that validates B5/C2 wiring.
Evidence: CMD=run_load.sh --seed tiny --instances 2 --skip-k6 (SSE A/B PASS, dup_seq=0).
Impact: Task card evidence table updated (SELF).
Refs: .task/feature-u7-b5-c2-load.md
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Record make test evidence after backend pin sync
ci / test-pg (pull_request) Successful in 1m30s
ci / test (pull_request) Successful in 3m23s
68da191316
Why: Completion gate requires SELF evidence on the post-sync HEAD.
Evidence: CMD=make test exit=0 on backend@dcc180d.
Impact: Task card evidence table updated.
Refs: .task/feature-u7-b5-c2-load.md
Co-authored-by: Cursor <cursoragent@cursor.com>
weichen added 1 commit 2026-10-12 05:48:06 +00:00
Link Dev PR #439 on the B5/C2 task card
ci / test-pg (pull_request) Successful in 1m38s
ci / test (pull_request) Successful in 3m33s
79826855e8
Why: Task card main record must point at the delivery PR before review.
Evidence: Gitea PR https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-Dev/pulls/439
Impact: Card status remains in progress pending merge.
Refs: .task/feature-u7-b5-c2-load.md
Co-authored-by: Cursor <cursoragent@cursor.com>
weichen merged commit dec25692c2 into main 2026-10-12 05:51:55 +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#439