Use cases
Node types are yours to invent.
md2hd has no opinion about what you are mapping. It reads the types your notes declare and draws them. That one decision is why the same canvas reads as a pipeline, an architecture diagram, an argument or a plot outline — without being told which.
Business development
Who actually decides
A pipeline is not a list of companies. It is a handful of people, the bodies they sit inside, and the one relationship every other one routes through. The list view hides that; the map is the shape of it.
--- id: dana-whitfield type: person weight: lead title: Dana Whitfield subtitle: City Clerk works_at: "[[riverside-council]]" rel: owns: open-records-portal --- Replies within a day, ignores form letters. met:: [[kickoff-call]]
- Type by what a thing is — org, person, thread, program — and the categories separate themselves on sight.
- Weight the two or three that decide the outcome as
lead, and the supporting cast recedes without being deleted. - Meetings are nodes too. A
threadlinked to the people who attended keeps the history attached to the relationship.
Engineering
What depends on what
The architecture diagram in the wiki is eight months out of date because keeping it current is somebody else’s job. The notes you took while learning the system are current, because you took them last week.
--- id: notify type: service title: Notification Service subtitle: Go · 3 instances runtime: go1.23 oncall: platform rel: depends_on: [events-queue, user-db] --- Fans out to email and push. Retries three times, then dead-letters.
- Types are services, datastores, queues, jobs — whatever your estate actually contains.
depends_on:in the frontmatter of a service note is both documentation and an edge.- A dependency you have not documented yet draws as a grey placeholder, so the gap is visible rather than assumed away.
Research and reporting
How the evidence connects
Sources, the claims they support, and the claims they undercut. The argument is the graph; the prose in each node is the working. Reporting a story is mostly finding out which node everything else hangs off.
--- id: admin-precedent type: claim weight: lead title: Clerks can designate administratively confidence: high rel: supported_by: [precedent-scan] contradicts: vote-required --- Three comparable municipalities, 2019–2023. No council vote in any.
- A
sourcenode carries its own provenance as ordinary frontmatter — url, date obtained, who provided it. - Written as
supported_by:on the claim, drawn assupportsfrom the source — passive voice always points backwards, so md2hd stores it the other way round. - Select a claim and every source that bears on it appears on one side, everything it implies on the other.
Writing
Who knows what, and when
A cast list tells you who exists. It does not tell you who has met whom, who is lying to whom, or which two threads have to collide before chapter nine. That is a graph, and you have already written it in your notes.
--- type: map symmetric: [knows] inverse: serves: employs --- --- id: mira type: character weight: lead title: Mira Halloway subtitle: Archivist · unreliable rel: knows: [tomas] wants: the-ledger ---
- Characters, places, objects and beats are types.
knows,betrays,wantsare relations. symmetric: [knows]in the map block, and a mutual acquaintance draws as one line with a chevron at each end.- Weight the protagonists as
leadand the walk-ons asfaint, and the cast sorts itself visually.
None of these are templates.
There is nothing to install and no schema to pick. Every map above is plain markdown with atype: on each block — start with whatever vocabulary your notes already use.