follow-the-tail browser specs time out: the run they open shows no transcript #59
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Both tests in
ui/e2e/follow-the-tail.spec.tsfail against a running osfd, and they failed the same way onmainbefore #58:step-pane.spec.ts, the other live spec, passes.Why
liveRun()picks the first run whose status isrunningand opens#/run/{id}with no step.App.tsxthen selects the step the run header names, which is the blocked one first. On the demo osfd that is a step waiting at a gate or for approval, so the stage shows a review lens or an empty state. The transcript's virtual list ([data-lines],ui/src/components/Transcript.tsx) never mounts. The spec is measuring a stream it never reaches.Fix
The spec should open a step that actually streams. Pick a running agent step from
GET /api/runs/{id}and open#/run/{id}/step/{stepId}. Alternatively, now that #58 addswindow.braid, select one withbraid.state()andbraid.run(...). Keep thetest.skipwhen there is no osfd or no running step.This only changes the test, not how Braid behaves, so the quick-fix pipeline (#55) fits.
Context
Found while auditing the suites for #39 (PR #58). The two specs are tagged
@live, so neither lane runs them unlessOSF_URLis set, and they don't block anything.Fixed by #81 (tracked in #80, which duplicated this issue).
follow-the-tail.spec.tsnow does what this issue proposed: it lists the running runs (GET /api/runs) and their steps (GET /api/runs/{id}), picks the running agent step with the longest transcript, and opens/run/{run}/step/{step}, so a gate on the run can no longer take the page. It still skips when there is no osfd or no running agent step.The fix went further than this issue expected, and it was not test-only:
[data-lines].scrollToIndexkept re-aiming at the tail). The transcript now follows with a plain scroll to the bottom; OpenSpec changetranscript-follows-the-tailadds the requirement toagent-transcript.tail-demorun, so the specs pass in the full lane withOSF_URLat the fixture.Verified against the fixture only, not a real osfd. To confirm there, run while an agent step is streaming: