From 448c312257dd6d9f6edfb711b20f3973acf11670 Mon Sep 17 00:00:00 2001 From: QUSETIONS <1418458861@qq.com> Date: Tue, 19 May 2026 15:43:08 +0800 Subject: [PATCH 01/38] fix: wire real LLM model into MemoryReranker at runtime Previously create_reranker() tried to auto-create a Haiku adapter which would fail without explicit API keys, leaving the reranker in perpetual pass-through mode. Now the agent's existing model adapter is passed directly: MemoryReranker(model_adapter=model) This means the reranker uses the same model the agent already has access to. The rerank prompt is lightweight (~500 tokens) so even with Opus the cost per curation is manageable. Integration test confirms: real model correctly selects in-domain memories and rejects cross-domain noise with explanations. 718 tests passed, 2 skipped Co-Authored-By: Claude Opus 4.7 --- minicode/agent_loop.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/minicode/agent_loop.py b/minicode/agent_loop.py index 506c717..22f07e0 100644 --- a/minicode/agent_loop.py +++ b/minicode/agent_loop.py @@ -531,11 +531,12 @@ def run_agent_turn( if reflection_engine: reflection_engine.memory = memory_mgr # 初始化 MemoryInjector,将控制论决策落地为实际记忆注入 - # 同时创建 Reranker(LLM 策展,提高检索精度 ~40% -> ~8% 噪音) + # 同时创建 Reranker(使用真实 LLM 做记忆策展) memory_reranker = None try: - from minicode.memory_reranker import create_reranker - memory_reranker = create_reranker() + from minicode.memory_reranker import MemoryReranker + # Use the agent's model for reranking (lightweight prompt, ~500 tokens) + memory_reranker = MemoryReranker(model_adapter=model) except Exception: pass memory_injector = MemoryInjector( From 63d8e05621b9286c9316b1f107074d7100406cc6 Mon Sep 17 00:00:00 2001 From: QUSETIONS <1418458861@qq.com> Date: Tue, 19 May 2026 15:52:00 +0800 Subject: [PATCH 02/38] =?UTF-8?q?chore:=20cleanup=20root=20directory=20?= =?UTF-8?q?=E2=80=94=20remove=2035+=20stale=20files?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Deleted: - 4 PNG screenshots (~280KB) - 2 large binaries (claude-code.zip ~19MB, minicode-py-src.tar.gz ~740KB) - 20+ outdated audit/optimization/security report .md files - 13 legacy root test/smoke scripts (migrated to tests/) - session logs, test output, cache dirs Moved to docs/: CODE_WIKI.md, INTEGRATION_GUIDE.md, USAGE_GUIDE.md Root went from ~50 files to ~16 entries. 718 tests passed, 2 skipped Co-Authored-By: Claude Opus 4.7 --- 01f3f208d18640739ac3e3174cc690b5.png | Bin 106616 -> 0 bytes 45dbbe3d0f3060735999e8b2ff768c8e.png | Bin 82666 -> 0 bytes CLAUDE_CODE_ARCHITECTURE_LEARNING.md | 574 -------------- COMPLETION_REPORT.md | 169 ----- CROSS_PLATFORM_FIXES_REPORT.md | 299 -------- DEEP_OPTIMIZATION_REPORT.md | 301 -------- FINAL_AUDIT_REPORT.md | 348 --------- FINAL_VERIFICATION_REPORT.md | 255 ------- NEW_FEATURES_REPORT.md | 340 --------- PERFORMANCE_OPTIMIZATION_REPORT.md | 201 ----- PLATFORM_AUDIT.md | 257 ------- PROGRESS_REPORT.md | 270 ------- ROBUSTNESS_OPTIMIZATION_REPORT.md | 488 ------------ SECURITY_AND_COMPATIBILITY_AUDIT.md | 465 ------------ SECURITY_FIXES_REPORT.md | 260 ------- SECURITY_TESTS.md | 693 ----------------- STRESS_TEST_REPORT.md | 182 ----- THIRD_ROUND_AUDIT_REPORT.md | 712 ------------------ bench_optim.py | 51 -- claude-code.zip | Bin 19677596 -> 0 bytes CODE_WIKI.md => docs/CODE_WIKI.md | 0 .../INTEGRATION_GUIDE.md | 0 USAGE_GUIDE.md => docs/USAGE_GUIDE.md | 0 f2e6f541745582a5e1a7c429583f9216.png | Bin 49588 -> 0 bytes fe05139d206754772a6c1a583b085a4b.png | Bin 41950 -> 0 bytes minicode-py-src.tar.gz | Bin 740508 -> 0 bytes out.txt | 10 - r7_fix.py | 56 -- round7_optimizer.py | 287 ------- session-log.txt | 15 - smoke_test.py | 116 --- test_chinese_input.py | 99 --- test_integration.py | 517 ------------- test_optim.py | 70 -- test_results.txt | 3 - test_run.py | 74 -- test_state_integration.py | 186 ----- tests/test_packaging.py | 6 +- visual_test.py | 144 ---- 39 files changed, 4 insertions(+), 7444 deletions(-) delete mode 100644 01f3f208d18640739ac3e3174cc690b5.png delete mode 100644 45dbbe3d0f3060735999e8b2ff768c8e.png delete mode 100644 CLAUDE_CODE_ARCHITECTURE_LEARNING.md delete mode 100644 COMPLETION_REPORT.md delete mode 100644 CROSS_PLATFORM_FIXES_REPORT.md delete mode 100644 DEEP_OPTIMIZATION_REPORT.md delete mode 100644 FINAL_AUDIT_REPORT.md delete mode 100644 FINAL_VERIFICATION_REPORT.md delete mode 100644 NEW_FEATURES_REPORT.md delete mode 100644 PERFORMANCE_OPTIMIZATION_REPORT.md delete mode 100644 PLATFORM_AUDIT.md delete mode 100644 PROGRESS_REPORT.md delete mode 100644 ROBUSTNESS_OPTIMIZATION_REPORT.md delete mode 100644 SECURITY_AND_COMPATIBILITY_AUDIT.md delete mode 100644 SECURITY_FIXES_REPORT.md delete mode 100644 SECURITY_TESTS.md delete mode 100644 STRESS_TEST_REPORT.md delete mode 100644 THIRD_ROUND_AUDIT_REPORT.md delete mode 100644 bench_optim.py delete mode 100644 claude-code.zip rename CODE_WIKI.md => docs/CODE_WIKI.md (100%) rename INTEGRATION_GUIDE.md => docs/INTEGRATION_GUIDE.md (100%) rename USAGE_GUIDE.md => docs/USAGE_GUIDE.md (100%) delete mode 100644 f2e6f541745582a5e1a7c429583f9216.png delete mode 100644 fe05139d206754772a6c1a583b085a4b.png delete mode 100644 minicode-py-src.tar.gz delete mode 100644 out.txt delete mode 100644 r7_fix.py delete mode 100644 round7_optimizer.py delete mode 100644 session-log.txt delete mode 100644 smoke_test.py delete mode 100644 test_chinese_input.py delete mode 100644 test_integration.py delete mode 100644 test_optim.py delete mode 100644 test_results.txt delete mode 100644 test_run.py delete mode 100644 test_state_integration.py delete mode 100644 visual_test.py diff --git a/01f3f208d18640739ac3e3174cc690b5.png b/01f3f208d18640739ac3e3174cc690b5.png deleted file mode 100644 index 0c5b9deff650f725e0b1bfd8ffa8951787c3a86e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 106616 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