{
  "$schema": "https://brittleboye.github.io/awesome-lattice/projects.schema.json",
  "category": {
    "id": "cads",
    "title": "Convex Architecture Documents",
    "url": "https://brittleboye.github.io/awesome-lattice/cads/"
  },
  "slug": "cad035-lattice-cursors",
  "name": "CAD035: Lattice Cursors",
  "description": "A thin mutable pointer layer over immutable lattice values — applications get atomic compareAndSet, updateAndGet, nested navigation, and sync/fork, while the underlying Merkle DAG stays pure. This is how applications use CRDT data without thinking about CRDT merges.",
  "longDescription": null,
  "homepage": "https://docs.convex.world/docs/cad/035_cursors",
  "repo": "https://github.com/Convex-Dev/design/tree/main/docs/cad/035_cursors",
  "docs": null,
  "links": [],
  "tags": [
    "spec",
    "cursors",
    "lattice",
    "crdt",
    "api"
  ],
  "badge": "CAD",
  "status": null,
  "licensing": null,
  "license": null,
  "mcp": null,
  "url": "https://brittleboye.github.io/awesome-lattice/projects/cads/cad035-lattice-cursors/",
  "markdown": "https://brittleboye.github.io/awesome-lattice/projects/cads/cad035-lattice-cursors.md",
  "generated": "2026-04-19T08:15:29.572Z"
}