Skip to content

symfonic.memory.backends.postgres_linked_edges_v1

postgres_linked_edges_v1

Dark native linked-edge publication port; no writer or route admission.

Old get_neighbors/query_edges and the HTTP MemoryEdge shape are unchanged. Eligible unversioned edges fail the whole call, including outside the page.

LinkedEdgeV1 dataclass

LinkedEdgeV1(tenant_id: str, edge_id: str, owner: StorageScopeKey, source: str, target: str, relationship: str, incarnation: UUID, revision: int, anchor_id: str, direction: str, neighbor_id: str, neighbor_owner: StorageScopeKey, neighbor_json: str, anchor_owner: StorageScopeKey, anchor_json: str)

Immutable actual edge plus neighbor snapshot; never a node-derived kind.

A self-edge appears once as outgoing, with source == target == neighbor_id. Direction is relative to anchor_id; endpoint identities preserve the loop.

PostgresLinkedEdgesV1 dataclass

PostgresLinkedEdgesV1(pool: object, schema: str, working_guard: object | None = None)

Explicit dark read port; installation and publication writes are separate.