refactor(antigravity): route replay merge through the request index
The indexing change left two parallel implementations of the same replay matching logic: the filter path used the request index while the merge and insert paths still rescanned the payload. Filter and merge must agree on which part a ledger item targets, so the duplication was a latent source of signatures being replayed onto the wrong part. Move the write path onto the index. Every lookup in the merge path already ran before the first mutation, so one index describes the whole call; insert rebuilds it after each mutation to keep sequential semantics. Collapse the thought signature locator into thoughtSignaturePartIndex, shared by the eligibility check and the write path. Delete the superseded payload-scanning implementations along with functions that had no production callers left: antigravityNeedsSignatureReplayForExistingFunctionCall, antigravityRequestHasMatchingFunctionResponse, antigravityPayloadHasFunctionCallID, filterAntigravityReasoningReplayItemsForRequest, insertAntigravityReasoningReplayItems, mergeAntigravityFunctionCallPartReplay and antigravitySetReplayItemContextHash. Freeze the pre-index implementations into a dedicated oracle test file. The differential tests previously called the production functions they were meant to check, so consolidating the logic would have silently turned them into self-comparisons. Malformed non-array parts now fail closed consistently. gjson's Result.Array() yields a one-element slice for a non-array non-null value, so the old fallback scans could match a functionCall inside a parts object while the primary ID lookup could not. The end state was already identical because such a payload cannot be written to; the behavior is pinned by a test. Also cover the positional fallback for pre-targetHash cache entries, which had no test at all, and add a write-path benchmark.
S
sususu committed
984836ba379d92065e61a12149525010dd5c4778
Parent: 0e4c0da
Committed by sususu98 <33882693+sususu98@users.noreply.github.com>
on 8/11/2026, 1:57:15 AM