From editor alternatives to synonym-aware search: a reproducible 80-second example #26
AlexMikhalev
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
The inspiration came from Jason Fried’s original Write_On video and its idea of “alternative control”. It prompted Alex Mikhalev to return to Terraphim Editor, a Rust/WebAssembly project he had abandoned two years earlier, with a clear purpose: connect wording alternatives to a reusable knowledge graph and carry that meaning into search.
We’ve published a small end-to-end Terraphim example: add “Concern” as an alternative to “Risk”, swap the wording, explicitly export the synonym graph, then search a project brief with terraphim-grep.
https://terraphim.ai/how-tos/synonym-search/
The clean brief contains “Risk”, with no literal “Concern”. The exported graph lets the latter query find three passages and their related decisions. The released-binary baseline returns zero passages before that graph is supplied.
The tutorial compares
--search-onlyand--answerusing the same graph and source passages. Optional synthesis uses your configured provider and adds a summary with references. Decisions in the brief are not evidence of completed actions.Downloads include the actual graph, plain and annotated Markdown, paired JSON results, and a ZIP with instructions. The voice-over is synthetic British English.
We maintain Terraphim. Which terminology pairs would make this useful in your notes? Reproduction reports are especially welcome: include the client version and which step produced a different result.
Open the same example in Obsidian
The Obsidian walkthrough now includes a downloadable sample vault and an actual screenshot from the installed app.
The raw
synonyms:: Risk, Concernproperty lives inNotes/Risk.md. The separate project brief contains “Risk” and no literal “Concern”. The search-results note contains only saved CLI passages; it does not define the synonyms.Using released terraphim-grep 1.21.19 against
Notes/Projects, the baseline returns zero passages and the supplied synonym graph returns three exact passages at lines 7, 10 and 13. The concept note and saved results are outside that search corpus. The ZIP includes both graphs, source notes, actual outputs and a checksum manifest.Terraphim’s
synonyms::convention uses Logseq-compatible Markdown property syntax. Obsidian native aliases use YAMLaliases. This example passes the exported graph explicitly; saving the note does not automatically rebuild it. Obsidian displays saved CLI output, and this additional capture demonstrates retrieval only. The main narrated video separately compares synthesis off and on.Open the same example in Logseq
The Logseq walkthrough includes a downloadable graph and a screenshot from Logseq 2.0.2. Import the included Markdown graph through Import existing notes → File to DB graph, then open Risk and the Concern search sidebar.
The Risk concept owns
alias:: Concernandsynonyms:: Risk, Concern; the project brief holds the decisions. Native Logseq aliases give a page another name. Terraphim uses the explicitly supplied editor-exported graph for the CLI search.Run released terraphim-grep 1.21.19 from the extracted
graphfolder:The baseline returns zero passages; the shared graph retrieves three decisions about a backup supplier, a covered area and a volunteer reserve list. The searched project notes never contain “concern”; concept definitions and saved results are outside the corpus. Logseq displays imported notes and saved CLI results. Its database import is a copy; the commands read the original Markdown folder.
The graph-view screenshot shows the project brief connected to Risk, Start here and the saved-results page. Its arrows are native Logseq page links; the Risk note holds the synonym definition shared through the supplied Terraphim graph.
All reactions