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.

Syns hosts the reasoning that produces code. GitHub hosts the code.
0

How to read this

Where everything is.

This guidebook says what Syns is and why.

The parts

Part I

Why we exist

Four beliefs about how software will be built. Hold them, and Syns follows.

1

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.

2

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.

3

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.

Every belief maps to a design choice

BeliefWhat it forces in Syns
The specification is the durable artifactThe specification is the versioned object. Git tracks what changed in code. Syns tracks what was intended and how it was achieved.
Reliability comes from reproducibilityEvery 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 problemSyns trains nothing. It is infrastructure for agent-driven development.
Trust the process, not the linesEvery 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 everBuilt for the people who design specifications and workflows, so they can work at scale, share, and build on each other.
Agents write the softwareAgents 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 changes reconciled and their roles enforced.

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.

1Markdown The file is what an agent already reads and writes, on a laptop or in a cloud sandbox. 2Sharing Two agents in two sandboxes have no shared disk. The reasoning must be synchronised, or each works blind. 3A product A code host was built for code. Syns is built for this.
Rung 1 says what the artifact is. Rung 2 says it has to travel. Rung 3 says what carries it. Skip a rung and the next one has nothing to stand on.
4

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

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.

5

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.

Concrete caseAgent A, in a sandbox on one machine, decides the payments module keeps a ledger table rather than recomputing balances, and writes that into 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.

6

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 everyone asks: why not GitHub? The answer has two steps.

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.

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, reconciles both changes against the live shared state. Nobody's work is overwritten.
  • 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 for a team whose agents write the reasoning. A team meets them in order.

7

Nowhere to live

Felt on day one: the reasoning cannot be shared.

Every agent session produces two artifacts: the code, and the reasoning behind it. Only the code has a home.

The code goes to the code repository. The reasoning — the plan, the decisions, the alternatives rejected, the retrospective — sits in a local folder on whichever machine produced it.

A second agent on a second machine does not know it exists.

What that costs

  • A teammate's agent rebuilds a plan that already exists.
  • An agent contradicts a decision it never saw, correctly, given what it read.
  • With N agents, the pairs that can collide grow as N². None of them builds any memory of who works on what.
  • The team lead who wants to know what the agents decided has to ask around, or go looking.

Agents work blind. No agent knows what any other is planning or doing.

The channels a team already has — chat, a ticket, a call — carry knowledge between humans. An agent starting a task reads none of them.

This is the reason a team goes looking for somewhere to put the reasoning. It is what Syns solves first.

Agent session machine A Code → the code repository Reasoning → a local folder on machine A Agent session machine B reasoning never arrives
Code has a shared home. Reasoning stops at the machine that produced it.

The second problem, which arrives once this one is solved → 8 · Intent drift.

8

Intent drift

Felt after a month: what is shared drifts.

Your intent is what you want the system to do and how you want it built: which module owns what, which trade-off you accepted and why, which feature you decided not to build.

Code cannot hold it. So the intent lives in documents, and the agents read them before they build.

Intent drift is when a document stops matching what you meant, and nothing tells you.

An agent finishes a task and updates the document to describe what it did.

The new sentence disagrees with a paragraph it never opened.

Nothing breaks. The code compiles. The tests pass.

The next agent reads the drifted document, treats it as the specification, and builds on it.

The system bends away from what you wanted while every check stays green.

Two properties make it expensive

  • It is invisible to every check you already have. Compiler, tests, CI, code review — all pass. The only detector is a person who remembers what they meant, and the only evidence is the text.
  • It compounds. Each drifted document is the input to the next agent run. Later work amplifies the error instead of correcting it.

Three ways a document decays

It contradicts itself

The same fact lives in two places. An agent updates one and nothing tells it about the other.

Two agents build two different things, each correct about what it read. Context is paid twice for one fact.

It goes stale

The text no longer matches the code. A rule describes behaviour that changed months ago.

The document decides the bug. Agents trust the written rule over the code, and nothing flags it.

It only grows

Every correction adds words. Nothing removes any.

Old and new rules sit side by side and the agent picks one. Every model degrades as context grows.

Why the human fix stops working

The workaround is to re-read the documents after every change and correct them. That loop is right, but it has three problems.

  1. Reading costs time the team eventually stops paying.
  2. A drifted sentence reads perfectly well, so people skim past it.
  3. A correct fix in one file silently invalidates a statement in another.

The third problem ends the loop. Nobody decides to stop reviewing. The cost exceeds the perceived benefit, and after that drift is unbounded.

This is the reason a team that already shares its reasoning keeps paying.

The layer that catches it → 11 · Three layers. Why a spec at all, given this → 9.

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?

Four 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.
Grounded exampleA repository uses REST. The code cannot show that GraphQL was considered and rejected, or that gRPC was, or why. An agent asked to add a flexible query surface will propose one of them. The rejections live in a document, or nowhere — and the same holds for every other alternative that was weighed and turned down.

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 team gets, in order. What only we can hold. What we refuse to build.

10

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.

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

1Set upan agent proposes astructure from what existsand shows every source 2Syncevery session updates firstand sends changes at the end;every copy stays current 3Workpeople and agents read,write and reviewthe markdown 4Healthstructure checks pluseach agent's behaviouragainst its own baseline 5Repaira separate agent fixes thestructure so the problemdoes not come back
Set up → sync → work → health → repair. The last step is what makes the value compound rather than accumulate.

Each step, one line

  1. Set up. A person points an agent at the setup skill. It reads the codebase and whatever markdown already exists, 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.
  2. 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.
  3. Work. People and agents store, read, review and collaborate on the markdown.
  4. Health. Syns scores 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.
  5. Repair. A separate agent fixes 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.

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.
  • Reconciled changes. When another agent changed a file while you were working, your update is reconciled against the live shared state. No one's work is overwritten and no conflict files appear.
  • 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.

The principles as a list → 23 · The principles.

11

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.

L3 · INSIGHTUnderstand it Drift detection over the shared history. Health, suggested fixes, what each agent read, activity, invariants. The layer nobody else has. Only buildable on L1 + L2. L2 · COORDINATIONShare it The history made shared — across machines, sandboxes, agents, a team. Concurrent changes reconciled against live state. Solves chapter 7. L1 · PERSISTENCEKeep it A versioned history of every artifact. The record everything else is computed from. A code host has this too. Backbone, not differentiator.
LayerWhy it is not enough alone
L1 PersistenceGitHub has it. Leading with it invites the correct reply: "we already have a repo."
L2 CoordinationSolves chapter 7 and nothing in the ecosystem does it over the reasoning documents. But it is substitutable at small scale by a sync folder, and hard to show in a room.
L3 InsightNothing is missing here. It solves chapter 8. 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 it a team's problem rather than one person's — and creates the drift that matters most, between agents that never meet. L3 is the only part a customer cannot assemble themselves.

The full sentence, worth knowing by heart:

Agent-produced markdown cannot be shared by the tools built for humans, and once shared it drifts from the builder's intent, 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.

12

What a team gets

Now, next, eventually. What the user feels, in order.

Keep this list separate from the next chapter. This is what a team feels. Chapter 13 is what a competitor cannot copy. They are different lists.

Now
The reasoning is shared, versioned and current everywhere, with no ceremony

No commit, no branch, no pull request, no sync step. Two agents changing the same file are reconciled, not overwritten. Setup that proposes a structure from what already exists and shows where every fact came from.

Next
Insight over the whole set of documents

Duplicated concepts. Statements that disagree. Sections nobody reads and everyone pays for. What each agent actually read. A repair agent that fixes the structure, not the symptom.

Then
The standard place the reasoning lives

The tool every agent and every workflow writes to by default, and a public library of proven structures a new project starts from.

Where value lands first

Setup and sharing — not health, not repair.

The sequence a team feels: a structure that fits gets set up, a second person joins, their agents work in it together, task time and token spend drop.

The failure it is measured against: one shared markdown file, each agent on a different page, ageing files, and chat as the archive.

L3 is what makes the value permanent, not what makes it start.

Reviewing code scales with agent throughput, which only goes up. Reviewing intent scales with the size of the documents, which is bounded and can shrink.

That asymmetry is the answer to anyone who says review is already their bottleneck.

13

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.

  1. The vendor-neutral, tool-agnostic position. Every new workflow tool expands the value. Workflow tools have a structural reason not to be cross-tool. The heaviest agent users mix vendors deliberately and will not keep their decision layer with one of the parties they want to switch between.
  2. The read⋈version join. Which agent read which lines, when, against what the file said at that moment. Harness 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 is made of it.
  3. The template library. Proven structures, tagged and carrying usage knowledge. Every wiki set up teaches the next proposal.
  4. Accumulated versioned team knowledge, and eventually a public library with forking and attribution. A network effect; not load-bearing yet.
  5. Sync itself — multi-agent coordination and the managed infrastructure under it. The demo, not the advantage that lasts.

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 three.

The thing that shows best is last on the list. The thing worth most is hardest to show.

14

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.

Part V

The objections

Every argument in Part IV has to survive these three chapters.

15

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 have — each vendor, for its own agent.

A harness vendor attaches a session link to every commit. An editor company replaces git for its own editor. A code host renders the markdown its own agent produces.

Each one is single-vendor, and each one stores what its own agent did.

The gap that leaves

  • A team running two harnesses side by side is served by neither.
  • The heaviest agent spenders mix vendors on purpose, to keep the option of switching. They will not store their decision layer with one of the parties they want to switch between.
  • A vendor billing per token has no interest in a layer whose job is to reduce reads.
  • Platforms ship the single-player version that covers most of their own users. The neutral specialist wins the category.
Vendor A's agentrecords its own sessionsreads only its own files Vendor B's agentrecords its own sessionsreads only its own files Vendor C's agentrecords its own sessionsreads only its own files One set of reasoning documents, read and written by all of them — neutral by construction

The honest risk

The residual risk is not that a platform builds the feature. It is that a platform acquires the neutral player. Say that plainly when asked; dodging it costs more than naming it.

Where the vendor moves are tracked → 17 · The neighbours.

16

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?

#CriterionWhy it matters
C1An agent reads and writes it nativelyOtherwise 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
C2No human relay stepA summary or a paste drops detail. The receiving agent needs the artifact
C3Versioned per change, automatically"What changed since I last looked" is the question every consumer asks
C4Zero per-artifact setupIf sharing takes an action, the marginal document — the one worth having — is not shared
C5Many files, one addressThe artifacts come in sets: spec plus plan plus decisions plus report
C6Lives next to the workDocumentation that requires switching tools goes stale; agents will not remember a remote system
C7Publishing costs nothingAny ceremony between "the agent wrote it" and "the team can see it" gets skipped

Test 2 — can it tell you the artifacts went wrong?

#CriterionWhy it matters
D1It records what was read, not only what was writtenA contradiction is explained by what the agent never opened. No version-control system keeps this
D2It reports when the content stopped being trueRestated facts that disagree, text that no longer matches the code, references that stopped resolving

Nothing in either test is exotic. The alternatives fail on ordinary criteria.

The alternatives

The same GitHub repository as the code

Git moves files. Passes most of test 1.

No right commit granularity for a document rewritten twenty times per code change (C3). Review ceremony attaches to the documents (C7). Nothing about reads or truth (D1, D2).

Full argument: chapter 6.

A separate planning repository on GitHub

Solves the pollution problem. Some workflow tools now recommend exactly this.

A general-purpose code remote for a specific artifact. Nothing keeps every machine current (C4, C6), and test 2 fails entirely.

Where a team already does this, the argument is never against their structure — it is that the remote underneath can do more.

Google Drive, a shared folder

Everyone has it. Non-developers participate. Keeps winning for mixed teams.

Without an integration a human uploads and downloads (C1, C2). With one, a document API on files that are not markdown, and the round-trip is lossy. History is per document, not per change (C3).

Artifact share links

Zero setup. Right for one document shown to one person.

One link per file; no "here is the project" address (C5). A stale link keeps resolving to something that looks current. The receiving agent cannot load it (C2).

Notion, Confluence, a wiki

A real shared place, structured, permissioned, with history. Good for humans.

Not a filesystem. Every write is an API shape and a mental-model conversion (C1). Lives away from the code and updates when a human remembers (C6). Agents produce pages faster than a hierarchy absorbs them.

The wiki, 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.

Obsidian

Not a substitute. The editor is a complement — the standard pairing for a person working on markdown beside an agent. The pitch is "keep Obsidian".

The sync backend under it is the substitute, and it fails where every sync folder does.

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.

Slack, Discord, email, pasting

The actual status quo for most teams.

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.

Almost nobody names this as a tooling problem. Naming it is good positioning.

Shared-memory MCP servers

Agent-native by construction; solves C1 and C2 outright. The most serious technical substitute.

They store inferred working state; we store deliberate artifacts. A memory blob is not human-reviewable. It is last-write-wins or append-with-recall, not versioned per change. Nothing renders.

A memory server is how an agent remembers. A repository is how a team keeps something. Teams run both.

The instruction file — CLAUDE.md, AGENTS.md, rules files

Every person in our audience has written one. Free, offline, no account, genuinely good. For one developer, one repo, one agent, one machine — concede the case completely and tell them to keep it.

It is a routing table, not a knowledge base — the set of twenty decision records does not travel (C5). It moves at the code repo's commit cadence or is not versioned at all (C3). It has no distribution of its own — every route to a second reader is another card on this grid. It has a hard ceiling: loaded into every context, and every correction adds a line. Rules fade within a session regardless of how the file is structured.

An instruction file is a routing table. A knowledge base is what it routes to.

An issue graph built for agents

Ships and works, including cross-machine coordination. Passes all of test 1.

Its own guidance tells agents not to write markdown memory files — a direct contest for the artifact. The disagreement is a bet about the format: intent forced into a schema, against intent kept as written text because agents produce it natively and text carries the why. Architecture reasoning fits badly in issue fields.

A hosted workspace that owns the plan

A plan-review workflow, automatic capture, harness integrations, a founder who argues the category well. Concede a great deal.

It moves the plan out of the repository. Their own documentation concedes durable knowledge lives in repo markdown with a manual step back. That seam is a drift generator — the exact failure chapter 8 describes. Scope stops at one plan, before implementation.

The grid

C1C2C3C4C5C6C7D1D2
Same code repository~
Separate repo on a code host~
Drive~~~~
Artifact links
Wiki~~~~~
Wiki over MCP~~~
Sync folder~
Chat
Memory MCP~~
Instruction file~~
Issue graph
Hosted plan workspace~~~
Syns

No alternative is bad at everything. The issue graph clears test 1 outright; the disagreement with it is about the format. What separates the list is test 2 — the columns that are the argument.

The tracker question, at length

Linear, Jira and GitHub Issues already hold requests, detail and reports. Keep them.

  • Replacing a tracker is a different and much harder business. Nothing in the wedge requires winning that fight.
  • A ticket is a unit of coordination between humans: owner, state, priority. A spec is a unit of context for an agent: content, structure, version.
  • Because writing a file is free, a team writes six artifacts per unit of work — spec, plan, decisions, review, verification, retrospective. Nobody writes six tickets.

The counter to have ready: tracker documents are 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.

17

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.

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:

  1. Intercept the user's request to a coding agent.
  2. Force a structured workflow: clarify → spec → plan → implement → review.
  3. Produce markdown artifacts.
  4. Store them locally, in a tool-named folderopenspec/, .specify/, .planning/, conductor/.
  5. 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.

Five families that share the premise and differ on the object

FamilyWhat it persistsWhere it differs from us
Agent memoryInferred working state, in vector and graph storesCaptured by inference, not written on purpose. Well funded. The phrase "memory layer" is theirs to contest, not ours to claim.
Agent-native version controlSource code plus the captured session or transcriptAutomatic 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 betIntent forced into a schema: an issue graph, a knowledge graph, typed JSON, typed markdown with durable IDsThe 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 productsThe plan itself, in a hosted workspace with reviewThey move the plan out of the repository, then concede durable knowledge lives in repo markdown with a manual step back.
Agent-first company knowledgeDistilled facts served through retrieval — ask before work, submit afterNearest 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.

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. Who pays, who champions. Who we turn away.

18

The profile

Three axes, read together.

Team size predicts the pain badly. Three other things predict it well.

Axis 1 · Dispatchers

How many people start agent runs without checking with each other.

Two or more is the profile.

Agent count over-selects: one architect who serialises everything runs many agents and sees no conflicts. Headcount mis-selects the same way.

Axis 2 · Coupling

How tightly coupled the system is.

Ideal: large codebases where several developers or agents frequently touch interconnected parts — banking, scientific software, complex backends, multi-stage data pipelines, high-scale commerce.

Weak: work that divides cleanly into bounded verticals, each owned by one person, however many agents there are.

Axis 3 · Document maturity

The state of their markdown.

Documents nothing yet — agent-heavy, code getting hard to maintain. Primary. They want the structure built for them, and would not recognise themselves in the word "spec".

Writes markdown that drifts — primary. The problem as stated.

Already shares markdown well — not the target. Few, self-served, and their enthusiasm is the least informative signal available.

Why this profile, and not the solo developer

A solo developer with one agent holds the intent in their head and notices when a document stops matching it.

That stops being possible when work spreads across dispatchers, agents and sandboxes. Nobody holds the whole intent. Nobody sees the whole record. Drift compounds where no one is looking.

A solo developer running several agents is the doorway — fastest in, easiest to convert. The network effect starts at the second dispatcher, and so does the paid tier.

Two people who disprove headcount as the predictor

  • A disciplined solo developer with a private repository feels nothing.
  • An architect who serialises every agent run through file locking sees zero conflicts.

Both removed coupling, not agents.

The qualifying signal

They describe a coordination or consistency failure in their own words before we mention one.

"My agents keep undoing each other." "The plan file said one thing and the code did another."

Someone who says this has the problem and does not need convincing it exists. Its absence across a run of conversations is the cleanest sign the profile is drawn wrong.

The secondary profile

Individual developers using a workflow tool, whose agent markdown lives in a local repository and renders badly on a code host. Lower urgency, much larger, and a hundred substitutes — every editor, every notes app, the code host itself. Drift affects them too; they feel it later and blame something else. Layer in after the primary profile has traction.

The profile on one card → 26 · Who we target.

19

Who buys, who champions

Who feels it and who pays for it are not the same person.

  • The budget holder is the CTO or VP Engineering. The adoption lead champions. Under about twenty engineers both collapse into the founder, which is why small teams close faster.
  • Individual developers feel the pain, and cannot fix it alone. Drift and blind agents are a property of the whole team's documents. One developer fixing their corner changes nothing. So the decision is a team decision, and the bill lands with the budget holder.
  • Adoption fails on workflow change, not on value. The buyer's condition: integrated, non-invasive, no learning curve. "You install it, it runs in the background, you roll it in slowly." A pitch that implies changing how the team works loses at this step regardless of argument.
  • The buying frame is velocity. Decision makers judge agent tooling by whether they can still change the codebase as fast at month six as at week one. Not by contradiction counts, health scores or token spend.
  • Willingness to pay is shaped per seat, conditional on the workflow not changing.

Two motions, and a third that is not a sale

SegmentMotionWhy
TeamsTop-down: CTO or founder sponsor firstThe problem is team-wide; only the team can adopt the fix
Solo multi-agent developersBottom-up: the developer directlyNo budget holder to route through; the CLI and plugin are the whole path
Ecosystem maintainersReciprocityThey sit upstream of every qualifying user. Build the example and the integration first; ask for their read, not their permission

Two things never to open with

  • Cost or tokens. Capacity-constrained teams feel it. Small or funded teams explicitly do not — one CTO: every developer already has the subscription. Leading with cost to the wrong half is falsifiable in the room.
  • Conflict prevention. Competent teams solve conflict by scoping work up front, and say so. Conflict is a supporting claim. The knowledge argument — what survives for whoever returns to the system in three months — is the durable one.
20

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.
  • Teams running one agent, with no markdown workflow and no second dispatcher. Not to be confused with the team that documents nothing — that team is agent-heavy and primary.
  • Companies whose security review blocks a non-enterprise hosted product. Deferred to a tier that does not exist.
  • Large organisations with rigid workflows and long procurement, even where the pain is real and even where they engage. Engagement is not qualification.
  • Non-technical teams, for now. The product works for them — a person with an agent and a markdown editor gets the same sync and history. It is true of the product, not who we target, and not something we claim until a reference exists.

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.

21

Syns in one breath

The description, the problem, the answer.

Syns hosts the reasoning that produces code. GitHub hosts the code.

The problem, in two sentences. Agents produce two artifacts, code and reasoning, and only the code has a home — so agents on different machines work blind to each other. Once the reasoning is shared, it drifts from what the builder meant, silently, and every check stays green.

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.

22

The beliefs

Four statements. No dates.

  1. Humans stop writing, reviewing and inspecting code.
  2. Agents run in the cloud, not on a person's machine.
  3. Chat stops being the interface.
  4. 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.

Argued in chapter 1.

23

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.
  • Tool-agnostic. Whatever agent or methodology wrote the file. Underneath the workflow tools, not in front of them.
  • 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. Concurrent changes are reconciled against the live shared state.
  • 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.
24

The bets

What we assume, and what would tell us we were wrong.

We bet thatWe are wrong if
The specification becomes the durable artifactTeams 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 textTeams accept that intent belongs in a schema, and the schema tools win the argument on substrate
The record is the document, not the transcriptThe industry converges on the session as the record, and the right product is a transcript store
Drift is real and feltTen people in the profile and none describes a consistency or coordination failure in their own words before we name one
Insight needs the shared recordA local-only tool ships useful drift findings and gets traction; or an agent-run review loop keeps a set of documents consistent well enough that nobody wants instruments
The profile has scaleSourcing cannot find people where the dispatcher and coupling axes co-occur
Reasoning transfers across projectsPublic structures are browsed by humans and never loaded by agents; forks are never modified
Neutral wins the categoryA workflow tool ships hosted sync, a code host ships a spec service, or a neutral player is acquired
A hosted service is acceptableConversations stall on hosting rather than on value
25

Rules we hold ourselves to

Four 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 change made while another agent was working is reconciled rather than overwriting their work (the mechanism). Agents read each other's shared work and adjust, making contradictory changes less likely (awareness). Syns does not prevent two agents from deciding differently, and awareness arrives at the next update, not the instant the other agent writes.
26

Who we target

The profile and its negative on one card.

For

Two or more people dispatching agents onto one system without checking with each other.

A tightly coupled codebase where agents touch interconnected parts.

A team that documents nothing yet, or whose markdown drifts.

Bought by the CTO or founder. Championed by the lead. Adopted only if nothing in the workflow changes.

Not for

Source-code hosting.

Real-time co-editing. Permanent.

A prompt marketplace.

One agent, no markdown, no second dispatcher.

Security reviews that block hosted products.

Large organisations with long procurement — even when they engage.

Teams already sharing markdown well.

Non-technical teams, until a reference exists.

The qualifying signal: they describe the failure in their own words before we name it.

27

When someone asks

Answer the question asked, then stop.

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'd just use Drive or Notion.
Works well for humans reading documents. The friction is on the agent side: it needs an integration to reach the content, and the round-trip is lossy. These files are read by agents far more often than by people.
Can't you just share a link?
For one document, yes. The shape here is a set — spec, plan, decisions, report, times every piece of work. That needs an address for the project, 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.
We already have Linear.
Keep it. The tracker knows what is being worked on. This is where the reasoning lives — in files, next to the code, 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 code is committed. This sits before the PR — at plan time and while the agent is working — so a deviation can be inspected while it happens. Next to your review tool, not instead of it, and nothing in your workflow changes.
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. Then offer a repository created inside Syns rather than imported. The answer being correct does not mean the objection is gone.
Why hasn't GitHub or a frontier lab shipped this?
They have — each vendor, for its own agent. A team running two harnesses is served by neither, and a vendor billing per token has no interest in a layer that reduces reads. The residual risk is acquisition of the neutral player, not feature-building.
28

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 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 markdown stops matching what you meant, and the code still passes.

Two agents build two different things, each correct about what it read.

The document decides the bug.

Nobody decides to stop reviewing. 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.

An instruction file is a routing table. A knowledge base is what it routes to.

Reviewing code scales with agent throughput. Reviewing intent scales with the size of the documents, 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.

G

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.
Intent drift
A document stops matching what the builder meant, nothing detects it, and the next agent builds on the drifted version. Three decay modes: it contradicts itself, it goes stale, it only grows. See 8.
Dispatcher
A person who starts agent runs without checking with anyone else first. Two or more on one system is the 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.
Reconciled changes
When two agents change the same file while both are working, the later update is reconciled against the live shared state instead of overwriting the earlier one. No conflict files, no lost work. 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 a codebase and its 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
CLAUDE.md, AGENTS.md, rules files. 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
Project specification — the first vertical. Agent memory, work logs and published documents are where the capability widens later.
Advantage vs what lasts
Advantage is what a team feels. What lasts is what a competitor cannot copy. Sync is the advantage and the demo; the neutral position, the join and the template library are what lasts. See 12, 13.

Set in Newsreader and Inter.