Skip to content

The bridge's own drawing no longer triggers its own re-read (#1707) - #1709

Merged
suleimansh merged 1 commit into
mainfrom
claude/observer-self-loop-1707
Aug 25, 2026
Merged

The bridge's own drawing no longer triggers its own re-read (#1707)#1709
suleimansh merged 1 commit into
mainfrom
claude/observer-self-loop-1707

Conversation

@suleimansh

Copy link
Copy Markdown
Contributor

#1707 item 2. The corner panel is redrawn on every survey and the Driver overlay on every log line, both under the observed root — so each survey's redraw was the next survey's trigger: a full survey about four times a second, forever, on a page where nothing had changed.

The observers watch runs are now paused around the script's own writes (ownWrites, re-entrant; a dead context's observer is dropped from the set). This keeps the rule that any page change triggers a re-read; only the bridge's own drawing stops counting as one.

check.mjs: "one page change costs one survey" — 5 surveys on the code before this, 1 with it; fails again with the pause disabled. content.SPEC.md (watching) and check.SPEC.md updated.

Live, in a claude.ai/code tab: before the reload the collapsed panel was rewritten with nothing changing (6 mutation records in 3 s); after it, 0 records in 5 s, and one page change → exactly one redraw (2 records), then 0. The Driver tab picked the new script up on its next page load.

🤖 automated · Fable 5, effort xhigh

The corner panel is redrawn on every survey and the Driver overlay on every log line, both under
the observed root, so each survey's redraw was the next survey's trigger: a full survey about four
times a second, forever, on a page where nothing had changed. The observers are now paused around
the script's own writes, which keeps the rule that any page change triggers a re-read.

check.mjs proves it: one page change costs exactly one survey (5 on the code before this).
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