Plan U4/R7, continuation of the user-approved transformation.
backend PR #144 (storage-migrate: inventory/backup/migrate; migration identity and same-snapshot-only resume; foreign/non-empty/unknown-owner refusals; per-table counts and PK-ordered hash-chain checksums with symmetric bool normalization; serial advance; generated columns and FTS shadow tables excluded; secrets never in reports) + PR #145 (surface tables added to the copy list after the coverage guard caught PR #143 new tables).
Dev: make build emits bin/storage-migrate; architecture baseline ratcheted for surfacesvc (edges already merged in backend #143) and stale runmgr edge dropped; modules/core pinned to 452daf3 matching backend internal pin (unblocked test-pins).
Evidence (SELF via evidence tool in the task card): make test, make test-backend-pg against isolated real PostgreSQL 18.6 + Redis (migrator suite incl. idempotent/resume/refusals twice green), make build - all exit 0. CI GATE first run on this PR. Authorized-window switch NOT opened (requires separate approval).
Plan U4/R7, continuation of the user-approved transformation.
- backend PR #144 (storage-migrate: inventory/backup/migrate; migration identity and same-snapshot-only resume; foreign/non-empty/unknown-owner refusals; per-table counts and PK-ordered hash-chain checksums with symmetric bool normalization; serial advance; generated columns and FTS shadow tables excluded; secrets never in reports) + PR #145 (surface tables added to the copy list after the coverage guard caught PR #143 new tables).
- documents PR #65: runbook section 10 - commands, identity/resume rules, verification semantics, authorized-window switch sequence.
- Dev: make build emits bin/storage-migrate; architecture baseline ratcheted for surfacesvc (edges already merged in backend #143) and stale runmgr edge dropped; modules/core pinned to 452daf3 matching backend internal pin (unblocked test-pins).
Evidence (SELF via evidence tool in the task card): make test, make test-backend-pg against isolated real PostgreSQL 18.6 + Redis (migrator suite incl. idempotent/resume/refusals twice green), make build - all exit 0. CI GATE first run on this PR. Authorized-window switch NOT opened (requires separate approval).
Task card: .task/feature-collab-storage-u4-migrator.md
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-collab-storage-u4-migrator.md; R0=80a518628c526fd6ddece4abeb707ab4bb0b5618.
Impact: task metadata only; the feature workspace starts at 80a518628c.
Refs: .task/feature-collab-storage-u4-migrator.md
Why: the parent must pin the merged component SHAs for the combined build and CI gates.
Evidence: backend origin-main merges of #144 (storage-migrate) and #145 (surface tables in copy list); documents origin-main merge of #65 (runbook section 10).
Impact: gitlink updates only.
Refs: backend PR #144, #145; documents PR #65.
Why: the U4 managed migration entry must ship with make build so operators and CI get the tool.
Evidence: make build emits both binaries; migrator suite green on SQLite and real PostgreSQL.
Impact: build target output adds bin/storage-migrate; no test-path change.
Refs: backend PR #144; runbook section 10.
Why: backend PR #143 added surfacesvc with app/server/store edges already merged into component main; the Dev baseline must record them (lint failed after task-sync). runmgr->cmdbus no longer exists in code.
Evidence: lint-boundaries.sh green after the update; edges match the merged backend main exactly.
Impact: baseline bookkeeping only; no dependency change made by this task.
Refs: backend PR #143; Dev U4 task.
Why: backend main pins deps/agent-system-core at 452daf3 (Surface types, core PR #25); Dev's top-level core gitlink lagged at a253a40, failing make test-pins after task-sync.
Evidence: check-pins green after the bump; core origin-main tip is 452daf3.
Impact: gitlink bump only.
Refs: core PR #25; backend PR #143.
Why: stage review needs results, stage verdicts and the three evidence segments in the card before the PR.
Evidence: make test / test-backend-pg (real services) / make build all exit 0 via the evidence tool.
Impact: task metadata only.
Refs: backend PR #144, #145; documents PR #65.
Why: card and PR description are one document; record the PR link before merge.
Evidence: Dev PR #337 created via Gitea API.
Impact: task metadata only.
Refs: PR #337.
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=b3b48f5efa2a6a25f16f6413d8b9c89715f22960.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Plan U4/R7, continuation of the user-approved transformation.
Evidence (SELF via evidence tool in the task card): make test, make test-backend-pg against isolated real PostgreSQL 18.6 + Redis (migrator suite incl. idempotent/resume/refusals twice green), make build - all exit 0. CI GATE first run on this PR. Authorized-window switch NOT opened (requires separate approval).
Task card: .task/feature-collab-storage-u4-migrator.md