Repository navigation
Fit wide diagrams, date builds from their finish, follow renames, and place Planner questions - #662
Merged
Merged
Conversation
… for The Build card's footer counted a finished build's age from createdAt, the moment Build plan was pressed, so a build that ran for an hour read "built 1h ago" as soon as it finished. A build now records finishedAt when it stops or fails, including a landed rebuild, and the card dates a finished build from it. A running build is still dated from its start; a finished build stored before finishedAt was recorded shows no time rather than a wrong one. Fixes #659 Assistant-model: Claude Opus 5.5 (fast) Assistant-workflow: inline (fast subagents) Assistant-verification: red-before-fix: builds.test.ts "a build records when it finished" failed (finishedAt undefined); plan-graphs.test.ts landed-rebuild assertion failed; build-model.test.ts buildAgo missing Assistant-verification: red-before-fix: e2e implementation-launcher "a build that ran for an hour ..." failed on the unfixed client with "built 1h ago" (expected "built 2m ago") Assistant-verification: after fix: those unit tests, implementation-launcher.e2e.ts (all) and the full bun test run passed Co-authored-by: Alex Lavaee <alexlavaee@microsoft.com>
…Planner The Planner poll names documents by id, and Chopin answered it only when the set of ids changed, so a rename never reached the connector; the connector also kept the URL of a backend it already ran. Chopin now remembers the address it last told each connection for each document and answers the poll again, once, when a document's address has changed, and a document rename wakes the poll. The connector takes the new address for a running backend: chopin status, its output and the backend's next start use it, without restarting the backend. The answer is the existing planners shape, so no protocol bump. The connector change needs a chopin CLI release to reach machines. Fixes #660 Assistant-model: Claude Opus 5.5 (fast) Assistant-workflow: inline (fast subagents) Assistant-verification: red-before-fix: planner-dispatch.test.ts "tells the machine a renamed document's current address, once" got { waiting: true }; connector planner.test.ts rename test recorded the old address Assistant-verification: after fix: both pass; planner-dispatch.test.ts and planner.test.ts in full, machine-choice, machines, planner-attachment and connector e2e passed Co-authored-by: Alex Lavaee <alexlavaee@microsoft.com>
Decisions a Planner asked through blocking human input always went to the end of the document, not linked to any passage. An agent connection input-request may now carry an optional block, the index and digest of the block it concerns from the Planner's latest read, and the in-process host input takes the same block in its options. Its cards go directly after that block and are linked to it. A block that changed, repeats or is itself a decision card leaves the cards unlinked at the end, as before. The field is optional, so the connection version is unchanged. Fixes #661 Assistant-model: Claude Opus 5.5 (fast) Assistant-workflow: inline (fast subagents) Assistant-verification: red-before-fix: human-input.test.ts "a question that names its block ..." placed the card after the last section; link.test.ts block test never got a card; protocol.test.ts refused the block field Assistant-verification: after fix: agent-link, human-input and link tests pass, including the unlinked fallback; full bun test run passed Co-authored-by: Alex Lavaee <alexlavaee@microsoft.com>
…ontrol A Mermaid diagram too wide to read at the frame's width keeps its drawn size and scrolls, and its only cue was a 32px fade at the cut edge. Where scrollbars hide at rest, as in headless Chromium and on macOS, nothing else showed there was more, and a mouse without a sideways wheel could not reach the end. Off a phone, such a diagram now shows Fit diagram to width under its scroll lane: the whole shape scales to the frame, with its height following its width, until Actual size returns it to scrolling from its start. Phones keep Expand diagram. Fixes #658 Assistant-model: Claude Opus 5.5 (fast) Assistant-workflow: inline (fast subagents) Assistant-verification: red-before-fix: wide-content.e2e.ts wide LR flowchart tests at 1280 and 1920 failed on the unfixed client (no control; the frame showed only its first steps, with no lane painted: offsetHeight equal to clientHeight); the 390 touch test passed as coverage Assistant-verification: after fix: wide-content, code, responsive-content and visual-handoff e2e passed; bun run ci and bun run types passed Co-authored-by: Alex Lavaee <alexlavaee@microsoft.com>
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.
Four fixes from a real Planner and Build run on the hosted instance.
Wide Mermaid diagrams (#658). A diagram too wide to read at the frame's width kept its drawn size and scrolled, and the only cue was a 32px fade at the cut edge. Where scrollbars hide at rest (headless Chromium, macOS), nothing else showed there was more, and a mouse without a sideways wheel could not reach the end. Off a phone it now shows Fit diagram to width under its scroll lane: the whole shape scales to the frame (its height follows its width) until Actual size returns it to scrolling from its start. Phones keep Expand diagram. DESIGN.md says so.
Build card age (#659). The card dated a finished build from
createdAt, when Build plan was pressed, so an hour-long build read "built 1h ago" the moment it finished. Builds now recordfinishedAtwhen they stop or fail, including a landed rebuild, and the card dates a finished build from it. A build stored before this shows no time rather than a wrong one.Renamed document's address on its machine (#660). The Planner poll names documents by id and Chopin answered only when the set of ids changed, and the connector kept the URL it first got. Chopin now answers the poll once more when a document's address changed since it last told that connection (a rename also wakes the poll), and the connector takes the new address for a running backend without restarting it:
chopin status, its output and the next start use it. The connector changed, so this needs a chopin CLI release to reach machines; the poll answer keeps its existing shape, so there's no protocol bump, and an older connector just ignores the extra answer.Placing a Planner's blocking questions (#661). The agent connection's
input-requestgets an optionalblock(indexanddigestfrom the Planner's latest read), and the in-process host input takes the sameblockin its options. Cards go right after that block, linked to it. If the block has changed, repeats, or is itself a decision card, they go at the end unlinked, as before. The agent connection changed (additive; same connection version); documented in docs/agent-connection.md.Tests: each fix failed before it was applied. The new unit tests failed, and the new browser tests for #658 (1280, 1920) and #659 failed against a client built without the fix ("built 1h ago"; no control under the frame). Afterwards:
bun test apps/server packages apps/web apps/connector(6031 pass),bun run types,bun run ci, and the browser files wide-content, code, implementation-launcher, responsive-content, machine-choice, machines, planner-attachment, connector, visual-handoff, harness-decisions-deck and document-title all passed.Fixes #658
Fixes #659
Fixes #660
Fixes #661