Jump to content

The Principia Machina/Diagrams/09 Lock and petition queue

From The Invariance Itself
Revision as of 20:49, 17 September 2026 by BFP Rauch (talk | contribs) (1 revision imported)

Structural diagram 9 of 12. Part of the TPM hub.

  • KIND: process
  • LANGUAGE: Mermaid sequence
  • GENERATED FROM: per-container lock page state; TPS 5.7, 5.8.5
  • STATUS: hand-authored at TPS 0.1.0; superseded by TPX at its first build
  • SOURCE SHA-256: e67a07601554beb77e1b559b098b92209b389956016ddf19145d5fe44e1b710f
  • KEY: key for process diagrams: what each shape and arrow means; definition of terms; contents of the specification

Rendered live from the source, which is the text equivalent and is shown under the drawing; a wide drawing scrolls sideways inside its frame.

Source (the text equivalent; Mermaid)
%% 09 Lock and petition queue. process/Mermaid sequence. Generated from: per-container lock page state; TPS 5.7, 5.8.5.
sequenceDiagram
  participant L as Lead (holder)
  participant K as Lock page
  participant X as TPX
  participant C as Coworker (queue head)
  L->>K: base-revision edit: holder, grant plus 1, grant time, expiry (5.7.2)
  L->>K: heartbeat every few hours, never past 24 h from grant (5.7.3)
  L->>X: push carrying the grant number (5.9.8)
  X-->>L: fencing check: grant not stale, holder is pusher; badge written last (5.10.1)
  L->>K: release, valid only after the push (5.7.5)
  C->>K: acquire as queue head within the ACQUISITION WINDOW (5.7.4)
  Note over K,X: out-of-order or pre-expiry acquisition refused by the save hook (5.7.1)
  Note over C,K: if the head is silent past the window, the next waiter may acquire (5.8.5)

Text equivalent

The lead acquires the lock by a base-revision edit writing holder, grant, grant time and expiry (5.7.2), extends it by heartbeat never past 24 hours (5.7.3), pushes with the grant number under the fencing check with the badge written last (5.9.8, 5.10.1), and releases only after that push (5.7.5). The queue head acquires within the ACQUISITION WINDOW, else the next waiter may (5.7.4, 5.8.5); the save hook refuses any out-of-order or pre-expiry acquisition (5.7.1).