Repository navigation
fix(deep-journey): follow the run stream to the end, --no-stream included - #61
Merged
Merged
Conversation
…uded
ora saves a journey's terminal status only from inside the stream route.
--no-stream polled GET /api/journey/runs/{id} without ever opening the
stream, so the run stayed "running" and the CLI failed after ~15 minutes
with "still executing". The quiet-stream fallback polled the same way.
The CLI now always streams a running journey, reopening a dropped or
early-closed stream up to five times; a reopen resumes the run without
re-executing the agent. --no-stream only hides the live view. Polling
remains the last resort after every reopen fails. The partner key now
rides on the stream too, which lifts its per-IP limit on reopens.
1 of 2 tasks
…treams From local review. Streaming and polling now share one 15-minute budget: a run nobody streams cannot finish, so the old 15 minutes of polling after six silent stream windows only delayed "still executing" to ~27 minutes. A stream 404 or auth refusal ends the command at once instead of being reopened and then polled. A 429 waits out its Retry-After (capped at 60s) before the next reopen. The stream's last failure is now named in the progress line and the final error, and the --help and JSDoc text no longer say --no-stream polls.
liady
added a commit
that referenced
this pull request
Oct 6, 2026
## What This regenerates `src/contract/` against contract 1.27.0, which ora.ai started serving after ora #1278 merged, and moves `BUILT_AGAINST` from 1.26.0 to 1.27.0. Apart from `contractVersion`, only two journey description strings in the generated types changed: the anonymous per-IP run limit is now 20 runs per 24 hours, down from 200. No field or shape changed. The PR also corrects the CLI's own text for that limit: the `deep-journey` caps line in `--help` and the command output, the rate-limit error hint, and the README now say 20 runs per IP per 24h, and the README names the 3,000-a-day anonymous ceiling from ora #1282. Exit codes are unchanged, and users on this build stop seeing the "newer contract" stderr advisory. It turns the "Contract drift vs production" job green again; that job is currently failing on every open PR, including #61. ## Why The drift job is the alarm for "ora shipped a contract this build was not generated against". ## Checks - [x] `pnpm lint` and `pnpm test:ci` pass locally, except `src/tunnel/`, whose `@ora-ai/tunnel-protocol` dev dependency isn't installed in my checkout. - [ ] Behavior change is covered by a test (or explain why not): generated types plus help and error text; no logic change.
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.
What
ax deep-journey --no-streamnever finished a run: it waited about 15 minutes, then exited 3 with "still executing". ora saves a journey's final status only from inside the run's stream (GET /api/journey/runs/{id}/stream), and--no-streamonly polledGET /api/journey/runs/{id}, so the run stayedrunning. The CLI now always reads a running journey's stream to itsresultorerrorframe.--no-streamnow just hides the live trajectory view, so it prints the same final report and exit code as a streamed run.Why
Only the stream route writes a finished run's status (
completeJourneyRunin ora). The fallback for a stream that went quiet had the same problem, because it also switched to polling. ora's own docs said "stream or poll" until eralabs-ai/ora#1266 corrected them.Changes
performDeepJourneystreams everyrunningrecord.Retry-After, up to 60s, before the next reopen.--no-streamnow only suppressesonTrajectory. The flag help and README describe it as hiding the live view.--helptext and JSDoc no longer say--no-streampolls.Checks
pnpm lint,pnpm build,pnpm smokeandpnpm verify:packpass locally.src/tunnel/, which needs the@ora-ai/tunnel-protocoldev dependency. It isn't installed in my checkout, and this PR doesn't touch that code.--no-streamstill opens the stream and never callsonTrajectory;Retry-Afteris waited out;