<mxfile host="Electron" agent="tepp-omega-visual" version="29.3.0">
  <diagram name="Consent: guardians define, the subject ratifies" id="04-ceremony">
    <mxGraphModel dx="1600" dy="900" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1860" pageHeight="1140" background="#ffffff" math="0" shadow="0">
      <root>
        <mxCell id="0" />
        <mxCell id="1" parent="0" />
        <mxCell id="04-2" value='&lt;font style="font-size:30px"&gt;&lt;b&gt;Consent: guardians define, the subject ratifies&lt;/b&gt;&lt;/font&gt;' style="text;html=1;align=left;verticalAlign=middle;fontColor=#1f2933;fontFamily=Helvetica;" vertex="1" parent="1"><mxGeometry x="40" y="24" width="1780" height="44" as="geometry" /></mxCell>
        <mxCell id="04-3" value='&lt;font style="font-size:17px" color="#52606d"&gt;Inside the regime, the guardian set changes only when the subject signs the association a current guardian offered — mutual consent as two ordinary signatures.&lt;/font&gt;' style="text;html=1;align=left;verticalAlign=middle;fontFamily=Helvetica;" vertex="1" parent="1"><mxGeometry x="40" y="68" width="1780" height="30" as="geometry" /></mxCell>
        <mxCell id="04-4" value="&lt;b&gt;A current guardian&lt;/b&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;strokeWidth=1.5;fontSize=16;align=center;verticalAlign=middle;fontFamily=Helvetica;fontColor=#1f2933;spacing=8;" vertex="1" parent="1"><mxGeometry x="40" y="120" width="190" height="170" as="geometry" /></mxCell>
        <mxCell id="04-5" value="" style="rounded=0;html=1;fillColor=#ffe6cc;opacity=35;strokeColor=#d79b00;strokeWidth=1;" vertex="1" parent="1"><mxGeometry x="230" y="120" width="1590" height="170" as="geometry" /></mxCell>
        <mxCell id="04-6" value="&lt;b&gt;Relays&lt;/b&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f5f5f5;strokeColor=#666666;strokeWidth=1.5;fontSize=16;align=center;verticalAlign=middle;fontFamily=Helvetica;fontColor=#1f2933;spacing=8;" vertex="1" parent="1"><mxGeometry x="40" y="300" width="190" height="110" as="geometry" /></mxCell>
        <mxCell id="04-7" value="" style="rounded=0;html=1;fillColor=#f5f5f5;opacity=35;strokeColor=#666666;strokeWidth=1;" vertex="1" parent="1"><mxGeometry x="230" y="300" width="1590" height="110" as="geometry" /></mxCell>
        <mxCell id="04-8" value="&lt;b&gt;The subject's signer (the engine)&lt;/b&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#b0e3e6;strokeColor=#0e8088;strokeWidth=1.5;fontSize=16;align=center;verticalAlign=middle;fontFamily=Helvetica;fontColor=#1f2933;spacing=8;" vertex="1" parent="1"><mxGeometry x="40" y="420" width="190" height="210" as="geometry" /></mxCell>
        <mxCell id="04-9" value="" style="rounded=0;html=1;fillColor=#b0e3e6;opacity=35;strokeColor=#0e8088;strokeWidth=1;" vertex="1" parent="1"><mxGeometry x="230" y="420" width="1590" height="210" as="geometry" /></mxCell>
        <mxCell id="04-10" value="&lt;b&gt;The subject&lt;/b&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;strokeWidth=1.5;fontSize=16;align=center;verticalAlign=middle;fontFamily=Helvetica;fontColor=#1f2933;spacing=8;" vertex="1" parent="1"><mxGeometry x="40" y="640" width="190" height="170" as="geometry" /></mxCell>
        <mxCell id="04-11" value="" style="rounded=0;html=1;fillColor=#dae8fc;opacity=35;strokeColor=#6c8ebf;strokeWidth=1;" vertex="1" parent="1"><mxGeometry x="230" y="640" width="1590" height="170" as="geometry" /></mxCell>
        <mxCell id="04-12" value='&lt;font style="font-size:16px"&gt;&lt;b&gt;Offer&lt;/b&gt;&lt;/font&gt;&lt;br&gt;Publishes an open (&lt;font face="Courier New"&gt;7710&lt;/font&gt;) or sealed (&lt;font face="Courier New"&gt;7711&lt;/font&gt;) offer: the successor association, as a template.&lt;br&gt;&lt;font style="font-size:12px" color="#52606d"&gt;An expiration is recommended.&lt;/font&gt;' style="rounded=1;whiteSpace=wrap;html=1;fillColor=#ffffff;strokeColor=#4d4d4d;strokeWidth=1.5;fontSize=13;align=left;verticalAlign=top;fontFamily=Helvetica;fontColor=#1f2933;spacing=10;arcSize=8;absoluteArcSize=1;spacingLeft=30;" vertex="1" parent="1"><mxGeometry x="262" y="142" width="224" height="134" as="geometry" /></mxCell>
        <mxCell id="04-13" value="&lt;b&gt;1&lt;/b&gt;" style="ellipse;whiteSpace=wrap;html=1;fillColor=#d79b00;strokeColor=none;fontColor=#ffffff;fontSize=16;fontFamily=Helvetica;" vertex="1" parent="1"><mxGeometry x="248" y="128" width="34" height="34" as="geometry" /></mxCell>
        <mxCell id="04-14" value="&lt;b&gt;the counting subset of the subject's discovery relays&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:12px&quot; color=&quot;#52606d&quot;&gt;where offers are published, polled and the ratified association is posted&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#f5f5f5;strokeColor=#666666;strokeWidth=1.5;fontSize=14;align=center;verticalAlign=middle;fontFamily=Helvetica;fontColor=#1f2933;spacing=8;arcSize=8;absoluteArcSize=1;" vertex="1" parent="1"><mxGeometry x="262" y="322" width="1534" height="66" as="geometry" /></mxCell>
        <mxCell id="04-15" value='&lt;font style="font-size:16px"&gt;&lt;b&gt;Poll&lt;/b&gt;&lt;/font&gt;&lt;br&gt;One query by author over the current guardians. Sealed offers are trial-decrypted.&lt;br&gt;&lt;font style="font-size:12px" color="#52606d"&gt;Offers are never cached: each prompt, and each 17710 sign request, polls afresh.&lt;/font&gt;' style="rounded=1;whiteSpace=wrap;html=1;fillColor=#ffffff;strokeColor=#4d4d4d;strokeWidth=1.5;fontSize=13;align=left;verticalAlign=top;fontFamily=Helvetica;fontColor=#1f2933;spacing=10;arcSize=8;absoluteArcSize=1;spacingLeft=30;" vertex="1" parent="1"><mxGeometry x="524" y="442" width="224" height="174" as="geometry" /></mxCell>
        <mxCell id="04-16" value="&lt;b&gt;2&lt;/b&gt;" style="ellipse;whiteSpace=wrap;html=1;fillColor=#0e8088;strokeColor=none;fontColor=#ffffff;fontSize=16;fontFamily=Helvetica;" vertex="1" parent="1"><mxGeometry x="510" y="428" width="34" height="34" as="geometry" /></mxCell>
        <mxCell id="04-17" value='&lt;font style="font-size:16px"&gt;&lt;b&gt;Validate&lt;/b&gt;&lt;/font&gt;&lt;br&gt;Seven checks (below). Only a validated, outstanding offer goes further.&lt;br&gt;&lt;font style="font-size:12px" color="#52606d"&gt;An offer not addressed to this subject is skipped silently.&lt;/font&gt;' style="rounded=1;whiteSpace=wrap;html=1;fillColor=#ffffff;strokeColor=#4d4d4d;strokeWidth=1.5;fontSize=13;align=left;verticalAlign=top;fontFamily=Helvetica;fontColor=#1f2933;spacing=10;arcSize=8;absoluteArcSize=1;spacingLeft=30;" vertex="1" parent="1"><mxGeometry x="786" y="442" width="224" height="174" as="geometry" /></mxCell>
        <mxCell id="04-18" value="&lt;b&gt;3&lt;/b&gt;" style="ellipse;whiteSpace=wrap;html=1;fillColor=#0e8088;strokeColor=none;fontColor=#ffffff;fontSize=16;fontFamily=Helvetica;" vertex="1" parent="1"><mxGeometry x="772" y="428" width="34" height="34" as="geometry" /></mxCell>
        <mxCell id="04-19" value='&lt;font style="font-size:16px"&gt;&lt;b&gt;Prompt&lt;/b&gt;&lt;/font&gt;&lt;br&gt;The subject sees a legible diff: who would join, who would leave.&lt;br&gt;&lt;font style="font-size:12px" color="#52606d"&gt;Ignoring it changes nothing.&lt;/font&gt;' style="rounded=1;whiteSpace=wrap;html=1;fillColor=#ffffff;strokeColor=#4d4d4d;strokeWidth=1.5;fontSize=13;align=left;verticalAlign=top;fontFamily=Helvetica;fontColor=#1f2933;spacing=10;arcSize=8;absoluteArcSize=1;spacingLeft=30;" vertex="1" parent="1"><mxGeometry x="1048" y="662" width="224" height="134" as="geometry" /></mxCell>
        <mxCell id="04-20" value="&lt;b&gt;4&lt;/b&gt;" style="ellipse;whiteSpace=wrap;html=1;fillColor=#6c8ebf;strokeColor=none;fontColor=#ffffff;fontSize=16;fontFamily=Helvetica;" vertex="1" parent="1"><mxGeometry x="1034" y="648" width="34" height="34" as="geometry" /></mxCell>
        <mxCell id="04-21" value='&lt;font style="font-size:16px"&gt;&lt;b&gt;Ratify&lt;/b&gt;&lt;/font&gt;&lt;br&gt;The subject asks to sign a &lt;font face="Courier New"&gt;17710&lt;/font&gt;. It counts only if it maps exactly onto the offer; the offer covers the guardians it names, the rest is evaluated as usual.&lt;br&gt;&lt;font style="font-size:12px" color="#52606d"&gt;Otherwise: deny · unmatched · no-offer&lt;/font&gt;' style="rounded=1;whiteSpace=wrap;html=1;fillColor=#ffffff;strokeColor=#4d4d4d;strokeWidth=1.5;fontSize=13;align=left;verticalAlign=top;fontFamily=Helvetica;fontColor=#1f2933;spacing=10;arcSize=8;absoluteArcSize=1;spacingLeft=30;" vertex="1" parent="1"><mxGeometry x="1310" y="442" width="224" height="174" as="geometry" /></mxCell>
        <mxCell id="04-22" value="&lt;b&gt;5&lt;/b&gt;" style="ellipse;whiteSpace=wrap;html=1;fillColor=#0e8088;strokeColor=none;fontColor=#ffffff;fontSize=16;fontFamily=Helvetica;" vertex="1" parent="1"><mxGeometry x="1296" y="428" width="34" height="34" as="geometry" /></mxCell>
        <mxCell id="04-23" value='&lt;font style="font-size:16px"&gt;&lt;b&gt;Settle&lt;/b&gt;&lt;/font&gt;&lt;br&gt;Signed and published. Once the new association applies, this offer and every racing offer are spent.&lt;br&gt;&lt;font style="font-size:12px" color="#52606d"&gt;The newest valid association applies at every locus.&lt;/font&gt;' style="rounded=1;whiteSpace=wrap;html=1;fillColor=#ffffff;strokeColor=#4d4d4d;strokeWidth=1.5;fontSize=13;align=left;verticalAlign=top;fontFamily=Helvetica;fontColor=#1f2933;spacing=10;arcSize=8;absoluteArcSize=1;spacingLeft=30;" vertex="1" parent="1"><mxGeometry x="1572" y="442" width="224" height="174" as="geometry" /></mxCell>
        <mxCell id="04-24" value="&lt;b&gt;6&lt;/b&gt;" style="ellipse;whiteSpace=wrap;html=1;fillColor=#0e8088;strokeColor=none;fontColor=#ffffff;fontSize=16;fontFamily=Helvetica;" vertex="1" parent="1"><mxGeometry x="1558" y="428" width="34" height="34" as="geometry" /></mxCell>
        <mxCell id="04-25" value="publish" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#d79b00;strokeWidth=2;fontSize=13;fontFamily=Helvetica;fontColor=#1f2933;labelBackgroundColor=#ffffff;endArrow=block;endFill=1;endSize=7;startArrow=none;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.073;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="04-12" target="04-14"><mxGeometry relative="1" as="geometry"></mxGeometry></mxCell>
        <mxCell id="04-26" value="poll by author" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#0e8088;strokeWidth=2;fontSize=13;fontFamily=Helvetica;fontColor=#1f2933;labelBackgroundColor=#ffffff;endArrow=block;endFill=1;endSize=7;startArrow=none;dashed=1;dashPattern=6 4;exitX=0.244;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="04-14" target="04-15"><mxGeometry relative="1" as="geometry"></mxGeometry></mxCell>
        <mxCell id="04-27" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#4d4d4d;strokeWidth=2;fontSize=13;fontFamily=Helvetica;fontColor=#1f2933;labelBackgroundColor=#ffffff;endArrow=block;endFill=1;endSize=7;startArrow=none;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="04-15" target="04-17"><mxGeometry relative="1" as="geometry"></mxGeometry></mxCell>
        <mxCell id="04-28" value="validated" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#82b366;strokeWidth=2;fontSize=13;fontFamily=Helvetica;fontColor=#1f2933;labelBackgroundColor=#ffffff;endArrow=block;endFill=1;endSize=7;startArrow=none;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="04-17" target="04-19"><mxGeometry relative="1" as="geometry"><Array as="points"><mxPoint x="1022" y="525" /><mxPoint x="1022" y="725" /></Array></mxGeometry></mxCell>
        <mxCell id="04-29" value="the subject agrees and signs" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#6c8ebf;strokeWidth=2;fontSize=13;fontFamily=Helvetica;fontColor=#1f2933;labelBackgroundColor=#ffffff;endArrow=block;endFill=1;endSize=7;startArrow=none;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="04-19" target="04-21"><mxGeometry relative="1" as="geometry"><Array as="points"><mxPoint x="1284" y="725" /><mxPoint x="1284" y="525" /></Array></mxGeometry></mxCell>
        <mxCell id="04-30" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#4d4d4d;strokeWidth=2;fontSize=13;fontFamily=Helvetica;fontColor=#1f2933;labelBackgroundColor=#ffffff;endArrow=block;endFill=1;endSize=7;startArrow=none;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="04-21" target="04-23"><mxGeometry relative="1" as="geometry"></mxGeometry></mxCell>
        <mxCell id="04-31" value="publish" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#0e8088;strokeWidth=2;fontSize=13;fontFamily=Helvetica;fontColor=#1f2933;labelBackgroundColor=#ffffff;endArrow=block;endFill=1;endSize=7;startArrow=none;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.927;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" source="04-23" target="04-14"><mxGeometry relative="1" as="geometry"></mxGeometry></mxCell>
        <mxCell id="04-32" value='&lt;font style="font-size:16px"&gt;&lt;b&gt;The offer template&lt;/b&gt;&lt;/font&gt;' style="swimlane;html=1;startSize=34;fillColor=#ffe6cc;strokeColor=#d79b00;strokeWidth=1.5;swimlaneFillColor=#ffffff;rounded=1;arcSize=8;absoluteArcSize=1;fontFamily=Helvetica;fontColor=#1f2933;align=center;verticalAlign=middle;collapsible=0;" vertex="1" parent="1"><mxGeometry x="40" y="850" width="560" height="240" as="geometry" /></mxCell>
        <mxCell id="04-33" value="&lt;font face=&quot;Courier New&quot;&gt;{ &quot;replaces&quot;: &quot;&amp;lt;id of the current association&amp;gt;&quot;,&lt;/font&gt;&lt;br&gt;&lt;font face=&quot;Courier New&quot;&gt;  &quot;public&quot;:   [ [&quot;p&quot;, &quot;&amp;lt;guardian 1&amp;gt;&quot;, &quot;wss://…&quot;] ],&lt;/font&gt;&lt;br&gt;&lt;font face=&quot;Courier New&quot;&gt;  &quot;sealed&quot;:   [ [&quot;p&quot;, &quot;&amp;lt;guardian 2&amp;gt;&quot;] ] }&lt;/font&gt;&lt;br&gt;&lt;br&gt;Ratifying it means signing exactly this: the &lt;font face=&quot;Courier New&quot;&gt;public&lt;/font&gt; items as &lt;font face=&quot;Courier New&quot;&gt;p&lt;/font&gt; tags, the &lt;font face=&quot;Courier New&quot;&gt;sealed&lt;/font&gt; items encrypted to the subject's own key, a &lt;font face=&quot;Courier New&quot;&gt;created_at&lt;/font&gt; later than the association it replaces.&lt;br&gt;&lt;font style=&quot;font-size:12px&quot; color=&quot;#52606d&quot;&gt;An open offer carries the template in plain JSON and may not define sealed guardians; a sealed offer carries it encrypted to the subject.&lt;/font&gt;" style="text;html=1;whiteSpace=wrap;align=left;verticalAlign=top;fontSize=14;fontFamily=Helvetica;fontColor=#1f2933;spacing=0;strokeColor=none;fillColor=none;" vertex="1" parent="04-32"><mxGeometry x="10" y="40" width="540" height="194" as="geometry" /></mxCell>
        <mxCell id="04-34" value='&lt;font style="font-size:16px"&gt;&lt;b&gt;The seven validation checks&lt;/b&gt;&lt;/font&gt;' style="swimlane;html=1;startSize=34;fillColor=#b0e3e6;strokeColor=#0e8088;strokeWidth=1.5;swimlaneFillColor=#ffffff;rounded=1;arcSize=8;absoluteArcSize=1;fontFamily=Helvetica;fontColor=#1f2933;align=center;verticalAlign=middle;collapsible=0;" vertex="1" parent="1"><mxGeometry x="620" y="850" width="560" height="240" as="geometry" /></mxCell>
        <mxCell id="04-35" value="&lt;b&gt;1 &lt;/b&gt;the author is a current guardian&lt;br&gt;&lt;b&gt;2 &lt;/b&gt;replay guard: &lt;font face=&quot;Courier New&quot;&gt;replaces&lt;/font&gt; names the current association&lt;br&gt;&lt;b&gt;3 &lt;/b&gt;not expired, by the signer's own clock&lt;br&gt;&lt;b&gt;4 &lt;/b&gt;the resulting set is valid: at least one guardian, no duplicates, not the subject&lt;br&gt;&lt;b&gt;5 &lt;/b&gt;an open offer defines no sealed guardians&lt;br&gt;&lt;b&gt;6 &lt;/b&gt;no proposed guardian matches a deny gate — checked before the subject is asked&lt;br&gt;&lt;b&gt;7 &lt;/b&gt;a subject with private guardians is re-associated through sealed offers only" style="text;html=1;whiteSpace=wrap;align=left;verticalAlign=top;fontSize=14;fontFamily=Helvetica;fontColor=#1f2933;spacing=0;strokeColor=none;fillColor=none;" vertex="1" parent="04-34"><mxGeometry x="10" y="40" width="540" height="194" as="geometry" /></mxCell>
        <mxCell id="04-36" value='&lt;font style="font-size:16px"&gt;&lt;b&gt;What holds it together&lt;/b&gt;&lt;/font&gt;' style="swimlane;html=1;startSize=34;fillColor=#dae8fc;strokeColor=#6c8ebf;strokeWidth=1.5;swimlaneFillColor=#ffffff;rounded=1;arcSize=8;absoluteArcSize=1;fontFamily=Helvetica;fontColor=#1f2933;align=center;verticalAlign=middle;collapsible=0;" vertex="1" parent="1"><mxGeometry x="1200" y="850" width="620" height="240" as="geometry" /></mxCell>
        <mxCell id="04-37" value="• Any single current guardian may propose any successor; only the subject's signature changes the set.&lt;br&gt;• No elevation window: nothing but a request that maps onto a validated offer is a ratification.&lt;br&gt;• No valid association means unbound: the signer signs nothing and every evaluation denies.&lt;br&gt;• A high-water mark blocks rollback: an older association never displaces a newer one the locus has seen.&lt;br&gt;• The founding association, and any exit, lie outside the engine: whoever holds the key can sign a newer one — a loud, public, timestamped act." style="text;html=1;whiteSpace=wrap;align=left;verticalAlign=top;fontSize=14;fontFamily=Helvetica;fontColor=#1f2933;spacing=0;strokeColor=none;fillColor=none;" vertex="1" parent="04-36"><mxGeometry x="10" y="40" width="600" height="194" as="geometry" /></mxCell>
        <mxCell id="04-38" value="" style="endArrow=none;html=1;strokeColor=#d9dee4;strokeWidth=1;" edge="1" parent="1"><mxGeometry relative="1" as="geometry"><mxPoint x="40" y="1092" as="sourcePoint" /><mxPoint x="1820" y="1092" as="targetPoint" /></mxGeometry></mxCell>
        <mxCell id="04-39" value='&lt;font color="#52606d"&gt;TEPP Zeta · diagram 04 · statements: CERE-001–CERE-047, ASSOC-018–ASSOC-022, ASSOC-037, ASSOC-038, NF-008, NF-011, NF-013&lt;/font&gt;' style="text;html=1;whiteSpace=wrap;align=left;verticalAlign=middle;fontSize=12;fontFamily=Helvetica;fontColor=#1f2933;spacing=0;strokeColor=none;fillColor=none;" vertex="1" parent="1"><mxGeometry x="40" y="1100" width="1780" height="26" as="geometry" /></mxCell>
      </root>
    </mxGraphModel>
  </diagram>
</mxfile>
