Yichus Explorer Playground Edit Bosatsu and query the recursive graph in the browser
Loading sample...
Recommended next step
Loading the Explorer lesson...
The guided workbench will appear after the first sample finishes loading.
Why this exists
Explorer helps you check whether an output is actually connected to real inputs or only looks like it is.
AI cheating here means preserving the shape of a grounded solution while quietly ignoring live inputs, hardcoding an answer, or carrying inputs only for show.
Lesson mode
Lesson map
Recovery and free play
Sample
Compiler output
Explorer Output
The rendered explorer uses the same Matchless-based analysis pipeline as the CLI.
Package-
Bindings-
ModeIn-browser
Current lesson prompt
Analyze a sample and the guided workbench will tell you what to look for first.
Focus binding-
waiting-for-analysisNeed analysis
Load a sample, analyze it, and the workbench will surface one plain-language explanation before the raw payload.
The next useful move will appear here once the focused binding is known.
Explorer Query API
Drive the same in-browser explorer state through `overview`, `explore`, `connections`, `search`, `path`, `trace`, and `traceFlow` without leaving the page.
Analyze a sample to populate the graph-backed browser API.
`overview(path, overlay, limit)`
Scan a package or binding neighborhood and surface landmarks like effect hotspots, suspicious bindings, or boundary crossings.
`explore(path, depth)`
Zoom from the system root down to one package, binding, IO site, expression, or source node.
`connections(path, direction, kind)`
Inspect incoming and outgoing edges such as `dependency`, `causal`, or `io_chain` around one node.
`search(query, scope)`
Query IR-derived structure with filters like `kind:io_site primitive:write` instead of reading source text.
`path(from, to, maxDepth)`
Route between two bindings to see how one point in the graph connects to another through dependency edges.
`trace(binding, maxDepth, followEdges)`
Walk upstream from one binding and get a compact summary of the nodes that feed it.
`traceFlow(binding, maxDepth, followEdges)`
Inspect explicit upstream edges so you can see which dependencies carry return data and which only guard control flow.
`query(source, entryPoint, target)`
Compile a Bosatsu `ProgramData -> ClassifyResult` query against the in-browser explorer workspace and inspect the classification result.
Raw explorer payload
Run one of the recursive primitives to inspect the browser-side explorer graph.