[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"detail-sidebar-cat-0-en-105":3,"doc-seo-273816-105":59,"doc-detail-273816-en":131},{"code":4,"msg":5,"data":6},0,"success",[7,13,18,23,28,33,38,43,48,51,55],{"id":8,"doc_module":4,"doc_module_name":9,"category_name":10,"show_sort_weight":11,"slug":12},1,"Document","Story & Novel",90,"story-novel",{"id":14,"doc_module":4,"doc_module_name":9,"category_name":15,"show_sort_weight":16,"slug":17},2,"Literature",80,"literature",{"id":19,"doc_module":4,"doc_module_name":9,"category_name":20,"show_sort_weight":21,"slug":22},4,"Exam",70,"exam",{"id":24,"doc_module":4,"doc_module_name":9,"category_name":25,"show_sort_weight":26,"slug":27},5,"Comic",60,"comic",{"id":29,"doc_module":4,"doc_module_name":9,"category_name":30,"show_sort_weight":31,"slug":32},6,"Technology",50,"technology",{"id":34,"doc_module":4,"doc_module_name":9,"category_name":35,"show_sort_weight":36,"slug":37},7,"Healthcare",40,"healthcare",{"id":39,"doc_module":4,"doc_module_name":9,"category_name":40,"show_sort_weight":41,"slug":42},8,"Research & Report",30,"research-report",{"id":44,"doc_module":4,"doc_module_name":9,"category_name":45,"show_sort_weight":46,"slug":47},9,"Religion & Spirituality",20,"religion-spirituality",{"id":46,"doc_module":4,"doc_module_name":9,"category_name":49,"show_sort_weight":46,"slug":50},"World Cup","world-cup",{"id":52,"doc_module":4,"doc_module_name":9,"category_name":53,"show_sort_weight":52,"slug":54},10,"Lifestyle","lifestyle",{"id":56,"doc_module":4,"doc_module_name":9,"category_name":57,"show_sort_weight":24,"slug":58},19,"General","general",{"code":4,"msg":60,"data":61},"ok",{"site_id":62,"language":63,"slug":64,"title":65,"keywords":66,"description":67,"schema_data":68,"social_meta":124,"head_meta":126,"extra_data":128,"updated_unix":130},105,"en","temporal-validity-on-real-software-histories-eliminating-stale-fact-errors-in-code-assistant-memory-over-github-fixes","Temporal Validity on Real Software Histories - Eliminating Stale-Fact Errors in Code-Assistant Memory over GitHub Fixes","","Retrieval-augmented generation lacks a representation of time, so when code facts change within the same development context it retrieves both old and new values, causing stale-fact errors. A deterministic supersession memory (subject, relation, object) was previously shown on synthetic single-value benchmarks to eliminate this failure. This paper validates the same mechanism end-to-end on real GitHub histories by extracting clean atomic state transitions from 707 issues and evaluating marker-free accuracy and latency against RAG and reranking.",{"@graph":69,"@context":123},[70,84,106],{"@type":71,"itemListElement":72},"BreadcrumbList",[73,77,79,82],{"item":74,"name":75,"@type":76,"position":8},"https://docshare.wps.com","Home","ListItem",{"item":78,"name":9,"@type":76,"position":14},"https://docshare.wps.com/document/",{"item":80,"name":40,"@type":76,"position":81},"https://docshare.wps.com/document/research-report/",3,{"item":83,"name":65,"@type":76,"position":19},"https://docshare.wps.com/document/temporal-validity-on-real-software-histories-eliminating-stale-fact-errors-in-code-assistant-memory-over-github-fixes/273816/",{"url":83,"name":65,"@type":85,"image":86,"author":91,"headline":65,"publisher":94,"fileFormat":97,"inLanguage":63,"description":67,"dateModified":98,"datePublished":99,"encodingFormat":97,"isAccessibleForFree":100,"interactionStatistic":101},"DigitalDocument",{"url":87,"@type":88,"width":89,"height":90},"https://docshare.wps.com/thumbnails/temporal-validity-on-real-software-histories-eliminating-stale-fact-errors-in-code-assistant-memory-over-github-fixes/273816.png","ImageObject",300,407,{"name":92,"@type":93},"Genevieve","Person",{"url":74,"name":95,"@type":96},"DocShare","Organization","application/pdf","2026-10-27","2026-09-15",true,{"@type":102,"interactionType":103,"userInteractionCount":105},"InteractionCounter",{"@type":104},"ViewAction",13,{"@type":107,"mainEntity":108},"FAQPage",[109,115,119],{"name":110,"@type":111,"acceptedAnswer":112},"Why does retrieval-augmented generation fail when code facts change during a session?","Question",{"text":113,"@type":114},"RAG has no model of time, so embeddings for old and new values remain near-identical; it retrieves both and the model cannot determine which is current, leading to stale-fact errors.","Answer",{"name":116,"@type":111,"acceptedAnswer":117},"How does MemStrata address temporal validity in code-assistant memory?",{"text":118,"@type":114},"MemStrata uses a deterministic supersession rule over a bi-temporal ledger (subject, relation, object) so that updated facts supersede previous ones, removing the structural failure of similarity-based memory.",{"name":120,"@type":111,"acceptedAnswer":121},"What evidence is used to validate MemStrata on real software histories?",{"text":122,"@type":114},"The study extracts 130 clean atomic state transitions from 707 real GitHub issues (SWE-bench Lite + Verified) and evaluates answer accuracy and stale-fact error under paired regimes on identical cached scenarios.","https://schema.org",{"og:url":83,"og:type":125,"og:title":65,"og:site_name":95,"og:description":67},"article",{"robots":127,"canonical":83},"index,follow",{"doc_id":129,"site_id":62},273816,1789472863,{"code":4,"msg":5,"data":132},{"doc_id":129,"user_id":133,"nickname":92,"user_avatar":134,"doc_module":4,"category_id":39,"category_name":40,"doc_title":65,"doc_description":67,"doc_content":135,"file_id":136,"file_url":137,"file_type":138,"file_size":139,"view_count":105,"is_deleted":4,"is_public":8,"is_downloadable":8,"audit_status":8,"page_count":34,"language":140,"language_code":63,"site_id":62,"html_lang":63,"table_of_contents":141,"faqs":142,"seo_title":143,"seo_description":67,"update_tm":130,"read_time":144,"preview_page_count":4},1374391974585,"https://ap-avatar.wpscdn.com/davatar_276721f389ce27ea32af1340a28f341c","arXiv : 2608 .20685v 1 [cs .SE] 2 1 Aug 2026  \nTemporal Validity on Real Software Histories  \nEliminating Stale-Fact Errors in Code-Assistant Memory over  \nGitHub Fixes  \nA deterministic supersession memory, validated end-to-end on SWE-bench buggy→ fixed  \npairs  \nNeeraj Yadav  \n[MemStrata.dev](MemStrata.dev)—Called It Inc. (Enterprise) [memstrata@gmail. com](memstrata@gmail. com)  \nDraft v1  \nCompanion to “Temporal Validity in Retrieval Memory”(Paper 1), which established the result on synthetic evolving benchmarks. This paper validates it end-to-end on real GitHub histories. All numbers are from the locked, paired run on identical cached scenarios ([REPORT_PAPER2.md](REPORT_PAPER2.md), [REPORT_PAPER2_forced.md](REPORT_PAPER2_forced.md)); local,  \ndeterministic (temperature 0, fixed seeds, no network) . For double-blind submission, anonymize the author block and product identifiers.  \nAbstract  \nRetrieval-augmented generation (RAG) has no model of time: when a fact changes across a coding session—a function is renamed, an endpoint moves, a dependency is bumped—RAG retrieves both the old and new value with near-identical similarity and cannot tell which is current, so it serves the superseded value. Paper 1 showed, on synthetic single-value benchmarks, that a deterministic (subject, relation, object) supersession memory eliminates this failure. Here we validate it end-to-end on real software history. From 707 real GitHub issues (SWE-bench Lite + Verified) we extract 130 clean atomic state transitions—a fix that changes one identifiable value from a pre-fix to a post-fix form—and render each marker-free (the stale and current statements differ only in the value) . On this set, MemStrata reaches 0.91 answer accuracy versus RAG’s 0.57–0.59; and, the structural result, when forced to answer RAG serves the superseded value 36–38% of the time (an LLM reranker does not help) while MemStrata drives this to ≈0, at RAG retrieval latency (∼2.1 s vs ∼ 18 s for the reranker) . We are explicit about scope: only ∼ 18% of real fixes are clean atomic transitions; Paper 2 isolates the memory mechanism on that class, and extraction coverage of the remaining fixes is the orthogonal problem we defer to follow-on work. A real product bug surfaced and was fixed during the study (a case/punctuation-insensitive value comparison), with the moat property (deterministic-supersession accuracy on clean code mutations) preserved and verified.  \n1 Introduction  \nA coding assistant that persists memory across a session accumulates facts about a codebase—the name of a handler, a config value, a pinned version, an endpoint path. The binding difficulty isnot recall but currency: these facts change, often within the same session, and an assistant that confidently reports last week’s function name is worse than useless. Retrieval-augmented generation  \n[Lewis et al., 2020], the dominant memory mechanism, stores statements and retrieves by embedding similarity. It has no representation of time, so when a value changes it keeps both versions—“the login handler is authenticate_user” and “the login handler is login” —which sit close together in any embedding space. Retrieval surfaces both; the model cannot tell which is current; it abstains or serves the stale value.  \nPaper 1 demonstrated, on synthetic single-value benchmarks (code mutation, config migration, dependency bumps, API evolution), that this is a structural failure of similarity-based memory and that a deterministic supersession rule eliminates it. The natural objection is that synthetic benchmarks may flatter the method. This paper answers it: we validate the same mechanism end-to-end on real GitHub buggy→fixed histories drawn from SWE-bench [Jimenez et al. , 2023] .  \nContributions.  \n1. A real-data longitudinal benchmark. From 707 real GitHub issues we extract 130 clean atomic state transitions (a verified pre-fix value → post-fix value), rendered marker-free so the only currency signal is order. The ex","cbCaissDZdhinQYY","https://ap.wps.com/l/cbCaissDZdhinQYY","pdf",441350,"English","# Introduction\n## Contributions\n# Related Work\n## Memory for LLM agents and RAG\n## SWE-bench and code evolution\n## Temporal knowledge and the synthetic precedent\n# Method\n## The memory mechanism (recap)","[{\"question\":\"Why does retrieval-augmented generation fail when code facts change during a session?\",\"answer\":\"RAG has no model of time, so embeddings for old and new values remain near-identical; it retrieves both and the model cannot determine which is current, leading to stale-fact errors.\"},{\"question\":\"How does MemStrata address temporal validity in code-assistant memory?\",\"answer\":\"MemStrata uses a deterministic supersession rule over a bi-temporal ledger (subject, relation, object) so that updated facts supersede previous ones, removing the structural failure of similarity-based memory.\"},{\"question\":\"What evidence is used to validate MemStrata on real software histories?\",\"answer\":\"The study extracts 130 clean atomic state transitions from 707 real GitHub issues (SWE-bench Lite + Verified) and evaluates answer accuracy and stale-fact error under paired regimes on identical cached scenarios.\"}]","Temporal Validity on Real Software Histories - Eliminating Stale-Fact Errors in Code-Assistant Memory over GitHub Fixes | PDF",18]