Theory

Updated

October 30, 2026

Theory: Migration is Mapping Names, Then Objects, Then Metadata

Git history is the easy part (push --mirror). Users, PRs, CI, and packages are lossy maps. A decision framework is which losses you accept.

Invariants

  1. Object hashes can stay; URLs and issue numbers usually cannot.
  2. Interoperability is shared Git + webhooks, not identical UIs.
  3. AI features will attach to whatever forge has the social graph.
Git objects  ── lossless ──►  new forge
PRs/issues   ── best effort ──►  importer
Actions YAML ── rewrite ──►  new CI

What can break

  • Promising zero-loss PR comments without reading the importer docs.

How to read this chapter

Strategies, preserving history, interoperability, trends, decision, future.