Expand description
Provenance-tagged knowledge graph store.
Every edge in a Roteiro graph carries a Provenance tag recording how it
was produced: deterministically derived from source ASTs, authored by a
human or agent in an ADR/blueprint, or inferred heuristically from docs and
other artifacts. See ADR-0001.
The graph is a set of Nodes addressed by a deterministic natural
Node::key, connected by Edges. Facts extracted from one source blob
are grouped into a FactSet and applied atomically to a Store.
@rto:0001
Structs§
- BlobRef
- A blob in a tree: its repository-relative path and hex object id.
- Edge
- An edge in the knowledge graph, connecting two nodes by their keys.
- EdgeRef
- One end of an edge as seen from a subject node: the relationship, how it was produced, and the node on the other end.
- Explanation
- A node together with its provenance-labelled neighbourhood.
- FactSet
- The set of nodes and edges extracted from a single source blob (or otherwise
assembled together). Applying a fact set to a
crate::Storeis atomic. - File
Node Extractor - Fallback extractor: emits a single
filenode per blob, tagged with its blob hash and basic size metadata. Produces no edges. Used for files with no registered language. - Listing
- A listing of all nodes of one kind.
- Node
- A node in the knowledge graph.
- Node
Summary - A compact node summary (used in listings and as the subject of an
Explanation). - Object
Cache - A content-addressed store of fact sets on disk.
- Path
- A shortest path between two nodes. Edges are followed in either direction (the graph is treated as undirected for reachability), and each hop records the actual direction and provenance of the edge used.
- PathHop
- One step along a
Path: the edge traversed and the node it leads to. - Registry
- Dispatches extraction to a language-aware extractor by file extension,
falling back to
FileNodeExtractorwhen no language is registered. - Repo
- A discovered git repository.
- Rust
Extractor - Derived extractor for Rust source, backed by tree-sitter. Emits a
filenode, one symbol node perfn/struct/enum/trait/mod(and a few others) withdefines/containsedges reflecting lexical nesting, andimportsedges forusedeclarations. Each function records the simple names it calls inmeta.callsfor later cross-file resolution. - Span
- A byte-offset range within a source blob (
start..end). - Store
- A Roteiro graph store backed by a single
SQLitedatabase. - Sync
Report - A summary of the work a
syncperformed.
Enums§
- Cache
Error - Errors raised by the object cache.
- Direction
- Direction of traversal when querying a node’s neighbours.
- Edge
Kind - The kind of a graph edge (the relationship it records).
- GitError
- Errors raised while reading from a git repository.
- Node
Kind - The kind of a graph node.
- Provenance
- How an edge in the graph was produced.
- Store
Error - Errors raised by the store.
- Sync
Error - Errors raised while syncing.
Constants§
- SCHEMA
- The versioned schema tag emitted on every query result. Bump the version on any breaking change to the shape.
Traits§
- Extractor
- Turns one source blob into the nodes and edges derived from it.
Functions§
- explain
- Explain a node: its record plus every incoming and outgoing edge, each
labelled with provenance. Returns
Noneif no node has that key. - list_
kind - List every node of the given
kind, ordered by key. - path
- Find a shortest path from
fromtoto, following edges in either direction. Returns aPathwithfound = false(and no hops) if either endpoint is absent ortois unreachable;from == toyields the trivial zero-length path. - sync
- Sync
storeto the repository’sHEADtree, extracting changed blobs withextractorand caching results incache. - sync_
worktree - Sync
storeto the working tree: the committedHEADstate with uncommitted edits to tracked files overlaid on top (a pre-commit preview).