expand
Retrieves the typed-edge neighborhood of seed documents using BFS. Returns citation packets with provenance, filterable by edge type and document properties.
Instructions
Typed-edge BFS retrieval. Returns the typed-edge neighborhood of one or more seed documents as a flat array of citation packets, each carrying via: {seed_doc_id, hop, edge_type, direction} provenance. Hops hard-capped at 2 (v2.0.0). Default direction = 'both'. Filterable by edge_type and by document properties (strict equality, no operators). Memory-sink documents (_memory/...) surface only when they are already linked from a user note in the result set (per ADR-004 memory-namespace opacity rule). Frontmatter-ref edges are extracted heuristically: [[...]] syntax in any property value OR allowlisted property names (assignee, owner, project, related, parent, child, attendees, superseded_by) matched against note_aliases. include_superseded defaults to false (Phase 2 D-03 forward-only supersede). Unknown seed_doc_ids do not throw — they are returned in a warnings: [{seed_doc_id, reason: 'unknown_doc'}] array. Shortest path wins on dedup; ties broken by (seed_doc_id, edge_type, direction).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| seed_doc_ids | Yes | 1+ opaque DocIds (e.g. obsidian-fs://<vault>/<path>) — seeds of the BFS. | |
| hops | Yes | Hop cap (1 or 2). v2.0.0 hard-caps at 2. | |
| direction | No | Edge traversal direction; default 'both'. | both |
| edge_types | No | Optional filter on edge types; default = all four types. | |
| filter_properties | No | Strict-equality predicate on document properties (e.g. {type: 'Project'}). | |
| include_superseded | No | When false (default), docs whose properties.status === 'superseded' are dropped. |