fix: adversarial review round 6 — release v0.1.8#10
Merged
Conversation
Fixes all 13 findings from review round 6: High: - Honor server Retry-After on 429 (capped at 60s) instead of always using local exponential backoff (base_provider.rb) - Parallel executor timeout/rejection Results carry the real tool name instead of "unknown"; rejected futures no longer report a misleading full-timeout duration (executor.rb) - Tool blocks with keyword parameters now work — arguments are splatted to keywords when the block declares them (definition.rb) Medium: - Wire the Loop's emitter into Compaction so the documented :compaction event actually fires (loop.rb) - Buffer SSE chunks as BINARY and re-encode complete lines to UTF-8 in all three providers; streaming deltas are now always valid UTF-8 - :fallback_start payload includes partial_output/partial_chars so consumers can truncate partial primary text (fallback.rb) - Validate tool names against provider constraints at definition time - Declare json as a runtime dependency and require it in every file that uses it (composability; pinned by a source-scan spec) Low/docs: - Configuration rejects negative numeric settings; eager-init the global configuration to remove the first-access race - Document continue() per-invocation Result accounting, schema-as-hints (not validation), and unbounded message growth without compaction - Correct CLAUDE.md module map (agent/agent.rb never existed), version reference, and extension handler signature - CHANGELOG note: 0.1.4 was never actually released (version.rb went 0.1.3 → 0.1.5); created the missing v0.1.7 tag locally 22 new regression specs in spec/ruby_pi/fixes/review_round6_spec.rb. Suite: 492 examples, 0 failures. Co-Authored-By: Claude Fable 5 <[email protected]>
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 all 13 findings from review round 6:
High:
Medium:
Low/docs:
22 new regression specs in spec/ruby_pi/fixes/review_round6_spec.rb. Suite: 492 examples, 0 failures.