May 14, 2026
Formula carriers compute server-side.
Write `=SUM(A1:A3)` through the rows API and the response carries the computed value, not a bare formula string. Update a source cell and every downstream formula carrier refreshes in the same write. The engine that used to live only in the browser now runs on every row write.
API
- `POST /rows`, `PATCH /rows/:id`, and `PATCH /rows/bulk` all run the formula engine after applying your change. Bare `=SUM(...)` strings get persisted as a `{formula, value}` carrier with the computed value populated. No UI client needs to open the sheet for the computation to land.
- Update a literal cell that other formulas depend on, every downstream carrier refreshes its `value` field in the same write. The cell view stops drifting from the bar.
- Cheap pure-literal early-out: workspaces with zero formulas pay no engine cost on writes.
