Preregister pinned Zulip navigation source contrast

Assistant: codex
Assistant-Model: gpt-6-astra
Assistant-Session: 01a0cffe-206f-7323-89d3-b20ca4cf4bf9
This commit is contained in:
tegwick 2026-09-27 00:50:02 +02:00
parent 9c8245f507
commit f3ac569d8e

View file

@ -0,0 +1,64 @@
# LEARN-0014 — Independent navigation/search ownership in Zulip
Status: preregistered before source investigation. 2026-09-27 Europe/Berlin.
Codex author-model review; stream B; new group B-independent-navigation-source-v1.
Static evidence tier, not comparable to authored runtime cycles. Affected candidates:
CAND-0009 URL-addressable State, CAND-0010 Progressive Enhancement and, only if a
located contrasting mechanism warrants it, CAND-0016 Focus Return.
## Bounded question and prior
Where does an independently developed frontend accept, supersede or report asynchronous
navigation/search results, and how does that relate to selection and focus ownership?
Prior authored htmx work motivated guarding obsolete content/URL/title/feedback effects
separately from focus movement. A navigation generation is one implementation, not a
required universal mechanism. Zulip may use list identity, query identity, cancellation,
cache reuse, conditional rendering or different task semantics instead. Look for
counterexamples and limits rather than force every mechanism into our terminology.
Pin Zulip repository revision 5b06fa3d34f28fa01f459fbf3ba053e3c0858e9c, already identified
in the earlier recovery-source manifest. Reuse that reproducible revision deliberately;
no claim that it is latest. Previously reviewed compose/draft/send code is not evidence
for this question. Record raw-file SHA256, immutable URLs and line ranges for new reads.
Independent implementation provenance does not imply independent review of our analysis.
## Method and acceptance criteria
Read at most twelve substantive frontend source/test files at this revision, starting
with navigation/hash, search/narrowing and asynchronous message-loading paths. Tree/API
metadata and path discovery are not source claims. Follow callers/callees only far
enough to locate ownership decisions; mark incomplete paths unknown. If twelve files
are insufficient, close with scoped evidence/gaps rather than silently widen the study.
For each finding separate observed code, interpretation and untested behavior. Locate:
1. Route/query selection and reconstruction entry points.
2. Captured request identity and response applicability, including obsolete success.
3. Error/feedback applicability, if visible in the bounded slice.
4. Selection/focus/scroll continuation and how it differs from modal focus return.
5. At least one limiting or contrasting case (for example useful off-screen results,
effects outside the guarded scope, or different ownership timing).
Produce a traceable claim table and a source manifest with function/line locators.
Do not infer a whole-app guarantee from one predicate or count different files as
independent applications. Full-contract recurrence remains unassessed without review.
Source tests, if inspected, are documentary code evidence unless actually run.
No application build, browser execution, vendor modifications, external messages,
credentials or model inference planned. Any future live inference uses llm-connect.
## Outcomes, effort and stop
Disposition may be corroboration, revision or inconclusive; one bounded question counts
once. A useful contrast can narrow the proposed rule rather than promote a candidate.
Do not label an application progressive enhancement merely because it navigates via URLs.
A fragment/hash route can have a client reconstruction contract without a no-script one.
Keep that distinction explicit if encountered.
Budget: 40 active agent-research minutes plus 10 check-execution minutes before scope
review. Monotonic single-agent elapsed session minus timed verification subprocesses;
source retrieval/reading is active research overhead. No overlapping work. Record gaps
and unknown token/cost telemetry; exclude final receipt refresh/commit/snapshot/sync
administration. Commit this plan before reading new source paths. Append ledger,
update scoped profiles/report, snapshot after candidate changes are committed, and
sync WP-0003 T01/WP-0006 T03. No automatic reopening of the paused local fixture,
M1/M2 closure, human validation or learning-rate trend claim.