⚒️ The Foundry Pattern

The Pattern

Kind Catalog

A Foundry’s knowledge base is not a pile of Markdown. Every note declares its kindtype: mold, type: paper — and the kind picks the one schema that validates it. The kind is what makes the corpus machine-readable at all: it decides what metadata is required, what the casting step may assume, and what the site can render.

So “what kinds does a Foundry define?” is the first question a new instance has to answer, and the second question — “which of those did I have to invent, and which came with the pattern?” — is the one that tells you whether the pattern is real.

This page answers both, for all three instances, generated from their schemas rather than described. Each instance emits a kinds.generated.json manifest whose required-metadata tables are derived from the same zod definitions its validator runs; this site vendors those manifests and renders them. Nothing below is transcribed, so nothing below can quietly stop being true. The layout that makes this possible — one directory per kind, holding the schema, its documentation, and a worked example — is specified in Part 3 of the Build with the Astro Stack.

How to read it

Substrate kinds are declared by every instance. That is the empirical definition used here, and it is deliberately harsher than a label: a kind counts as substrate because every current domain reached for it, not because someone marked it so. If an instance claims layer: substrate for a kind another does not declare, this page says so rather than accepting the claim.

Non-universal kinds are absent from at least one instance. Some are unique to one domain; others transferred between two before the third showed they were not universal. Their number and weight is the honest measure of how much actually generalized, and it is worth looking at directly rather than through the summary in the-diff.

Two things worth noticing when you read the tables:

Name, fields, layout

There is an order to how much a match is worth, and it runs in one direction.

A kind’s name is the weakest evidence: a name can be borrowed. Its required fields are stronger — several schemas agreeing means several implementations decided the same metadata is load-bearing. Its layout, meaning what files sit beside a note and under what names, is stronger still, because a layout is not something you standardize without also standardizing the working practice that produced it. eval.md and scenarios.md now sit beside Molds in all three Foundries at the same requirement and disposition.

Kinds can now say this out loud. A kind declares its shape — whether its notes are flat files or directories — and its companions, the non-note files belonging beside a directory-shaped note, each with a requirement level and a disposition saying whether casting may carry it into an artifact. Both terms are pinned in the astro-stack-glossary — they belong to this stack rather than to the pattern — and specified in Part 3 of the Build with the Astro Stack.

Three things that declaration makes visible for the first time:

Each substrate kind below carries a companion table with one row per file and one column per instance, reading requirement · disposition. A file every declaring instance carries at the same requirement and disposition is highlighted: that is the layout transferring, and it is the strongest claim on this page. A missing declaration shows as a dash — a real difference and not a gap in the data.

For where these kinds live inside a repository, and what a new instance should copy first, see anatomy-of-an-instance and Build with the Astro Stack. For the vocabulary the tags field draws on, see tag-catalog.

Generated from each instance's own schemas. Every required-metadata table below is derived from that instance's zod definitions, not transcribed — so a kind that changes upstream changes here, and cannot quietly disagree. A kind also declares its shape and its companions: each companion carries a requirement level (required / recommended / optional) and a disposition saying where it may travel — foundry-only never leaves the Foundry, cast-input is read while casting but not shipped, bundled is carried into the artifact.

Drift: pattern — declared layer: substrate by an instance, but not declared by every instance. The table below reflects what the instances actually declare.

Same kind, different shape: paper, pattern — declared as both flat files and directories across the instances. Not drift, and not smoothed over: the same kind can carry compatible metadata while domains make different, explicit layout choices. Before kinds declared a shape this difference lived inside each instance's collection glob and reached no manifest, so this page could not have reported it.

Substrate kinds

Declared by every instance. This is the empirical definition — a kind is substrate because independently motivated domains all reached for it, not because someone labelled it so. These are what a new Foundry starts from.

meta

Galaxy Workflow Foundry file
A record of why the Foundry itself is built the way it is — the rationale behind the machinery, not the domain.
requires createdorderrecord_kindrevisedrevisionstatussummarytagstitletype
TDA Bioinformatics Foundry file
A record of why the Foundry itself is built the way it is — the rationale behind the machinery, not the domain.
requires createdorderrecord_kindrevisedrevisionstatussummarytagstitletype
Statistical Genomics Foundry file
A record of why the Foundry itself is built the way it is — the rationale behind the machinery, not the domain.
requires createdorderrecord_kindrevisedrevisionstatussummarytagstitletype

Required by every instance: createdorderrecord_kindrevisedrevisionstatussummarytagstitletype

mold

Galaxy Workflow Foundry directory
One repeatable action, described as a typed reference manifest that casting compiles into a skill artifact.
requires axiscreatednamerevisedrevisionstatussummarytagstype
TDA Bioinformatics Foundry directory
One abstract action whose typed reference manifest can be compiled into a runnable artifact.
requires namesummarytagstype
Statistical Genomics Foundry directory
One abstract action, described as a typed reference manifest that casting compiles into a skill artifact.
requires namesummarytagstype

Required by every instance: namesummarytagstype

Companions

file Galaxy Workflow FoundryTDA Bioinformatics FoundryStatistical Genomics Foundry
eval.md recommended · foundry-only recommended · foundry-only recommended · foundry-only
scenarios.md recommended · foundry-only recommended · foundry-only recommended · foundry-only
cast-skill-verification.md optional · cast-input
changes.md optional · foundry-only
examples/ optional · bundled
README.md optional · foundry-only
refinement.md optional · foundry-only
refinements/ optional · foundry-only

Highlighted files are declared by every instance that carries this kind at the same requirement and disposition — the layout itself transferring, not just the kind's name.

Non-universal kinds

Not declared by every instance. Some belong to one domain; others transferred between two before the TDA Bioinformatics Foundry showed they were not universal. Both are useful evidence about where the substrate ends and domain or lineage-specific choices begin.

Galaxy Workflow Foundry

pattern file

One reusable piece of domain knowledge a Mold can reference, graded by how strongly the corpus supports it.

requires createdevidencepattern_kindrevisedrevisionstatussummarytagstitletype

cli-command file

One subcommand of a CLI tool, authored as a manual page a cast can read instead of guessing at flags.

requires commandcreatedrevisedrevisionstatussummarytagstooltype

cli-tool directory

One external command-line tool the casting pipeline may invoke — how to install it, how to run it, how to tell it is present.

requires createdinvokeoriginpackagerevisedrevisionstatussummarytagstooltype

pipeline directory

An ordered end-to-end protocol composing Molds into phases — the optional composition layer, for domains whose work is a journey.

requires createdphasesrevisedrevisionstatussummarytagstitletype

  • eval.md recommended · foundry-only
  • scenarios.md recommended · foundry-only
  • examples/ optional · bundled
  • README.md optional · foundry-only
prompt directory

A raw upstream prompt carried verbatim in a sibling file, with the note recording where it came from and under what license.

requires createdrevisedrevisionstatussummarytagstitletype

  • upstream.prompt required · bundled
research directory open companion set

A captured finding about the domain or its tooling — the grounding a Mold cites rather than inventing.

requires createdrevisedrevisionstatussummarytagstype

schema file

A machine-checkable contract a cast can validate against, plus the validator that decides it.

requires creatednamerevisedrevisionstatussummarytagstitletype

source-pattern file

A shape recurring in one SOURCE ecosystem, held separate from the target-side patterns that implement it.

requires createdimplemented_by_patternsrevisedrevisionsourcesource_pattern_kindstatussummarytagstargettitletype

TDA Bioinformatics Foundry

paper file

A source note reviewing one external TDA or topological deep learning paper or survey, linking to the work rather than reproducing it.

requires citationderivedsource_licensesource_urlsummarytagstitletype

environment directory

A reproducible biopixi fixture that assembles packages and their dependencies into one runnable configuration, carrying a portability grade.

requires portability_gradesummarytagstitletype

  • pixi.toml required · bundled
  • pixi.lock recommended · bundled
method file

This Foundry's account of one TDA or topological deep learning technique: what it computes, when to reach for it, and what here implements it.

requires facet_tagsummarytagstitletype

package file

A profile of one upstream TDA or topological deep learning software project and the code facts needed to evaluate and harden it.

requires languagesrepositorysoftware_licensesummarytagstitletype

recipe file

A rattler-build recipe in this repository that supplies a package the public conda channels do not, and the route by which it could leave.

requires buildgapsummarytagstitletypeupstreaming

replication_experiment file

A bounded study this Foundry ran to test an external paper's claims, pinning the standalone repository that holds the evidence.

requires arcartifactredistributionstatussummarytagstitletype

Statistical Genomics Foundry

paper directory

A faithful summary of one published paper, carrying the provenance and licence posture the summary was made under.

requires access_dateattributionderivedlicensesource_idsource_urltagstitletype

  • guidance.md required · foundry-only
pattern directory

One named methodological pattern — established-good or cautionary-bad — that a referee Mold reasons against.

requires namestatustagstype

book directory

An own-words summary of one chapter of an external textbook, carrying the book-level licence record it was made under.

requires attributionderivedlicensesourcesource_urltagstitletype

  • guidance.md optional · foundry-only
tutorial directory

A faithful summary of one package vignette or tutorial, pinned to the release it documents.

requires access_dateattributionderivedlicensesource_idsource_urltagstitletype

  • guidance.md required · foundry-only