Skip to content

WM: keep a familiar's name readable on a peeking window - #6

Merged
BunsDev merged 1 commit into
mainfrom
agent-label-peek
Sep 26, 2026
Merged

BunsDev merged 1 commit into
mainfrom
agent-label-peek

Conversation

@BunsDev

@BunsDev BunsDev commented Sep 26, 2026

Copy link
Copy Markdown
Member

Problem

An agent window opened behind the focused window peeked out by only 40px, so the title-bar owner label was clipped ("rking" instead of "Sage · working").

Change

  • Kernel (wm.ts): new metric agentPeek: 120. #peek leaves 120px showing on the right (preferred) or left, or the title bar plus 40px above. WindowRecord.peek records the edge (right|left|top) and is cleared on move, resize and zoom.
  • Shell: the owner label is split into .who (name) and .what (status). It never shrinks, trims the status with an ellipsis before the name, keeps its spacing, and on a left peek sits first in the title bar. The full text goes in title.
  • Spec §4.2 updated (handoff spec, outside the repo).

Tests

  • Kernel: WM-09c (120px, peek=right), WM-09d (left and top), WM-09e (peek cleared on move, resize and zoom). 45/45 pass.
  • e2e WM-09f: the label's name and status are the top-most element at their own pixels for right and left peeks, including waiting-approval. The full e2e suite ran twice: 80 passed.
  • Typecheck is clean. Screenshot capture 07-familiar-peek-left added.

Clean-room attestation

Written without reference to ryOS or Puter source, DOM, CSS or assets.

🤖 Generated with Claude Code

An agent window opened behind the focused one showed a 40px strip, which
clipped the owner label to "rking". The kernel now leaves agentPeek (120px)
showing on the right or left (title bar + 40px above as before), and records
the peek edge on the window until it is moved, resized or zoomed. The shell
splits the label into name and status, never shrinks it, trims the status
before the name, and leads with the label on a left peek.

Tests: WM-09c/d/e (kernel), WM-09f (e2e: label is top-most at its pixels on
right and left peeks, including a long status). Capture 07 added.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Copilot AI lite review requested due to automatic review settings September 26, 2026 07:22
@vercel

vercel Bot commented Sep 26, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
cauldron-shell Ready Ready Preview Sep 26, 2026 7:23am UTC

Request Review

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟡 Changes recommended

Four unresolved moderate findings affect peek positioning, state, and label readability.

Review effort: Lite
Findings: 1 Medium severity

Open (1)
What changed in this PR

Improves familiar-window peeking so owner names remain readable behind focused windows.

Changes:

  • Adds 120px right/left/top peek placement and edge tracking.
  • Splits owner labels into name/status elements with ellipsis handling.
  • Adds kernel and e2e coverage plus a screenshot capture.

Unresolved moderate findings include stale peek state after focused-window geometry changes (1 vote), incomplete handling of partial overlaps (1 vote), an inaccessible top-edge fallback (1 vote), and focused labels retaining the width cap (3 votes).

File Reviewed changes
packages/​kernel/​test/​wm.test.ts Tests peek placement and lifecycle behavior.
packages/​kernel/​src/​wm.ts Adds peek metrics, edge metadata, and clearing behavior.
apps/​shell/​src/​slate.css Styles split owner labels and peek layout.
apps/​shell/​src/​shell.ts Renders owner name, status, title, and peek state.
apps/​shell/​e2e/​screenshots.spec.ts Adds the left-peek screenshot capture.
apps/​shell/​e2e/​desktop.spec.ts Tests readable labels during right and left peeks.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread apps/shell/src/slate.css
/* A familiar's window peeking out from behind the focused one shows only the kernel's
agentPeek (120px) strip: keep the name whole in that strip, trim the status first,
and on a left peek lead with the label so it sits on the visible edge. */
.win[data-peek] .owner { max-width: calc(120px - 8px); }
@BunsDev
BunsDev merged commit 90869da into main Sep 26, 2026
3 checks passed
@BunsDev
BunsDev deleted the agent-label-peek branch September 26, 2026 07:30

This branch was successfully deployed

1 active deployment
Preview — ff3c59b1 Deployed Sep 26, 2026 by vercel[bot]
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.

2 participants