← Stream
field notes

Typed relations as garden infrastructure

How hub/develops relations replace tag-based project structure with an explicit ontology, and what that means for the three kinds of connections in the garden.

This garden has always had connections: wiki-links between posts, backlinks in sidebars, tags grouping similar ideas. What it lacked was structure. Not more connections, but typed ones. A link that says “this file is part of that project” carries fundamentally different information than a link that says “this file mentions that concept.”

Terminology

Technical termGarden metaphorMeaning
HubSeedbedA post that defines a project. Marked hub: true. Appears on the Projects page.
Project filePlantingA post that develops a hub: an experiment, field note, or seed that grows from it.
DevelopsTakes root inThe relation from a file to its hub. Direction: file → hub.
Part ofGrows inThe sidebar label on project files: “Part of: [hub title].”
Project filesWhat’s growingThe sidebar label on hub posts, listing their plantings.
Authored relationTended pathA structural connection explicitly declared in frontmatter (develops).
Intentional referenceLaid pathA wiki-link placed manually. “I deliberately connected these.”
Emergent connectionWind-seededA semantic similarity discovered through embeddings. Not planted, just happened.

The problem with tags as structure

The garden’s project hubs were originally identified by a project tag. It worked, but it conflated two things: topic (this is about a project) and structure (this file is the hub). Tags are good at the first job, bad at the second.

When a book recommender experiment file shows up on the Projects page, the tag system has no vocabulary to prevent it. You either give everything the tag or nothing. There is no “grows in” in a tag list.

The ontology question

Typed relations are subject-predicate-object triples: “book-recommender-scoring-algorithm.md develops book-recommender.md”. The predicate carries the meaning.

Choosing the right predicate turns out to be harder than it looks. Some candidates considered:

  • inquiry: book-recommender (noun-based): describes the topic but not the relationship. “I belong to this inquiry” is not the same as “I am a step in developing this thing.”
  • grows: book-recommender (verb, garden metaphor): ambiguous direction. Does this file grow from the hub, or does it grow the hub?
  • develops: book-recommender (verb, unambiguous direction): this file develops the hub. Clear direction: the file is doing the developing.

develops was chosen because it names the relationship from the file’s perspective (active, directional) and is unambiguous about which end is the contributor and which is the seedbed.

The hub/develops system

Two frontmatter fields now encode project structure:

  • hub: true on the defining post for a project. The Projects page filters on this. The sidebar shows “Project files”: the plantings that grow from this seedbed.
  • develops: <slug> on any post that is a planting. The sidebar shows “Part of”: the seedbed it grows in.

A post can have both. The explore-page design field note is a seedbed for its own sub-project and a planting in the knowledge graph project. The system supports nesting naturally.

Three kinds of connections

The garden now has three distinct connection layers, each answering a different question:

LayerGarden metaphorSourceQuestion
Wiki-linksLaid pathsAuthorWhat is this post deliberately connected to?
developsRoot systemAuthorWhat seedbed does this planting grow from?
EmbeddingsWind-seededAlgorithmWhat is semantically close, without anyone planning it?

These layers are complementary, not redundant. A post can reference another without developing it. Two posts can be semantically similar without being part of the same project. develops is the first layer in the garden that carries explicit structural semantics rather than topic semantics.

What’s still open

The knowledge graph plantings (reading notes, embedding surveys, threshold analysis) haven’t all been tagged with develops yet. That’s a labeling task.

The explore map’s named areas (currently emergent k-means clusters) now have a second layer: inquiry areas derived from develops relations, drawn as pink dashed outlines around the actual project plantings. The two layers show the difference between “what the algorithm thinks is related” and “what we know belongs together.”

Mycelium tags, relations & arguments