feat/hsp-083-migration-runner
main
HSP-083 deliverables: (1) migration runner — runMigration/resumeMigration. (2) checkpoint store — InMemoryCheckpointStore (interface för Postgres-backed seam). (3) reconciliation evidence — per-partition FNV-1a content-hash. Acceptance: T01 krasch mitt i batch → resume från DURABLE checkpoint; idempotent sink (samma fromCursor+records ackar utan ny persistens) → INGA dubbletter, replay räknad i rapporten (aldrig dold). T02 cursor committas ENDAST efter durable target-ack (write-then-cursor-ordning). T03 VERIFIED kräver per-partition content-hash; count-only = UNVERIFIED (olika innehåll/samma count → olika hashes — assertion i test). 6 nya tester (1084/1084), typecheck grön.
No dependencies set.
The note is not visible to the blocked user.
HSP-083 deliverables: (1) migration runner — runMigration/resumeMigration. (2) checkpoint store — InMemoryCheckpointStore (interface för Postgres-backed seam). (3) reconciliation evidence — per-partition FNV-1a content-hash. Acceptance: T01 krasch mitt i batch → resume från DURABLE checkpoint; idempotent sink (samma fromCursor+records ackar utan ny persistens) → INGA dubbletter, replay räknad i rapporten (aldrig dold). T02 cursor committas ENDAST efter durable target-ack (write-then-cursor-ordning). T03 VERIFIED kräver per-partition content-hash; count-only = UNVERIFIED (olika innehåll/samma count → olika hashes — assertion i test). 6 nya tester (1084/1084), typecheck grön.