Dogfood Example
The dogfood app in examples\dogfood exercises the current end-to-end loop:
- Frontend console and error instrumentation.
- Wrapped Tauri command calls.
- Wrapped Tauri event emit/listen calls.
- Backend Rust
tracinglogs and spans. - CLI and MCP reads from the same SQLite session.
Run the app
Section titled “Run the app”cd examples\dogfoodnpm installnpm run build:apinpm run tauri devClick each button in the app. The failing-command button is intentionally useful for agents: it creates a frontend tauri.invoke failing_command span with ERROR status and a backend tracing error that contains Intentional dogfood backend failure.
The dogfood commands also opt into Auditaur’s experimental Tauri IPC trace context bridge. The frontend invoke wrapper sends W3C traceparent in a reserved auditaurTraceContext argument, and the Rust commands use IpcTraceContext plus #[tauri_plugin_auditaur::instrument_ipc] to attach backend spans to the frontend invoke trace without command-name or timestamp heuristics.
Manual smoke path:
- Emit console log.
- Throw frontend error.
- Emit/listen to frontend event.
- Call successful command.
- Call failing command.
- Ask backend to emit event.
Inspect the data
Section titled “Inspect the data”Copy databasePath from the latest discovery file under:
| Platform | Discovery directory |
|---|---|
| Windows | %LOCALAPPDATA%\auditaur\apps |
| macOS | ~/Library/Application Support/auditaur/apps |
| Linux | ~/.local/share/auditaur/apps |
Then run:
cargo run -p auditaur-cli -- apps --jsoncargo run -p auditaur-cli -- logs --jsoncargo run -p auditaur-cli -- errors --jsoncargo run -p auditaur-cli -- exceptions --jsoncargo run -p auditaur-cli -- exceptions --markdown --output issue.mdcargo run -p auditaur-cli -- ipc --jsoncargo run -p auditaur-cli -- events --jsoncargo run -p auditaur-cli -- traces --jsoncargo run -p auditaur-cli -- windows --jsoncargo run -p auditaur-cli -- timeline --jsoncargo run -p auditaur-cli -- explainOr pass the copied path explicitly:
cargo run -p auditaur-cli -- traces --db "<databasePath>" --jsoncargo run -p auditaur-cli -- logs --db "<databasePath>" --jsoncargo run -p auditaur-cli -- errors --db "<databasePath>" --jsoncargo run -p auditaur-cli -- exceptions --db "<databasePath>" --jsoncargo run -p auditaur-cli -- ipc --db "<databasePath>" --jsoncargo run -p auditaur-cli -- events --db "<databasePath>" --jsoncargo run -p auditaur-cli -- windows --db "<databasePath>" --jsonIf multiple dogfood app instances are active, discovery intentionally refuses to guess which database to inspect. Use apps --json, copy the latest databasePath, and pass --db.
If the dogfood app restarts while you are editing Rust or Tauri sources, apps --json annotates stale sessions with supersededBySessionId, secondsUntilNextStart, and churnHint when a newer session for the same app appears. Treat that as session chronology evidence, not proof that Auditaur itself restarted the app.
windows returns the latest stored window rows per window. The plugin captures initial window state at startup and lifecycle rows for later window events. For event rows, attributes.tauri.window.event and related attributes.tauri.window.event.* fields describe the authoritative event payload; top-level fields such as focused, visible, width, and height are best-effort sampled state at capture time.
For MCP, start:
cargo run -p auditaur-cli -- mcpPoint your MCP client at that command and ask it to use list_traces, list_logs, list_errors, list_ipc_calls, list_events, list_windows, and get_trace with the copied databasePath.
Last manual smoke result
Section titled “Last manual smoke result”The latest local manual smoke used the dogfood app on Windows with an isolated AUDITAUR_DATA_DIR and verified:
auditaur apps --jsondiscovered one active dogfood session with a readable SQLite database.auditaur logs --jsonreturned frontend console logs plus backendtracinglogs.auditaur errors --jsonreturned the intentional frontend error.auditaur exceptions --jsongrouped captured frontend exceptions and failed IPC calls into issue-ready local reports.auditaur ipc --jsonreturnedsuccessful_command,failing_command, andemit_backend_eventrows.auditaur events --jsonreturned frontend emit/receive and backend receive rows.auditaur traces --jsonreturned frontend wrapper spans and backend Rust tracing spans.auditaur trace <traceId> --jsonreturned trace detail for the failing command span and its IPC row.auditaur timeline --jsonreturned a chronological view across spans, logs, errors, IPC calls, events, and window state.auditaur explainsummarized the intentional failing command path.- MCP
list_logs,list_errors,list_ipc_calls,list_events,list_traces, andget_tracereturned real dogfood telemetry from the same SQLite DB. - MCP
list_windowsreturned stored startup and lifecycle window rows when window capture was available.
Exact caveats:
- If multiple dogfood instances are active, discovery refuses to choose a default DB. Pass
--db. - Window lifecycle rows include authoritative event attributes separately from best-effort sampled state fields.