Skip to content

Harden update-system-interface: ground UI fixes in the real motivating scenario#193

Open
gnguralnick wants to merge 4 commits into
mainfrom
mngr/harden-update-system-interface
Open

Harden update-system-interface: ground UI fixes in the real motivating scenario#193
gnguralnick wants to merge 4 commits into
mainfrom
mngr/harden-update-system-interface

Conversation

@gnguralnick

Copy link
Copy Markdown
Contributor

Motivation

A UI fix delegated through the update-system-interface flow failed because the worker — running in an isolated worktree with its own empty agent — could not see the conversation that motivated the change. It invented a fixture (prose folded inside the permission card), so its CSS selector never matched the real DOM (where the prose is a separate trailing reply, .pv-final), and its test passed against the wrong structure. The miss was only caught by rendering the real conversation and measuring it.

Changes

Closes the three points where the real scenario should have entered, plus a teardown gap:

  • Delegate (SKILL.md): the lead must capture the real motivating DOM/measurements and pass them in the brief under a new ## Real scenario to reproduce section, used as the worker's reproduction fixture and acceptance target.
  • Preview (SKILL.md): documents that the preview opens on the worker's own empty agent, not the motivating conversation, and requires the lead to open the real agent, re-measure, and confirm the number actually moved before asking the user.
  • Worker sub-skill (assets/worker/SKILL.md): forbids inventing a fixture when a real scenario is given — the fixture must reproduce that exact DOM shape, assert the shape, and the regression test must fail-before/pass-after.
  • Teardown (SKILL.md): unpreview tears down the preview servers/services but leaves the si-preview dockview tab open; added an explicit step to close it (layout panel vs. service lifecycle are separate concerns).

Prose-only; no scripts changed.

🤖 Generated with Claude Code

…g scenario; close preview tab on teardown

A UI fix delegated through this skill validated against a fixture the worker
invented rather than the real conversation that motivated the change, producing
a CSS selector that never matched the real DOM plus a passing-but-meaningless
test. Close the process gaps at the three points where the real scenario should
have entered, and fix a teardown gap:

- Delegate: the lead must capture the real motivating DOM/measurements and pass
  them in the brief under a new `## Real scenario to reproduce` section, as the
  worker's reproduction fixture and acceptance target.
- Preview: the preview opens on the worker's own empty agent, not the motivating
  conversation; the lead must open the real agent, re-measure, and confirm the
  number actually moved before asking the user.
- Worker sub-skill: the fixture must reproduce the lead-provided DOM shape (not a
  guess), assert that shape, and the regression test must fail-before/pass-after.
- Teardown: `unpreview` tears down the preview servers/services but leaves the
  `si-preview` dockview tab open; add an explicit step to close it (layout panel
  vs. service lifecycle are separate concerns).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Gabriel Guralnick added 3 commits June 24, 2026 10:47
…tion instead of transcribing the DOM

The worker is not cut off from the motivating conversation -- the system
interface discovers agents from the shared MNGR_HOST_DIR, so an instance the
worker boots renders the same real conversations the user sees. So the lead
names the motivating agent and the worker looks at it firsthand, rather than
the lead measuring the DOM and the worker reconstructing it from prose.
…stem-interface

# Conflicts:
#	.agents/skills/update-system-interface/SKILL.md
#	.agents/skills/update-system-interface/assets/worker/SKILL.md
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