Migration Diary: Freeze a Public‑Surface Snapshot Before You Leave a Paid Coding Agent
Description and use
Freeze a public‑surface snapshot before moving to a free host to prevent silent breaking changes introduced by a paid coding agent.
Problem
When a paid coding agent seat expires, the public surface of a repository can change without notice, breaking downstream callers that rely on stable names such as CLI flags, HTTP paths, and Python exports.
Outcome
The repository now has a frozen, version‑controlled public surface that survives the paid agent’s expiration, preventing silent breaking changes on a free host.
Workflow
- Walk the last merged agent patches and list every public name those patches changed.
- Run the extractor on the current default branch and commit the resulting JSON snapshot.
- Install a local apply gate that reads unified diffs before any host writes files.
- Replay a known‑good patch and a known‑bad rename to validate the gate.
- Move generation to the free host only after the gate has failed a planted rename.
- File a leftovers note for vendor‑side refactors that were not extracted.
Evidence
A snapshot of CLI flags, HTTP paths, and Python exports gives you a meter that survives the vendor tab.
Run the extractor on the current default branch and commit the JSON snapshot beside the code.
- Record date: 2026-09-22T12:45:58.823Z