Skip to content

Session 2026-08-25T20-25-33-180Z - #1706

Closed
suleimansh wants to merge 5 commits into
mainfrom
claude/driver-tab-dogfood-1703-b1l5zx
Closed

Session 2026-08-25T20-25-33-180Z#1706
suleimansh wants to merge 5 commits into
mainfrom
claude/driver-tab-dogfood-1703-b1l5zx

Conversation

@suleimansh

Copy link
Copy Markdown
Contributor

Dogfood of the Driver tab fix (PR 1703, create path). Step 1: before touching any file, stop and ask me through the choice gate which marker file to create: dogfood-1703-create-a.md or dogfood-1703-create-b.md. Step 2: after my answer, create only that file at the repo root containing the single line driver tab dogfood, commit it, push, and finish. Do nothing else.

Opened from The Framework session 2026-08-25T20-25-33-180Z.

suleimansh and others added 5 commits August 25, 2026 20:35
…session list (#1332)

The extension used to open one pinned tab per cloud session, capped at the three newest. It now
keeps one pinned "The Framework Driver" tab that reads claude.ai's session list (each row links to
its session and carries a text status label), reports those statuses to the daemon, visits only
the sessions awaiting input, unread, or holding a queued answer — navigating inside the app, with
one page load a minute to refresh the list — types the answers, and creates the sessions the
daemon asks for. A full-page overlay names the tab and holds the cycle log behind "Show debug
logs"; closing the tab pauses the bridge until the options page reopens it.

Daemon: the session list loses its cap and gains answerQueued; POST /_bridge/statuses stores what
the list said per session; a session the list shows awaiting input is waiting on a human, so its
row says so even when the question was asked in prose. Lockstep bump to 0.12.0.

Measured on the live page: the list does not refresh on in-app navigation, and a visit clears
neither "Awaiting input" nor "Unread response", so visits are planned on change, age or a queued
answer (driver-plan.js, shared by the worker and the harness).
…ch (#1332)

Review fixes on the Driver-tab PR. The tab id and the pause live in session storage, so no
onStartup race and no stale id hijacking a tab; a Driver tab moved off claude.ai is forgotten
rather than dragged back. A reload that fails, or a page torn down mid-drive, fails the cycle
instead of throwing past the accounting or re-sending a drive that is not idempotent. At most
four visits per cycle, answers first, and a visit cut or failed keeps its change pending. The
page refuses a second drive while one runs. The requested session is created before the visits.
The list is waited for before it is read and a page with no rows is named; a status word beats a
pull-request label; a link elsewhere on the page does not shadow a list row; a visit waits for
the new session's rows and a send counts by a new row, not a higher count. An answer the visit
never reached stays queued instead of failing. An off or paused Driver still pays its acks and
fails a session request at once. Closing the window is not closing the tab. A list status older
than the session window no longer marks a run waiting, and sessions holding a queued answer are
served whatever the window says. SPEC files reworded to what the code does.
…'s memory (#1332)

Found dogfooding the Driver tab. A cloud session's question had been answered two hours earlier;
restarting the daemon emptied the store that remembered the delivery, the Driver's next visit
re-reported the block still on the page, the dashboard asked again, and the second answer was
typed into a session that had already finished — the cloud agent received two different answers
to one question and rewrote its branch. The Driver made this systematic: it revisits unread and
parked sessions every five minutes, so every daemon restart re-asked every recently answered
question.

The page half now places the last block in its transcript row — through any shadow root it
renders behind — and drops it when a human turn sits at a later position: the user answered, the
session moved on. A block in no row is measured from the latest assistant turn; a page marking no
turns cannot be measured and its block stands. The panel says "no (already answered)" rather
than "no". Three harness cases: answered in the light DOM, answered behind a shadow root, and
asked again after an answer — the first two break-checked against the rule removed.
Dogfood of the Driver tab fix (PR 1703, create path).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TU8F5wpEheeZoGGaGENnVU
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