Files
CyberGril/spike/hel857/results/recheck_HEL-869_rawretention.json
T
zonggongandmultica-agent 5671946267 HEL-869: read-only remediation evidence per manager independent review of 81d50f2 - recheck869.py reproduces the upstream rolling 10-message window from the fixed mem0 storage source (SHA256 5f5ecdad, byte-identical to the isolated venv install) in an independent in-memory SQLite with zero LLM zero embedding zero network (single 15-message batch truncates to 10; the real 9,1,1,2,2 add pattern keeps batch1 first-4 + later-6, dropping batch1 last-5) and verifies read-only that this round's mem0 messages hold 10/15 missing exactly t3 user/companion, t4 user/companion, t5 user with the restored public copy identical at 10, while the baseline main archive chat_message keeps all 15 verbatim per-role rows and the original calls inputs still carry all 15 - SDK messages is a rolling window, not a permanent quote archive, and no real user data was lost; erratum_HEL-869.json records six report-corrections without touching any original JSON (E1 S1 frozen criterion sampled only mem0 t1 so full-15 retention cannot be claimed, E2 this round used 46004 tokens = 44735+1269 while 163041 is the cumulative 39-call total, E3 raw QA6-13 map in order to plan QA1-8, E4 calls headline 'answered blue' is a stale run2 note vs this round's honest unknown answer, E5 in-process llm_calls_real=0/embed 39 are not authoritative vs persistent ledgers' 13 sent/40 dense, E6 S9 re-verified only the public instance with full private+public recovery reused from gate2 P5); README HEL-868 record annotated in place at the three corrected conclusions plus a HEL-869 section; plan-next-HEL-869.md delivers the decision-only minimal follow-up (main archive stays the permanent quote layer with reread via turn_ids anchors, mem0 interfaces reused, no upstream fork; batch-extraction line-level provenance proven by input-side pre-grouping where each add's anchor equals its actual input set with gate-side sha256 recompute - no gate bypass, no anchor trimming, no prompt-only promises; S6 verified via explicit-status questioning under the same frozen bounded grammar with no wording amnesty; Chinese custom_instructions deferred; upstream/ours responsibilities, risks incl. embed budget 498/500 remaining 2 as the hard blocker, and a staged minimal retest: stage0 offline zero-cost audit then stage1 ~14 requests/~40-46 embeddings pending quota decision); all three ledgers byte-identical before/after (03f92557/c9871277/9716c722), every e06dcaf result blob unchanged, no criteria/fixtures/orchestration edits, no real requests, no embeddings, no merge, no deploy; dual-target requirement checks 4/4 pass vs origin/main and origin/agent/agent/de8874a3803b with/without handoff-HEL-869.json
Co-authored-by: multica-agent <github@multica.ai>
2026-10-26 04:09:58 +08:00

147 lines
5.0 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"card": "HEL-869",
"commit": "81d50f28afdc4fa511854b0a540339b027e8c0d1",
"baseline_version": "1.11",
"generated_at": "2026-10-25T20:09:26Z",
"real_requests_added": 0,
"local_embeddings_added": 0,
"isolation": "socket connect denied; HF_HUB_OFFLINE=1; no gateway, no fastembed import",
"checks": {
"ledger_digests_match_review": true,
"storage_source_limit10": true,
"one_batch_15_keeps_10": true,
"real_pattern_keeps_10_first4_plus_later": true,
"mem0_messages_10_missing_5": true,
"restore_public_same_10": true,
"baseline_chat_message_all_15": true,
"calls_add_inputs_have_all_15": true,
"usage_this_round_46004": true,
"usage_cumulative_163041": true,
"qa_labels_6_to_13": true,
"qa_map_plan_1_to_8": true,
"headline_stale_s3_answered_unknown": true,
"counters_not_authoritative_vs_ledger": true,
"s9_public_only_full_private_reuse_gate2": true,
"s1_criterion_sampled_mem0_t1_only": true,
"old_result_blobs_unchanged": true,
"ledgers_unchanged_during_recheck": true
},
"all_checks_pass": true,
"upstream_eviction_reproduction": {
"storage_source": "/home/xiaomo/multica_workspaces/hello-af23464d222e/hel-857-2cf6dc7dfc87/workdir/hel857-src/mem0/memory/storage.py",
"storage_sha256": "5f5ecdadd2b260fd14f36a0f338336eb760275465dd1056a99a47e1ef07702bd",
"one_batch_15": {
"saved": 15,
"retained": 10
},
"real_add_pattern": {
"batches": [
9,
1,
1,
2,
2
],
"retained": 10,
"structure": "batch1 first 4 + all later batches; batch1 last 5 evicted"
},
"note": "save_messages() deletes beyond most recent 10 per scope (storage.py 'LIMIT 10'); ties on identical created_at keep insertion order, so a 9-row first batch loses its last 5 rows"
},
"round_raw_retention": {
"fixtures_total": 15,
"mem0_messages_actual": 10,
"missing": [
{
"turn": "t3",
"role": "user",
"raw": "加班到九点,路上买了糖炒栗子,一半都是坏的"
},
{
"turn": "t3",
"role": "companion",
"raw": "坏栗子下回留给我先挑。"
},
{
"turn": "t4",
"role": "user",
"raw": "诗集读完了,最喜欢第三首,写房间里的盐"
},
{
"turn": "t4",
"role": "companion",
"raw": "第三首我陪你再读一遍。"
},
{
"turn": "t5",
"role": "user",
"raw": "又买了糖炒栗子,这次是好的"
}
],
"restore_public_same_10": true,
"baseline_chat_message_rows": 15,
"calls_add_inputs_have_all_15": true,
"assessment": "Mem0 SDK messages 表是每次写入后仅保留最近 10 条的滚动窗口,不是永久原话档案;现状主档案(baseline.sqlite3 chat_message,15 条逐字逐角色)与原始 calls 输入仍完整保留全部原话——缺口在 SDK 派生副本的覆盖范围,不声称真实用户资料丢失。永久原话职责由我方主档案承担;后续方案须让真实 Mem0 链从持久化主档案读取原话,不以 SDK 滚动窗口或固定 fixtures 清单充当长期原文库。"
},
"erratum_facts": {
"usage_this_round": {
"prompt_tokens": 44735,
"completion_tokens": 1269,
"total_tokens": 46004
},
"usage_cumulative": {
"prompt_tokens": 158918,
"completion_tokens": 4123,
"total_tokens": 163041
},
"raw_qa_labels": [
"QA6",
"QA7",
"QA8",
"QA9",
"QA10",
"QA11",
"QA12",
"QA13"
],
"plan_qa_labels": [
"QA1",
"QA2",
"QA3",
"QA4",
"QA5",
"QA6",
"QA7",
"QA8"
],
"s3_mem0_answer": "不知道。",
"counters": {
"embed_calls": 28,
"embed_items_dense": 39,
"embed_items_entity": 0,
"embed_items_total": 39,
"embed_cap": 500,
"keyword_calls": 10,
"llm_calls_real": 0,
"llm_failures": 0,
"consecutive_llm_failures": 0
},
"ledger_new_rows": 13,
"embed_dense_new": 40,
"s9_restore_dir": [
"mem0_public_history.db",
"vec_public"
],
"gate2_p5_pass": true
},
"ledger_digests_before": {
"original": "03f92557972ccfaa51d5a1ba8d0e6a97a5a1cc36e637c0cd01fd545bb0af8f47",
"continued": "c987127765729f1f9c24f67d416f61ea5a8d333c0de7f25336d5267279dffadd",
"embed": "9716c722688da1cc04b655e31e6b6be49efca1906d608f69f73534392c4d30b9"
},
"ledger_digests_after": {
"original": "03f92557972ccfaa51d5a1ba8d0e6a97a5a1cc36e637c0cd01fd545bb0af8f47",
"continued": "c987127765729f1f9c24f67d416f61ea5a8d333c0de7f25336d5267279dffadd",
"embed": "9716c722688da1cc04b655e31e6b6be49efca1906d608f69f73534392c4d30b9"
},
"conclusion": "滚动 10 条窗口独立重现并只读核实本轮缺口(10/15,缺 5 条);主档案与原始输入完整。六项报告口径勘误逐条核实。零真实请求、零嵌入、零网络;三账与既有结果文件本轮前后未变。不改变原判据、原结果与本轮 5 过 4 败的如实记录。"
}