Record LEARN-0017: traced Zulip target-lookup/anchor guard gap (corroboration)

Second cycle in comparison group B-independent-navigation-source-v1, a
naturally-motivated follow-up to LEARN-0014's ZN07 finding rather than a
manufactured repetition. Traces the target-message lookup and anchor-
navigation fetch continuation to their unconditional completion points in
message_fetch.ts: neither participates in the opt-in current-list-identity
guard used elsewhere in the same file, and no located test covers a
stale-navigation scenario. No reproduction or defect claim; static source
read only. CAND-0009/CAND-0010 evidence and gaps updated accordingly.

Declined to reopen the paused local navigation fixture to force a third
cycle in an existing group, per the prior agreed pause and WP-0006 T03's
own rule against manufacturing cycles to hit a count.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

Assistant: claude-code
Assistant-Model: sonnet
Assistant-Process: 290719@bnt-lap001
Assistant-Session: 55cbe504-1bfe-4932-b761-29016523c87b
This commit is contained in:
tegwick 2026-09-27 23:21:02 +02:00
parent 884803cdf5
commit fad8abdc2c
9 changed files with 292 additions and 21 deletions

View file

@ -558,6 +558,44 @@
"cost_usd": null
},
"supersedes": []
},
{
"id": "LEARN-0017",
"date": "2026-09-27",
"recording": "prospective",
"stream": "B",
"comparison_group": "B-independent-navigation-source-v1",
"protocol_ref": "research/evolution/cycles/2026-09-27-zulip-target-lookup.md",
"question": "Do Zulip's target-message lookup and anchor-navigation fetch continuation guard against a stale navigation that occurred while the request was in flight, the way the main narrow-fetch continuation (ZN02) does?",
"previous_belief": "ZN07 located both callbacks and noted no visible captured-current-list guard, but did not trace their callers or check test coverage.",
"conclusion": "Traced both continuations to their concrete completion points: process_result calls opts.cont unconditionally, and neither the target-lookup channel.get nor load_messages_around_anchor supplies opts.msg_list, so neither participates in the opt-in list-identity guard that message_fetch.ts implements for other callers. No located test exercises a stale-navigation scenario for either path.",
"disposition": "corroboration",
"affected_patterns": [
"CAND-0009",
"CAND-0010"
],
"evidence": [
"research/reviews/ZulipTargetLookupCallPath.md",
"research/reviews/ZulipTargetLookupSources.json",
"research/evolution/cycles/2026-09-27-zulip-target-lookup-effort.json"
],
"remaining_uncertainty": [
"Static source trace only; no application, database or upstream test executed, and no race actually reproduced.",
"show() performs its own state reset on entry, so a stale re-entry's externally observable effect is unverified without execution.",
"Second cycle in comparison group B-independent-navigation-source-v1; still short of three comparable cycles, and the workplan's rule against manufacturing cycles to reach that count still applies."
],
"reviewer": {
"name": "Codex",
"role": "author-model",
"independent_human": false
},
"effort": {
"research_minutes": null,
"execution_minutes": null,
"reported_tokens": null,
"cost_usd": null
},
"supersedes": []
}
]
}