Preregister competing navigation ownership comparison
Assistant: codex Assistant-Model: gpt-6-astra Assistant-Session: 01a0cffe-206f-7323-89d3-b20ca4cf4bf9
This commit is contained in:
parent
e80e5c31d4
commit
e484cae45f
1 changed files with 64 additions and 0 deletions
64
research/evolution/cycles/2026-09-27-navigation-ownership.md
Normal file
64
research/evolution/cycles/2026-09-27-navigation-ownership.md
Normal file
|
|
@ -0,0 +1,64 @@
|
|||
# LEARN-0013 — Completion ownership under competing navigation
|
||||
|
||||
Status: preregistered before implementation/execution. 2026-09-27 Europe/Berlin.
|
||||
Codex author-model review; stream F, new comparison group F-navigation-ownership-v1.
|
||||
The multi-request question differs from the single-response focus protocol; do not
|
||||
pool rates. CAND-0009 URL-addressable State, CAND-0010 Progressive Enhancement,
|
||||
CAND-0016 Focus Return. No new candidate presumed.
|
||||
|
||||
## Question and prior
|
||||
|
||||
Can the previous managed focus policy let old history/navigation completions replace
|
||||
newer selection, steal focus or report obsolete results? Prior single-request evidence
|
||||
supports continuation but leaves competing completions untested. Proposed guard:
|
||||
assign an owner/generation to navigation, reject stale completions before effects,
|
||||
and track focus ownership independently so an otherwise valid response need not
|
||||
move focus. Test outcome, not a blanket recommendation to cancel HTTP requests.
|
||||
|
||||
Compare the unchanged prior focus-policy.js with an authored guarded policy on one
|
||||
new controlled fixture. Use stable content target and persistent navigation controls
|
||||
so requests from different elements can compete. Hold responses at server barriers,
|
||||
then release in declared order. Browser history uses real Back with htmx snapshot
|
||||
eviction. Keep default transport alive to distinguish ignored completion from abort.
|
||||
If htmx prevents a race itself, record that rather than force a failure. A guarded
|
||||
miss/error or URL/content mismatch is failure, not permission to revise expectations.
|
||||
|
||||
## Registered matrix
|
||||
|
||||
Two policies × two browsers (Chromium/Firefox), six cases = 24 rows. Baseline rows
|
||||
record the same obligation booleans as guarded rows; distinguish successful recording
|
||||
from meeting the obligations. Guarded rows assert all registered obligations. One
|
||||
trial each; preserve failures and any correction. No arbitrary sleeps. Tab/Enter
|
||||
activate links; browser Back uses history API through Playwright.
|
||||
|
||||
| ID | Ordered scenario | Obligation after completion |
|
||||
| --- | --- | --- |
|
||||
| O01 | Back misses history cache; user moves to surviving search; release history | Restore selected article/URL/title but preserve search focus and typed text |
|
||||
| O02 | Back miss held; newer article navigation completes; release old history | Keep newer article/URL/title/status/focus; old history completion has no UI effect |
|
||||
| O03 | Older article request held; newer article completes; release older success | Keep newer article/URL/title/status; no late focus theft |
|
||||
| O04 | Older request held and will fail; newer article completes; release old 503 | Preserve newer result and feedback; no obsolete error replaces completion |
|
||||
| O05 | Older request held; newer request fails; then release older success | Do not resurrect older intent; retain last committed view with newest failure feedback |
|
||||
| O06 | Older article held; Back restores cached view; release old success | History is newer intent too: keep restored view/URL/title/status/focus |
|
||||
|
||||
O05 starts from an already committed alpha view; O06 first visits beta to establish
|
||||
history. Distinguish committed route from pending browser-history URL. Capture
|
||||
intermediate and final state, actual requests and completion traces. Prefer public
|
||||
hooks; any history-XHR callback wrapping is explicitly pinned/experimental, not a
|
||||
portable production fix. No writes, server rollback, AT speech, production recurrence,
|
||||
nonzero swap delays, view transitions, redirect/error taxonomy or universal race proof.
|
||||
|
||||
## Learning and stopping
|
||||
|
||||
45 active research minutes and 10 execution minutes before scope review. Monotonic
|
||||
single-agent elapsed session minus experiment/check subprocess durations; checkpoint
|
||||
inspection belongs to execution, no double count. Orientation and final administration
|
||||
outside window; tokens/cost unknown. Commit this plan before implementation/execution.
|
||||
Append one ledger outcome; retain all results and source hashes. If scope/criteria
|
||||
must change, preserve and disclose the original plan rather than rewriting it.
|
||||
|
||||
After this comparison, pause the navigation-fixture thread. Write a short synthesis:
|
||||
what changed versus prior claims, what remains unverified, and the next independent
|
||||
or broader evidence question. Hand residuals to WP-0003 T01/T02 and measurement work
|
||||
to WP-0006 T03. Do not automatically start another fixture hardening cycle. One cycle
|
||||
per distinct group cannot demonstrate diminishing returns. Live inference, if needed,
|
||||
uses llm-connect; none is planned here.
|
||||
Loading…
Add table
Add a link
Reference in a new issue