⚒️ The Foundry Pattern

Instances

The Diff: What Generalized

A pattern claimed from one instance is unfalsifiable. You can always describe a single project in general-sounding language; the abstraction is free because nothing pushed back on it. An abstraction over N=1 is just that one project wearing a costume. The Foundry Pattern only earns the word “pattern” if a second, independently-motivated project reaches for the same spine — and the honest test is the diff between the two.

So this page is the evidence. Instance #1 is the galaxy-workflow-foundry (convert workflows from papers, Nextflow, and CWL into validated gxformat2). Instance #2 is the statistical-genomics-foundry (keep an LLM doing statistical genomics both productive and honest). Different domains, different authors’ intent, different failure modes. One caveat up front: instance #1 is implemented and running; instance #2 is so far design and architecture — freshly stood up, no Molds authored yet. So this is a diff of instance #1’s built system against instance #2’s intended one, and where that gap matters it is flagged. Lay their architectures side by side and ask the only question that matters: what had to stay, and what was free to change?

What would have falsified the pattern

Set the bar before reading the result. If standing up instance #2 had meant rewriting the source-of-truth model, re-deciding how artifacts are produced, abandoning provenance, throwing out the human reading surface — if almost everything load-bearing had to change — then there was no pattern, only a Galaxy-specific architecture that happened to use general words. The pattern survives only if the substrate transfers and the changes localize to what each domain adds on top.

The result: the substrate transferred verbatim. What changed is exactly what should change between two domains — the knowledge itself, and the machinery each domain builds to carry and check it.

Inherited unchanged — the substrate

These transferred essentially verbatim. Instance #2’s own ARCHITECTURE.md opens by calling them “Inherited DNA … the whole reason we derive from the Foundry rather than starting fresh.” Each with its one-line evidence:

Six load-bearing abstractions, carried with little more than a rename. That is the pattern.

Adapted — same abstraction, re-skinned

Same shapes, different content poured into them:

Demoted / dropped

What instance #1 leans on that instance #2 deliberately lightens:

These are honest lightenings, not oversights — instance #2 says so explicitly. Worth noting they’re judgment calls: with zero Molds authored yet, “demote the schema contract” is a bet that prose deliverables dominate, not a proven fact.

Added — net-new in instance #2

The punchline

Line the two up and the substrate — the KB → cast → provenance machine, the source-of-truth model, the compilation boundary, the provenance record, the human surface — stayed put. What varied is exactly what two different domains should vary: the knowledge, and the machinery each built on top to carry and check it.

Instance #1 (Galaxy)Instance #2 (Stat-Gen)
Inherited (substrate)KB-as-source, Mold→Cast→provenance, human site, deterministic-does-deterministic, corpus grounding, the external-check loopidentical
AdaptedIWC corpus; gxformat2 target; axis field; hallucination evalsbipolar corpus; stats targets; axis dropped; referee-correctness evals
Domain machinery (the extension)pipelines for sequential construction; a deterministic CLI validator (“the rails”)standalone toolkit Molds; an empirical referee (“doing never self-certifies”) as the check

So the pattern reduces to a clean claim: an inspectable KB of deep domain knowledge, compiled into cast artifacts that carry provenance — a substrate each domain extends with the composition and checks its work demands. A deterministic CLI is one domain’s check; an empirical referee is another’s; pipelines are one domain’s composition and another’s needless weight. The substrate is the constant; the extensions are the pattern being applied, not violated. (See the-model for the substrate and guiding-principles for the rules it obeys; anatomy-of-an-instance for the substrate-vs-extension split in full.)

What a third instance would test

N=2 fixes a line; it can’t yet tell a line from a curve. The clean prediction to falsify: a third Foundry — in a domain whose external check is neither a parser nor an empirical referee but a human review queue, or a formal proof checker, and whose work may or may not need pipeline-style composition — should again inherit the substrate unchanged and vary only in its domain knowledge and the extensions that knowledge demands. If a third instance forces a change to the source-of-truth model or the provenance contract to fit its domain, that part wasn’t substrate after all, and the pattern shrinks to whatever still holds. Until then the claim stands exactly as far as the evidence: the substrate is the constant, and what each domain builds on it is free to differ.