Skip to content

Improve terminal rendering and agent discovery - #15

Merged
askac merged 4 commits into
mainfrom
fix/terminal-edge-and-discovery
Aug 27, 2026
Merged

Improve terminal rendering and agent discovery#15
askac merged 4 commits into
mainfrom
fix/terminal-edge-and-discovery

Conversation

@askac

@askac askac commented Aug 27, 2026

Copy link
Copy Markdown
Owner

Why

Narrow WebGL cells and pane-edge placement can leave block glyph seams or make a column-zero bar cursor appear clipped. Terminal application titles are not visible outside xterm, while external-agent discovery can select a stale instance when it relies on cwd, a bare port, or the last-writer current pointer.

What changed

  • Preserve block glyph coverage at narrow cell widths, add compact terminal-edge padding and a transparent-track scrollbar, and keep existing Unicode and emoji cell behavior.
  • Show sanitized OSC 0/2 titles in an optional fixed status column while preserving StandTerm tab labels and hiding empty titles.
  • Require read-only terminal context inspection, add privileged-input HITL guidance, and resolve local External Agent endpoints with an exact scheme and port while retaining explicit handoffs, startup metadata, and same-user pointer fallbacks.
  • Prevent browser smoke servers from replacing the global current-agentinfo pointer; production discovery behavior remains unchanged.

Testing

  • Covered the complete headless smoke suite, including backend, CLI/REPL, boundary, rsfile, and static documentation scenarios.
  • Covered WebGL block rendering, Unicode and emoji cells, cursor settings and column-zero visibility, terminal padding, and OSC title visibility, truncation, and preference persistence in Chromium.
  • Verified tokenless agentinfo access through WSL and Windows localhost paths and exercised the updated MIBCRK build manually.
  • The full browser runner still stops at the existing session-recovery new-tab case; the same timeout reproduces unchanged on the v2.7.1 baseline.

askac added 4 commits August 27, 2026 13:54
## Why
WebGL block glyphs use fractional octant boundaries that can expose blended seams when a terminal cell is seven device pixels wide. Snapping every narrow boundary would instead collapse thin strokes or intentional gaps.

## What changed
- Snap shared block boundaries only when all used octants stay distinct.
- Preserve fractional rendering as the fallback for unsafe narrow glyph axes.
- Document the downstream patch and its upstream xterm.js proposal.
- Cover seamless quadrants and visible one-eighth strokes at seven pixels.

## Testing
Browser coverage includes the full StandTerm interaction suite, seamless seven-pixel quadrant composition, and non-collapsing narrow strokes. Static-site coverage includes the updated documentation links and prose.
## Why
A StandTerm tab may contain a shell, TUI, login prompt, passive log stream, or another application state. Probe input can alter that state, while credential prompts require an explicit browser handoff.

## What changed
- Require read-only text or screenshot orientation and ask the user when context remains uncertain.
- Preserve browser-owned tab settings and SSH key use while keeping credential material outside agent channels.
- Add a focused privileged HITL workflow and keep terminal I/O in the external-agent substrate.
- Clarify that output and quiet waits report activity rather than semantic completion.

## Testing
Documentation coverage includes the skill file layout, concise install and boot prompts, valid frontmatter fields, internal links, ASCII-only skill content, and static-site rendering.
## Why

Terminal content sits flush against pane boundaries, which can make a bar cursor at column zero appear clipped. OSC titles stay inside xterm, and browser smoke instances can overwrite the live discovery pointer.

## What changed

- Add compact terminal padding and a transparent-track scrollbar while preserving the existing tab layout.
- Show sanitized OSC 0/2 titles in an optional fixed status column, keep tab labels unchanged, and hide empty titles.
- Add cursor-edge and title coverage while preventing browser smoke servers from writing the global current-agentinfo pointer.

## Testing

Covered WebGL bar cursors at columns zero and one, Unicode and block glyph rendering, terminal padding, OSC title visibility and truncation, preference persistence, and smoke discovery isolation.
## Why

External-agent discovery can start outside the StandTerm checkout, while the global current pointer is last-writer-wins. Treating a bare port or stale pointer as authoritative can select the wrong instance or downgrade HTTPS.

## What changed

- Require an exact loopback HTTP(S) scheme and port, and ask for a token-free browser origin when bootstrap metadata is unavailable.
- Define same-user and same-runtime zero-configuration scope, with a single localhost attempt across Windows and WSL.
- Preserve explicit handoffs, startup-banner metadata, loopback authorization, and user-supplied advanced transports as fallbacks.

## Testing

Covered Windows and WSL localhost agentinfo access, canonical skill prompt consistency, static documentation validation, and whitespace checks.
@askac
askac merged commit 3e47bc1 into main Aug 27, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant