fix(ui): thinking window no longer scrolls — live 320px view pinned to the stream tail

This commit is contained in:
2026-08-24 18:24:57 -04:00
parent 76c6a01199
commit 04a7f4c05d
11 changed files with 618 additions and 279 deletions
+7 -4
View File
@@ -234,8 +234,9 @@ def test_restore_renders_collapsed_thinking_block() -> None:
def test_thinking_block_css_uses_phase08_tokens() -> None:
"""Phase 17 styling (Phase-08 tokens, WCAG AA): the block frame, the
≥44px summary control (brand-ink ≈8.7:1 on surface) and the scrollable
scratchpad (ink-soft ≈6.9:1 on surface, 320px cap)."""
≥44px summary control (brand-ink ≈8.7:1 on surface) and the live-tail
scratchpad (ink-soft ≈6.9:1 on surface, 320px cap; phase 21 removed the
user scroll — owner choice 2026-08-24)."""
css = _css()
block = re.search(r"details\.thinking \{([\s\S]*?)\n\}", css)
assert block, "styles.css must style details.thinking"
@@ -251,8 +252,10 @@ def test_thinking_block_css_uses_phase08_tokens() -> None:
assert "var(--brand-ink)" in sbody
assert "cursor: pointer" in sbody
text = re.search(r"details\.thinking \.thinking-text \{([\s\S]*?)\n\}", css)
assert text, "the .thinking-text scroll area must be styled"
assert text, "the .thinking-text live-tail area must be styled"
tbody = text.group(1)
assert "var(--ink-soft)" in tbody
assert "max-height: 320px" in tbody
assert "overflow-y: auto" in tbody
# Phase 21: no user scroll back — the window is a live tail only.
assert "overflow-y: hidden" in tbody
assert "overflow-y: auto" not in tbody