When you wrote the rule and the agent ignored it
The rules you wrote are not binding.
You already solved single-player memory. Markdown in git, a memory directory, a few hooks. It holds, until a second author adds a rule that contradicts the first, until the third stack migration leaves the context behind, and until the agent reads your rule and quietly routes around it anyway. SynthWeave is the layer a text file cannot be: one shared record the whole team works from, with the consequential write held by the platform before it lands.
We are not going to tell you the file was a mistake. It was the right call at single-player scale. This is about the fifth teammate and the third migration.
Concede the fix, argue the boundary
It works until it doesn't. Then you rebuild everything anyway.
The fix is real and it is free, one git clone away, and at single-player scale it is right. The boundary it hits is not memory. It is bindingness and drift: the moment a second author, a second agent, or a second harness touches the same context, the copies diverge and the rule stops binding.
What you end up doing is re-litigating decisions the team already closed. Not because the agent forgot, but because it re-opened them, and nothing held the line.
What a text file cannot be
A file can describe a rule. It cannot stop an action.
SynthWeave holds the consequential write at the data layer, server-side, before it lands. The human reviews a proposal, not a diff that already shipped. That is the one thing you cannot write into a markdown file, and it is the reason the rule finally binds.
One limit worth knowing. The automatic gate covers edits to existing documents (snip_rewrite and snip_patch). Creating new documents and changing metadata are not gated yet, and it depends on auto-accept being off. It is a property of the platform, not a rule in a prompt.
Stop being the only one who pays
Single-player tools. Multi-player teams.
Right now you are the maintenance tax. The fix is your daily work, and you are the only one who pays it. On a shared record, the whole team is on the same discipline. The schema is overridable and you still own it, but you are no longer the transport layer, and the discipline stops living in one person's memory.
Read the code first
Do not take our word for it.
Read the trace, see where the halt lands, and try to make an agent overwrite something. If the write lands, we did not do our job.