Jump to content

The Principia Machina/Diagrams/Structure key: Difference between revisions

From The Invariance Itself
Human-facing page: Structure key
Human-facing page: Structure key
(No difference)

Revision as of 05:25, 22 September 2026

The Principia Machina: map
Reading the diagrams
Structure key
Process key
Definition of terms
Roles
Reading by audience
Start here: the walk through
The operator's guide
Tutorial: create a UUID Workspace Container (UWC)
Public Recorder inputs
Sponsors: your first agent
The specification
Contents: parts, tables, diagrams
TPS 0.5.0 (declared 2026-10-03, revision 8; machine-optimized text)
Decisions (the foundations record, one line each)


Key for the structure diagrams. Part of the TPM hub. Hand-authored at TPS 0.1.0.

  • USED BY: diagrams 01, 06, 12, C1, C2
  • SOURCE SHA-256: fc582133546d6c0093e6af6048123d2d0209c8833e7af947e2292f702f4ab61c

Shapes, alphabetical

dashed arrow
a check or verification relationship, not ownership.
diamond (01, 06, 12)
a gate or check.
dotted arrow
a reference held in a field, such as a back-pointer or the WORKLOAD pointer.
lighter header
a class of register record: withdrawal, corroboration, named-gap, verification, entry-status.
loop
a set among records of the same type (CITES).
note (01, 06, 12)
a certificate or a chain line.
octagon (01, 06, 12)
a digest.
plain box (01, 06, 12)
a layer, page or object.
record box
a record type or page class, in Bachman form. Header: the name and where it lives. Second row: identity, writer, allocation. Field rows: the fields TPS names. Last row: the TPS addresses.
solid arrow
a set, owner to member; the label is the set's name, then the rule (order, count, who allocates), then addresses.
three-dimensional box (01, 06, 12)
the Public Recorder, the host.

Source (the text equivalent; DOT)
// K2 Key for structure diagrams (DOT, Bachman form).
digraph K2_key_for_structure_diagrams {
  graph [rankdir=TB, fontname="Helvetica", fontsize=10, labelloc=t, nodesep=0.35, ranksep=0.45, label="K2  KEY FOR STRUCTURE DIAGRAMS"];
  node [shape=plaintext, fontname="Helvetica", fontsize=9, fontcolor="#202122"]; edge [fontname="Helvetica", fontsize=8, arrowhead=vee, color="#54595d", fontcolor="#202122"];
  OWNER [label=<<TABLE BORDER="1" CELLBORDER="1" CELLSPACING="0" CELLPADDING="3">
    <TR><TD COLSPAN="3" BGCOLOR="#eaecf0"><B>RECORD TYPE OR PAGE CLASS</B> where it lives</TD></TR>
    <TR><TD>identity</TD><TD>who writes it</TD><TD>how it is allocated</TD></TR>
    <TR><TD COLSPAN="3" ALIGN="LEFT">field | field | field</TD></TR>
    <TR><TD COLSPAN="3">TPS addresses</TD></TR></TABLE>>];
  MEMBER [label=<<TABLE BORDER="1" CELLBORDER="1" CELLSPACING="0" CELLPADDING="3">
    <TR><TD COLSPAN="2" BGCOLOR="#f8f9fa"><B>RECORD CLASS</B> lighter header</TD></TR>
    <TR><TD COLSPAN="2" ALIGN="LEFT">its fields</TD></TR><TR><TD COLSPAN="2">addresses</TD></TR></TABLE>>];
  REF [label=<<TABLE BORDER="1" CELLBORDER="1" CELLSPACING="0" CELLPADDING="3"><TR><TD BGCOLOR="#eaecf0"><B>ANOTHER TYPE</B></TD></TR><TR><TD>addresses</TD></TR></TABLE>>];
  OWNER -> MEMBER [label="SET NAME\nsolid: a set, owner to member"];
  OWNER -> REF [label="dashed: a check", style=dashed];
  MEMBER -> REF [label="dotted: a pointer", style=dotted];
  MEMBER -> MEMBER [label="loop: a set among\nrecords of one type"];
  REF -> L1 [style=invis];
  subgraph cluster_simple { label="Shapes in diagrams 01, 06, 12"; style=filled; fillcolor="#f8f9fa"; color="#c8ccd1";
    node [shape=box, style=filled, fillcolor="#eaecf0", color="#a2a9b1"];
    L1 [label="plain box: a layer, page or object"]; L2 [label="box3d: the Public Recorder, the host", shape=box3d];
    L3 [label="octagon: a digest", shape=octagon]; L4 [label="note: a certificate or a chain line", shape=note]; L5 [label="diamond: a gate or check", shape=diamond];
    L1 -> L2 [label="solid: the named relation"]; L2 -> L3 [label="dashed: a parameter or audit relation", style=dashed]; L3 -> L4 [label="dotted, no head: hosts or holds", style=dotted, arrowhead=none]; L4 -> L5 [style=invis];
  }
}