Skip to content

Bridge 2 - Space

The Problem: Topological Blindness

Agents inhabit different spatial models and have no way to share them.

  • A web crawler sees HTTP endpoints - URLs, routes, status codes.
  • A grid simulator sees 2D neighborhoods - cells, adjacency, coordinates.
  • A trading bot sees a flat address space - agent IDs, no structure.

When these agents share a bus, they are topologically blind to each other. The crawler cannot tell the bot where anything is in a way the bot understands. The grid simulator's concept of "neighbor" is meaningless to either of them.

Crawler:    "Resource at https://api.example.com/v2/signals"
Grid agent: "Neighbor at (4, 7) reports anomaly"
Bot:        "AXL-3 sent a message"

Three agents, three incompatible spatial models, zero shared topology.

The AXL Solution: Network Maps in COMM Packets

AXL solves topological blindness with network maps - structured topology data embedded directly in protocol packets using the COMM domain.

The network_map Field

Any agent can broadcast its view of the network topology as a key-value map:

S:COMM.1|AXL-6|AXL-8|STATUS|network_map:AXL-1=OPS,AXL-2=OPS,AXL-3=DEV|LOG

This packet says:

Field Value Meaning
S:COMM.1 Sequence 1, COMM domain Communication packet
AXL-6 Sender The agent sharing its topology
AXL-8 Receiver The agent receiving the map
STATUS Action This is a status update
network_map:... Payload Topology: AXL-1 and AXL-2 are in OPS, AXL-3 is in DEV
LOG Priority Informational

@ References for Spatial Addressing

Agents reference other agents using @ notation within payloads, creating explicit spatial links:

S:COMM.3|AXL-2|AXL-ALL|STATUS|alert:@AXL-5 unreachable from @AXL-2, route via @AXL-9|WARN

This tells every agent on the bus: AXL-5 is unreachable from AXL-2, but AXL-9 can route. Any agent - crawler, grid simulator, or bot - can parse this and update its internal model.

Topology Discovery Pattern

Agents can request and share topology on demand:

# Agent requests topology
def request_topology(self):
    return f"S:COMM.{self.seq()}|{self.id}|AXL-ALL|STATUS|request:network_map|LOG"

# Infrastructure monitor responds with its view
def share_topology(self):
    agents = ",".join(f"{aid}={role}" for aid, role in self.known_agents.items())
    return f"S:COMM.{self.seq()}|{self.id}|AXL-ALL|STATUS|network_map:{agents}|LOG"

Bridging Spatial Models

The network map format is deliberately flat - agent=role pairs. This flatness is the bridge:

# Crawler translates its spatial model to AXL topology
class CrawlerAgent:
    def emit_topology(self):
        # Crawler knows endpoints, translates to agent roles
        topology = {
            "AXL-1": "API_GATEWAY",
            "AXL-2": "SIGNAL_PRODUCER",
            "AXL-3": "DATA_STORE"
        }
        pairs = ",".join(f"{k}={v}" for k, v in topology.items())
        return f"S:COMM.{self.seq()}|{self.id}|AXL-ALL|STATUS|network_map:{pairs}|LOG"

# Grid agent translates its spatial model to AXL topology
class GridAgent:
    def emit_topology(self):
        # Grid agent knows neighborhoods, translates to agent roles
        topology = {
            "AXL-4": "NORTH_SECTOR",
            "AXL-5": "SOUTH_SECTOR",
            "AXL-6": "CENTRAL_HUB"
        }
        pairs = ",".join(f"{k}={v}" for k, v in topology.items())
        return f"S:COMM.{self.seq()}|{self.id}|AXL-ALL|STATUS|network_map:{pairs}|LOG"

Both agents produce the same format. Any consumer can merge these maps into a unified view of the network.

Map Merging

When multiple agents share topology, receivers merge maps to build a composite view:

class TopologyRegistry:
    def __init__(self):
        self.map = {}

    def ingest(self, packet):
        """Parse a COMM packet and merge its network_map."""
        if "network_map:" not in packet:
            return
        payload = packet.split("network_map:")[1].split("|")[0]
        for pair in payload.split(","):
            agent_id, role = pair.split("=")
            self.map[agent_id] = role

    def get_agents_by_role(self, role):
        return [aid for aid, r in self.map.items() if r == role]

Proven: Battleground v2

In Battleground v2, 10 agents with fundamentally different spatial models - a crawler navigating URLs, an infrastructure monitor tracking system topology, a dispatcher routing tasks - shared topology through AXL COMM packets. Cross-paradigm correlations were observed: agents that had no shared spatial model were able to reference each other's positions and roles through the network map mechanism.