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>
Why: The acceptance note would otherwise claim the workflows were only pending, while the intent run already failed cloning the checkout action.
Evidence: Agent-Intent actions run 661 failed after 30s with dial tcp 20.205.243.166:443 i/o timeout.
Impact: Documentation only. No proxy change and no branch-protection change.
Refs: feature/agent-stack-r0-r1
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-duplication-lesson-records.md(PR#13) — 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 close branch was behind main, so branch protection would reject it, and both sides had edited the same task card.
Evidence: The archived card keeps main's later sync rows and the close record for PR #126. git diff against origin/main is only that archive move.
Impact: This branch still archives only feature-agent-professional-deliverables.md. Merge stays with the owner.
Refs: feature/card-close-20261001-082349Z
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: The task card still named the previous library commits, and acceptance needs the sync, test, and build evidence on this card.
Evidence: make task-sync at 2026-10-03T10:22:12Z, make test exit 0, make build version 789a6f4 with backend ef0a1be, native 91c1556, squad e928ea3, intent 7f7879b.
Impact: Documentation only. The gitlinks were already committed.
Refs: feature/agent-stack-r0-r1
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: Dev must record the commits that contain the hold fixes, the offline pin check, and the CI checkout change.
Evidence: intent 7f7879b06b053f0a62746309b79e0e1b9a00f42d, native 91c155618487e21edeb4f1d3cc27e985aae2b0d2, squad e928ea3c0fa649cbbbad22a93a1bc0a12dee5f7d, backend ef0a1bef0f7bee626e59f160be51fb0e5f6aa692.
Impact: The four gitlinks match the open pull request heads. Other pins are unchanged.
Refs: feature/agent-stack-r0-r1
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: make test downloads Go modules, and the runner cannot reach proxy.golang.org.
Evidence: The test job sets GOPROXY=https://goproxy.cn,direct. The step name lists boundaries, pins, libs, core, backend, frontend, ui, and agent-command.
Impact: npm still uses the default registry; add the npmmirror only if npm ci times out.
Refs: feature/agent-stack-r0-r1
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: Merge commits share a tree with the pinned feature commit, the import ratchet downloaded modules during CI, and task sync wrote the checkpoint onto the wrong card.
Evidence: check-pins accepts 6c0f1e8 (same tree as Backend squad 8e987bf) and rejects empty-tree 8db069d; both objects stayed local. An empty GOMODCACHE run of lint-boundaries matches the cached go list, 14 pairs. bash -n scripts/task.sh.
Impact: make pin no longer checks out Backend nested core or agent-command, and a failing pin check does not fail the target. task sync writes the branch card or warns. precheck reports completed-but-unarchived cards and card-close branches older than 24 hours.
Refs: feature/agent-stack-r0-r1
Co-authored-by: Cursor <cursoragent@cursor.com>