Architecture
Execution graph architecture
The Tether graph represents agent execution, not just model requests.
Not an LLM request tree
The graph is an agent execution graph. LLM calls are only one event type. The useful debugging question is what the agent changed, ran, broke, and can recover from.
A single user request can produce model calls, tool calls, file reads, file writes, shell commands, tests, git diffs, errors, replay attempts, and rollback evidence. Tether keeps those events connected so the desktop app can move from prompt to action to failure to recovery.
Event types
| Event | Meaning |
|---|---|
| llm.request | A model request with turn-scoped prompt, provider, model, token, latency, cache, and response metadata. |
| tool.call | A tool invocation made by the agent or framework. |
| file.read | A file or workspace input used by the agent. |
| file.write | A file creation, edit, or deletion produced by the agent. |
| shell.command | A shell command, including command line, stdout, stderr, duration, and exit status. |
| test.run | A test command or test-result event with pass/fail status. |
| git.diff | A diff summary with changed files and line counts. |
| error | A model, tool, shell, test, or adapter failure. |
| replay | A supported replay attempt from a proxy-captured request boundary. |
| rollback | A local recovery or revert action tied to file and diff evidence. |
Graph node contract
- Each node should show the actual user request or event-specific action for that turn.
- Node cards preserve file changes, changed line counts, command or test status, timing, token, model, source, and request metadata.
- Sidebar selection focuses the graph camera on the selected node.
- Replay controls only appear for sources that can safely replay a stored request.