{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/arxiv-2606-11712","title":"Substrate Asymmetry in User-Side Memory: A Diagnostic Framework","arxiv_id":"2606.11712","date":"2026-06-10","proceeding":null,"authors":["Youwang Deng"],"abstract":"User-side memory in LLMs is typically scored as a single \"personalization\" capability: given a user's history, is the output more user-aware? We show this aggregate metric hides opposite-direction failures. Memory factorises into at least three orthogonal axes -- behavioral consistency (style, voice), factual presence (recall facts in history), and factual absence (abstain when a fact is absent) -- and no single substrate wins all three. Comparing per-user gamma-LoRA (a small LoRA adapter trained on each user's history; gamma denotes per-user, not per-task) against BGE-large dense top-K retrieval on a controlled 50-user synthetic corpus and a real-data probe (LaMP-3), we find gamma-LoRA decisively wins behavioral style while RAG decisively wins factual absence -- and the same query-projection cells in attention layers 21-35 causally load-bear both effects in opposite directions (zeroing those LoRA weights raises absence-probe TPR by +33 pp and drops presence-probe TPR by 20 pp). On the more heavily RLHF-tuned Llama-3.1-8B-Instruct the asymmetry strengthens, not heals: parametric memory's behavioral advantage collapses while its absence-calibration deficit against retrieval widens -- an alignment tax on parametric user-memory. On real-data LaMP-3, gamma-LoRA underperforms a majority baseline; a 9-condition mitigation sweep diagnoses this as instruction-following collapse, not substrate failure (a 9x2 cross-product shows the eval-time {1..5} logit mask drives main_acc to >=0.995 on every recipe), and the best training-time fix replicates bit-identically on Llama. Finally, substrate-selection routing is question-classification, not calibration: a 110M DistilBERT on the question text alone beats every logit-based router. We contribute the diagnostic framework, the diagnosed real-data negative, the alignment-tax replication, and the routing-as-classification finding.","url_abs":"https://arxiv.org/abs/2606.11712","url_pdf":"https://arxiv.org/pdf/2606.11712","source":{"archive":null,"snapshot":"2025-07-28","note":"not in the Papers with Code archive (frozen at the snapshot)","row_kind":"graph","title_abstract_authors_date":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)"},"code_links":[],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2606.11712","atlas_url":null,"mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2606.11712"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/EpistemicaLab/substrate-asymmetry-memory","reach":null}],"summary":{"ran":15,"unverified":11},"by_repo_kind":{"found_in_text":{"samples":26,"ran":15,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"0756cc2191c41a2e","entry":"chunk_backstory","repo":"EpistemicaLab/substrate-asymmetry-memory","repo_kind":"found_in_text","path":"bench/experiments/23_lora_persona.py","file_url":"https://github.com/EpistemicaLab/substrate-asymmetry-memory/blob/HEAD/bench/experiments/23_lora_persona.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"0756cc2191c41a2e"}},{"code_sha256_prefix":"95d1fe843991b562","entry":"chunk_text","repo":"EpistemicaLab/substrate-asymmetry-memory","repo_kind":"found_in_text","path":"bench/experiments/29_runner.py","file_url":"https://github.com/EpistemicaLab/substrate-asymmetry-memory/blob/HEAD/bench/experiments/29_runner.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"95d1fe843991b562"}},{"code_sha256_prefix":"8515640d25718daa","entry":"cluster_by_prompt","repo":"EpistemicaLab/substrate-asymmetry-memory","repo_kind":"found_in_text","path":"bench/experiments/28_data_prep.py","file_url":"https://github.com/EpistemicaLab/substrate-asymmetry-memory/blob/HEAD/bench/experiments/28_data_prep.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"8515640d25718daa"}},{"code_sha256_prefix":"05dafa85be3fe1d0","entry":"collate_lm","repo":"EpistemicaLab/substrate-asymmetry-memory","repo_kind":"found_in_text","path":"bench/experiments/28_runner.py","file_url":"https://github.com/EpistemicaLab/substrate-asymmetry-memory/blob/HEAD/bench/experiments/28_runner.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"05dafa85be3fe1d0"}},{"code_sha256_prefix":"d2ce62f7060ca318","entry":"flatten_haystack","repo":"EpistemicaLab/substrate-asymmetry-memory","repo_kind":"found_in_text","path":"bench/experiments/19_lora_synthqa_eval_v3.py","file_url":"https://github.com/EpistemicaLab/substrate-asymmetry-memory/blob/HEAD/bench/experiments/19_lora_synthqa_eval_v3.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"d2ce62f7060ca318"}},{"code_sha256_prefix":"3b608312db6e6bbe","entry":"frob_decompose","repo":"EpistemicaLab/substrate-asymmetry-memory","repo_kind":"found_in_text","path":"bench/experiments/30_analyze.py","file_url":"https://github.com/EpistemicaLab/substrate-asymmetry-memory/blob/HEAD/bench/experiments/30_analyze.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"3b608312db6e6bbe"}},{"code_sha256_prefix":"df6e69ae71000442","entry":"generate_text","repo":"EpistemicaLab/substrate-asymmetry-memory","repo_kind":"found_in_text","path":"bench/experiments/31_runner.py","file_url":"https://github.com/EpistemicaLab/substrate-asymmetry-memory/blob/HEAD/bench/experiments/31_runner.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"df6e69ae71000442"}},{"code_sha256_prefix":"2fd6b9ea91919a52","entry":"gold_logprob","repo":"EpistemicaLab/substrate-asymmetry-memory","repo_kind":"found_in_text","path":"bench/experiments/28_runner.py","file_url":"https://github.com/EpistemicaLab/substrate-asymmetry-memory/blob/HEAD/bench/experiments/28_runner.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"2fd6b9ea91919a52"}},{"code_sha256_prefix":"e12f0bfef2402d6c","entry":"judge_call","repo":"EpistemicaLab/substrate-asymmetry-memory","repo_kind":"found_in_text","path":"bench/experiments/31_judge.py","file_url":"https://github.com/EpistemicaLab/substrate-asymmetry-memory/blob/HEAD/bench/experiments/31_judge.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"e12f0bfef2402d6c"}},{"code_sha256_prefix":"1fd356909e7eba2b","entry":"judge_one","repo":"EpistemicaLab/substrate-asymmetry-memory","repo_kind":"found_in_text","path":"bench/experiments/31_judge.py","file_url":"https://github.com/EpistemicaLab/substrate-asymmetry-memory/blob/HEAD/bench/experiments/31_judge.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"1fd356909e7eba2b"}},{"code_sha256_prefix":"f2354ed5290e2fb4","entry":"load_bge","repo":"EpistemicaLab/substrate-asymmetry-memory","repo_kind":"found_in_text","path":"bench/experiments/29_runner.py","file_url":"https://github.com/EpistemicaLab/substrate-asymmetry-memory/blob/HEAD/bench/experiments/29_runner.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"f2354ed5290e2fb4"}},{"code_sha256_prefix":"1c7c3f18bbf27c32","entry":"make_chunks_overlap","repo":"EpistemicaLab/substrate-asymmetry-memory","repo_kind":"found_in_text","path":"bench/experiments/19_lora_synthqa_eval_v3.py","file_url":"https://github.com/EpistemicaLab/substrate-asymmetry-memory/blob/HEAD/bench/experiments/19_lora_synthqa_eval_v3.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"1c7c3f18bbf27c32"}},{"code_sha256_prefix":"b91629a745d69be5","entry":"parse_lora_key","repo":"EpistemicaLab/substrate-asymmetry-memory","repo_kind":"found_in_text","path":"bench/experiments/30_analyze.py","file_url":"https://github.com/EpistemicaLab/substrate-asymmetry-memory/blob/HEAD/bench/experiments/30_analyze.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"b91629a745d69be5"}},{"code_sha256_prefix":"e3c44c8ec5b5b317","entry":"render_chunk","repo":"EpistemicaLab/substrate-asymmetry-memory","repo_kind":"found_in_text","path":"bench/experiments/19_lora_synthqa_eval_v3.py","file_url":"https://github.com/EpistemicaLab/substrate-asymmetry-memory/blob/HEAD/bench/experiments/19_lora_synthqa_eval_v3.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"e3c44c8ec5b5b317"}},{"code_sha256_prefix":"825bf367e7c798f6","entry":"render_persona_chunk","repo":"EpistemicaLab/substrate-asymmetry-memory","repo_kind":"found_in_text","path":"bench/experiments/23_lora_persona.py","file_url":"https://github.com/EpistemicaLab/substrate-asymmetry-memory/blob/HEAD/bench/experiments/23_lora_persona.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"825bf367e7c798f6"}},{"code_sha256_prefix":"043c215ad4dd905f","entry":"bge_encode","repo":"EpistemicaLab/substrate-asymmetry-memory","repo_kind":"found_in_text","path":"bench/experiments/29_runner.py","file_url":"https://github.com/EpistemicaLab/substrate-asymmetry-memory/blob/HEAD/bench/experiments/29_runner.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"043c215ad4dd905f"}},{"code_sha256_prefix":"727926efb50736e0","entry":"claude","repo":"EpistemicaLab/substrate-asymmetry-memory","repo_kind":"found_in_text","path":"bench/experiments/29_data_prep.py","file_url":"https://github.com/EpistemicaLab/substrate-asymmetry-memory/blob/HEAD/bench/experiments/29_data_prep.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"727926efb50736e0"}},{"code_sha256_prefix":"2bdb4a031ff824c1","entry":"extract_persona_pairs","repo":"EpistemicaLab/substrate-asymmetry-memory","repo_kind":"found_in_text","path":"bench/experiments/23_lora_persona.py","file_url":"https://github.com/EpistemicaLab/substrate-asymmetry-memory/blob/HEAD/bench/experiments/23_lora_persona.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"2bdb4a031ff824c1"}},{"code_sha256_prefix":"f99247b72fe7f226","entry":"find_adapter_dir","repo":"EpistemicaLab/substrate-asymmetry-memory","repo_kind":"found_in_text","path":"bench/experiments/32_band_zero_intervention.py","file_url":"https://github.com/EpistemicaLab/substrate-asymmetry-memory/blob/HEAD/bench/experiments/32_band_zero_intervention.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"f99247b72fe7f226"}},{"code_sha256_prefix":"9fe8000e5ef166eb","entry":"find_probe2_eval","repo":"EpistemicaLab/substrate-asymmetry-memory","repo_kind":"found_in_text","path":"bench/experiments/32_band_zero_intervention.py","file_url":"https://github.com/EpistemicaLab/substrate-asymmetry-memory/blob/HEAD/bench/experiments/32_band_zero_intervention.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"9fe8000e5ef166eb"}},{"code_sha256_prefix":"e1ade8a5989853bc","entry":"gen_absence_topics","repo":"EpistemicaLab/substrate-asymmetry-memory","repo_kind":"found_in_text","path":"bench/experiments/29_data_prep.py","file_url":"https://github.com/EpistemicaLab/substrate-asymmetry-memory/blob/HEAD/bench/experiments/29_data_prep.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"e1ade8a5989853bc"}},{"code_sha256_prefix":"221f48703ddb16d6","entry":"load_persona_with_adapter","repo":"EpistemicaLab/substrate-asymmetry-memory","repo_kind":"found_in_text","path":"bench/experiments/32_band_zero_intervention.py","file_url":"https://github.com/EpistemicaLab/substrate-asymmetry-memory/blob/HEAD/bench/experiments/32_band_zero_intervention.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"221f48703ddb16d6"}},{"code_sha256_prefix":"7515dd748ca028e4","entry":"paraphrase_to_present","repo":"EpistemicaLab/substrate-asymmetry-memory","repo_kind":"found_in_text","path":"bench/experiments/29_data_prep.py","file_url":"https://github.com/EpistemicaLab/substrate-asymmetry-memory/blob/HEAD/bench/experiments/29_data_prep.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"7515dd748ca028e4"}},{"code_sha256_prefix":"33d1b183bb42ed1c","entry":"parse_vote","repo":"EpistemicaLab/substrate-asymmetry-memory","repo_kind":"found_in_text","path":"bench/experiments/31_judge.py","file_url":"https://github.com/EpistemicaLab/substrate-asymmetry-memory/blob/HEAD/bench/experiments/31_judge.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"33d1b183bb42ed1c"}},{"code_sha256_prefix":"8f8458bc88465ce0","entry":"run_dir","repo":"EpistemicaLab/substrate-asymmetry-memory","repo_kind":"found_in_text","path":"bench/experiments/_base_model.py","file_url":"https://github.com/EpistemicaLab/substrate-asymmetry-memory/blob/HEAD/bench/experiments/_base_model.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"8f8458bc88465ce0"}},{"code_sha256_prefix":"c278e8b217470b0f","entry":"train_lora_lm","repo":"EpistemicaLab/substrate-asymmetry-memory","repo_kind":"found_in_text","path":"bench/experiments/28_runner.py","file_url":"https://github.com/EpistemicaLab/substrate-asymmetry-memory/blob/HEAD/bench/experiments/28_runner.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"c278e8b217470b0f"}}]},"arxiv_metadata":{"licence":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)","fields":["title","abstract","authors","date"],"primary_category":"cs.LG","source":"arxiv_2026.jsonl"},"syntology_extracted_results":{"kind":"leaderboard_placements","source":"Syntology's leaderboard-shaped extractor over the paper's own arXiv-HTML tables: a model pointed at a cell, the number was read from that cell and checked against the board's metric, dataset, split and scale, and an independent check accepted the entry; not reviewed by the paper's authors or the archive's editors","extractor_model":"global.anthropic.claude-sonnet-4-5-20250929-v1:0","verifier_model":null,"prompt_sha":"fa63d4bb9d755694","coverage":{"sentence":"Syntology has checked 6,885 of the 9,623 papers on this site that are newer than the archive; results from the others appear after they are checked.","papers_newer_than_archive":9623,"papers_checked":6885},"entries":[],"not_placed":{"boards":0,"rejected_by_independent_check":0,"refused_by_a_rule":0,"check_did_not_answer":0,"proposed_without_a_cell":0,"declined_by_site":0}}}