fix: a run being stopped says so until it has ended - #1253
santoshkumarradha wants to merge 12 commits into
Conversation
The line exists so the engine sees a person's gestures in the order they were made. The run's summary, a sentence a model writes under a budget of ten seconds that nobody pressed for, was asked through it, and stood in front of whatever a person did next. Measured on a real screen: a press on a run's row waited 7.6 s for a read that took 2 ms, and a stop or a pause pressed in that window would have waited the same. The summary is now asked beside the line, its fold unchanged. A pause pressed while the summary is held on a channel is answered before it returns, gestures made meanwhile still reach the plan in the order they were made, and a structural law names with its reason every door that may be asked beside the line, so a gesture cannot be moved there. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
The follow was offered its read on every tick of the paint clock and held back only while one was out, so a fast engine was asked again the moment it answered: 509 reads over the wire in ninety seconds on a real screen, about six a second, for one open page. It now reads once every three seconds, the rail's own beat, counted from the last time the page was read for any reason, and only while the task is queued or running. A page on a task that has ended is read once, to open it. Counted through the real server and client: twenty ticks a beat over five beats cost 120 reads before and cost five now; twenty beats on an ended task cost none. The follow stays in the ordered line because its fold replaces the page and a note re-reads it too. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Every verb refused the run's own task, so a run a person stopped had no ending the store could hold: it stayed open and the next hand-off in the same conversation adopted it, stopped work included. StopRoot cancels the run's task and every task still open in one transaction, leaves every ended task as it ended, and is a no-op on a run that is already over. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
A run's rows wear task numbers and are not in the task graph, so the stop every surface sends for one (task:N) was refused with 'there is no task N in this session' and the run carried on to its own landing: four of four on the real binary. The run was started on a context nothing could cut and no cancel was kept. The page's stop on the run's own task was refused with the store's sentence about who owns what. The id a surface already sends is now resolved to whoever owns the row: the live run first, the graph second. A stop ends the run in the store first (so no part of it reads as a failure and the next hand-off cannot adopt it), cuts the context every worker and call runs under, and keeps what was made on the run's own branch without putting anything in the person's folder. The person is told once where the work is and how it comes in or goes away. A stop on a joined row ends that work only. The page's stop on the run's task is the same stop. A ledger law lists every function that publishes a row in a state a stop means something in, with the cancel kind that reaches its owner and the test that proves it by stopping one. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…offers no verb the store refuses On the run's own page the foot offered 'x stop it' and 'p pause', and the store refuses both there for every caller, so both answered 'the harness owns the root task'. x on the run's own task now raises the stop card (the page steps aside for it, as a job's page does) and the card's 'stop it' ends the run through the plan's own door; p is not offered there and is a letter, because nothing holds a whole run. A stop on a run nobody is running any more ends it in the store. A hold asked of a run answers in a person's words. A law holds the foot to the store by property: for every kind of row a run's store can hold, every word the foot offers is pressed against a real store over the real wire, and none may be refused. The page-open hold let nothing past: ctrl+c is now read before the hold and before the page, every ending of the read ends the hold (an answer for a front the person left used to leave it standing), and a key that leaves the page ends the replay. x typed while the run's own page opens reaches the card. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…n it Measured on the real binary: a run stopped in its first seconds drew 'branch kept' beside 'it had changed nothing'. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
A surface asks for the run's summary again whenever its rows move, and a stop moves them, so every stop taken from the run's page was followed about twenty seconds later by one more model call about work the person had just ended the spend on: three of three in the usage ledger on the real binary. The run's own task is cancelled by nothing but a person's stop, so that state is the test, and the last reading the run had stands. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
The engine answers a stop once every worker is home, and a worker inside a step can take seconds to die: on the real binary a run's row read 'running' for seven seconds after the person had taken 'stop it'. The row is published as still running and stopped by a person the moment the stop is taken, which is the reading every stopped task's row already has, and a second press in that window answers that it is already stopping. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
Closing without landing: on the real binary in hosted mode this change alters nothing a person sees. The two-arm drive, on the Linux test box, both binaries built with
A diff of one in-window frame between the arms, with spinners, clocks, prices and hashes normalised, differs only in the tab strip. The frames are kept on the test box under Why. The branch publishes the run's row as running and stopped by a person the moment the stop is taken. The mark reaches the row, and no drawn word reads it. The surface spells The lesson. The test here asserted a notice, not a screen, so it was green over a change nobody can see. What the drive did find, and what follows as its own change: in that window and after it, the run's own page reads the store, where a stopped root is cancelled, and spells that |
Draft until #1250 lands; this branch sits on it. Body follows.
🤖 Generated with Claude Code