Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-vendor-popular-skills.md(PR#549) — merges verified via git log --merges plus Gitea API squash lookup 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: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-vendor-popular-skills.md; R0=e1bc2602e18a89e4d75a4bf6cd80bc7f9b4d2164.
Impact: task metadata only; the feature workspace starts at e1bc2602e1.
Refs: .task/feature-vendor-popular-skills.md
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-dhf-plan-progress-note.md(PR#547) — merges verified via git log --merges plus Gitea API squash lookup 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: include the current integration baseline before verification.
Evidence: fetched origin/main=3538d40f45ad5a7c779426eb3322f79751db380c.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: Documents PR (feature/dhf-plan-progress-note) corrects the stale
WIP/stage-8 wording in the DHF plan progress note; the Dev combo must
pin the updated Documents commit so combined verification covers it.
Evidence: task card records make test exit 2 (transient lock-probe flake
in test_recover_skips_when_lock_held, single rerun OK) then exit 0 on
rerun; make build and task-sync receipts follow in later commits.
Impact: gitlink moves 6619835 -> 46506ae (Documents PR head); note-only
doc change, no code paths affected.
Refs: Documents PR feature/dhf-plan-progress-note; Dev task card
feature-dhf-plan-progress-note
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-pptx-register-structural-gate.md(PR#543) — merges verified via git log --merges plus Gitea API squash lookup 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: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-dhf-plan-progress-note.md; R0=c8eead49c5e68b2e295927c0e82cc57bcb04bad5.
Impact: task metadata only; the feature workspace starts at c8eead49c5.
Refs: .task/feature-dhf-plan-progress-note.md
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=c8eead49c5e68b2e295927c0e82cc57bcb04bad5.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-card-merge-squash-detect.md(PR#544) — merges verified via git log --merges plus Gitea API squash lookup 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: include the current integration baseline before verification.
Evidence: fetched origin/main=7e9ebdea5055a63c713ccc0fb1f938ffe35a6b9d.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=7e9ebdea5055a63c713ccc0fb1f938ffe35a6b9d.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: The archived card should remain accurate after its own closure PR merges.
Evidence: Only three temporal phrases changed; the card still points to PR #542 as the authoritative closure result.
Impact: Review, CI and cleanup records remain intact.
Refs: Dev PR #542
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=11aa76a3bc1c5047791f9a2de154e451634b6567.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: The archived card still listed Review, synchronization, CI, merge and cleanup as NOT_RUN despite recorded completion.
Evidence: Exact PR heads, CI runs, merge SHAs, queue release and owner Stage 10 approval are linked in the card.
Impact: The terminal delivery section now agrees with its stage table and remaining U1 boundary.
Refs: Dev PR #542; Dev PR #540; RDM PR #365
Why: Automatic card backfill left the current stage and result summary describing the old WIP candidate.
Evidence: PR #102/#365/#540 merge readbacks, exact-head CI runs 3095/3092, independent review, owner Stage 7 recheck, and approved Stage 10 cleanup are recorded.
Impact: The archived card now shows the current U1 increment outcome and keeps historical checkpoints labeled as such.
Refs: Dev PR #540; RDM PR #365; Documents PR #102
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-dhf-template-pipeline-plan.md(PR#540) — 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: card_merge only recognized "Merge ... from <branch> into main"
merge commits, so a PR landed as a squash (real case: #457) left its
task card in .task/ forever; task-close reported nothing to close and
precheck showed no debt. Closing required a manual backfill (PR #541).
Evidence: card_merge now returns sha|subject|pr and falls back to a
Gitea API lookup by head ref or label (deleted branches keep the
original name only in label), gated by merge_commit_sha ancestry in
origin/main; precheck [cards] reuses card_merge so both surfaces agree.
Live probe against production Gitea returns 226a4af15791|Reset
per-service runtime state in svc.sh env_config|457 for
feature/svc-pidcheck-leak; stub-server tests cover squash landing,
decoy skip and the not-on-main refusal; full governance suite follows
in-card evidence.
Impact: scripts/task.sh close and precheck detect squash-merged cards
when GITEA_TOKEN is set (merge-commit path unchanged without token);
tests/test_task.py adds two regressions; no protocol change for
existing merge-commit closures beyond the appended pr field.
Refs: card-merge-misses-squash-merges (memory); PR #541 manual closure.