Why: password logins hand the browser an HttpOnly session cookie, but a stale Bearer key left in localStorage shadows it server-side (Bearer is checked first), so every request after login returns 401 and refreshes bounce back to the login page.
Evidence: frontend commit 09310cb (vitest 19 files / 88 tests green); combined make test in this worktree recorded via evidence into the task card.
Impact: dev-instance UIs reachable by LAN IP or hostname log in cleanly with username+password; API-key flow unchanged.
Refs: .task/feature-login-clear-stale-key.md
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-login-clear-stale-key.md; R0=259270b4e339132219490b95b42d12386f9abe1e.
Impact: task metadata only; the feature workspace starts at 259270b4e3.
Refs: .task/feature-login-clear-stale-key.md
Why: The close automation filled the card header (PR #351) but the
merge-record and cleanup-record lines still described the in-progress
state.
Evidence: CI ci/test green on the retriggered head (first run failed
on runner network glitch and a hung test job, both infra); component
chain Core #27/#28, UI #42-#45, Frontend #53, Backend #150; task-finish
recycled the worktree at b877edd on 2026-10-11.
Impact: Archived task-card text only.
Refs: PR #351; PR #356
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-generative-ui-u4.md(PR#351) — 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: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-rdm-u2-closeout.md(PR#354) — 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: include the current integration baseline before verification.
Evidence: fetched origin/main=c79a77db944b88fa7e817d632d5474bdac6d8c90.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: resolve the interrupted sync: take the reconciled Documents pin eb36571 (union of U2 progress and template/final-target plans) plus main's card/PROJECT updates.
Evidence: Documents PR #68 merge eb36571; gitlink conflict resolved to the superset tip.
Impact: task-branch integration merge only.
Refs: Documents #68; Dev #340/#354
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-rdm-template-dialog-plan.md(PR#340) — 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: include the current integration baseline before verification.
Evidence: fetched origin/main=0f589ed7ff5c1dc63a9700906fe9138fe607d85c.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=0f589ed7ff5c1dc63a9700906fe9138fe607d85c.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=0f589ed7ff5c1dc63a9700906fe9138fe607d85c.
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-collab-storage-u6-events.md(PR#343) — 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: include the current integration baseline before verification.
Evidence: fetched origin/main=ad892d58fcad5f6b206b9aa9acf3f6fca538775b.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=a70ed114fba2d51bb93ec8cb0662703ab0bc0614.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=a70ed114fba2d51bb93ec8cb0662703ab0bc0614.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=a70ed114fba2d51bb93ec8cb0662703ab0bc0614.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-generative-ui-u4.md; R0=a70ed114fba2d51bb93ec8cb0662703ab0bc0614.
Impact: task metadata only; the feature workspace starts at a70ed114fb.
Refs: .task/feature-generative-ui-u4.md
Why: the master record now records U2 as merged (Documents 559af219); the Dev gitlink and PROJECT.md entry must follow.
Evidence: Documents PR #67 merged=True (API); closeout doc check receipt in card; RDM PR #197 merge fe8a75b.
Impact: modules/documents gitlink, PROJECT.md planning entry, task card; no code change.
Refs: Documents PR #67; RDM PR #197/#198
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-rdm-u2-closeout.md; R0=866086c2a080716195c3dd35e6ef362016347c94.
Impact: task metadata only; the feature workspace starts at 866086c2a0.
Refs: .task/feature-rdm-u2-closeout.md
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=866086c2a080716195c3dd35e6ef362016347c94.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
# Conflicts:
# modules/backend
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=866086c2a080716195c3dd35e6ef362016347c94.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: The close automation filled the card header (PR #345) but the
merge-record and cleanup-record lines still described the in-progress
state.
Evidence: CI ci/test green on the PR head (one 405 race resynced);
Backend #149 at 6abf112; task-finish recycled the worktree at ca20279
on 2026-10-11.
Impact: Archived task-card text only.
Refs: PR #345; PR #347
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-generative-ui-u3.md(PR#345) feature-svc-db-config-recover.md(PR#342) — 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)