{
  "status": "unknown",
  "advantages": [],
  "limitations": [],
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "updated": "2026-11-11",
  "slug": "safe-register",
  "term": "Safe register",
  "aliases": [
    "Single-writer safe register"
  ],
  "definition": "A single-writer safe register returns the latest written value outside overlapping writes, but may return any domain value during an overlapping write.",
  "note": "The domain can include values never written. Even a same-value write can allow a different result during overlap. [lamport-registers]",
  "related": [
    "regular-register",
    "linearizability"
  ],
  "citations": [
    {
      "id": "lamport-registers",
      "title": "Lamport. On Interprocess Communication, Part II, sections 4-5. SRC report, 1985; journal publication, 1986.",
      "url": "https://lamport.azurewebsites.net/pubs/interprocess.pdf",
      "accessed": "2026-11-11"
    },
    {
      "id": "hesela-registers",
      "title": "Hesela: constructed read histories for safe, regular and atomic registers.",
      "url": "https://hesela.com/analyses/storage-consistency-ordering/#register-contracts",
      "accessed": "2026-11-11"
    }
  ],
  "provenance": [
    "Scope: finite-valued, single-writer registers with one or more readers; no product lifecycle or priority date is inferred. [lamport-registers]"
  ]
}
