qwen-sci 0.2.2__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (549) hide show
  1. qwen_sci-0.2.2.dist-info/METADATA +492 -0
  2. qwen_sci-0.2.2.dist-info/RECORD +549 -0
  3. qwen_sci-0.2.2.dist-info/WHEEL +4 -0
  4. qwen_sci-0.2.2.dist-info/entry_points.txt +6 -0
  5. qwen_sci-0.2.2.dist-info/licenses/LICENSE +21 -0
  6. src/1.txt +1 -0
  7. src/__init__.py +1 -0
  8. src/__main__.py +5 -0
  9. src/agents/__init__.py +1 -0
  10. src/agents/experiment_design_agent/__init__.py +268 -0
  11. src/agents/experiment_design_agent/artifacts.py +747 -0
  12. src/agents/experiment_design_agent/cache.py +319 -0
  13. src/agents/experiment_design_agent/completeness.py +130 -0
  14. src/agents/experiment_design_agent/contracts.py +771 -0
  15. src/agents/experiment_design_agent/counterexample_analyzer.py +187 -0
  16. src/agents/experiment_design_agent/design_evidence_paper_screener.py +470 -0
  17. src/agents/experiment_design_agent/discipline_catalog.py +178 -0
  18. src/agents/experiment_design_agent/evidence_cards.py +338 -0
  19. src/agents/experiment_design_agent/evidence_planner.py +452 -0
  20. src/agents/experiment_design_agent/formal_reasoning_planner.py +884 -0
  21. src/agents/experiment_design_agent/fulltext_acquisition.py +863 -0
  22. src/agents/experiment_design_agent/idea_adapter.py +100 -0
  23. src/agents/experiment_design_agent/idea_intake.py +87 -0
  24. src/agents/experiment_design_agent/llm_json.py +328 -0
  25. src/agents/experiment_design_agent/orchestrator.py +1220 -0
  26. src/agents/experiment_design_agent/reasoning_context.py +183 -0
  27. src/agents/experiment_design_agent/reasoning_validation.py +546 -0
  28. src/agents/experiment_design_agent/run.py +481 -0
  29. src/agents/experiment_design_agent/run_logging.py +292 -0
  30. src/agents/experiment_design_agent/scope_gate.py +198 -0
  31. src/agents/experiment_design_agent/study_type_composer.py +1360 -0
  32. src/agents/experiment_design_agent/survey_evidence.py +1381 -0
  33. src/agents/experiment_design_agent/template_router.py +195 -0
  34. src/agents/experiment_design_agent/variable_claim_extractor.py +93 -0
  35. src/agents/idea_agent/__init__.py +1 -0
  36. src/agents/idea_agent/agent/__init__.py +6 -0
  37. src/agents/idea_agent/agent/artifacts.py +308 -0
  38. src/agents/idea_agent/agent/base.py +122 -0
  39. src/agents/idea_agent/agent/ligagent.py +488 -0
  40. src/agents/idea_agent/agent/mcts.py +2060 -0
  41. src/agents/idea_agent/agent/prompts/__init__.py +48 -0
  42. src/agents/idea_agent/agent/prompts/advanced_analysis.py +235 -0
  43. src/agents/idea_agent/agent/prompts/algorithm_alignment.py +55 -0
  44. src/agents/idea_agent/agent/prompts/algorithm_structuring.py +48 -0
  45. src/agents/idea_agent/agent/prompts/component_extraction.py +62 -0
  46. src/agents/idea_agent/agent/prompts/component_novelty_evaluation.py +54 -0
  47. src/agents/idea_agent/agent/prompts/experiment_findings_extraction.py +39 -0
  48. src/agents/idea_agent/agent/prompts/idea_fusion.py +295 -0
  49. src/agents/idea_agent/agent/prompts/idea_introduction.py +30 -0
  50. src/agents/idea_agent/agent/prompts/idea_result_alignment.py +39 -0
  51. src/agents/idea_agent/agent/prompts/input_interpreter.py +52 -0
  52. src/agents/idea_agent/agent/prompts/keynote_ops.py +78 -0
  53. src/agents/idea_agent/agent/prompts/mcts_evaluation.py +235 -0
  54. src/agents/idea_agent/agent/prompts/mcts_generation.py +140 -0
  55. src/agents/idea_agent/agent/prompts/mechanism_commit_query.py +99 -0
  56. src/agents/idea_agent/agent/prompts/memory_selection.py +0 -0
  57. src/agents/idea_agent/agent/prompts/prompt_modes.py +16 -0
  58. src/agents/idea_agent/agent/prompts/rag_query.py +34 -0
  59. src/agents/idea_agent/agent/prompts/re_analysis_replan.py +48 -0
  60. src/agents/idea_agent/agent/prompts/reference_grounding.py +34 -0
  61. src/agents/idea_agent/agent/prompts/root_domain_classification.py +32 -0
  62. src/agents/idea_agent/agent/prompts/scientific_debate.py +88 -0
  63. src/agents/idea_agent/agent/prompts/scientific_materialization.py +45 -0
  64. src/agents/idea_agent/agent/prompts/skill_instantiation.py +193 -0
  65. src/agents/idea_agent/agent/prompts/theory_transfer_query.py +93 -0
  66. src/agents/idea_agent/agent/prompts/topic_background.py +15 -0
  67. src/agents/idea_agent/agent/skills/DEFAULT_SKILL_TEMPLATES.json +263 -0
  68. src/agents/idea_agent/agent/skills/edit_operator_skills/alternative-path-contrast/SKILL.md +40 -0
  69. src/agents/idea_agent/agent/skills/edit_operator_skills/alternative-path-contrast/references/contrast_patterns.md +22 -0
  70. src/agents/idea_agent/agent/skills/edit_operator_skills/feedback-closed-loop/SKILL.md +40 -0
  71. src/agents/idea_agent/agent/skills/edit_operator_skills/feedback-closed-loop/references/mechanism_cards.md +24 -0
  72. src/agents/idea_agent/agent/skills/edit_operator_skills/hierarchical-decomposition/SKILL.md +39 -0
  73. src/agents/idea_agent/agent/skills/edit_operator_skills/hierarchical-decomposition/references/hierarchy_patterns.md +22 -0
  74. src/agents/idea_agent/agent/skills/edit_operator_skills/mechanism-commit-innovation/SKILL.md +39 -0
  75. src/agents/idea_agent/agent/skills/edit_operator_skills/mechanism-commit-innovation/references/mechanism_commit_patterns.md +24 -0
  76. src/agents/idea_agent/agent/skills/edit_operator_skills/multi-scale-coordinator/SKILL.md +39 -0
  77. src/agents/idea_agent/agent/skills/edit_operator_skills/multi-scale-coordinator/references/coordination_patterns.md +22 -0
  78. src/agents/idea_agent/agent/skills/edit_operator_skills/speculative-execution-with-repair/SKILL.md +41 -0
  79. src/agents/idea_agent/agent/skills/edit_operator_skills/speculative-execution-with-repair/references/speculation_patterns.md +22 -0
  80. src/agents/idea_agent/agent/skills/edit_operator_skills/surgical-modularity/SKILL.md +39 -0
  81. src/agents/idea_agent/agent/skills/edit_operator_skills/surgical-modularity/references/modularity_patterns.md +22 -0
  82. src/agents/idea_agent/agent/skills/edit_operator_skills/theory-transfer-injection/SKILL.md +40 -0
  83. src/agents/idea_agent/agent/skills/edit_operator_skills/theory-transfer-injection/references/transfer_patterns.md +24 -0
  84. src/agents/idea_agent/example/idea_result.json +900 -0
  85. src/agents/idea_agent/run.py +276 -0
  86. src/agents/idea_agent/tests/test_advanced_analysis_contract.py +90 -0
  87. src/agents/idea_agent/tests/test_gap_hypothesis_bridge.py +166 -0
  88. src/agents/idea_agent/tests/test_idea_debate.py +480 -0
  89. src/agents/idea_agent/tests/test_idea_result_v5.py +99 -0
  90. src/agents/idea_agent/tests/test_idea_synthesis.py +92 -0
  91. src/agents/idea_agent/tests/test_mature_idea_sources.py +27 -0
  92. src/agents/idea_agent/tests/test_multimodal_idea_integration.py +386 -0
  93. src/agents/idea_agent/tests/test_profile_materialization_and_scoring.py +219 -0
  94. src/agents/idea_agent/tests/test_profile_native_skill_rendering.py +122 -0
  95. src/agents/idea_agent/tests/test_result_persistence.py +183 -0
  96. src/agents/idea_agent/tests/test_scientific_intervention_profiles.py +241 -0
  97. src/agents/idea_agent/tests/test_scientific_rubric_and_prompts.py +559 -0
  98. src/agents/idea_agent/tests/test_strict_json_object_responses.py +48 -0
  99. src/agents/idea_agent/utils/core/__init__.py +1 -0
  100. src/agents/idea_agent/utils/core/ablation_inputs.py +60 -0
  101. src/agents/idea_agent/utils/core/chat_errors.py +95 -0
  102. src/agents/idea_agent/utils/core/chat_router.py +130 -0
  103. src/agents/idea_agent/utils/core/chat_transport.py +188 -0
  104. src/agents/idea_agent/utils/core/config_loader.py +166 -0
  105. src/agents/idea_agent/utils/core/json_utils.py +28 -0
  106. src/agents/idea_agent/utils/core/logger.py +287 -0
  107. src/agents/idea_agent/utils/core/progress.py +58 -0
  108. src/agents/idea_agent/utils/core/response_parsing.py +57 -0
  109. src/agents/idea_agent/utils/core/run_inputs.py +198 -0
  110. src/agents/idea_agent/utils/mcts/__init__.py +1 -0
  111. src/agents/idea_agent/utils/mcts/component_novelty.py +342 -0
  112. src/agents/idea_agent/utils/mcts/defect_registry.py +302 -0
  113. src/agents/idea_agent/utils/mcts/idea_routes.py +61 -0
  114. src/agents/idea_agent/utils/mcts/idea_taste_presets.py +312 -0
  115. src/agents/idea_agent/utils/mcts/mcts_helpers.py +738 -0
  116. src/agents/idea_agent/utils/mcts/mcts_runtime.py +3000 -0
  117. src/agents/idea_agent/utils/mcts/scientific_intervention_ontology.py +1561 -0
  118. src/agents/idea_agent/utils/mcts/scientific_rubric.py +211 -0
  119. src/agents/idea_agent/utils/mcts/skill_parsing.py +92 -0
  120. src/agents/idea_agent/utils/papers/__init__.py +1 -0
  121. src/agents/idea_agent/utils/papers/paper_graph_vector_store.py +499 -0
  122. src/agents/idea_agent/utils/papers/paper_repository.py +372 -0
  123. src/agents/idea_agent/utils/prompting/__init__.py +1 -0
  124. src/agents/idea_agent/utils/prompting/prompt_views.py +637 -0
  125. src/agents/idea_agent/utils/workflow/__init__.py +1 -0
  126. src/agents/idea_agent/utils/workflow/advanced_analysis_contract.py +244 -0
  127. src/agents/idea_agent/utils/workflow/gap_hypothesis_bridge.py +461 -0
  128. src/agents/idea_agent/utils/workflow/idea_contract.py +426 -0
  129. src/agents/idea_agent/utils/workflow/idea_debate.py +1238 -0
  130. src/agents/idea_agent/utils/workflow/idea_diversity.py +163 -0
  131. src/agents/idea_agent/utils/workflow/idea_fusion.py +889 -0
  132. src/agents/idea_agent/utils/workflow/idea_helpers.py +478 -0
  133. src/agents/idea_agent/utils/workflow/idea_portfolio.py +422 -0
  134. src/agents/idea_agent/utils/workflow/idea_synthesis.py +482 -0
  135. src/agents/idea_agent/utils/workflow/ligagent_flow.py +581 -0
  136. src/agents/idea_agent/utils/workflow/ligagent_handlers.py +1836 -0
  137. src/agents/idea_agent/utils/workflow/ligagent_helpers.py +1331 -0
  138. src/agents/idea_agent/utils/workflow/ligagent_utils.py +322 -0
  139. src/agents/idea_agent/utils/workflow/mature_idea_sources.py +648 -0
  140. src/agents/idea_agent/utils/workflow/multimodal_data_anchoring.py +578 -0
  141. src/agents/idea_agent/utils/workflow/result_persistence.py +774 -0
  142. src/agents/idea_agent/utils/workflow/stage_contract.py +76 -0
  143. src/agents/idea_agent/utils/workflow/workflow_runtime.py +288 -0
  144. src/agents/research_plan_author/__init__.py +50 -0
  145. src/agents/research_plan_author/artifacts.py +270 -0
  146. src/agents/research_plan_author/authoring_blueprint.py +1246 -0
  147. src/agents/research_plan_author/bibtex_renderer.py +252 -0
  148. src/agents/research_plan_author/contract_repair.py +131 -0
  149. src/agents/research_plan_author/contracts.py +745 -0
  150. src/agents/research_plan_author/cross_section_editor.py +232 -0
  151. src/agents/research_plan_author/document_quality.py +987 -0
  152. src/agents/research_plan_author/idea_evolution.py +223 -0
  153. src/agents/research_plan_author/input_loader.py +76 -0
  154. src/agents/research_plan_author/latex_compiler.py +260 -0
  155. src/agents/research_plan_author/latex_safety.py +159 -0
  156. src/agents/research_plan_author/llm_json.py +74 -0
  157. src/agents/research_plan_author/markdown_renderer.py +275 -0
  158. src/agents/research_plan_author/pdf_validator.py +149 -0
  159. src/agents/research_plan_author/render.py +166 -0
  160. src/agents/research_plan_author/render_artifacts.py +187 -0
  161. src/agents/research_plan_author/run.py +765 -0
  162. src/agents/research_plan_author/run_logging.py +209 -0
  163. src/agents/research_plan_author/section_cache.py +184 -0
  164. src/agents/research_plan_author/section_composer.py +1764 -0
  165. src/agents/research_plan_author/section_router.py +209 -0
  166. src/agents/research_plan_author/semantic_validator.py +254 -0
  167. src/agents/research_plan_author/source_bundle.py +46 -0
  168. src/agents/research_plan_author/source_registry.py +208 -0
  169. src/agents/research_plan_author/survey_source_loader.py +137 -0
  170. src/agents/research_plan_author/template_adapter.py +173 -0
  171. src/agents/research_plan_author/template_profile.py +204 -0
  172. src/agents/research_plan_author/tex_renderer.py +496 -0
  173. src/agents/research_plan_author/theory_presentation.py +134 -0
  174. src/agents/research_plan_author/theory_spine.py +703 -0
  175. src/agents/survey_agent/Dockerfile +54 -0
  176. src/agents/survey_agent/README.md +350 -0
  177. src/agents/survey_agent/config/deep_survey.yaml +217 -0
  178. src/agents/survey_agent/config/deep_survey_batch.yaml +176 -0
  179. src/agents/survey_agent/config/deep_survey_fast.yaml +183 -0
  180. src/agents/survey_agent/config/evaluate_baseline.yaml +197 -0
  181. src/agents/survey_agent/config/outcomeRAG.yaml +159 -0
  182. src/agents/survey_agent/env_report.md +348 -0
  183. src/agents/survey_agent/modules/__init__.py +0 -0
  184. src/agents/survey_agent/modules/code_collector.py +2194 -0
  185. src/agents/survey_agent/modules/code_report_generator.py +1282 -0
  186. src/agents/survey_agent/modules/data_manager.py +1713 -0
  187. src/agents/survey_agent/modules/database.py +167 -0
  188. src/agents/survey_agent/modules/fulltext_download_cache.py +462 -0
  189. src/agents/survey_agent/modules/fulltext_http.py +134 -0
  190. src/agents/survey_agent/modules/fulltext_resolution.py +749 -0
  191. src/agents/survey_agent/modules/judge.py +434 -0
  192. src/agents/survey_agent/modules/outcome_RAG.py +236 -0
  193. src/agents/survey_agent/modules/paper_graph_retriever.py +1075 -0
  194. src/agents/survey_agent/modules/pe.py +1729 -0
  195. src/agents/survey_agent/modules/pseudo_creator.py +782 -0
  196. src/agents/survey_agent/modules/pseudo_reviser.py +537 -0
  197. src/agents/survey_agent/modules/refine_agent.py +1952 -0
  198. src/agents/survey_agent/modules/survey_generator.py +5691 -0
  199. src/agents/survey_agent/modules/survey_visualizer.py +1817 -0
  200. src/agents/survey_agent/modules/visual_prompts.py +327 -0
  201. src/agents/survey_agent/modules/work_analyzer.py +2750 -0
  202. src/agents/survey_agent/modules/work_collector.py +5649 -0
  203. src/agents/survey_agent/scripts/baseline_evaluation.py +411 -0
  204. src/agents/survey_agent/scripts/run_deep_survey.py +224 -0
  205. src/agents/survey_agent/scripts/run_deep_survey_adapter.py +407 -0
  206. src/agents/survey_agent/scripts/run_deep_survey_adapter_with_input.py +409 -0
  207. src/agents/survey_agent/scripts/run_deep_survey_batch.py +228 -0
  208. src/agents/survey_agent/scripts/run_deep_survey_batch_arg.py +243 -0
  209. src/agents/survey_agent/scripts/run_deep_survey_batch_settings.py +218 -0
  210. src/agents/survey_agent/scripts/run_keynotes_gen.py +128 -0
  211. src/agents/survey_agent/scripts/run_work_clusters.py +140 -0
  212. src/agents/survey_agent/utils/__init__.py +0 -0
  213. src/agents/survey_agent/utils/ablation_utils.py +317 -0
  214. src/agents/survey_agent/utils/api_call.py +2518 -0
  215. src/agents/survey_agent/utils/chat_utils.py +82 -0
  216. src/agents/survey_agent/utils/config_utils.py +70 -0
  217. src/agents/survey_agent/utils/convert_to_md.py +29 -0
  218. src/agents/survey_agent/utils/err_info.py +24 -0
  219. src/agents/survey_agent/utils/file_utils.py +176 -0
  220. src/agents/survey_agent/utils/gpu_utils.py +145 -0
  221. src/agents/survey_agent/utils/graph_visualizer.py +279 -0
  222. src/agents/survey_agent/utils/html_utils.py +181 -0
  223. src/agents/survey_agent/utils/latex_generator_intra_cluster.py +529 -0
  224. src/agents/survey_agent/utils/latex_generator_relation_table.py +193 -0
  225. src/agents/survey_agent/utils/mineru_section_packer.py +334 -0
  226. src/agents/survey_agent/utils/mineru_utils.py +396 -0
  227. src/agents/survey_agent/utils/paper.py +144 -0
  228. src/agents/survey_agent/utils/read_yaml.py +15 -0
  229. src/agents/survey_agent/utils/repo_utils.py +167 -0
  230. src/agents/survey_agent/utils/rich_logger.py +77 -0
  231. src/agents/survey_agent/utils/step2v2.py +874 -0
  232. src/agents/survey_agent/utils/step2v2_extractor.py +856 -0
  233. src/agents/survey_agent/utils/topic_survey_storage.py +309 -0
  234. src/agents/survey_agent/utils/utils.py +118 -0
  235. src/agents/survey_agent/utils/work.py +2 -0
  236. src/cli.py +1611 -0
  237. src/config/__init__.py +213 -0
  238. src/config/default.yaml +1122 -0
  239. src/harness/LICENSE +21 -0
  240. src/harness/VENDORED.md +14 -0
  241. src/harness/src/__init__.py +0 -0
  242. src/harness/src/openharness/__init__.py +0 -0
  243. src/harness/src/openharness/__main__.py +6 -0
  244. src/harness/src/openharness/api/__init__.py +21 -0
  245. src/harness/src/openharness/api/client.py +281 -0
  246. src/harness/src/openharness/api/codex_client.py +407 -0
  247. src/harness/src/openharness/api/copilot_auth.py +240 -0
  248. src/harness/src/openharness/api/copilot_client.py +134 -0
  249. src/harness/src/openharness/api/errors.py +19 -0
  250. src/harness/src/openharness/api/openai_client.py +577 -0
  251. src/harness/src/openharness/api/provider.py +186 -0
  252. src/harness/src/openharness/api/registry.py +437 -0
  253. src/harness/src/openharness/api/usage.py +17 -0
  254. src/harness/src/openharness/auth/__init__.py +29 -0
  255. src/harness/src/openharness/auth/external.py +610 -0
  256. src/harness/src/openharness/auth/flows.py +189 -0
  257. src/harness/src/openharness/auth/manager.py +482 -0
  258. src/harness/src/openharness/auth/storage.py +269 -0
  259. src/harness/src/openharness/autopilot/__init__.py +23 -0
  260. src/harness/src/openharness/autopilot/service.py +2239 -0
  261. src/harness/src/openharness/autopilot/types.py +91 -0
  262. src/harness/src/openharness/bridge/__init__.py +20 -0
  263. src/harness/src/openharness/bridge/manager.py +106 -0
  264. src/harness/src/openharness/bridge/session_runner.py +46 -0
  265. src/harness/src/openharness/bridge/types.py +37 -0
  266. src/harness/src/openharness/bridge/work_secret.py +41 -0
  267. src/harness/src/openharness/channels/UPSTREAM +6 -0
  268. src/harness/src/openharness/channels/__init__.py +22 -0
  269. src/harness/src/openharness/channels/adapter.py +131 -0
  270. src/harness/src/openharness/channels/bus/__init__.py +6 -0
  271. src/harness/src/openharness/channels/bus/events.py +38 -0
  272. src/harness/src/openharness/channels/bus/queue.py +44 -0
  273. src/harness/src/openharness/channels/impl/__init__.py +6 -0
  274. src/harness/src/openharness/channels/impl/base.py +141 -0
  275. src/harness/src/openharness/channels/impl/dingtalk.py +445 -0
  276. src/harness/src/openharness/channels/impl/discord.py +311 -0
  277. src/harness/src/openharness/channels/impl/email.py +410 -0
  278. src/harness/src/openharness/channels/impl/feishu.py +1342 -0
  279. src/harness/src/openharness/channels/impl/manager.py +257 -0
  280. src/harness/src/openharness/channels/impl/matrix.py +700 -0
  281. src/harness/src/openharness/channels/impl/mochat.py +897 -0
  282. src/harness/src/openharness/channels/impl/qq.py +141 -0
  283. src/harness/src/openharness/channels/impl/slack.py +284 -0
  284. src/harness/src/openharness/channels/impl/telegram.py +525 -0
  285. src/harness/src/openharness/channels/impl/whatsapp.py +159 -0
  286. src/harness/src/openharness/cli.py +2551 -0
  287. src/harness/src/openharness/commands/__init__.py +21 -0
  288. src/harness/src/openharness/commands/registry.py +2783 -0
  289. src/harness/src/openharness/config/__init__.py +34 -0
  290. src/harness/src/openharness/config/paths.py +160 -0
  291. src/harness/src/openharness/config/schema.py +119 -0
  292. src/harness/src/openharness/config/settings.py +1104 -0
  293. src/harness/src/openharness/coordinator/__init__.py +12 -0
  294. src/harness/src/openharness/coordinator/agent_definitions.py +975 -0
  295. src/harness/src/openharness/coordinator/coordinator_mode.py +520 -0
  296. src/harness/src/openharness/engine/__init__.py +80 -0
  297. src/harness/src/openharness/engine/cost_tracker.py +24 -0
  298. src/harness/src/openharness/engine/messages.py +222 -0
  299. src/harness/src/openharness/engine/query.py +1188 -0
  300. src/harness/src/openharness/engine/query_engine.py +313 -0
  301. src/harness/src/openharness/engine/stream_events.py +90 -0
  302. src/harness/src/openharness/hooks/__init__.py +50 -0
  303. src/harness/src/openharness/hooks/events.py +20 -0
  304. src/harness/src/openharness/hooks/executor.py +242 -0
  305. src/harness/src/openharness/hooks/hot_reload.py +31 -0
  306. src/harness/src/openharness/hooks/loader.py +68 -0
  307. src/harness/src/openharness/hooks/schemas.py +66 -0
  308. src/harness/src/openharness/hooks/types.py +38 -0
  309. src/harness/src/openharness/keybindings/__init__.py +14 -0
  310. src/harness/src/openharness/keybindings/default_bindings.py +11 -0
  311. src/harness/src/openharness/keybindings/loader.py +22 -0
  312. src/harness/src/openharness/keybindings/parser.py +18 -0
  313. src/harness/src/openharness/keybindings/resolver.py +13 -0
  314. src/harness/src/openharness/mcp/__init__.py +79 -0
  315. src/harness/src/openharness/mcp/client.py +298 -0
  316. src/harness/src/openharness/mcp/config.py +16 -0
  317. src/harness/src/openharness/mcp/types.py +76 -0
  318. src/harness/src/openharness/memory/__init__.py +25 -0
  319. src/harness/src/openharness/memory/agent.py +91 -0
  320. src/harness/src/openharness/memory/manager.py +183 -0
  321. src/harness/src/openharness/memory/memdir.py +52 -0
  322. src/harness/src/openharness/memory/migrate.py +137 -0
  323. src/harness/src/openharness/memory/paths.py +22 -0
  324. src/harness/src/openharness/memory/relevance.py +145 -0
  325. src/harness/src/openharness/memory/scan.py +116 -0
  326. src/harness/src/openharness/memory/schema.py +443 -0
  327. src/harness/src/openharness/memory/search.py +71 -0
  328. src/harness/src/openharness/memory/team.py +90 -0
  329. src/harness/src/openharness/memory/types.py +33 -0
  330. src/harness/src/openharness/memory/usage.py +153 -0
  331. src/harness/src/openharness/output_styles/__init__.py +5 -0
  332. src/harness/src/openharness/output_styles/loader.py +42 -0
  333. src/harness/src/openharness/permissions/__init__.py +26 -0
  334. src/harness/src/openharness/permissions/checker.py +200 -0
  335. src/harness/src/openharness/permissions/modes.py +13 -0
  336. src/harness/src/openharness/personalization/__init__.py +6 -0
  337. src/harness/src/openharness/personalization/extractor.py +138 -0
  338. src/harness/src/openharness/personalization/rules.py +64 -0
  339. src/harness/src/openharness/personalization/session_hook.py +65 -0
  340. src/harness/src/openharness/platforms.py +86 -0
  341. src/harness/src/openharness/plugins/__init__.py +53 -0
  342. src/harness/src/openharness/plugins/bundled/__init__.py +0 -0
  343. src/harness/src/openharness/plugins/installer.py +39 -0
  344. src/harness/src/openharness/plugins/loader.py +730 -0
  345. src/harness/src/openharness/plugins/schemas.py +24 -0
  346. src/harness/src/openharness/plugins/types.py +59 -0
  347. src/harness/src/openharness/prompts/__init__.py +14 -0
  348. src/harness/src/openharness/prompts/claudemd.py +48 -0
  349. src/harness/src/openharness/prompts/context.py +187 -0
  350. src/harness/src/openharness/prompts/environment.py +135 -0
  351. src/harness/src/openharness/prompts/system_prompt.py +109 -0
  352. src/harness/src/openharness/sandbox/Dockerfile +6 -0
  353. src/harness/src/openharness/sandbox/__init__.py +33 -0
  354. src/harness/src/openharness/sandbox/adapter.py +148 -0
  355. src/harness/src/openharness/sandbox/docker_backend.py +232 -0
  356. src/harness/src/openharness/sandbox/docker_image.py +103 -0
  357. src/harness/src/openharness/sandbox/path_validator.py +37 -0
  358. src/harness/src/openharness/sandbox/session.py +63 -0
  359. src/harness/src/openharness/services/__init__.py +30 -0
  360. src/harness/src/openharness/services/autodream/__init__.py +34 -0
  361. src/harness/src/openharness/services/autodream/backup.py +104 -0
  362. src/harness/src/openharness/services/autodream/lock.py +138 -0
  363. src/harness/src/openharness/services/autodream/prompt.py +128 -0
  364. src/harness/src/openharness/services/autodream/service.py +313 -0
  365. src/harness/src/openharness/services/compact/__init__.py +1725 -0
  366. src/harness/src/openharness/services/cron.py +137 -0
  367. src/harness/src/openharness/services/cron_scheduler.py +595 -0
  368. src/harness/src/openharness/services/lsp/__init__.py +216 -0
  369. src/harness/src/openharness/services/memory_extract/__init__.py +261 -0
  370. src/harness/src/openharness/services/oauth/__init__.py +0 -0
  371. src/harness/src/openharness/services/session_backend.py +97 -0
  372. src/harness/src/openharness/services/session_memory/__init__.py +139 -0
  373. src/harness/src/openharness/services/session_storage.py +230 -0
  374. src/harness/src/openharness/services/token_estimation.py +15 -0
  375. src/harness/src/openharness/services/tool_outputs.py +55 -0
  376. src/harness/src/openharness/skills/__init__.py +44 -0
  377. src/harness/src/openharness/skills/_frontmatter.py +97 -0
  378. src/harness/src/openharness/skills/bundled/__init__.py +75 -0
  379. src/harness/src/openharness/skills/bundled/content/commit.md +25 -0
  380. src/harness/src/openharness/skills/bundled/content/debug.md +25 -0
  381. src/harness/src/openharness/skills/bundled/content/diagnose.md +35 -0
  382. src/harness/src/openharness/skills/bundled/content/plan.md +39 -0
  383. src/harness/src/openharness/skills/bundled/content/review.md +33 -0
  384. src/harness/src/openharness/skills/bundled/content/simplify.md +26 -0
  385. src/harness/src/openharness/skills/bundled/content/skill-creator.md +175 -0
  386. src/harness/src/openharness/skills/bundled/content/test.md +38 -0
  387. src/harness/src/openharness/skills/loader.py +229 -0
  388. src/harness/src/openharness/skills/registry.py +29 -0
  389. src/harness/src/openharness/skills/types.py +24 -0
  390. src/harness/src/openharness/state/__init__.py +6 -0
  391. src/harness/src/openharness/state/app_state.py +30 -0
  392. src/harness/src/openharness/state/store.py +40 -0
  393. src/harness/src/openharness/swarm/__init__.py +70 -0
  394. src/harness/src/openharness/swarm/in_process.py +693 -0
  395. src/harness/src/openharness/swarm/lockfile.py +24 -0
  396. src/harness/src/openharness/swarm/mailbox.py +522 -0
  397. src/harness/src/openharness/swarm/permission_sync.py +1168 -0
  398. src/harness/src/openharness/swarm/registry.py +410 -0
  399. src/harness/src/openharness/swarm/spawn_utils.py +229 -0
  400. src/harness/src/openharness/swarm/subprocess_backend.py +171 -0
  401. src/harness/src/openharness/swarm/team_lifecycle.py +910 -0
  402. src/harness/src/openharness/swarm/types.py +398 -0
  403. src/harness/src/openharness/swarm/worktree.py +315 -0
  404. src/harness/src/openharness/tasks/__init__.py +18 -0
  405. src/harness/src/openharness/tasks/local_agent_task.py +28 -0
  406. src/harness/src/openharness/tasks/local_shell_task.py +17 -0
  407. src/harness/src/openharness/tasks/manager.py +475 -0
  408. src/harness/src/openharness/tasks/stop_task.py +11 -0
  409. src/harness/src/openharness/tasks/types.py +32 -0
  410. src/harness/src/openharness/themes/__init__.py +21 -0
  411. src/harness/src/openharness/themes/builtin.py +89 -0
  412. src/harness/src/openharness/themes/loader.py +55 -0
  413. src/harness/src/openharness/themes/schema.py +54 -0
  414. src/harness/src/openharness/tools/__init__.py +107 -0
  415. src/harness/src/openharness/tools/agent_tool.py +141 -0
  416. src/harness/src/openharness/tools/ask_user_question_tool.py +46 -0
  417. src/harness/src/openharness/tools/base.py +80 -0
  418. src/harness/src/openharness/tools/bash_tool.py +259 -0
  419. src/harness/src/openharness/tools/brief_tool.py +33 -0
  420. src/harness/src/openharness/tools/config_tool.py +54 -0
  421. src/harness/src/openharness/tools/cron_create_tool.py +105 -0
  422. src/harness/src/openharness/tools/cron_delete_tool.py +32 -0
  423. src/harness/src/openharness/tools/cron_list_tool.py +69 -0
  424. src/harness/src/openharness/tools/cron_toggle_tool.py +37 -0
  425. src/harness/src/openharness/tools/enter_plan_mode_tool.py +28 -0
  426. src/harness/src/openharness/tools/enter_worktree_tool.py +80 -0
  427. src/harness/src/openharness/tools/exit_plan_mode_tool.py +28 -0
  428. src/harness/src/openharness/tools/exit_worktree_tool.py +42 -0
  429. src/harness/src/openharness/tools/file_edit_tool.py +95 -0
  430. src/harness/src/openharness/tools/file_read_tool.py +72 -0
  431. src/harness/src/openharness/tools/file_write_tool.py +87 -0
  432. src/harness/src/openharness/tools/glob_tool.py +175 -0
  433. src/harness/src/openharness/tools/grep_tool.py +374 -0
  434. src/harness/src/openharness/tools/image_generation_tool.py +447 -0
  435. src/harness/src/openharness/tools/image_to_text_tool.py +237 -0
  436. src/harness/src/openharness/tools/list_mcp_resources_tool.py +36 -0
  437. src/harness/src/openharness/tools/lsp_tool.py +154 -0
  438. src/harness/src/openharness/tools/mcp_auth_tool.py +71 -0
  439. src/harness/src/openharness/tools/mcp_tool.py +72 -0
  440. src/harness/src/openharness/tools/notebook_edit_tool.py +97 -0
  441. src/harness/src/openharness/tools/read_mcp_resource_tool.py +38 -0
  442. src/harness/src/openharness/tools/remote_trigger_tool.py +74 -0
  443. src/harness/src/openharness/tools/send_message_tool.py +58 -0
  444. src/harness/src/openharness/tools/skill_tool.py +43 -0
  445. src/harness/src/openharness/tools/sleep_tool.py +32 -0
  446. src/harness/src/openharness/tools/task_create_tool.py +56 -0
  447. src/harness/src/openharness/tools/task_get_tool.py +33 -0
  448. src/harness/src/openharness/tools/task_list_tool.py +35 -0
  449. src/harness/src/openharness/tools/task_output_tool.py +35 -0
  450. src/harness/src/openharness/tools/task_stop_tool.py +30 -0
  451. src/harness/src/openharness/tools/task_update_tool.py +50 -0
  452. src/harness/src/openharness/tools/team_create_tool.py +31 -0
  453. src/harness/src/openharness/tools/team_delete_tool.py +30 -0
  454. src/harness/src/openharness/tools/todo_write_tool.py +46 -0
  455. src/harness/src/openharness/tools/tool_search_tool.py +38 -0
  456. src/harness/src/openharness/tools/web_fetch_tool.py +117 -0
  457. src/harness/src/openharness/tools/web_search_tool.py +119 -0
  458. src/harness/src/openharness/ui/__init__.py +5 -0
  459. src/harness/src/openharness/ui/app.py +320 -0
  460. src/harness/src/openharness/ui/backend_host.py +941 -0
  461. src/harness/src/openharness/ui/coordinator_drain.py +198 -0
  462. src/harness/src/openharness/ui/input.py +32 -0
  463. src/harness/src/openharness/ui/output.py +265 -0
  464. src/harness/src/openharness/ui/permission_dialog.py +14 -0
  465. src/harness/src/openharness/ui/protocol.py +247 -0
  466. src/harness/src/openharness/ui/react_launcher.py +179 -0
  467. src/harness/src/openharness/ui/runtime.py +799 -0
  468. src/harness/src/openharness/ui/textual_app.py +495 -0
  469. src/harness/src/openharness/utils/__init__.py +0 -0
  470. src/harness/src/openharness/utils/file_lock.py +86 -0
  471. src/harness/src/openharness/utils/fs.py +98 -0
  472. src/harness/src/openharness/utils/helpers.py +77 -0
  473. src/harness/src/openharness/utils/network_guard.py +340 -0
  474. src/harness/src/openharness/utils/shell.py +147 -0
  475. src/harness/src/openharness/vim/__init__.py +5 -0
  476. src/harness/src/openharness/vim/transitions.py +8 -0
  477. src/harness/src/openharness/voice/__init__.py +7 -0
  478. src/harness/src/openharness/voice/keyterms.py +10 -0
  479. src/harness/src/openharness/voice/stream_stt.py +8 -0
  480. src/harness/src/openharness/voice/voice_mode.py +44 -0
  481. src/llm/__init__.py +29 -0
  482. src/llm/image_generation.py +402 -0
  483. src/llm/provider_registry.py +419 -0
  484. src/llm/runtime_env.py +64 -0
  485. src/llm/structured_output.py +131 -0
  486. src/llm/vision.py +198 -0
  487. src/memory/__init__.py +2 -0
  488. src/memory/api/__init__.py +1 -0
  489. src/memory/api/base_memory_system_api.py +98 -0
  490. src/memory/api/base_symbolic_memory_system_api.py +190 -0
  491. src/memory/api/base_vector_memory_system_api.py +116 -0
  492. src/memory/api/faiss_memory_system_api.py +228 -0
  493. src/memory/api/slot_process_api.py +827 -0
  494. src/memory/api/symbolic_memory_system_api.py +572 -0
  495. src/memory/memory_system/__init__.py +48 -0
  496. src/memory/memory_system/component_taxonomy.py +430 -0
  497. src/memory/memory_system/llm.py +437 -0
  498. src/memory/memory_system/models.py +168 -0
  499. src/memory/memory_system/user_prompt.py +418 -0
  500. src/memory/memory_system/utils.py +282 -0
  501. src/memory/memory_system/vectorstore.py +311 -0
  502. src/memory/memory_system/working_slot.py +99 -0
  503. src/pipeline/__init__.py +129 -0
  504. src/pipeline/contracts.py +531 -0
  505. src/pipeline/discipline_taxonomy.py +916 -0
  506. src/pipeline/evidence_coverage_ledger.py +1150 -0
  507. src/pipeline/evidence_refinement.py +620 -0
  508. src/pipeline/experiment_to_symbolic.py +137 -0
  509. src/pipeline/multimodal_evidence/__init__.py +28 -0
  510. src/pipeline/multimodal_evidence/capabilities.py +107 -0
  511. src/pipeline/multimodal_evidence/claims.py +135 -0
  512. src/pipeline/multimodal_evidence/contract.py +291 -0
  513. src/pipeline/multimodal_evidence/data_sh_compiler.py +505 -0
  514. src/pipeline/multimodal_evidence/handoff_binding.py +135 -0
  515. src/pipeline/multimodal_evidence/manifest.py +254 -0
  516. src/pipeline/multimodal_evidence/native_analysis.py +479 -0
  517. src/pipeline/multimodal_evidence/perception.py +277 -0
  518. src/pipeline/multimodal_evidence/query_binding.py +65 -0
  519. src/pipeline/multimodal_evidence/rendering.py +120 -0
  520. src/pipeline/multimodal_evidence/safety.py +42 -0
  521. src/pipeline/multimodal_evidence/sampling.py +69 -0
  522. src/pipeline/multimodal_evidence/service.py +148 -0
  523. src/pipeline/multimodal_evidence/survey_integration.py +460 -0
  524. src/pipeline/paper_identity.py +52 -0
  525. src/pipeline/research_design_inventory.py +338 -0
  526. src/pipeline/research_domain_resolution.py +669 -0
  527. src/pipeline/research_identity.py +548 -0
  528. src/pipeline/research_question_contract.py +646 -0
  529. src/pipeline/retrieval_lanes.py +889 -0
  530. src/pipeline/run_loop.py +862 -0
  531. src/pipeline/science_events.py +30 -0
  532. src/pipeline/science_manifests.py +602 -0
  533. src/pipeline/science_run.py +918 -0
  534. src/pipeline/science_stages.py +709 -0
  535. src/pipeline/science_workflow.py +807 -0
  536. src/pipeline/sh_cluster_projection.py +306 -0
  537. src/pipeline/sh_graph_provenance.py +648 -0
  538. src/pipeline/subhypothesis_decomposition.py +392 -0
  539. src/pipeline/subhypothesis_evidence.py +856 -0
  540. src/pipeline/survey_evidence_plan.py +858 -0
  541. src/pipeline/survey_gap_adjudication.py +647 -0
  542. src/pipeline/survey_gap_candidates.py +840 -0
  543. src/pipeline/survey_gap_ledger.py +683 -0
  544. src/pipeline/survey_gap_triage.py +401 -0
  545. src/pipeline/survey_handoff_persistence.py +481 -0
  546. src/pipeline/survey_handoff_projection.py +457 -0
  547. src/pipeline/survey_idea_handoff.py +1112 -0
  548. src/pipeline/survey_idea_loader.py +289 -0
  549. src/research_run_ids.py +11 -0
@@ -0,0 +1,900 @@
1
+ {
2
+ "title": "Family-Calibrated Deterministic Packing for Training-Free Atomic-Note Memory in LLM Agents",
3
+ "abstract": "We present a lightweight, training-free refinement of atomic-note memory for LLM agents that shifts the main read-time innovation from richer control logic to a more conservative and better-grounded evidence selection rule. The system keeps the mature design choices that appear most robust for scalable QA-oriented memory: immutable span-grounded notes, small write-time semantic enrichment, cached embeddings, provenance-family IDs, and an efficiency-first bounded retrieval stage. Our contribution is a family-calibrated deterministic packing step that uses only candidate-pool statistics to decide when provenance-family agreement should help and when it should be ignored. After bounded ANN and lexical screening, the method analytically estimates whether a provenance family is receiving more support than expected from its size under a label-uninformative null, shrinks that signal for small or noisy families, and injects it only as a bounded regularizer into a single deterministic rank-and-pack equation. The same packer also handles small role quotas, family caps, soft duplicate decay, and an explicit degraded mode that reverts to relevance-only packing when pool statistics are unreliable. Relative to heavier trust loops, learned rerankers, or persistent mutable family scores, this design stays closer to the survey-supported pattern of compact structured memories plus efficient multi-stage retrieval, while directly targeting QA accuracy, latency stability, and safe degradation under noisy metadata.",
4
+ "method": "The memory store follows the lightweight atomic-note design: each stored unit is an immutable span-grounded note enriched only with QA-critical metadata, including a cached embedding, confidence-aware entity and time tags, compact question-oriented keywords, a short context descriptor, a provenance-family ID, sparse deterministic local links, and optional note-attached micro-handles kept as metadata rather than as a separate index.\n\nAt read time, retrieval remains efficiency-first and bounded. Stage 1 forms a candidate pool using approximate nearest-neighbor search over cached embeddings plus lexical screening, with optional small boosts from entity, time, keyword, or micro-handle matches. This returns a bounded candidate set C with base scores b_i that summarize dense relevance, lexical fit, and small facet hints.\n\nStage 2 replaces ad hoc provenance bonuses with analytic within-query family calibration. Candidates are grouped by provenance family f. For each family, the method computes raw corroboration R_f = sum of base scores over candidates in that family. It then estimates the amount of support that family would be expected to receive under a label-uninformative null using only current-pool statistics: mu_f = m_f * mean(b), where m_f is the number of candidates from family f. A finite-population variance estimate is used, sigma_f^2 = m_f * Var(b) * (1 - m_f / N) + var_floor, so small pools or low-variance pools do not create unstable z-scores. The excess support statistic is z_f = (R_f - mu_f) / sqrt(sigma_f^2 + eps).\n\nTo avoid overreacting to small or noisy families, the method shrinks this statistic by family size: z'_f = z_f * m_f / (m_f + lambda). The shrunk value is mapped into a bounded corroboration signal c_f = tanh(z'_f / tau), ensuring that family influence cannot explode. This corroboration is combined with a conservative family prior p_f derived from the mean write-time confidence of notes from that family in the current pool. The result is an ephemeral reliability score r_f in [0,1], for example r_f = clamp(alpha_prior * p_f + (1 - alpha_prior) * (c_f + 1) / 2, 0, 1). The method also computes an uncertainty term u_f in [0,1] from the family variance estimate and effective sample size, so high-variance or weakly supported families contribute less.\n\nThe final evidence selection is handled by one deterministic rank-and-pack step. First, base scores are normalized within the candidate pool: b_norm_i = (b_i - mean(b)) / sqrt(Var(b) + eps). Next, family reliability is converted to signed support s_f = 2 * r_f - 1. Each family contributes a bounded regularizer family_reg_f = gamma * s_f * (1 - u_f). Each candidate receives final_score_i = b_norm_i + family_reg_{family(i)}.\n\nThe packer includes an explicit degraded mode rather than a separate controller. If pool statistics indicate that family calibration is unreliable—for example, the candidate pool is too small, score variance is too low, or family-label entropy is too low—then all family regularizers are set to zero and the same packer proceeds with plain relevance-first scoring. This keeps failure behavior simple and observable.\n\nPacking is then performed greedily after sorting by final_score. A candidate is accepted if its small role quota is not full, its family has not exceeded a small cap, and its overlap with already selected evidence is acceptable. High-overlap candidates are softly decayed rather than always hard-rejected, preserving useful redundancy when needed for QA. The process stops when the fixed evidence budget is filled.\n\nThis design is intentionally narrow: it does not add a learned reranker, a router, a separate trust-evaluation loop, or persistent mutable family statistics across queries. In contrast to systems such as TAME that improve trustworthiness through an evaluator memory and extra refinement overhead, or procedural-memory approaches such as MACLA that rely on expected-utility scoring over reusable skills, this method focuses on a simpler setting supported by the broader memory literature: compact structured memory units plus efficient retrieval and lightweight evidence packing. Its main claim is that provenance information is useful for QA only after being normalized against family size and pool statistics, and only when injected conservatively into a deterministic packer.",
5
+ "introduction": "Large language model (LLM) agents increasingly rely on external memory to compensate for limited context windows, avoid repeated reasoning, and preserve decision-relevant information across interactions. Recent training-free memory systems suggest a consistent design lesson: gains come less from storing more raw history than from converting experience into compact, reusable memory units and retrieving only the small amount of evidence most relevant to the current query. Building on the insights of Dynamic Cheatsheet: Test-Time Learning with Adaptive Memory, which emphasizes curated compact memory rather than full-history reuse, and AnalogAgent: Self-Improving Analog Circuit Design Automation with LLM Agents, which shows the value of distilling execution evidence into atomic reusable rules, this line of work motivates memory architectures that are structured, selective, and lightweight at inference time. At the same time, the broader survey literature highlights a recurring tension: richer retrieval and filtering logic may improve selectivity, but it also increases latency, complexity, and susceptibility to hidden failure modes when metadata is noisy or memory quality drifts.\n\nThis paper takes as its starting point a mature training-free span-grounded memory design for LLM agents that stores immutable atomic notes enriched only with QA-critical metadata and reads them through an efficiency-first two-stage retrieval pipeline. That design already embodies several robust choices for scalable question answering: memory is written as immutable span-grounded notes rather than mutable summaries, enrichment is intentionally narrow, cached embeddings support bounded approximate retrieval, and small lexical or facet cues complement dense similarity. However, a remaining weakness lies in how provenance-family information is used at read time. Naive provenance bonuses can overreward large or duplicated families, while heavier trust or utility loops risk turning a lightweight memory reader into a more complex controller whose behavior is harder to audit and whose latency is less stable. The specific limitation repaired in this work is therefore not the write path, but the read-time treatment of corroboration: existing family signals are insufficiently calibrated against family size and pool composition, and can fail silently when provenance metadata is sparse, noisy, or spuriously concentrated.\n\nOur proposal is a refinement of that mature atomic-note memory system, centered on a family-calibrated deterministic packing mechanism for evidence selection. The central idea is that provenance families should influence question-answering retrieval only when their apparent corroboration exceeds what would be expected from their representation in the retrieved candidate pool. Concretely, after bounded ANN retrieval and lexical screening produce a candidate set with base relevance scores, candidates are grouped by provenance family and evaluated under a label-uninformative null model defined entirely within the current pool. Family support is measured as the summed base relevance within a family, normalized by the support expected from that family’s candidate count and by a finite-population variance estimate, then shrunk for small families and mapped into a bounded corroboration signal. This family signal is not allowed to control selection on its own; instead, it acts only as a conservative regularizer inside a single deterministic rank-and-pack equation that also enforces fixed evidence budgets, small role quotas, family caps, and soft duplicate decay.\n\nThis design intentionally stays close to the training-free, efficiency-first memory pattern supported by prior work while drawing a clear contrast with heavier alternatives. Building on the insights of MACLA, which uses closed-form expected-utility selection over compact procedural memories, our proposal similarly favors analytic, training-free scoring over learned reranking. Yet unlike MACLA, our target setting is not reusable procedural skill selection but QA-oriented evidence packing over immutable atomic notes, where persistent family-level beliefs may drift and where bounded, within-query calibration is preferable to carrying mutable trust estimates across tasks. Likewise, in contrast to TAME: A Trustworthy Test-Time Evolution of Agent Memory with Systematic Benchmarking, which addresses memory misevolution through a dual-memory Executor/Evaluator loop and added trust refinement overhead, the present proposal asks whether a narrower intervention can offer safer behavior in a simpler setting: keep the memory representation unchanged, retain efficient candidate generation, and make provenance matter only through a bounded, uncertainty-aware adjustment that can be explicitly disabled.\n\nA key methodological objective is safe degradation. Because provenance IDs, write-time confidences, and enrichment tags may be incomplete or unreliable, the proposed packer includes an explicit degraded mode defined by observable pool statistics rather than by an additional controller. When the candidate pool is too small, score variance is too low, or family-label entropy is too weak to support meaningful calibration, the family regularizer is set to zero and the same deterministic packer reverts to plain relevance-first behavior. This addresses an important failure mode in memory systems identified across the literature: memory quality and retrieval policy interact, and poorly grounded metadata can silently reduce downstream quality if auxiliary signals are always trusted. By constraining provenance influence to a bounded regularizer, using only current-pool statistics, and preserving a relevance-only fallback, the proposal aims to make failure behavior simpler, more observable, and easier to ablate.\n\nThe paper therefore advances the following hypothesis: in training-free atomic-note memory for LLM agents, provenance-family information is useful for question answering only after it is normalized against family size and current-pool score statistics, and only when injected conservatively into a deterministic fixed-budget evidence packer. A second hypothesis is that this calibrated use of provenance can offer a better latency-safety trade-off than either raw family bonuses or heavier trust-evaluation loops, precisely because it leaves the write path unchanged and limits additional read-time computation to a lightweight analytic step. To evaluate these claims, the study is designed around matched-budget comparisons that keep the note store, first-stage candidate pool, metadata, and evidence budget fixed while varying only the read-time packer. The planned analysis includes ablations against plain deterministic packing and uncalibrated provenance bonuses, as well as stress tests for noisy family IDs, synthetic null-family conditions, provenance poisoning, sparse candidate pools, and memory growth. In this sense, the contribution is not a broader memory architecture, but a more precise proposal for how corroborative structure should be admitted into retrieval: analytically normalized, uncertainty-aware, bounded in effect, and dispensable when the evidence for using it is weak.",
6
+ "components": [
7
+ {
8
+ "component": "two_stage_retrieval",
9
+ "explanation": "Efficiency-first candidate generation: bounded ANN retrieval plus lexical screening, with optional soft facet hints, to keep recall high while capping latency before calibration."
10
+ },
11
+ {
12
+ "component": "modular_atomic_note_enricher",
13
+ "explanation": "Write-path module that produces immutable atomic notes with only QA-critical enrichment, including provenance-family IDs and confidence-aware entity/time metadata needed for calibration and packing."
14
+ },
15
+ {
16
+ "component": "deterministic_rank_and_pack",
17
+ "explanation": "One‑pass deterministic scoring and greedy packing stage that consumes b_i from two_stage_retrieval and bounded family signals (r_f,u_f) from ShrinkageAnalyticNullEstimator. It normalizes base scores per pool, adds the bounded family_regularizer, enforces lightweight per‑role quotas and small per‑family caps (folded duplicate control), applies soft overlap decay, and implements an internal deterministic fallback to relevance‑only packing when pool statistics indicate unreliable family evidence."
18
+ },
19
+ {
20
+ "component": "note_attached_micro_handles",
21
+ "explanation": "Exact handles remain attached to notes as metadata only and can seed lexical or facet boosts, avoiding a separate handle index while preserving precise lookup when useful."
22
+ },
23
+ {
24
+ "component": "ShrinkageAnalyticNullEstimator",
25
+ "explanation": "Closed-form family calibrator. It computes expected corroboration and variance under a label-uninformative null, applies variance floors and family-size shrinkage, and outputs bounded support or failure mass for each family."
26
+ }
27
+ ],
28
+ "algorithm": [
29
+ {
30
+ "name": "Atomic Note Ingestion",
31
+ "input": [
32
+ "source_spans with document_id, byte offsets, raw span text, local context, source timestamp, and provenance-family ID",
33
+ "write-time configuration for modular_atomic_note_enricher including embedding model, entity/time extractors, keyword budget, link rules, role rules, and confidence aggregation weights",
34
+ "handle extraction rules for note_attached_micro_handles",
35
+ "persistent note store and ANN/lexical search structures consumed by two_stage_retrieval"
36
+ ],
37
+ "output": [
38
+ "immutable atomic notes with note_id, span grounding, cached embedding, confidence-aware entity/time tags, question-oriented keywords, short context descriptor, provenance-family ID, write-time confidence, sparse local links, role label, and note_attached_micro_handles metadata",
39
+ "updated ANN and lexical search structures for two_stage_retrieval without a separate micro-handle index"
40
+ ],
41
+ "pipeline": [
42
+ "Step 1: modular_atomic_note_enricher processes each source span to create an immutable note record with cached embedding, confidence-aware entity tags, confidence-aware time tags, compact question-oriented keywords, a short context descriptor, sparse deterministic local links, a role label, write-time confidence, and a provenance-family ID.",
43
+ "Step 2: note_attached_micro_handles derives exact handle strings from each immutable note and stores them only inside the note metadata as note_attached_micro_handles fields without creating any external handle index.",
44
+ "Step 3: Persist each immutable note in the note store and update the ANN vectors, lexical term tables, and facet fields consumed by two_stage_retrieval using the cached embedding and enriched metadata."
45
+ ]
46
+ },
47
+ {
48
+ "name": "Calibrated Evidence Packing",
49
+ "input": [
50
+ "query text with optional entity hints, time hints, keyword hints, target roles, fixed evidence budget, per-role quotas, and per-family cap",
51
+ "persistent note store and ANN/lexical search structures consumed by two_stage_retrieval",
52
+ "candidate-pool calibration parameters for ShrinkageAnalyticNullEstimator: N_min, var_min, H_min, var_floor, eps, lambda, tau, alpha_prior, gamma",
53
+ "packing parameters for deterministic_rank_and_pack: overlap_decay, overlap_hard_threshold, minimum_effective_score"
54
+ ],
55
+ "output": [
56
+ "selected evidence pack containing ordered note_ids, final scores, decayed scores, provenance-family IDs, role labels, and span citations",
57
+ "pool-local calibration diagnostics containing degraded_mode, mean_base_score, base_score_variance, family_entropy, per-family counts, reliability values, uncertainty values, and family regularizers"
58
+ ],
59
+ "pipeline": [
60
+ "Step 1: two_stage_retrieval embeds the query, runs bounded ANN search over cached note embeddings, runs lexical screening over stored terms, applies small additive boosts for matching entity tags, time tags, keywords, and note_attached_micro_handles, and returns a bounded candidate pool C with base score b_i, note_id, role label, provenance-family ID, write-time confidence, span citation, and overlap signature for each candidate.",
61
+ "Step 2: Group the candidates in C by provenance-family ID, compute N = |C|, mean_base_score = mean(b_i), base_score_variance = Var(b_i), family_entropy from the family count distribution, and for each family f compute m_f and raw corroboration R_f = sum of b_i over candidates in f.",
62
+ "Step 3: ShrinkageAnalyticNullEstimator computes for each family f the expected support mu_f = m_f * mean_base_score, variance sigma_f^2 = m_f * base_score_variance * (1 - m_f / N) + var_floor, z_f = (R_f - mu_f) / sqrt(sigma_f^2 + eps), shrunk statistic z'_f = z_f * m_f / (m_f + lambda), bounded corroboration c_f = tanh(z'_f / tau), pool-local prior p_f = mean(write-time confidence of candidates in f), reliability r_f = clamp(alpha_prior * p_f + (1 - alpha_prior) * (c_f + 1) / 2, 0, 1), variance term v_f = max(0, sigma_f^2 - var_floor) / (sigma_f^2 + eps), effective-size term e_f = m_f / (m_f + lambda), and uncertainty u_f = clamp(0.5 * v_f + 0.5 * (1 - e_f), 0, 1).",
63
+ "Step 4: deterministic_rank_and_pack evaluates degraded_mode = (N < N_min) or (base_score_variance < var_min) or (family_entropy < H_min); if degraded_mode is true it sets family_regularizer_f = 0 for every family, otherwise it computes signed support s_f = 2 * r_f - 1 and family_regularizer_f = gamma * s_f * (1 - u_f).",
64
+ "Step 5: deterministic_rank_and_pack normalizes each candidate base score as b_norm_i = (b_i - mean_base_score) / sqrt(base_score_variance + eps), computes final_score_i = b_norm_i + family_regularizer_{family(i)}, sorts candidates by final_score descending with note_id as the deterministic tie-breaker, and initializes the remaining evidence budget plus per-role and per-family counters.",
65
+ "Step 6: deterministic_rank_and_pack scans the sorted candidates in order; for each candidate it computes max_overlap_i against already selected spans, rejects the candidate if max_overlap_i > overlap_hard_threshold, otherwise computes decayed_score_i = final_score_i - overlap_decay * max_overlap_i and accepts the candidate only if decayed_score_i >= minimum_effective_score and both its role quota and family cap still allow selection.",
66
+ "Step 7: deterministic_rank_and_pack stops when the fixed evidence budget is filled or the candidate list is exhausted, then outputs the ordered evidence pack together with the pool-local calibration diagnostics."
67
+ ]
68
+ }
69
+ ],
70
+ "reference_papers": [
71
+ "Deliberation in Latent Space via Differentiable Cache Augmentation",
72
+ "MemGen: Weaving Generative Latent Memory for Self-Evolving Agents",
73
+ "A-MemGuard: A Proactive Defense Framework for LLM-Based Agent Memory",
74
+ "A Survey on the Memory Mechanism of Large Language Model-based Agents",
75
+ "TAME: A Trustworthy Test-Time Evolution of Agent Memory with Systematic Benchmarking",
76
+ "KVCOMM: Online Cross-context KV-cache Communication for Efficient LLM-based Multi-agent Systems",
77
+ "Learning Hierarchical Procedural Memory for LLM Agents through Bayesian Selection and Contrastive Refinement",
78
+ "Agent Primitives: Reusable Latent Building Blocks for Multi-Agent Systems",
79
+ "Dynamic Cheatsheet: Test-Time Learning with Adaptive Memory",
80
+ "Generative Agents: Interactive Simulacra of Human Behavior",
81
+ "Latent Collaboration in Multi-Agent Systems",
82
+ "Thought Communication in Multiagent Collaboration",
83
+ "Reflexion: language agents with verbal reinforcement learning",
84
+ "MemAgent: Reshaping Long-Context LLM with Multi-Conv RL-based Memory Agent",
85
+ "Dual Latent Memory for Visual Multi-agent System",
86
+ "AnalogAgent: Self-Improving Analog Circuit Design Automation with LLM Agents",
87
+ "AutoManual: Constructing Instruction Manuals by LLM Agents via Interactive Environmental Learning",
88
+ "AgentAuditor: Human-Level Safety and Security Evaluation for LLM Agents",
89
+ "TrinityGuard: A Unified Framework for Safeguarding Multi-Agent Systems",
90
+ "PEAR: Planner-Executor Agent Robustness Benchmark",
91
+ "Optima: Optimizing Effectiveness and Efficiency for LLM-Based Multi-Agent System",
92
+ "Who Tests the Testers? Systematic Enumeration and Coverage Audit of LLM Agent Tool Call Safety",
93
+ "Remaining survey-cited papers (15)",
94
+ "SuperLocalMemory V3: Information-Geometric Foundations for Zero-LLM Enterprise Agent Memory",
95
+ "Dynamic Affective Memory Management for Personalized LLM Agents",
96
+ "ProcrustesGPT: Compressing LLMs with Structured Matrices and Orthogonal Transformations",
97
+ "Learning Long-Context Diffusion Policies via Past-Token Prediction",
98
+ "ARCMEMO: ABSTRACT REASONING COMPOSITION WITH LIFE LONG LLM MEMORY",
99
+ "Killing Two Birds with One Stone: Unifying Retrieval and Ranking with a Single Generative Recommendation Model",
100
+ "Don't Hallucinate, Abstain: Identifying LLM Knowledge Gaps via Multi-LLM Collaboration",
101
+ "Reasoning RAG via System 1 or System 2: A Survey on Reasoning Agentic Retrieval-Augmented Generation for Industry Challenges",
102
+ "Training-Free Agentic AI: Probabilistic Control and Coordination in Multi-Agent LLM Systems",
103
+ "KernelSkill: A Multi-Agent Framework for GPU Kernel Optimization",
104
+ "Leanabell-Prover-V2: Verifier-integrated Reasoning for Formal Theorem Proving via Reinforcement Learning",
105
+ "Memory-Augmented Log Analysis with Phi-4-mini: Enhancing Threat Detection in Structured Security Logs",
106
+ "Multi-Scale Vision Longformer: A New Vision Transformer for High-Resolution Image Encoding",
107
+ "Exchange-of-Thought: Enhancing Large Language Model Capabilities through Cross-Model Communication",
108
+ "LitSearch: A Retrieval Benchmark for Scientific Literature Search",
109
+ "A Gated Self-attention Memory Network for Answer Selection",
110
+ "AQR-HNSW: Accelerating Approximate Nearest Neighbor Search via Density-aware Quantization and Multi-stage Re-ranking",
111
+ "MixKVQ: Query-Aware Mixed-Precision KV Cache Quantization for Long-Context Reasoning",
112
+ "Dynamic Quality-Latency Aware Routing for LLM Inference in Wireless Edge-Device Networks",
113
+ "Stochastic RAG: End-to-End Retrieval-Augmented Generation through Expected Utility Maximization",
114
+ "STBLLM: BREAKING THE 1-BIT BARRIER WITH STRUCTURED BINARY LLMS",
115
+ "A Survey on Data Selection for LLM Instruction Tuning",
116
+ "Cortex: Achieving Low-Latency, Cost-Efficient Remote Data Access For LLM via Semantic-Aware Knowledge Caching",
117
+ "Knowing You Don’t Know: Learning When to Continue Search in Multi-round RAG through Self-Practicing",
118
+ "C-FEDRAG: A CONFIDENTIAL FERERATED RETRIEVAL-AUGMENTED GENERATION SYSTEM",
119
+ "CarMem: Enhancing Long-Term Memory in LLM Voice Assistants through Category-Bounding",
120
+ "CAM: A Constructivist View of Agentic Memory for LLM-Based Reading Comprehension",
121
+ "Searching for Best Practices in Retrieval-Augmented Generation",
122
+ "SEDM: Scalable Self-Evolving Distributed Memory for Agents",
123
+ "Proxima: Near-storage Acceleration for Graph-based Approximate Nearest Neighbor Search in 3D NAND",
124
+ "Data-efficient Fine-tuning for LLM-based Recommendation",
125
+ "Improving language models by retrieving from trillions of tokens",
126
+ "PM-KVQ: Progressive Mixed-precision KV Cache Quantization for Long-CoT LLMs"
127
+ ],
128
+ "mcts_evolution": {
129
+ "best_path": "Family-Scoped Expected-Utility Retrieval for Atomic Note Memory [seed] -> defects ['unexplored_gap'] | Analytic Family‑Calibrated Deterministic Rank‑and‑Pack for Training‑Free Atomic‑Note Memory [fusion_repair] -> defects ['unclear_mechanism', 'weak_fallback_behavior', 'validation_gap', 'silent_failure']",
130
+ "best_operator": "fusion_repair",
131
+ "target_defects": [
132
+ "unclear_mechanism",
133
+ "weak_fallback_behavior",
134
+ "validation_gap",
135
+ "silent_failure"
136
+ ],
137
+ "iterations": [
138
+ {
139
+ "iteration": 0,
140
+ "node_id": 1,
141
+ "depth": 1,
142
+ "title": "Analytic Family‑Calibrated Deterministic Rank‑and‑Pack for Training‑Free Atomic‑Note Memory",
143
+ "operator": "fusion_repair",
144
+ "defects": [
145
+ "unclear_mechanism",
146
+ "weak_fallback_behavior",
147
+ "validation_gap",
148
+ "silent_failure"
149
+ ],
150
+ "score": 4.04,
151
+ "visits": 1,
152
+ "path": "Family-Scoped Expected-Utility Retrieval for Atomic Note Memory [seed] -> defects ['unexplored_gap'] | Analytic Family‑Calibrated Deterministic Rank‑and‑Pack for Training‑Free Atomic‑Note Memory [fusion_repair] -> defects ['unclear_mechanism', 'weak_fallback_behavior', 'validation_gap', 'silent_failure']",
153
+ "action_summary": "fusion_repair -> unclear_mechanism, weak_fallback_behavior, validation_gap, silent_failure",
154
+ "evaluation": {
155
+ "novelty": 4,
156
+ "surprise": 4,
157
+ "feasibility": 4,
158
+ "clarity": 4,
159
+ "impact": 4,
160
+ "risk": 3,
161
+ "conciseness": 4,
162
+ "alignment_score": 5,
163
+ "complexity_penalty": 2,
164
+ "protocol_score": 4,
165
+ "confidence": 0.82,
166
+ "failure_modes": [
167
+ "Family-level corroboration can amplify correlated retrieval errors when multiple wrong notes share a provenance family and have moderately strong base scores.",
168
+ "Per-pool normalization may become unstable on narrow or highly skewed candidate pools, causing the family regularizer to dominate or vanish unpredictably.",
169
+ "Incorrect or noisy provenance-family IDs from the write path can distort the analytic null estimate and silently mis-rank evidence.",
170
+ "Folding quota and duplicate-decay logic into the packer may reduce diversity in multi-hop QA if one family occupies too much of the fixed evidence budget."
171
+ ],
172
+ "fairness_protocol": "Use the same stage-1 candidate pool, same evidence budget, same note store, and same metadata for all compared read-time packers. Compare against plain relevance-first deterministic packing, the prior provenance-bonus/slotted variant, and an ablation with the family regularizer zeroed while keeping all other code paths identical. Report QA accuracy, calibration of selected evidence, latency, and behavior under synthetic null-family, family-poisoning, sparse-pool, and noisy-family-ID conditions. What is still missing is a clearly specified cross-dataset transfer check to support robustness beyond one benchmark regime.",
173
+ "feedback": "This is a strong fusion_repair move: it meaningfully simplifies the read path by replacing a loosely justified provenance bonus with a single analytic family signal injected into deterministic_rank_and_pack, and it directly targets the listed defects unclear_mechanism, weak_fallback_behavior, validation_gap, and silent_failure. The explicit fallback inside the packer is especially helpful because it turns family evidence into a bounded optional regularizer rather than a mandatory control path. The main remaining concern is that responsibilities are now more coupled inside deterministic_rank_and_pack: scoring, duplicate control, family regularization, and fallback all live in one component, which improves runtime simplicity but makes attribution and some ablations harder. The core mechanism is mostly clear, but the exact interaction between role quotas, family caps, soft overlap decay, and the family regularizer should be specified more formally to avoid hidden decision conflicts. Validation is better than average, yet it should explicitly test whether gains come from the analytic null principle itself versus merely from score normalization or conservative caps. Symbolic memory evidence is only inconclusive for nearby enrichment/canonicalization families, so it does not strongly argue against this direction; still, keep the family metadata dependency conservative because noisy write-time structure remains a likely source of silent degradation.",
174
+ "defect_fix_summary": "The edit addresses unclear_mechanism by collapsing family scoring and packing into a single deterministic equation with explicit inputs from ShrinkageAnalyticNullEstimator. It addresses weak_fallback_behavior by specifying a relevance-only degraded mode when family statistics are unreliable. It partially addresses validation_gap by proposing null-family, poisoning, ablation, and latency tests tied to the mechanism. It reduces silent_failure by bounding the family effect and exposing a concrete condition under which the regularizer is disabled. The selected fusion_repair skill fits because the main improvement comes from tightening the interface between calibration and packing rather than adding new training or control machinery.",
175
+ "detected_defects": [
176
+ "harder_to_ablate",
177
+ "rare_regime_failure"
178
+ ],
179
+ "composite": 4.04
180
+ },
181
+ "rationale": "Replacing a separate Bayesian packing component with deterministic_rank_and_pack simplifies the read pipeline and makes the family signal's effect explicit and auditable while preserving the original closed‑form calibration idea. Folding duplicate control into the packer and making the fallback deterministic removes a silent failure mode and narrows the validation surface: family influence is a bounded regularizer that can be cleanly turned off when pool statistics indicate it would be unreliable.",
182
+ "signature": "1cff48961f955b79aa4877f0635a7b4ca0b8d94d01dca85009384c5062136d60"
183
+ }
184
+ ]
185
+ },
186
+ "idea_source": "fused",
187
+ "source_modes": [
188
+ "moonshot_inventor",
189
+ "bridge_builder",
190
+ "steady_engineer",
191
+ "ambitious_realist",
192
+ "evidence_first"
193
+ ],
194
+ "fusion_metadata": {
195
+ "host_idea_mode": "moonshot_inventor",
196
+ "selected_components": [
197
+ {
198
+ "source_mode": "moonshot_inventor",
199
+ "component": "CalibratedBayesianFamilyRankAndPack",
200
+ "role": "core_mechanism",
201
+ "why_selected": "It is the clearest single novelty: a deterministic family-aware calibration that directly changes read-time evidence selection instead of adding a separate verifier or controller."
202
+ },
203
+ {
204
+ "source_mode": "moonshot_inventor",
205
+ "component": "ShrinkageAnalyticNullEstimator",
206
+ "role": "support_module",
207
+ "why_selected": "It provides the closed-form, family-size-aware null model that makes the core mechanism precise, fast, and ablatable."
208
+ },
209
+ {
210
+ "source_mode": "steady_engineer",
211
+ "component": "two_stage_retrieval",
212
+ "role": "support_module",
213
+ "why_selected": "It preserves the mature efficiency-first character and keeps the new contribution focused on bounded-pool calibration rather than on changing the retriever."
214
+ },
215
+ {
216
+ "source_mode": "bridge_builder",
217
+ "component": "modular_atomic_note_enricher",
218
+ "role": "support_module",
219
+ "why_selected": "It keeps memory writing minimal and QA-focused while supplying the confidence, entity/time, and provenance metadata the calibrator needs."
220
+ },
221
+ {
222
+ "source_mode": "steady_engineer",
223
+ "component": "per_slot_quota_and_decay",
224
+ "role": "guardrail",
225
+ "why_selected": "It gives lightweight duplicate suppression and small contradiction capacity without requiring a second reranking or adjudication layer."
226
+ },
227
+ {
228
+ "source_mode": "moonshot_inventor",
229
+ "component": "note_attached_micro_handles",
230
+ "role": "guardrail",
231
+ "why_selected": "It preserves exact lookup as a small optional boost while avoiding the complexity of a separate handle index."
232
+ }
233
+ ],
234
+ "rejected_components": [
235
+ {
236
+ "source_mode": "ambitious_realist",
237
+ "component": "HierarchicalMemoryRouter",
238
+ "why_rejected": "It adds an extra controller layer and coordination burden, while the fused thesis works better as a direct calibration-plus-packing mechanism."
239
+ },
240
+ {
241
+ "source_mode": "steady_engineer",
242
+ "component": "deterministic_rank_and_pack",
243
+ "why_rejected": "It is too generic as the main read-time novelty and is subsumed by the more specific calibrated packing mechanism."
244
+ },
245
+ {
246
+ "source_mode": "evidence_first",
247
+ "component": "deterministic_rank_and_pack",
248
+ "why_rejected": "Keeping a plain packer would weaken the causal claim; the fused method needs the family-calibrated packer rather than a flat score-and-pack baseline."
249
+ }
250
+ ],
251
+ "conflicts_and_resolutions": [
252
+ {
253
+ "conflict": "Persistent feedback-updated family reliability from some candidates versus ephemeral within-query calibration from the moonshot idea.",
254
+ "resolution": "Use only a small prior seeded by write-time confidence and compute the main reliability update from the current bounded candidate pool, avoiding drift-heavy mutable family state."
255
+ },
256
+ {
257
+ "conflict": "Router-based family quota proposal versus preserving the mature architecture's simple deterministic read path.",
258
+ "resolution": "Reject the router and inject family calibration directly into the packer so the method remains one-stage after candidate retrieval."
259
+ },
260
+ {
261
+ "conflict": "Raw provenance counts or average-confidence bonuses can overreward large or duplicated families.",
262
+ "resolution": "Normalize family corroboration with a family-size-aware analytic null and add shrinkage so only excess support beyond expectation influences selection."
263
+ },
264
+ {
265
+ "conflict": "More aggressive family-aware scoring increases risk of brittle behavior when the candidate pool is tiny or homogeneous.",
266
+ "resolution": "Add explicit degeneracy checks based on candidate-pool size, score variance, and family-label entropy, and revert to relevance-first packing when those checks fail."
267
+ }
268
+ ],
269
+ "fused_core_thesis": "In training-free atomic-note memory, provenance families should influence QA retrieval only after their support is analytically normalized against what would be expected from their size and the retrieved score distribution; that calibrated reliability should then directly regularize fixed-budget evidence packing.",
270
+ "why_stronger_than_each_input": "Compared with the moonshot input, the fusion makes fallback behavior and deployment-safe degradation explicit. Compared with bridge_builder and evidence_first, it avoids a heavier persistent reliability layer that could drift, depend on noisy feedback, or become a second hidden memory system. Compared with steady_engineer, it replaces a broad expected-utility framing with a sharper, testable mechanism. Compared with ambitious_realist, it captures the decision-theoretic benefit without adding a router/controller that would complicate attribution and latency. The result is one coherent method with a clearer causal chain: bounded retrieval, analytic family calibration, calibrated packing.",
271
+ "minimal_validation_plan": "Run matched-budget ablations on fact QA, contextual QA, and multi-hop QA with identical note stores, candidate-pool sizes, and prompt budgets: (1) mature baseline without family calibration, (2) raw family-count bonus, (3) persistent Beta-style family reliability baseline, and (4) the fused method. Report answer EM/F1, evidence precision/recall against gold supporting notes, unsupported-answer rate, latency p50/p95, and growth curves as memory scales. Add stress tests for family merge/split noise, provenance spoofing, poisoning, temporal drift, and degenerate candidate pools. Include fallback diagnostics such as variance-floor activation rate, family-label entropy, and calibration-disable frequency.",
272
+ "repair_trace": [
273
+ {
274
+ "step": 1,
275
+ "score_before": 3.99,
276
+ "score_after": 4.04,
277
+ "component_edits": [
278
+ {
279
+ "op": "REPLACE_COMPONENT",
280
+ "component": "deterministic_rank_and_pack",
281
+ "target": "CalibratedBayesianFamilyRankAndPack",
282
+ "condition": "",
283
+ "details": "Replace CalibratedBayesianFamilyRankAndPack with deterministic_rank_and_pack so the rank-and-pack stage is the mature one-pass packer. Its single deterministic score should consume base relevance plus bounded family reliability/uncertainty from ShrinkageAnalyticNullEstimator, and its fallback should be explicit: when pool size, score variance, or family-label entropy are below fixed thresholds, set the family regularizer to zero and run plain relevance-first packing with existing duplicate control.",
284
+ "reason": "Reason 1: Centralizing scoring and quota logic into deterministic_rank_and_pack reduces architectural surface area and prevents ambiguous interactions between an external quota component and the packer, improving determinism and reducing silent failure modes."
285
+ },
286
+ {
287
+ "op": "REMOVE_COMPONENT",
288
+ "component": "per_slot_quota_and_decay",
289
+ "target": "",
290
+ "condition": "",
291
+ "details": "Remove per_slot_quota_and_decay as a separate structural component and fold any small quota/duplicate-decay behavior into deterministic_rank_and_pack.",
292
+ "reason": "Reason 2: Rewiring ShrinkageAnalyticNullEstimator to feed only a bounded regularizer into a single deterministic scoring equation makes the mechanism explicit and easier to validate; the explicit per‑pool fallback removes unclear failure behavior when the family signal is unreliable."
293
+ },
294
+ {
295
+ "op": "REWIRE",
296
+ "component": "ShrinkageAnalyticNullEstimator",
297
+ "target": "deterministic_rank_and_pack",
298
+ "condition": "",
299
+ "details": "Rewire ShrinkageAnalyticNullEstimator to feed its bounded family reliability and uncertainty outputs directly into deterministic_rank_and_pack for candidate scoring and explicit fallback triggering.",
300
+ "reason": "Reason 3: Folding duplicate control into the packer preserves lightweight runtime behavior (one pass, bounded latency) while keeping family corroboration as a conservative, well‑bounded influence — aligning with the training‑free, efficiency‑first refinement goals."
301
+ }
302
+ ]
303
+ }
304
+ ]
305
+ },
306
+ "fusion_evolution": {
307
+ "source_modes": [
308
+ "moonshot_inventor",
309
+ "bridge_builder",
310
+ "steady_engineer",
311
+ "ambitious_realist",
312
+ "evidence_first"
313
+ ],
314
+ "host_idea_mode": "moonshot_inventor",
315
+ "selected_components": [
316
+ {
317
+ "source_mode": "moonshot_inventor",
318
+ "component": "CalibratedBayesianFamilyRankAndPack",
319
+ "role": "core_mechanism",
320
+ "why_selected": "It is the clearest single novelty: a deterministic family-aware calibration that directly changes read-time evidence selection instead of adding a separate verifier or controller."
321
+ },
322
+ {
323
+ "source_mode": "moonshot_inventor",
324
+ "component": "ShrinkageAnalyticNullEstimator",
325
+ "role": "support_module",
326
+ "why_selected": "It provides the closed-form, family-size-aware null model that makes the core mechanism precise, fast, and ablatable."
327
+ },
328
+ {
329
+ "source_mode": "steady_engineer",
330
+ "component": "two_stage_retrieval",
331
+ "role": "support_module",
332
+ "why_selected": "It preserves the mature efficiency-first character and keeps the new contribution focused on bounded-pool calibration rather than on changing the retriever."
333
+ },
334
+ {
335
+ "source_mode": "bridge_builder",
336
+ "component": "modular_atomic_note_enricher",
337
+ "role": "support_module",
338
+ "why_selected": "It keeps memory writing minimal and QA-focused while supplying the confidence, entity/time, and provenance metadata the calibrator needs."
339
+ },
340
+ {
341
+ "source_mode": "steady_engineer",
342
+ "component": "per_slot_quota_and_decay",
343
+ "role": "guardrail",
344
+ "why_selected": "It gives lightweight duplicate suppression and small contradiction capacity without requiring a second reranking or adjudication layer."
345
+ },
346
+ {
347
+ "source_mode": "moonshot_inventor",
348
+ "component": "note_attached_micro_handles",
349
+ "role": "guardrail",
350
+ "why_selected": "It preserves exact lookup as a small optional boost while avoiding the complexity of a separate handle index."
351
+ }
352
+ ],
353
+ "rejected_components": [
354
+ {
355
+ "source_mode": "ambitious_realist",
356
+ "component": "HierarchicalMemoryRouter",
357
+ "why_rejected": "It adds an extra controller layer and coordination burden, while the fused thesis works better as a direct calibration-plus-packing mechanism."
358
+ },
359
+ {
360
+ "source_mode": "steady_engineer",
361
+ "component": "deterministic_rank_and_pack",
362
+ "why_rejected": "It is too generic as the main read-time novelty and is subsumed by the more specific calibrated packing mechanism."
363
+ },
364
+ {
365
+ "source_mode": "evidence_first",
366
+ "component": "deterministic_rank_and_pack",
367
+ "why_rejected": "Keeping a plain packer would weaken the causal claim; the fused method needs the family-calibrated packer rather than a flat score-and-pack baseline."
368
+ }
369
+ ],
370
+ "conflicts_and_resolutions": [
371
+ {
372
+ "conflict": "Persistent feedback-updated family reliability from some candidates versus ephemeral within-query calibration from the moonshot idea.",
373
+ "resolution": "Use only a small prior seeded by write-time confidence and compute the main reliability update from the current bounded candidate pool, avoiding drift-heavy mutable family state."
374
+ },
375
+ {
376
+ "conflict": "Router-based family quota proposal versus preserving the mature architecture's simple deterministic read path.",
377
+ "resolution": "Reject the router and inject family calibration directly into the packer so the method remains one-stage after candidate retrieval."
378
+ },
379
+ {
380
+ "conflict": "Raw provenance counts or average-confidence bonuses can overreward large or duplicated families.",
381
+ "resolution": "Normalize family corroboration with a family-size-aware analytic null and add shrinkage so only excess support beyond expectation influences selection."
382
+ },
383
+ {
384
+ "conflict": "More aggressive family-aware scoring increases risk of brittle behavior when the candidate pool is tiny or homogeneous.",
385
+ "resolution": "Add explicit degeneracy checks based on candidate-pool size, score variance, and family-label entropy, and revert to relevance-first packing when those checks fail."
386
+ }
387
+ ],
388
+ "fused_core_thesis": "In training-free atomic-note memory, provenance families should influence QA retrieval only after their support is analytically normalized against what would be expected from their size and the retrieved score distribution; that calibrated reliability should then directly regularize fixed-budget evidence packing.",
389
+ "why_stronger_than_each_input": "Compared with the moonshot input, the fusion makes fallback behavior and deployment-safe degradation explicit. Compared with bridge_builder and evidence_first, it avoids a heavier persistent reliability layer that could drift, depend on noisy feedback, or become a second hidden memory system. Compared with steady_engineer, it replaces a broad expected-utility framing with a sharper, testable mechanism. Compared with ambitious_realist, it captures the decision-theoretic benefit without adding a router/controller that would complicate attribution and latency. The result is one coherent method with a clearer causal chain: bounded retrieval, analytic family calibration, calibrated packing.",
390
+ "minimal_validation_plan": "Run matched-budget ablations on fact QA, contextual QA, and multi-hop QA with identical note stores, candidate-pool sizes, and prompt budgets: (1) mature baseline without family calibration, (2) raw family-count bonus, (3) persistent Beta-style family reliability baseline, and (4) the fused method. Report answer EM/F1, evidence precision/recall against gold supporting notes, unsupported-answer rate, latency p50/p95, and growth curves as memory scales. Add stress tests for family merge/split noise, provenance spoofing, poisoning, temporal drift, and degenerate candidate pools. Include fallback diagnostics such as variance-floor activation rate, family-label entropy, and calibration-disable frequency.",
391
+ "post_fusion_evaluation": {
392
+ "best_path": "Family-Scoped Expected-Utility Retrieval for Atomic Note Memory [seed] -> defects ['unexplored_gap'] | Analytic Family‑Calibrated Deterministic Rank‑and‑Pack for Training‑Free Atomic‑Note Memory [fusion_repair] -> defects ['unclear_mechanism', 'weak_fallback_behavior', 'validation_gap', 'silent_failure']",
393
+ "best_operator": "fusion_repair",
394
+ "target_defects": [
395
+ "unclear_mechanism",
396
+ "weak_fallback_behavior",
397
+ "validation_gap",
398
+ "silent_failure"
399
+ ],
400
+ "iterations": [
401
+ {
402
+ "iteration": 0,
403
+ "node_id": 1,
404
+ "depth": 1,
405
+ "title": "Analytic Family‑Calibrated Deterministic Rank‑and‑Pack for Training‑Free Atomic‑Note Memory",
406
+ "operator": "fusion_repair",
407
+ "defects": [
408
+ "unclear_mechanism",
409
+ "weak_fallback_behavior",
410
+ "validation_gap",
411
+ "silent_failure"
412
+ ],
413
+ "score": 4.04,
414
+ "visits": 1,
415
+ "path": "Family-Scoped Expected-Utility Retrieval for Atomic Note Memory [seed] -> defects ['unexplored_gap'] | Analytic Family‑Calibrated Deterministic Rank‑and‑Pack for Training‑Free Atomic‑Note Memory [fusion_repair] -> defects ['unclear_mechanism', 'weak_fallback_behavior', 'validation_gap', 'silent_failure']",
416
+ "action_summary": "fusion_repair -> unclear_mechanism, weak_fallback_behavior, validation_gap, silent_failure",
417
+ "evaluation": {
418
+ "novelty": 4,
419
+ "surprise": 4,
420
+ "feasibility": 4,
421
+ "clarity": 4,
422
+ "impact": 4,
423
+ "risk": 3,
424
+ "conciseness": 4,
425
+ "alignment_score": 5,
426
+ "complexity_penalty": 2,
427
+ "protocol_score": 4,
428
+ "confidence": 0.82,
429
+ "failure_modes": [
430
+ "Family-level corroboration can amplify correlated retrieval errors when multiple wrong notes share a provenance family and have moderately strong base scores.",
431
+ "Per-pool normalization may become unstable on narrow or highly skewed candidate pools, causing the family regularizer to dominate or vanish unpredictably.",
432
+ "Incorrect or noisy provenance-family IDs from the write path can distort the analytic null estimate and silently mis-rank evidence.",
433
+ "Folding quota and duplicate-decay logic into the packer may reduce diversity in multi-hop QA if one family occupies too much of the fixed evidence budget."
434
+ ],
435
+ "fairness_protocol": "Use the same stage-1 candidate pool, same evidence budget, same note store, and same metadata for all compared read-time packers. Compare against plain relevance-first deterministic packing, the prior provenance-bonus/slotted variant, and an ablation with the family regularizer zeroed while keeping all other code paths identical. Report QA accuracy, calibration of selected evidence, latency, and behavior under synthetic null-family, family-poisoning, sparse-pool, and noisy-family-ID conditions. What is still missing is a clearly specified cross-dataset transfer check to support robustness beyond one benchmark regime.",
436
+ "feedback": "This is a strong fusion_repair move: it meaningfully simplifies the read path by replacing a loosely justified provenance bonus with a single analytic family signal injected into deterministic_rank_and_pack, and it directly targets the listed defects unclear_mechanism, weak_fallback_behavior, validation_gap, and silent_failure. The explicit fallback inside the packer is especially helpful because it turns family evidence into a bounded optional regularizer rather than a mandatory control path. The main remaining concern is that responsibilities are now more coupled inside deterministic_rank_and_pack: scoring, duplicate control, family regularization, and fallback all live in one component, which improves runtime simplicity but makes attribution and some ablations harder. The core mechanism is mostly clear, but the exact interaction between role quotas, family caps, soft overlap decay, and the family regularizer should be specified more formally to avoid hidden decision conflicts. Validation is better than average, yet it should explicitly test whether gains come from the analytic null principle itself versus merely from score normalization or conservative caps. Symbolic memory evidence is only inconclusive for nearby enrichment/canonicalization families, so it does not strongly argue against this direction; still, keep the family metadata dependency conservative because noisy write-time structure remains a likely source of silent degradation.",
437
+ "defect_fix_summary": "The edit addresses unclear_mechanism by collapsing family scoring and packing into a single deterministic equation with explicit inputs from ShrinkageAnalyticNullEstimator. It addresses weak_fallback_behavior by specifying a relevance-only degraded mode when family statistics are unreliable. It partially addresses validation_gap by proposing null-family, poisoning, ablation, and latency tests tied to the mechanism. It reduces silent_failure by bounding the family effect and exposing a concrete condition under which the regularizer is disabled. The selected fusion_repair skill fits because the main improvement comes from tightening the interface between calibration and packing rather than adding new training or control machinery.",
438
+ "detected_defects": [
439
+ "harder_to_ablate",
440
+ "rare_regime_failure"
441
+ ],
442
+ "composite": 4.04
443
+ },
444
+ "rationale": "Replacing a separate Bayesian packing component with deterministic_rank_and_pack simplifies the read pipeline and makes the family signal's effect explicit and auditable while preserving the original closed‑form calibration idea. Folding duplicate control into the packer and making the fallback deterministic removes a silent failure mode and narrows the validation surface: family influence is a bounded regularizer that can be cleanly turned off when pool statistics indicate it would be unreliable.",
445
+ "signature": "1cff48961f955b79aa4877f0635a7b4ca0b8d94d01dca85009384c5062136d60"
446
+ }
447
+ ]
448
+ }
449
+ },
450
+ "idea_contract": {
451
+ "title": "Family-Calibrated Deterministic Packing for Training-Free Atomic-Note Memory in LLM Agents",
452
+ "abstract": "We present a lightweight, training-free refinement of atomic-note memory for LLM agents that shifts the main read-time innovation from richer control logic to a more conservative and better-grounded evidence selection rule. The system keeps the mature design choices that appear most robust for scalable QA-oriented memory: immutable span-grounded notes, small write-time semantic enrichment, cached embeddings, provenance-family IDs, and an efficiency-first bounded retrieval stage. Our contribution is a family-calibrated deterministic packing step that uses only candidate-pool statistics to decide when provenance-family agreement should help and when it should be ignored. After bounded ANN and lexical screening, the method analytically estimates whether a provenance family is receiving more support than expected from its size under a label-uninformative null, shrinks that signal for small or noisy families, and injects it only as a bounded regularizer into a single deterministic rank-and-pack equation. The same packer also handles small role quotas, family caps, soft duplicate decay, and an explicit degraded mode that reverts to relevance-only packing when pool statistics are unreliable. Relative to heavier trust loops, learned rerankers, or persistent mutable family scores, this design stays closer to the survey-supported pattern of compact structured memories plus efficient multi-stage retrieval, while directly targeting QA accuracy, latency stability, and safe degradation under noisy metadata.",
453
+ "core_contribution": "A training-free read-time mechanism that analytically calibrates provenance-family corroboration within each retrieved candidate pool and uses it only as a bounded uncertainty-aware regularizer inside a single deterministic rank-and-pack stage, with explicit fallback to plain relevance-first packing when the family signal is unreliable.",
454
+ "method": "The memory store follows the lightweight atomic-note design: each stored unit is an immutable span-grounded note enriched only with QA-critical metadata, including a cached embedding, confidence-aware entity and time tags, compact question-oriented keywords, a short context descriptor, a provenance-family ID, sparse deterministic local links, and optional note-attached micro-handles kept as metadata rather than as a separate index.\n\nAt read time, retrieval remains efficiency-first and bounded. Stage 1 forms a candidate pool using approximate nearest-neighbor search over cached embeddings plus lexical screening, with optional small boosts from entity, time, keyword, or micro-handle matches. This returns a bounded candidate set C with base scores b_i that summarize dense relevance, lexical fit, and small facet hints.\n\nStage 2 replaces ad hoc provenance bonuses with analytic within-query family calibration. Candidates are grouped by provenance family f. For each family, the method computes raw corroboration R_f = sum of base scores over candidates in that family. It then estimates the amount of support that family would be expected to receive under a label-uninformative null using only current-pool statistics: mu_f = m_f * mean(b), where m_f is the number of candidates from family f. A finite-population variance estimate is used, sigma_f^2 = m_f * Var(b) * (1 - m_f / N) + var_floor, so small pools or low-variance pools do not create unstable z-scores. The excess support statistic is z_f = (R_f - mu_f) / sqrt(sigma_f^2 + eps).\n\nTo avoid overreacting to small or noisy families, the method shrinks this statistic by family size: z'_f = z_f * m_f / (m_f + lambda). The shrunk value is mapped into a bounded corroboration signal c_f = tanh(z'_f / tau), ensuring that family influence cannot explode. This corroboration is combined with a conservative family prior p_f derived from the mean write-time confidence of notes from that family in the current pool. The result is an ephemeral reliability score r_f in [0,1], for example r_f = clamp(alpha_prior * p_f + (1 - alpha_prior) * (c_f + 1) / 2, 0, 1). The method also computes an uncertainty term u_f in [0,1] from the family variance estimate and effective sample size, so high-variance or weakly supported families contribute less.\n\nThe final evidence selection is handled by one deterministic rank-and-pack step. First, base scores are normalized within the candidate pool: b_norm_i = (b_i - mean(b)) / sqrt(Var(b) + eps). Next, family reliability is converted to signed support s_f = 2 * r_f - 1. Each family contributes a bounded regularizer family_reg_f = gamma * s_f * (1 - u_f). Each candidate receives final_score_i = b_norm_i + family_reg_{family(i)}.\n\nThe packer includes an explicit degraded mode rather than a separate controller. If pool statistics indicate that family calibration is unreliable—for example, the candidate pool is too small, score variance is too low, or family-label entropy is too low—then all family regularizers are set to zero and the same packer proceeds with plain relevance-first scoring. This keeps failure behavior simple and observable.\n\nPacking is then performed greedily after sorting by final_score. A candidate is accepted if its small role quota is not full, its family has not exceeded a small cap, and its overlap with already selected evidence is acceptable. High-overlap candidates are softly decayed rather than always hard-rejected, preserving useful redundancy when needed for QA. The process stops when the fixed evidence budget is filled.\n\nThis design is intentionally narrow: it does not add a learned reranker, a router, a separate trust-evaluation loop, or persistent mutable family statistics across queries. In contrast to systems such as TAME that improve trustworthiness through an evaluator memory and extra refinement overhead, or procedural-memory approaches such as MACLA that rely on expected-utility scoring over reusable skills, this method focuses on a simpler setting supported by the broader memory literature: compact structured memory units plus efficient retrieval and lightweight evidence packing. Its main claim is that provenance information is useful for QA only after being normalized against family size and pool statistics, and only when injected conservatively into a deterministic packer.",
455
+ "risks": "The main risk is correlated family error: if several incorrect notes share the same provenance family and all receive moderately good base scores, the family regularizer can still amplify a bad cluster. Conservative shrinkage, bounded tanh mapping, small family caps, and relevance-only fallback reduce but do not eliminate this failure mode. A second risk is dependence on metadata quality: noisy or inconsistent provenance-family IDs, write-time confidences, or enrichment tags can distort family calibration and silently reduce retrieval quality. A third risk is instability in rare regimes such as tiny candidate pools, highly homogeneous score distributions, or multi-hop questions that genuinely require several similar notes from one family; the degraded mode and soft duplicate decay help, but some edge cases may still be under-served. Finally, because scoring, duplicate control, and fallback are unified in one packer, evaluation must carefully ablate whether gains come from the analytic family calibration itself rather than from score normalization or packing heuristics. Robust validation should therefore include matched-budget comparisons to plain deterministic packing, synthetic null-family tests, provenance-noise stress tests, poisoning scenarios, cross-dataset transfer, and latency measurements as memory scale grows.",
456
+ "tags": [
457
+ "training-free memory",
458
+ "LLM agents",
459
+ "atomic notes",
460
+ "question answering",
461
+ "retrieval calibration",
462
+ "provenance families",
463
+ "deterministic packing",
464
+ "fusion_repair",
465
+ "unclear_mechanism",
466
+ "weak_fallback_behavior",
467
+ "validation_gap",
468
+ "silent_failure"
469
+ ],
470
+ "operator": "fusion_repair",
471
+ "target_defects": [
472
+ "unclear_mechanism",
473
+ "weak_fallback_behavior",
474
+ "validation_gap",
475
+ "silent_failure"
476
+ ],
477
+ "rationale": "Replacing a separate Bayesian packing component with deterministic_rank_and_pack simplifies the read pipeline and makes the family signal's effect explicit and auditable while preserving the original closed‑form calibration idea. Folding duplicate control into the packer and making the fallback deterministic removes a silent failure mode and narrows the validation surface: family influence is a bounded regularizer that can be cleanly turned off when pool statistics indicate it would be unreliable.",
478
+ "memory_refs": [],
479
+ "components": [
480
+ "two_stage_retrieval",
481
+ "modular_atomic_note_enricher",
482
+ "deterministic_rank_and_pack",
483
+ "note_attached_micro_handles",
484
+ "ShrinkageAnalyticNullEstimator"
485
+ ],
486
+ "component_explanations": {
487
+ "two_stage_retrieval": "Efficiency-first candidate generation: bounded ANN retrieval plus lexical screening, with optional soft facet hints, to keep recall high while capping latency before calibration.",
488
+ "modular_atomic_note_enricher": "Write-path module that produces immutable atomic notes with only QA-critical enrichment, including provenance-family IDs and confidence-aware entity/time metadata needed for calibration and packing.",
489
+ "deterministic_rank_and_pack": "One‑pass deterministic scoring and greedy packing stage that consumes b_i from two_stage_retrieval and bounded family signals (r_f,u_f) from ShrinkageAnalyticNullEstimator. It normalizes base scores per pool, adds the bounded family_regularizer, enforces lightweight per‑role quotas and small per‑family caps (folded duplicate control), applies soft overlap decay, and implements an internal deterministic fallback to relevance‑only packing when pool statistics indicate unreliable family evidence.",
490
+ "note_attached_micro_handles": "Exact handles remain attached to notes as metadata only and can seed lexical or facet boosts, avoiding a separate handle index while preserving precise lookup when useful.",
491
+ "ShrinkageAnalyticNullEstimator": "Closed-form family calibrator. It computes expected corroboration and variance under a label-uninformative null, applies variance floors and family-size shrinkage, and outputs bounded support or failure mass for each family."
492
+ },
493
+ "root_domains": [
494
+ "cs.AI"
495
+ ],
496
+ "paper_graph_context": "This idea sits in training-free external memory for LLM agents, especially span-grounded note memory and lightweight QA retrieval. It responds to literature trends showing that compact structured notes and multi-stage retrieval are preferable to raw transcript storage and heavy learned rerankers, while also addressing recent critiques that memory selection should reflect reliability and failure-awareness rather than nearest-neighbor similarity alone.",
497
+ "edit_plan": {
498
+ "skill_name": "fusion_repair",
499
+ "objective": "Locally repair the fused idea",
500
+ "target_defects": [
501
+ "unclear_mechanism",
502
+ "weak_fallback_behavior",
503
+ "validation_gap",
504
+ "silent_failure"
505
+ ],
506
+ "component_edits": [
507
+ {
508
+ "op": "REPLACE_COMPONENT",
509
+ "component": "deterministic_rank_and_pack",
510
+ "target": "CalibratedBayesianFamilyRankAndPack",
511
+ "condition": "",
512
+ "details": "Replace CalibratedBayesianFamilyRankAndPack with deterministic_rank_and_pack so the rank-and-pack stage is the mature one-pass packer. Its single deterministic score should consume base relevance plus bounded family reliability/uncertainty from ShrinkageAnalyticNullEstimator, and its fallback should be explicit: when pool size, score variance, or family-label entropy are below fixed thresholds, set the family regularizer to zero and run plain relevance-first packing with existing duplicate control.",
513
+ "reason": "Reason 1: Centralizing scoring and quota logic into deterministic_rank_and_pack reduces architectural surface area and prevents ambiguous interactions between an external quota component and the packer, improving determinism and reducing silent failure modes."
514
+ },
515
+ {
516
+ "op": "REMOVE_COMPONENT",
517
+ "component": "per_slot_quota_and_decay",
518
+ "target": "",
519
+ "condition": "",
520
+ "details": "Remove per_slot_quota_and_decay as a separate structural component and fold any small quota/duplicate-decay behavior into deterministic_rank_and_pack.",
521
+ "reason": "Reason 2: Rewiring ShrinkageAnalyticNullEstimator to feed only a bounded regularizer into a single deterministic scoring equation makes the mechanism explicit and easier to validate; the explicit per‑pool fallback removes unclear failure behavior when the family signal is unreliable."
522
+ },
523
+ {
524
+ "op": "REWIRE",
525
+ "component": "ShrinkageAnalyticNullEstimator",
526
+ "target": "deterministic_rank_and_pack",
527
+ "condition": "",
528
+ "details": "Rewire ShrinkageAnalyticNullEstimator to feed its bounded family reliability and uncertainty outputs directly into deterministic_rank_and_pack for candidate scoring and explicit fallback triggering.",
529
+ "reason": "Reason 3: Folding duplicate control into the packer preserves lightweight runtime behavior (one pass, bounded latency) while keeping family corroboration as a conservative, well‑bounded influence — aligning with the training‑free, efficiency‑first refinement goals."
530
+ }
531
+ ],
532
+ "validation": {
533
+ "regression_tests": [],
534
+ "ablation_tests": [],
535
+ "stress_tests": []
536
+ },
537
+ "guardrails": [
538
+ "Keep the write path unchanged and training-free.",
539
+ "Do not introduce any new controller, router, or learned reranker.",
540
+ "Use one deterministic candidate scoring equation inside the packer, with the family signal entering only as a bounded regularizer from ShrinkageAnalyticNullEstimator.",
541
+ "Define degraded mode inside the packer from identifiable pool statistics only, rather than via a separate fallback module.",
542
+ "Keep the same first-stage candidate pool, metadata, and evidence budget as the baseline so ablations isolate the read-time substitution."
543
+ ],
544
+ "memory_refs": [],
545
+ "compile_notes": "Compiled from fusion repair planner using existing atomic edit operations."
546
+ },
547
+ "skill_metrics": {
548
+ "idea_taste_mode": "fusion_agent",
549
+ "skill_prior_before": {
550
+ "attempts": 0,
551
+ "successes": 0,
552
+ "reward_ema": 0.5,
553
+ "prior": 0.5,
554
+ "rule_constraints": []
555
+ },
556
+ "guardrails": [
557
+ "Keep the write path unchanged and training-free.",
558
+ "Do not introduce any new controller, router, or learned reranker.",
559
+ "Use one deterministic candidate scoring equation inside the packer, with the family signal entering only as a bounded regularizer from ShrinkageAnalyticNullEstimator.",
560
+ "Define degraded mode inside the packer from identifiable pool statistics only, rather than via a separate fallback module.",
561
+ "Keep the same first-stage candidate pool, metadata, and evidence budget as the baseline so ablations isolate the read-time substitution."
562
+ ],
563
+ "constraints": [
564
+ "No feature dumping: every component edit must map to a measured defect.",
565
+ "Use the lightest validation suite that can falsify the core mechanism; do not let protocol bulk replace mechanism work.",
566
+ "Prefer mechanism clarity over loosely coupled add-ons."
567
+ ],
568
+ "llm_instantiated": true
569
+ },
570
+ "components_with_explanations": [
571
+ {
572
+ "component": "two_stage_retrieval",
573
+ "explanation": "Efficiency-first candidate generation: bounded ANN retrieval plus lexical screening, with optional soft facet hints, to keep recall high while capping latency before calibration."
574
+ },
575
+ {
576
+ "component": "modular_atomic_note_enricher",
577
+ "explanation": "Write-path module that produces immutable atomic notes with only QA-critical enrichment, including provenance-family IDs and confidence-aware entity/time metadata needed for calibration and packing."
578
+ },
579
+ {
580
+ "component": "deterministic_rank_and_pack",
581
+ "explanation": "One‑pass deterministic scoring and greedy packing stage that consumes b_i from two_stage_retrieval and bounded family signals (r_f,u_f) from ShrinkageAnalyticNullEstimator. It normalizes base scores per pool, adds the bounded family_regularizer, enforces lightweight per‑role quotas and small per‑family caps (folded duplicate control), applies soft overlap decay, and implements an internal deterministic fallback to relevance‑only packing when pool statistics indicate unreliable family evidence."
582
+ },
583
+ {
584
+ "component": "note_attached_micro_handles",
585
+ "explanation": "Exact handles remain attached to notes as metadata only and can seed lexical or facet boosts, avoiding a separate handle index while preserving precise lookup when useful."
586
+ },
587
+ {
588
+ "component": "ShrinkageAnalyticNullEstimator",
589
+ "explanation": "Closed-form family calibrator. It computes expected corroboration and variance under a label-uninformative null, applies variance floors and family-size shrinkage, and outputs bounded support or failure mass for each family."
590
+ }
591
+ ],
592
+ "idea_taste_mode": "fusion_agent",
593
+ "idea_source": "fused",
594
+ "source_modes": [
595
+ "moonshot_inventor",
596
+ "bridge_builder",
597
+ "steady_engineer",
598
+ "ambitious_realist",
599
+ "evidence_first"
600
+ ],
601
+ "fusion_metadata": {
602
+ "host_idea_mode": "moonshot_inventor",
603
+ "selected_components": [
604
+ {
605
+ "source_mode": "moonshot_inventor",
606
+ "component": "CalibratedBayesianFamilyRankAndPack",
607
+ "role": "core_mechanism",
608
+ "why_selected": "It is the clearest single novelty: a deterministic family-aware calibration that directly changes read-time evidence selection instead of adding a separate verifier or controller."
609
+ },
610
+ {
611
+ "source_mode": "moonshot_inventor",
612
+ "component": "ShrinkageAnalyticNullEstimator",
613
+ "role": "support_module",
614
+ "why_selected": "It provides the closed-form, family-size-aware null model that makes the core mechanism precise, fast, and ablatable."
615
+ },
616
+ {
617
+ "source_mode": "steady_engineer",
618
+ "component": "two_stage_retrieval",
619
+ "role": "support_module",
620
+ "why_selected": "It preserves the mature efficiency-first character and keeps the new contribution focused on bounded-pool calibration rather than on changing the retriever."
621
+ },
622
+ {
623
+ "source_mode": "bridge_builder",
624
+ "component": "modular_atomic_note_enricher",
625
+ "role": "support_module",
626
+ "why_selected": "It keeps memory writing minimal and QA-focused while supplying the confidence, entity/time, and provenance metadata the calibrator needs."
627
+ },
628
+ {
629
+ "source_mode": "steady_engineer",
630
+ "component": "per_slot_quota_and_decay",
631
+ "role": "guardrail",
632
+ "why_selected": "It gives lightweight duplicate suppression and small contradiction capacity without requiring a second reranking or adjudication layer."
633
+ },
634
+ {
635
+ "source_mode": "moonshot_inventor",
636
+ "component": "note_attached_micro_handles",
637
+ "role": "guardrail",
638
+ "why_selected": "It preserves exact lookup as a small optional boost while avoiding the complexity of a separate handle index."
639
+ }
640
+ ],
641
+ "rejected_components": [
642
+ {
643
+ "source_mode": "ambitious_realist",
644
+ "component": "HierarchicalMemoryRouter",
645
+ "why_rejected": "It adds an extra controller layer and coordination burden, while the fused thesis works better as a direct calibration-plus-packing mechanism."
646
+ },
647
+ {
648
+ "source_mode": "steady_engineer",
649
+ "component": "deterministic_rank_and_pack",
650
+ "why_rejected": "It is too generic as the main read-time novelty and is subsumed by the more specific calibrated packing mechanism."
651
+ },
652
+ {
653
+ "source_mode": "evidence_first",
654
+ "component": "deterministic_rank_and_pack",
655
+ "why_rejected": "Keeping a plain packer would weaken the causal claim; the fused method needs the family-calibrated packer rather than a flat score-and-pack baseline."
656
+ }
657
+ ],
658
+ "conflicts_and_resolutions": [
659
+ {
660
+ "conflict": "Persistent feedback-updated family reliability from some candidates versus ephemeral within-query calibration from the moonshot idea.",
661
+ "resolution": "Use only a small prior seeded by write-time confidence and compute the main reliability update from the current bounded candidate pool, avoiding drift-heavy mutable family state."
662
+ },
663
+ {
664
+ "conflict": "Router-based family quota proposal versus preserving the mature architecture's simple deterministic read path.",
665
+ "resolution": "Reject the router and inject family calibration directly into the packer so the method remains one-stage after candidate retrieval."
666
+ },
667
+ {
668
+ "conflict": "Raw provenance counts or average-confidence bonuses can overreward large or duplicated families.",
669
+ "resolution": "Normalize family corroboration with a family-size-aware analytic null and add shrinkage so only excess support beyond expectation influences selection."
670
+ },
671
+ {
672
+ "conflict": "More aggressive family-aware scoring increases risk of brittle behavior when the candidate pool is tiny or homogeneous.",
673
+ "resolution": "Add explicit degeneracy checks based on candidate-pool size, score variance, and family-label entropy, and revert to relevance-first packing when those checks fail."
674
+ }
675
+ ],
676
+ "fused_core_thesis": "In training-free atomic-note memory, provenance families should influence QA retrieval only after their support is analytically normalized against what would be expected from their size and the retrieved score distribution; that calibrated reliability should then directly regularize fixed-budget evidence packing.",
677
+ "why_stronger_than_each_input": "Compared with the moonshot input, the fusion makes fallback behavior and deployment-safe degradation explicit. Compared with bridge_builder and evidence_first, it avoids a heavier persistent reliability layer that could drift, depend on noisy feedback, or become a second hidden memory system. Compared with steady_engineer, it replaces a broad expected-utility framing with a sharper, testable mechanism. Compared with ambitious_realist, it captures the decision-theoretic benefit without adding a router/controller that would complicate attribution and latency. The result is one coherent method with a clearer causal chain: bounded retrieval, analytic family calibration, calibrated packing.",
678
+ "minimal_validation_plan": "Run matched-budget ablations on fact QA, contextual QA, and multi-hop QA with identical note stores, candidate-pool sizes, and prompt budgets: (1) mature baseline without family calibration, (2) raw family-count bonus, (3) persistent Beta-style family reliability baseline, and (4) the fused method. Report answer EM/F1, evidence precision/recall against gold supporting notes, unsupported-answer rate, latency p50/p95, and growth curves as memory scales. Add stress tests for family merge/split noise, provenance spoofing, poisoning, temporal drift, and degenerate candidate pools. Include fallback diagnostics such as variance-floor activation rate, family-label entropy, and calibration-disable frequency.",
679
+ "repair_trace": [
680
+ {
681
+ "step": 1,
682
+ "score_before": 3.99,
683
+ "score_after": 4.04,
684
+ "component_edits": [
685
+ {
686
+ "op": "REPLACE_COMPONENT",
687
+ "component": "deterministic_rank_and_pack",
688
+ "target": "CalibratedBayesianFamilyRankAndPack",
689
+ "condition": "",
690
+ "details": "Replace CalibratedBayesianFamilyRankAndPack with deterministic_rank_and_pack so the rank-and-pack stage is the mature one-pass packer. Its single deterministic score should consume base relevance plus bounded family reliability/uncertainty from ShrinkageAnalyticNullEstimator, and its fallback should be explicit: when pool size, score variance, or family-label entropy are below fixed thresholds, set the family regularizer to zero and run plain relevance-first packing with existing duplicate control.",
691
+ "reason": "Reason 1: Centralizing scoring and quota logic into deterministic_rank_and_pack reduces architectural surface area and prevents ambiguous interactions between an external quota component and the packer, improving determinism and reducing silent failure modes."
692
+ },
693
+ {
694
+ "op": "REMOVE_COMPONENT",
695
+ "component": "per_slot_quota_and_decay",
696
+ "target": "",
697
+ "condition": "",
698
+ "details": "Remove per_slot_quota_and_decay as a separate structural component and fold any small quota/duplicate-decay behavior into deterministic_rank_and_pack.",
699
+ "reason": "Reason 2: Rewiring ShrinkageAnalyticNullEstimator to feed only a bounded regularizer into a single deterministic scoring equation makes the mechanism explicit and easier to validate; the explicit per‑pool fallback removes unclear failure behavior when the family signal is unreliable."
700
+ },
701
+ {
702
+ "op": "REWIRE",
703
+ "component": "ShrinkageAnalyticNullEstimator",
704
+ "target": "deterministic_rank_and_pack",
705
+ "condition": "",
706
+ "details": "Rewire ShrinkageAnalyticNullEstimator to feed its bounded family reliability and uncertainty outputs directly into deterministic_rank_and_pack for candidate scoring and explicit fallback triggering.",
707
+ "reason": "Reason 3: Folding duplicate control into the packer preserves lightweight runtime behavior (one pass, bounded latency) while keeping family corroboration as a conservative, well‑bounded influence — aligning with the training‑free, efficiency‑first refinement goals."
708
+ }
709
+ ]
710
+ }
711
+ ]
712
+ },
713
+ "evaluation": {
714
+ "novelty": 4,
715
+ "surprise": 4,
716
+ "feasibility": 4,
717
+ "clarity": 4,
718
+ "impact": 4,
719
+ "risk": 3,
720
+ "conciseness": 4,
721
+ "alignment_score": 5,
722
+ "complexity_penalty": 2,
723
+ "protocol_score": 4,
724
+ "confidence": 0.82,
725
+ "failure_modes": [
726
+ "Family-level corroboration can amplify correlated retrieval errors when multiple wrong notes share a provenance family and have moderately strong base scores.",
727
+ "Per-pool normalization may become unstable on narrow or highly skewed candidate pools, causing the family regularizer to dominate or vanish unpredictably.",
728
+ "Incorrect or noisy provenance-family IDs from the write path can distort the analytic null estimate and silently mis-rank evidence.",
729
+ "Folding quota and duplicate-decay logic into the packer may reduce diversity in multi-hop QA if one family occupies too much of the fixed evidence budget."
730
+ ],
731
+ "fairness_protocol": "Use the same stage-1 candidate pool, same evidence budget, same note store, and same metadata for all compared read-time packers. Compare against plain relevance-first deterministic packing, the prior provenance-bonus/slotted variant, and an ablation with the family regularizer zeroed while keeping all other code paths identical. Report QA accuracy, calibration of selected evidence, latency, and behavior under synthetic null-family, family-poisoning, sparse-pool, and noisy-family-ID conditions. What is still missing is a clearly specified cross-dataset transfer check to support robustness beyond one benchmark regime.",
732
+ "feedback": "This is a strong fusion_repair move: it meaningfully simplifies the read path by replacing a loosely justified provenance bonus with a single analytic family signal injected into deterministic_rank_and_pack, and it directly targets the listed defects unclear_mechanism, weak_fallback_behavior, validation_gap, and silent_failure. The explicit fallback inside the packer is especially helpful because it turns family evidence into a bounded optional regularizer rather than a mandatory control path. The main remaining concern is that responsibilities are now more coupled inside deterministic_rank_and_pack: scoring, duplicate control, family regularization, and fallback all live in one component, which improves runtime simplicity but makes attribution and some ablations harder. The core mechanism is mostly clear, but the exact interaction between role quotas, family caps, soft overlap decay, and the family regularizer should be specified more formally to avoid hidden decision conflicts. Validation is better than average, yet it should explicitly test whether gains come from the analytic null principle itself versus merely from score normalization or conservative caps. Symbolic memory evidence is only inconclusive for nearby enrichment/canonicalization families, so it does not strongly argue against this direction; still, keep the family metadata dependency conservative because noisy write-time structure remains a likely source of silent degradation.",
733
+ "defect_fix_summary": "The edit addresses unclear_mechanism by collapsing family scoring and packing into a single deterministic equation with explicit inputs from ShrinkageAnalyticNullEstimator. It addresses weak_fallback_behavior by specifying a relevance-only degraded mode when family statistics are unreliable. It partially addresses validation_gap by proposing null-family, poisoning, ablation, and latency tests tied to the mechanism. It reduces silent_failure by bounding the family effect and exposing a concrete condition under which the regularizer is disabled. The selected fusion_repair skill fits because the main improvement comes from tightening the interface between calibration and packing rather than adding new training or control machinery.",
734
+ "detected_defects": [
735
+ "harder_to_ablate",
736
+ "rare_regime_failure"
737
+ ]
738
+ },
739
+ "search_score": 4.04,
740
+ "search_path": "Family-Scoped Expected-Utility Retrieval for Atomic Note Memory [seed] -> defects ['unexplored_gap'] | Analytic Family‑Calibrated Deterministic Rank‑and‑Pack for Training‑Free Atomic‑Note Memory [fusion_repair] -> defects ['unclear_mechanism', 'weak_fallback_behavior', 'validation_gap', 'silent_failure']",
741
+ "retrieved_core_titles": [
742
+ "SuperLocalMemory V3: Information-Geometric Foundations for Zero-LLM Enterprise Agent Memory",
743
+ "Dynamic Affective Memory Management for Personalized LLM Agents",
744
+ "ProcrustesGPT: Compressing LLMs with Structured Matrices and Orthogonal Transformations",
745
+ "Learning Long-Context Diffusion Policies via Past-Token Prediction",
746
+ "ARCMEMO: ABSTRACT REASONING COMPOSITION WITH LIFE LONG LLM MEMORY",
747
+ "Killing Two Birds with One Stone: Unifying Retrieval and Ranking with a Single Generative Recommendation Model",
748
+ "Don't Hallucinate, Abstain: Identifying LLM Knowledge Gaps via Multi-LLM Collaboration",
749
+ "Reasoning RAG via System 1 or System 2: A Survey on Reasoning Agentic Retrieval-Augmented Generation for Industry Challenges",
750
+ "Training-Free Agentic AI: Probabilistic Control and Coordination in Multi-Agent LLM Systems",
751
+ "KernelSkill: A Multi-Agent Framework for GPU Kernel Optimization",
752
+ "Leanabell-Prover-V2: Verifier-integrated Reasoning for Formal Theorem Proving via Reinforcement Learning",
753
+ "Memory-Augmented Log Analysis with Phi-4-mini: Enhancing Threat Detection in Structured Security Logs",
754
+ "Multi-Scale Vision Longformer: A New Vision Transformer for High-Resolution Image Encoding",
755
+ "Exchange-of-Thought: Enhancing Large Language Model Capabilities through Cross-Model Communication",
756
+ "LitSearch: A Retrieval Benchmark for Scientific Literature Search",
757
+ "A Gated Self-attention Memory Network for Answer Selection",
758
+ "AQR-HNSW: Accelerating Approximate Nearest Neighbor Search via Density-aware Quantization and Multi-stage Re-ranking",
759
+ "MixKVQ: Query-Aware Mixed-Precision KV Cache Quantization for Long-Context Reasoning",
760
+ "Dynamic Quality-Latency Aware Routing for LLM Inference in Wireless Edge-Device Networks",
761
+ "Stochastic RAG: End-to-End Retrieval-Augmented Generation through Expected Utility Maximization",
762
+ "STBLLM: BREAKING THE 1-BIT BARRIER WITH STRUCTURED BINARY LLMS",
763
+ "A Survey on Data Selection for LLM Instruction Tuning",
764
+ "Cortex: Achieving Low-Latency, Cost-Efficient Remote Data Access For LLM via Semantic-Aware Knowledge Caching",
765
+ "Knowing You Don’t Know: Learning When to Continue Search in Multi-round RAG through Self-Practicing",
766
+ "C-FEDRAG: A CONFIDENTIAL FERERATED RETRIEVAL-AUGMENTED GENERATION SYSTEM",
767
+ "CarMem: Enhancing Long-Term Memory in LLM Voice Assistants through Category-Bounding",
768
+ "CAM: A Constructivist View of Agentic Memory for LLM-Based Reading Comprehension",
769
+ "Searching for Best Practices in Retrieval-Augmented Generation",
770
+ "SEDM: Scalable Self-Evolving Distributed Memory for Agents",
771
+ "Proxima: Near-storage Acceleration for Graph-based Approximate Nearest Neighbor Search in 3D NAND",
772
+ "Data-efficient Fine-tuning for LLM-based Recommendation",
773
+ "Improving language models by retrieving from trillions of tokens",
774
+ "PM-KVQ: Progressive Mixed-precision KV Cache Quantization for Long-CoT LLMs"
775
+ ],
776
+ "search_trace": [
777
+ {
778
+ "iteration": 0,
779
+ "node_id": 1,
780
+ "depth": 1,
781
+ "title": "Analytic Family‑Calibrated Deterministic Rank‑and‑Pack for Training‑Free Atomic‑Note Memory",
782
+ "operator": "fusion_repair",
783
+ "defects": [
784
+ "unclear_mechanism",
785
+ "weak_fallback_behavior",
786
+ "validation_gap",
787
+ "silent_failure"
788
+ ],
789
+ "memory_refs": [],
790
+ "rationale": "Replacing a separate Bayesian packing component with deterministic_rank_and_pack simplifies the read pipeline and makes the family signal's effect explicit and auditable while preserving the original closed‑form calibration idea. Folding duplicate control into the packer and making the fallback deterministic removes a silent failure mode and narrows the validation surface: family influence is a bounded regularizer that can be cleanly turned off when pool statistics indicate it would be unreliable.",
791
+ "score": 4.04,
792
+ "visits": 1,
793
+ "path": "Family-Scoped Expected-Utility Retrieval for Atomic Note Memory [seed] -> defects ['unexplored_gap'] | Analytic Family‑Calibrated Deterministic Rank‑and‑Pack for Training‑Free Atomic‑Note Memory [fusion_repair] -> defects ['unclear_mechanism', 'weak_fallback_behavior', 'validation_gap', 'silent_failure']",
794
+ "action_summary": "fusion_repair -> unclear_mechanism, weak_fallback_behavior, validation_gap, silent_failure",
795
+ "evaluation": {
796
+ "novelty": 4,
797
+ "surprise": 4,
798
+ "feasibility": 4,
799
+ "clarity": 4,
800
+ "impact": 4,
801
+ "risk": 3,
802
+ "conciseness": 4,
803
+ "alignment_score": 5,
804
+ "complexity_penalty": 2,
805
+ "protocol_score": 4,
806
+ "confidence": 0.82,
807
+ "failure_modes": [
808
+ "Family-level corroboration can amplify correlated retrieval errors when multiple wrong notes share a provenance family and have moderately strong base scores.",
809
+ "Per-pool normalization may become unstable on narrow or highly skewed candidate pools, causing the family regularizer to dominate or vanish unpredictably.",
810
+ "Incorrect or noisy provenance-family IDs from the write path can distort the analytic null estimate and silently mis-rank evidence.",
811
+ "Folding quota and duplicate-decay logic into the packer may reduce diversity in multi-hop QA if one family occupies too much of the fixed evidence budget."
812
+ ],
813
+ "fairness_protocol": "Use the same stage-1 candidate pool, same evidence budget, same note store, and same metadata for all compared read-time packers. Compare against plain relevance-first deterministic packing, the prior provenance-bonus/slotted variant, and an ablation with the family regularizer zeroed while keeping all other code paths identical. Report QA accuracy, calibration of selected evidence, latency, and behavior under synthetic null-family, family-poisoning, sparse-pool, and noisy-family-ID conditions. What is still missing is a clearly specified cross-dataset transfer check to support robustness beyond one benchmark regime.",
814
+ "feedback": "This is a strong fusion_repair move: it meaningfully simplifies the read path by replacing a loosely justified provenance bonus with a single analytic family signal injected into deterministic_rank_and_pack, and it directly targets the listed defects unclear_mechanism, weak_fallback_behavior, validation_gap, and silent_failure. The explicit fallback inside the packer is especially helpful because it turns family evidence into a bounded optional regularizer rather than a mandatory control path. The main remaining concern is that responsibilities are now more coupled inside deterministic_rank_and_pack: scoring, duplicate control, family regularization, and fallback all live in one component, which improves runtime simplicity but makes attribution and some ablations harder. The core mechanism is mostly clear, but the exact interaction between role quotas, family caps, soft overlap decay, and the family regularizer should be specified more formally to avoid hidden decision conflicts. Validation is better than average, yet it should explicitly test whether gains come from the analytic null principle itself versus merely from score normalization or conservative caps. Symbolic memory evidence is only inconclusive for nearby enrichment/canonicalization families, so it does not strongly argue against this direction; still, keep the family metadata dependency conservative because noisy write-time structure remains a likely source of silent degradation.",
815
+ "defect_fix_summary": "The edit addresses unclear_mechanism by collapsing family scoring and packing into a single deterministic equation with explicit inputs from ShrinkageAnalyticNullEstimator. It addresses weak_fallback_behavior by specifying a relevance-only degraded mode when family statistics are unreliable. It partially addresses validation_gap by proposing null-family, poisoning, ablation, and latency tests tied to the mechanism. It reduces silent_failure by bounding the family effect and exposing a concrete condition under which the regularizer is disabled. The selected fusion_repair skill fits because the main improvement comes from tightening the interface between calibration and packing rather than adding new training or control machinery.",
816
+ "detected_defects": [
817
+ "harder_to_ablate",
818
+ "rare_regime_failure"
819
+ ],
820
+ "composite": 4.04
821
+ },
822
+ "signature": "1cff48961f955b79aa4877f0635a7b4ca0b8d94d01dca85009384c5062136d60",
823
+ "edit_plan": {
824
+ "skill_name": "fusion_repair",
825
+ "objective": "Locally repair the fused idea",
826
+ "target_defects": [
827
+ "unclear_mechanism",
828
+ "weak_fallback_behavior",
829
+ "validation_gap",
830
+ "silent_failure"
831
+ ],
832
+ "component_edits": [
833
+ {
834
+ "op": "REPLACE_COMPONENT",
835
+ "component": "deterministic_rank_and_pack",
836
+ "target": "CalibratedBayesianFamilyRankAndPack",
837
+ "condition": "",
838
+ "details": "Replace CalibratedBayesianFamilyRankAndPack with deterministic_rank_and_pack so the rank-and-pack stage is the mature one-pass packer. Its single deterministic score should consume base relevance plus bounded family reliability/uncertainty from ShrinkageAnalyticNullEstimator, and its fallback should be explicit: when pool size, score variance, or family-label entropy are below fixed thresholds, set the family regularizer to zero and run plain relevance-first packing with existing duplicate control.",
839
+ "reason": "Reason 1: Centralizing scoring and quota logic into deterministic_rank_and_pack reduces architectural surface area and prevents ambiguous interactions between an external quota component and the packer, improving determinism and reducing silent failure modes."
840
+ },
841
+ {
842
+ "op": "REMOVE_COMPONENT",
843
+ "component": "per_slot_quota_and_decay",
844
+ "target": "",
845
+ "condition": "",
846
+ "details": "Remove per_slot_quota_and_decay as a separate structural component and fold any small quota/duplicate-decay behavior into deterministic_rank_and_pack.",
847
+ "reason": "Reason 2: Rewiring ShrinkageAnalyticNullEstimator to feed only a bounded regularizer into a single deterministic scoring equation makes the mechanism explicit and easier to validate; the explicit per‑pool fallback removes unclear failure behavior when the family signal is unreliable."
848
+ },
849
+ {
850
+ "op": "REWIRE",
851
+ "component": "ShrinkageAnalyticNullEstimator",
852
+ "target": "deterministic_rank_and_pack",
853
+ "condition": "",
854
+ "details": "Rewire ShrinkageAnalyticNullEstimator to feed its bounded family reliability and uncertainty outputs directly into deterministic_rank_and_pack for candidate scoring and explicit fallback triggering.",
855
+ "reason": "Reason 3: Folding duplicate control into the packer preserves lightweight runtime behavior (one pass, bounded latency) while keeping family corroboration as a conservative, well‑bounded influence — aligning with the training‑free, efficiency‑first refinement goals."
856
+ }
857
+ ],
858
+ "validation": {
859
+ "regression_tests": [],
860
+ "ablation_tests": [],
861
+ "stress_tests": []
862
+ },
863
+ "guardrails": [
864
+ "Keep the write path unchanged and training-free.",
865
+ "Do not introduce any new controller, router, or learned reranker.",
866
+ "Use one deterministic candidate scoring equation inside the packer, with the family signal entering only as a bounded regularizer from ShrinkageAnalyticNullEstimator.",
867
+ "Define degraded mode inside the packer from identifiable pool statistics only, rather than via a separate fallback module.",
868
+ "Keep the same first-stage candidate pool, metadata, and evidence budget as the baseline so ablations isolate the read-time substitution."
869
+ ],
870
+ "memory_refs": [],
871
+ "compile_notes": "Compiled from fusion repair planner using existing atomic edit operations."
872
+ },
873
+ "skill_metrics": {
874
+ "idea_taste_mode": "fusion_agent",
875
+ "skill_prior_before": {
876
+ "attempts": 0,
877
+ "successes": 0,
878
+ "reward_ema": 0.5,
879
+ "prior": 0.5,
880
+ "rule_constraints": []
881
+ },
882
+ "guardrails": [
883
+ "Keep the write path unchanged and training-free.",
884
+ "Do not introduce any new controller, router, or learned reranker.",
885
+ "Use one deterministic candidate scoring equation inside the packer, with the family signal entering only as a bounded regularizer from ShrinkageAnalyticNullEstimator.",
886
+ "Define degraded mode inside the packer from identifiable pool statistics only, rather than via a separate fallback module.",
887
+ "Keep the same first-stage candidate pool, metadata, and evidence budget as the baseline so ablations isolate the read-time substitution."
888
+ ],
889
+ "constraints": [
890
+ "No feature dumping: every component edit must map to a measured defect.",
891
+ "Use the lightest validation suite that can falsify the core mechanism; do not let protocol bulk replace mechanism work.",
892
+ "Prefer mechanism clarity over loosely coupled add-ons."
893
+ ],
894
+ "llm_instantiated": true
895
+ }
896
+ }
897
+ ],
898
+ "pareto_candidates": {}
899
+ }
900
+ }