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:
parent
884803cdf5
commit
fad8abdc2c
9 changed files with 292 additions and 21 deletions
|
|
@ -51,19 +51,20 @@ Ten selected retrospective outcomes (not a historical census), followed by prosp
|
|||
|
||||
| Outcome | Entries (not independent discoveries) |
|
||||
| --- | ---: |
|
||||
| corroboration | 3 |
|
||||
| corroboration | 4 |
|
||||
| inconclusive | 0 |
|
||||
| merge | 0 |
|
||||
| rejection | 0 |
|
||||
| revision | 13 |
|
||||
|
||||
Cycles with recorded research effort: 6/16. Unknown effort is neither zero nor estimated from commits, tokens or assertion counts.
|
||||
Cycles with recorded research effort: 6/17. Unknown effort is neither zero nor estimated from commits, tokens or assertion counts.
|
||||
|
||||
### Stream B / B-independent-navigation-source-v1
|
||||
|
||||
| Cycle | Outcome | Research minutes | Consequential outcome/hour |
|
||||
| --- | --- | ---: | ---: |
|
||||
| LEARN-0014 | revision | 6.345 | 9.46 |
|
||||
| LEARN-0017 | corroboration | unknown | unknown |
|
||||
|
||||
One bounded question counts at most one consequential outcome. Corroboration and inconclusive work remain visible separately. Fewer than three comparable cycles: no trend assessment.
|
||||
|
||||
|
|
@ -256,8 +257,9 @@ Make a navigable state reconstructible from its URL.
|
|||
| runtime | htmx in authored public-catalog fixture | NH01–NH06: native/enhanced routes, history hit/miss, actual browser cache ordering and missing-Vary negative control; explicit Node validator checks separate. | [NavigationHistoryExperiment](../../research/reviews/NavigationHistoryExperiment.md) |
|
||||
| runtime | htmx in authored public-catalog fixture | NO01–NO06: ordered history/success/error races, prior policy 0/12 full obligations versus guarded 12/12; separate focus ownership. Same fixture family; pinned history-XHR adapter. | [NavigationOwnershipExperiment](../../research/reviews/NavigationOwnershipExperiment.md) |
|
||||
| static-code | Zulip | ZN01–ZN08 at pinned revision: partial hash/list/cache mechanisms and non-modal continuation contrast. No application/test execution, no no-script claim, no complete pattern recurrence. | [ZulipNavigationSourceStudy](../../research/reviews/ZulipNavigationSourceStudy.md) |
|
||||
| static-code | Zulip | ZT01-ZT04: traced target-message-lookup and anchor-navigation continuations to their unconditional completion points; no captured-list guard or test coverage located. No reproduction or application execution. | [ZulipTargetLookupCallPath](../../research/reviews/ZulipTargetLookupCallPath.md) |
|
||||
|
||||
Open limits: Independent application recurrence and human/AT validation remain unverified. Pending history disclosure, multiple history misses, redirects, nonzero swap delays, bfcache, lifecycle cleanup, interrupted/late enhancement and offline availability remain open. Zulip auxiliary target/anchor callbacks, deferred editing focus and search callback wiring remain unverified; static guards do not prove whole-application ownership.
|
||||
Open limits: Independent application recurrence and human/AT validation remain unverified. Pending history disclosure, multiple history misses, redirects, nonzero swap delays, bfcache, lifecycle cleanup, interrupted/late enhancement and offline availability remain open. Zulip's target-lookup and anchor-navigation continuations have a traced absence of a captured-current-list guard and no located test coverage for a stale-navigation race (unreproduced, not a defect claim); deferred editing focus and search callback wiring remain separately unverified.
|
||||
|
||||
Superseded by: none recorded.
|
||||
|
||||
|
|
@ -275,8 +277,9 @@ Keep essential actions usable when enhancement is unavailable.
|
|||
| runtime | htmx in authored public-catalog fixture | NF01–NF06: Tab/Enter navigation, raw versus authored focus/status policy, held-response ownership and background update; DOM evidence only, not AT speech. | [NavigationFocusExperiment](../../research/reviews/NavigationFocusExperiment.md) |
|
||||
| runtime | htmx in authored public-catalog fixture | NO01–NO06: ordered history/success/error races, prior policy 0/12 full obligations versus guarded 12/12; separate focus ownership. Same fixture family; pinned history-XHR adapter. | [NavigationOwnershipExperiment](../../research/reviews/NavigationOwnershipExperiment.md) |
|
||||
| static-code | Zulip | ZN01–ZN08 at pinned revision: partial hash/list/cache mechanisms and non-modal continuation contrast. No application/test execution, no no-script claim, no complete pattern recurrence. | [ZulipNavigationSourceStudy](../../research/reviews/ZulipNavigationSourceStudy.md) |
|
||||
| static-code | Zulip | ZT01-ZT04: traced target-message-lookup and anchor-navigation continuations to their unconditional completion points; no captured-list guard or test coverage located. No reproduction or application execution. | [ZulipTargetLookupCallPath](../../research/reviews/ZulipTargetLookupCallPath.md) |
|
||||
|
||||
Open limits: Independent application recurrence and human/AT validation remain unverified. Pending history disclosure, multiple history misses, redirects, nonzero swap delays, bfcache, lifecycle cleanup, interrupted/late enhancement and offline availability remain open. Zulip auxiliary target/anchor callbacks, deferred editing focus and search callback wiring remain unverified; static guards do not prove whole-application ownership.
|
||||
Open limits: Independent application recurrence and human/AT validation remain unverified. Pending history disclosure, multiple history misses, redirects, nonzero swap delays, bfcache, lifecycle cleanup, interrupted/late enhancement and offline availability remain open. Zulip's target-lookup and anchor-navigation continuations have a traced absence of a captured-current-list guard and no located test coverage for a stale-navigation race (unreproduced, not a defect claim); deferred editing focus and search callback wiring remain separately unverified.
|
||||
|
||||
Superseded by: none recorded.
|
||||
|
||||
|
|
@ -613,3 +616,17 @@ Evidence: [ZulipAcceptanceProjection](../../research/reviews/ZulipAcceptanceProj
|
|||
Remaining uncertainty: Ten selected source/test files from one existing Zulip family, no application/database/upstream test execution or full-contract recurrence. Response/event ordering, lost response after acceptance and current-edit ownership need preregistered reproduction; no defect or safe-replay claim. Six prospective groups are not a comparable trend; original human and milestone gates remain open.
|
||||
|
||||
Supersedes: none recorded.
|
||||
|
||||
### LEARN-0017 — 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?
|
||||
|
||||
2026-09-27 · stream B · prospective · corroboration
|
||||
|
||||
Before: 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.
|
||||
|
||||
Evidence: [ZulipTargetLookupCallPath](../../research/reviews/ZulipTargetLookupCallPath.md), [ZulipTargetLookupSources](../../research/reviews/ZulipTargetLookupSources.json), [2026-09-27-zulip-target-lookup-effort](../../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.
|
||||
|
||||
Supersedes: none recorded.
|
||||
|
|
|
|||
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"research_minutes": null,
|
||||
"execution_minutes": null,
|
||||
"reported_tokens": null,
|
||||
"cost_usd": null,
|
||||
"status": "complete",
|
||||
"end_utc": "2026-09-27T21:18:08Z",
|
||||
"method": "No wall-clock timer was started before inspection began; effort is left unknown rather than estimated from tool-call count, token usage or elapsed session time.",
|
||||
"excluded": "Preregistration commit, repository-check subprocesses (make evolution-check evolution-test schema-test), final receipt/commit/sync administration.",
|
||||
"budget": "Four-file cap, same tier as LEARN-0014; no expansion beyond the two flagged call paths and their two test files."
|
||||
}
|
||||
|
|
@ -39,7 +39,23 @@ evidence tier and effort accounting).
|
|||
|
||||
## Outcome (complete after execution)
|
||||
|
||||
Pending.
|
||||
- Evidence references, retained failures and counterexamples: see
|
||||
[ZulipTargetLookupCallPath](../../reviews/ZulipTargetLookupCallPath.md) and
|
||||
[source manifest](../../reviews/ZulipTargetLookupSources.json).
|
||||
- Changed understanding and applicability limits: corroborates and sharpens
|
||||
ZN07 with a traced call path to its concrete completion point — see review.
|
||||
- Disposition: corroboration
|
||||
- Why this is one outcome, not a count of assertions/files: one bounded
|
||||
question (guard presence and test coverage for two specific continuations),
|
||||
answered with multiple located call sites as supporting detail.
|
||||
- Remaining uncertainty and live workplan/task: no reproduction, no defect
|
||||
claim, no application/upstream test execution. WP-0003 T01 retains any
|
||||
further reproduction; WP-0003 T02 retains independent review.
|
||||
- Superseded ledger entries, if any: none.
|
||||
- Active research minutes / execution minutes: unknown; no wall-clock timer
|
||||
was started before inspection. See effort receipt.
|
||||
- Reported tokens / cost USD: unknown, not measured.
|
||||
- Reviewer name, role and independence: Codex, author-model, not independent.
|
||||
|
||||
Append an entry to research/evolution/ledger.json with `recording: prospective` and
|
||||
`protocol_ref` pointing here. Update profiles, run evolution checks, then snapshot at
|
||||
|
|
|
|||
|
|
@ -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": []
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
|||
|
|
@ -354,19 +354,25 @@
|
|||
"kind": "runtime",
|
||||
"family": "htmx in authored public-catalog fixture",
|
||||
"ref": "research/reviews/NavigationHistoryExperiment.md",
|
||||
"scope": "NH01\u2013NH06: native/enhanced routes, history hit/miss, actual browser cache ordering and missing-Vary negative control; explicit Node validator checks separate."
|
||||
"scope": "NH01–NH06: native/enhanced routes, history hit/miss, actual browser cache ordering and missing-Vary negative control; explicit Node validator checks separate."
|
||||
},
|
||||
{
|
||||
"kind": "runtime",
|
||||
"family": "htmx in authored public-catalog fixture",
|
||||
"ref": "research/reviews/NavigationOwnershipExperiment.md",
|
||||
"scope": "NO01\u2013NO06: ordered history/success/error races, prior policy 0/12 full obligations versus guarded 12/12; separate focus ownership. Same fixture family; pinned history-XHR adapter."
|
||||
"scope": "NO01–NO06: ordered history/success/error races, prior policy 0/12 full obligations versus guarded 12/12; separate focus ownership. Same fixture family; pinned history-XHR adapter."
|
||||
},
|
||||
{
|
||||
"kind": "static-code",
|
||||
"family": "Zulip",
|
||||
"ref": "research/reviews/ZulipNavigationSourceStudy.md",
|
||||
"scope": "ZN01\u2013ZN08 at pinned revision: partial hash/list/cache mechanisms and non-modal continuation contrast. No application/test execution, no no-script claim, no complete pattern recurrence."
|
||||
"scope": "ZN01–ZN08 at pinned revision: partial hash/list/cache mechanisms and non-modal continuation contrast. No application/test execution, no no-script claim, no complete pattern recurrence."
|
||||
},
|
||||
{
|
||||
"kind": "static-code",
|
||||
"family": "Zulip",
|
||||
"ref": "research/reviews/ZulipTargetLookupCallPath.md",
|
||||
"scope": "ZT01-ZT04: traced target-message-lookup and anchor-navigation continuations to their unconditional completion points; no captured-list guard or test coverage located. No reproduction or application execution."
|
||||
}
|
||||
],
|
||||
"independent_full_contract_uses": null,
|
||||
|
|
@ -376,13 +382,13 @@
|
|||
"role": "author-model",
|
||||
"independent_human": false,
|
||||
"last_substantive_review_date": "2026-09-27",
|
||||
"substantive_review_ref": "research/reviews/ZulipNavigationSourceStudy.md",
|
||||
"substantive_review_scope": "Static navigation contrast; partial mechanisms, not independent full-contract use."
|
||||
"substantive_review_ref": "research/reviews/ZulipTargetLookupCallPath.md",
|
||||
"substantive_review_scope": "Traced call-path corroboration of the previously flagged auxiliary-callback gap; still author-model, no application execution."
|
||||
},
|
||||
"gaps": [
|
||||
"Independent application recurrence and human/AT validation remain unverified.",
|
||||
"Pending history disclosure, multiple history misses, redirects, nonzero swap delays, bfcache, lifecycle cleanup, interrupted/late enhancement and offline availability remain open.",
|
||||
"Zulip auxiliary target/anchor callbacks, deferred editing focus and search callback wiring remain unverified; static guards do not prove whole-application ownership."
|
||||
"Zulip's target-lookup and anchor-navigation continuations have a traced absence of a captured-current-list guard and no located test coverage for a stale-navigation race (unreproduced, not a defect claim); deferred editing focus and search callback wiring remain separately unverified."
|
||||
],
|
||||
"superseded_by": []
|
||||
},
|
||||
|
|
@ -411,25 +417,31 @@
|
|||
"kind": "runtime",
|
||||
"family": "htmx in authored public-catalog fixture",
|
||||
"ref": "research/reviews/NavigationHistoryExperiment.md",
|
||||
"scope": "NH01\u2013NH06: native/enhanced routes, history hit/miss, actual browser cache ordering and missing-Vary negative control; explicit Node validator checks separate."
|
||||
"scope": "NH01–NH06: native/enhanced routes, history hit/miss, actual browser cache ordering and missing-Vary negative control; explicit Node validator checks separate."
|
||||
},
|
||||
{
|
||||
"kind": "runtime",
|
||||
"family": "htmx in authored public-catalog fixture",
|
||||
"ref": "research/reviews/NavigationFocusExperiment.md",
|
||||
"scope": "NF01\u2013NF06: Tab/Enter navigation, raw versus authored focus/status policy, held-response ownership and background update; DOM evidence only, not AT speech."
|
||||
"scope": "NF01–NF06: Tab/Enter navigation, raw versus authored focus/status policy, held-response ownership and background update; DOM evidence only, not AT speech."
|
||||
},
|
||||
{
|
||||
"kind": "runtime",
|
||||
"family": "htmx in authored public-catalog fixture",
|
||||
"ref": "research/reviews/NavigationOwnershipExperiment.md",
|
||||
"scope": "NO01\u2013NO06: ordered history/success/error races, prior policy 0/12 full obligations versus guarded 12/12; separate focus ownership. Same fixture family; pinned history-XHR adapter."
|
||||
"scope": "NO01–NO06: ordered history/success/error races, prior policy 0/12 full obligations versus guarded 12/12; separate focus ownership. Same fixture family; pinned history-XHR adapter."
|
||||
},
|
||||
{
|
||||
"kind": "static-code",
|
||||
"family": "Zulip",
|
||||
"ref": "research/reviews/ZulipNavigationSourceStudy.md",
|
||||
"scope": "ZN01\u2013ZN08 at pinned revision: partial hash/list/cache mechanisms and non-modal continuation contrast. No application/test execution, no no-script claim, no complete pattern recurrence."
|
||||
"scope": "ZN01–ZN08 at pinned revision: partial hash/list/cache mechanisms and non-modal continuation contrast. No application/test execution, no no-script claim, no complete pattern recurrence."
|
||||
},
|
||||
{
|
||||
"kind": "static-code",
|
||||
"family": "Zulip",
|
||||
"ref": "research/reviews/ZulipTargetLookupCallPath.md",
|
||||
"scope": "ZT01-ZT04: traced target-message-lookup and anchor-navigation continuations to their unconditional completion points; no captured-list guard or test coverage located. No reproduction or application execution."
|
||||
}
|
||||
],
|
||||
"independent_full_contract_uses": null,
|
||||
|
|
@ -439,13 +451,13 @@
|
|||
"role": "author-model",
|
||||
"independent_human": false,
|
||||
"last_substantive_review_date": "2026-09-27",
|
||||
"substantive_review_ref": "research/reviews/ZulipNavigationSourceStudy.md",
|
||||
"substantive_review_scope": "Static navigation contrast; partial mechanisms, not independent full-contract use."
|
||||
"substantive_review_ref": "research/reviews/ZulipTargetLookupCallPath.md",
|
||||
"substantive_review_scope": "Traced call-path corroboration of the previously flagged auxiliary-callback gap; still author-model, no application execution."
|
||||
},
|
||||
"gaps": [
|
||||
"Independent application recurrence and human/AT validation remain unverified.",
|
||||
"Pending history disclosure, multiple history misses, redirects, nonzero swap delays, bfcache, lifecycle cleanup, interrupted/late enhancement and offline availability remain open.",
|
||||
"Zulip auxiliary target/anchor callbacks, deferred editing focus and search callback wiring remain unverified; static guards do not prove whole-application ownership."
|
||||
"Zulip's target-lookup and anchor-navigation continuations have a traced absence of a captured-current-list guard and no located test coverage for a stale-navigation race (unreproduced, not a defect claim); deferred editing focus and search callback wiring remain separately unverified."
|
||||
],
|
||||
"superseded_by": []
|
||||
},
|
||||
|
|
@ -649,19 +661,19 @@
|
|||
"kind": "runtime",
|
||||
"family": "htmx in authored public-catalog fixture",
|
||||
"ref": "research/reviews/NavigationFocusExperiment.md",
|
||||
"scope": "NF01\u2013NF06: Tab/Enter navigation, raw versus authored focus/status policy, held-response ownership and background update; DOM evidence only, not AT speech."
|
||||
"scope": "NF01–NF06: Tab/Enter navigation, raw versus authored focus/status policy, held-response ownership and background update; DOM evidence only, not AT speech."
|
||||
},
|
||||
{
|
||||
"kind": "runtime",
|
||||
"family": "htmx in authored public-catalog fixture",
|
||||
"ref": "research/reviews/NavigationOwnershipExperiment.md",
|
||||
"scope": "NO01\u2013NO06: ordered history/success/error races, prior policy 0/12 full obligations versus guarded 12/12; separate focus ownership. Same fixture family; pinned history-XHR adapter."
|
||||
"scope": "NO01–NO06: ordered history/success/error races, prior policy 0/12 full obligations versus guarded 12/12; separate focus ownership. Same fixture family; pinned history-XHR adapter."
|
||||
},
|
||||
{
|
||||
"kind": "static-code",
|
||||
"family": "Zulip",
|
||||
"ref": "research/reviews/ZulipNavigationSourceStudy.md",
|
||||
"scope": "ZN01\u2013ZN08 at pinned revision: partial hash/list/cache mechanisms and non-modal continuation contrast. No application/test execution, no no-script claim, no complete pattern recurrence."
|
||||
"scope": "ZN01–ZN08 at pinned revision: partial hash/list/cache mechanisms and non-modal continuation contrast. No application/test execution, no no-script claim, no complete pattern recurrence."
|
||||
}
|
||||
],
|
||||
"independent_full_contract_uses": null,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue