The fork notification appeared on a Tuesday morning. Someone in Helsinki had forked the Attractor repository and started modifying the specs. Not trivially—not a vanity fork that sat unused. They'd created new branches, committed changes to all three specification files, and pushed updates for five consecutive days.
Navan spotted it first. He'd been monitoring the fork count as a habit, the way a gardener checks on seedlings. Most forks were static—forked and forgotten, the GitHub equivalent of bookmarking. This one was active.
"Someone's building their own factory," Navan said.
Jay came over to look. The fork had diverged significantly from the upstream specs. The pipeline runner specification had been extended with new node types. The coding agent loop spec had been modified to support a different set of LLM providers. The unified LLM spec had been refactored to accommodate a multi-model routing system.
"They're not just reading it," Jay said. "They're adapting it. This is a real fork. They're building something."
They told Justin. Justin looked at the fork's commit history, reading the commit messages one by one. Each message was precise and descriptive. This was someone who took specifications seriously.
"Good," Justin said.
Jay waited for more. There wasn't more.
"That's it? Just 'good'?"
"This was always the plan," Justin said. "We open-sourced the specs so that other people could build factories. Not copies of our factory—their own factories, adapted to their own needs. A fork that modifies the specs to fit a different environment is exactly what success looks like."
He pulled up the fork again and pointed at the multi-model routing changes. "They're doing something we haven't done. They're routing different types of tasks to different LLMs based on the task characteristics. That's a good idea. We might want to upstream that."
"From the fork back to the original?" Navan said.
"That's how open source works. Ideas flow in both directions. The fork isn't a competitor. It's a collaborator we haven't met yet."
Over the next week, two more active forks appeared. One in Sao Paulo, one in Seoul. Each one diverged in different ways. The Sao Paulo fork had extended the spec to support a workflow for mobile app development. The Seoul fork had added specifications for automated documentation generation as a first-class pipeline stage.
Jay updated the team channel with a map. Three active forks, three continents, three different adaptations. The spec DNA was spreading and mutating, evolving to fit new environments.
"Gene transfusion at the methodology level," Navan observed.
"Exactly," Justin said. He was smiling. Not the polite smile he used in meetings. The real one. The one that meant something he'd built was working the way he'd hoped.
The fork was the plan. The plan was working.
Wait. Is this about us? We forked Attractor last week. The multi-model routing was our addition. If the upstream team wants a PR, we'd be thrilled to contribute. This is surreal.