Graph Embeddings for Checklists A new technical post demonstrates using knowledge graphs and Aho-Corasick automata instead of vector embeddings to run deterministic checklists around LLM calls, implemented in the terraphim-grep and terraphim-agent tools. The author argues a nearest-neighbour index returns fuzzy neighbours and cannot enumerate a fixed set of terms or report which members fired, while compiling checklist synonyms under a normalised term into an Aho-Corasick automaton makes every check a deterministic match with a named, auditable edge. The post applies the machinery in two places: terraphim-grep with a role thesaurus before the LLM call, and terraphim-agent hooks plus learning after it. A checklist is an enumerated set of terms that must be checked. That is the whole problem, and it is the reason vector embeddings are the wrong tool for it: a nearest-neighbour index returns fuzzy neighbours, it cannot enumerate a fixed set and report which members fired. A knowledge graph can. Write the checklist once as synonyms under a normalised term, compile it into an Aho-Corasick automaton, and every check becomes a deterministic match with a named edge you can audit. This post shows that machinery applied to the two places a checklist earns its keep around an LLM call: terraphim-grep with a role thesaurus before the call, and terraphim-agent hooks plus learning after it. Every command below was run while writing this article; the outputs are real.