Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-pi-durable-borrow.md(PR#159) — 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)
Why: The task card is the same document as the review request, and the pull request links belong on it once they exist.
Evidence: Documents #35, Backend #53, Frontend #37, Dev #159.
Impact: Task card only. Status stays in progress until the owner merges.
Refs: feature/pi-durable-borrow
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: task-sync appends the checkpoint after the card body, which leaves the sync record outside the table.
Evidence: The review checkpoint is sync_base a5c9fd3385, tested_head e8acda76ef, checked_at 2026-10-03T14:39:41Z.
Impact: Task card formatting only.
Refs: feature/pi-durable-borrow
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: The task card has to carry the precheck, task-sync, and test evidence before review.
Evidence: make test and make build exited 0 on 9e46605. task-sync reported sync_base a5c9fd3385 and tested_head 9e466059b9.
Impact: Task card only.
Refs: feature/pi-durable-borrow
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: The review and the four recovery fixes live in the documents, backend, and frontend repositories. The Dev pin is what the combined test runs.
Evidence: Documents 6340900, backend 44aa764, frontend 763c4b4. Each submodule branch is feature/pi-durable-borrow, based on that repository's origin/main.
Impact: Gitlinks only. The pins also move documents, backend, and frontend forward to the main commits that landed after the previous Dev pin.
Refs: feature/pi-durable-borrow
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: The generated card had empty authorization and scope. The task covers a research record plus four backend recovery fixes, and those limits have to be on the card before implementation.
Evidence: make precheck verdict READY at a5c9fd3385; required reading core/baseline.md and workflows/delivery.md §1 completed.
Impact: Task card only. No product code.
Refs: feature/pi-durable-borrow
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-agent-stack-blueprint.md(PR#151) — 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)
Why: the proposal branch has to contain current main before it can land. The owner asked for the open proposal pull requests to be merged.
Evidence: origin/main is 508d216. Documents #34 is merged as 76044b5, same tree as 233dfb54, which this branch already pins.
Impact: the blueprint task card and the documents pin stay. Archived cards follow main.
Refs: Dev #151, Documents #34
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-agent-stack-d1.md(PR#156) — 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)
Why: the task card has to name the heads that CI will merge.
Evidence: make test exited 0 on bbffa42. make build version string contains native=d84a67c squad=02c0d6a intent=65aaebc backend=0a9a977.
Impact: task card only.
Refs: D1
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: Dev has to record the native head that treats a cancelled stream as aborted, and the squad and backend checkouts that point at it.
Evidence: GOWORK=off go test -count=50 -race ./runtime/llm/ passed on d84a67c.
Impact: gitlinks only. The earlier make test covered the previous pin.
Refs: D1
Why: the acceptance record has to name the heads and the make test result before review.
Evidence: make test exited 0 on e760579. make build version string contains native=33573d0 squad=5e414ff intent=65aaebc backend=5d0097d.
Impact: task card only.
Refs: D1
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: Dev has to test the split modules and refuse a core import of a sibling library.
Evidence: bash scripts/lint-boundaries.sh printed boundaries ok. Full make test follows on this pin.
Impact: test-libs runs the intent, native, sqlite, and command modules. The sibling allowlist is empty.
Refs: D1
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-agent-stack-r2.md(PR#154) — merge 0a047db verified on origin/main. The merge subject did not match the from-branch pattern, so task.sh close skipped it.
Impact: .task/feature-agent-stack-r2.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: the task card has to carry the make test and make build results before the batch is merged.
Evidence: make test exited 0 and make build wrote bin/agent-system on 8c0dc8d.
Impact: documentation only.
Refs: R2 pin
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: native 855fe41 is the first head whose go.sum covers intent's NFKC import, so the later pins have to move with it.
Evidence: native go test of runtime, adapters, and exec passed; squad and backend vet passed on 855fe41 and 31ee395.
Impact: three gitlinks and the task card move. Product code in Dev is unchanged.
Refs: I4
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: Dev must record the intent, native, squad, and backend commits that close this batch so check-pins sees one tree.
Evidence: agent-intent 05e74d8, agent-native 11d1a76, agent-squad 1bb0c3a, and backend a494375 are the feature/agent-stack-r2 heads.
Impact: four gitlinks move and the task card records the batch scope.
Refs: R2 pin
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-agent-stack-r0-r1.md(PR#unknown) — 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)
Why: lint.py imports python-pptx and openpyxl at import time, so installing only python-docx still skipped the layout finding.
Evidence: actions run 680 failed TestLintErrorContinues with lint reason missing after python-docx was present.
Impact: CI installs python-docx, python-pptx, and openpyxl from the Tsinghua index.
Refs: feature/agent-stack-r0-r1
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: The runner image has Python but not python-docx, so TestLintErrorContinues failed after checkout succeeded.
Evidence: Agent-System-Dev actions job 1012 reported ModuleNotFoundError: No module named docx.
Impact: The package comes from the Tsinghua PyPI mirror. Library CI still stops until SUBMODULE_TOKEN is set.
Refs: feature/agent-stack-r0-r1
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: The runner cannot reach github.com, so actions/checkout and setup-node would time out before make test.
Evidence: Go 1.27.1 comes from mirrors.aliyun.com and Node 22.23.3 from npmmirror. Checkout uses the job token and GITHUB_SHA.
Impact: Submodule checkout still requires SUBMODULE_TOKEN. A missing secret fails the job with that message.
Refs: feature/agent-stack-r0-r1
Co-authored-by: Cursor <cursoragent@cursor.com>