Repository navigation
Conversation
… frame (#725) The copy-mode steering case ran with maxCostMicros 0 and a real model, so the runner hit its cost cap within milliseconds of the first ack. The worker ends the exec's stdin on the verified exit line, so the second message's frame was never written, and the case failed whenever the relay had not written it first: on the #723 rerun and on #724. The case now runs on a zero-rated, keyless fake model served by the stand-in (POST /v1/chat/completions, streamed): - The first request is held until the conformance script signals, by touching STEER_SIGNAL_FILE, that the relay has written the second frame. It waits at most 30 s. It then asks for a `read` of the job's prompt file. - Any request carrying a tool result answers "done". - The reply is chosen from the request body, not a counter, so a retry of the first request is held again. The body is never logged, and every other route answers exactly as before. The assertion stays strict: exit 0 with a verified exit line naming both messages, both delivered, at least 2 frames written and 2 acks verified, no cost refusal, and a cost of 0. Rejected: a relay change that reruns a tick requested mid-pass. Nothing in production ticks from a mark, the failure was the closed sink, and in production it would only add back-to-back Valkey passes when Valkey is slow. Specs: DES-OPENSHELL-VENUE (the CI bullet, with the residual that this is the first model stream through OpenShell 0.1.4's rest layer). UNCHANGED, checked: DES-STEER-VIA-READONLY-INBOX-MOUNT and INT-STEER-INBOX-CONTRACT. Signed-off-by: Rob Boerman <robboerman@live.nl>
…in's completion requests (#725) The steering case's run ended exit 1 "Connection error." on every model call from the copy-mode sandbox, while the policy probes' plain-node GETs to the same host answered. No lane case had made a real provider call from inside OpenShell before (the cost cap of 0 refused it first), so the difference between those probes and a job's call is unmeasured. A printed, unasserted `netpath` probe now walks it one step at a time: the image's node and the runner's own binary, a GET and a streamed POST, then the same after pi is loaded (which replaces the fetch dispatcher, issue #427), then through the OpenAI SDK as pi-ai calls it. On a steering failure the case also prints how many completion requests reached the stand-in during that run (method and path only, never a body). Test-only: no spec entry changes (DES-OPENSHELL-VENUE UNCHANGED, checked). Signed-off-by: Rob Boerman <robboerman@live.nl>
…it, and print its exits (#725) The first run printed no netpath line: the probe file sat at /, which the sandbox policy's read_only list does not include, so node could not load it, and its stderr was not shown. It now lives under /opt, and each binary's exit and the head of its stderr are printed. Test-only. Signed-off-by: Rob Boerman <robboerman@live.nl>
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 #725.
The copy-mode steering case ran at
maxCostMicros: 0against a real model, so the runner hit its cost cap within milliseconds of the first ack. The worker closes stdin on the verified exit line, so the second message's frame was never written. It now runs on a zero-rated, keyless fake model served by the stand-in:STEER_SIGNAL_FILE, that the relay has written the second frame (at most 30 s). It then asks for areadof the job's prompt file.The stand-in's other routes answer exactly as before, and the request body is never logged.
Rejected: rerunning a relay tick requested mid-pass. That was not the cause, and in production it would only add Valkey load when Valkey is slow.
Residual: this case is the first to stream a model answer through OpenShell 0.1.4's
protocol: restlayer.Verification:
node --checkpasses, and the workflow YAML parses.