Why: After capability gate hid 追溯审计 on plain base, the shared dev
entry needs a pinned RDM combo and a candidate-then-cutover runbook.
Evidence: RDM #250 (310c3fe) pins to Dev main; candidate+cutover R1–R5
SELF receipts imported; FE preview showed audit entry on :8788.
Impact: docs/svc.md §5.4.1; local runtime/dev is rdm@310c3fe (ops, not
in git). Owner password was reset via recover key during verification.
Refs: feature/rdm-audit-combo-integration; RDM pulls/250
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-rdm-audit-combo-integration.md; R0=1938b442b19cc18ee05fbab919873635c91eba96.
Impact: task metadata only; the feature workspace starts at 1938b442b1.
Refs: .task/feature-rdm-audit-combo-integration.md
Why: Backend #176 aligned the test wait with CardDone + materialActive
release so done-dedup no longer races deliverNotices.
Evidence: Backend CI success on c963347; local -count=20 PASS (evidence on card).
Impact: Dev consumes backend@5e8ada7; test-only, no product behavior change.
Refs: Backend #176; fix/material-intake-lifecycle-flake
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/fix-material-intake-lifecycle-flake.md; R0=41a5fb049323663471f1732bcda296f4eeeb3642.
Impact: task metadata only; the feature workspace starts at 41a5fb0493.
Refs: .task/fix-material-intake-lifecycle-flake.md
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-rdm-audit-capability-gate-changepw-form.md(PR#441) feature-rdm-audit-capability-gate.md(PR#418) feature-u7-k6-password-gate.md(PR#442) — 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: Completion gate needs SELF rows for make test and brew-k6 dual smoke on the synced HEAD.
Evidence: make test exit=0; run_load.sh --instances 2 smoke dup_seq=0.
Impact: Card evidence table updated.
Refs: .task/feature-u7-k6-password-gate.md
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=b008bd94ad0fe6f520a8500f40ed6297251762b7.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=b008bd94ad0fe6f520a8500f40ed6297251762b7.
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-u7-k6-password-gate.md; R0=4b51a134751d636f7f6ca3fedf180fd76045f2c1.
Impact: task metadata only; the feature workspace starts at 4b51a13475.
Refs: .task/feature-u7-k6-password-gate.md
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-u7-b5-c2-load.md(PR#439) — 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-recovery-u1-db-identity.md(PR#426) — 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: backend U4 password gate returns 403 on business APIs until must_change clears; CLI-created load passwords are terminal.
Evidence: dual smoke failed POST /api/projects 403 after login_keys pin.
Impact: load suite works on schema v26+; EXIT trap disables re-entry and waits for serve.
Refs: server enforcePasswordGate; CreateAccount must_change
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: background subshell PID was recorded instead of serve, so cleanup left orphans that stole ports and broke the next smoke.
Evidence: prior dual evidence failed with bind address already in use + probe 401 against stale instance.
Impact: trap kill now terminates the real serve process.
Refs: tests/load/collaboration/run_load.sh
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: origin/main backend broke make test after v26 login_keys without migrator list update.
Evidence: go test ./cmd/storage-migrate -run TestCopyOrderCoversAllFixtureTables (exit 0) on 741b5b0.
Impact: Dev combination gate unblocked; pairs with backend PR #175.
Refs: modules/backend@741b5b0; backend PR #175
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-svc-unified-deploy-login-key.md(PR#422) — 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=673e687c5c85b9af3ce13ca30845d5e68de5dfa0.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=673e687c5c85b9af3ce13ca30845d5e68de5dfa0.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: Dev #422 add/add on docs/svc-deploy after U1/U4 landed; documents gitlink also diverged from main.
Evidence: took main svc-deploy specs; Documents pin 9d9b152 = proposal + main merge; Backend pin 1d9e8f4
Impact: PR #422 should become mergeable; Documents #79 tip advanced.
Refs: Dev pulls/422; Documents pulls/79; merged #428/#429
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: Backend login_keys gate blocks Key traffic while
must_change_password is set; U7 failed on PUT settings/user 403.
Evidence: go test -c multi-instance compiles; CI test-pg will GATE.
Impact: loginAlice does session password change alicePass0→alicePass.
Refs: Dev PR #426; Backend #170 pin e7b70c2
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-svc-deploy-u1-account-binding.md(PR#429) feature-svc-deploy-u4-login-key.md(PR#428) — 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)