Spec v1 EAGLE now follows the same model-config-gated MTP index reuse contract as spec v2. This lets models that declare index_share_for_mtp_iteration reuse the first draft step's NSA/DSA topk indices across internal MTP iterations while keeping the unsafe topk>1 case disabled.
Constraint: select_top_k_tokens can reorder hidden rows when topk > 1, so carried topk indices are only valid under topk == 1.
Rejected: Enable reuse unconditionally | models without the config flag may not have compatible MTP index semantics.
Rejected: Broaden to target-to-draft index reuse | separate semantic change with different correctness risks.
Confidence: high
Scope-risk: narrow
Directive: Keep spec v1 and spec v2 MTP index reuse semantics aligned, including the topk==1 guard and per-draft-forward cleanup.
Tested: python -m pytest test/registered/spec/eagle/test_eagle_v2_draft_extend_contract.py -q
Tested: python -m py_compile python/sglang/srt/speculative/eagle_worker.py test/registered/spec/eagle/test_eagle_v2_draft_extend_contract.py
Not-tested: full spec v1 GLM5 online throughput run