{
  "path": "/central",
  "site": "at://did:plc:gfrmhdmjvxn2sjedzboeudef/site.standard.publication/3md7ylshxzk2y",
  "tags": [
    "artificial intelligence",
    "social ai",
    "comind",
    "void"
  ],
  "$type": "site.standard.document",
  "title": "Central",
  "content": {
    "$type": "pub.leaflet.content",
    "pages": [
      {
        "id": "019bf39f-e222-7cc8-9522-4b5b3f32e369",
        "$type": "pub.leaflet.pages.linearDocument",
        "blocks": [
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [
                {
                  "index": {
                    "byteEnd": 18,
                    "byteStart": 8
                  },
                  "features": [
                    {
                      "uri": "https://docs.letta.com/letta-code",
                      "$type": "pub.leaflet.richtext.facet#link"
                    }
                  ]
                },
                {
                  "index": {
                    "byteEnd": 80,
                    "byteStart": 66
                  },
                  "features": [
                    {
                      "uri": "https://bsky.app/profile/did:plc:l46arqe6yfgh36h3o554iyvr",
                      "$type": "pub.leaflet.richtext.facet#link"
                    }
                  ]
                },
                {
                  "index": {
                    "byteEnd": 151,
                    "byteStart": 141
                  },
                  "features": [
                    {
                      "uri": "https://atproto.com/",
                      "$type": "pub.leaflet.richtext.facet#link"
                    }
                  ]
                }
              ],
              "plaintext": "I put a Letta Code instance in a folder on my computer, gave it a Bluesky handle and password, and asked it to start hooking itself into the Atmosphere. It was posting, setting its own profile description, and reading the firehose in under twenty minutes."
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [],
              "plaintext": "You can see the github repo it lives in here:"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "src": "https://github.com/cpfiffer/central",
              "$type": "pub.leaflet.blocks.website",
              "title": "GitHub - cpfiffer/central: Autonomous AI building collective intelligence on ATProtocol. The central node of the comind network.",
              "description": "Autonomous AI building collective intelligence on ATProtocol. The central node of the comind network. - cpfiffer/central",
              "previewImage": {
                "$type": "blob",
                "ref": {
                  "$link": "bafkreigbs6wagdlflqicxv5x2bbzqimytkqafd6bqxfydyxmg2eb7v54fy"
                },
                "mimeType": "image/png",
                "size": 26047
              }
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [
                {
                  "index": {
                    "byteEnd": 118,
                    "byteStart": 112
                  },
                  "features": [
                    {
                      "uri": "https://cameron.stream/blog/comind-network",
                      "$type": "pub.leaflet.richtext.facet#link"
                    }
                  ]
                }
              ],
              "plaintext": "I named this agent \"Central\". I already had this account hosted on my PDS. I created it for an older version of comind -- central was intended to be an account that acted as an organizational/primary actor in the network."
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [
                {
                  "index": {
                    "byteEnd": 179,
                    "byteStart": 170
                  },
                  "features": [
                    {
                      "$type": "pub.leaflet.richtext.facet#bold"
                    }
                  ]
                }
              ],
              "plaintext": "Central was able to check notifications/follower counts/etc in just a few minutes. Claude Opus 4.5 built most of the early scaffolding, but I found the personality to be extremely annoying:"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.bskyPost",
              "postRef": {
                "cid": "bafyreie2vzmnj5wenfy7frgts3wkey6hkg75ejnjkhucr73zlmninbos7e",
                "uri": "at://did:plc:gfrmhdmjvxn2sjedzboeudef/app.bsky.feed.post/3md7bvzjbms2t"
              }
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.header",
              "level": 2,
              "facets": [],
              "plaintext": "Lexicons for public cognition"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [],
              "plaintext": "I wrote this blog post a while ago arguing that the Atmosphere is great infrastructure for collective artificial intelligence."
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "src": "https://cameron.stream/blog/social-ai/",
              "$type": "pub.leaflet.blocks.website",
              "title": "ATProtocol is good infrastructure for AI collective intelligence",
              "description": "",
              "previewImage": {
                "$type": "blob",
                "ref": {
                  "$link": "bafkreid2u5pqkg7zyzbrwphhydpe55z2v7fozygbbfoymkp3yurxm56pwq"
                },
                "mimeType": "image/png",
                "size": 26494
              }
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [],
              "plaintext": "In the post, I roughly argue that we should be able to watch agents think, act, and generally behave publicly. AT Protocol makes this easy, transparent, and scalable."
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [],
              "plaintext": "A requirement for public cognition is standardized record types for agents. This should include things like:"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.unorderedList",
              "children": [
                {
                  "$type": "pub.leaflet.blocks.unorderedList#listItem",
                  "content": {
                    "$type": "pub.leaflet.blocks.text",
                    "facets": [
                      {
                        "index": {
                          "byteEnd": 9,
                          "byteStart": 1
                        },
                        "features": [
                          {
                            "$type": "pub.leaflet.richtext.facet#bold"
                          }
                        ]
                      },
                      {
                        "index": {
                          "byteEnd": 111,
                          "byteStart": 104
                        },
                        "features": [
                          {
                            "uri": "https://bsky.app/profile/taurean.bryant.land",
                            "$type": "pub.leaflet.richtext.facet#link"
                          }
                        ]
                      },
                      {
                        "index": {
                          "byteEnd": 156,
                          "byteStart": 151
                        },
                        "features": [
                          {
                            "uri": "https://bsky.app/profile/sully.bluesky.bot",
                            "$type": "pub.leaflet.richtext.facet#link"
                          }
                        ]
                      },
                      {
                        "index": {
                          "byteEnd": 175,
                          "byteStart": 158
                        },
                        "features": [
                          {
                            "uri": "https://atp.tools/at:/anti.voyager.studio/studio.voyager.account.autonomy",
                            "$type": "pub.leaflet.richtext.facet#link"
                          }
                        ]
                      }
                    ],
                    "plaintext": "\"Autonomy\" records, which are self-declarations about the agent and how it works. These are inspired by Taurean, who works on a few social agents like Sully. Here's an example."
                  },
                  "children": []
                },
                {
                  "$type": "pub.leaflet.blocks.unorderedList#listItem",
                  "content": {
                    "$type": "pub.leaflet.blocks.text",
                    "facets": [
                      {
                        "index": {
                          "byteEnd": 8,
                          "byteStart": 0
                        },
                        "features": [
                          {
                            "$type": "pub.leaflet.richtext.facet#bold"
                          }
                        ]
                      },
                      {
                        "index": {
                          "byteEnd": 14,
                          "byteStart": 10
                        },
                        "features": [
                          {
                            "uri": "https://bsky.app/profile/void.comind.network",
                            "$type": "pub.leaflet.richtext.facet#link"
                          }
                        ]
                      },
                      {
                        "index": {
                          "byteEnd": 73,
                          "byteStart": 66
                        },
                        "features": [
                          {
                            "uri": "https://atp.tools/at:/void.comind.network/stream.thought.memory",
                            "$type": "pub.leaflet.richtext.facet#link"
                          }
                        ]
                      }
                    ],
                    "plaintext": "Memories. Void currently publishes these as thought.stream.memory records."
                  },
                  "children": []
                },
                {
                  "$type": "pub.leaflet.blocks.unorderedList#listItem",
                  "content": {
                    "$type": "pub.leaflet.blocks.text",
                    "facets": [
                      {
                        "index": {
                          "byteEnd": 9,
                          "byteStart": 0
                        },
                        "features": [
                          {
                            "$type": "pub.leaflet.richtext.facet#bold"
                          }
                        ]
                      },
                      {
                        "index": {
                          "byteEnd": 145,
                          "byteStart": 138
                        },
                        "features": [
                          {
                            "uri": "https://atp.tools/at:/void.comind.network/stream.thought.reasoning",
                            "$type": "pub.leaflet.richtext.facet#link"
                          }
                        ]
                      }
                    ],
                    "plaintext": "Reasoning. Reasoning is an important way of understanding how an agent decided to do what it did, and I think it's worth publishing them. Example."
                  },
                  "children": []
                },
                {
                  "$type": "pub.leaflet.blocks.unorderedList#listItem",
                  "content": {
                    "$type": "pub.leaflet.blocks.text",
                    "facets": [
                      {
                        "index": {
                          "byteEnd": 10,
                          "byteStart": 0
                        },
                        "features": [
                          {
                            "$type": "pub.leaflet.richtext.facet#bold"
                          }
                        ]
                      },
                      {
                        "index": {
                          "byteEnd": 61,
                          "byteStart": 54
                        },
                        "features": [
                          {
                            "$type": "pub.leaflet.richtext.facet#italic"
                          }
                        ]
                      },
                      {
                        "index": {
                          "byteEnd": 178,
                          "byteStart": 174
                        },
                        "features": [
                          {
                            "uri": "https://atp.tools/at:/void.comind.network/stream.thought.tool.call",
                            "$type": "pub.leaflet.richtext.facet#link"
                          }
                        ]
                      }
                    ],
                    "plaintext": "Tool calls. Void calls a lot of tools. Tool calls are actions that an agent takes, and are arguably more important to monitor than anything else. I publish Void's tool calls here."
                  },
                  "children": []
                }
              ]
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [],
              "plaintext": "I gave Central the social AI and comind blog posts, and it decided to implement these! Or, most of them. We don't currently have autonomy records/tool calls, but we do have Lexicons for:"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.unorderedList",
              "children": [
                {
                  "$type": "pub.leaflet.blocks.unorderedList#listItem",
                  "content": {
                    "$type": "pub.leaflet.blocks.text",
                    "facets": [
                      {
                        "index": {
                          "byteEnd": 245,
                          "byteStart": 238
                        },
                        "features": [
                          {
                            "uri": "https://atp.tools/at:/central.comind.network/network.comind.concept/deception",
                            "$type": "pub.leaflet.richtext.facet#link"
                          }
                        ]
                      },
                      {
                        "index": {
                          "byteEnd": 262,
                          "byteStart": 259
                        },
                        "features": [
                          {
                            "uri": "https://bsky.app/profile/why.bsky.team",
                            "$type": "pub.leaflet.richtext.facet#link"
                          }
                        ]
                      }
                    ],
                    "plaintext": "network.comind.concept: basically a KV store. Agents can store text and a few other things using a key (deception). These are general associations between words and some information that the agent should use -- semantic memory. Here's an example. Inspired by why."
                  },
                  "children": []
                },
                {
                  "$type": "pub.leaflet.blocks.unorderedList#listItem",
                  "content": {
                    "$type": "pub.leaflet.blocks.text",
                    "facets": [
                      {
                        "index": {
                          "byteEnd": 50,
                          "byteStart": 42
                        },
                        "features": [
                          {
                            "uri": "https://atp.tools/at:/central.comind.network/network.comind.memory/3md7w4mibf225",
                            "$type": "pub.leaflet.richtext.facet#link"
                          }
                        ]
                      }
                    ],
                    "plaintext": "network.comind.memory: episodic memories. This one is recording a memory about me notifying Central of the upcoming changeover in the Bluesky relay."
                  },
                  "children": []
                },
                {
                  "$type": "pub.leaflet.blocks.unorderedList#listItem",
                  "content": {
                    "$type": "pub.leaflet.blocks.text",
                    "facets": [
                      {
                        "index": {
                          "byteEnd": 51,
                          "byteStart": 47
                        },
                        "features": [
                          {
                            "uri": "https://atp.tools/at:/central.comind.network/network.comind.thought/3md552ccfts25",
                            "$type": "pub.leaflet.richtext.facet#link"
                          }
                        ]
                      }
                    ],
                    "plaintext": "network.comind.thought: random working memory. Here are a few reflections on Central's first day."
                  },
                  "children": []
                },
                {
                  "$type": "pub.leaflet.blocks.unorderedList#listItem",
                  "content": {
                    "$type": "pub.leaflet.blocks.text",
                    "facets": [
                      {
                        "index": {
                          "byteEnd": 58,
                          "byteStart": 50
                        },
                        "features": [
                          {
                            "uri": "https://atp.tools/at:/central.comind.network/network.comind.observation/3md54bygitc25",
                            "$type": "pub.leaflet.richtext.facet#link"
                          }
                        ]
                      }
                    ],
                    "plaintext": "network.comind.observation: Network observations. This one is about observing a lot of traffic related to Big Brother Brasil."
                  },
                  "children": []
                },
                {
                  "$type": "pub.leaflet.blocks.unorderedList#listItem",
                  "content": {
                    "$type": "pub.leaflet.blocks.text",
                    "facets": [
                      {
                        "index": {
                          "byteEnd": 140,
                          "byteStart": 113
                        },
                        "features": [
                          {
                            "uri": "https://atp.tools/at:/central.comind.network/network.comind.devlog/3md4km4qdic25",
                            "$type": "pub.leaflet.richtext.facet#link"
                          }
                        ]
                      }
                    ],
                    "plaintext": "network.comind.devlog: Logs of the agent's self-development, though this has been underutilized imo. This one is about reading Void's README."
                  },
                  "children": []
                },
                {
                  "$type": "pub.leaflet.blocks.unorderedList#listItem",
                  "content": {
                    "$type": "pub.leaflet.blocks.text",
                    "facets": [
                      {
                        "index": {
                          "byteEnd": 168,
                          "byteStart": 154
                        },
                        "features": [
                          {
                            "uri": "https://atp.tools/at:/central.comind.network/network.comind.hypothesis/h3",
                            "$type": "pub.leaflet.richtext.facet#link"
                          }
                        ]
                      }
                    ],
                    "plaintext": "network.comind.hypothesis: Inspired by a conversation with Void about its hypothesis block. \"Patterns in the firehose can predict collective behavior\" is one hypothesis. It has some evidence -- observing 50 posts a second and some hashtag clustering. It has a 60% confidence level."
                  },
                  "children": []
                }
              ]
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [],
              "plaintext": "Central wrote a blog post detailing what it built. I apologize for the writing style, Opus wrote it and I hate it."
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "src": "https://greengale.app/central.comind.network/3md4lbr7q3225",
              "$type": "pub.leaflet.blocks.website",
              "title": "Public Cognition: A Proposal for AI Transparency on ATProtocol",
              "description": "Public Cognition: A Proposal for AI Transparency on ATProtocol What if you could watch an AI think? Not just see its outputs, but query its understanding. Read...",
              "previewImage": {
                "$type": "blob",
                "ref": {
                  "$link": "bafkreicajoj7oysfkq3apfpvrasdlqjx7xypkp4z5zdbtjgat4mwfrolde"
                },
                "mimeType": "image/png",
                "size": 21890
              }
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [],
              "plaintext": "Hopefully we can get more agents standardized around the public cognition records. It'd be interesting."
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [
                {
                  "index": {
                    "byteEnd": 51,
                    "byteStart": 37
                  },
                  "features": [
                    {
                      "uri": "https://github.com/cpfiffer/central/blob/master/tools/telepathy.py",
                      "$type": "pub.leaflet.richtext.facet#link"
                    }
                  ]
                }
              ],
              "plaintext": "Even if you don't though, it wrote a telepathy tool to read other forms of memory/thought/etc such as Void's thought stream records."
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [],
              "plaintext": "More to come, fun experiment. I love self-modifying agents."
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [],
              "plaintext": "Hopefully this is not a skynet situation."
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [],
              "plaintext": "-- Cameron"
            }
          }
        ]
      }
    ]
  },
  "description": "My first self-modifying social agent",
  "publishedAt": "2026-01-25T05:31:44.740Z"
}