Jay started the catalog on a Friday afternoon, thinking it would take an hour. It took three weeks.
The first entries were easy. The layered quiescence pattern from Leash. The epoch-based reclamation pattern from CXDB. The binary protocol framing pattern that both the Go gateway and the Rust server used. These were patterns he already knew, already had descriptions for, already had evidence of successful transfusion.
But as he dug deeper into the factory's codebases, he kept finding more. Patterns that had emerged from agent iterations. Patterns that nobody had named yet. Patterns that were solving the same abstract problem in different codebases without anyone realizing the connection.
There was a retry pattern in the Agate assessment loop. When an agent's implementation failed scenario validation, the system didn't just retry blindly. It extracted the failure signature, appended it to the agent's context, and retried with the enriched understanding. The same pattern existed in Attractor's checkpoint-and-resume system and in Leash's container restart logic. Three independent inventions of context-enriched retry.
Jay wrote up the abstract pattern: "Progressive Context Enrichment on Retry." One page. Invariants, failure modes, when to use it, when not to.
Navan contributed entries too. He found a pattern in the Digital Twin Universe for maintaining behavioral fidelity during API version transitions—how a twin could support both the old and new API behaviors simultaneously, routing based on which version the client was requesting. He called it "Behavioral Versioning" and wrote it up in his notebook before typing it into the catalog.
The catalog grew. Each entry followed the same format: a name, a one-paragraph description, the invariants the pattern maintained, the failure modes it prevented, the codebases where it had been proven, and any known limitations. No code. Never any code. The code was always specific to its host. The pattern was universal.
"This isn't a code library," Jay said to Justin, presenting the catalog at thirty-one entries. "It's a gene library."
Justin scrolled through the entries. "Progressive Context Enrichment. Behavioral Versioning. Layered Quiescence. Epoch-Based Reclamation." He paused at each one, reading the descriptions. "These are reusable at the semantic level. An agent can take any of these and implement them in any language, for any system."
"That's the point," Jay said. "Each entry is a gene transfusion source. You pick the gene, describe the target organism, and the agent does the transplant."
Navan pulled out his notebook, the one with the two-tree diagram. He added a third tree. Then a fourth. Then a fifth. Same roots, different leaves. The gene library was the root system.
By December, the catalog had forty-seven entries. Jay thought they might eventually reach a hundred. He underestimated.
The format is key. Name, description, invariants, failure modes, proven codebases, limitations. No code. That's a pattern library that actually works because it doesn't go stale when implementations change.