- snapshotAssets also keys on /project/…/edit/<uuid> tile anchors: stable https,
survive reloads (video blob srcs don't) — the reliable new-asset signal
- harvestFresh splits diff into direct media (downloaded) vs tile links (reported
as assets when no media url — credits not lost, recoverable from the library)
- gridCensus appended to every miss so failures describe the actual harvest surface
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- countDoneMsgs baseline before submit: lingering 'has been scheduled' chatter from
the PREVIOUS gen no longer triggers an instant post-gen reload (the self-reload bug)
- promptEchoed: chat echoing the prompt = strongest it-stuck signal, added to the
post-Enter check; and on retry it means the earlier submit registered -> skip
re-typing entirely (no double generation / double credits)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- video path: wait for done signal (grid asset OR agent completion message incl.
'scheduled/waiting in the queue' which usually means DONE), settle 2s, persist
harvest state, hard refresh — never re-submit (double-bills credits)
- runPostReloadHarvest: on load with pendingHarvest, diff fresh grid vs persisted
pre-submit snapshot (https urls only — blobs don't survive reloads), download,
report; up to 2 extra refreshes if the asset hasn't surfaced; 30-min staleness cap
- fixes the 'Timed out — no new asset' failure class in results.jsonl
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- waitForAgentReady: after (re)load, wait for the sidebar to hydrate before typing
- post-submit success check = square stop button (or emptied box); no square after
Enter + submit fallback -> hard refresh (bypassCache via background) and requeue
- 'Something went wrong' surviving Try-again -> hard refresh + requeue (was: fail)
- requeue attempts capped at 3 per task (chrome.storage, survives reloads)
- server: 'requeue' status keeps task pending; INFLIGHT entries expire after 15 min
so a reloaded tab gets its task re-served
- banks/djsim_batch3.jsonl: 18-task 90sDJsim asset bank (queued live)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Flow throws "Something went wrong. Please try again" constantly under load; the
driver treated it as terminal (task FAILED, moves on). Now it clicks the Try
again button — same prompt re-runs — up to 3x with a 15s cooldown so a lingering
banner doesn't burn all retries. Gives up only after 3 shots or an error banner
with no retry button.
queue.jsonl: retarget the 2 unsupported aspect ratios (16:5, 21:9) to 16:9 —
Nano Banana 2 only supports 16:9/1:1/3:4/4:3/9:16, otherwise the agent asks a
clarifying question and produces no asset (driver times out).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
DOM automation for Google Labs Flow — background worker injects trusted input
via the DevTools Protocol (Flow's editor ignores synthetic events), polls a local
queue, harvests generated asset URLs. Includes the generated game+promo prompt bank.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>