Commit 703d823
authored
Keep the landing hero when a startup diagnostic arrives (#415)
* Count each missing plugin skill once in the load summary
A skill referenced by three plugins and absent from the search path is one
missing skill, not three: the operator installs it once and all three
resolve. Counting raw warnings made the summary both wrong and
self-contradicting, reading "7 skills missing" above a list of nine names.
* Keep the landing hero when a startup diagnostic arrives
Anything the runner says before the first turn lands while the landing still
owns the screen, and a transcript row there reaches clearLandingMark and takes
the whole composition with it — the mark, the guidance beside it, and the
centred prompt box.
The previous fix routed the MCP and hook producers away from the transcript one
at a time and the plugin producer kept the defect. Routing the runner's own
notice helper through the shell's notice path instead fixes every producer at
once, including the ones nobody has written yet, and gives the constraint a
single owner rather than a rule each call site has to remember.
The gutter label goes with it. A system row's text already says what it is, so
stamping it "command" only leaked wiring into a column the operator reads.
* Let snow fall over the landing mark
The sky above the ridgeline was dead space. A sparse field of pixel snow drifts
through it on the clock the mark already runs on, so the hero has motion even
while the silhouette is held.
Density and fall rate stay low deliberately: the mark has to keep reading as a
mark, and a storm would turn the one legible thing on the screen into texture.
Flakes never land on mountain coverage, and they stop entirely when the mark is
held still or is fading out, so the decoration never outlives the thing it
drifts over.
Absorbed from the standalone snow branch rather than reimplemented; the taste
question it was open on is settled by making snow part of the default landing.
* Stop labelling transcript rows with the wiring that produced them
The meta column is the operator's: it says what a row is about, and it is read
at a glance beside every row in the transcript. A row labelled "palette" says
only which part of the code emitted it, which is a fact about us and not about
their session — and the three rows carrying it already open with "palette:" in
their own text, so the column was repeating a word it sat next to.
* Set the landing's two doors as a pair
The key and its description were joined by a single space, so the two lines
started their descriptions on different columns and read as two unrelated
notes rather than as the set they are. A fixed key column lines them up.
The version moves a row away from them for the same reason: sitting flush
under the two keys it read as a third door, when it is only a statement of
what is running.
* Name the notice path for what it carries
The wrapper module added nothing the shell function did not already do. It
introduced no type and narrowed no export, so a producer reaching for
appendStreamRow directly was exactly as easy with it as without, and the
history it documented reads better on the function itself.
The name was also wrong. The path carries unknown commands, unavailable
modals and provider failures, none of which happen at startup, and a name
that lies to the next reader is how this constraint got lost twice.1 parent 3b6cf52 commit 703d823
10 files changed
Lines changed: 342 additions & 61 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
50 | 50 | | |
51 | 51 | | |
52 | 52 | | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
53 | 80 | | |
54 | 81 | | |
55 | 82 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
43 | 43 | | |
44 | 44 | | |
45 | 45 | | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
46 | 51 | | |
47 | 52 | | |
48 | 53 | | |
49 | 54 | | |
50 | 55 | | |
51 | 56 | | |
52 | | - | |
| 57 | + | |
| 58 | + | |
53 | 59 | | |
54 | 60 | | |
55 | | - | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
56 | 64 | | |
57 | 65 | | |
58 | | - | |
59 | | - | |
60 | | - | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
61 | 71 | | |
62 | 72 | | |
63 | | - | |
64 | | - | |
65 | | - | |
66 | | - | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
67 | 76 | | |
68 | 77 | | |
69 | | - | |
70 | | - | |
| 78 | + | |
| 79 | + | |
71 | 80 | | |
72 | 81 | | |
73 | 82 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
20 | | - | |
| 20 | + | |
21 | 21 | | |
22 | 22 | | |
23 | 23 | | |
| |||
149 | 149 | | |
150 | 150 | | |
151 | 151 | | |
152 | | - | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
153 | 156 | | |
154 | 157 | | |
155 | 158 | | |
156 | 159 | | |
157 | 160 | | |
| 161 | + | |
158 | 162 | | |
| 163 | + | |
159 | 164 | | |
160 | 165 | | |
161 | 166 | | |
| |||
513 | 518 | | |
514 | 519 | | |
515 | 520 | | |
516 | | - | |
| 521 | + | |
517 | 522 | | |
518 | 523 | | |
519 | 524 | | |
| |||
541 | 546 | | |
542 | 547 | | |
543 | 548 | | |
| 549 | + | |
| 550 | + | |
| 551 | + | |
| 552 | + | |
| 553 | + | |
| 554 | + | |
| 555 | + | |
| 556 | + | |
| 557 | + | |
| 558 | + | |
| 559 | + | |
| 560 | + | |
| 561 | + | |
| 562 | + | |
| 563 | + | |
| 564 | + | |
| 565 | + | |
| 566 | + | |
| 567 | + | |
| 568 | + | |
| 569 | + | |
| 570 | + | |
| 571 | + | |
| 572 | + | |
| 573 | + | |
| 574 | + | |
| 575 | + | |
| 576 | + | |
| 577 | + | |
| 578 | + | |
| 579 | + | |
| 580 | + | |
| 581 | + | |
| 582 | + | |
| 583 | + | |
| 584 | + | |
| 585 | + | |
| 586 | + | |
| 587 | + | |
| 588 | + | |
| 589 | + | |
| 590 | + | |
| 591 | + | |
| 592 | + | |
| 593 | + | |
| 594 | + | |
| 595 | + | |
| 596 | + | |
| 597 | + | |
| 598 | + | |
| 599 | + | |
| 600 | + | |
| 601 | + | |
| 602 | + | |
| 603 | + | |
| 604 | + | |
| 605 | + | |
| 606 | + | |
| 607 | + | |
544 | 608 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
65 | 65 | | |
66 | 66 | | |
67 | 67 | | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
68 | 80 | | |
69 | 81 | | |
70 | | - | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
71 | 87 | | |
72 | 88 | | |
73 | 89 | | |
| |||
336 | 352 | | |
337 | 353 | | |
338 | 354 | | |
| 355 | + | |
| 356 | + | |
| 357 | + | |
339 | 358 | | |
340 | 359 | | |
341 | 360 | | |
342 | 361 | | |
343 | 362 | | |
344 | 363 | | |
345 | | - | |
| 364 | + | |
346 | 365 | | |
347 | 366 | | |
348 | 367 | | |
349 | 368 | | |
| 369 | + | |
| 370 | + | |
| 371 | + | |
| 372 | + | |
| 373 | + | |
| 374 | + | |
| 375 | + | |
| 376 | + | |
| 377 | + | |
| 378 | + | |
350 | 379 | | |
351 | 380 | | |
352 | 381 | | |
| |||
364 | 393 | | |
365 | 394 | | |
366 | 395 | | |
367 | | - | |
| 396 | + | |
| 397 | + | |
| 398 | + | |
368 | 399 | | |
369 | 400 | | |
370 | 401 | | |
| |||
0 commit comments