Keep the URL. Change one thing. Come back.

Updated October 15, 2026 · Independent experiment

Start with a reload. Then compare an independent tab, a saved CLI state, or a dedicated profile. The useful result is a repeatable observation with its operation attached.

01 / A reload, by hand

  1. Open the desk and choose “Try all seven actions”. Wait for the success message; do not continue if any write failed.
  2. Copy the trial URL or save an observation. It contains a random fixture label, not a credential.
  3. Reload the same tab. The lamp normally resets while other fixtures can remain. Record the actual result from your browser.
  4. Open the storage map if a value is different or unavailable. Check the trial label and the operation before assuming data was lost.

02 / A separate tab

Paste the same trial URL into a new blank tab created independently. Do not use Duplicate Tab or a window with an opener for this comparison: those may copy sessionStorage initially. Compare the draft with the bag and postcard. Existing tabs do not live-sync their displayed results; use “Observe again” after changing a fixture elsewhere.

03 / Native agent-browser, with a runnable record

Download the native experiment (.mjs). It requires Node.js, an installed agent-browser executable, and a dedicated Chromium executable such as Chrome for Testing. It does not install software, connect to a running browser or load a personal profile. The measured reference uses agent-browser 0.39.1.

node carrylab-reproduce.mjs   --cli /absolute/path/to/agent-browser   --browser /absolute/path/to/chrome-for-testing

The runner creates an empty explicit CLI configuration, its own socket directory, and one disposable profile. It clicks the real page controls, waits for the completed action, then compares plain session reopen, saved-state restore, and profile reopen. It waits for each owned daemon PID to exit before reopening. An unexpected command failure stops the run; a lost-response write is not blindly retried.

The output directory contains observations.json, a synthetic state file and the disposable profile. The result records versions, command output and a per-object matrix. No login, real inbox, model key or paid API is needed. Review the report before sharing it; local executable paths may identify your machine. Delete the reported temporary directory when you no longer need its fixtures.

The state-transfer sequence runs state load once, then opens the saved trial URL. Repeating --state on every observation command in our initial run returned to the origin root, losing the page’s selected trial label even though marker values were restored. Keep the trial URL and operation order in the record.

When a run fails

A browser launch failure, request error or unavailable API is not evidence of empty storage. Preserve the error. If a command reports an uncertain outcome, inspect before repeating it. If a close did not finish, wait for the test process rather than killing your normal browser. Use the method notes to decide which claim your result supports.