fix(ui-chat): keep notice-woken Turns in the human exchange

Under "On next message" folding, a Turn woken by a notice (settled
subagent, goal round, schedule, background job) advanced the bottom Turn
and folded the finished Turn without an own-input driver, so the generic
fold room left a following reader looking at blank space.

Chat Nodes now declare a group-tree position (`groupTree`, ordered
`exchange` > `turn` > `process`). Human input claimed in Step 1 marks its
Turn as opening an exchange; notices and later steering carry no
position. `GroupTreeSegments` splits the loaded Turns at opening Turns,
and `bottomSource` covers the whole latest exchange, so notice-woken
Turns no longer fold earlier ones while the next human message folds the
exchange through the own-input path. Only `exchange` is read today; the
`turn` and `process` positions are reserved for the existing kind lists.
This commit is contained in:
imccyu committed 2026-10-12 10:35:05 +08:00
1 parent 77dca95039
commit c62f26aaa1
27 files changed
+787 -49

No files matched your search

+1
View File
@@ -9,6 +9,7 @@
},
"include": [
"apps/web/tests/collapse-timing.e2e.ts",
"apps/web/tests/notice-wake-tail.e2e.ts",
"apps/web/tests/chat-flow-layout.e2e.ts",
"apps/web/product-isolation.ts",
"apps/web/katex-fonts.ts",