Preregister first measured navigation research cycle

Assistant: codex
Assistant-Model: gpt-6-astra
Assistant-Session: 01a0cffe-206f-7323-89d3-b20ca4cf4bf9
This commit is contained in:
tegwick 2026-09-27 00:04:17 +02:00
parent 2dabcb85af
commit f3697c1447

View file

@ -0,0 +1,77 @@
# LEARN-0011 — Navigation representations across entry and history
Status: preregistered before implementation/execution; owner/reviewer Codex (author-model).
Local date 2026-09-27 (Europe/Berlin); UTC dates may still be 2026-09-26.
Stream B; CAND-0009 URL-addressable State and CAND-0010 Progressive Enhancement.
## Question and prior belief
Can one public read-only route preserve selection and complete-document availability
across direct entry, absent/failed enhancement, history restoration and HTTP caching?
Prior: a native href/GET contract plus representation-aware routing/cache selection
should satisfy this narrow obligation. Merely pushing a URL, emitting HTML or adding
Vary without checking actual cache behavior is insufficient. History snapshots may
restore older bytes; no freshness or offline availability promise follows.
Expected decision: corroborate these existing obligations with a pinned runtime, or
revise their scope if the failure cases expose an unrecorded obligation. A pass count
alone is not a revision. One question yields one ledger outcome, not one per test.
Disconfirmation: a correctly keyed full/fragment response is mixed; a valid native
contract needs client script; or the tested history recovery cannot resolve selection
under the declared setup. Unexpected results remain in the receipts.
## Registered comparison contract: B-navigation-mechanism-v1
One bounded route/representation question per cycle; real pinned library in authored
local HTTP fixture; Chromium and Firefox; positive paths plus negative controls;
author-model review, no production recurrence or human validation inferred. Use this
group only for comparable question size/evidence tier and the same accounting below.
No model inference is needed. Any later inference must use llm-connect.
Pin htmx 2.0.11 and Playwright 1.63.0 with lockfile. Use native anchors and a GET filter,
optional boosted links with explicit history configuration. Keep application server
policy separate from vendor behavior. Document exact headers, browser versions,
file hashes and request traces. Real browser HTTP cache, no request interception.
## Checks fixed before execution
Run each browser condition once, isolated contexts; retain failures, do not retry to
hide them. Wait on events/DOM/network state rather than arbitrary settling sleeps.
| ID | Condition / expected observation |
| --- | --- |
| N01 | Direct filtered entry with JavaScript disabled, native link and GET form: full shell, matching selection/URL |
| N02 | Enhanced link pushes selection; reload and fresh direct entry produce full shell |
| N03 | Back/forward with history snapshot available: selection restored; distinguish network from snapshot |
| N04 | Evict htmx history storage before back: history-miss request restores selection from full document |
| N05 | Enhanced request returns 503: committed old URL/content remain; explicit native recovery can navigate |
| N06 | htmx script returns 503: native link and GET form still work |
| N07 | Cache fragment first, then full document for same URL: correct Vary preserves both representations |
| N08 | Cache full document first, then fragment for same URL: reverse ordering preserves both |
| N09 | Omit Vary negative control: browser may reuse a fragment as a document; record actual behavior, do not presume immunity if not reproduced |
| N10 | Validator checks: matching ETag yields 304; other representation ETag yields 200 and correct body; history-restore selector returns full document |
N09 is diagnostic, not a success guarantee: a non-reproduction narrows this browser
observation and leaves the contract concern open. N10 may use explicit HTTP requests
for conditional semantics; distinguish these from automatic browser revalidation.
No real intermediary/CDN, production application, offline guarantee, writes, general
accessibility or latency claim. Missing parameter/deleted-resource checks, keyboard,
focus and announcements remain separate obligations unless explicitly added later.
## Effort accounting and budget
Budget: 45 active research minutes, plus at most 10 execution minutes before a scope
review. Single-agent continuous session. A monotonic clock starts after orientation,
before this registration. Active research is elapsed session time minus measured
blocking experiment/verification subprocess intervals; includes implementation,
reading, analysis and recording. No concurrent work; no overlapping double count.
Package setup is research overhead. Pause logging if interrupted. Timer cutoff is the
completed analysis/verification boundary; final commit/snapshot/sync administration
is excluded and reported as unmeasured overhead. Receipt-backed tokens/cost unknown;
no estimate from this chat. Save the timing receipt and state clock precision/limits.
Commit this preregistration before implementation or browser execution. If a harness
error needs correction, retain the first result and explain the change. Record the
outcome in a separate review and append-only ledger; this plan stays as registered.
Remaining work belongs to WP-0003 T01/T02 and WP-0006 T03. One cycle cannot establish
any learning-rate trend or diminishing returns.