Monitoring & Logs
Smithers provides structured logging for debugging and observability.Log Directory Layout
By default, logs are written to.smithers/logs/. When an execution ID is provided, logs are scoped:
NDJSON Stream Format
Stream events are logged as newline-delimited JSON:Event Types
| Type | Description |
|---|---|
text-end | Completed text block |
reasoning-end | Completed reasoning block |
tool-call | Tool invocation |
tool-result | Tool output |
error | Error event |
Summary Files
After stream completion, a summary is written:Summarization
For large outputs, Smithers can summarize content using Claude Haiku.Configuration
| Environment Variable | Default | Description |
|---|---|---|
ANTHROPIC_API_KEY | - | Required for AI summarization |
SMITHERS_SUMMARY_THRESHOLD | 50 | Line count threshold for summarization |
SMITHERS_SUMMARY_CHAR_THRESHOLD | 4000 | Character threshold for summarization |
SMITHERS_SUMMARY_MAX_CHARS | 20000 | Max chars sent to summarizer |
SMITHERS_SUMMARY_MODEL | claude-3-haiku-20240307 | Model for summarization |
Fallback Behavior
IfANTHROPIC_API_KEY is not set, outputs are truncated instead of summarized: