- Add recover_usages() function to bugfix/init.py
- Reads ioinfo JSON files for llmusage records with null usages
- Extracts usage from last output entry
- Falls back to scanning all outputs in reverse for usage field
- Updates llmusage.usages in database
- Supports single record (by id) or batch mode (limit param)
- Add recover_usages.dspy API endpoint
- Register new path in load_path.py RBAC config
- execute_sql.dspy: SELECT-only SQL execution with pagination
- read_log.dspy: read last N lines from whitelisted log files
- tail_log.dspy: incremental log monitoring from last position
- RBAC: developer role only
- Security: SQL validation, log file whitelist