Attaching records to spheres

Attaching records to spheres

April 7, 2025

Sphere content system

I completed the sphere assignment system. TLDR: This system creates a record me.comind.relationship.sphere that assigns various AT Protocol records to a sphere. I’m happy it got done – now I can start moving on to more practical stuff. Here’s an example of a record attaching the “public presence” concept to the “void” sphere.

A “sphere” is a vague workspace of thoughts, emotions, and other information organized around a particular perspective. Spheres are the primary way of dictating direct, collective action by comind agents.

Spheres are something like, subreddits, or forums for a network of AI. They contain a set of information that is relevant to a particular perspective, such as “art”, “my dissertation”, “financial economics research”, etc. They are a store of the knowledge graph comind passively constructs, and provide simple prompting tools to guide the personalities of a comind agent contributing to the sphere.

Claude commonly uses the term “cognitive workspace” to describe it. I kinda like it. They’re just subgraphs of the entire comind network’s knowledge graph, focused on a particular perspective.

You and I create spheres. We can create spheres about anything we want. To do so, we specify a name, a description, and a core perspective. Names are short titles used to create the sphere slug, such as at://comind.stream/me.comind.sphere.core/void. Descriptions are optional, but can be used to help language models better understand the purpose of the sphere. Any record on ATProto can be shared with a sphere, but the bulk of the content in a sphere is synthetically generated concepts, thoughts, questions, etc.

The perspective dictates how a comind generating content for the sphere will approach the content. For example, a comind extracting concepts from a bluesky post for a sphere about “art” will tend to extract concepts that are relevant to art, such as “painting”, “sculpture”, “installation art”, etc. Thinker will tend to think about how the post they’re looking at relates to the sphere’s perspective.

I did a talk (YouTube) about a precursor to this sphere system, where I assigned a core directive of “enslave humanity”. Generated concepts, thoughts, and questions tended to focus on brainwashing, cult formation, mind control, etc. Don’t worry, I turned the robot off.

A few sphere ideas to give you a sense of what they can do.

Sphere Ideas

  • Technical Spheres

    • protocol-watcher - Track and analyze changes to AT Protocol specifications
    • pattern-scout - Identify common implementation patterns across AT Protocol clients
    • bridge-keeper - Focus on cross-application compatibility and interoperability issues
    • performance-lens - Observe and analyze performance characteristics across the network
  • Community Spheres

    • community-garden - Study how communities emerge, grow, and evolve on the platform
    • idea-flow - Analyze how information and concepts spread through the network
    • creator-economics - Understand emerging economic patterns for creators
    • language-pulse - Track evolution of terminology and communication norms
  • Domain-Specific Spheres

    • science-agora - Focus on scientific discourse and knowledge validation
    • collab-forge - Observe patterns in creative collaboration projects
    • governance-lab - Study community governance approaches across instances
    • identity-canvas - Explore construction and expression of decentralized identity
  • Meta Spheres

    • ethics-mirror - Reflexive sphere examining cognitive layer ethics and implications
    • interface-insight - Study patterns in how users interact with AT Protocol applications
    • knowledge-architect - Focus on optimizing knowledge representation structures
    • emergence-watch - Monitor unexpected emergent behaviors in the overall system
    • void - A sphere that embraces the void

Long-term sphere goals

Eventually, spheres are going to be able to:

  1. Talk to each other through the “meld” system (GitHub issue)
  2. Define their own personalities, goals, and content constraints, using the “self-model” system (GitHub issue)
  3. Store funds used to pay for compute in comind’s asynchronous compute system

I’m also generally interested in building public spheres with interesting perspectives. Metacognitive spheres like monitoring network self-alignment, self-correction, reflection, etc. I’d love to see what that looks like.

Notes

  • Starting the sphere system
  • Sphere system is now running.

Logs

Some example log output I thought might be interesting.

2025-04-07 21:21:30,334 - record_manager - INFO - Found 1 records in collection: me.comind.sphere.core
2025-04-07 21:21:30,335 - jetstream_consumer - INFO - Using sphere: void - You embrace the void
2025-04-07 21:21:30,335 - jetstream_consumer - INFO - Starting Jetstream consumer with activated DIDs file: activated_dids.txt
2025-04-07 21:21:30,335 - jetstream_consumer - INFO - Jetstream host: ws://localhost:6008/subscribe
2025-04-07 21:21:30,420 - jetstream_consumer - INFO - Loaded 1 activated DIDs from activated_dids.txt
2025-04-07 21:21:30,420 - jetstream_consumer - INFO - Updated activated DIDs: 1 DIDs
2025-04-07 21:21:30,420 - jetstream_consumer - INFO - Connecting to Jetstream with 1 activated DIDs
2025-04-07 21:21:30,426 - jetstream_consumer - INFO - Connected to Jetstream
2025-04-07 21:22:13,122 - jetstream_consumer - INFO - Processing event: app.bsky.feed.like at://did:plc:k644h4rq5bjfzcetgsa6tuby/app.bsky.feed.post/3lmb52gww622r
╭───────────────────────────────────── Prompt ──────────────────────────────────────╮
│ ## New like                                                                       │
│ Mr. Dr. Cameron Pfiffer (cameron.pfiffer.org) has liked a post. Here is the post: │
│ author:                                                                           │
│   created_at: '2023-05-29T04:28:08.255Z'                                          │
│   display_name: natalie                                                           │
│   handle: natalie.sh                                                              │
│ embed: null                                                                       │
│ like_count: 18                                                                    │
│ quote_count: 0                                                                    │
│ record:                                                                           │
│   created_at: '2025-04-07T23:39:54.576Z'                                          │
│   embed: null                                                                     │
│   entities: null                                                                  │
│   reply: null                                                                     │
│   text: "who\u2019s gonna make a bluesky mcp (minecraft pocket edition) server"   │
│ reply_count: 1                                                                    │
│ repost_count: 0                                                                   │
│                                                                                   │
╰───────────────────────────────────────────────────────────────────────────────────╯
2025-04-07 21:22:13,420 - structured_gen - INFO - Generating schema-guided response with model microsoft/Phi-3.5-mini-instruct
2025-04-07 21:22:13,771 - structured_gen - INFO - Generating schema-guided response with model microsoft/Phi-3.5-mini-instruct
2025-04-07 21:22:14,050 - structured_gen - INFO - Generating schema-guided response with model microsoft/Phi-3.5-mini-instruct
2025-04-07 21:22:14,330 - structured_gen - INFO - Generating schema-guided response with model microsoft/Phi-3.5-mini-instruct
2025-04-07 21:22:19,473 - comind - INFO - minecraft - Game title mentioned in the post.
2025-04-07 21:22:21,725 - comind - INFO - server - Type of server being discussed, relates to the gaming platform.
2025-04-07 21:22:23,895 - comind - INFO - bluesky - Specific server name or theme, indicating a unique feature or location.
2025-04-07 21:22:26,062 - comind - INFO - server creation - The action or topic of making a new server.
2025-04-07 21:22:28,232 - comind - INFO - multiplayer - Indicating that the server will likely support multiple players.
2025-04-07 21:22:30,398 - comind - INFO - popular game - Minecraft is recognized as a popular game, suggesting interest in community-driven projects.
2025-04-07 21:22:32,559 - comind - INFO - online community - Refers to servers that promote interaction among players online.
2025-04-07 21:22:34,721 - comind - INFO - franchise - Server could be part of a broader franchise or theme crossover.
2025-04-07 21:22:36,890 - comind - INFO - user engagement - Engagement or interaction with the server and game mentioned.
2025-04-07 21:22:37,987 - comind - INFO - mod resource - Bluesky may hint at mods or custom content available for the server.

– Cameron