feat: engraph v0.4.0 — context engine#3
Merged
devwhodevs merged 8 commits intomainfrom Mar 24, 2026
Merged
Conversation
Reusable 3-lane RRF search function returning structured results. run_search now delegates to search_internal then formats output. InternalSearchResult + SearchOutput types for context engine. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
list_files with folder/tag filtering, folder_note_counts with top-level grouping, top_tags via json_each aggregation, recent_files by indexed_at, edge_count_for_file. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
NoteContent with full content, metadata, graph edges. NoteListItem for filtered listing. VaultMap with folder counts, top tags, recent files. ContextParams shared context. File resolution supports docid, exact path, and basename match. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Finds person note by basename, returns full content + mention edges with snippets + wikilink connections. FTS snippet extraction with disk-read fallback. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Finds project note, child notes (same folder + linkers), active tasks (unchecked checkboxes), team (people linked from project), recent mentions in daily notes via FTS. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Assembles direct search results + graph expansions within a char budget. Priority ordering: direct matches first, then 1-hop related. Truncation with docid reference for full content. Testable without embedder via context_topic_from_results. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Six context subcommands with --json support. Topic loads embedder for hybrid search. All others are lightweight (no model load). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Version bump and docs update for engraph v0.4.0: - Context engine with 6 functions (read, list, vault_map, who, project, topic) - engraph context CLI with --json support - search_internal extracted for reuse - 13 modules, 144 tests Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Context engine transforms raw search results and vault data into agent-ready context bundles. Six functions exposed as
engraph contextCLI subcommands.engraph context read <file>— full note content with metadata, graph edges, frontmatter/body splitengraph context list— filter notes by folder and/or tagsengraph context vault-map— vault structure overview (folders, tags, recent files)engraph context who <name>— person context bundle (note + mentions + connections)engraph context project <name>— project bundle (note + children + tasks + team + daily mentions)engraph context topic <query>— rich topic context with character budget trimming (search + graph expansion)Architecture
src/context.rsmodule — pure functions takingContextParams(store + vault_path + profile)search_internal()extracted fromrun_search()for reuseSerializefor--jsonsupportcontext topicloads embedder for search; all other commands are lightweightTest plan
cargo test --lib)cargo clippy -- -D warnings)cargo fmt --check)--jsonoutput verified on all commandsengraph context topic "query" --budget 8000engraph context who "Person Name" --json🤖 Generated with Claude Code