Assistant: codex Assistant-Model: gpt-6-astra Assistant-Session: 01a0cffe-206f-7323-89d3-b20ca4cf4bf9 |
||
|---|---|---|
| .. | ||
| experiment.mjs | ||
| initial-partial.json | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| result.json | ||
Navigation, history and representation-cache experiment
First prospective cycle: preregistration
at commit f3697c1, before implementation/execution. Review.
Pinned htmx 2.0.11 and Playwright 1.63.0, authored public read-only HTTP fixture.
Result includes input hashes, exact browser versions/binary hashes,
request traces and final DOM/event observations. No real application/CDN or model call.
npm ci --ignore-scripts --cache /tmp/fep-npm-cache
PLAYWRIGHT_BROWSERS_PATH=/tmp/fep-playwright-browsers node node_modules/playwright/cli.js install firefox
PLAYWRIGHT_BROWSERS_PATH=/tmp/fep-playwright-browsers FEP_CHROMIUM_PATH=/path/to/chrome npm test
Firefox profile access required execution outside the workspace sandbox. Chromium
was an explicit preinstalled binary override, not claimed to be Playwright's bundled
revision. Default output /tmp/fep-navigation-result.json; FEP_RESULT_PATH overrides
it. The runner writes checkpoints to that output and a complete receipt on completion.
Choose a new output per run; committed receipts are never default outputs.
Initial partial receipt retains ten passing Chromium rows; launch then failed because Firefox was not in Playwright's default cache. Setting the existing browser-cache path fixed execution, without changing runner or criteria. The full run repeated Chromium and completed Firefox: 20/20 registered checks, not 30 independent observations. N10 repeats explicit Node HTTP checks in each browser group; those two rows are not evidence of browser-specific automatic revalidation. N09 records the negative control, including non-reproduction if that ever occurs.
N01–N06 cover direct/native/enhanced/history/recovery paths; N07–N09 use actual browser HTTP cache with no request interception. N08's final full fetch reaches the server again in both browsers: correctness does not imply simultaneous retention of both variants or optimal cache hit rate. Both N09 runs reuse the fragment without another request. The server varies on both request selectors and computes ETags from response bytes. htmx history requests explicitly disable HX-Request; the server separately supports the history-restore header overriding fragment selection.
History eviction uses htmx 2.0.11's sessionStorage key, an experimental control tied to the pinned implementation. No assertion of identical content freshness across history, general offline availability, accessibility, script-late races, writes, real intermediary correctness or independent full-pattern recurrence follows.