Everything that demanded the whole program got archived: ten years of Meta's ML platform
How Meta's machine-learning platform changed between 2016 and 2026, reconstructed from the artefacts it is changed through: the PyTorch source tree read at eight release tags, design records including one closed without merging, dated archive banners on nine sibling repositories, the published security advisories, and the issues downstream maintainers filed when a capture path was deprecated under them.
A decade of one company's answer to a problem every deployment path has: how much of a dynamic program you capture ahead of time, and what you do with the part you cannot. Read from defaults at release tags rather than announcements, the record shows every layer that demanded whole-program capture being retired or demoted, and the tolerant path that names its 586 escapes surviving. An architect finishes with a decision tree for their own target, three dated lifecycle signals for grading any platform dependency, and the failure classes to instrument.
In PyTorch 2.8 the signature of torch.export.export changed from strict=True to strict=False, so the replacement for TorchScript repeated TorchScript's concession, giving up guaranteed soundness by default because the sound path has limited Python coverage.
What you get out of it
- Every capture layer that required the whole program (Caffe2 rewrites, TorchScript, the Lite Interpreter) has been retired or demoted; the survivors capture part of the program and name the escapes, 586 of them in the Dynamo break registry.
- Sound ahead-of-time capture stopped being the default in 2.8 on 2025-08-06, three months after a public report that strict export regressed between 2.6 and 2.7 on a published model.
- An archive banner means two opposite things: absorbed (functorch, TorchElastic, FairScale's FSDP) or abandoned (TorchServe, DataPipes, Glow), and only the surviving tree distinguishes them.
- Registries go quiet before repositories do: TorchServe's last container image predates its archive banner by eleven months, and its notice disclaims security patches.
- The checkpoint container inherited from Caffe2 outlived the framework, and two of the project's five published advisories are bypasses of the safe-by-default loader that guards it, 78 days and a year after the default flipped.
Scope
Why this, now. The successor to TorchScript flipped its soundness guarantee to opt-in in August 2025, which makes this the first moment the decade's pattern is visible as a pattern rather than as one framework's history.
What it does not cover. Meta's internal training fleet, accelerator hardware, recommender serving, model quality and cost, plus any blog, paper or talk, because this session's network policy blocked pytorch.org, engineering.fb.com and every paper and talk archive.
Other field guides
Keep the format dumb: ten years of Hugging Face, measured from its own releases
Reads a decade of one company's decisions as a single argument about where a capability belongs, in the file format every reader must parse or in the…
20 sources · 9 organisations · 5 postmortemsThe fastest change in the stack is a block of text
A field guide to the change lifecycle of the production prompt, the highest-leverage, lowest-friction change surface in an LLM product. Built from th…
26 sources · 22 organisations · 4 postmortemsWhen the model quietly gets worse
A field guide to the production incident where answer quality drops while availability, latency and error dashboards stay green, because the change w…
23 sources · 17 organisations · 4 postmortems