Kind Catalog
A Foundry’s knowledge base is not a pile of Markdown. Every note declares its kind —
type: 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:
- The same kind can require different metadata in each instance.
moldandmetaare shared by all three, but not identical — one instance puts a full lifecycle envelope on every note (status,created,revised,revision,ai_generated), the other took the parts it could populate truthfully and left the rest off rather than backfill dates it did not have. That gap is shown, not smoothed. A field stamped to satisfy a schema is worse than an absent one: it manufactures provenance. - A kind’s name transferring is weaker evidence than its required fields transferring. The “required by every instance” line under each substrate kind is the part that is really shared.
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:
patternandpaperhave more than one physical form. The first two instances split onpattern; the third adds a flatpaperbeside Statistical Genomics’ directory-shaped one. Those differences used to live inside collection globs and reached no manifest, so this page could not have reported them however carefully you read the tables.- An open companion set is not an empty one. A kind may declare that files it has not enumerated are legitimately present — vendored sources beside a research note. That says unbounded, not none. They are opposite claims, only one of them is checkable, and the table below marks the open one rather than leaving a blank to be read either way. Exactly one kind across all three instances declares it. A book chapter looked like the second case and is not: its acquisition files sit at the book level, one directory above the chapter that is the note, so declaring the chapter open would have claimed unboundedness where the truth is those files belong to a container that is not a note at all.
- The declaration is load-bearing, not documentation. Validation reads it to check the note
directory, catalogs read it to report the layout, and casting reads the same declaration to copy
fixed
bundledcompanions while keepingfoundry-onlyandcast-inputfiles out. No target or note restates that fixed membership.
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.
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.
- Galaxy Workflow Foundry —
galaxyproject/foundry@8b27f0b, 10 kinds - TDA Bioinformatics Foundry —
jmchilton/bio-topo-foundry@7fc30df, 8 kinds - Statistical Genomics Foundry —
jmchilton/statistical-genomics-foundry@2d79903, 6 kinds
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 Foundry | TDA Bioinformatics Foundry | Statistical 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.mdrecommended · foundry-only -
scenarios.mdrecommended · foundry-only -
examples/optional · bundled -
README.mdoptional · 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.promptrequired · 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.tomlrequired · bundled -
pixi.lockrecommended · 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.mdrequired · 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.mdoptional · 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.mdrequired · foundry-only