Glossary
Terms used across this hub, in plain language.
Hub
A user's public URL on mdfy. Lives at mdfy.app/hub/{slug}. Contains: a concept index, all the user's bundles, optional curated content. The hub is the unit that AI tools paste in as their persistent context source.
Bundle
A topical grouping of documents. Has its own URL (mdfy.app/b/{id}). Carries pre-computed analysis (themes, insights, connections, document summaries, reading order). The bundle is the unit for per-project context — drop a bundle URL in AGENTS.md or .cursor/rules and the AI loads everything in the bundle.
Doc
A single markdown document. Lives at mdfy.app/d/{id}. The atomic unit. Everything else is built out of docs.
Concept index
The auto-derived list of every distinct concept the AI extracted from your hub's documents. Each concept links to the docs it appears in. Updated by the capture pipeline.
Concept relations
Edges between concepts. "Hub-shaped memory" is_a "Memory architecture"; "Cross-AI portability" requires "Markdown URLs". The relations are what makes the index a graph instead of a list.
graph_data
The JSON blob attached to each bundle. Contains nodes, edges, themes, insights, document summaries, reading order, key takeaways, gaps. Generated by an LLM analysis pass. Inlined in the bundle's URL response so any AI fetching the URL inherits the analysis without a second call.
Capture
The act of moving content from somewhere else (a chat, a file, a webpage) into mdfy. Multiple capture surfaces: Chrome extension, MCP tools, paste-anywhere, file import.
Recall
The query side of the hub. POST /api/hub/{slug}/recall runs a hybrid (BM25 + vector) retrieval, optionally reranks with Anthropic Haiku, returns the top-k matching chunks.
Deploy
The act of using an mdfy URL as context. "Deploy this hub" = "paste the hub URL into your AI tool of choice." There's no actual deployment in the infra sense — the URL is just a URL.
Edit token
A token that grants write access to a specific doc or bundle. Generated on creation. Can be regenerated. Not an OAuth session — just a string that the API checks.
Owner
The user_id that owns a doc or bundle. Authenticated via Supabase Auth. Owner ≠ edit-token-holder; either path grants write.
Restricted
A permission state where a doc is non-public AND has at least one entry in allowed_emails. Only owners + listed emails can view.
Private
A permission state where a doc has is_draft = true. Only the owner can view. (The legacy name "Draft" was changed to "Private" in v6 because "Draft" read as "incomplete," which wasn't the intent.)