fix(compile): error handling, unlimited turns, and non-zero exit code#2
Open
someaka wants to merge 1 commit into
Open
fix(compile): error handling, unlimited turns, and non-zero exit code#2someaka wants to merge 1 commit into
someaka wants to merge 1 commit into
Conversation
… and max_turns exhaustion
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes
CompilationError exception + error propagation
RuntimeError from Ollama and empty choices now raise CompilationError instead of silently returning None. main() catches it and tracks failures.
max_turns: 0 = unlimited turns
Setting compiler.max_turns: 0 in config.yaml disables the turn limit, allowing unlimited tool-calling loops for large daily logs.
Exit code 3 on failure
main() now collects all failures and exits with code 3, making notify_on_complete work correctly in Hermes cron jobs.
Model fallback default (already applied)
Both config.py copies now default to deepseek-v4-pro:cloud instead of kimi-k2.6:cloud.
Closes #1