Commit Graph
2634 Commits
Author SHA1 Message Date
weichenandCursor 120a47def2 Record the combined test evidence
Why: The drill, handbook, and Documents pin need a combined test result before review.
Evidence: make test exit 0 via make evidence (SELF). CI on the pull request remains the GATE.
Impact: Local suite passed, including worktree, Python, frontend, UI, and agent-command checks.
Refs: feature/u7-ops-drills
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-12 15:58:06 +00:00
weichenandCursor 9ab5a33ae4 Pin Documents to the U7 ops drill report
Why: The drill report and storage plan r2.2 are on Documents main, and this repo still pointed at the previous pin.
Evidence: Documents PR https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-Documents/pulls/90 merged as f76cce9 (SELF API merge, no CI statuses on that repo).
Impact: The gitlink moves from 3cc6438 to f76cce9. Second-instance writes stay closed.
Refs: feature/u7-ops-drills
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-12 15:53:22 +00:00
weichenandCursor 6101e8c330 Document the B6, C4, and C5 drill results
Why: The measured backup, PITR, and disconnect steps were only in the drill scripts, and the checklist still said those rows were not run.
Evidence: Results pgbench-20261012-131948, fault-20261012-142734, and backup-20261012-153441 (SELF). K4 stays failed.
Impact: Second-instance write traffic stays closed. The handbook records the upload panic and the short socket path.
Refs: feature/u7-ops-drills
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-12 15:45:43 +00:00
weichenandCursor ee24620b59 Record the C5 backup drill verdict
Why: The timed drill finished with a verdict for every criterion, including the upload failure.
Evidence: make evidence exit 1 because K4 failed; results tests/ops/results/backup-20261012-153441 (SELF). K1-K3 and K5-K7 passed. RPO 64s, RTO 4s.
Impact: Physical backup, WAL replay, and pg_dump restore are measured. Artifact upload panics when S3 is unset, so K4 is FAIL and product code was not changed.
Refs: feature/u7-ops-drills
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-12 15:43:54 +00:00
weichenandCursor 7925746926 Record another load gate pause before the C5 rerun
Why: The backup drill again refused to create an instance because the 1-minute load average was 18.23.
Evidence: make evidence exit 3, receipt on the task card (SELF).
Impact: No PostgreSQL instance was created.
Refs: feature/u7-ops-drills
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-12 15:31:29 +00:00
weichenandCursor 4534e8cd0d Record the C5 run that stopped after a successful restore
Why: The restored server promoted and the smoke check passed, then the drill stopped while reading artifact ids.
Evidence: make evidence exit 1, results tests/ops/results/backup-20261012-151951 (SELF). rto_s=3, smoke login/projects/conversation 200.
Impact: The instance was cleaned up. The next run records a full verdict, including a failed upload check.
Refs: feature/u7-ops-drills
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-12 15:28:37 +00:00
weichenandCursor 1e4ba22faf Keep the backup drill going when uploads produce no artifact id
Why: A missing artifact id aborted the drill before recovery counts, the settle window, and the logical restore.
Evidence: backup-20261012-151951 reached promoted=1 and smoke 200, then StopIteration on an empty id (SELF). bash -n passed.
Impact: K4 stays failed when uploads do not return an id. The rest of the verdict is still written.
Refs: feature/u7-ops-drills
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-12 15:28:37 +00:00
weichenandCursor e3e441d95f Record the C5 restore start failure
Why: pg_ctl could not start the restored server, so the drill exited before a verdict.
Evidence: make evidence exit 1, results tests/ops/results/backup-20261012-150713 (SELF). The log says the Unix socket path is too long.
Impact: Cleanup removed the instance. The rerun uses a short socket path.
Refs: feature/u7-ops-drills
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-12 15:17:20 +00:00
weichenandCursor 205b30e24d Put the restored PostgreSQL socket on a short path
Why: The restored postmaster refused to start because the results-directory socket path exceeded the 107-byte Unix socket limit.
Evidence: restore/postgres.log from backup-20261012-150713 says the socket path is too long (SELF). bash -n passed.
Impact: The restored instance listens on /tmp/u7bk-18997, and cleanup removes that directory.
Refs: feature/u7-ops-drills
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-12 15:17:20 +00:00
weichenandCursor 32ba231b04 Record the load gate pause before the C5 drill
Why: The backup drill refused to create an instance because the 1-minute load average was 17.72.
Evidence: make evidence exit 3, receipt on the task card (SELF).
Impact: No PostgreSQL instance was created. The rerun waits until load is at or below 16.
Refs: feature/u7-ops-drills
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-12 15:04:49 +00:00
weichenandCursor 0f0ea0e2a1 Mark the task increment as the C5 backup drill
Why: C4 evidence is recorded, and the next measured run is the backup and PITR drill.
Evidence: The increment line is the only change.
Impact: No runtime change.
Refs: feature/u7-ops-drills
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-12 14:57:48 +00:00
weichenandCursor 19bc78d6c0 Add the C5 backup and PITR drill
Why: The checklist had no measured restore path for a physical backup, WAL archive, or pg_dump onto a new target.
Evidence: bash -n, go test in tests/ops/drill_driver, and run_backup_drill.sh --self-check passed locally (SELF). The timed run is recorded separately.
Impact: Isolated u7bk only. Upload responses keep artifactId so the restore check can download the same objects.
Refs: feature/u7-ops-drills
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-12 14:55:48 +00:00
weichenandCursor 3240697b49 Record the C4 disconnect drill evidence
Why: The corrected probe measured bounded failures, sub-second recovery without restarting the apps, and Redis shared limits across both instances.
Evidence: make evidence exit 0, results tests/ops/results/fault-20261012-142734 (SELF). F1-F5 and G1-G3 passed. G4 and G5 are the expected findings.
Impact: C4 is SELF on this host. Second-instance write traffic stays closed.
Refs: feature/u7-ops-drills
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-12 14:48:07 +00:00
weichenandCursor 308f33665e Record the load gate pause before the C4 rerun
Why: The corrected drill refused to create an instance because the 1-minute load average was 16.98.
Evidence: make evidence exit 3, receipt on the task card (SELF).
Impact: No PostgreSQL instance was created. The rerun waits until load is at or below 16.
Refs: feature/u7-ops-drills
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-12 14:22:37 +00:00
weichenandCursor bd023b8dd4 Record the blocked C4 attempt and the I2 increment
Why: A second evidence run found port 18991 still held by the in-flight drill and exited before creating an instance.
Evidence: make evidence exit 2, receipt on the task card (SELF).
Impact: Nothing was created. The in-flight drill was stopped so the corrected probe can run.
Refs: feature/u7-ops-drills
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-12 14:20:13 +00:00
weichenandCursor de6eb084e5 Measure C4 recovery on fresh conversations
Why: The first pg-stop window counted an in-flight 200 at shutdown, and five writes on the timeline conversation returned 409 while a mock run held it. That measured the probe, not a proven database failure.
Evidence: go test ./... in tests/ops/drill_driver passed locally (SELF).
Impact: The outage clock starts 2s after stop or kill. RTO is five writes on new conversations. Idempotency replays only the window and retries 409 for up to 2 minutes. The Redis phase no longer uses local outside a function.
Refs: feature/u7-ops-drills
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-12 14:20:13 +00:00
weichenandCursor 4c2e326c03 Add the C4 disconnect drill for PostgreSQL and Redis
Why: The release checklist cannot mark disconnect recovery until an isolated drill records bounded failures, no SQLite fallback, and idempotent writes.
Evidence: bash -n passed, drill_driver go test passed, unknown arguments exit 2. The timed drill is recorded next.
Impact: New drill entry only. No product change and no release decision.
Refs: docs/release-multi-instance.md C4
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-12 13:33:45 +00:00
weichenandCursor d7f8e711ee Add the isolated ops harness for disconnect and backup drills
Why: C4 and C5 need a shared way to start, refuse, and tear down stacks without touching production ports or processes.
Evidence: tests/ops/self_check.sh passed (help, unknown arg, foreign name, production port, busy port, SIGINT cleanup). drill_driver go test passed.
Impact: New tests/ops library and HTTP driver. No drill result and no release-gate change yet.
Refs: docs/release-multi-instance.md C4 C5
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-12 13:29:44 +00:00
weichenandCursor 86b0925610 Record the B6 pgbench baseline evidence
Why: The database-only baseline is usable only with the command, object SHA, and full output kept on the task card.
Evidence: CMD=tests/load/collaboration/run_pgbench.sh make evidence exit 0 at b2e129a (SELF). Six windows, zero failed transactions. An earlier parse failure and a load-gate pause stay on the card.
Impact: Evidence only. Checklist B6 is not flipped until the drill report and checklist edit land. Second-instance writes stay closed.
Refs: docs/release-multi-instance.md B6
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-12 13:26:19 +00:00
weichenandCursor b2e129ab3f Check host load before creating the pgbench instance
Why: A timed window that starts under load average above 16 is not a usable baseline, and creating the instance first only to pause wastes a startup.
Evidence: The rerun at load 24.03 exited 3 before any timed window and removed the instance.
Impact: The pause now happens before initdb. No change to the benchmark itself.
Refs: docs/release-multi-instance.md B6
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-12 13:19:40 +00:00
weichenandCursor 5f8de0fc55 Fix pgbench latency samples so summaries exclude the text log
Why: The percentile reader also opened the pgbench stdout file, so the first run exited 1 after six successful windows.
Evidence: Parser check on results/pgbench-20261012-131229 select-only-10 gave p50 0.018 ms, matching the reported average. The timed rerun is recorded next.
Impact: Percentile parsing only. The six windows themselves had zero failed transactions.
Refs: docs/release-multi-instance.md B6
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-12 13:19:11 +00:00
weichenandCursor a64afe05e3 Add an isolated pgbench entry for the U7 database baseline
Why: Checklist B6 needs a repeatable database-only baseline that cannot reach production ports or instances.
Evidence: run_pgbench.sh --self-check passed (help, unknown arg, foreign name, busy port, SIGINT cleanup). Timed runs are recorded separately.
Impact: New load-test entry and README note. No product or release-gate change.
Refs: docs/release-multi-instance.md B6
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-12 13:12:23 +00:00
weichenandCursor 4632a40770 Record U7 ops drill authorization and requirements
Why: Continuous delivery needs the approved scope, stop conditions, and B6/C4/C5 acceptance on the task card before any drill runs.
Evidence: Precheck receipt imported at task-start (SELF, R0 8ebf502146); plan approved by the user on 2026-10-12.
Impact: Records authorization only. No drill, product, or release-gate change.
Refs: docs/release-multi-instance.md B6/C4/C5
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-12 13:07:37 +00:00
weichen 0f5e4128f1 Record the task card for feature-u7-ops-drills
Why: establish the authorized task workspace and its initial baseline.

Evidence: preserved precheck receipt in .task/feature-u7-ops-drills.md; R0=8ebf5021468a1301ccbe2fe0568508e16d8bb708.

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

Refs: .task/feature-u7-ops-drills.md
2026-10-12 13:05:15 +00:00
weichen 8ebf502146 Merge pull request 'Close merged task cards (feature/card-close-20261012-124924Z)' (#473) from feature/card-close-20261012-124924Z into main
ci / test-pg (push) Successful in 1m49s
ci / test (push) Successful in 3m25s
2026-10-12 12:49:38 +00:00
weichen 8a324eb963 Close 1 merged task card(s) and archive them
ci / test-pg (pull_request) Successful in 1m38s
ci / test (pull_request) Successful in 3m23s
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-pin-backend-read-consumption.md(PR#470) — merges verified via git log --merges against origin/main.
Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
2026-10-12 12:49:24 +00:00
weichen 6a44736f03 Merge pull request 'Pin backend to EXT-8b read-path consumption' (#470) from feature/pin-backend-read-consumption into main
ci / test-pg (push) Successful in 1m42s
ci / test (push) Successful in 3m28s
2026-10-12 12:48:42 +00:00
weichen 6ca06ee423 Record task-sync evidence
ci / test-pg (pull_request) Successful in 1m36s
ci / test (pull_request) Successful in 3m11s
2026-10-12 12:45:03 +00:00
weichen c477d09f0a Record the sync checkpoint
Why: bind the task validation checkpoint to the latest integration baseline.

Evidence: SELF recursive component checks; sync_base=ac1de9c4c44a74b6a20a76ef3d948b492db84c39; candidate=d7ac7242edf4783a8ad96c08fe8b363c7669ccb1.

Impact: task metadata only.

Refs: .task/feature-pin-backend-read-consumption.md
2026-10-12 12:45:02 +00:00
weichen d7ac7242ed Merge authoritative main into the task branch
Why: include the current integration baseline before verification.

Evidence: fetched origin/main=ac1de9c4c44a74b6a20a76ef3d948b492db84c39.

Impact: integrate upstream changes without rewriting task history.

Refs: task-sync
2026-10-12 12:44:41 +00:00
weichen ac1de9c4c4 Merge pull request 'Record U7 capacity merge SHA and green retest receipt' (#472) from feature/u7-capacity-close-note into main
ci / test-pg (push) Successful in 1m43s
ci / test (push) Successful in 3m9s
2026-10-12 12:44:39 +00:00
weichen 5595420b5f Record combo test evidence after merge pin 2026-10-12 12:44:38 +00:00
weichenandCursor abc83e1b19 Record U7 capacity merge SHA and green retest receipt
ci / test-pg (pull_request) Successful in 1m39s
ci / test (pull_request) Successful in 3m15s
Why: Archived card still said merge/cleanup NOT_RUN, and the green
make-test retry landed on the feature branch after PR #468 merged.
Evidence: merge 1325824 CI push jobs success; receipt from 30a5421.
Impact: Close record matches merged facts; SELF capacity still not a release.
Refs: Dev #468; Documents #83 #86

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-12 12:40:57 +00:00
weichen 65cd7e06b1 Resolve backend pin to merge of EXT-8b and fast-slow lines
ci / test-pg (pull_request) Successful in 1m46s
ci / test (pull_request) Successful in 3m22s
Why: origin/main 已并行推进 backend pin 至 4d48aba(fast-slow 线);本任务 EXT-8b 线 830fea3 与其为 5e8ada7 后的兄弟分支——直接指 830fea3 会回退他人已合入内容(memory: dev pin 丢内容教训)。
Evidence: merge/ext8b-fastslow=8e50977(Backend 仓,build+runmgr/server/extension 三套件绿);组合验证见任务卡。
Impact: gitlink 指两线合并;不回退任何已合入提交。
2026-10-12 12:36:26 +00:00
weichen 6e96c16af7 Record merge-pin combo test
ci / test-pg (pull_request) Successful in 1m49s
ci / test (pull_request) Successful in 3m28s
2026-10-12 12:35:36 +00:00
weichen f977f36351 Merge remote-tracking branch 'origin/main' into feature/pin-backend-read-consumption
# Conflicts:
#	modules/backend
2026-10-12 12:35:34 +00:00
weichen d8a269ab2f Merge pull request 'Close 2 merged task card(s) and archive them' (#449) from feature/card-close-20261012-070807Z into main
ci / test-pg (push) Successful in 2m6s
ci / test (push) Successful in 3m52s
Reviewed-on: https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-Dev/pulls/449
2026-10-12 12:26:32 +00:00
weichenandCursor c59379a8e7 Merge authoritative main into the task branch
ci / test-pg (pull_request) Failing after 2m0s
ci / test (pull_request) Successful in 3m58s
Why: resolve archive card conflict after u7 card already landed on main.
Evidence: took main .task/archive/feature-u7-capacity-wrap-measure.md; kept audit-combo archive.
Impact: #449 only archives remaining audit-combo debt if needed.
Refs: Dev #449
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-12 12:25:33 +00:00
weichen 9bbb72bd63 Merge pull request 'Add accounts help topic and pin durability plan docs' (#469) from feature/svc-account-durability-plan into main
ci / test-pg (push) Successful in 2m10s
ci / test (push) Successful in 4m10s
Reviewed-on: https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-Dev/pulls/469
2026-10-12 12:24:14 +00:00
weichen 132582473d Merge pull request 'Record U7 capacity SELF window and pin documents r2.1' (#468) from feature/u7-capacity-wrap-measure into main
ci / test-pg (push) Successful in 1m55s
ci / test (push) Successful in 4m11s
Reviewed-on: https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-Dev/pulls/468
2026-10-12 12:24:08 +00:00
weichen 85fedb803b Merge pull request 'Pin Core Backend UI Frontend for fast-slow display U1' (#452) from feature/fast-slow-display-u1 into main
ci / test-pg (push) Successful in 1m50s
ci / test (push) Successful in 4m5s
Reviewed-on: https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-Dev/pulls/452
2026-10-12 12:23:56 +00:00
weichen 51aaed780d Record task-sync evidence
ci / test-pg (pull_request) Successful in 1m39s
ci / test (pull_request) Successful in 3m12s
2026-10-12 12:23:32 +00:00
weichen de244263fd Record the sync checkpoint
Why: bind the task validation checkpoint to the latest integration baseline.

Evidence: SELF recursive component checks; sync_base=1dece88ab0eb6bbeab0ddfb4c7c57c2a7752d248; candidate=5405ff7155c3eb6fd6637215def74a29676f67fd.

Impact: task metadata only.

Refs: .task/feature-pin-backend-read-consumption.md
2026-10-12 12:23:31 +00:00
weichen 5405ff7155 Record combo test evidence 2026-10-12 12:22:59 +00:00
weichenandCursor 549a38835f Refresh make test evidence after main merge
ci / test-pg (pull_request) Successful in 1m51s
ci / test (pull_request) Successful in 4m2s
Why: PR head changed after resolving documents/frontend sync merge.
Evidence: CMD=make test make evidence (SELF, exit 0).
Impact: PR #468 head carries current combo verification.
Refs: Dev #468
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-12 12:21:28 +00:00
weichenandCursor 011c9d6aba Merge authoritative main into the task branch
ci / test-pg (pull_request) Successful in 2m1s
ci / test (pull_request) Successful in 3m56s
Why: resolve modules/documents gitlink conflict against updated main.
Evidence: Documents origin/main=3cc64380 (includes #84/#87).
Impact: pin modules/documents to Documents main tip.
Refs: #469
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-12 12:20:57 +00:00
weichenandCursor 7ae8423465 Merge authoritative main into the task branch
ci / test-pg (pull_request) Successful in 2m10s
ci / test (pull_request) Successful in 3m52s
Why: resolve modules/documents gitlink conflict against updated main.
Evidence: Documents origin/main=3cc64380 (includes #84/#87).
Impact: pin modules/documents to Documents main tip.
Refs: #452
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-12 12:20:41 +00:00
weichen 0529e53b00 Pin backend to EXT-8b read-path consumption
Why: Backend PR #179 合入六处读面资源级咨询(EXT-8b),Dev 组合消费。
Evidence: modules/backend bbe9773→830fea3(Merge #179);组合验证见任务卡 make test 证据行。
Impact: 仅 gitlink。
Refs: Agent-System-Backend#179
2026-10-12 12:20:02 +00:00
weichen 310cdf4d01 Record the task card for feature-pin-backend-read-consumption
Why: establish the authorized task workspace and its initial baseline.

Evidence: preserved precheck receipt in .task/feature-pin-backend-read-consumption.md; R0=1dece88ab0eb6bbeab0ddfb4c7c57c2a7752d248.

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

Refs: .task/feature-pin-backend-read-consumption.md
2026-10-12 12:20:01 +00:00
weichenandCursor 8d8679d5db Merge authoritative main into capacity wrap branch
ci / test-pg (pull_request) Successful in 1m58s
ci / test (pull_request) Successful in 3m52s
Why: Restore mergeability for PR #468 after main advanced; keep
Documents pin that includes capacity report r2.1 (3cc6438).
Evidence: documents contains 2026-10-12-u7-capacity-window-report.md.
Impact: PR can merge onto current main.
Refs: Dev #468; Documents #86/#87

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-12 12:19:35 +00:00