Plain markdown on disk
Every note is a .md file in a folder you picked. Saving writes a temp file and renames it over the target, so a crash mid-write cannot leave you half a note, and the previous copy stays in .backups/. Open the same folder in Obsidian and nothing has to be exported.
Works while it is closed
The product is the folder and the conventions in it, not a running process. Every feature is asked one question — does this help an agent that has never seen this vault, while the app is shut? An agent works the vault either way; the app is how you watch.
It cannot phone home
Four runtime dependencies — the agent SDK, the updater, an icon set and a schema validator — and the window ships default-src none with connect-src none, so the browser engine refuses a network call rather than the code promising not to make one. The one request is asking GitHub if a version exists, and settings turn it off.
Get it
Free, no account, and nothing to sign up to. It makes exactly one request on its own behalf: when it opens it asks GitHub whether a newer release exists — a plain GET for a public file, no identifier, no version, no telemetry — and one click in the update panel stops it asking for good. Everything else it does happens on your disk.
github.com/Nathan5674312/agent-workspace/releases
- Two files: an installer, or a portable .zip that runs out of a folder without installing.
- Windows only. The macOS and Linux targets are configured and have never once been built.
- The builds are unsigned, so SmartScreen warns the first time — More info, then Run anyway.
- When an update exists it shows you the changes, the files and the line counts before you take it.
Where it actually is
Fate is being built in the open and is not finished. The list on the right is not modesty — it is the same status field the app ships in its own roadmap, which anyone who downloads it can read, so overstating anything here would be caught by the product itself. Nothing below the download should be a surprise afterwards.
Built
- A Windows build you can download and run today, installer or portable
- Markdown notes with backups on every save and a guard against two writers clobbering each other
- Canvas boards that are also runnable pipelines: cards are steps, arrows are the order
- A graph built from the wikilinks you actually wrote, and a table over your frontmatter
- Grouping that needs no tags: facets derived from folder, date and link neighbourhood
- Version history — every save leaves the previous copy, and restore goes back through save
- Daily notes and a calendar planner over the whole vault
- Ctrl+P opens any note by name, and search matches the words of a query rather than the exact phrase
Not built
- No sync and no collaboration. Both are below, and neither has been started
- Windows only. macOS and Linux are configured targets that have never been built
- The builds are unsigned, so Windows warns the first time you run one
- The agent can read the vault but not yet write to it — the tool list is Read, Glob and Grep
- Search is keyword matching over a linear scan, not an index, and there is no import from Notion or Evernote
- Nothing prunes the version history, so it grows without limit until you clear it
- No mobile app, and on iOS there never will be one that runs agents — no subprocesses
The only case study there is
There are no customers to write one about, so here is the one that exists. The app you can download and the page you are reading were both built by an agent working a vault that follows these conventions, with a human reviewing. That is a claim every company makes, so all three repositories are public and each item below names the file or the history you can check it against.
The copy is not in the page
Every string a visitor sees lives in one file, src/content.ts, and its comments cite the vault notes each claim was written from by name: 08 - Product Definition and Decisions, 12 - Website and Domain, Fate Site - Landing Page Research. The citations are the audit trail — you can read the file and see which decision produced which sentence, including the ones that were retired and why.
The releases are cut from a checked-in procedure
Shipping an update is not improvised. docs/AGENT-RELEASE.md in the app’s own repository is the binding version rather than a summary, and it opens on the fact the rest of it follows from: “A commit reaches nobody. A release reaches everybody.” An agent reads it end to end before it is allowed to publish anything.
The vault template is the one this was made in
It is not a demo vault assembled for the repository. AGENTS.md, _templates, inbox, tasks and wiki are the same shapes the work above ran on, which is also why the product is the folder and the conventions rather than the app — an agent that has never seen a vault needs the conventions, not a window.
The commits say who wrote them
The co-author trailer is in the commit message itself, so git log re-derives this on any clone instead of asking you to trust a number printed here. Measured 2026-09-09: 218 of 233 commits in the app and 50 of 81 on this site name an agent as co-author. The remainder are not a human stepping in — they are commits from a second agent session that does not write the trailer, so treat the count as a floor rather than a census.
One person, one vault, three repositories. That is the entire sample. There is no customer here, no revenue and no second user, and a case study of one is exactly as weak as that sounds. It is on the page because every part of it is checkable, not because it is representative.
Questions
Which agents does Fate work with?
Claude Code, Codex, Gemini, and anything else that can read a folder. There is no plugin to install and no API key to paste — you point the agent you already use at the vault and it reads the conventions in it. That is deliberate rather than incidental: discovery happens through open files any agent already reads, AGENTS.md and CLAUDE.md and the folder structure itself, rather than a proprietary API that would tie your notes to one vendor. Fate never handles a credential, never proxies a request and never offers a login, which puts it on the same footing as an .editorconfig or a Makefile: your agent, your subscription, your machine. It is also why the product works while the app is shut, since an agent can read the folder with nothing running. Today its tool list is Read, Glob and Grep, so it can read the vault but cannot yet write to it.
Does Fate send my notes anywhere?
No. It makes exactly one request on its own behalf: when it opens it asks GitHub whether a newer release exists, a plain GET for a public file with no identifier, no version and no telemetry, and one click in the update panel stops it asking for good. There is no account, no analytics and no crash reporting. The window ships default-src none with connect-src none, so the browser engine refuses a network call rather than the code promising not to make one, a guard that holds even if some future dependency tries. There are four runtime dependencies in total. Your notes are .md files in a folder you chose, and nothing uploads them: saving writes a temp file and renames it over the target, entirely on your disk. Pull the network cable and reading, editing, saving, the graph, the database, canvas and version history all still work.
Is it free?
Yes, and with no account. The rule for what will ever cost money is upkeep rather than features: everything Fate does today runs on hardware you already own, so it costs nothing to keep alive and it stays free, a permanent answer rather than an introductory one. What will cost money is the part that needs a machine of mine online, and there are exactly three: sync away from your own network, sharing a note with someone who is not you, and two people in one document at once. Costs that do not grow per person stay mine. A code-signing certificate and a developer account cost the same whether ten people run this or a hundred thousand, so a Mac build and a build that does not trip SmartScreen will not be sold back to you as features. There is no price yet, and I am not going to invent one.
Does it run on macOS or Linux?
Not yet. Windows only, and the honest version is that the other two have never once been built. The macOS and Linux electron-builder targets are configured in package.json and unverified, which is scaffolding rather than support. Neither can be produced on the machine this is built on: mac artifacts require macOS, and a Linux AppImage from a non-Linux host requires Docker, which is not installed. The Windows release ships two files: an installer of about 104 MB, or a portable .zip of about 142 MB that runs out of a folder without installing. Those builds are unsigned, there being no code-signing certificate, so SmartScreen warns the first time you run one and getting past it is More info, then Run anyway. The certificate and an Apple developer account are costs that do not scale per user, so they stay absorbed rather than becoming paid features.
Is there a mobile app?
No, and on iOS there never will be one that runs agents. The platform does not allow a process to spawn another process, and spawning the agent you already have installed is the entire mechanism, so this is a platform rule rather than work nobody has got to yet. That also sets the priority: mobile is rated low, because what the app does is let you watch an agent work, and agents run on a computer. What does travel is the notes themselves. They are plain .md files in an ordinary folder, so they move with whatever you already use for files and open in any editor on any device with no export step. Sync of any kind is not built yet, including on the desktop, and nothing about it has been started. A phone can read your vault today; it cannot run the part that makes Fate useful.
Do I have to move my notes out of Obsidian?
No, and there is nothing to import either, because it is the same folder. Every note is a plain .md file in a directory you picked, so you can open that directory in Obsidian and in Fate and neither has to be told about the other. Saving writes a temp file and renames it over the target, so a crash mid-write cannot leave you half a note, and the previous copy stays in .backups/. Every save leaves one, and that is what version history reads. Bookmarks are stored in the .obsidian/bookmarks.json that Obsidian itself uses rather than a second list, so a bookmark made in either program shows up in both. The honest gap there: a running Obsidian rewrites that file from memory, so a bookmark added while it is open can be overwritten by it.
What does the agent actually do with it?
Four steps, and the third is the one that matters. It looks up which skills apply, interviews you about how you actually work, what font, what voice, what hook, what done looks like, then writes those answers to disk as new skill files and uses them to do the repetitive part next time. So the vault does not ship your skills; it ships the protocol that manufactures them from an interview, which is why a near-empty vault is still worth downloading. The honest scope is roughly four fifths of the manual labour rather than full automation: you keep the creative decisions and supply the raw material, and any feature promising to remove you from that is overselling it. Today the agent can read the vault but not write to it, the tool list being Read, Glob and Grep, so it proposes and you apply.
What costs money to run, and what never will
None of this exists yet. The rule for what will cost money is upkeep, not features: everything Fate does today runs on hardware you already own, so it costs nothing to keep alive and it stays free — a permanent answer, not an introductory one. What follows needs a machine of mine to stay online, and those bills grow with every person, every gigabyte and every device left connected.
Costs that do not grow that way stay mine. A signing certificate and a developer account cost the same whether ten people run this or a hundred thousand, so they are the price of shipping the free thing — a Mac build and a build that does not trip SmartScreen will not be sold back to you as features. And there is no price yet. I am not going to invent one to fill this space.
Humans reach past themselves, and the machine has not troubled itself to reach back. The hands behind this page are Michelangelo’s, recast: the straining one with the tendons up is ours, the limp one is the machine, and scrolling is what closes the gap between them. They never touch. Fate is an argument about the part in between.