SQLStyle

Documentation

Node capabilities

Configure controller permissions, capture ownership, and capture-loss recovery independently.

SQLStyle does not assign node roles. Each managed connection declares five independent properties:

capabilities: {
  controller: {
    vote: true,
    storage: true,
    promotable: true,
  },
  runtime: {
    capture: "on",
    on_capture_loss: "none",
  },
}

These defaults produce regular SDK behavior.

Controller capabilities

  • vote allows counted health concerns. A concern is counted only after the local token-bound peer-health channel has previously reached the current holder.
  • storage allows storage-floor probes and storage-derived analytics work when the local image is ready.
  • promotable allows authority acquisition, offers, and handoff candidacy. The runtime still requires a usable image and sufficient frontier.

The three values form one immutable mask for an authenticated WebSocket. Changing the mask requires reconnecting. A zero-capability connection can read topology and use ASP transport but does not appear as a topology node.

Runtime capabilities

capture controls capture-lock ownership:

  • on uses ordinary contention.
  • priority takes priority intent before contending.
  • off never attempts ordinary capture ownership.

on_capture_loss: "recover" performs terminal cleanup after capture-owner loss and exclusive presence. It requires capture: "off". The default is none.

Controller permissions are independent of runtime capture. For example, a capture-disabled connection can still vote, answer storage operations, or route ASP calls if those controller capabilities are enabled.

Common combinations

Terms such as regular, host-like, companion-like, witness-like, and ASP-client-like are explanatory shorthand only. They do not appear in config, the protocol, persistence, or runtime state.

The controller identifies the current writer solely from the authoritative lease record. Local write admission additionally requires the capture lock, a usable image, and the writer-admission gate.