Why: The task card has to point at the Dev pull request before the sync checkpoints.
Evidence: Dev pull request 173 is open.
Impact: No code change.
Refs: feature/permission-hooks
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: Session mode, confirmation detail, and the shared tool gate now exist in the libraries the product builds.
Evidence: make test passed. Plan mode rejects write_artifact while the default mode still runs it. Hook adapters match the old stop, reminder, and deny counts.
Impact: Empty permission mode keeps today's profile policy. There is no mode that skips every confirmation.
Refs: feature/permission-hooks
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-runstate-shell.md(PR#171) — 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: Acceptance needs the pin SHAs, the test evidence, and the mock composer check on the card.
Evidence: make test and make build passed on c0b8cf2. The mock composer switched to 排队 and back to 发送.
Impact: No code change.
Refs: feature/runstate-shell
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: The conversation screen has to import the phase type so the unused-export ratchet stays at the baseline.
Evidence: frontend 5961b6e, knip 43.
Impact: No other pin moves.
Refs: feature/runstate-shell
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: The composer phase and the SSE retry interval have to land together so a reconnect shows 重连中 and still receives the missed events.
Evidence: frontend dcf9b6b, backend 7bef7a4.
Impact: No change to permissions, models, or the already merged live-bubble fix.
Refs: feature/runstate-shell
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-context-engineering.md(PR#169) — 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 review checkpoint should sit in the sync table with the acceptance row.
Evidence: tested_head 656016a at 2026-10-03T16:25:02Z.
Impact: No code change.
Refs: feature/context-engineering
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: task-sync appends the checkpoint after the card body, where it is not part of the table.
Evidence: The row records sync_base 02b5cb8286 and tested_head b6dba58.
Impact: No code change.
Refs: feature/context-engineering
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: Acceptance needs the pin SHAs and the test evidence on the same card that will be archived.
Evidence: make test and make build passed on 658c2fa.
Impact: No code change.
Refs: feature/context-engineering
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: Tool-result clearing, folded reminders, and character truncation land in the native loop and the product path together.
Evidence: agent-native 6fd1d44, agent-squad 4d53450, backend b2dc9a7.
Impact: Default context window stays 32000 characters. Empty tool selection still exposes the profile's tools.
Refs: feature/context-engineering
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-architecture-baseline.md(PR#167) — 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: Acceptance evidence has to live on the card before review and merge.
Evidence: make test and make build both exited 0. An injected architecture edge fails.
Impact: Task card only.
Refs: feature/architecture-baseline
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: New cross-layer imports and unused exports could land unnoticed, and confirm-waiting reused the success color.
Evidence: bash scripts/lint-boundaries.sh passed, including a probe that a new edge fails. Both design-guard tests passed. Knip counts stay at the baselines.
Impact: make test-boundaries now checks architecture edges. Frontend and ui test targets also run the knip ratchet.
Refs: feature/architecture-baseline
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-llm-robustness.md(PR#165) — 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: Acceptance evidence has to live on the card before review and merge.
Evidence: make test and make build both exited 0 after pinning native 9f5751c.
Impact: Task card only.
Refs: feature/llm-robustness
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: The direct path's default retry only works once every repo builds the same model stream.
Evidence: native 9f5751c, squad 9efce79, backend 93adb93.
Impact: Three gitlinks move. No product UI change.
Refs: feature/llm-robustness
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: The card has to state the authorized scope before the pins move.
Evidence: Precheck READY at 8078a3582c.
Impact: Task card only.
Refs: feature/llm-robustness
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-pi-zcode-second-pass.md(PR#163) — 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)