# Neo4j edge types — operator reference

How Real Agent's graph wires itself.

## Typed-edge auto-extraction

When the operator types `/insight`, the admin agent delegates one pass to the `database-operator` specialist. That pass reads every prose-bearing node your account wrote since the last completed insight pass — messages, meetings, notes, pages, posts, reports, emails, ideas — and asks Claude Haiku to propose typed edges from the text. Only edges that match a closed allowlist of `(sourceLabel, EDGE_TYPE, targetLabel)` shapes are MERGEd into the graph. The graph wires itself; you do not have to ask for it.

If a session never runs an insight pass, its prose nodes are not lost — the next `/insight`, in that session or a later one, picks them up, because the pass is scoped by what changed since the last completed one rather than by which session wrote it. The cost of skipping is a delay, not lost extraction.

## Typed-edge allowlist

<!-- TYPED-EDGE-TABLE:START -->

<!-- Generated by platform/plugins/memory/mcp/scripts/generate-edge-docs.ts from TYPED_EDGE_ALLOWLIST. Do not edit by hand. -->

| Source label | Edge type | Target label |
|---|---|---|
| Person | ATTENDED | Event |
| Person | ATTENDED | Meeting |
| Person | WORKS_AT | Organization |
| Person | WORKS_AT | LocalBusiness |
| Person | INVESTED_IN | Organization |
| Person | INVESTED_IN | LocalBusiness |
| Organization | INVESTED_IN | Organization |
| Organization | INVESTED_IN | LocalBusiness |
| Person | FOUNDED | Organization |
| Person | FOUNDED | LocalBusiness |
| Person | ADVISES | Organization |
| Person | ADVISES | LocalBusiness |
| Person | ADVISES | Person |
| Message | MENTIONS | Person |
| Message | MENTIONS | Organization |
| Message | MENTIONS | LocalBusiness |
| Message | MENTIONS | Event |
| Page | MENTIONS | Person |
| Page | MENTIONS | Organization |
| Page | MENTIONS | LocalBusiness |
| Page | MENTIONS | Event |
| Meeting | MENTIONS | Person |
| Meeting | MENTIONS | Organization |
| KnowledgeDocument | MENTIONS | Person |
| KnowledgeDocument | MENTIONS | Organization |
| ConversationArchive | MENTIONS | Person |
| ConversationArchive | MENTIONS | Organization |
| Note | MENTIONS | Person |
| Note | MENTIONS | Organization |
| Idea | MENTIONS | Person |
| Idea | MENTIONS | Organization |
| Post | MENTIONS | Person |
| Post | MENTIONS | Organization |
| Report | MENTIONS | Person |
| Report | MENTIONS | Organization |
| Person | AUTHORED | Post |
| Person | AUTHORED | Report |
| Person | AUTHORED | Page |
| Person | AUTHORED | Note |
| Person | AUTHORED | KnowledgeDocument |
| KnowledgeDocument | ATTACHED_TO | Meeting |
| Page | ATTACHED_TO | Project |
| Note | ATTACHED_TO | Project |
| Page | REFERENCES | Page |
| Report | REFERENCES | Report |
| Report | REFERENCES | Page |
| Person | REPORTS_TO | Person |
| Source | AUTHORED_BY | Person |
| Project | ADVANCES | Objective |
| Project | ADVANCES | KeyResult |
| Task | ADVANCES | Objective |
| Task | ADVANCES | KeyResult |
| Task | DEPENDS_ON | Task |

<!-- TYPED-EDGE-TABLE:END -->
