a migration role, not a migration window
Moving live state between two foundations is the part of distributed design that usually happens once, badly, at an unsociable hour. This record treats it as a standing role instead of an incident.
field notes
Short notes from real engineering work: one decision, one incident, one reversal at a time. Each one names the shape of the problem, the tension that made it hard, the decision, and what it cost. The internals stay out — the codename is the hint.
If you have five minutes rather than an afternoon: the three case studies condense this material to one problem, one decision and what the decision cost. The notes below are the record those studies cite — and the projects the codenames belong to are on the front page.
Moving live state between two foundations is the part of distributed design that usually happens once, badly, at an unsociable hour. This record treats it as a standing role instead of an incident.
The first service migration looked like a copy and a connection string: take a database out of the application's container, run it as a supervised process on the host, point the application at it. The move took far longer than that, and…
method
Not a changelog entry and not a repository summary. One decision, one incident, one reversal, or one hard-won invariant — the thing an engineer would tell you at a whiteboard.
Prefer records with dates and root causes? Those are on incidents. Live numbers are on stats.