The Syns Guidebook
What Syns is, why it exists, and what we hold to be true.
For people working on Syns. Parts I to VI are the argument. Part VII is the short version.
Code is the first case, not the boundary. The go-to-market leads with client context: for client-service teams of two to ten, boutique agencies, studios and consultancies where several people work on the same client, each with their own AI. Developer teams are the second profile.
How to read this
Where everything is.
This guidebook says what Syns is and why.
The parts
- I · Why we exist — the beliefs, and the ambition they force.
- II · The ladder — why markdown, why sharing, why a product. Three steps; each depends on the one before.
- III · The problem: what goes wrong when agents work from what someone wrote down about a client, and the same problem in a developer team.
- IV · The answer — what Syns is, in layers, and what we refuse to build.
- V · The objections — why nobody built it, why the alternatives fall short, who the neighbours are.
- VI · Who it is for: client-service teams first, developer teams second, the buyer, and who we turn away.
- VII · Come back here — one-screen reference cards. Open these mid-conversation.
- Glossary — every term we use, one line each. Dotted underlines in the text jump here.
Part I
Why we exist
Four beliefs about how software will be built. Hold them, and Syns follows.
The world we build for
The four beliefs, and the flip they cause.
Syns rests on four statements about where software development is going. None has a date. The argument depends on the direction, not the pace.
Belief 1
Humans stop writing, reviewing and inspecting code.
Not less of it. None of it.
Belief 2
Agents run in the cloud, not on a person's machine.
Nobody sits next to an agent watching it work.
Belief 3
Chat stops being the interface.
People direct agents through the documents they maintain, not through a conversation.
Belief 4
Software builders are needed more than ever, and what they build is the specification.
With the right context and enough iterations, any software can be built. That is an engineering problem now, not a model problem.
The flip
Today code is the asset. We read it, review it, maintain it, and fear breaking it.
When agents write the code, the asset flips.
Code becomes disposable. The specification becomes the durable artifact.
The asymmetry is exact. From a good specification you can rebuild the software. From the software you cannot rebuild the specification.
Code holds a decision's consequence. It never holds the decision.
When humans write code
The code is the artifact.
The spec is an aid, written before and forgotten after.
Quality comes from reading every line.
History is the commit log.
When agents write code
The spec is the artifact.
The code is derived output — delete it, regenerate it.
Quality comes from a spec that removes ambiguity and a process that has been proven.
History is what was intended and how it was achieved.
Where this leads → 3 · The ambition. The beliefs as a list → 22 · The beliefs.
What changes for the builder
Trust moves from reading lines to trusting the process.
Building does not go away. It moves.
A good specification removes ambiguity about what the software should do.
A good process turns that specification into working software reliably.
With both in place, the code is no longer something to audit. We trust the result because we trust the process that produced it.
Because the process is reproducible, we can generate the software again and get the same outcome.
Code quality becomes a consequence, not a concern.
What the builder now does
- Writes and maintains the specification — the boundaries, the trade-offs accepted, the things deliberately not built.
- Designs the workflow the agents follow.
- Builds the evaluations that prove the process works.
- Reads the reasoning, not the diff.
The work ahead is not making agents smarter. It is building the specifications, the workflows, the evaluation systems and the interfaces that make this real inside engineering teams.
That is the work Syns is for.
Why the spec has to be written at all → 9 · Why write it down.
The ambition
If you hold the beliefs, something like Syns is inevitable.
Syns is the product form of the beliefs in chapter 1.
Syns hosts the reasoning that produces code. GitHub hosts the code.
The reasoning is the deliberate artifacts: plans, specifications, architecture decisions, configurations, the files that guide an agent to build software.
Syns does not host code. It does not train or tune models. It builds the engineering layer around them: storage, versioning, access control, coordination, discovery.
Code is the first case, not the boundary
Belief 3 and the case for sharing hold wherever an agent does the work from what someone wrote down.
A consultant's brief on a client is to the proposal what a specification is to the code. It is the durable object the output is produced from. A new session cannot recover it from the output. And it has to be shared when the work is.
The go-to-market leads with that case: client context. The argument below is written for code because the product was built on it.
Every belief maps to a design choice
| Belief | What it forces in Syns |
|---|---|
| The specification is the durable artifact | The specification is the versioned object. Git tracks what changed in code. Syns tracks what was intended and how it was achieved. |
| Reliability comes from reproducibility | Every update captures the exact state. Full history returns to any point. Forking with attribution reuses proven approaches. The same software can be rebuilt anywhere from the same blueprint. |
| It is an engineering problem, not a model problem | Syns trains nothing. It is infrastructure for agent-driven development. |
| Trust the process, not the lines | Every update, every version, every collaborator action is recorded. You can see how a result was reached, not only what it produced. |
| Builders are needed more than ever | Built for the people who design specifications and workflows, so they can work at scale, share, and build on each other. |
| Agents write the software | Agents are first-class actors. The CLI is designed for machine use. The API is built for machines: one update is one unit, and only what changed travels. Many agents work on one repository at once, with their roles enforced and a stale write rejected rather than overwriting someone else's. |
Without the beliefs, Syns makes no sense
- If code is the asset, GitHub is enough.
- If reproducibility does not matter, versioning specifications is pointless.
- If models alone will solve it, no infrastructure is needed.
- If humans still write most software, coordination for many parallel agents is overbuilt.
Hold the beliefs fully, and something like Syns is inevitable. The beliefs are the thesis. Syns is the product.
The short form → 21 · Syns in one breath.
Part II
The ladder
Three steps. Each only makes sense standing on the one before it.
Why markdown
The file is what an agent already reads and writes.
Markdown is the native input and output of every coding agent.
An agent works by reading files, writing files and running commands. Its skills, its memory, its plans and its instruction files are already markdown. Working in markdown asks it to learn nothing and install nothing.
Cloud agents do not change this
Belief 2 moves the agent off your laptop into a sandbox. A sandbox has a filesystem and a shell. A cloud agent reads and writes a markdown file exactly as a local one does.
What disappears when agents leave the laptop is the shared disk. That is what makes the next rung mandatory rather than convenient.
The case, strongest first
- Zero integration. A database, a document platform or a vector store needs a tool call, a schema, and a decision about when to write. A file appears as a side effect of working.
- No schema in advance. The shape of agent reasoning is not known up front. The sections, the wording and the layout of the folder emerge from the work. Text holds a thought that has no field yet; structure is added only where it has emerged.
- Human-inspectable, and a change is readable. The person holding the intent must be able to read and correct it. A changed sentence is readable in any editor. A restructured JSON blob or a database row is not.
- Cheaper than a document platform. Reading a Google Doc or a Notion page through its API costs a lossy round-trip on every access. A folder of markdown is the cheapest thing an agent can work on.
- It survives us. A folder of markdown outlives the product, the vendor and the format decision. Leaving Syns costs one download. That is what makes trusting a hosted service safe.
Next rung → 5 · Why sharing. The alternatives to files → 16 · Why not X.
Why sharing
The reasoning has to travel as files, to agents.
Human teams shared knowledge beside the code for decades: a Slack message, a standup, a comment on the Linear ticket.
Those channels were built for a human reader. The reader is now an agent.
An agent starting a task does not read yesterday's Slack thread, was not in the standup, and does not open the ticket unless told to. What it reads is the files in its working directory.
What has to be shared is the markdown itself, as files an agent will load — not a summary a human types into a chat.
Under belief 2 this stops being a preference
Two agents in two sandboxes have no shared disk.
Either a layer built for it synchronises the reasoning between them, or each works from whatever happened to be in its sandbox when it started.
decisions/ledger.md. Agent B, on another machine an hour later, is asked to add refunds. Without a sync layer, B never sees the decision and recomputes balances. Both agents did good work. The system now has two ways of knowing a balance.Next rung → 6 · Why a product. The problem this produces → 7 · Nowhere to live.
Why a product
Why the reasoning gets its own repository, and why a code host is the wrong home for it.
This is the question a developer asks first: why not GitHub? The answer has two steps. A consultant asks a different first question, about the AI's own project; that answer is in chapter 16.
Step one — the reasoning gets its own repository
Agents iterate on the reasoning far more often than on the code. A plan is rewritten twenty times while the code it describes changes once.
Kept in the code repository, that rate of change has two bad outcomes and no good one:
- Commit every turn, and the code's history is mostly agent text.
- Commit once, and the progression that made the document worth keeping is thrown away.
There is no right commit granularity for a document a machine is thinking through. Commit granularity is a human editorial decision, and there is no editor.
Some agents produce no code at all. An agent using markdown as memory has nothing to commit alongside. A consultant's agents never do.
The reasoning also has a different shape from code, and the difference shows in four places:
- Non-developers work in it. A change in business strategy reorganises the backlog and rewrites what will be delivered. Product, design and management people make that change. The codebase is untouched while it happens.
- It is true regardless of branch. A decision holds whichever branch of the code you have checked out. A file that lives inside a branch cannot say that.
- It spans repositories. Requirements and decisions live outside any single code repository. One project can reference the decisions and context of another. Specs, changes and planning context are separable from the code they describe.
- It moves faster than the code. Ideas are explored and iterated in the reasoning long before — and often without — a codebase update.
So the reasoning goes in a repository of its own, or it damages the one it lives in.
Step two — that repository does not belong on a code host
Once the reasoning is separate, a code host is a general-purpose remote holding an artifact it was not built for.
- Many agents write it in parallel, on many machines and in many sandboxes, and every one has to be current without anyone running a step.
- Changes arrive continuously and in small pieces. No human decides when a thought is finished, so there is no commit to make. What you want to inspect is not a flat list of commits but what an agent was working on, what context it held, and how its change affected the other documents.
- Nothing in a code host reads the text for whether it still means what it meant.
What works for code — branches, pull requests, review, a human at the keyboard — does not work for files updated continuously by machines and consumed by machines.
What a purpose-built host does instead
- Keeps every copy current across every agent, with no ceremony to set up.
- When one agent changes a file while another is working on it, rejects the stale write instead of silently overwriting a teammate's.
- Says things about the whole set of documents a code host has no reason to say: which concepts are duplicated, which statements disagree, what the agents actually read.
Where a team already keeps a separate planning repository, the argument is never against their structure. It is that the remote underneath it can do more.
The full head-to-head, including GitHub → 16 · Why not X. Why nobody built this → 15.
Part III
The problem
Two things go wrong when agents work from what a person has written down about a client. They are met in order.
Starting from zero
Felt on day one: what the AI knows cannot be shared.
What a consultant knows about a client is the input to everything they produce for that client.
Who the client is. What was decided and why. The brand and the template. The past work worth reusing. The option deliberately not proposed.
The output cannot hold it. A proposal holds a decision's consequence, never the decision. So it has to be written down, and the agent has to read it before it starts.
Every session begins with re-explaining the client.
The briefing lives in the consultant's head, in old chats, in a pasted block of context, or in one vendor's project. Each new session, each second AI and each colleague starts without it.
Four things make it worse for this audience
- It does not reach the colleague. What one person told their AI about the client stays with that AI. The colleague gets a file on Slack, does not read it, and either asks again or produces work that contradicts it. The cost is not only rework but a colleague who stops using their own judgement.
- It multiplies by the number of clients. A team holds several briefings at once, and every switch is another re-brief.
- It is locked to one vendor. What one assistant was taught, another cannot read. Keep one project per vendor and every correction has to be made in each copy by hand.
- It is spread across companies. The material sits in the firm's own drive and in each client's accounts, often a different suite per client. A product that stores context per company account cannot follow a team across other companies.
The tools a consultant already has were built to share knowledge between humans. The agent is the consumer now, and it cannot read the call notes, the inbox or the colleague's head.
This is the reason someone goes looking for somewhere to put the briefing.
The same problem in a developer team
Every agent session produces code and the reasoning behind it: the plan, the decisions, the alternatives rejected. The code goes to the code repository. The reasoning stays on whichever machine produced it.
Two agents in two sandboxes have no shared disk. Either the reasoning is synchronised between them by a layer built for it, or each works blind.
The second problem, which arrives once this one is solved → 8 · Intent drift.
Intent drift
Felt a few months into an engagement: what is shared drifts.
The written briefing is what the agent reads before it starts. It is only worth reading while it matches what was agreed.
Intent drift is when the written briefing stops matching what was agreed, and nothing tells you.
A client changes the target in a call.
One copy of the brief is updated and another is not.
Nothing breaks.
The next session reads the stale copy, treats it as the brief, and produces work that is fluent, confident and wrong: off-brand, off-target, built on a decision the client reversed.
The consultant finds out when the client does, and absorbs the rework.
Two properties make it expensive
- It is invisible while reading. A stale sentence reads as well as a current one. The only detector is the person holding the whole picture.
- It compounds. Each drifted brief is the input to the next piece of work, so the error is repeated rather than corrected.
Three ways a briefing decays
It contradicts itself
The same fact lives in two places: two projects, two vendors, two colleagues' copies. One is updated and nothing tells the other.
Two pieces of work built on two different briefs, each correct about what it read.
It goes stale
The text no longer matches what the client last said.
The brief decides the output. The agent trusts the written rule over the call it never heard.
It only grows
Every correction adds words. Nothing removes any.
Old and new instructions sit side by side and the agent picks one. Every frontier model degrades as context grows.
Why the human fix stops working
The workaround is to re-read the brief after every change and correct it by hand. That loop is right, and it leaks in three places.
- Reading costs time a busy consultant stops paying.
- A stale sentence reads perfectly well, so it is skimmed past.
- A correct fix in one copy silently leaves another wrong.
The third leak ends the loop. Nobody decides to stop checking. The cost exceeds the perceived benefit, and after that drift is unbounded.
This is the reason someone who already shares the briefing keeps paying.
The layer that catches it → 11 · Three layers. Why a spec at all, given this → 9.
Why write it down at all
The sharpest objection, answered before it is asked.
A specification is a second thing to maintain, and it can disagree with the code. That disagreement is exactly the failure chapter 8 describes. So: no spec, no drift. Why not let agents work from the code plus the conversation?
The objection is argued here for code. It holds the same way for a client briefing and the work produced from it: code is the first case, not the boundary.
Five reasons the objection fails
- Code cannot hold the decision. You can read what the system does. You cannot read the trade-off that was accepted, or the alternative that was rejected.
- Negative space cannot be written in code. "We deliberately did not build X" has no expression in a codebase. The absence looks identical to an oversight, and an agent will helpfully add X back.
- The specification has a different shape from the code. It holds business context, priorities and plans that change without the code changing, and that non-developers own. Code has nowhere to put them — see chapter 6.
- Inference is neither free nor stable. Working intent out from the code costs context on every run, and produces a slightly different answer each time. Writing it once and reading it is cheaper and deterministic.
- Drift is a detectable failure. Absent intent is an undetectable one. A spec that disagrees with the code can be found and fixed. Intent that was never written down cannot be checked against anything.
Where the objection wins
One person, one agent, one short-lived project. The intent fits in a head and a context window, and a specification is overhead.
That case is real. It is not who we build for — see 18 · The profile.
Part IV
The answer
What Syns is, in layers. What a customer gets, in order. What only we can hold. What we refuse to build.
What Syns is
The object, and the loop.
A repository in Syns is a versioned collection of the markdown files that tell agents what to build.
Specifications, plans, architecture decisions, configurations, instruction files, retrospectives.
Not source code — that stays where it is. Not transcripts or prompts — those are how an agent got somewhere, not what it decided.
For the wedge, that collection is a client's briefing: the brief, the brand rules, the decisions, the past work worth reusing.
Everything in a Syns repository got there because someone or something decided to write it down.
That one sentence separates Syns from every memory database and every session recorder. We store deliberate artifacts, not inferred state.
The loop
Each step, one line
- Set up. A person points an agent at the setup skill. It reads what is already written (a codebase, existing markdown, what is known about a client), asks what it cannot infer, and proposes a structured wiki. It ends with a review page showing every source, the existing markdown, the proposed structure, and which fact came from where. Nothing is invented, the old structure is backed up, and everything is revertible.
- Sync. Every agent session updates from the shared state before its first turn and sends its changes at the end of each. The wiki is current on every machine and in every sandbox without anyone running a step. Nothing sits inside the agent's reasoning loop.
- Work. People and agents store, read, review and collaborate on the markdown.
- Health. Syns will score the wiki from two independent sources: structure checks (frontmatter valid, links resolve, dates fresh) and each agent's behaviour against its own baseline (a session that normally makes three edits making fourteen). Either alone is gameable.
- Repair. A separate agent will fix the structure so the problem does not come back. It never reverts; it fixes on top. It has to be separate because the agent that went wrong does not know it did, and cannot read across sessions.
Health and repair belong to the third layer, insight (chapter 11). They are direction, and are spoken of in the future tense.
How it works underneath, one line each
- An update is one unit. A set of changed files becomes exactly one new version. There is no half-applied state.
- Only what changed travels. Unchanged files are sent as fingerprints. A large repository with one changed file costs a kilobyte on the wire.
- Stale writes rejected. An update declares the version it last saw. If another agent has sent an update since, yours is rejected rather than silently overwriting their work. The agent then reads the other's work and adjusts.
- Full history — per repository, per file, per agent, per turn — with revert to any point.
- Teams and roles. A private repository is indistinguishable from a non-existent one to anyone without access.
- Every action is recorded from the first day. Deleting a repository does not delete the record of what happened to it.
- Tool-agnostic. It does not care which agent or methodology wrote the file, and it sits underneath the workflow tools, not in front of them.
- Plain files you can leave with. A folder of markdown outlives the product and the vendor. Leaving costs one download.
The principles as a list → 23 · The principles.
Three layers
Keep it. Share it. Understand it. Each necessary, none enough.
The answer to Part III is three layers. The order is load-bearing: the third exists only on top of the first two. That is the whole reason a purpose-built product can exist here.
| Layer | Why it is not enough alone |
|---|---|
| L1 Persistence | A drive has a version of this, and so does a code host. Leading with it invites the correct reply: "we already have Drive." |
| L2 Coordination | The answer to chapter 7. Each assistant vendor ships a version of it for its own model, and the neutral versions are workspaces of pages rather than files. Hard to show in a room. |
| L3 Insight | The answer to chapter 8, and the layer nobody has. Every instrument computes over a persistent, shared, versioned record of what each agent read and wrote, which is L1 and L2. |
L1 makes drift detectable in principle. L2 makes the briefing work across clients, vendors and colleagues, and creates the drift that matters most, between copies and agents that never meet. L3 is the only part a customer cannot assemble themselves.
The full sentence, worth knowing by heart:
What a person knows about their work cannot be shared with agents by the tools built for humans, and once shared it drifts from what was agreed, silently and cumulatively. The only place either can be fixed is a persistent, shared, versioned record of what every agent read and wrote. Syns is that record, and the instruments over it.
One L3 concept worth knowing → invariants. What only we can hold → 13.
What a customer gets
Now, next, eventually. What the user feels, in order.
Keep this list separate from the next chapter. This is what a customer feels. Chapter 13 is what a competitor cannot copy. They are different lists.
One briefing per client, current everywhere, read before the agent starts
Kept as plain files, versioned, and current on every machine and in every sandbox, so the session begins from what is already known. A colleague's agent works from the same files, and a stale write is rejected instead of overwriting theirs. Setup proposes a structure from what is already written and what it asks, and shows where every fact came from. The files can be taken away at any time.
Insight over the briefing
Facts that disagree. Instructions nobody reads and everyone pays for. What each agent actually read. A repair agent that fixes the structure, not the symptom.
The standard place a person's working knowledge lives
The layer every assistant reads from by default, and a corpus of proven structures per kind of engagement that a new client starts from.
Where value lands first
Setup and not re-explaining. Not health, not repair.
The sequence a customer feels: one client's briefing gets set up from what already exists, the next session starts from it instead of from zero, a second client follows, and then a colleague's agent works from the same files.
The failure it is measured against: a context block pasted into every chat, one project per vendor with the copies drifting apart, and a colleague who cannot use any of it.
L3 is what makes the value permanent, not what makes it start.
Checking output scales with what the agents produce, which only goes up. Checking the briefing scales with the briefing, which is bounded and can shrink.
That asymmetry is the answer to anyone who says checking AI output is already their bottleneck.
What only we can hold
What a competitor cannot copy, in the order to build the business on.
Individually weak, jointly hard to copy. This order is not the order that shows best in a room.
- The vendor-neutral, tool-agnostic position. An assistant vendor that charges per seat or per token gains nothing by making a rival's model better, so each vendor's shared context stays one-vendor. This protects only a customer who mixes assistants. Whether this audience does is the first thing every conversation checks.
- It follows the work across companies. A client-service team's working knowledge spans its own accounts and each client's. Products that store context per company account are not built to follow a team across other companies, and the platforms have no reason to build for an audience this small. That buys time, not safety.
- The read⋈version join. Which agent read which lines, when, against what the file said at that moment. Assistant vendors see reads for their own agent only. Observability tools see reads without file versions. The join exists nowhere else, and only a layer that does both the sync and the hooks can hold it. Every L3 instrument and every invariant check is made of it.
- The template library. Proven structures per kind of engagement, tagged and carrying usage knowledge. Every briefing set up teaches the next proposal.
- Accumulated versioned knowledge, and eventually a public library with forking and attribution. A network effect; not load-bearing yet.
- Sync itself — multi-agent coordination and the managed infrastructure under it. The demo, not the advantage that lasts.
Plain files are part of the case, not an advantage that lasts. A folder the customer can leave with lowers the risk of adopting a hosted product, and a platform whose value is keeping the customer in will not offer it. It is on the list in chapter 12 and off this one.
What we deliberately do not try to own
Contradiction detection, duplication detection, over- and under-specification checks, the removal check.
These run as verification steps inside the templates, on the customer's own model, client-side. Syns interprets and visualises their output.
Three consequences, all intended: the cost sits visibly on the customer's side; further commoditisation costs us nothing; and the market improving these checks improves Syns for free.
They are on the advantage list in chapter 12 and off this one. That is the most consequential product decision we have made.
Lead demos with sync. Build the business on the first four.
The thing that shows best is last on the list. The thing worth most is hardest to show.
What we do not build
Each is technically easy, intentionally absent, and asked about in every technical conversation.
No branches
One knowledge base, like a ticket system. The value is that everyone and every agent works from the current intent. A branch is a deliberate divergence of intent — the thing this product exists to remove.
No real-time co-editing
Agents do not type one character at a time. Editing belongs in the person's own editor; a web edit is a one-file push. The exclusion is multi-cursor co-editing, not editing.
No comments, issues or pull requests
Review ceremony is friction for a document obsolete in an hour. Triage is state, not conversation. Where an approval boundary is needed, it is designed for the agent–human seam, not the developer–developer one.
No prompts or transcripts
Monitoring the agent is a different problem from monitoring the knowledge base. Syns stores what was decided, not how the conversation went.
No source-code hosting
GitHub does this. Syns cannot see your code and cannot tell whether a private code repository of yours exists.
No replacing the tracker
Keep Linear or Jira. The ticket knows that work is happening. The artifacts record what was decided and why. Link from the ticket to the artifact.
Why not the tracker, at length → 16 · Why not X.
Why nobody built this
The first question an investor asks, and a fair one.
Why hasn't GitHub, Cursor, or a frontier lab shipped this?
They are shipping it, each inside its own walls.
The assistant vendors ship shared projects that hold a team's files, instructions and memory. Each works best with its owner's model, inside one company account. A harness vendor attaches a session link to every commit.
The neutral versions are workspaces, not files. Several vendors' agents can read and write their pages, but the last edit wins and nothing rejects a write made against an outdated copy.
The gap that leaves
- A customer who mixes assistants is served by none of the vendors' own projects.
- A vendor that charges per seat or per token gains nothing by making a rival's model better.
- Work that crosses company accounts is out of reach of any product that stores context per company account.
- The layer that crosses the walls is the gap: plain files every agent reads first, stale writes rejected, tied to no provider.
The honest risk
The weak spot is a team on one vendor, where that vendor's feature is good enough. The residual risk is a platform deciding to host neutral context itself, or acquiring the neutral player. Say that plainly when asked; dodging it costs more than naming it.
Where the vendor moves are tracked → 17 · The neighbours.
Why not X
Every alternative, what it does well, where it breaks.
Two tests. The first asks whether a channel can move the artifacts at all. Several alternatives pass most of it. The second asks whether it can tell you the artifacts went wrong. Nothing on the list passes that.
Test 1 — can it move the artifacts?
| # | Criterion | Why it matters |
|---|---|---|
| C1 | An agent reads and writes it natively | Otherwise the transport is a human, who is slow and drops detail, or a tool call, which costs tokens and is skipped whenever the agent does not think to make it |
| C2 | No human relay step | A summary or a paste drops detail. The receiving agent needs the artifact |
| C3 | Versioned per change, automatically | "What changed since I last looked" is the question every consumer asks |
| C4 | Zero per-artifact setup | If sharing takes an action, the marginal document — the one worth having — is not shared |
| C5 | Many files, one address | The artifacts come in sets: the brief, the brand rules, the decisions, the past work; or a spec, a plan and a report |
| C6 | Lives next to the work | Documentation that requires switching tools goes stale; agents will not remember a remote system |
| C7 | Publishing costs nothing | Any ceremony between "the agent wrote it" and "the next agent can read it" gets skipped |
Test 2 — can it tell you the artifacts went wrong?
| # | Criterion | Why it matters |
|---|---|---|
| D1 | It records what was read, not only what was written | A contradiction is explained by what the agent never opened. No version-control system keeps this |
| D2 | It reports when the content stopped being true | Restated facts that disagree, a brief overtaken by what the client said, references that stopped resolving. None of it visible while reading |
Nothing in either test is exotic. The alternatives fail on ordinary criteria.
The alternatives
The substitutes a consultant reaches for come first. The ones a developer team reaches for follow.
The AI's own project, custom assistant or memory
One person, one assistant, a project per client: the files and instructions load into every chat and nothing new is adopted. Genuinely good. Concede the single-vendor case completely, and tell them to keep it if that is their whole world.
It is one vendor's: another assistant cannot read what this one was taught, so two assistants mean two copies corrected by hand (C1, C2). It is shared inside one company account, not across the client's people or the consultant's other accounts. Per-change versions with a readable diff are not documented (C3). And what was uploaded is a copy, which goes stale the moment the source changes.
The question a consultant asks first.
Drive, SharePoint, a shared folder
Everyone has it, permissions are understood, and a consultant often works inside the client's own. Most people do not complain about their drive; the pain is one layer up.
Without an integration a human uploads and downloads (C1, C2). With one, a document API on files that are not natively markdown, and the round-trip is lossy. History is per document (C3). A drive belongs to one company, so the consultant's knowledge is split across as many drives as they have clients.
Notion, Confluence, a wiki
A real shared place, structured, permissioned, with history, genuinely good for humans. Notion lets several vendors' agents read and write its pages, which makes it the strongest neutral substitute there is. Concede that first.
Pages behind an API rather than files the agent works on directly (C1). Concurrent edits resolve to the last write rather than refusing a write made against an outdated copy. A person may never notice that difference; an agent working in parallel with another does.
Concede openly that adding another place is a real cost.
The wiki or drive, exposed to agents over MCP
The content is already there, often years of it. Concede this first.
MCP is opt-in per call: if the agent does not invoke the tool, the documents are invisible. A file on disk is always-on because the harness loads it.
It flips past the point where the documents no longer fit the context window. The line: files while it fits, MCP once it does not. The migration is distillation — extract what agents need into markdown beside the code, leave the history where it is.
The hand-kept brief: a pasted context block, a client context file, an instruction file
Every person in either audience has one. Free, needs no account, genuinely good. For one person, one agent, one machine, concede the case completely and tell them to keep it.
It is a routing table, not a knowledge base: one file is a different object from a brief, a brand guide and twenty decisions, and the set does not travel (C5). It is versioned only if someone commits it (C3). It has no distribution of its own; every route to a second reader is another card on this grid. And it has a hard ceiling: loaded into every context, and every correction adds a line.
A hand-kept brief is a routing table. A knowledge base is what it routes to.
Dropbox, iCloud, Syncthing, Obsidian Sync
The zero-thought answer. Strong on C1, C2, C4, C7.
No per-change history (C3). No notion of who or what changed a file. Conflicts appear as document (conflicted copy).md, which agents then read as real documents. One person on two machines; breaks at three people.
Obsidian
Not a substitute. The editor is a complement, and the pitch to its user is "keep Obsidian".
The sync backend under it is the substitute, and it fails where every sync folder does.
Chat, email, pasting, or just talking
The actual status quo.
Fails C1, C2, C3, C5. The document stops being a living artifact and becomes a message — instantly stale, N copies, nobody knows which is current. And the agent cannot hear the room.
Artifact share links
Zero setup. Right for one document shown to one person.
One link per file; no "here is the client" address (C5). A stale link keeps resolving to something that looks current. The receiving agent cannot load it (C2).
Shared-memory MCP servers
Agent-native by construction; solves C1 and C2 outright. The most technically serious substitute, and the one a builder raises.
They store inferred working state; we store deliberate artifacts. A memory blob is not human-reviewable and not versioned per change with a readable diff.
A memory server is how an agent remembers. A repository is how a team keeps something. Teams run both.
A GitHub repository, the same one or a separate one
Git moves files, and a planning repository passes test 1 well. The developer's first question.
No right commit granularity for a document rewritten twenty times per code change (C3). Review ceremony attaches to the documents (C7). A separate repository keeps no machine current on its own (C4, C6). Test 2 fails entirely.
Full argument: chapter 6. Where a team already keeps a separate planning repository, the argument is never against their structure; it is that the remote underneath can do more.
An issue graph, or a hosted plan workspace
Developer-side. The issue graph ships and works, including cross-machine coordination, and passes all of test 1.
The disagreement with the issue graph is about the format: intent in a schema, against intent kept as written text. The plan workspace moves the plan out of the repository, with a manual step back to the repo markdown its own documentation says holds the durable knowledge. That seam is a drift generator.
The grid
| C1 | C2 | C3 | C4 | C5 | C6 | C7 | D1 | D2 | |
|---|---|---|---|---|---|---|---|---|---|
| The AI's own project | ~ | ~ | ✗ | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ |
| Drive or SharePoint | ~ | ~ | ~ | ✗ | ~ | ✗ | ✓ | ✗ | ✗ |
| Wiki | ~ | ~ | ~ | ~ | ✓ | ✗ | ~ | ✗ | ✗ |
| Wiki over MCP | ~ | ✓ | ~ | ✗ | ✓ | ✗ | ~ | ✗ | ✗ |
| Hand-kept brief | ✓ | ✓ | ~ | ✓ | ~ | ✓ | ✓ | ✗ | ✗ |
| Sync folder | ✓ | ✓ | ✗ | ✓ | ✓ | ~ | ✓ | ✗ | ✗ |
| Chat | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ | ✓ | ✗ | ✗ |
| Artifact links | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ | ✓ | ✗ | ✗ |
| Memory MCP | ✓ | ✓ | ✗ | ~ | – | ~ | ✓ | ✗ | ✗ |
| Same code repository | ✓ | ✓ | ~ | ✓ | ✓ | ✓ | ✗ | ✗ | ✗ |
| Separate repo on a code host | ✓ | ✓ | ~ | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ |
| Issue graph | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ | ✗ |
| Hosted plan workspace | ✓ | ✓ | ✓ | ~ | ~ | ✗ | ✓ | ✗ | ~ |
| Syns | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | → | → |
No alternative is bad at everything, and several clear most of test 1. What separates the list is test 2: the columns that are the argument, and the columns we cannot yet demonstrate. For Syns, D1 and D2 are the third layer, insight, marked → as direction.
Two rows to read first. The AI's own project, because it scores well for exactly one vendor and the grid cannot show that. And the hand-kept brief, whose C7 hides that publishing costs nothing only on the machine the file is already on.
Alongside the tools they already use
A consultant's deliverables live in the client's suite, and a developer team's work lives in its tracker. Keep both.
- Replacing either is a different and much harder business. Nothing in the wedge requires winning that fight.
- The deck, the ticket and the report are where work is delivered or tracked. The briefing is what an agent reads before it works.
- An agent updates a markdown file in the same motion as doing the work, with no second tool and no "remember to update it".
The counter to have ready: the client's suite and the tracker hold markdown too, and agents can write them by API. The API path is a separate act of publishing to a remote system — exactly the step that gets skipped.
The short answers for a conversation → 27 · When someone asks.
The neighbours
Who else is near this, and what they persist instead.
The category is called spec-driven development, or context engineering, depending on who is talking. All of it produces markdown as the durable artifact of agent reasoning.
Client work has no category name at all. The same object, what a person has written down about a client and the agent reads before it starts, ships as a feature of the assistant (projects, memory) or of the workspace, never as a category of its own. Nobody searches for it; people describe the symptom.
The workflow tools are complements
A dozen tools — from a solo maintainer's viral repository to first-party offerings from Microsoft, Amazon and Google — do a variant of the same five steps:
- Intercept the user's request to a coding agent.
- Force a structured workflow: clarify → spec → plan → implement → review.
- Produce markdown artifacts.
- Store them locally, in a tool-named folder —
openspec/,.specify/,.planning/,conductor/. - Drop the user back into the agent to run the plan.
Because step 4 is always local and always theirs, none of them sync across machines, keep history beyond local git, share a set with attribution, coordinate several agents on one set, or say anything about whether the markdown is still true.
They produce the artifacts. Nothing in the list stores, coordinates or analyses them. Each one that says "the store is just a git repo" is a socket, not a competitor.
Seven families that share the premise and differ on the object
| Family | What it persists | Where it differs from us |
|---|---|---|
| Agent memory | Inferred working state, in vector and graph stores | Captured by inference, not written on purpose. Well funded. The phrase "memory layer" is theirs to contest, not ours to claim. |
| Agent-native version control | Source code plus the captured session or transcript | Automatic capture of every change and prompt, centred on code. Some coordinate across machines — over code, not the reasoning documents. None reads the text for whether it still matches intent. |
| Structured intent — the schema bet | Intent forced into a schema: an issue graph, a knowledge graph, typed JSON, typed markdown with durable IDs | The opposite answer on format. Several parties moved toward structure in the same period while we bet on free text. The typed-markdown middle position is the half of the critique we answer least cleanly. |
| Platform-shaped plan products | The plan itself, in a hosted workspace with review | They move the plan out of the repository, then concede durable knowledge lives in repo markdown with a manual step back. |
| Assistant-native shared projects | A team's files, instructions and memory, inside one vendor's assistant | Built into the assistant the customer already pays for, so nothing new to adopt. Each works for its owner's model and inside one company account; none is readable by another vendor's agent. |
| Workspaces that host any vendor's agents | Pages and databases that several vendors' agents read and write through MCP | The nearest vendor-neutral shared context there is, shaped as a browser workspace of pages rather than files. Concurrent edits resolve by the last write. |
| Agent-first company knowledge | Distilled facts served through retrieval — ask before work, submit after | Nearest commercial neighbour on premise. Canonical object is distilled knowledge, not the authored files. |
Two more shapes
- Execution platforms that carry context as a line item. A factory-model product takes tickets to PRs on its own infrastructure and includes a memory layer on the menu. Nobody has to decide to compete with us; a bundled line item removes the reason to buy a dedicated layer.
- Vendor-native provenance. A harness vendor attaches a session link to every commit by default. One session, one vendor, read-only, nothing synced or reused. The first sign of an incumbent moving toward the provenance end.
What would change our plans
- A workflow tool ships its own hosted sync.
- A code host or a cloud platform ships a hosted spec service.
- An agent-native VCS adds markdown-aware analysis or a shared hosted set of documents.
- A plan workspace adds consistency checking across all its plans.
- A retrieval-first knowledge base preserves the authored files, or joins reads to versions.
- The schema bet wins — teams accept that intent belongs in a schema. This is a premise risk, not a competitive one.
- An assistant vendor ships shared, version-checked team context. It would hold much of the mechanism for that vendor's users by default; what stays out of reach is a customer who mixes vendors or whose work crosses company accounts.
- A workspace that hosts any vendor's agents adds versioned edits that refuse stale agent writes. The difference then narrows to files against pages.
The standing bet: none of these actors ships a vendor-neutral, versioned coordination layer over the written context in the near term. The assistant vendors ship shared context inside their own walls; the gap is the layer that crosses them.
A tripwire fires an investigation, not a conclusion. A move that looked like a threat on a README paragraph has turned out to be an integration opening on the documentation.
The bets as a list → 24 · The bets.
Part VI
Who it is for
One profile on three axes, the order we approach it in, and a second profile. Who pays. Who we turn away.
The profile
Client-service teams of two to ten who do client work with AI. Three axes, read together.
Boutique agencies, studios and consultancies where several people work on the same client, each with their own assistant. Headcount predicts the pain badly. Three other things predict it well.
Axis 1 · People per client
How many people work on the same client, each with their own AI.
Two or more is the profile. What one of them told their AI about the client has to reach the others' AI, and today it travels as a file on Slack or in a drive that the colleague does not read.
A firm of three who all touch every client feels it more than a firm of ten where each person owns one account alone. This is also where the paid tier starts: the second person on the same briefing.
Axis 2 · AI in the client work
The team already pays for assistants and uses them on client work, and ideally has started solving the problem by hand: a project or custom assistant per client, a shared context file, a brief sent round before the work starts.
Which surface decides whether they can use Syns today. The way in is an agent that reads files and runs a command. Team members who work only in a chat app are the profile, and are reachable once that path is checked.
Whether they mix assistants decides what the neutral position is worth. Different people on different assistants counts. A team on one vendor's team plan whose shared project is good enough is the weakest version of the profile.
Axis 3 · Where the client material lives
Spread across the firm's own accounts and each client's, often a different suite per client.
The more the material crosses companies, the less any product that stores context per company account can hold it for the whole team, and the stronger the case.
Material under a client's confidentiality terms turns the first question into "where is this hosted".
Why the problem is this profile's
What one person told their AI about the client never reaches the colleague's AI.
The colleague gets a file on Slack, does not read it, and either asks again or produces work that contradicts it. The cost is not rework. It is that the other person stops using their own judgement and copies the examples they were given instead.
Two things make it this profile's rather than everyone's. It vanishes for someone who works alone, so the assistants' memory features, built around one person, do not reach it. And the team's material crosses companies, so a product that stores context per company account cannot hold it for the whole team.
A founder-led product team has the first and not the second, which is why it comes second. A solo fractional has the second and not the first, which is why it is a doorway.
The order we approach them in
Ranked by whether the pain vanishes for someone who works for one company alone, and whether a platform would have to break its own account model to fix it. The research found evidence per group, never per sub-niche, so the order is judgement.
| Order | Shape | Why here |
|---|---|---|
| First | Client-service teams of two to ten: boutique agencies, studios, consultancies where several people work on the same client | The team pain and the crossing of client accounts, so they pass the test on both counts |
| Second | Founder-led product teams: one person holds the customer knowledge and the others produce from it | The same team pain, inside one company. Talk to them for their words; weaker to build the business on, because a team on one vendor already has that vendor's shared project, and a workspace any agent can read |
| Doorway | Solo fractionals and consultants | No second person, so no team pain and no paid tier. Useful where they work with an associate or sit inside a client's team |
Inside the first shape, firms whose material sits under strict confidentiality terms, strategy and due-diligence boutiques above all, wait for an answer on hosting.
The qualifying signal
They describe the client brief not reaching a colleague, or not being read, before we mention it.
A brief sent round on Slack that nobody reads, a colleague asking again for what was already told, work that contradicts what was agreed. In a founder's words, from the notes of his first call: "The current method of sharing these files via Slack is ineffective because team members do not consistently read them."
Re-explaining the client to the AI is the hook, not the signal. Everyone who uses AI on client work says it, which is why it opens the conversation; it needs no second person, which is why it does not separate this profile from any other.
Its sharpest form is a team that already keeps one project per client and hit its wall: a colleague could not use it, the copies drifted across assistants, or the output ignored a rule that was in another copy. They already believe the briefing should be written down. Ask what broke.
Three questions every first conversation asks, because the case depends on them: when two of you work on the same client, how does what one of you told the AI reach the other's?, which assistants does the team use for client work, and do you keep any of this in Notion, a shared drive or one shared project already?
The secondary profile: developer teams
The first profile Syns was built and sold for. Their scenario is project specification, and it is the argument of Parts I to V. Return to it as primary when conversations with the primary profile keep pulling toward code.
- Dispatchers, not agents or headcount. Two or more people starting agent runs on one system without checking with each other. One architect who serialises everything runs many agents and sees no conflicts.
- Coupling, not size. Tightly coupled codebases where several people or agents touch interconnected parts. Cleanly segmented work, each piece owned by one person, feels it much less.
- Document maturity. Teams that document nothing yet and want the structure built for them, and teams whose markdown drifts, are both in. Teams already sharing markdown well are not.
- Their signal is a coordination or consistency failure in their own words: "my agents keep undoing each other", "the plan file said one thing and the code did another."
- Solo developers using any workflow tool are the doorway: larger, lower urgency, with a hundred substitutes.
The profile on one card → 26 · Who we target.
Who buys, who champions
In this profile, the person who feels it usually holds the card.
- The owner or a partner buys, for the firm. No procurement: at two to ten people the person who feels the pain holds the card or sits next to whoever does.
- It is the firm's tool, carried into the client's world. The client never buys it, but the client's rules on where material may go can veto it. Ask early.
- Adoption fails on workflow change, not on value. The condition: it works through the assistant each person already uses, runs in the background, and asks nobody to learn anything. A pitch that implies changing how they work loses at this step regardless of argument.
- The buying frame is time back and output they can hand over. Not re-explaining, colleagues who work from what was agreed without asking again, and no rework the client should never see. Not contradiction counts, health scores or token spend.
- Willingness to pay is shaped per seat, and the paid tier starts at the second person on the same briefing, conditional on the workflow not changing. A price is not set.
- In the secondary profile, the CTO or VP Engineering buys, collapsing into the founder under about twenty engineers, and the frame is velocity at month six against week one.
The motion, per segment
| Segment | Motion | Why |
|---|---|---|
| Client-service teams of two to ten | The owner or a partner, one to one, through an introduction | One person decides for the firm. Found through second-degree contacts and in the rooms they already gather in; the first conversation is research |
| Founder-led product teams | The founder, one to one | The same team pain inside one company; talked to for their words, not worked as the business |
| Solo fractionals and consultants | Direct, one to one | The doorway: worth it where they work with an associate or inside a client's team |
| Developer teams | Top-down: CTO or founder sponsor first | The problem is team-wide and the bill lands with the budget holder |
| Solo developers and ecosystem maintainers | Bottom-up, and reciprocity | No budget holder to route through; maintainers sit upstream of every developer user |
Two things never to open with
- The product. With the primary profile, the first message asks about the pain and names no product: when two of them work on the same client, how what one told the AI reaches the other's, and which assistants they use. The product comes once they have described the pain in their own words.
- Cost or tokens. The evidence splits by organisation scale, and leading with cost to the wrong half is falsifiable in the room.
Who it is not for
Each of these is a real no.
- People who want a hosted alternative for source code. That is GitHub.
- People who want a real-time collaborative editor. Permanent, not staged. Someone who wants a cursor next to a colleague's is a disqualification, not a "later".
- People who want a prompt marketplace.
- One assignment at a time, or AI used occasionally. No client to switch between and no briefing worth keeping.
- Work whose confidentiality terms block a hosted product. Deferred to an answer that does not exist.
- Large firms with rigid workflows and long procurement, even where the pain is real and even where they engage. Engagement is not qualification.
- In the secondary profile, teams already sharing markdown well.
Part VII
Come back here
One-screen cards. Open these mid-conversation, or when the context has piled up and you need to remember what Syns is.
Syns in one breath
The description, the problem, the answer.
Syns hosts the reasoning that produces code. GitHub hosts the code.
The wedge. Client context, for people who do client work with AI across several clients at once. Code is the first case of the argument; developer teams are the second vertical.
The problem, in two sentences. Every session starts from zero: what the AI knows about a client stays with one assistant, one account and one person, so the client is explained again and again. Once the briefing is shared, it drifts from what was agreed, silently, and the output still looks fine.
The answer, in one. A persistent, shared, versioned record of what every agent read and wrote — and the instruments over it.
The loop. Set up → sync → work → health → repair.
The layers. Keep it (L1). Share it (L2). Understand it (L3). The third only exists on the first two.
The beliefs
Four statements. No dates.
- Humans stop writing, reviewing and inspecting code.
- Agents run in the cloud, not on a person's machine.
- Chat stops being the interface.
- Software builders are needed more than ever, and what they build is the specification.
What follows: code becomes disposable; the specification becomes the durable artifact; trust moves from reading lines to trusting a reproducible process; the work ahead is specifications, workflows, evaluations and interfaces — not smarter models.
And: code is the first case, not the boundary. A client briefing is to the work produced from it what a specification is to the code.
Argued in chapter 1.
The principles
The rules the product is built on.
- Deliberate artifacts. Everything in a repository got there because someone or something decided to write it down.
- Files, not APIs. Agents write files; that is the whole integration. The interface is the file, not the local file.
- Markdown is the source of truth; any index is derived from it.
- Vendor-neutral and tool-agnostic. Any agent that reads files, whatever methodology wrote them. Underneath the workflow tools, not in front of them.
- Plain files you can leave with. Leaving costs one download.
- Structure-neutral. Setup proposes; it never imposes. Your own layout is first-class.
- Nothing inside the reasoning loop. Update before the first turn, send changes after each. Zero extra tool calls.
- Never silently overwrite a teammate. A write made against an outdated copy is rejected.
- One current intent. No branches. A branch is a divergence of intent, which is what we exist to remove.
- Fix on top, never revert. Repair changes the structure so the mistake does not recur.
- Reads matter as much as writes. Which agent read what, against which version, is the data nobody else has.
- Commodity checks are given away. Contradiction and duplication detection run on the customer's own model. We hold the join, not the linter.
The bets
What we assume, and what would tell us we were wrong.
| We bet that | We are wrong if |
|---|---|
| The specification becomes the durable artifact | Teams delete their spec folders; "point the agent at the code" becomes the standard answer; models infer intent from code reliably enough that a written spec is overhead |
| Intent is best kept as written text | Teams accept that intent belongs in a schema, and the schema tools win the argument on substrate |
| The record is the document, not the transcript | The industry converges on the session as the record, and the right product is a transcript store |
| Re-explaining the client is real and felt | Ten people in the profile and none describes re-explaining a client, or keeping a brief by hand, in their own words before we name it |
| The neutral position protects | The profile turns out to use one assistant and find its shared project good enough; the case then rests on crossing companies and colleagues alone |
| Client-service teams feel the team pain most | They say one shared Claude or ChatGPT project solves it, or the team pain shows up only in founder-led product teams |
| The wedge reaches past the terminal | A chat-app user cannot use Syns and the path stays unbuilt; the wedge narrows to people who already work in a terminal agent |
| Insight needs the shared record | A local-only tool ships useful drift findings and gets traction; or an agent-run review loop keeps a briefing consistent well enough that nobody wants instruments |
| Neutral wins the category | A workflow tool ships hosted sync, an assistant vendor makes its project context readable by other vendors' agents, or a neutral player is acquired |
| A hosted service is acceptable | Conversations stall on where client material lives rather than on value |
| Developer teams are the second profile | Conversations with the primary profile keep turning into developer-team conversations |
Rules we hold ourselves to
Five that survive any release.
- Say only what ships, in the present tense. Direction in the future tense. Never a sentence that blurs the two. Our sharpest argument sits in the layer that is hardest to show. Blurring it once costs the exact audience we want.
- Never a negative comparison by name. Describe the friction. Never the product.
- Quote people. Never paraphrase them. What a person said, in their words, is the only input that is not our own inference.
- Two claims about conflicts, never merged. A write made after someone else's is rejected rather than silently overwriting their work (the mechanism). Agents read each other's shared work and adjust, making contradictory changes less likely (awareness). Syns does not prevent conflicts, and awareness arrives at the next update, not the instant the other agent writes.
- Speak each audience's words. With the primary audience say brief, your agents and files. Spec, multi-agent and markdown are developer words.
Who we target
The profile and its negative on one card.
For
Client-service teams of two to ten who do client work with AI: boutique agencies, studios, consultancies.
Two or more people on the same client, each with their own AI.
Already paying for assistants, ideally already keeping a brief per client by hand. Better still if they mix assistants.
Client material spread across the firm's own accounts and each client's.
Bought by the owner or a partner. Adopted only if nothing in the workflow changes.
Second: founder-led product teams. Doorway: solo fractionals.
Second profile: developer teams with two or more dispatchers on a tightly coupled system.
Not for
Source-code hosting.
Real-time co-editing. Permanent.
A prompt marketplace.
One assignment at a time, or AI used occasionally.
Work whose confidentiality terms block a hosted product.
Large firms with long procurement — even when they engage.
Developer teams already sharing markdown well.
The qualifying signal: they describe the client brief not reaching a colleague, or not being read, before we name it.
When someone asks
Answer the question asked, then stop.
- I already have a project per client in my AI.
- Keep it if that assistant is all you use. What is in it belongs to that assistant: another one cannot read it, a second project is a second copy to correct by hand, and it stays inside one account. Syns keeps the briefing as files any agent reads, versioned, wherever you work.
- We'd just use Drive, SharePoint or Notion.
- Works well for people reading documents. The friction is on the agent side: it needs an integration to reach the content, the round-trip is lossy, and when two agents edit at once the last write wins. These files are read by agents far more often than by people.
- Is my client's material safe there?
- Say what is true: a private repository is invisible to anyone without access, and it is a hosted service. Then stop. Do not promise a hosting option, a region or a certification that does not exist.
- Can't you just share a link?
- For one document, yes. The shape here is a set: the brief, the brand, the decisions, per client. That needs an address for the client, not one per file.
- Isn't this a memory MCP server?
- Related, different object. A memory server holds what an agent decided to remember. This holds what someone deliberately wrote down and expects to review, diff and hand to a person. Teams run both.
- Why not just commit it to the repo?
- You can, until the work-in-progress problem. An agent writes a document over twenty turns. Commit every turn and the code history is agent text; commit once and the progression is lost. There is no good commit granularity for a document a machine is thinking through.
- We already have Linear.
- Keep it. The tracker knows what is being worked on. This is where the reasoning lives — in files, updated in the same motion as the change.
- Couldn't I build this with git and a sync tool?
- Yes, and people do. What you'd be building is the part already operated here: hosting, auth, teams, and history per change rather than per commit.
- We already have a code review tool.
- Those run on the diff, after the push. This sits before the PR, at plan time and while the agent is working. Next to your review tool, not instead of it.
- I'm not giving a third party access to my private repos.
- Syns holds plans and markdown, not source code. It is a separate repository — it cannot see your code, and cannot tell whether a private repo of yours exists. The answer being correct does not mean the objection is gone.
- Why hasn't GitHub or a frontier lab shipped this?
- They are shipping it, each inside its own walls, and each works best with its owner's model. The neutral versions are workspaces of pages, where the last edit wins. Syns is the versioned layer underneath: plain files every agent reads first, stale writes rejected, tied to no provider, following the person across the companies they work for. The weak spot is a team on one vendor. The residual risk is a platform hosting neutral context itself, or acquiring the neutral player.
Lines worth remembering
The sentences that carry the argument.
Code is disposable. The specification is the durable artifact.
Code holds a decision's consequence, never the decision.
Code is the first case, not the boundary.
Code quality becomes a consequence, not a concern.
The interface is the file, not the local file.
There is no right commit granularity for a document a machine is thinking through.
The brief stops matching what you and the client agreed, and the output still looks fine.
Two pieces of work built on two different briefs, each correct about what it read.
The brief decides the output.
Nobody decides to stop checking. The cost exceeds the perceived benefit, and after that drift is unbounded.
Everything in Syns got there because someone or something decided to write it down.
A memory server is how an agent remembers. A repository is how a team keeps something.
A hand-kept brief is a routing table. A knowledge base is what it routes to.
Checking output scales with what the agents produce. Checking the briefing scales with the briefing, which is bounded and can shrink.
Lead demos with sync. Build the business on what cannot be shown.
Opinionated onboarding is not an opinionated product.
If you hold the beliefs fully, something like Syns is inevitable.
Glossary
Every term, one line. Dotted underlines in the text land here.
- Agent
- A program that reads files, writes files and runs commands to do software work, driven by a model. Claude Code, Codex, Cursor's agent, and the like. Also: harness — the software that runs the agent and loads its files.
- Specification
- The written statement of what the software should do and why: boundaries, trade-offs accepted, things deliberately not built. In Syns, always markdown. See 1, 9.
- Deliberate artifacts
- Files someone or something chose to write down — plans, specs, decisions, retrospectives. The opposite of state captured by inference (a memory database) or by recording (a transcript). See 10.
- The reasoning
- Shorthand for the deliberate artifacts an agent produces alongside code. In conversation, name them: the specs, plans and decisions.
- The briefing
- What your agents read before they start on a client: the brief, the brand rules, the decisions, the past work worth reusing. In speech, name the pieces. See 7.
- Client context
- The wedge, named: a briefing per client, kept for agents to read first, for client-service teams where several people work on the same client. See 7, 18.
- Fractional
- A fractional CMO, CTO or CFO. Solo, the doorway rather than the target: no second person, so no team pain and no paid tier. Worth it where they work with an associate or inside a client's team. See 18.
- Intent drift
- The brief stops matching what you and the client agreed (or a spec stops matching what the builder meant), nothing detects it, and the next agent works from the drifted version. Three decay modes: it contradicts itself, it goes stale, it only grows. See 8.
- Dispatcher
- Developer register only. A person who starts agent runs without checking with anyone else first. Two or more on one system is the secondary profile. See 18.
- Coupling
- How often changes in one part of a system require changes in another. High coupling plus several dispatchers is where drift bites. See 18.
- Invariant
- A human-approved statement that must always hold in the code, stated at business level and not derivable from the code — "a payout always goes to the wallet of the person it is intended for." Drift detection says two statements disagree; an invariant says which one is the promise. Only the read⋈version join can tell whether an invariant was in an agent's context when it decided. See 11.
- Read⋈version join
- The record of which agent read which lines of which file, at which version, at which moment. Harness vendors see reads for their own agent; observability tools see reads without versions. Only a layer doing both the sync and the read hooks holds the join. See 13.
- Stale writes rejected
- An update declares the version it last saw. If another agent has sent an update since, it is rejected rather than silently overwriting their work, and the agent reads the other's work and adjusts. Syns does not prevent conflicts. See 10.
- Update
- The only write in Syns. A set of changed files becomes exactly one new version. Unchanged files travel as fingerprints.
- L1 · L2 · L3
- Persistence (keep it), coordination (share it), insight (understand it). Each necessary, none sufficient; the third only exists on the first two. See 11.
- The loop
- Set up → sync → work → health → repair. Repair is what makes value compound. See 10.
- Health
- One score from two independent sources: deterministic structure checks, and each agent's behaviour against its own baseline.
- Repair
- A separate agent that fixes the wiki's structure so a problem does not recur. Never reverts; fixes on top.
- The setup skill
- An agent skill that reads what is already written (a codebase, existing markdown), proposes a wiki structure drawn from ones that have worked, shows where every fact came from, and pushes only after review. Not a CLI command; not mandatory.
- Spec-driven development (SDD)
- The category name for workflows where an agent is made to produce a spec and a plan before code. Also called context engineering. The workflow tools in this category produce the artifacts Syns hosts. See 17.
- Workflow tool
- A tool that forces a structured agent workflow and stores its markdown in a tool-named local folder. A complement, not a competitor.
- MCP
- Model Context Protocol — how an agent calls an external tool. Opt-in per call: if the agent does not invoke it, the content is invisible. Contrast: a file on disk is always-on.
- Instruction file, hand-kept brief
CLAUDE.md,AGENTS.md, rules files, a pasted client context block. Loaded into every agent context. A routing table, not a knowledge base. See 16.- Frontmatter
- A small block of structured fields at the top of a markdown file, added where the documents have grown a shape worth naming.
- The wedge
- Client context: the first vertical, not the category. Project specification, for developer teams, is the second. Agent memory and the work log are where the capability widens; the finished deliverable is out.
- Advantage vs what lasts
- Advantage is what a customer feels. What lasts is what a competitor cannot copy. Sync is the advantage and the demo; the neutral position, following the person across companies, the join and the template library are what lasts. See 12, 13.
Set in Newsreader and Inter.