Progress, a folded transcript, and links between the graph and the log - #6
Merged
Merged
Conversation
Four things, all of them about being able to see what the run did. PROGRESS. A thin bar above the transcript, replacing the bare status line. It is deliberately not determinate: the number of steps is not known in advance, so a fraction would be inventing a denominator. It approaches a ceiling instead -- visible movement per step, never a false 'almost done' -- and turns green on success or red on failure, so a finished run cannot be mistaken for a stalled one. A FOLDED TRANSCRIPT. When the run ends the steps collapse behind one line, '6 thinking steps - click to show', between the question and the answer. That is the reading order you want: what you asked, how much thinking it took, what it concluded. The answer is never hidden. HOVER SHOWS WHERE IT WALKED. Hovering a node lights up the path that reached it, following the strongest incoming edge back toward the start -- the same notion of 'strongest' the server already draws. Leaving the node clears it. CLICK OPENS THE LOG. Clicking a node unfolds the transcript, scrolls to that step and marks it, with a close button on the step that folds everything back up. Step panels carry id='step-N' so the lookup is by id rather than by counting, and the final-answer node falls back to the answer panel since it has no step of its own. Also: the server now takes the next free port instead of dying on EADDRINUSE, which happens the moment you already have it running -- the most common case there is. It binds to test rather than asking whether the port is free, because a check followed by a separate bind has a race between the two. The port it actually chose is printed, loudly, even when you named one: silently landing somewhere else is worse than an error, because you go looking at the wrong URL. One existing test changed meaning rather than breaking: it waited for a step to be *visible*, and steps are no longer visible after a run finishes. It now waits for them to be attached. That is the test correctly catching a real behaviour change. 9 new browser tests covering all four, plus the port search.
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.
Phase D of the reasoning plan — the part that is independent of the measurement work, so it lands first.
Progress. A thin bar replacing the bare status line. Deliberately not determinate: the number of steps is not known in advance, so a fraction would be inventing a denominator. It approaches a ceiling instead, and turns green on success or red on failure so a finished run cannot be mistaken for a stalled one.
A folded transcript. When the run ends the steps collapse behind one line —
▸ 6 thinking steps — click to show— between the question and the answer. The answer is never hidden.Hover shows where it walked. Hovering a node lights up the path that reached it, following the strongest incoming edge back toward the start.
Click opens the log. Clicking a node unfolds the transcript, scrolls to that step and marks it, with a close button that folds it back up. Panels carry
id="step-N"so the lookup is by id rather than by counting.Next free port instead of dying.
mpe-lkgdied withAddress already in usethe moment you already had it running — the most common case there is. It now searches upward from the requested port, binding to test rather than asking whether the port is free (a check followed by a separate bind has a race between the two), and prints the port it actually chose even when you named one.One existing test changed meaning rather than breaking: it waited for a step to be visible, and steps are no longer visible after a run finishes. It now waits for
state="attached". That is the test correctly catching a real behaviour change.9 new browser tests. 127 total, green on Linux 3.10–3.13, macOS and Windows.