Stale frontier
- Status
- 409
- Retryable
- yes
- Type
- https://fastpad.ai/errors/stale-frontier
What it means
The note changed after you read it. The `expected_frontier` you sent names a version that is no longer current, so applying your ops would target text that has moved.
What to do
Re-read the note with `fastpad_fetch{ids:[…], with_handles:true}`, then retry with the `current_frontier` value from the error body. The response names it, and names the exact call to make.
Why it works this way
Fastpad refuses rather than merging. CRDT convergence guarantees that concurrent edits produce one document, not that they produce the intended one: an agent rewriting a paragraph while a human types into it converges to well-formed prose neither party wrote.