Repository navigation
Conversation
|
@Stener1 is attempting to deploy a commit to the seanbrydonio's projects Team on Vercel. A member of the Team first needs to authorize it. |
|
This is a draft only because of GitHub's open-PR limit for my account. It's ready for review and will be marked ready automatically when a slot frees. I can't add |
|
@cubic-dev-ai review this pull request |
@keithwillcode I have started the AI code review. It will take a few minutes to complete. |
There was a problem hiding this comment.
All reported issues were addressed across 19 files
Reply to a comment to ask cubic a question or push back. It learns from your replies.
View guided diff | Re-trigger cubic
…the chat A structured Claude session whose helpers kept working in the background after it asked a question showed a bare "Claude asks you" card with no options, and a reply box that took nothing. Its log keeps the helpers' lines beside the conversation, so a chat read afresh (a box restart, a chat nobody had open) read a 4 MB window with none of the conversation in it, and the question with it. - transcript: a window read afresh reaches further back (up to 64 MB, as a page of older items does) when it holds next to none of the conversation; one constructor for a reading of a file. - transcript: another agent's message no longer settles a question the agent asked the person. - app: a structured agent's card with nothing to pick says "Reply below to answer it", and the reply box takes the answer; an agent in its terminal keeps the old hold. A form just answered leaves no stand-in card while the box catches up. - verify-berthd: chat-structured-ask-live drives it on a real structured agent; dev-box.sh gains VERIFY_DRIVER=claude and restart. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…sion's card The pane can change session; the form it remembers showing is now that session's, by its key, as well as by its wait and its call. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… prompt closes it unanswered Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…e structured-ask scenario reads a growing log - serve stops when berthd exits or isn't serving after a minute, saying where its log is. - restart checks the build is there before it stops the running one, and waits for the old process to exit, not just for its port. - chat-structured-ask-live skips the log's half-written last line and counts helpers back from the prompt, so one back before the question counts. - The notes give dev-box.sh's full path and label the array block bash. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
bb685b9 to
1387798
Compare
Summary
A structured Claude session (
driver: "claude", the chat's header says "stdio") that asked an AskUserQuestion while helpers it had left in the background kept working showed a bare "Claude asks you" card with no options. The reply box said "Pick an answer above first", Send was disabled, and the terminal can't be opened while the agent waits. There was nothing the person could do.Root cause: its agent-host log keeps the helpers' lines beside the conversation. A chat read afresh (a box restart, a chat nobody had open for a while) reads the log's last 4 MB, and there the helpers had written megabytes after the question. The window held no conversation and no question, so the pane fell back to the permission-style card, which locked the reply box.
The pane also skips the stand-in card for a form it just showed and the record has answered, while the box catches up (keyed to that form's call in that wait).
convgets one constructor (newConv/restart) in place of five hand-written copies, two of which had already drifted.verify-berthd: a new
chat-structured-ask-livescenario (a real structured Claude, four background helpers, a box restart).dev-box.shgainsVERIFY_DRIVER=claudeandrestart [berthd], andfeatures/chat-ask-card.mdgainsstructured-formandstructured-reply.Evidence
A real structured Claude Code on a dev box of this checkout (
chat-structured-ask-live). Four background helpers read 100 files while the question waited, and they reported back with the question 6.2 MB before the log's end. Then the box restarted, so the chat read the log afresh.control_response) and it goes on.Tests:
A fresh read of a real 21 MB log of this shape takes 140 ms, against 0 items before. Checks:
go vet,go test -race ./internal/transcript, the app's checks,pnpm test(581),pnpm build,tsc -p e2e, the docs build, ande2e/ask-card+e2e/chat(24).go test -race ./...,TestTheCatalogIsCappedfails on this machine on main too: it counts this machine's real command list.TestGitHubLooks…andTestServicesAreCountedfailed only under the full run's load; both pass alone.cargo checkcan't buildglib-syshere (no GTK dev libraries). No Rust changed.Merge Danger
Door: two-way
App and transcript-reading only. No stored data or API changes. A revert restores the old behaviour.
Blast Radius: chat
claudeDriver.Sendalready did when sent withforce.This touches the same pane as #184 (the hourglass for a turn that ended while its work runs on), in nearby lines: #184 changes
state/mode=, this oneopenQ/atMenu/blocked. Whichever merges second rebases with a small conflict at most.🤖 Generated with Claude Code