fix: make a brokered Grok worker actually run, and make its failures diagnosable - #29
Merged
Merged
Conversation
… never runs auth_provider helpers
…bid raw control bytes in sources
… is refused before any spend
…its first model request
…f failing a paid request
…f the diagnostic window
…dentials split by its cut
…a refusal blindly
…ort fails red instead of parking the runner
…rn cannot park on its own teardown
…tead of waiting for a worker to release them
…all is visible as one
…t bound is stopped, not parked
…ocol's own text bound
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.
Makes a brokered Grok worker run end to end under Daimon inside a training container, and makes every failure name its own cause.
What was broken
Mcp-Session-Id, so every mounted tool was unreachable andsearch_toolreturned an empty catalogueEAGAINon its first large writeDBL_MAX_OUTPUT(64 KiB) was exceeded by an ordinary turn, and the trip discarded the turn's whole textexit=1was unexplainable by constructionWhat this adds
turns.jsonlseal ledger that survives a hung turnauth_staleas a named non-retryable refusal; policy misses answered 400 rather than blind-retried 503daimon__<name>from shared contract atomsVerification
Full suite 887 pass / 0 fail. Typecheck, contract manifest, production closure and native verify all green. The Docker native adversarial suite passes all 16 stages, including a real 219,608-byte turn and a no-hang proof where the worker is asleep inside
write().Reviewed adversarially before this PR; every blocking finding was fixed with a failing-first test and a named mutation check.
🤖 Generated with Claude Code