Why: include the current integration baseline before verification.
Evidence: fetched origin/main=171f0545c41f65f78a6afda60a76fea21abc44a4.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: branches merged into their immediate or root target had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-project-access-lifecycle.md(PR#634 into main) — merges verified via git log --merges plus Gitea API squash lookup against each card's origin target.
Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
Why: close the task card inside its own PR so landing it needs no post-merge backfill or separate close PR.
Evidence: .task/fix-backend-repin-resolve-hitl.md -> .task/archive/fix-backend-repin-resolve-hitl.md; status 已完成(合入前闭合); PR #674https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-Dev/pulls/674.
Impact: task metadata only; the card is archived within PR #674 and lands with its merge commit.
Refs: task.sh close --self
Why: decision D1 (user ruling A1 on whether the role-cap layer is covered by
R3's carve-out) was written into an RDM test comment as "Decision A1" without
ever being recorded anywhere in the repo, so a later review round found it
cited but unverifiable. D2-D4 are not new choices either: they follow directly
from the plan's U2 archive clause, R6, and the standing platform-cap domain
rule, and now have a written home.
Evidence: RDM review rounds 1-4 in this branch's worktree.
Impact: task card only.
Refs: RDM feature/project-access-lifecycle-u4-work-states-merge
Why: Backend main now contains the fix for the run-status write-ordering
race in Manager.ResolveHITL (PR #237, merge f084d10); the Dev repo's
modules/backend pin still pointed at the pre-fix SHA, which is why the
multi-instance acceptance test was flaky under load.
Evidence:
/tmp/repin-maketest5-20261021.json: make test green with the new pin
/tmp/repin-modules-evidence2-20261021.json: backend update + state recorded
/tmp/multi-instance-with-be-fix-20261021.json: 96-load reproduction passes (17s)
/tmp/be-runhitl-impl-r2-20261021.json: Backend transport (pi, success, 789f67f)
/tmp/be-runhitl-impl-r1-20261021.json: scope-expansion (r2 expansion granted)
/tmp/be-triage-runhitl-20261021.json: triage NEW
/tmp/multi-instance-loaded-20261021.json: red reproduction (same SHA on pre-fix)
/tmp/multi-instance-heavy-20261021.json: red reproduction under 96-load
/tmp/ci-success-testpg.log: healthy CI 22.4s measurement
Impact: a single gitlink bump (241e1b3 -> f084d10). No Dev-side source change.
Behaviour change: U7 TestTwoInstancesOverSharedPG no longer flakes under CI load.
Refs: Backend PR #237; Dev task fix/backend-repin-resolve-hitl
Why: close the task card inside its own PR so landing it needs no post-merge backfill or separate close PR.
Evidence: .task/feature-fast-slow-o2-a01-p5-record.md -> .task/archive/feature-fast-slow-o2-a01-p5-record.md; status 已完成(合入前闭合); PR #673https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-Dev/pulls/673.
Impact: task metadata only; the card is archived within PR #673 and lands with its merge commit.
Refs: task.sh close --self
Why: The P5 paid rerun passed and the milestone evidence belongs in the repo.
Evidence: p5-run-receipt.json (c5aa4819787fe926); TestWorkCheckpoints PASS; 23565 tokens under the 45000 guard.
Impact: Task card only.
Refs: Backend #236; Dev #672
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-fast-slow-o2-a01-p5-record.md; R0=0289bbeabbaedcab8afcd25422be002843df9971.
Impact: task metadata only; the feature workspace starts at 0289bbeabb.
Refs: .task/feature-fast-slow-o2-a01-p5-record.md
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/fix-backend-repin-resolve-hitl.md; R0=0289bbeabbaedcab8afcd25422be002843df9971.
Impact: task metadata only; the feature workspace starts at 0289bbeabb.
Refs: .task/fix-backend-repin-resolve-hitl.md
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=19d9ac73826a5287af3df2478be846a22f5b1e6a.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: close the task card inside its own PR so landing it needs no post-merge backfill or separate close PR.
Evidence: .task/feature-fast-slow-o2-a01-final-budget.md -> .task/archive/feature-fast-slow-o2-a01-final-budget.md; status 已完成(合入前闭合); PR #672https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-Dev/pulls/672.
Impact: task metadata only; the card is archived within PR #672 and lands with its merge commit.
Refs: task.sh close --self
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=8f59b135ec27fc04e432583d70e1e1d0d6f25ea8.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: close the task card inside its own PR so landing it needs no post-merge backfill or separate close PR.
Evidence: .task/fix-guard-test-blindspot-coverage.md -> .task/archive/fix-guard-test-blindspot-coverage.md; status 已完成(合入前闭合); PR #671https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-Dev/pulls/671.
Impact: task metadata only; the card is archived within PR #671 and lands with its merge commit.
Refs: task.sh close --self
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=210f8f305238a0241ce69ab5943b52d8bc5bcc62.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: three BLOCKED review rounds and their closures, plus the final PASS, must
be recorded before delivery.
Evidence: /tmp/guard-blindspot-impl-r2-20261020.json, /tmp/guard-blockers-r2-receipt-20261020.json,
/tmp/guard-closure-receipt2-20261020.json (all cursor, success) and
/tmp/guard-closure-review-receipt-20261020.json (pi-glm, PASS);
review reports under .task/reviews/.
Impact: card metadata only; no behaviour change.
Refs: fix/guard-test-blindspot-coverage
Why: close the task card inside its own PR so landing it needs no post-merge backfill or separate close PR.
Evidence: .task/feature-fast-slow-o2-final-only-notice-all-tools.md -> .task/archive/feature-fast-slow-o2-final-only-notice-all-tools.md; status 已完成(合入前闭合); PR #670https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-Dev/pulls/670.
Impact: task metadata only; the card is archived within PR #670 and lands with its merge commit.
Refs: task.sh close --self
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-fast-slow-o2-final-only-notice-all-tools.md; R0=210f8f305238a0241ce69ab5943b52d8bc5bcc62.
Impact: task metadata only; the feature workspace starts at 210f8f3052.
Refs: .task/feature-fast-slow-o2-final-only-notice-all-tools.md
Why: the task card still carried the placeholder goal while the Backend half
of the delivery had already landed, and the verified pre-merge pin state is
the justification for the whole task.
Evidence: Backend main 7158bea contains 284d3ac; Dev pins measured at
dfb31da / 113103f / RDM c6304224.
Impact: task card only.
Refs: Backend PR #234
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/fix-pal-component-delivery-pins.md; R0=a496ea0f0249b2b412354677ef97612ccd692d25.
Impact: task metadata only; the feature workspace starts at a496ea0f02.
Refs: .task/fix-pal-component-delivery-pins.md
Why: close the task card inside its own PR so landing it needs no post-merge backfill or separate close PR.
Evidence: .task/feature-fast-slow-o2-final-only-notice.md -> .task/archive/feature-fast-slow-o2-final-only-notice.md; status 已完成(合入前闭合); PR #669https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-Dev/pulls/669.
Impact: task metadata only; the card is archived within PR #669 and lands with its merge commit.
Refs: task.sh close --self
Why: three consecutive CI attempts on this branch failed for reasons outside
the diff (two npm registry ECONNRESETs, one real-RDM fixture startup exit),
and the run-level rerun endpoint is now exhausted. Merging needs all three
required jobs green on the exact head, so the task stops here rather than
looping on retries.
Evidence: runs 4592 (job 7579), 4594 (jobs 7586, 7590) at head 01b6745; the
`test` job, which is the one that runs tests/test_svc.py, passed on 01b6745.
Impact: task card only. Code stays as reviewed.
Refs: PR #668
Why: the first CI wait on 996cbf0 failed in the test job, but the failure
is `npm ci` losing its TLS connection to registry.npmjs.org while fetching
zrender, not anything in this change. The card must say so plainly instead
of leaving CI as NOT_RUN.
Evidence: run 4592, job 7579. Same log shows the Python governance suite
at 518 tests OK (skipped=35), so the target case passed in CI.
Impact: task card only.
Refs: PR #668
Why: test_static_fresh_deploy_registers_pidcheck_and_starts hardcoded
port 18951, so any process already holding that port made svc.sh refuse
to bind (correct behaviour) and the test failed for a reason unrelated to
what it guards. Host reproduced this deterministically: with 18951
occupied the case failed, on a clean host it passed 10/10.
Evidence: fix/svc-static-deploy-test-port-flake @ 4ebf9e1, SELF receipts
7dfe7b09 (target case clean, target case while 18951 is held, whole
tests.test_svc module 23 tests) and the earlier 518-test test-affected
run; independent review session (pi/glm-5.3-flash, fresh process)
concluded PASS.
Impact: tests/test_svc.py only. All eight assertions kept verbatim;
svc.sh is untouched, and the tests/test_svc.py:753-754 register_pg
fixture is deliberately left alone.
Refs: tests/test_svc.py:989
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=a496ea0f0249b2b412354677ef97612ccd692d25.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: the task card needs the host-captured run that shows the fixed test passes
both on a clean host and while the legacy hard-coded port is held by a foreign
process, so the review and merge gate can re-check the claim instead of trusting
the worker's self-report.
Evidence: receipt 314db6279eec9bfc (SELF), tested head d0b217d3, exit 0.
Impact: task card only.
Refs: fix/svc-static-deploy-test-port-flake