- Read
../../AGENTS.mdfor execution constraints, recovery protocol, and the default iteration loop - Read
../spec/logs.mdfor logging requirements and structured field conventions - Read this guide for concrete investigation workflow, log locations, and root-cause analysis steps
- Read
../architecture/data-flow.mdwhen debugging depends on pipeline stages, state transitions, or IPC boundaries
When asked to "check and fix" or "investigate":
-
Check latest logs first:
# macOS cat ~/Library/Logs/ariatype/ariatype.log.$(date +%Y-%m-%d-)* | tail -200 # Or check for crash reports ls -la ~/Library/Logs/DiagnosticReports/ | grep -i ariatype
-
Identify failure point — Look for:
- ERROR-level log entries
- Stack traces or panic messages
- Timestamps near the reported issue
- Unexpected state transitions
-
Check crash reports if logs incomplete:
head -200 ~/Library/Logs/DiagnosticReports/ariatype-*.ips
| Platform | Path |
|---|---|
| macOS | ~/Library/Logs/ariatype/ |
| Windows | %LOCALAPPDATA%\ariatype\logs\ |
Log files are named ariatype.log.YYYY-MM-DDTHH (hourly rotation).
// Get last N lines of log content
invoke("get_log_content", { lines: 100 });
// Open log folder in system file manager
invoke("open_log_folder");- Reproduce the issue deterministically
- Collect direct evidence: logs, stack traces, diagnostics, failing assertions
- Trace execution path across caller → callee → state → side effects → boundaries
- Identify the precise failure point
- State root cause as evidence-backed conclusion
- Verify the fix removes root cause, not just symptom
After 3 consecutive failures:
- STOP all further edits
- REVERT to last known working state
- DOCUMENT what was attempted and what failed
- ESCALATE to user or consult Oracle with full failure context
- Layer 0 (keyboard simulation): For short text ≤200 chars, no newlines
- Layer 2 (clipboard paste): For long text >200 chars or multiline content
- Check
apps/desktop/src-tauri/context/text_injection_fix.mdfor known issues
- Auth errors (401/403): Check API key, app_id, base_url in settings
- Connection errors: Check network, WebSocket endpoint URL
- Timeout errors: Check provider status, rate limits
- Use mock credentials pattern for local testing