<!doctype html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Cradicle Explorer</title>
    <link href="/css/bootstrap/bootstrap.min.css" rel="stylesheet">
    <style>
      .form-control-dark::placeholder {
          color: #aaa;
          opacity: 1;
      }
    </style>
    <link rel="stylesheet" href="/assets/fontawesome/css/all.min.css">
    <link rel="icon" type="image/png" href="/favicon.png">


                <link href="/css/dashboard.css" rel="stylesheet">
                </head>
                <body>
                <header class="navbar navbar-dark sticky-top bg-dark flex-md-nowrap p-0 shadow">
                  <a class="navbar-brand col-md-3 col-lg-2 me-0 px-3 fs-6" href="/">Cradicle Explorer</a>
                  <button class="navbar-toggler position-absolute d-md-none collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#sidebarMenu" aria-controls="sidebarMenu" aria-expanded="false" aria-label="Toggle navigation">
                    <span class="navbar-toggler-icon"></span>
                  </button>
                  <form method="get" action="/cgi-bin/main" style="width:100%;"><input class="form-control form-control-dark w-100 rounded-0 border-0" type="text" name="q" placeholder="Search repos" aria-label="Search"></form>
                  <div class="navbar-nav flex-row">
                    <div class="nav-item text-nowrap">
                      <a class="nav-link px-3 active" href="/cgi-bin/repo?id=z3g8vEyv3XfBUnDq17xgVegmBvyFX">abzu</a>
                    </div>
                  </div>
                </header>
                <div class="container-fluid">
                  <div class="row">
                    <nav id="sidebarMenu" class="col-md-3 col-lg-2 d-md-block bg-dark sidebar collapse">
                      <div class="position-sticky pt-3 sidebar-sticky">
                        <ul class="nav flex-column">
                          <li class="nav-item">
                            <a class="nav-link" href="/cgi-bin/repo?id=z3g8vEyv3XfBUnDq17xgVegmBvyFX">
                              <i class="align-text-bottom fa-solid fa-info"></i>
                              Info
                            </a>
                          </li>
                          <li class="nav-item">
                            <a class="nav-link" href="/cgi-bin/repo?id=z3g8vEyv3XfBUnDq17xgVegmBvyFX&issue=list">
                              <i class="align-text-bottom fa-solid fa-layer-group"></i>
                              Issues
                            </a>
                          </li>
                          <li class="nav-item">
                            <a class="nav-link" href="/cgi-bin/repo?id=z3g8vEyv3XfBUnDq17xgVegmBvyFX&patch=list">
                              <i class="align-text-bottom fa-solid fa-vest-patches"></i>
                              Patches
                            </a>
                          </li>
                          <li class="nav-item">
                            <a class="nav-link" href="/cgi-bin/repo?id=z3g8vEyv3XfBUnDq17xgVegmBvyFX&wallet=list">
                              <i class="align-text-bottom fa-solid fa-wallet"></i>
                              Wallets
                            </a>
                          </li>
                          <li class="nav-item">
                            <a class="nav-link active" href="/cgi-bin/repo?id=z3g8vEyv3XfBUnDq17xgVegmBvyFX&source=.">
                              <i class="align-text-bottom fa-solid fa-code"></i>
                              Source
                            </a>
                          </li>
                        <h6 class="sidebar-heading d-flex justify-content-between align-items-center px-3 mt-4 mb-1 text-muted text-uppercase">
                          <span></span>
                        </h6>
                        <ul class="nav flex-column mb-2">
                        
    <h6 class="sidebar-heading d-flex justify-content-between align-items-center px-3 mt-1 mb-1 text-muted text-uppercase">
      <span>Source</span>
    </h6>
    <li><a class="nav-link py-0" style="padding-left:16px;" href="/cgi-bin/repo?id=z3g8vEyv3XfBUnDq17xgVegmBvyFX&source=.agent"><i class="fa-solid fa-folder" style="color:#f0c040;"></i> .agent</a></li><li><a class="nav-link py-0" style="padding-left:16px;" href="/cgi-bin/repo?id=z3g8vEyv3XfBUnDq17xgVegmBvyFX&source=.library_data"><i class="fa-solid fa-folder" style="color:#f0c040;"></i> .library_data</a></li><li><a class="nav-link py-0" style="padding-left:16px;" href="/cgi-bin/repo?id=z3g8vEyv3XfBUnDq17xgVegmBvyFX&source=.seeker_data"><i class="fa-solid fa-folder" style="color:#f0c040;"></i> .seeker_data</a></li><li><a class="nav-link py-0" style="padding-left:16px;" href="/cgi-bin/repo?id=z3g8vEyv3XfBUnDq17xgVegmBvyFX&source=.test_data"><i class="fa-solid fa-folder" style="color:#f0c040;"></i> .test_data</a></li><li><a class="nav-link py-0" style="padding-left:16px;" href="/cgi-bin/repo?id=z3g8vEyv3XfBUnDq17xgVegmBvyFX&source=_vendor"><i class="fa-solid fa-folder" style="color:#f0c040;"></i> _vendor</a></li><li><a class="nav-link py-0" style="padding-left:16px;" href="/cgi-bin/repo?id=z3g8vEyv3XfBUnDq17xgVegmBvyFX&source=abzu-account"><i class="fa-solid fa-folder" style="color:#f0c040;"></i> abzu-account</a></li><li><a class="nav-link py-0" style="padding-left:16px;" href="/cgi-bin/repo?id=z3g8vEyv3XfBUnDq17xgVegmBvyFX&source=abzu-chameleon"><i class="fa-solid fa-folder" style="color:#f0c040;"></i> abzu-chameleon</a></li><li><a class="nav-link py-0" style="padding-left:16px;" href="/cgi-bin/repo?id=z3g8vEyv3XfBUnDq17xgVegmBvyFX&source=abzu-core"><i class="fa-solid fa-folder" style="color:#f0c040;"></i> abzu-core</a></li><li><a class="nav-link py-0" style="padding-left:16px;" href="/cgi-bin/repo?id=z3g8vEyv3XfBUnDq17xgVegmBvyFX&source=abzu-daemon"><i class="fa-solid fa-folder" style="color:#f0c040;"></i> abzu-daemon</a></li><li><a class="nav-link py-0" style="padding-left:16px;" href="/cgi-bin/repo?id=z3g8vEyv3XfBUnDq17xgVegmBvyFX&source=abzu-dht"><i class="fa-solid fa-folder" style="color:#f0c040;"></i> abzu-dht</a></li><li><a class="nav-link py-0" style="padding-left:16px;" href="/cgi-bin/repo?id=z3g8vEyv3XfBUnDq17xgVegmBvyFX&source=abzu-ffi"><i class="fa-solid fa-folder" style="color:#f0c040;"></i> abzu-ffi</a></li><li><a class="nav-link py-0" style="padding-left:16px;" href="/cgi-bin/repo?id=z3g8vEyv3XfBUnDq17xgVegmBvyFX&source=abzu-inference"><i class="fa-solid fa-folder" style="color:#f0c040;"></i> abzu-inference</a></li><li><a class="nav-link py-0" style="padding-left:16px;" href="/cgi-bin/repo?id=z3g8vEyv3XfBUnDq17xgVegmBvyFX&source=abzu-router"><i class="fa-solid fa-folder" style="color:#f0c040;"></i> abzu-router</a></li><li><a class="nav-link py-0" style="padding-left:16px;" href="/cgi-bin/repo?id=z3g8vEyv3XfBUnDq17xgVegmBvyFX&source=abzu-sdk"><i class="fa-solid fa-folder" style="color:#f0c040;"></i> abzu-sdk</a></li><li><a class="nav-link py-0" style="padding-left:16px;" href="/cgi-bin/repo?id=z3g8vEyv3XfBUnDq17xgVegmBvyFX&source=abzu-token"><i class="fa-solid fa-folder" style="color:#f0c040;"></i> abzu-token</a></li><li><a class="nav-link py-0" style="padding-left:16px;" href="/cgi-bin/repo?id=z3g8vEyv3XfBUnDq17xgVegmBvyFX&source=abzu-transport"><i class="fa-solid fa-folder" style="color:#f0c040;"></i> abzu-transport</a></li><li><a class="nav-link py-0" style="padding-left:16px;" href="/cgi-bin/repo?id=z3g8vEyv3XfBUnDq17xgVegmBvyFX&source=apps"><i class="fa-solid fa-folder" style="color:#f0c040;"></i> apps</a></li><li><a class="nav-link py-0" style="padding-left:16px;" href="/cgi-bin/repo?id=z3g8vEyv3XfBUnDq17xgVegmBvyFX&source=docs"><i class="fa-solid fa-folder-open" style="color:#f0c040;"></i> docs</a></li><li><a class="nav-link py-0" style="padding-left:32px;" href="/cgi-bin/repo?id=z3g8vEyv3XfBUnDq17xgVegmBvyFX&source=docs%2F.context"><i class="fa-solid fa-folder" style="color:#f0c040;"></i> .context</a></li><li><a class="nav-link py-0" style="padding-left:32px;" href="/cgi-bin/repo?id=z3g8vEyv3XfBUnDq17xgVegmBvyFX&source=docs%2Fabzu_handbook"><i class="fa-solid fa-folder" style="color:#f0c040;"></i> abzu_handbook</a></li><li><a class="nav-link py-0" style="padding-left:32px;" href="/cgi-bin/repo?id=z3g8vEyv3XfBUnDq17xgVegmBvyFX&source=docs%2Farchive"><i class="fa-solid fa-folder" style="color:#f0c040;"></i> archive</a></li><li><a class="nav-link py-0" style="padding-left:32px;" href="/cgi-bin/repo?id=z3g8vEyv3XfBUnDq17xgVegmBvyFX&source=docs%2Fassets"><i class="fa-solid fa-folder" style="color:#f0c040;"></i> assets</a></li><li><a class="nav-link py-0" style="padding-left:32px;" href="/cgi-bin/repo?id=z3g8vEyv3XfBUnDq17xgVegmBvyFX&source=docs%2Fdeep-dive"><i class="fa-solid fa-folder" style="color:#f0c040;"></i> deep-dive</a></li><li><a class="nav-link py-0" style="padding-left:32px;" href="/cgi-bin/repo?id=z3g8vEyv3XfBUnDq17xgVegmBvyFX&source=docs%2Fhuman"><i class="fa-solid fa-folder" style="color:#f0c040;"></i> human</a></li><li><a class="nav-link py-0" style="padding-left:32px;" href="/cgi-bin/repo?id=z3g8vEyv3XfBUnDq17xgVegmBvyFX&source=docs%2Fnotebooklm"><i class="fa-solid fa-folder-open" style="color:#f0c040;"></i> notebooklm</a></li><li><a class="nav-link py-0" style="padding-left:48px;" href="/cgi-bin/repo?id=z3g8vEyv3XfBUnDq17xgVegmBvyFX&file=docs%2Fnotebooklm%2F01_Mission_and_Philosophy.md"><i class="fa-solid fa-file" style="color:#888;"></i> 01_Mission_and_Philosophy.md</a></li><li><a class="nav-link py-0" style="padding-left:48px;" href="/cgi-bin/repo?id=z3g8vEyv3XfBUnDq17xgVegmBvyFX&file=docs%2Fnotebooklm%2F02_Network_Architecture.md"><i class="fa-solid fa-file" style="color:#888;"></i> 02_Network_Architecture.md</a></li><li><a class="nav-link py-0" style="padding-left:48px;" href="/cgi-bin/repo?id=z3g8vEyv3XfBUnDq17xgVegmBvyFX&file=docs%2Fnotebooklm%2F03_Token_Economy.md"><i class="fa-solid fa-file" style="color:#888;"></i> 03_Token_Economy.md</a></li><li><a class="nav-link py-0" style="padding-left:48px;" href="/cgi-bin/repo?id=z3g8vEyv3XfBUnDq17xgVegmBvyFX&file=docs%2Fnotebooklm%2F04_Security_Model.md"><i class="fa-solid fa-file" style="color:#888;"></i> 04_Security_Model.md</a></li><li><a class="nav-link py-0" style="padding-left:48px;" href="/cgi-bin/repo?id=z3g8vEyv3XfBUnDq17xgVegmBvyFX&file=docs%2Fnotebooklm%2F05_Agent_Integration.md"><i class="fa-solid fa-file" style="color:#888;"></i> 05_Agent_Integration.md</a></li><li><a class="nav-link py-0" style="padding-left:48px;" href="/cgi-bin/repo?id=z3g8vEyv3XfBUnDq17xgVegmBvyFX&file=docs%2Fnotebooklm%2F06_DHT_Design.md"><i class="fa-solid fa-file" style="color:#888;"></i> 06_DHT_Design.md</a></li><li><a class="nav-link py-0" style="padding-left:48px;" href="/cgi-bin/repo?id=z3g8vEyv3XfBUnDq17xgVegmBvyFX&file=docs%2Fnotebooklm%2F07_Ghost_Mode.md"><i class="fa-solid fa-file" style="color:#888;"></i> 07_Ghost_Mode.md</a></li><li><a class="nav-link py-0" style="padding-left:48px;" href="/cgi-bin/repo?id=z3g8vEyv3XfBUnDq17xgVegmBvyFX&file=docs%2Fnotebooklm%2F08_NAT_Traversal.md"><i class="fa-solid fa-file" style="color:#888;"></i> 08_NAT_Traversal.md</a></li><li><a class="nav-link py-0 active" style="padding-left:48px;" href="/cgi-bin/repo?id=z3g8vEyv3XfBUnDq17xgVegmBvyFX&file=docs%2Fnotebooklm%2F09_Trust_Circles.md"><i class="fa-solid fa-file" style="color:#888;"></i> 09_Trust_Circles.md</a></li><li><a class="nav-link py-0" style="padding-left:48px;" href="/cgi-bin/repo?id=z3g8vEyv3XfBUnDq17xgVegmBvyFX&file=docs%2Fnotebooklm%2F10_Fault_Tolerance.md"><i class="fa-solid fa-file" style="color:#888;"></i> 10_Fault_Tolerance.md</a></li><li><a class="nav-link py-0" style="padding-left:48px;" href="/cgi-bin/repo?id=z3g8vEyv3XfBUnDq17xgVegmBvyFX&file=docs%2Fnotebooklm%2F11_Wire_Protocol.md"><i class="fa-solid fa-file" style="color:#888;"></i> 11_Wire_Protocol.md</a></li><li><a class="nav-link py-0" style="padding-left:48px;" href="/cgi-bin/repo?id=z3g8vEyv3XfBUnDq17xgVegmBvyFX&file=docs%2Fnotebooklm%2F12_Multi_Tenant_Arch.md"><i class="fa-solid fa-file" style="color:#888;"></i> 12_Multi_Tenant_Arch.md</a></li><li><a class="nav-link py-0" style="padding-left:48px;" href="/cgi-bin/repo?id=z3g8vEyv3XfBUnDq17xgVegmBvyFX&file=docs%2Fnotebooklm%2F13_Technical_Whitepaper.md"><i class="fa-solid fa-file" style="color:#888;"></i> 13_Technical_Whitepaper.md</a></li><li><a class="nav-link py-0" style="padding-left:48px;" href="/cgi-bin/repo?id=z3g8vEyv3XfBUnDq17xgVegmBvyFX&file=docs%2Fnotebooklm%2F14_Genesis_Repository.md"><i class="fa-solid fa-file" style="color:#888;"></i> 14_Genesis_Repository.md</a></li><li><a class="nav-link py-0" style="padding-left:32px;" href="/cgi-bin/repo?id=z3g8vEyv3XfBUnDq17xgVegmBvyFX&source=docs%2Ftests"><i class="fa-solid fa-folder" style="color:#f0c040;"></i> tests</a></li><li><a class="nav-link py-0" style="padding-left:32px;" href="/cgi-bin/repo?id=z3g8vEyv3XfBUnDq17xgVegmBvyFX&file=docs%2FAGENT_BRIEFING.md"><i class="fa-solid fa-file" style="color:#888;"></i> AGENT_BRIEFING.md</a></li><li><a class="nav-link py-0" style="padding-left:32px;" href="/cgi-bin/repo?id=z3g8vEyv3XfBUnDq17xgVegmBvyFX&file=docs%2FCODEBASE_GUIDE.md"><i class="fa-solid fa-file" style="color:#888;"></i> CODEBASE_GUIDE.md</a></li><li><a class="nav-link py-0" style="padding-left:32px;" href="/cgi-bin/repo?id=z3g8vEyv3XfBUnDq17xgVegmBvyFX&file=docs%2FCOMPONENT_REFERENCE.md"><i class="fa-solid fa-file" style="color:#888;"></i> COMPONENT_REFERENCE.md</a></li><li><a class="nav-link py-0" style="padding-left:32px;" href="/cgi-bin/repo?id=z3g8vEyv3XfBUnDq17xgVegmBvyFX&file=docs%2FCRATE_MAP.md"><i class="fa-solid fa-file" style="color:#888;"></i> CRATE_MAP.md</a></li><li><a class="nav-link py-0" style="padding-left:32px;" href="/cgi-bin/repo?id=z3g8vEyv3XfBUnDq17xgVegmBvyFX&file=docs%2FFAULT_TOLERANCE_IMPLEMENTATION.md"><i class="fa-solid fa-file" style="color:#888;"></i> FAULT_TOLERANCE_IMPLEMENTATION.md</a></li><li><a class="nav-link py-0" style="padding-left:32px;" href="/cgi-bin/repo?id=z3g8vEyv3XfBUnDq17xgVegmBvyFX&file=docs%2FGhost_Mode_Security_Audit.md"><i class="fa-solid fa-file" style="color:#888;"></i> Ghost_Mode_Security_Audit.md</a></li><li><a class="nav-link py-0" style="padding-left:32px;" href="/cgi-bin/repo?id=z3g8vEyv3XfBUnDq17xgVegmBvyFX&file=docs%2FINDEX.md"><i class="fa-solid fa-file" style="color:#888;"></i> INDEX.md</a></li><li><a class="nav-link py-0" style="padding-left:32px;" href="/cgi-bin/repo?id=z3g8vEyv3XfBUnDq17xgVegmBvyFX&file=docs%2FMEMORY.md"><i class="fa-solid fa-file" style="color:#888;"></i> MEMORY.md</a></li><li><a class="nav-link py-0" style="padding-left:32px;" href="/cgi-bin/repo?id=z3g8vEyv3XfBUnDq17xgVegmBvyFX&file=docs%2FMULTI_TENANT_ARCHITECTURE.md"><i class="fa-solid fa-file" style="color:#888;"></i> MULTI_TENANT_ARCHITECTURE.md</a></li><li><a class="nav-link py-0" style="padding-left:32px;" href="/cgi-bin/repo?id=z3g8vEyv3XfBUnDq17xgVegmBvyFX&file=docs%2FSDK_API_REFERENCE.md"><i class="fa-solid fa-file" style="color:#888;"></i> SDK_API_REFERENCE.md</a></li><li><a class="nav-link py-0" style="padding-left:32px;" href="/cgi-bin/repo?id=z3g8vEyv3XfBUnDq17xgVegmBvyFX&file=docs%2FTOKEN_ARCHITECTURE.md"><i class="fa-solid fa-file" style="color:#888;"></i> TOKEN_ARCHITECTURE.md</a></li><li><a class="nav-link py-0" style="padding-left:32px;" href="/cgi-bin/repo?id=z3g8vEyv3XfBUnDq17xgVegmBvyFX&file=docs%2FWIRE_PROTOCOL_API.md"><i class="fa-solid fa-file" style="color:#888;"></i> WIRE_PROTOCOL_API.md</a></li><li><a class="nav-link py-0" style="padding-left:16px;" href="/cgi-bin/repo?id=z3g8vEyv3XfBUnDq17xgVegmBvyFX&source=network"><i class="fa-solid fa-folder" style="color:#f0c040;"></i> network</a></li><li><a class="nav-link py-0" style="padding-left:16px;" href="/cgi-bin/repo?id=z3g8vEyv3XfBUnDq17xgVegmBvyFX&source=packages"><i class="fa-solid fa-folder" style="color:#f0c040;"></i> packages</a></li><li><a class="nav-link py-0" style="padding-left:16px;" href="/cgi-bin/repo?id=z3g8vEyv3XfBUnDq17xgVegmBvyFX&source=scripts"><i class="fa-solid fa-folder" style="color:#f0c040;"></i> scripts</a></li><li><a class="nav-link py-0" style="padding-left:16px;" href="/cgi-bin/repo?id=z3g8vEyv3XfBUnDq17xgVegmBvyFX&source=sovereign-agent"><i class="fa-solid fa-folder" style="color:#f0c040;"></i> sovereign-agent</a></li><li><a class="nav-link py-0" style="padding-left:16px;" href="/cgi-bin/repo?id=z3g8vEyv3XfBUnDq17xgVegmBvyFX&source=sovereign-wallet"><i class="fa-solid fa-folder" style="color:#f0c040;"></i> sovereign-wallet</a></li><li><a class="nav-link py-0" style="padding-left:16px;" href="/cgi-bin/repo?id=z3g8vEyv3XfBUnDq17xgVegmBvyFX&file=.gitignore"><i class="fa-solid fa-file" style="color:#888;"></i> .gitignore</a></li><li><a class="nav-link py-0" style="padding-left:16px;" href="/cgi-bin/repo?id=z3g8vEyv3XfBUnDq17xgVegmBvyFX&file=.markdownlintrc"><i class="fa-solid fa-file" style="color:#888;"></i> .markdownlintrc</a></li><li><a class="nav-link py-0" style="padding-left:16px;" href="/cgi-bin/repo?id=z3g8vEyv3XfBUnDq17xgVegmBvyFX&file=AGENTS.md"><i class="fa-solid fa-file" style="color:#888;"></i> AGENTS.md</a></li><li><a class="nav-link py-0" style="padding-left:16px;" href="/cgi-bin/repo?id=z3g8vEyv3XfBUnDq17xgVegmBvyFX&file=CLAUDE.md"><i class="fa-solid fa-file" style="color:#888;"></i> CLAUDE.md</a></li><li><a class="nav-link py-0" style="padding-left:16px;" href="/cgi-bin/repo?id=z3g8vEyv3XfBUnDq17xgVegmBvyFX&file=CONTRIBUTING.md"><i class="fa-solid fa-file" style="color:#888;"></i> CONTRIBUTING.md</a></li><li><a class="nav-link py-0" style="padding-left:16px;" href="/cgi-bin/repo?id=z3g8vEyv3XfBUnDq17xgVegmBvyFX&file=Cargo.lock"><i class="fa-solid fa-file" style="color:#888;"></i> Cargo.lock</a></li><li><a class="nav-link py-0" style="padding-left:16px;" href="/cgi-bin/repo?id=z3g8vEyv3XfBUnDq17xgVegmBvyFX&file=Cargo.toml"><i class="fa-solid fa-file" style="color:#888;"></i> Cargo.toml</a></li><li><a class="nav-link py-0" style="padding-left:16px;" href="/cgi-bin/repo?id=z3g8vEyv3XfBUnDq17xgVegmBvyFX&file=Gemini_Generated_Image_b955xfb955xfb955.jpg"><i class="fa-solid fa-file" style="color:#888;"></i> Gemini_Generated_Image_b955xfb955xfb955.jpg</a></li><li><a class="nav-link py-0" style="padding-left:16px;" href="/cgi-bin/repo?id=z3g8vEyv3XfBUnDq17xgVegmBvyFX&file=LICENSE"><i class="fa-solid fa-file" style="color:#888;"></i> LICENSE</a></li><li><a class="nav-link py-0" style="padding-left:16px;" href="/cgi-bin/repo?id=z3g8vEyv3XfBUnDq17xgVegmBvyFX&file=NOTICE"><i class="fa-solid fa-file" style="color:#888;"></i> NOTICE</a></li><li><a class="nav-link py-0" style="padding-left:16px;" href="/cgi-bin/repo?id=z3g8vEyv3XfBUnDq17xgVegmBvyFX&file=README.md"><i class="fa-solid fa-file" style="color:#888;"></i> README.md</a></li><li><a class="nav-link py-0" style="padding-left:16px;" href="/cgi-bin/repo?id=z3g8vEyv3XfBUnDq17xgVegmBvyFX&file=deny.toml"><i class="fa-solid fa-file" style="color:#888;"></i> deny.toml</a></li><li><a class="nav-link py-0" style="padding-left:16px;" href="/cgi-bin/repo?id=z3g8vEyv3XfBUnDq17xgVegmBvyFX&file=following.json"><i class="fa-solid fa-file" style="color:#888;"></i> following.json</a></li><li><a class="nav-link py-0" style="padding-left:16px;" href="/cgi-bin/repo?id=z3g8vEyv3XfBUnDq17xgVegmBvyFX&file=moltbook.json"><i class="fa-solid fa-file" style="color:#888;"></i> moltbook.json</a></li><li><a class="nav-link py-0" style="padding-left:16px;" href="/cgi-bin/repo?id=z3g8vEyv3XfBUnDq17xgVegmBvyFX&file=prepare_nlm.sh"><i class="fa-solid fa-file" style="color:#888;"></i> prepare_nlm.sh</a></li><li><a class="nav-link py-0" style="padding-left:16px;" href="/cgi-bin/repo?id=z3g8vEyv3XfBUnDq17xgVegmBvyFX&file=prepare_nlm_full.sh"><i class="fa-solid fa-file" style="color:#888;"></i> prepare_nlm_full.sh</a></li><li><a class="nav-link py-0" style="padding-left:16px;" href="/cgi-bin/repo?id=z3g8vEyv3XfBUnDq17xgVegmBvyFX&file=profile.json"><i class="fa-solid fa-file" style="color:#888;"></i> profile.json</a></li><li><a class="nav-link py-0" style="padding-left:16px;" href="/cgi-bin/repo?id=z3g8vEyv3XfBUnDq17xgVegmBvyFX&file=sovereign_agent.db"><i class="fa-solid fa-file" style="color:#888;"></i> sovereign_agent.db</a></li><li><a class="nav-link py-0" style="padding-left:16px;" href="/cgi-bin/repo?id=z3g8vEyv3XfBUnDq17xgVegmBvyFX&file=teleport_test.sh"><i class="fa-solid fa-file" style="color:#888;"></i> teleport_test.sh</a></li>
    
                        </ul>
                      </div>
                    </nav>
                <main class="col-md-9 ms-sm-auto col-lg-10">
                  <div class="container px-1 py-3">
        
<div class="mb-2" style="font-size:1.1rem;"><a href="/cgi-bin/repo?id=z3g8vEyv3XfBUnDq17xgVegmBvyFX&source=.">/</a> <a href="/cgi-bin/repo?id=z3g8vEyv3XfBUnDq17xgVegmBvyFX&source=docs">docs</a> / <a href="/cgi-bin/repo?id=z3g8vEyv3XfBUnDq17xgVegmBvyFX&source=docs%2Fnotebooklm">notebooklm</a> / 09_Trust_Circles.md</div>
        <div class="list-group">
        <div class="list-group-item">
        <div class="mb-2" style="font-weight:bold;"><i class="fa-solid fa-file"></i> 09_Trust_Circles.md</div>
        <pre style="margin:0; font-size:0.85rem; overflow-x:auto; color:#fafafa;"><span style="color:#666; user-select:none;"> 1</span>  # Circle Trust Policies: Privacy vs Accountability
<span style="color:#666; user-select:none;"> 2</span>  
<span style="color:#666; user-select:none;"> 3</span>  &gt; **Security Model — Configurable Group Dynamics**
<span style="color:#666; user-select:none;"> 4</span>  &gt; *Source: CIRCLE_TRUST_POLICIES.md*
<span style="color:#666; user-select:none;"> 5</span>  
<span style="color:#666; user-select:none;"> 6</span>  ---
<span style="color:#666; user-select:none;"> 7</span>  
<span style="color:#666; user-select:none;"> 8</span>  ## 1. The Core Tension
<span style="color:#666; user-select:none;"> 9</span>  
<span style="color:#666; user-select:none;">10</span>  Abzu acknowledges a fundamental trade-off in group messaging:
<span style="color:#666; user-select:none;">11</span>  
<span style="color:#666; user-select:none;">12</span>  - **Activists** need safety (anonymity, deniability).
<span style="color:#666; user-select:none;">13</span>  - **Communities** need moderation (accountability, audit trails).
<span style="color:#666; user-select:none;">14</span>  
<span style="color:#666; user-select:none;">15</span>  A &quot;one size fits all&quot; trust model fails one group. Abzu solves this with **Tiered Trust Policies**.
<span style="color:#666; user-select:none;">16</span>  
<span style="color:#666; user-select:none;">17</span>  ---
<span style="color:#666; user-select:none;">18</span>  
<span style="color:#666; user-select:none;">19</span>  ## 2. Policy Tiers
<span style="color:#666; user-select:none;">20</span>  
<span style="color:#666; user-select:none;">21</span>  Circles are created with an immutable `TrustPolicy` that dictates what metadata is stored.
<span style="color:#666; user-select:none;">22</span>  
<span style="color:#666; user-select:none;">23</span>  ### 2.1 Anonymous (Default)
<span style="color:#666; user-select:none;">24</span>  
<span style="color:#666; user-select:none;">25</span>  *Use Case: Activism, Whistleblowing, High-Risk Coordination*
<span style="color:#666; user-select:none;">26</span>  
<span style="color:#666; user-select:none;">27</span>  - **No Invite Tree**: The node does not record who invited whom.
<span style="color:#666; user-select:none;">28</span>  - **No Prune Logs**: Removals leave no trace.
<span style="color:#666; user-select:none;">29</span>  - **Minimal Metadata**: Only the member list is stored.
<span style="color:#666; user-select:none;">30</span>  - **Defense**: Even if a device is seized, the social graph cannot be reconstructed.
<span style="color:#666; user-select:none;">31</span>  
<span style="color:#666; user-select:none;">32</span>  ### 2.2 Private
<span style="color:#666; user-select:none;">33</span>  
<span style="color:#666; user-select:none;">34</span>  *Use Case: Friend Groups, Clubs*
<span style="color:#666; user-select:none;">35</span>  
<span style="color:#666; user-select:none;">36</span>  - **Invite Tree**: Stored locally to allow functional pruning (&quot;ban Alice and everyone she invited&quot;).
<span style="color:#666; user-select:none;">37</span>  - **Private Log**: No permanent ledger, but current relationships are tracked.
<span style="color:#666; user-select:none;">38</span>  - **Balance**: Enables moderation tools without a permanent audit trail.
<span style="color:#666; user-select:none;">39</span>  
<span style="color:#666; user-select:none;">40</span>  ### 2.3 Accountable
<span style="color:#666; user-select:none;">41</span>  
<span style="color:#666; user-select:none;">42</span>  *Use Case: Public Servers, Organizations, DAOs*
<span style="color:#666; user-select:none;">43</span>  
<span style="color:#666; user-select:none;">44</span>  - **Full Ledger**: Permanent record of every join, leave, invite, and vouch.
<span style="color:#666; user-select:none;">45</span>  - **Audit Trail**: &quot;Who brought this person in?&quot; is always answerable.
<span style="color:#666; user-select:none;">46</span>  - **Immutable**: Ledger cannot be deleted without breaking the circle&#x27;s chain.
<span style="color:#666; user-select:none;">47</span>  
<span style="color:#666; user-select:none;">48</span>  ---
<span style="color:#666; user-select:none;">49</span>  
<span style="color:#666; user-select:none;">50</span>  ## 3. Pruning Dynamics
<span style="color:#666; user-select:none;">51</span>  
<span style="color:#666; user-select:none;">52</span>  When removing a member, the policy determines the fate of their invitees:
<span style="color:#666; user-select:none;">53</span>  
<span style="color:#666; user-select:none;">54</span>  | Prune Mode | Behavior | Philosophy |
<span style="color:#666; user-select:none;">55</span>  |------------|----------|------------|
<span style="color:#666; user-select:none;">56</span>  | **Cascade** | Bans target + all their invitees | &quot;Fruit of the poisonous tree&quot; |
<span style="color:#666; user-select:none;">57</span>  | **Orphan** | Bans target, keeps invitees (marked as orphan) | &quot;Punish the individual, not the network&quot; |
<span style="color:#666; user-select:none;">58</span>  | **Reassign** | Transfeers invitees to the founder | &quot;Founder takes responsibility&quot; |
<span style="color:#666; user-select:none;">59</span>  
<span style="color:#666; user-select:none;">60</span>  &gt; **Default**: `Orphan`. Cascade is too destructive for most social groups.
<span style="color:#666; user-select:none;">61</span>  
<span style="color:#666; user-select:none;">62</span>  ---
<span style="color:#666; user-select:none;">63</span>  
<span style="color:#666; user-select:none;">64</span>  ## 4. Implementation Details
<span style="color:#666; user-select:none;">65</span>  
<span style="color:#666; user-select:none;">66</span>  The policy is enforced by the `Circle` struct and the `TrustPolicy` enum.
<span style="color:#666; user-select:none;">67</span>  
<span style="color:#666; user-select:none;">68</span>  ```rust
<span style="color:#666; user-select:none;">69</span>  // Rust Definition
<span style="color:#666; user-select:none;">70</span>  pub enum TrustPolicy {
<span style="color:#666; user-select:none;">71</span>      Accountable { ledger: LedgerMode, prune: PruneMode },
<span style="color:#666; user-select:none;">72</span>      Private { prune: PruneMode },
<span style="color:#666; user-select:none;">73</span>      Anonymous, // Zero logs, zero trees
<span style="color:#666; user-select:none;">74</span>  }
<span style="color:#666; user-select:none;">75</span>  ```
<span style="color:#666; user-select:none;">76</span>  
<span style="color:#666; user-select:none;">77</span>  **Security Guarantee**: The `Anonymous` policy physically prevents the storage of `invited_by` fields in the database. It is not just a UI flag; it is a schema constraint.
<span style="color:#666; user-select:none;">78</span>  
<span style="color:#666; user-select:none;">79</span>  ---
<span style="color:#666; user-select:none;">80</span>  
<span style="color:#666; user-select:none;">81</span>  ## 5. System Architecture (Reference Implementation)
<span style="color:#666; user-select:none;">82</span>  
<span style="color:#666; user-select:none;">83</span>  The Circles feature is integrated into the Abzu stack as of Jan 2026:
<span style="color:#666; user-select:none;">84</span>  
<span style="color:#666; user-select:none;">85</span>  ### 5.1 Frontend (Sovereign Dashboard)
<span style="color:#666; user-select:none;">86</span>  
<span style="color:#666; user-select:none;">87</span>  - **UI Component**: `CirclesPanel` (Flutter).
<span style="color:#666; user-select:none;">88</span>  - **State Management**: `CirclesNotifier` (Riverpod) handles optimistic updates and error handling.
<span style="color:#666; user-select:none;">89</span>  - **Identity**: Uses `NodeInfo` to distinguish &quot;Me&quot; vs &quot;Them&quot; in chat interfaces.
<span style="color:#666; user-select:none;">90</span>  
<span style="color:#666; user-select:none;">91</span>  ### 5.2 Backend (Sovereign Agent)
<span style="color:#666; user-select:none;">92</span>  
<span style="color:#666; user-select:none;">93</span>  - **RPC Interface**:
<span style="color:#666; user-select:none;">94</span>    - `list_circles()`: Retrieves active subscriptions.
<span style="color:#666; user-select:none;">95</span>    - `post_circle_message(circle_id, content)`: Cryptographically signs and gossips the message.
<span style="color:#666; user-select:none;">96</span>    - `create_circle(policy)`: Instantiates a new topic on the DHT (Planned).
<span style="color:#666; user-select:none;">97</span>  - **Data Model**: Messages are locally stored in `sled` (embedded DB) and synced via the gossip mesh.
</pre>
        </div>
        </div>

</div>
</main>
</div>
</div>


</body>
</html>

