The literal string is right there. Any text tool handles this.
pando as first param to the-id in src/metabase/util.cljc; pass nil at call sites
What is pandō?
A structural code engine for AI agents.
pandō treats code as data, not text.
It operates on the graph — namespaces, symbols, dependencies, call paths.
Across the whole project.
Your agent finds, understands, and rewrites code through the structure — not around it.
Why not just use text tools?
Today’s agentic tools are fast, flexible, and great with text.
Ask an agent to rename a namespace that way: it finds the literal string, but misses the alias and qualified calls.
The workarounds are familiar: custom system prompts, paren-balancing fixups, REPL-grounding loops.
But code is more than text.
Code has structure, syntax, relationships, and meaning.
Code is data.
Does it actually work?
You rename user-service to auth-service. Every :require, every qualified call, every alias that traces back to that namespace needs to update — without breaking anything else.
Text tools get the first case. pandō gets all three.
Text tools can’t tell user/get-profile came from this namespace.
Scattered across files. The graph finds every one. No false positives, no false negatives.
Why bother?
Same guarantees, every operation.
:exact
Agent-generated changes are compiler-checked before they land.
:safe
Edits apply atomically. Either the whole graph updates, or nothing does.
:local
Runs on your machine. Far less code reaches the LLM.
What's in the toolkit?
Stable targets
Every target is a path + content hash. Edits to unrelated code won’t break your references.
Semantic queries
Find nodes, references, callers, requires, public vars — by meaning, not by string match.
Structural mutations
Rename, replace, insert, delete. filter-map-reduce for batch transforms across matched nodes.
System topology
See who calls what, what depends on what, how namespaces connect.
Safety
Pre-flight diagnostics. Post-op validation. Snapshots before every mutation. One-command rollback.
Scope control
Limit operations to a workspace, a project, or only what’s reachable from a given entry point.