AlgoArena Team 4 min readApprove Once, Publish From the Card
In Assessment Copilot, an approved assessment now goes live from a Publish button on its card, and a card you have approved or dismissed stays that way.
Assessment Copilot follows the same rule as the Educator Assistant. It drafts questions and puts the assessment on a card that changes nothing until you press Approve. The steps around that button had two gaps. Some cards asked you to decide something you had already decided, and an approved card left you with nothing to press next.
Publish from the card
After you approved an assessment, the copilot would say you could publish it when you were ready. The card had no button for that, so you had to leave the chat and go find the assessment.
An approved card that creates an assessment, or changes its questions or settings, now carries a Publish button. Once the assessment is live for candidates, the card shows Published. If publishing fails, the card says so and offers a retry.
A decision stays made
Approve and Dismiss used to reappear on a card you had just decided, right when the copilot's reply to your decision came in. The reply now lands under the card as you left it.
The copilot sometimes proposed an assessment you had already approved. That repeat card could be approved as well, which made a second copy. It now arrives marked Already applied, with no buttons.
Dismissing a card used to bring the same questions straight back on a new card under a new name. After you approved an assessment, the chat could also offer a second, smaller one built from questions the first had already used. The chat no longer builds a card from questions that belong to a card you approved or dismissed.
One conversation, one assessment
After you approve an assessment, the rest of the conversation works on that one. Ask to reword its questions and the copilot proposes an edit to it, with the questions you did not mention left as they were. If the copilot tries to create a second assessment you did not ask for, it is stopped and pointed back at the first. To build another assessment, start a new conversation.
Some of the duplicates came from a miscount. After an approval, the copilot was told only about the questions it had written. For a card with two written questions and two from the library, it heard about two, decided it had lost the others, wrote them again, and created another assessment to hold them. It now hears about every question on the card, library picks included. Reuse Beats Regenerate covers how those picks are found.
Changing a card that is still waiting keeps every question already on it, so an edit to one question no longer drops the others. The copilot could also write "Approved" above a card that still said Awaiting your approval, because it was reminded of your earlier approval while the new card waited. It is now told that a waiting change has not been applied.
The card arrives
A first build of several app questions, each with a reference image (a drawing of the screen the candidate is asked to build), could run out of time before the card was sent. You would read "approve the card" with nothing to approve. The copilot now keeps track of the time left for each reply. When an image runs late, that question goes without it for now, so the reply and the card still arrive. If the connection drops anyway, the drafted questions stay on screen with a note telling you to ask the copilot to build the card from them.
When an image fails, the copilot now gets a plain sentence to pass on: the question is ready, its image could not be added, and whether trying again may help. It used to be told that image generation might be temporarily unavailable, whatever the cause. That read as an outage when only one drawing had gone wrong.
Smaller fixes
A failed Approve now shows its reason on the card. When a library search for an app or game question finds nothing, the copilot no longer searches again under new wording and goes on to write the question. You can open a search step to see its results while the reply is still coming in. A chat that stalls while opening no longer spins until you reload the page.