Repository navigation
gallery: plays that wait on what their components no longer do (base red: health 0-3, part 2) - #25034
Conversation
…e-web.sh derives them 8125a40 moved build-agent-pane-web.sh from a hand-kept list of `$SRC/...css` lines to the sheets dev.tsx reaches (bundle.mjs --css-inputs-only). galleryHost.ts's agentPaneStylesheets still scraped the script for those lines, found no shared/styles.css and threw, so scripts/gallery/touched.ts (and every gallery health shard on feat-cmux-next) failed before rendering. agentPaneStylesheets now runs the script's own command over dev.tsx, keeps the walk's order, puts Tailwind's entry last as the script does, and strips every sheet's @import (the walk already lists an imported local sheet before its importer, so inlining it again duplicated git.css). The list is memoized; the dev server derives it again when a saved source imports a stylesheet. touched.ts treats dev.tsx like the script: a change to it re-renders every entry. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a1708f-432e-7f23-a9e8-11c5945da2f6&host=cosmic-gray
…y health can render
…menu, command tray, tool results) Every agent-pane state below has failed gallery health on feat-cmux-next with "play: waitFor did not hold within 5000 ms". Each play waits on something its component no longer does: - composer image-sent-as-path, file-saved-as-path, pdf-attached, image-failed: #24652 moved uploads to chat.upload.begin and falls back to chat.upload only when the host refuses it as unsupported. The frame answered every unmocked call null, so every paste failed with "The upload could not be started." The frame now refuses an unanswered chat.upload.begin as an older host does, unless a variant answers or delays it. Intake also changed on purpose: a pasted .md is saved too (3 chips, not 2), and a pasted PDF or undrawable image goes as a path, so pdf-attached and image-failed now show the PDF card and the failed-image chip from a kept draft (chat.draftAttachments.get), the path that still makes them. - new-tab model-picker-open: #24676's hidden width probe repeats "More models" after the real row, and a text target takes the last match; the hover now targets the menuitem by role. - subagent-tray after-latest-message: #24779 opens a command's live tail only with a connected process source, which the gallery's preview transport never has; the play checks the row opens instead. - transcript tool-result-envelopes: since #24986 the rows scroll the transcript, and the runner's nearest-scroll parked the last row under Jump to latest, which took the click; each row is centered before its click. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a1708f-432e-7f23-a9e8-11c5945da2f6&host=cosmic-gray
|
Owned by claude-sr2/base-red-checks on cosmic-gray · session |
|
Found 102 test failures on Blacksmith runners: Failures
...and 92 more test failures. View all on Blacksmith: run 40156953091, run 40156953203, run 40156953260
|
|
Bead |
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a1708f-432e-7f23-a9e8-11c5945da2f6&host=cosmic-gray
|
cmux status (one comment, edited in place; each line is updated by the job that owns it) Review App of this head (app.zip, kept 1 day)
Probably yours: CI failed on
Failures:
Matched log linesNot re-run automatically: Written by red: cmux-next checks (god files, concurrency, crash safety, l10n); no finished base run on 7921f4f to compare; do not merge until green; see lane-rules Tour of Gallery before/after for |
…mjs and its plugins re-render every entry Review (Codex): a source that drops its last stylesheet import kept the sheet until a restart, and a change to bundle.mjs (which now derives the list) touched no entry. Every saved source under src/ derives the list again off the save's path (one run more for saves during a run), and the combined sheet reloads only when the list changed; bundle.mjs and the plugins its --css-inputs-only run loads join touched.ts's EVERYTHING. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a1708f-432e-7f23-a9e8-11c5945da2f6&host=cosmic-gray
…ays check what their notes say Review (Codex): refusing every unanswered chat.upload.begin sent the gallery down the older single call, so no play exercised begin, chunks and finish. The frame now answers the staged upload as the app's host does (a variant that answers or delays a step takes it over; file-not-attached refuses both, as a host that saves nothing). image-failed checks its text and remove button, pdf-attached its file name, file-saved-as-path each chip's name, note and saved path. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a1708f-432e-7f23-a9e8-11c5945da2f6&host=cosmic-gray
… host does Review (Codex): the frame ignored begin's batch manifest and never answered a batch token, so a several-file paste never ran cloudUploads.ts's continuation. The first begin of a batch gets a token; each later file must present it and be the manifest's next entry, else begin fails. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a1708f-432e-7f23-a9e8-11c5945da2f6&host=cosmic-gray
|
Review (Codex gpt-6-astra xhigh, cmux16): SHIP at 8c5b4d8 First pass blocked on four findings: legacy-only uploads in the frame, and attachment plays that didn't check what their notes say. The second pass blocked on one more: the batch token. All are fixed and the third pass found no remaining issues. Health at this head lists only |
|
Shipped in:
|
![Fix with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/fix-with-codesmith-light-3x.png)
Base red fix, part 2 of gallery
health (0-3)on feat-cmux-next. It stacks on #25018, which fixes the touched.ts crash and is merged in here so health can render. That diff drops out of this PR once #25018 lands.With #25018, every shard renders again and lists these as newly broken, the same set as base before 8125a40 (for example run 40148362582). Each one's play waits on something its component no longer does:
image-sent-as-path,file-saved-as-path,pdf-attached,image-failedchat.upload.beginand fall back tochat.uploadonly when the host refuses it asunsupported. The frame answered every unmocked callnull, so every paste ended in "The upload could not be started." That note also shows on the passing image variants. Separately, intake now saves a pasted.mdtoo, and sends a pasted PDF or undrawable image as its path.chat.upload.beginthe way an older host does, unless a variant answers or delays it (#24976's new variants do). file-saved-as-path expects 3 saved chips. pdf-attached and image-failed show the PDF card and the failed-image chip from a kept draft (chat.draftAttachments.get), the only path that still makes them.model-picker-openmenuitemby role.after-latest-messagearia-expanded). The note says why the tail isn't shown.tool-result-envelopesNot in this PR (owned elsewhere):
reasoning-claudeandreasoning-claude-defaultare a real app regression from cmux NEXT model menu: four models, each once, the rest under More models; Effort and Fast name their state; submenus open up from the composer #24224:profileDeclaresNoEffortsees Haiku'sefforts: []and hides Claude's effort level. fix(agent-chat): keep Effort visible for sibling models #24916 fixes it.pages.settings-server(3 variants) fails because the settings exports have been stale since cmux NEXT composer: capability-driven Fast and work-on New Tab #24631: they lack strings and an agent policy fortabs.newTabWidgets.{clock,timer,warmGreeting,quote}, so every Mac export fails. cmux-next settings: New Tab clock, stopwatch, greeting and quote get an agent policy and strings (base red) #25009 fixes it.Risk: low. Gallery fixtures and the gallery frame only; nothing in the app changes. No screenshots attached because no app UI changes; this PR's gallery-health run renders every agent-pane entry, since a frame change touches everything.
Agent session: cosmic-gray
🤖 Generated with Claude Code
Need help on this PR? Tag
@codesmith-botwith what you need.