scienceflow 0.2.0b3__tar.gz

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 (1158) hide show
  1. scienceflow-0.2.0b3/LICENSE +9 -0
  2. scienceflow-0.2.0b3/PKG-INFO +364 -0
  3. scienceflow-0.2.0b3/README.md +253 -0
  4. scienceflow-0.2.0b3/pyproject.toml +248 -0
  5. scienceflow-0.2.0b3/scienceflow/__init__.py +13 -0
  6. scienceflow-0.2.0b3/scienceflow/agent/__init__.py +120 -0
  7. scienceflow-0.2.0b3/scienceflow/agent/core/__init__.py +1 -0
  8. scienceflow-0.2.0b3/scienceflow/agent/core/ports/__init__.py +1 -0
  9. scienceflow-0.2.0b3/scienceflow/agent/core/ports/callback_ports.py +129 -0
  10. scienceflow-0.2.0b3/scienceflow/agent/core/ports/host_ports.py +126 -0
  11. scienceflow-0.2.0b3/scienceflow/agent/core/ports/session_callbacks.py +173 -0
  12. scienceflow-0.2.0b3/scienceflow/agent/core/runtime/__init__.py +1 -0
  13. scienceflow-0.2.0b3/scienceflow/agent/core/runtime/agent.py +173 -0
  14. scienceflow-0.2.0b3/scienceflow/agent/core/runtime/ephemeral.py +73 -0
  15. scienceflow-0.2.0b3/scienceflow/agent/core/runtime/registry.py +42 -0
  16. scienceflow-0.2.0b3/scienceflow/agent/core/runtime/run_policy.py +187 -0
  17. scienceflow-0.2.0b3/scienceflow/agent/factory/__init__.py +12 -0
  18. scienceflow-0.2.0b3/scienceflow/agent/factory/composition.py +276 -0
  19. scienceflow-0.2.0b3/scienceflow/agent/factory/construction/__init__.py +326 -0
  20. scienceflow-0.2.0b3/scienceflow/agent/factory/construction/assembly.py +626 -0
  21. scienceflow-0.2.0b3/scienceflow/agent/factory/construction/builder.py +34 -0
  22. scienceflow-0.2.0b3/scienceflow/agent/factory/contracts.py +29 -0
  23. scienceflow-0.2.0b3/scienceflow/agent/factory/service.py +96 -0
  24. scienceflow-0.2.0b3/scienceflow/agent/policies/__init__.py +3 -0
  25. scienceflow-0.2.0b3/scienceflow/agent/policies/repl.py +89 -0
  26. scienceflow-0.2.0b3/scienceflow/agent/policies/routing.py +407 -0
  27. scienceflow-0.2.0b3/scienceflow/agent/prompts/L0/README.md +7 -0
  28. scienceflow-0.2.0b3/scienceflow/agent/prompts/L0/code_agent_core.md +41 -0
  29. scienceflow-0.2.0b3/scienceflow/agent/prompts/L0/code_agent_core_bash_write.md +60 -0
  30. scienceflow-0.2.0b3/scienceflow/agent/prompts/L0/default_system.md +24 -0
  31. scienceflow-0.2.0b3/scienceflow/agent/prompts/L0/default_system_bash_write.md +37 -0
  32. scienceflow-0.2.0b3/scienceflow/agent/prompts/L0/tool_policy_parallel.md +16 -0
  33. scienceflow-0.2.0b3/scienceflow/agent/prompts/L0/tool_policy_parallel_bash_write.md +20 -0
  34. scienceflow-0.2.0b3/scienceflow/agent/prompts/L0/tool_policy_single.md +13 -0
  35. scienceflow-0.2.0b3/scienceflow/agent/prompts/L0/tool_policy_single_bash_write.md +16 -0
  36. scienceflow-0.2.0b3/scienceflow/agent/prompts/README.md +9 -0
  37. scienceflow-0.2.0b3/scienceflow/agent/prompts/__init__.py +13 -0
  38. scienceflow-0.2.0b3/scienceflow/agent/prompts/system_prompt.py +164 -0
  39. scienceflow-0.2.0b3/scienceflow/agent/prompts/write_coaching.py +252 -0
  40. scienceflow-0.2.0b3/scienceflow/agent/session/__init__.py +23 -0
  41. scienceflow-0.2.0b3/scienceflow/agent/session/coordination/__init__.py +1 -0
  42. scienceflow-0.2.0b3/scienceflow/agent/session/coordination/context.py +135 -0
  43. scienceflow-0.2.0b3/scienceflow/agent/session/coordination/contracts.py +24 -0
  44. scienceflow-0.2.0b3/scienceflow/agent/session/coordination/host.py +55 -0
  45. scienceflow-0.2.0b3/scienceflow/agent/session/execution/__init__.py +1 -0
  46. scienceflow-0.2.0b3/scienceflow/agent/session/execution/runtime.py +202 -0
  47. scienceflow-0.2.0b3/scienceflow/agent/session/execution/tool_result.py +202 -0
  48. scienceflow-0.2.0b3/scienceflow/agent/session/execution/turn.py +291 -0
  49. scienceflow-0.2.0b3/scienceflow/cli.py +7 -0
  50. scienceflow-0.2.0b3/scienceflow/foundation/__init__.py +1 -0
  51. scienceflow-0.2.0b3/scienceflow/foundation/architecture/__init__.py +15 -0
  52. scienceflow-0.2.0b3/scienceflow/foundation/architecture/dependencies.py +269 -0
  53. scienceflow-0.2.0b3/scienceflow/foundation/config/__init__.py +11 -0
  54. scienceflow-0.2.0b3/scienceflow/foundation/config/default.yaml +12 -0
  55. scienceflow-0.2.0b3/scienceflow/foundation/config/llm/__init__.py +1 -0
  56. scienceflow-0.2.0b3/scienceflow/foundation/config/llm/llm_factory.py +76 -0
  57. scienceflow-0.2.0b3/scienceflow/foundation/config/llm/llm_http.py +206 -0
  58. scienceflow-0.2.0b3/scienceflow/foundation/config/llm/llm_pool.py +69 -0
  59. scienceflow-0.2.0b3/scienceflow/foundation/config/llm/model_registry.py +188 -0
  60. scienceflow-0.2.0b3/scienceflow/foundation/config/profiles/__init__.py +1 -0
  61. scienceflow-0.2.0b3/scienceflow/foundation/config/profiles/defaults/agent.yaml +22 -0
  62. scienceflow-0.2.0b3/scienceflow/foundation/config/profiles/defaults/evaluator.yaml +37 -0
  63. scienceflow-0.2.0b3/scienceflow/foundation/config/profiles/defaults/exec.yaml +8 -0
  64. scienceflow-0.2.0b3/scienceflow/foundation/config/profiles/defaults/lnr/context.yaml +25 -0
  65. scienceflow-0.2.0b3/scienceflow/foundation/config/profiles/defaults/lnr/estra-magent.yaml +11 -0
  66. scienceflow-0.2.0b3/scienceflow/foundation/config/profiles/defaults/lnr/estra.yaml +22 -0
  67. scienceflow-0.2.0b3/scienceflow/foundation/config/profiles/defaults/lnr/index.yaml +18 -0
  68. scienceflow-0.2.0b3/scienceflow/foundation/config/profiles/defaults/lnr/resource-arbiter.yaml +26 -0
  69. scienceflow-0.2.0b3/scienceflow/foundation/config/profiles/defaults/lnr/resource-gpu.yaml +49 -0
  70. scienceflow-0.2.0b3/scienceflow/foundation/config/profiles/defaults/lnr/resource-guards.yaml +27 -0
  71. scienceflow-0.2.0b3/scienceflow/foundation/config/profiles/defaults/lnr/resource-monitor.yaml +37 -0
  72. scienceflow-0.2.0b3/scienceflow/foundation/config/profiles/defaults/lnr/runtime.yaml +10 -0
  73. scienceflow-0.2.0b3/scienceflow/foundation/config/profiles/defaults/lnr/selection.yaml +13 -0
  74. scienceflow-0.2.0b3/scienceflow/foundation/config/profiles/defaults/lnr/skills.yaml +11 -0
  75. scienceflow-0.2.0b3/scienceflow/foundation/config/profiles/defaults/lnr/snapshots.yaml +7 -0
  76. scienceflow-0.2.0b3/scienceflow/foundation/config/profiles/defaults/lnr/stage.yaml +20 -0
  77. scienceflow-0.2.0b3/scienceflow/foundation/config/profiles/defaults/lnr/workspace.yaml +13 -0
  78. scienceflow-0.2.0b3/scienceflow/foundation/config/profiles/defaults/repl.yaml +25 -0
  79. scienceflow-0.2.0b3/scienceflow/foundation/config/profiles/defaults/tool.yaml +64 -0
  80. scienceflow-0.2.0b3/scienceflow/foundation/config/profiles/defaults/workspace.yaml +10 -0
  81. scienceflow-0.2.0b3/scienceflow/foundation/config/runtime/__init__.py +1 -0
  82. scienceflow-0.2.0b3/scienceflow/foundation/config/runtime/agent_constants.py +47 -0
  83. scienceflow-0.2.0b3/scienceflow/foundation/config/runtime/environment.py +96 -0
  84. scienceflow-0.2.0b3/scienceflow/foundation/config/runtime/llm_lists.py +50 -0
  85. scienceflow-0.2.0b3/scienceflow/foundation/config/runtime/resource_modes.py +115 -0
  86. scienceflow-0.2.0b3/scienceflow/foundation/config/schema/__init__.py +1 -0
  87. scienceflow-0.2.0b3/scienceflow/foundation/config/schema/models/__init__.py +1 -0
  88. scienceflow-0.2.0b3/scienceflow/foundation/config/schema/models/contracts/__init__.py +1 -0
  89. scienceflow-0.2.0b3/scienceflow/foundation/config/schema/models/contracts/base.py +10 -0
  90. scienceflow-0.2.0b3/scienceflow/foundation/config/schema/models/contracts/environment.py +212 -0
  91. scienceflow-0.2.0b3/scienceflow/foundation/config/schema/models/contracts/profiles.py +192 -0
  92. scienceflow-0.2.0b3/scienceflow/foundation/config/schema/models/contracts/schema.py +629 -0
  93. scienceflow-0.2.0b3/scienceflow/foundation/config/schema/models/loading/__init__.py +1 -0
  94. scienceflow-0.2.0b3/scienceflow/foundation/config/schema/models/loading/loader.py +317 -0
  95. scienceflow-0.2.0b3/scienceflow/foundation/config/schema/models/loading/parallel_overrides.py +231 -0
  96. scienceflow-0.2.0b3/scienceflow/foundation/config/schema/models/loading/serialization.py +208 -0
  97. scienceflow-0.2.0b3/scienceflow/foundation/config/schema/settings.py +40 -0
  98. scienceflow-0.2.0b3/scienceflow/foundation/config/sci_modeling_bench.yaml +21 -0
  99. scienceflow-0.2.0b3/scienceflow/foundation/contracts/__init__.py +54 -0
  100. scienceflow-0.2.0b3/scienceflow/foundation/contracts/research/__init__.py +1 -0
  101. scienceflow-0.2.0b3/scienceflow/foundation/contracts/research/estra.py +45 -0
  102. scienceflow-0.2.0b3/scienceflow/foundation/contracts/research/evaluation.py +155 -0
  103. scienceflow-0.2.0b3/scienceflow/foundation/contracts/research/gate.py +51 -0
  104. scienceflow-0.2.0b3/scienceflow/foundation/contracts/research/metric.py +86 -0
  105. scienceflow-0.2.0b3/scienceflow/foundation/contracts/runtime/__init__.py +1 -0
  106. scienceflow-0.2.0b3/scienceflow/foundation/contracts/runtime/base.py +21 -0
  107. scienceflow-0.2.0b3/scienceflow/foundation/contracts/runtime/resource_execution.py +81 -0
  108. scienceflow-0.2.0b3/scienceflow/foundation/contracts/runtime/workspace_memory.py +77 -0
  109. scienceflow-0.2.0b3/scienceflow/interfaces/__init__.py +1 -0
  110. scienceflow-0.2.0b3/scienceflow/interfaces/cli/__init__.py +456 -0
  111. scienceflow-0.2.0b3/scienceflow/interfaces/cli/__main__.py +7 -0
  112. scienceflow-0.2.0b3/scienceflow/interfaces/cli/commands/__init__.py +1 -0
  113. scienceflow-0.2.0b3/scienceflow/interfaces/cli/commands/inspect/__init__.py +1 -0
  114. scienceflow-0.2.0b3/scienceflow/interfaces/cli/commands/inspect/monitor.py +86 -0
  115. scienceflow-0.2.0b3/scienceflow/interfaces/cli/commands/inspect/replay.py +76 -0
  116. scienceflow-0.2.0b3/scienceflow/interfaces/cli/commands/inspect/resources.py +23 -0
  117. scienceflow-0.2.0b3/scienceflow/interfaces/cli/commands/inspect/web.py +41 -0
  118. scienceflow-0.2.0b3/scienceflow/interfaces/cli/commands/run/__init__.py +1 -0
  119. scienceflow-0.2.0b3/scienceflow/interfaces/cli/commands/run/control/__init__.py +5 -0
  120. scienceflow-0.2.0b3/scienceflow/interfaces/cli/commands/run/control/commands.py +118 -0
  121. scienceflow-0.2.0b3/scienceflow/interfaces/cli/commands/run/control/guided.py +90 -0
  122. scienceflow-0.2.0b3/scienceflow/interfaces/cli/commands/run/parallel.py +36 -0
  123. scienceflow-0.2.0b3/scienceflow/interfaces/cli/commands/run/repl.py +310 -0
  124. scienceflow-0.2.0b3/scienceflow/interfaces/cli/commands/run/task.py +178 -0
  125. scienceflow-0.2.0b3/scienceflow/interfaces/cli/commands/run/tui.py +130 -0
  126. scienceflow-0.2.0b3/scienceflow/interfaces/cli/tui_sessions.py +66 -0
  127. scienceflow-0.2.0b3/scienceflow/interfaces/cli/user_config.py +83 -0
  128. scienceflow-0.2.0b3/scienceflow/interfaces/ui/__init__.py +16 -0
  129. scienceflow-0.2.0b3/scienceflow/interfaces/ui/assets/logo_scienceflow.png +0 -0
  130. scienceflow-0.2.0b3/scienceflow/interfaces/ui/assets/logo_scienceflow_lite.ico +0 -0
  131. scienceflow-0.2.0b3/scienceflow/interfaces/ui/assets/tui_badge.svg +12 -0
  132. scienceflow-0.2.0b3/scienceflow/interfaces/ui/assets/tui_tiny.svg +9 -0
  133. scienceflow-0.2.0b3/scienceflow/interfaces/ui/console.py +414 -0
  134. scienceflow-0.2.0b3/scienceflow/interfaces/ui/llm_cli.py +72 -0
  135. scienceflow-0.2.0b3/scienceflow/interfaces/ui/logo.py +29 -0
  136. scienceflow-0.2.0b3/scienceflow/interfaces/ui/long_research.py +661 -0
  137. scienceflow-0.2.0b3/scienceflow/interfaces/ui/long_research_progress.py +10 -0
  138. scienceflow-0.2.0b3/scienceflow/interfaces/ui/model_config.py +289 -0
  139. scienceflow-0.2.0b3/scienceflow/interfaces/ui/monitor/__init__.py +37 -0
  140. scienceflow-0.2.0b3/scienceflow/interfaces/ui/monitor/dashboard.py +815 -0
  141. scienceflow-0.2.0b3/scienceflow/interfaces/ui/monitor/helpers.py +319 -0
  142. scienceflow-0.2.0b3/scienceflow/interfaces/ui/monitor/lnr/__init__.py +1 -0
  143. scienceflow-0.2.0b3/scienceflow/interfaces/ui/monitor/lnr/projection/__init__.py +1 -0
  144. scienceflow-0.2.0b3/scienceflow/interfaces/ui/monitor/lnr/projection/aggregation.py +363 -0
  145. scienceflow-0.2.0b3/scienceflow/interfaces/ui/monitor/lnr/projection/events.py +299 -0
  146. scienceflow-0.2.0b3/scienceflow/interfaces/ui/monitor/lnr/projection/state.py +157 -0
  147. scienceflow-0.2.0b3/scienceflow/interfaces/ui/monitor/lnr/projection/summary.py +229 -0
  148. scienceflow-0.2.0b3/scienceflow/interfaces/ui/monitor/lnr/rendering/__init__.py +1 -0
  149. scienceflow-0.2.0b3/scienceflow/interfaces/ui/monitor/lnr/rendering/base.py +32 -0
  150. scienceflow-0.2.0b3/scienceflow/interfaces/ui/monitor/lnr/rendering/formatting.py +100 -0
  151. scienceflow-0.2.0b3/scienceflow/interfaces/ui/monitor/lnr/rendering/reader.py +208 -0
  152. scienceflow-0.2.0b3/scienceflow/interfaces/ui/monitor/lnr/rendering/status.py +279 -0
  153. scienceflow-0.2.0b3/scienceflow/interfaces/ui/monitor/lnr/rendering/time_trace.py +20 -0
  154. scienceflow-0.2.0b3/scienceflow/interfaces/ui/monitor/lnr_state.py +14 -0
  155. scienceflow-0.2.0b3/scienceflow/interfaces/ui/monitor_trace/__init__.py +19 -0
  156. scienceflow-0.2.0b3/scienceflow/interfaces/ui/monitor_trace/presentation/__init__.py +1 -0
  157. scienceflow-0.2.0b3/scienceflow/interfaces/ui/monitor_trace/presentation/builder.py +557 -0
  158. scienceflow-0.2.0b3/scienceflow/interfaces/ui/monitor_trace/presentation/render.py +375 -0
  159. scienceflow-0.2.0b3/scienceflow/interfaces/ui/monitor_trace/presentation/runner.py +55 -0
  160. scienceflow-0.2.0b3/scienceflow/interfaces/ui/monitor_trace/view_model/__init__.py +1 -0
  161. scienceflow-0.2.0b3/scienceflow/interfaces/ui/monitor_trace/view_model/assets.py +215 -0
  162. scienceflow-0.2.0b3/scienceflow/interfaces/ui/monitor_trace/view_model/leaderboard.py +241 -0
  163. scienceflow-0.2.0b3/scienceflow/interfaces/ui/monitor_trace/view_model/models.py +155 -0
  164. scienceflow-0.2.0b3/scienceflow/interfaces/ui/research/__init__.py +1 -0
  165. scienceflow-0.2.0b3/scienceflow/interfaces/ui/research/control/__init__.py +5 -0
  166. scienceflow-0.2.0b3/scienceflow/interfaces/ui/research/control/attachment.py +224 -0
  167. scienceflow-0.2.0b3/scienceflow/interfaces/ui/research/control/notices.py +51 -0
  168. scienceflow-0.2.0b3/scienceflow/interfaces/ui/research/control/tasks/__init__.py +1 -0
  169. scienceflow-0.2.0b3/scienceflow/interfaces/ui/research/control/tasks/completion.py +38 -0
  170. scienceflow-0.2.0b3/scienceflow/interfaces/ui/research/control/tasks/manager.py +350 -0
  171. scienceflow-0.2.0b3/scienceflow/interfaces/ui/research/control/tasks/metrics.py +115 -0
  172. scienceflow-0.2.0b3/scienceflow/interfaces/ui/research/control/tasks/projection.py +252 -0
  173. scienceflow-0.2.0b3/scienceflow/interfaces/ui/research/control/tasks/records.py +176 -0
  174. scienceflow-0.2.0b3/scienceflow/interfaces/ui/research/long_research_progress.py +272 -0
  175. scienceflow-0.2.0b3/scienceflow/interfaces/ui/research/research_events.py +146 -0
  176. scienceflow-0.2.0b3/scienceflow/interfaces/ui/research/research_preparation.py +210 -0
  177. scienceflow-0.2.0b3/scienceflow/interfaces/ui/research/research_usage.py +195 -0
  178. scienceflow-0.2.0b3/scienceflow/interfaces/ui/research/resources.py +218 -0
  179. scienceflow-0.2.0b3/scienceflow/interfaces/ui/research/telemetry/__init__.py +1 -0
  180. scienceflow-0.2.0b3/scienceflow/interfaces/ui/research/telemetry/formatting.py +68 -0
  181. scienceflow-0.2.0b3/scienceflow/interfaces/ui/research/telemetry/sampler.py +200 -0
  182. scienceflow-0.2.0b3/scienceflow/interfaces/ui/web_monitor/__init__.py +1 -0
  183. scienceflow-0.2.0b3/scienceflow/interfaces/ui/web_monitor/assets/core.js +84 -0
  184. scienceflow-0.2.0b3/scienceflow/interfaces/ui/web_monitor/assets/lineage.js +238 -0
  185. scienceflow-0.2.0b3/scienceflow/interfaces/ui/web_monitor/assets/lineage_layout.js +49 -0
  186. scienceflow-0.2.0b3/scienceflow/interfaces/ui/web_monitor/assets/lineage_viewport.js +138 -0
  187. scienceflow-0.2.0b3/scienceflow/interfaces/ui/web_monitor/assets/metric.js +144 -0
  188. scienceflow-0.2.0b3/scienceflow/interfaces/ui/web_monitor/assets/refresh.js +102 -0
  189. scienceflow-0.2.0b3/scienceflow/interfaces/ui/web_monitor/assets/shell.html +43 -0
  190. scienceflow-0.2.0b3/scienceflow/interfaces/ui/web_monitor/assets/theme.css +628 -0
  191. scienceflow-0.2.0b3/scienceflow/interfaces/ui/web_monitor/assets/view.js +256 -0
  192. scienceflow-0.2.0b3/scienceflow/interfaces/ui/web_monitor/data.py +267 -0
  193. scienceflow-0.2.0b3/scienceflow/interfaces/ui/web_monitor/page.py +59 -0
  194. scienceflow-0.2.0b3/scienceflow/interfaces/ui/web_monitor/projection.py +186 -0
  195. scienceflow-0.2.0b3/scienceflow/interfaces/ui/web_monitor/server.py +320 -0
  196. scienceflow-0.2.0b3/scienceflow/interfaces/ui/web_monitor/service.py +104 -0
  197. scienceflow-0.2.0b3/scienceflow/research/__init__.py +1 -0
  198. scienceflow-0.2.0b3/scienceflow/research/control/__init__.py +3 -0
  199. scienceflow-0.2.0b3/scienceflow/research/control/admission/__init__.py +20 -0
  200. scienceflow-0.2.0b3/scienceflow/research/control/admission/contracts.py +45 -0
  201. scienceflow-0.2.0b3/scienceflow/research/control/admission/observation.py +53 -0
  202. scienceflow-0.2.0b3/scienceflow/research/control/admission/policy.py +319 -0
  203. scienceflow-0.2.0b3/scienceflow/research/control/admission/replay.py +52 -0
  204. scienceflow-0.2.0b3/scienceflow/research/control/admission/service.py +143 -0
  205. scienceflow-0.2.0b3/scienceflow/research/control/agent_runtime_state.py +229 -0
  206. scienceflow-0.2.0b3/scienceflow/research/control/agent_session_setup.py +76 -0
  207. scienceflow-0.2.0b3/scienceflow/research/control/agent_session_state.py +44 -0
  208. scienceflow-0.2.0b3/scienceflow/research/control/ephemeral_agent_session.py +266 -0
  209. scienceflow-0.2.0b3/scienceflow/research/control/estra/__init__.py +31 -0
  210. scienceflow-0.2.0b3/scienceflow/research/control/estra/planning/__init__.py +1 -0
  211. scienceflow-0.2.0b3/scienceflow/research/control/estra/planning/contracts.py +96 -0
  212. scienceflow-0.2.0b3/scienceflow/research/control/estra/planning/parser.py +84 -0
  213. scienceflow-0.2.0b3/scienceflow/research/control/estra/planning/planner.py +132 -0
  214. scienceflow-0.2.0b3/scienceflow/research/control/estra/planning/policy.py +156 -0
  215. scienceflow-0.2.0b3/scienceflow/research/control/estra/runtime/__init__.py +1 -0
  216. scienceflow-0.2.0b3/scienceflow/research/control/estra/runtime/archive.py +150 -0
  217. scienceflow-0.2.0b3/scienceflow/research/control/estra/runtime/commands.py +49 -0
  218. scienceflow-0.2.0b3/scienceflow/research/control/estra/runtime/service.py +31 -0
  219. scienceflow-0.2.0b3/scienceflow/research/control/execution_value/__init__.py +25 -0
  220. scienceflow-0.2.0b3/scienceflow/research/control/execution_value/adapters/__init__.py +9 -0
  221. scienceflow-0.2.0b3/scienceflow/research/control/execution_value/adapters/lnr_observer.py +57 -0
  222. scienceflow-0.2.0b3/scienceflow/research/control/execution_value/decision/__init__.py +1 -0
  223. scienceflow-0.2.0b3/scienceflow/research/control/execution_value/decision/contracts.py +53 -0
  224. scienceflow-0.2.0b3/scienceflow/research/control/execution_value/decision/observation.py +47 -0
  225. scienceflow-0.2.0b3/scienceflow/research/control/execution_value/decision/router.py +152 -0
  226. scienceflow-0.2.0b3/scienceflow/research/control/execution_value/decision/service.py +79 -0
  227. scienceflow-0.2.0b3/scienceflow/research/control/execution_value/evidence/__init__.py +1 -0
  228. scienceflow-0.2.0b3/scienceflow/research/control/execution_value/evidence/cost_tracker.py +270 -0
  229. scienceflow-0.2.0b3/scienceflow/research/control/execution_value/evidence/quick_test.py +297 -0
  230. scienceflow-0.2.0b3/scienceflow/research/control/execution_value/evidence/replay.py +52 -0
  231. scienceflow-0.2.0b3/scienceflow/research/control/resources/__init__.py +69 -0
  232. scienceflow-0.2.0b3/scienceflow/research/control/resources/adapters/__init__.py +1 -0
  233. scienceflow-0.2.0b3/scienceflow/research/control/resources/adapters/lnr_runtime.py +8 -0
  234. scienceflow-0.2.0b3/scienceflow/research/control/resources/policy/__init__.py +1 -0
  235. scienceflow-0.2.0b3/scienceflow/research/control/resources/policy/effects.py +98 -0
  236. scienceflow-0.2.0b3/scienceflow/research/control/resources/policy/mechanisms.py +146 -0
  237. scienceflow-0.2.0b3/scienceflow/research/control/resources/policy/proposals.py +42 -0
  238. scienceflow-0.2.0b3/scienceflow/research/control/resources/policy/review_machine.py +100 -0
  239. scienceflow-0.2.0b3/scienceflow/research/control/resources/runtime/__init__.py +1 -0
  240. scienceflow-0.2.0b3/scienceflow/research/control/resources/runtime/feedback.py +127 -0
  241. scienceflow-0.2.0b3/scienceflow/research/control/resources/runtime/observation.py +143 -0
  242. scienceflow-0.2.0b3/scienceflow/research/control/resources/runtime/service.py +166 -0
  243. scienceflow-0.2.0b3/scienceflow/research/onboarding/__init__.py +49 -0
  244. scienceflow-0.2.0b3/scienceflow/research/onboarding/library/__init__.py +1 -0
  245. scienceflow-0.2.0b3/scienceflow/research/onboarding/library/catalog.py +54 -0
  246. scienceflow-0.2.0b3/scienceflow/research/onboarding/library/export.py +141 -0
  247. scienceflow-0.2.0b3/scienceflow/research/onboarding/library/portable.py +95 -0
  248. scienceflow-0.2.0b3/scienceflow/research/onboarding/manifest.py +196 -0
  249. scienceflow-0.2.0b3/scienceflow/research/onboarding/preflight.py +372 -0
  250. scienceflow-0.2.0b3/scienceflow/research/onboarding/session.py +360 -0
  251. scienceflow-0.2.0b3/scienceflow/research/onboarding/support/__init__.py +1 -0
  252. scienceflow-0.2.0b3/scienceflow/research/onboarding/support/answers.py +294 -0
  253. scienceflow-0.2.0b3/scienceflow/research/onboarding/support/evaluator_probe.py +75 -0
  254. scienceflow-0.2.0b3/scienceflow/research/onboarding/support/gate_probe.py +74 -0
  255. scienceflow-0.2.0b3/scienceflow/research/onboarding/support/preparation/__init__.py +5 -0
  256. scienceflow-0.2.0b3/scienceflow/research/onboarding/support/preparation/agent.py +157 -0
  257. scienceflow-0.2.0b3/scienceflow/research/onboarding/support/preparation/discovery.py +64 -0
  258. scienceflow-0.2.0b3/scienceflow/research/onboarding/support/preparation/registered.py +283 -0
  259. scienceflow-0.2.0b3/scienceflow/research/onboarding/support/preparation/validation.py +60 -0
  260. scienceflow-0.2.0b3/scienceflow/research/onboarding/support/task_defaults.py +113 -0
  261. scienceflow-0.2.0b3/scienceflow/research/quality/__init__.py +3 -0
  262. scienceflow-0.2.0b3/scienceflow/research/quality/assessment/__init__.py +8 -0
  263. scienceflow-0.2.0b3/scienceflow/research/quality/assessment/pipeline.py +235 -0
  264. scienceflow-0.2.0b3/scienceflow/research/quality/assessment/service.py +70 -0
  265. scienceflow-0.2.0b3/scienceflow/research/quality/embedded_fullrun.py +38 -0
  266. scienceflow-0.2.0b3/scienceflow/research/quality/evaluator/__init__.py +25 -0
  267. scienceflow-0.2.0b3/scienceflow/research/quality/evaluator/adapters.py +150 -0
  268. scienceflow-0.2.0b3/scienceflow/research/quality/evaluator/backends/__init__.py +18 -0
  269. scienceflow-0.2.0b3/scienceflow/research/quality/evaluator/backends/artifact_command.py +320 -0
  270. scienceflow-0.2.0b3/scienceflow/research/quality/evaluator/backends/command_env.py +76 -0
  271. scienceflow-0.2.0b3/scienceflow/research/quality/evaluator/backends/command_helpers.py +255 -0
  272. scienceflow-0.2.0b3/scienceflow/research/quality/evaluator/backends/task_package.py +505 -0
  273. scienceflow-0.2.0b3/scienceflow/research/quality/evaluator/cache.py +82 -0
  274. scienceflow-0.2.0b3/scienceflow/research/quality/evaluator/entrypoint_runner.py +94 -0
  275. scienceflow-0.2.0b3/scienceflow/research/quality/evaluator/event_log.py +64 -0
  276. scienceflow-0.2.0b3/scienceflow/research/quality/evaluator/manager.py +180 -0
  277. scienceflow-0.2.0b3/scienceflow/research/quality/evaluator/providers/__init__.py +13 -0
  278. scienceflow-0.2.0b3/scienceflow/research/quality/evaluator/providers/mlebench/__init__.py +25 -0
  279. scienceflow-0.2.0b3/scienceflow/research/quality/evaluator/providers/mlebench/submission_checks.py +205 -0
  280. scienceflow-0.2.0b3/scienceflow/research/quality/finalization/__init__.py +21 -0
  281. scienceflow-0.2.0b3/scienceflow/research/quality/finalization/artifacts/__init__.py +1 -0
  282. scienceflow-0.2.0b3/scienceflow/research/quality/finalization/artifacts/materialize.py +375 -0
  283. scienceflow-0.2.0b3/scienceflow/research/quality/finalization/artifacts/submission_links.py +244 -0
  284. scienceflow-0.2.0b3/scienceflow/research/quality/finalization/candidates/__init__.py +1 -0
  285. scienceflow-0.2.0b3/scienceflow/research/quality/finalization/candidates/evidence.py +441 -0
  286. scienceflow-0.2.0b3/scienceflow/research/quality/finalization/candidates/pack.py +169 -0
  287. scienceflow-0.2.0b3/scienceflow/research/quality/finalization/prompt.py +87 -0
  288. scienceflow-0.2.0b3/scienceflow/research/quality/finalization/selection/__init__.py +1 -0
  289. scienceflow-0.2.0b3/scienceflow/research/quality/finalization/selection/coverage.py +109 -0
  290. scienceflow-0.2.0b3/scienceflow/research/quality/finalization/selection/ranking.py +243 -0
  291. scienceflow-0.2.0b3/scienceflow/research/quality/finalization/service.py +460 -0
  292. scienceflow-0.2.0b3/scienceflow/research/quality/finalization/worker_outcomes.py +96 -0
  293. scienceflow-0.2.0b3/scienceflow/research/quality/fullrun/__init__.py +3 -0
  294. scienceflow-0.2.0b3/scienceflow/research/quality/fullrun/execution.py +789 -0
  295. scienceflow-0.2.0b3/scienceflow/research/quality/fullrun/snapshot.py +828 -0
  296. scienceflow-0.2.0b3/scienceflow/research/quality/gate/__init__.py +33 -0
  297. scienceflow-0.2.0b3/scienceflow/research/quality/gate/feedback.py +111 -0
  298. scienceflow-0.2.0b3/scienceflow/research/quality/gate/invariants.py +85 -0
  299. scienceflow-0.2.0b3/scienceflow/research/quality/gate/policy.py +392 -0
  300. scienceflow-0.2.0b3/scienceflow/research/reporting/__init__.py +5 -0
  301. scienceflow-0.2.0b3/scienceflow/research/reporting/analysis.py +567 -0
  302. scienceflow-0.2.0b3/scienceflow/research/reporting/charts.py +295 -0
  303. scienceflow-0.2.0b3/scienceflow/research/reporting/collect.py +366 -0
  304. scienceflow-0.2.0b3/scienceflow/research/reporting/html.py +230 -0
  305. scienceflow-0.2.0b3/scienceflow/research/reporting/lineage.py +94 -0
  306. scienceflow-0.2.0b3/scienceflow/research/reporting/markdown.py +269 -0
  307. scienceflow-0.2.0b3/scienceflow/research/reporting/models.py +52 -0
  308. scienceflow-0.2.0b3/scienceflow/research/reporting/narrative.py +129 -0
  309. scienceflow-0.2.0b3/scienceflow/research/reporting/pdf.py +640 -0
  310. scienceflow-0.2.0b3/scienceflow/research/reporting/service.py +128 -0
  311. scienceflow-0.2.0b3/scienceflow/research/solver/__init__.py +20 -0
  312. scienceflow-0.2.0b3/scienceflow/research/solver/data_prep.py +113 -0
  313. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/__init__.py +23 -0
  314. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/lifecycle/__init__.py +1 -0
  315. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/lifecycle/records/__init__.py +1 -0
  316. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/lifecycle/records/stage_logs.py +140 -0
  317. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/lifecycle/records/stage_memory.py +23 -0
  318. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/lifecycle/records/storage_usage.py +342 -0
  319. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/lifecycle/snapshots/__init__.py +1 -0
  320. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/lifecycle/snapshots/snapshot_store.py +1149 -0
  321. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/lifecycle/snapshots/workspace_snapshot.py +461 -0
  322. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/lifecycle/snapshots/workspace_snapshot_io.py +95 -0
  323. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/lifecycle/snapshots/workspace_snapshot_subset.py +133 -0
  324. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/lifecycle/stage/__init__.py +13 -0
  325. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/lifecycle/stage/metrics/__init__.py +1 -0
  326. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/lifecycle/stage/metrics/metric_adjudication.py +337 -0
  327. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/lifecycle/stage/metrics/metric_semantics.py +262 -0
  328. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/lifecycle/stage/metrics/metric_validity.py +222 -0
  329. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/lifecycle/stage/metrics/score_summary.py +497 -0
  330. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/lifecycle/stage/records/__init__.py +1 -0
  331. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/lifecycle/stage/records/peer_context.py +275 -0
  332. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/lifecycle/stage/records/stage_files.py +255 -0
  333. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/lifecycle/stage/records/stage_ledger.py +450 -0
  334. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/lifecycle/workspace/__init__.py +1 -0
  335. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/lifecycle/workspace/init_workspace.py +163 -0
  336. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/lifecycle/workspace/prep_fs.py +126 -0
  337. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/lifecycle/workspace/runtime_paths.py +65 -0
  338. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/lifecycle/workspace/worker_layout.py +47 -0
  339. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/orchestration/__init__.py +1 -0
  340. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/orchestration/agent_hooks.py +116 -0
  341. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/orchestration/coordinator/__init__.py +7 -0
  342. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/orchestration/coordinator/estra/__init__.py +1 -0
  343. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/orchestration/coordinator/estra/adapter.py +833 -0
  344. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/orchestration/coordinator/evaluation/__init__.py +1 -0
  345. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/orchestration/coordinator/evaluation/adapter.py +717 -0
  346. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/orchestration/coordinator/evaluation/capture.py +451 -0
  347. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/orchestration/coordinator/evaluation/commit.py +505 -0
  348. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/orchestration/coordinator/evaluation/metric_projection.py +245 -0
  349. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/orchestration/coordinator/evaluation/profile.py +324 -0
  350. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/orchestration/coordinator/lifecycle/__init__.py +1 -0
  351. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/orchestration/coordinator/lifecycle/context/__init__.py +1 -0
  352. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/orchestration/coordinator/lifecycle/context/coordination.py +845 -0
  353. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/orchestration/coordinator/lifecycle/context/memory_coordination.py +485 -0
  354. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/orchestration/coordinator/lifecycle/context/memory_projection.py +515 -0
  355. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/orchestration/coordinator/lifecycle/stage/__init__.py +1 -0
  356. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/orchestration/coordinator/lifecycle/stage/adapter.py +731 -0
  357. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/orchestration/coordinator/lifecycle/stage/commit.py +450 -0
  358. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/orchestration/coordinator/lifecycle/stage/experiment_state.py +226 -0
  359. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/orchestration/coordinator/lifecycle/stage/prompt.py +413 -0
  360. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/orchestration/coordinator/resource/__init__.py +1 -0
  361. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/orchestration/coordinator/resource/advisory.py +530 -0
  362. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/orchestration/coordinator/resource/construction.py +543 -0
  363. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/orchestration/coordinator/resource/observer_construction.py +608 -0
  364. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/orchestration/coordinator/resource/peer_snapshot.py +202 -0
  365. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/orchestration/coordinator/resource/prompt_projection.py +607 -0
  366. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/orchestration/coordinator/run/__init__.py +1 -0
  367. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/orchestration/coordinator/run/agent_coordination.py +840 -0
  368. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/orchestration/coordinator/run/construction.py +459 -0
  369. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/orchestration/coordinator/run/coordination.py +972 -0
  370. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/orchestration/coordinator/run/event_projection.py +880 -0
  371. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/orchestration/coordinator/shared.py +597 -0
  372. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/orchestration/coordinator/solver.py +422 -0
  373. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/orchestration/runtime/__init__.py +9 -0
  374. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/orchestration/runtime/execution/__init__.py +1 -0
  375. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/orchestration/runtime/execution/adapters.py +260 -0
  376. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/orchestration/runtime/execution/engine.py +79 -0
  377. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/orchestration/runtime/execution/multi_worker.py +289 -0
  378. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/orchestration/runtime/execution/single_worker.py +203 -0
  379. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/orchestration/runtime/execution/worker_environment.py +97 -0
  380. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/orchestration/runtime/services/__init__.py +1 -0
  381. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/orchestration/runtime/services/deadline.py +29 -0
  382. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/orchestration/runtime/services/facade.py +28 -0
  383. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/orchestration/runtime/services/models.py +45 -0
  384. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/orchestration/runtime/services/worker_services.py +218 -0
  385. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/orchestration/solver.py +12 -0
  386. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/orchestration/state_machine.py +548 -0
  387. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/orchestration/state_projection.py +712 -0
  388. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/__init__.py +1 -0
  389. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/resource_advisory.py +192 -0
  390. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/resource_feedback_contract.py +9 -0
  391. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/resource_feedback_guidance.py +46 -0
  392. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/resource_observer.py +17 -0
  393. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/runtime/__init__.py +17 -0
  394. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/runtime/control/__init__.py +1 -0
  395. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/runtime/control/admission/__init__.py +1 -0
  396. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/runtime/control/admission/admission.py +19 -0
  397. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/runtime/control/admission/admission_safety.py +258 -0
  398. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/runtime/control/admission/control_profile.py +137 -0
  399. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/runtime/control/admission/pressure_state.py +514 -0
  400. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/runtime/control/admission/priority.py +64 -0
  401. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/runtime/control/gpu/__init__.py +1 -0
  402. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/runtime/control/gpu/gpu_feedback.py +40 -0
  403. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/runtime/control/gpu/gpu_lease_store.py +1147 -0
  404. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/runtime/control/gpu/gpu_sharing.py +733 -0
  405. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/runtime/control/gpu/soft_gpu_gate.py +108 -0
  406. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/runtime/control/gpu/workspace_gpu_guard.py +250 -0
  407. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/runtime/control/policy/__init__.py +1 -0
  408. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/runtime/control/policy/post_feedback_actions.py +63 -0
  409. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/runtime/control/policy/source_hints.py +289 -0
  410. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/runtime/control/policy/startup_trial.py +123 -0
  411. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/runtime/execution/__init__.py +1 -0
  412. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/runtime/execution/facade.py +45 -0
  413. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/runtime/execution/process/__init__.py +1 -0
  414. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/runtime/execution/process/jobs.py +110 -0
  415. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/runtime/execution/process/proc_inspect.py +89 -0
  416. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/runtime/execution/process/process_liveness.py +214 -0
  417. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/runtime/execution/process/quick_probe.py +234 -0
  418. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/runtime/execution/process/sidecar.py +217 -0
  419. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/runtime/execution/state/__init__.py +1 -0
  420. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/runtime/execution/state/history_store.py +178 -0
  421. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/runtime/execution/state/metric_history.py +200 -0
  422. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/runtime/execution/state/models.py +74 -0
  423. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/runtime/execution/state/unified_store.py +529 -0
  424. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/runtime/execution/state/utilization.py +402 -0
  425. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/runtime/observer/__init__.py +17 -0
  426. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/runtime/observer/allocation/__init__.py +1 -0
  427. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/runtime/observer/allocation/admission/__init__.py +1 -0
  428. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/runtime/observer/allocation/admission/decision.py +223 -0
  429. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/runtime/observer/allocation/lease/__init__.py +1 -0
  430. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/runtime/observer/allocation/lease/callbacks.py +118 -0
  431. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/runtime/observer/assessment/__init__.py +1 -0
  432. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/runtime/observer/assessment/observation/__init__.py +1 -0
  433. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/runtime/observer/assessment/observation/classification.py +556 -0
  434. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/runtime/observer/assessment/observation/feedback.py +599 -0
  435. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/runtime/observer/assessment/observation/monitoring.py +440 -0
  436. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/runtime/observer/assessment/observation/progress.py +329 -0
  437. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/runtime/observer/assessment/observation/sampling.py +234 -0
  438. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/runtime/observer/assessment/review/__init__.py +1 -0
  439. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/runtime/observer/assessment/review/decision/__init__.py +1 -0
  440. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/runtime/observer/assessment/review/decision/arbiter.py +419 -0
  441. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/runtime/observer/assessment/review/decision/budget.py +372 -0
  442. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/runtime/observer/assessment/review/decision/execution_value.py +566 -0
  443. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/runtime/observer/assessment/review/decision/priority.py +358 -0
  444. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/runtime/observer/assessment/review/decision/safety.py +691 -0
  445. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/runtime/observer/assessment/review/state/__init__.py +1 -0
  446. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/runtime/observer/assessment/review/state/facts.py +305 -0
  447. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/runtime/observer/assessment/review/state/history.py +225 -0
  448. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/runtime/observer/assessment/review/state/intervention.py +224 -0
  449. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/runtime/observer/assessment/review/state/machine.py +298 -0
  450. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/runtime/observer/callbacks/__init__.py +1 -0
  451. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/runtime/observer/callbacks/job.py +425 -0
  452. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/runtime/observer/callbacks/lifecycle.py +372 -0
  453. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/runtime/observer/callbacks/preflight.py +247 -0
  454. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/runtime/observer/construction.py +226 -0
  455. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/runtime/observer/construction_runtime.py +553 -0
  456. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/runtime/observer/controller.py +99 -0
  457. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/runtime/observer/shared.py +333 -0
  458. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/runtime/observer/sharing/__init__.py +1 -0
  459. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/runtime/observer/sharing/decision.py +295 -0
  460. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/runtime/observer/sharing/scheduling.py +592 -0
  461. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/runtime/review/__init__.py +13 -0
  462. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/runtime/review/decision/__init__.py +1 -0
  463. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/runtime/review/decision/arbiter.py +923 -0
  464. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/runtime/review/decision/arbiter_gate.py +683 -0
  465. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/runtime/review/decision/efficiency.py +313 -0
  466. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/runtime/review/decision/execution_facts.py +287 -0
  467. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/runtime/review/decision/kill_intent.py +165 -0
  468. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/runtime/review/evidence/__init__.py +1 -0
  469. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/runtime/review/evidence/lease_suspect.py +268 -0
  470. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/runtime/review/evidence/progress.py +152 -0
  471. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/runtime/review/evidence/research_cadence.py +214 -0
  472. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/runtime/review/evidence/state_generation.py +206 -0
  473. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/runtime/runtime_components/__init__.py +3 -0
  474. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/runtime/runtime_components/admission/__init__.py +1 -0
  475. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/runtime/runtime_components/admission/admission_coordination.py +601 -0
  476. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/runtime/runtime_components/admission/lease_coordination.py +252 -0
  477. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/runtime/runtime_components/admission/queue_coordination.py +196 -0
  478. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/runtime/runtime_components/admission/wait_coordination.py +169 -0
  479. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/runtime/runtime_components/control/__init__.py +1 -0
  480. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/runtime/runtime_components/control/monitoring.py +67 -0
  481. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/runtime/runtime_components/control/pressure_coordination.py +233 -0
  482. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/runtime/runtime_components/control/shared.py +130 -0
  483. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/resources/runtime/runtime_components/control/state_policy.py +536 -0
  484. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/support/__init__.py +1 -0
  485. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/support/context_hygiene.py +174 -0
  486. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/support/context_memory_policy.py +20 -0
  487. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/support/prompt_template_store.py +54 -0
  488. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/support/prompt_templates/__init__.py +21 -0
  489. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/support/prompt_templates/estra/estra_archive_summary.md +18 -0
  490. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/support/prompt_templates/estra/estra_decision.md +41 -0
  491. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/support/prompt_templates/estra/estra_resume.md +17 -0
  492. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/support/prompt_templates/estra/keep_current_compact.md +13 -0
  493. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/support/prompt_templates/evaluation/metric_output_interpreter_system.md +25 -0
  494. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/support/prompt_templates/evaluation/metric_output_interpreter_user.md +6 -0
  495. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/support/prompt_templates/evaluation/metric_validity_adjudicator_system.md +34 -0
  496. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/support/prompt_templates/evaluation/metric_validity_adjudicator_user.md +6 -0
  497. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/support/prompt_templates/resources/resource_feedback_guidance.md +11 -0
  498. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/support/prompt_templates/stage/stage_commit.md +23 -0
  499. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/support/prompt_templates/stage/stage_commit_judgment.md +25 -0
  500. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/support/prompt_templates/task/ml/first_user.md +18 -0
  501. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/support/prompt_templates/task/opt_solver/first_user.md +19 -0
  502. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/support/prompt_templates/task/sci_modeling_bench/first_user.md +50 -0
  503. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/support/prompts.py +390 -0
  504. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/transitions/__init__.py +1 -0
  505. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/transitions/estra/__init__.py +7 -0
  506. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/transitions/estra/parser.py +11 -0
  507. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/transitions/estra/policy.py +27 -0
  508. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/transitions/estra/service.py +7 -0
  509. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/transitions/estra_magent/__init__.py +27 -0
  510. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/transitions/estra_magent/coordinator.py +57 -0
  511. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/transitions/estra_magent/events.py +95 -0
  512. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/transitions/estra_magent/join_gate.py +180 -0
  513. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/transitions/estra_magent/models.py +82 -0
  514. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/transitions/estra_magent/prompt_blocks.py +78 -0
  515. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/transitions/replay_prepare.py +400 -0
  516. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/transitions/restore_cleanup.py +118 -0
  517. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/transitions/resume/__init__.py +33 -0
  518. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/transitions/resume/continuation.py +160 -0
  519. scienceflow-0.2.0b3/scienceflow/research/solver/lnr/transitions/resume/memory_state.py +42 -0
  520. scienceflow-0.2.0b3/scienceflow/research/state/__init__.py +3 -0
  521. scienceflow-0.2.0b3/scienceflow/research/state/dataset/__init__.py +5 -0
  522. scienceflow-0.2.0b3/scienceflow/research/state/dataset/discovery/__init__.py +1 -0
  523. scienceflow-0.2.0b3/scienceflow/research/state/dataset/discovery/eval_signature.py +37 -0
  524. scienceflow-0.2.0b3/scienceflow/research/state/dataset/discovery/scan.py +148 -0
  525. scienceflow-0.2.0b3/scienceflow/research/state/dataset/discovery/scan_metadata.py +675 -0
  526. scienceflow-0.2.0b3/scienceflow/research/state/dataset/discovery/scan_traversal.py +119 -0
  527. scienceflow-0.2.0b3/scienceflow/research/state/dataset/rendering/__init__.py +1 -0
  528. scienceflow-0.2.0b3/scienceflow/research/state/dataset/rendering/scan_render.py +580 -0
  529. scienceflow-0.2.0b3/scienceflow/research/state/dataset/rendering/scan_tree.py +66 -0
  530. scienceflow-0.2.0b3/scienceflow/research/state/dataset/rendering/scan_tree_flat.py +145 -0
  531. scienceflow-0.2.0b3/scienceflow/research/state/dataset/rendering/scan_tree_nested.py +481 -0
  532. scienceflow-0.2.0b3/scienceflow/research/state/knowledge/__init__.py +1 -0
  533. scienceflow-0.2.0b3/scienceflow/research/state/knowledge/context/__init__.py +15 -0
  534. scienceflow-0.2.0b3/scienceflow/research/state/knowledge/context/context/__init__.py +1 -0
  535. scienceflow-0.2.0b3/scienceflow/research/state/knowledge/context/context/compression/__init__.py +1 -0
  536. scienceflow-0.2.0b3/scienceflow/research/state/knowledge/context/context/compression/clone_compression.py +847 -0
  537. scienceflow-0.2.0b3/scienceflow/research/state/knowledge/context/context/compression/clone_inheritance.py +509 -0
  538. scienceflow-0.2.0b3/scienceflow/research/state/knowledge/context/context/compression/compaction.py +363 -0
  539. scienceflow-0.2.0b3/scienceflow/research/state/knowledge/context/context/compression/manager_compaction.py +462 -0
  540. scienceflow-0.2.0b3/scienceflow/research/state/knowledge/context/context/projection/__init__.py +1 -0
  541. scienceflow-0.2.0b3/scienceflow/research/state/knowledge/context/context/projection/bash_projection.py +184 -0
  542. scienceflow-0.2.0b3/scienceflow/research/state/knowledge/context/context/projection/manager_projection.py +257 -0
  543. scienceflow-0.2.0b3/scienceflow/research/state/knowledge/context/context/projection/source_projection.py +692 -0
  544. scienceflow-0.2.0b3/scienceflow/research/state/knowledge/context/context/results/__init__.py +1 -0
  545. scienceflow-0.2.0b3/scienceflow/research/state/knowledge/context/context/results/base.py +27 -0
  546. scienceflow-0.2.0b3/scienceflow/research/state/knowledge/context/context/results/pure.py +25 -0
  547. scienceflow-0.2.0b3/scienceflow/research/state/knowledge/context/context/results/tool_results.py +411 -0
  548. scienceflow-0.2.0b3/scienceflow/research/state/knowledge/context/context/runtime/__init__.py +1 -0
  549. scienceflow-0.2.0b3/scienceflow/research/state/knowledge/context/context/runtime/finalize_runtime.py +174 -0
  550. scienceflow-0.2.0b3/scienceflow/research/state/knowledge/context/context/runtime/manager_finalize.py +63 -0
  551. scienceflow-0.2.0b3/scienceflow/research/state/knowledge/context/context/runtime/manager_state.py +352 -0
  552. scienceflow-0.2.0b3/scienceflow/research/state/knowledge/context/context/runtime/manager_tool_results.py +96 -0
  553. scienceflow-0.2.0b3/scienceflow/research/state/knowledge/context/context/runtime/tool_result_runtime.py +356 -0
  554. scienceflow-0.2.0b3/scienceflow/research/state/knowledge/context/memory_context.py +80 -0
  555. scienceflow-0.2.0b3/scienceflow/research/state/knowledge/context/source_snapshot.py +744 -0
  556. scienceflow-0.2.0b3/scienceflow/research/state/knowledge/memory/__init__.py +32 -0
  557. scienceflow-0.2.0b3/scienceflow/research/state/knowledge/memory/adapters/__init__.py +1 -0
  558. scienceflow-0.2.0b3/scienceflow/research/state/knowledge/memory/adapters/lnr_stage.py +11 -0
  559. scienceflow-0.2.0b3/scienceflow/research/state/knowledge/memory/agent/__init__.py +13 -0
  560. scienceflow-0.2.0b3/scienceflow/research/state/knowledge/memory/agent/memory_utils.py +309 -0
  561. scienceflow-0.2.0b3/scienceflow/research/state/knowledge/memory/agent/reasoning_replay.py +68 -0
  562. scienceflow-0.2.0b3/scienceflow/research/state/knowledge/memory/agent/resource_feedback_memory.py +359 -0
  563. scienceflow-0.2.0b3/scienceflow/research/state/knowledge/memory/context/__init__.py +1 -0
  564. scienceflow-0.2.0b3/scienceflow/research/state/knowledge/memory/context/agent_compaction.py +76 -0
  565. scienceflow-0.2.0b3/scienceflow/research/state/knowledge/memory/context/agent_context_projection.py +314 -0
  566. scienceflow-0.2.0b3/scienceflow/research/state/knowledge/memory/context/agent_context_rules.py +88 -0
  567. scienceflow-0.2.0b3/scienceflow/research/state/knowledge/memory/context/protected_context.py +198 -0
  568. scienceflow-0.2.0b3/scienceflow/research/state/knowledge/memory/core/__init__.py +1 -0
  569. scienceflow-0.2.0b3/scienceflow/research/state/knowledge/memory/core/compactor.py +136 -0
  570. scienceflow-0.2.0b3/scienceflow/research/state/knowledge/memory/core/contracts.py +62 -0
  571. scienceflow-0.2.0b3/scienceflow/research/state/knowledge/memory/core/policy.py +60 -0
  572. scienceflow-0.2.0b3/scienceflow/research/state/knowledge/memory/core/service.py +91 -0
  573. scienceflow-0.2.0b3/scienceflow/research/state/knowledge/memory/records/__init__.py +1 -0
  574. scienceflow-0.2.0b3/scienceflow/research/state/knowledge/memory/records/agent_records.py +353 -0
  575. scienceflow-0.2.0b3/scienceflow/research/state/knowledge/memory/records/stage_memory.py +634 -0
  576. scienceflow-0.2.0b3/scienceflow/research/state/knowledge/prompt/__init__.py +9 -0
  577. scienceflow-0.2.0b3/scienceflow/research/state/knowledge/prompt/builder.py +51 -0
  578. scienceflow-0.2.0b3/scienceflow/research/state/knowledge/prompt/contracts.py +45 -0
  579. scienceflow-0.2.0b3/scienceflow/research/state/knowledge/skills/__init__.py +30 -0
  580. scienceflow-0.2.0b3/scienceflow/research/state/knowledge/skills/catalog/__init__.py +1 -0
  581. scienceflow-0.2.0b3/scienceflow/research/state/knowledge/skills/catalog/base.py +77 -0
  582. scienceflow-0.2.0b3/scienceflow/research/state/knowledge/skills/catalog/matcher.py +80 -0
  583. scienceflow-0.2.0b3/scienceflow/research/state/knowledge/skills/catalog/paths.py +22 -0
  584. scienceflow-0.2.0b3/scienceflow/research/state/knowledge/skills/catalog/registry.py +151 -0
  585. scienceflow-0.2.0b3/scienceflow/research/state/knowledge/skills/runtime/__init__.py +1 -0
  586. scienceflow-0.2.0b3/scienceflow/research/state/knowledge/skills/runtime/injector.py +41 -0
  587. scienceflow-0.2.0b3/scienceflow/research/state/knowledge/skills/runtime/tool.py +228 -0
  588. scienceflow-0.2.0b3/scienceflow/research/state/repl_context.py +251 -0
  589. scienceflow-0.2.0b3/scienceflow/research/state/workspace/__init__.py +19 -0
  590. scienceflow-0.2.0b3/scienceflow/research/state/workspace/adapters/__init__.py +1 -0
  591. scienceflow-0.2.0b3/scienceflow/research/state/workspace/adapters/agent_runtime.py +336 -0
  592. scienceflow-0.2.0b3/scienceflow/research/state/workspace/adapters/lnr.py +16 -0
  593. scienceflow-0.2.0b3/scienceflow/research/state/workspace/adapters/path_hygiene.py +418 -0
  594. scienceflow-0.2.0b3/scienceflow/research/state/workspace/session/__init__.py +1 -0
  595. scienceflow-0.2.0b3/scienceflow/research/state/workspace/session/agent_contracts.py +27 -0
  596. scienceflow-0.2.0b3/scienceflow/research/state/workspace/session/agent_session.py +83 -0
  597. scienceflow-0.2.0b3/scienceflow/research/state/workspace/session/lifecycle.py +72 -0
  598. scienceflow-0.2.0b3/scienceflow/research/state/workspace/session/service.py +97 -0
  599. scienceflow-0.2.0b3/scienceflow/research/state/workspace/storage/__init__.py +1 -0
  600. scienceflow-0.2.0b3/scienceflow/research/state/workspace/storage/git.py +759 -0
  601. scienceflow-0.2.0b3/scienceflow/research/state/workspace/storage/transactions.py +303 -0
  602. scienceflow-0.2.0b3/scienceflow/runtime/__init__.py +3 -0
  603. scienceflow-0.2.0b3/scienceflow/runtime/composition.py +84 -0
  604. scienceflow-0.2.0b3/scienceflow/runtime/core/__init__.py +1 -0
  605. scienceflow-0.2.0b3/scienceflow/runtime/core/kernel/__init__.py +56 -0
  606. scienceflow-0.2.0b3/scienceflow/runtime/core/kernel/hooks.py +366 -0
  607. scienceflow-0.2.0b3/scienceflow/runtime/core/kernel/journal.py +99 -0
  608. scienceflow-0.2.0b3/scienceflow/runtime/core/kernel/state_machines.py +288 -0
  609. scienceflow-0.2.0b3/scienceflow/runtime/core/process/__init__.py +35 -0
  610. scienceflow-0.2.0b3/scienceflow/runtime/core/process/commands.py +95 -0
  611. scienceflow-0.2.0b3/scienceflow/runtime/core/process/utils.py +45 -0
  612. scienceflow-0.2.0b3/scienceflow/runtime/core/stage/__init__.py +37 -0
  613. scienceflow-0.2.0b3/scienceflow/runtime/core/stage/contracts.py +93 -0
  614. scienceflow-0.2.0b3/scienceflow/runtime/core/stage/coordinator.py +325 -0
  615. scienceflow-0.2.0b3/scienceflow/runtime/core/stage/machine.py +107 -0
  616. scienceflow-0.2.0b3/scienceflow/runtime/core/support/__init__.py +3 -0
  617. scienceflow-0.2.0b3/scienceflow/runtime/core/support/artifact_io.py +56 -0
  618. scienceflow-0.2.0b3/scienceflow/runtime/core/support/node_paths.py +81 -0
  619. scienceflow-0.2.0b3/scienceflow/runtime/core/support/system_resources.py +209 -0
  620. scienceflow-0.2.0b3/scienceflow/runtime/environment.py +79 -0
  621. scienceflow-0.2.0b3/scienceflow/runtime/events.py +130 -0
  622. scienceflow-0.2.0b3/scienceflow/runtime/observability/__init__.py +3 -0
  623. scienceflow-0.2.0b3/scienceflow/runtime/observability/agent_io/__init__.py +13 -0
  624. scienceflow-0.2.0b3/scienceflow/runtime/observability/agent_io/interaction_log.py +250 -0
  625. scienceflow-0.2.0b3/scienceflow/runtime/observability/agent_io/interaction_log_policy.py +129 -0
  626. scienceflow-0.2.0b3/scienceflow/runtime/observability/agent_tool_feedback.py +211 -0
  627. scienceflow-0.2.0b3/scienceflow/runtime/observability/formatting.py +25 -0
  628. scienceflow-0.2.0b3/scienceflow/runtime/observability/interaction_log.py +647 -0
  629. scienceflow-0.2.0b3/scienceflow/runtime/observability/logging.py +103 -0
  630. scienceflow-0.2.0b3/scienceflow/runtime/observability/monitoring/__init__.py +20 -0
  631. scienceflow-0.2.0b3/scienceflow/runtime/observability/monitoring/metrics/__init__.py +1 -0
  632. scienceflow-0.2.0b3/scienceflow/runtime/observability/monitoring/metrics/cpu_monitor.py +124 -0
  633. scienceflow-0.2.0b3/scienceflow/runtime/observability/monitoring/metrics/gpu_monitor.py +101 -0
  634. scienceflow-0.2.0b3/scienceflow/runtime/observability/monitoring/metrics/performance_analyzer.py +160 -0
  635. scienceflow-0.2.0b3/scienceflow/runtime/observability/monitoring/process/__init__.py +1 -0
  636. scienceflow-0.2.0b3/scienceflow/runtime/observability/monitoring/process/probes.py +44 -0
  637. scienceflow-0.2.0b3/scienceflow/runtime/observability/monitoring/process/process_observer.py +41 -0
  638. scienceflow-0.2.0b3/scienceflow/runtime/observability/monitoring/process/process_tracker.py +82 -0
  639. scienceflow-0.2.0b3/scienceflow/runtime/observability/monitoring/runtime/__init__.py +1 -0
  640. scienceflow-0.2.0b3/scienceflow/runtime/observability/monitoring/runtime/contracts.py +25 -0
  641. scienceflow-0.2.0b3/scienceflow/runtime/observability/monitoring/runtime/hooks.py +58 -0
  642. scienceflow-0.2.0b3/scienceflow/runtime/observability/monitoring/runtime/service.py +85 -0
  643. scienceflow-0.2.0b3/scienceflow/runtime/observability/telemetry/__init__.py +7 -0
  644. scienceflow-0.2.0b3/scienceflow/runtime/observability/telemetry/agent/__init__.py +1 -0
  645. scienceflow-0.2.0b3/scienceflow/runtime/observability/telemetry/agent/agent_call.py +66 -0
  646. scienceflow-0.2.0b3/scienceflow/runtime/observability/telemetry/agent/audit/__init__.py +5 -0
  647. scienceflow-0.2.0b3/scienceflow/runtime/observability/telemetry/agent/audit/runtime.py +204 -0
  648. scienceflow-0.2.0b3/scienceflow/runtime/observability/telemetry/agent/llm_call_adapter.py +93 -0
  649. scienceflow-0.2.0b3/scienceflow/runtime/observability/telemetry/agent/llm_config_summary.py +349 -0
  650. scienceflow-0.2.0b3/scienceflow/runtime/observability/telemetry/agent/llm_cost.py +179 -0
  651. scienceflow-0.2.0b3/scienceflow/runtime/observability/telemetry/agent/llm_usage_adapter.py +48 -0
  652. scienceflow-0.2.0b3/scienceflow/runtime/observability/telemetry/journal/__init__.py +1 -0
  653. scienceflow-0.2.0b3/scienceflow/runtime/observability/telemetry/journal/contracts.py +26 -0
  654. scienceflow-0.2.0b3/scienceflow/runtime/observability/telemetry/journal/correlation.py +114 -0
  655. scienceflow-0.2.0b3/scienceflow/runtime/observability/telemetry/journal/sinks.py +29 -0
  656. scienceflow-0.2.0b3/scienceflow/runtime/observability/telemetry/trace/__init__.py +1 -0
  657. scienceflow-0.2.0b3/scienceflow/runtime/observability/telemetry/trace/stage_tool_index.py +66 -0
  658. scienceflow-0.2.0b3/scienceflow/runtime/observability/telemetry/trace/time_trace.py +367 -0
  659. scienceflow-0.2.0b3/scienceflow/runtime/observability/telemetry/trace/time_trace_summary.py +205 -0
  660. scienceflow-0.2.0b3/scienceflow/runtime/parallel/__init__.py +1 -0
  661. scienceflow-0.2.0b3/scienceflow/runtime/parallel/config/__init__.py +1 -0
  662. scienceflow-0.2.0b3/scienceflow/runtime/parallel/config/manifest.py +414 -0
  663. scienceflow-0.2.0b3/scienceflow/runtime/parallel/config/models.py +66 -0
  664. scienceflow-0.2.0b3/scienceflow/runtime/parallel/config/preparation.py +229 -0
  665. scienceflow-0.2.0b3/scienceflow/runtime/parallel/config/pure.py +58 -0
  666. scienceflow-0.2.0b3/scienceflow/runtime/parallel/control/__init__.py +6 -0
  667. scienceflow-0.2.0b3/scienceflow/runtime/parallel/control/registry.py +61 -0
  668. scienceflow-0.2.0b3/scienceflow/runtime/parallel/control/resource_claims.py +64 -0
  669. scienceflow-0.2.0b3/scienceflow/runtime/parallel/control/selection.py +93 -0
  670. scienceflow-0.2.0b3/scienceflow/runtime/parallel/control/service.py +171 -0
  671. scienceflow-0.2.0b3/scienceflow/runtime/parallel/control/worker.py +133 -0
  672. scienceflow-0.2.0b3/scienceflow/runtime/parallel/execution/__init__.py +1 -0
  673. scienceflow-0.2.0b3/scienceflow/runtime/parallel/execution/base.py +23 -0
  674. scienceflow-0.2.0b3/scienceflow/runtime/parallel/execution/construction.py +203 -0
  675. scienceflow-0.2.0b3/scienceflow/runtime/parallel/execution/runner.py +56 -0
  676. scienceflow-0.2.0b3/scienceflow/runtime/parallel/execution/scheduler.py +94 -0
  677. scienceflow-0.2.0b3/scienceflow/runtime/parallel/execution/subprocess.py +103 -0
  678. scienceflow-0.2.0b3/scienceflow/runtime/parallel/service.py +56 -0
  679. scienceflow-0.2.0b3/scienceflow/runtime/parallel/state/__init__.py +1 -0
  680. scienceflow-0.2.0b3/scienceflow/runtime/parallel/state/lifecycle.py +215 -0
  681. scienceflow-0.2.0b3/scienceflow/runtime/parallel/state/result.py +21 -0
  682. scienceflow-0.2.0b3/scienceflow/runtime/parallel/state/resume.py +74 -0
  683. scienceflow-0.2.0b3/scienceflow/runtime/parallel/state/subprocess_runtime.py +322 -0
  684. scienceflow-0.2.0b3/scienceflow/runtime/safety/__init__.py +42 -0
  685. scienceflow-0.2.0b3/scienceflow/runtime/safety/execution/__init__.py +1 -0
  686. scienceflow-0.2.0b3/scienceflow/runtime/safety/execution/agent_runtime/__init__.py +1 -0
  687. scienceflow-0.2.0b3/scienceflow/runtime/safety/execution/agent_runtime/edit_guard.py +176 -0
  688. scienceflow-0.2.0b3/scienceflow/runtime/safety/execution/agent_runtime/tool_base.py +51 -0
  689. scienceflow-0.2.0b3/scienceflow/runtime/safety/execution/agent_runtime/tool_bundle_policy.py +62 -0
  690. scienceflow-0.2.0b3/scienceflow/runtime/safety/execution/agent_runtime/tool_composition.py +243 -0
  691. scienceflow-0.2.0b3/scienceflow/runtime/safety/execution/evaluation_process.py +248 -0
  692. scienceflow-0.2.0b3/scienceflow/runtime/safety/execution/interpreter.py +192 -0
  693. scienceflow-0.2.0b3/scienceflow/runtime/safety/execution/sandbox.py +251 -0
  694. scienceflow-0.2.0b3/scienceflow/runtime/safety/policy/__init__.py +1 -0
  695. scienceflow-0.2.0b3/scienceflow/runtime/safety/policy/agent_policies/__init__.py +13 -0
  696. scienceflow-0.2.0b3/scienceflow/runtime/safety/policy/agent_policies/artifacts.py +711 -0
  697. scienceflow-0.2.0b3/scienceflow/runtime/safety/policy/agent_policies/bash_command_classifier.py +76 -0
  698. scienceflow-0.2.0b3/scienceflow/runtime/safety/policy/agent_policies/bash_utils.py +171 -0
  699. scienceflow-0.2.0b3/scienceflow/runtime/safety/policy/agent_policies/guards.py +1040 -0
  700. scienceflow-0.2.0b3/scienceflow/runtime/safety/policy/code_guard.py +276 -0
  701. scienceflow-0.2.0b3/scienceflow/runtime/safety/policy/execution_policy.py +1191 -0
  702. scienceflow-0.2.0b3/scienceflow/runtime/safety/policy/leakage_detector.py +588 -0
  703. scienceflow-0.2.0b3/scienceflow/runtime/safety/policy/stdout_checker.py +161 -0
  704. scienceflow-0.2.0b3/scienceflow/runtime/safety/resource/__init__.py +76 -0
  705. scienceflow-0.2.0b3/scienceflow/runtime/safety/resource/lifecycle/__init__.py +1 -0
  706. scienceflow-0.2.0b3/scienceflow/runtime/safety/resource/lifecycle/artifacts.py +320 -0
  707. scienceflow-0.2.0b3/scienceflow/runtime/safety/resource/lifecycle/completion.py +83 -0
  708. scienceflow-0.2.0b3/scienceflow/runtime/safety/resource/lifecycle/gpu_sublease.py +172 -0
  709. scienceflow-0.2.0b3/scienceflow/runtime/safety/resource/lifecycle/process_lifecycle.py +124 -0
  710. scienceflow-0.2.0b3/scienceflow/runtime/safety/resource/review/__init__.py +1 -0
  711. scienceflow-0.2.0b3/scienceflow/runtime/safety/resource/review/review_boundary.py +30 -0
  712. scienceflow-0.2.0b3/scienceflow/runtime/safety/resource/review/review_outcome.py +66 -0
  713. scienceflow-0.2.0b3/scienceflow/runtime/safety/resource/review/review_signal.py +238 -0
  714. scienceflow-0.2.0b3/scienceflow/runtime/safety/resource/review/review_state.py +533 -0
  715. scienceflow-0.2.0b3/scienceflow/runtime/safety/resource/review/signals.py +97 -0
  716. scienceflow-0.2.0b3/scienceflow/runtime/safety/tooling/__init__.py +1 -0
  717. scienceflow-0.2.0b3/scienceflow/runtime/safety/tooling/bash/__init__.py +43 -0
  718. scienceflow-0.2.0b3/scienceflow/runtime/safety/tooling/bash/core/__init__.py +1 -0
  719. scienceflow-0.2.0b3/scienceflow/runtime/safety/tooling/bash/core/pipeline_preparation.py +298 -0
  720. scienceflow-0.2.0b3/scienceflow/runtime/safety/tooling/bash/core/pure.py +51 -0
  721. scienceflow-0.2.0b3/scienceflow/runtime/safety/tooling/bash/core/request_builder.py +336 -0
  722. scienceflow-0.2.0b3/scienceflow/runtime/safety/tooling/bash/core/shared.py +237 -0
  723. scienceflow-0.2.0b3/scienceflow/runtime/safety/tooling/bash/core/tool.py +117 -0
  724. scienceflow-0.2.0b3/scienceflow/runtime/safety/tooling/bash/monitor/__init__.py +1 -0
  725. scienceflow-0.2.0b3/scienceflow/runtime/safety/tooling/bash/monitor/effects.py +196 -0
  726. scienceflow-0.2.0b3/scienceflow/runtime/safety/tooling/bash/monitor/execution.py +151 -0
  727. scienceflow-0.2.0b3/scienceflow/runtime/safety/tooling/bash/monitor/guard.py +535 -0
  728. scienceflow-0.2.0b3/scienceflow/runtime/safety/tooling/bash/monitor/stream.py +301 -0
  729. scienceflow-0.2.0b3/scienceflow/runtime/safety/tooling/bash/policy/__init__.py +1 -0
  730. scienceflow-0.2.0b3/scienceflow/runtime/safety/tooling/bash/policy/admission.py +595 -0
  731. scienceflow-0.2.0b3/scienceflow/runtime/safety/tooling/bash/policy/output.py +298 -0
  732. scienceflow-0.2.0b3/scienceflow/runtime/safety/tooling/bash/process/__init__.py +1 -0
  733. scienceflow-0.2.0b3/scienceflow/runtime/safety/tooling/bash/process/pipeline.py +154 -0
  734. scienceflow-0.2.0b3/scienceflow/runtime/safety/tooling/bash/process/start.py +118 -0
  735. scienceflow-0.2.0b3/scienceflow/runtime/safety/tooling/bash/process/streaming.py +228 -0
  736. scienceflow-0.2.0b3/scienceflow/runtime/safety/tooling/bash/runtime/__init__.py +1 -0
  737. scienceflow-0.2.0b3/scienceflow/runtime/safety/tooling/bash/runtime/tool_runtime.py +78 -0
  738. scienceflow-0.2.0b3/scienceflow/runtime/safety/tooling/resource_management/__init__.py +1 -0
  739. scienceflow-0.2.0b3/scienceflow/runtime/safety/tooling/resource_management/resource_policy.py +650 -0
  740. scienceflow-0.2.0b3/scienceflow/runtime/safety/tooling/resource_management/resource_timeout_feedback.py +5 -0
  741. scienceflow-0.2.0b3/scienceflow/runtime/safety/tooling/resource_management/resource_wait.py +85 -0
  742. scienceflow-0.2.0b3/scienceflow/runtime/safety/tooling/resource_management/signals.py +462 -0
  743. scienceflow-0.2.0b3/scienceflow/runtime/safety/tooling/resource_management/spawn_feedback.py +5 -0
  744. scienceflow-0.2.0b3/scienceflow/runtime/safety/tooling/workspace/__init__.py +1 -0
  745. scienceflow-0.2.0b3/scienceflow/runtime/safety/tooling/workspace/progress.py +260 -0
  746. scienceflow-0.2.0b3/scienceflow/runtime/safety/tooling/workspace/shadow_workspace.py +276 -0
  747. scienceflow-0.2.0b3/scienceflow/runtime/safety/tooling/workspace/shell_guards.py +1173 -0
  748. scienceflow-0.2.0b3/scienceflow/runtime/safety/tooling/workspace/shell_output.py +41 -0
  749. scienceflow-0.2.0b3/scienceflow/runtime/task_package.py +333 -0
  750. scienceflow-0.2.0b3/scienceflow/runtime/workflow.py +134 -0
  751. scienceflow-0.2.0b3/scienceflow.egg-info/PKG-INFO +364 -0
  752. scienceflow-0.2.0b3/scienceflow.egg-info/SOURCES.txt +1156 -0
  753. scienceflow-0.2.0b3/scienceflow.egg-info/dependency_links.txt +1 -0
  754. scienceflow-0.2.0b3/scienceflow.egg-info/entry_points.txt +2 -0
  755. scienceflow-0.2.0b3/scienceflow.egg-info/requires.txt +97 -0
  756. scienceflow-0.2.0b3/scienceflow.egg-info/top_level.txt +2 -0
  757. scienceflow-0.2.0b3/setup.cfg +4 -0
  758. scienceflow-0.2.0b3/tasks/README.md +10 -0
  759. scienceflow-0.2.0b3/tasks/ml/mlebench/3d-object-detection-for-autonomous-vehicles/description_lite.md +29 -0
  760. scienceflow-0.2.0b3/tasks/ml/mlebench/3d-object-detection-for-autonomous-vehicles/task.yaml +1 -0
  761. scienceflow-0.2.0b3/tasks/ml/mlebench/AI4Code/description_lite.md +29 -0
  762. scienceflow-0.2.0b3/tasks/ml/mlebench/AI4Code/task.yaml +1 -0
  763. scienceflow-0.2.0b3/tasks/ml/mlebench/_shared/evaluator.py +122 -0
  764. scienceflow-0.2.0b3/tasks/ml/mlebench/_shared/task_defaults.yaml +15 -0
  765. scienceflow-0.2.0b3/tasks/ml/mlebench/aerial-cactus-identification/description_lite.md +29 -0
  766. scienceflow-0.2.0b3/tasks/ml/mlebench/aerial-cactus-identification/task.yaml +1 -0
  767. scienceflow-0.2.0b3/tasks/ml/mlebench/alaska2-image-steganalysis/description_lite.md +30 -0
  768. scienceflow-0.2.0b3/tasks/ml/mlebench/alaska2-image-steganalysis/task.yaml +1 -0
  769. scienceflow-0.2.0b3/tasks/ml/mlebench/aptos2019-blindness-detection/description_lite.md +28 -0
  770. scienceflow-0.2.0b3/tasks/ml/mlebench/aptos2019-blindness-detection/task.yaml +1 -0
  771. scienceflow-0.2.0b3/tasks/ml/mlebench/billion-word-imputation/description_lite.md +30 -0
  772. scienceflow-0.2.0b3/tasks/ml/mlebench/billion-word-imputation/task.yaml +3 -0
  773. scienceflow-0.2.0b3/tasks/ml/mlebench/bms-molecular-translation/description_lite.md +29 -0
  774. scienceflow-0.2.0b3/tasks/ml/mlebench/bms-molecular-translation/task.yaml +1 -0
  775. scienceflow-0.2.0b3/tasks/ml/mlebench/cassava-leaf-disease-classification/description_lite.md +28 -0
  776. scienceflow-0.2.0b3/tasks/ml/mlebench/cassava-leaf-disease-classification/task.yaml +3 -0
  777. scienceflow-0.2.0b3/tasks/ml/mlebench/cdiscount-image-classification-challenge/description_lite.md +89 -0
  778. scienceflow-0.2.0b3/tasks/ml/mlebench/cdiscount-image-classification-challenge/task.yaml +3 -0
  779. scienceflow-0.2.0b3/tasks/ml/mlebench/chaii-hindi-and-tamil-question-answering/description_lite.md +29 -0
  780. scienceflow-0.2.0b3/tasks/ml/mlebench/chaii-hindi-and-tamil-question-answering/task.yaml +1 -0
  781. scienceflow-0.2.0b3/tasks/ml/mlebench/champs-scalar-coupling/description_lite.md +29 -0
  782. scienceflow-0.2.0b3/tasks/ml/mlebench/champs-scalar-coupling/task.yaml +1 -0
  783. scienceflow-0.2.0b3/tasks/ml/mlebench/competition_categories.json +76 -0
  784. scienceflow-0.2.0b3/tasks/ml/mlebench/denoising-dirty-documents/description_lite.md +30 -0
  785. scienceflow-0.2.0b3/tasks/ml/mlebench/denoising-dirty-documents/task.yaml +1 -0
  786. scienceflow-0.2.0b3/tasks/ml/mlebench/detecting-insults-in-social-commentary/description_lite.md +29 -0
  787. scienceflow-0.2.0b3/tasks/ml/mlebench/detecting-insults-in-social-commentary/task.yaml +1 -0
  788. scienceflow-0.2.0b3/tasks/ml/mlebench/dog-breed-identification/description_lite.md +29 -0
  789. scienceflow-0.2.0b3/tasks/ml/mlebench/dog-breed-identification/task.yaml +1 -0
  790. scienceflow-0.2.0b3/tasks/ml/mlebench/dogs-vs-cats-redux-kernels-edition/description_lite.md +29 -0
  791. scienceflow-0.2.0b3/tasks/ml/mlebench/dogs-vs-cats-redux-kernels-edition/task.yaml +1 -0
  792. scienceflow-0.2.0b3/tasks/ml/mlebench/facebook-recruiting-iii-keyword-extraction/description_lite.md +32 -0
  793. scienceflow-0.2.0b3/tasks/ml/mlebench/facebook-recruiting-iii-keyword-extraction/task.yaml +1 -0
  794. scienceflow-0.2.0b3/tasks/ml/mlebench/freesound-audio-tagging-2019/description_lite.md +27 -0
  795. scienceflow-0.2.0b3/tasks/ml/mlebench/freesound-audio-tagging-2019/task.yaml +1 -0
  796. scienceflow-0.2.0b3/tasks/ml/mlebench/google-quest-challenge/description_lite.md +27 -0
  797. scienceflow-0.2.0b3/tasks/ml/mlebench/google-quest-challenge/task.yaml +1 -0
  798. scienceflow-0.2.0b3/tasks/ml/mlebench/google-research-identify-contrails-reduce-global-warming/description_lite.md +35 -0
  799. scienceflow-0.2.0b3/tasks/ml/mlebench/google-research-identify-contrails-reduce-global-warming/task.yaml +1 -0
  800. scienceflow-0.2.0b3/tasks/ml/mlebench/h-and-m-personalized-fashion-recommendations/description_lite.md +32 -0
  801. scienceflow-0.2.0b3/tasks/ml/mlebench/h-and-m-personalized-fashion-recommendations/task.yaml +1 -0
  802. scienceflow-0.2.0b3/tasks/ml/mlebench/herbarium-2020-fgvc7/description_lite.md +28 -0
  803. scienceflow-0.2.0b3/tasks/ml/mlebench/herbarium-2020-fgvc7/task.yaml +1 -0
  804. scienceflow-0.2.0b3/tasks/ml/mlebench/herbarium-2021-fgvc8/description_lite.md +28 -0
  805. scienceflow-0.2.0b3/tasks/ml/mlebench/herbarium-2021-fgvc8/task.yaml +1 -0
  806. scienceflow-0.2.0b3/tasks/ml/mlebench/herbarium-2022-fgvc9/description_lite.md +28 -0
  807. scienceflow-0.2.0b3/tasks/ml/mlebench/herbarium-2022-fgvc9/task.yaml +1 -0
  808. scienceflow-0.2.0b3/tasks/ml/mlebench/histopathologic-cancer-detection/description_lite.md +29 -0
  809. scienceflow-0.2.0b3/tasks/ml/mlebench/histopathologic-cancer-detection/task.yaml +1 -0
  810. scienceflow-0.2.0b3/tasks/ml/mlebench/hms-harmful-brain-activity-classification/description_lite.md +29 -0
  811. scienceflow-0.2.0b3/tasks/ml/mlebench/hms-harmful-brain-activity-classification/task.yaml +1 -0
  812. scienceflow-0.2.0b3/tasks/ml/mlebench/hotel-id-2021-fgvc8/description_lite.md +29 -0
  813. scienceflow-0.2.0b3/tasks/ml/mlebench/hotel-id-2021-fgvc8/task.yaml +1 -0
  814. scienceflow-0.2.0b3/tasks/ml/mlebench/hubmap-kidney-segmentation/description_lite.md +30 -0
  815. scienceflow-0.2.0b3/tasks/ml/mlebench/hubmap-kidney-segmentation/task.yaml +3 -0
  816. scienceflow-0.2.0b3/tasks/ml/mlebench/icecube-neutrinos-in-deep-ice/description_lite.md +28 -0
  817. scienceflow-0.2.0b3/tasks/ml/mlebench/icecube-neutrinos-in-deep-ice/task.yaml +1 -0
  818. scienceflow-0.2.0b3/tasks/ml/mlebench/imet-2020-fgvc7/description_lite.md +29 -0
  819. scienceflow-0.2.0b3/tasks/ml/mlebench/imet-2020-fgvc7/task.yaml +1 -0
  820. scienceflow-0.2.0b3/tasks/ml/mlebench/inaturalist-2019-fgvc6/description_lite.md +29 -0
  821. scienceflow-0.2.0b3/tasks/ml/mlebench/inaturalist-2019-fgvc6/task.yaml +1 -0
  822. scienceflow-0.2.0b3/tasks/ml/mlebench/iwildcam-2019-fgvc6/description_lite.md +28 -0
  823. scienceflow-0.2.0b3/tasks/ml/mlebench/iwildcam-2019-fgvc6/task.yaml +1 -0
  824. scienceflow-0.2.0b3/tasks/ml/mlebench/iwildcam-2020-fgvc7/description_lite.md +28 -0
  825. scienceflow-0.2.0b3/tasks/ml/mlebench/iwildcam-2020-fgvc7/task.yaml +1 -0
  826. scienceflow-0.2.0b3/tasks/ml/mlebench/jigsaw-toxic-comment-classification-challenge/description_lite.md +29 -0
  827. scienceflow-0.2.0b3/tasks/ml/mlebench/jigsaw-toxic-comment-classification-challenge/task.yaml +1 -0
  828. scienceflow-0.2.0b3/tasks/ml/mlebench/jigsaw-unintended-bias-in-toxicity-classification/description_lite.md +26 -0
  829. scienceflow-0.2.0b3/tasks/ml/mlebench/jigsaw-unintended-bias-in-toxicity-classification/task.yaml +1 -0
  830. scienceflow-0.2.0b3/tasks/ml/mlebench/kuzushiji-recognition/description_lite.md +28 -0
  831. scienceflow-0.2.0b3/tasks/ml/mlebench/kuzushiji-recognition/task.yaml +1 -0
  832. scienceflow-0.2.0b3/tasks/ml/mlebench/leaf-classification/description_lite.md +28 -0
  833. scienceflow-0.2.0b3/tasks/ml/mlebench/leaf-classification/task.yaml +1 -0
  834. scienceflow-0.2.0b3/tasks/ml/mlebench/learning-agency-lab-automated-essay-scoring-2/description_lite.md +29 -0
  835. scienceflow-0.2.0b3/tasks/ml/mlebench/learning-agency-lab-automated-essay-scoring-2/task.yaml +1 -0
  836. scienceflow-0.2.0b3/tasks/ml/mlebench/lmsys-chatbot-arena/description_lite.md +29 -0
  837. scienceflow-0.2.0b3/tasks/ml/mlebench/lmsys-chatbot-arena/task.yaml +1 -0
  838. scienceflow-0.2.0b3/tasks/ml/mlebench/mlsp-2013-birds/description_lite.md +27 -0
  839. scienceflow-0.2.0b3/tasks/ml/mlebench/mlsp-2013-birds/task.yaml +1 -0
  840. scienceflow-0.2.0b3/tasks/ml/mlebench/multi-modal-gesture-recognition/description_lite.md +29 -0
  841. scienceflow-0.2.0b3/tasks/ml/mlebench/multi-modal-gesture-recognition/task.yaml +1 -0
  842. scienceflow-0.2.0b3/tasks/ml/mlebench/new-york-city-taxi-fare-prediction/description_lite.md +39 -0
  843. scienceflow-0.2.0b3/tasks/ml/mlebench/new-york-city-taxi-fare-prediction/task.yaml +1 -0
  844. scienceflow-0.2.0b3/tasks/ml/mlebench/nfl-player-contact-detection/description_lite.md +31 -0
  845. scienceflow-0.2.0b3/tasks/ml/mlebench/nfl-player-contact-detection/task.yaml +1 -0
  846. scienceflow-0.2.0b3/tasks/ml/mlebench/nomad2018-predict-transparent-conductors/description_lite.md +29 -0
  847. scienceflow-0.2.0b3/tasks/ml/mlebench/nomad2018-predict-transparent-conductors/task.yaml +1 -0
  848. scienceflow-0.2.0b3/tasks/ml/mlebench/osic-pulmonary-fibrosis-progression/description_lite.md +37 -0
  849. scienceflow-0.2.0b3/tasks/ml/mlebench/osic-pulmonary-fibrosis-progression/task.yaml +1 -0
  850. scienceflow-0.2.0b3/tasks/ml/mlebench/petfinder-pawpularity-score/description_lite.md +29 -0
  851. scienceflow-0.2.0b3/tasks/ml/mlebench/petfinder-pawpularity-score/task.yaml +3 -0
  852. scienceflow-0.2.0b3/tasks/ml/mlebench/plant-pathology-2020-fgvc7/description_lite.md +30 -0
  853. scienceflow-0.2.0b3/tasks/ml/mlebench/plant-pathology-2020-fgvc7/task.yaml +1 -0
  854. scienceflow-0.2.0b3/tasks/ml/mlebench/plant-pathology-2021-fgvc8/description_lite.md +28 -0
  855. scienceflow-0.2.0b3/tasks/ml/mlebench/plant-pathology-2021-fgvc8/task.yaml +1 -0
  856. scienceflow-0.2.0b3/tasks/ml/mlebench/predict-volcanic-eruptions-ingv-oe/description_lite.md +27 -0
  857. scienceflow-0.2.0b3/tasks/ml/mlebench/predict-volcanic-eruptions-ingv-oe/task.yaml +1 -0
  858. scienceflow-0.2.0b3/tasks/ml/mlebench/random-acts-of-pizza/description_lite.md +29 -0
  859. scienceflow-0.2.0b3/tasks/ml/mlebench/random-acts-of-pizza/task.yaml +1 -0
  860. scienceflow-0.2.0b3/tasks/ml/mlebench/ranzcr-clip-catheter-line-classification/description_lite.md +29 -0
  861. scienceflow-0.2.0b3/tasks/ml/mlebench/ranzcr-clip-catheter-line-classification/task.yaml +1 -0
  862. scienceflow-0.2.0b3/tasks/ml/mlebench/rsna-2022-cervical-spine-fracture-detection/description_lite.md +28 -0
  863. scienceflow-0.2.0b3/tasks/ml/mlebench/rsna-2022-cervical-spine-fracture-detection/task.yaml +1 -0
  864. scienceflow-0.2.0b3/tasks/ml/mlebench/rsna-breast-cancer-detection/description_lite.md +73 -0
  865. scienceflow-0.2.0b3/tasks/ml/mlebench/rsna-breast-cancer-detection/task.yaml +1 -0
  866. scienceflow-0.2.0b3/tasks/ml/mlebench/rsna-miccai-brain-tumor-radiogenomic-classification/description_lite.md +29 -0
  867. scienceflow-0.2.0b3/tasks/ml/mlebench/rsna-miccai-brain-tumor-radiogenomic-classification/task.yaml +1 -0
  868. scienceflow-0.2.0b3/tasks/ml/mlebench/seti-breakthrough-listen/description_lite.md +28 -0
  869. scienceflow-0.2.0b3/tasks/ml/mlebench/seti-breakthrough-listen/task.yaml +3 -0
  870. scienceflow-0.2.0b3/tasks/ml/mlebench/siim-covid19-detection/description_lite.md +29 -0
  871. scienceflow-0.2.0b3/tasks/ml/mlebench/siim-covid19-detection/task.yaml +1 -0
  872. scienceflow-0.2.0b3/tasks/ml/mlebench/siim-isic-melanoma-classification/description_lite.md +29 -0
  873. scienceflow-0.2.0b3/tasks/ml/mlebench/siim-isic-melanoma-classification/task.yaml +1 -0
  874. scienceflow-0.2.0b3/tasks/ml/mlebench/smartphone-decimeter-2022/description_lite.md +35 -0
  875. scienceflow-0.2.0b3/tasks/ml/mlebench/smartphone-decimeter-2022/task.yaml +1 -0
  876. scienceflow-0.2.0b3/tasks/ml/mlebench/spooky-author-identification/description_lite.md +29 -0
  877. scienceflow-0.2.0b3/tasks/ml/mlebench/spooky-author-identification/task.yaml +1 -0
  878. scienceflow-0.2.0b3/tasks/ml/mlebench/stanford-covid-vaccine/description_lite.md +29 -0
  879. scienceflow-0.2.0b3/tasks/ml/mlebench/stanford-covid-vaccine/task.yaml +1 -0
  880. scienceflow-0.2.0b3/tasks/ml/mlebench/statoil-iceberg-classifier-challenge/description_lite.md +30 -0
  881. scienceflow-0.2.0b3/tasks/ml/mlebench/statoil-iceberg-classifier-challenge/task.yaml +1 -0
  882. scienceflow-0.2.0b3/tasks/ml/mlebench/tabular-playground-series-dec-2021/description_lite.md +28 -0
  883. scienceflow-0.2.0b3/tasks/ml/mlebench/tabular-playground-series-dec-2021/task.yaml +1 -0
  884. scienceflow-0.2.0b3/tasks/ml/mlebench/tabular-playground-series-may-2022/description_lite.md +28 -0
  885. scienceflow-0.2.0b3/tasks/ml/mlebench/tabular-playground-series-may-2022/task.yaml +1 -0
  886. scienceflow-0.2.0b3/tasks/ml/mlebench/tensorflow-speech-recognition-challenge/description_lite.md +28 -0
  887. scienceflow-0.2.0b3/tasks/ml/mlebench/tensorflow-speech-recognition-challenge/task.yaml +1 -0
  888. scienceflow-0.2.0b3/tasks/ml/mlebench/tensorflow2-question-answering/description_lite.md +31 -0
  889. scienceflow-0.2.0b3/tasks/ml/mlebench/tensorflow2-question-answering/task.yaml +1 -0
  890. scienceflow-0.2.0b3/tasks/ml/mlebench/text-normalization-challenge-english-language/description_lite.md +31 -0
  891. scienceflow-0.2.0b3/tasks/ml/mlebench/text-normalization-challenge-english-language/task.yaml +1 -0
  892. scienceflow-0.2.0b3/tasks/ml/mlebench/text-normalization-challenge-russian-language/description_lite.md +28 -0
  893. scienceflow-0.2.0b3/tasks/ml/mlebench/text-normalization-challenge-russian-language/task.yaml +1 -0
  894. scienceflow-0.2.0b3/tasks/ml/mlebench/tgs-salt-identification-challenge/description_lite.md +29 -0
  895. scienceflow-0.2.0b3/tasks/ml/mlebench/tgs-salt-identification-challenge/task.yaml +1 -0
  896. scienceflow-0.2.0b3/tasks/ml/mlebench/the-icml-2013-whale-challenge-right-whale-redux/description_lite.md +27 -0
  897. scienceflow-0.2.0b3/tasks/ml/mlebench/the-icml-2013-whale-challenge-right-whale-redux/task.yaml +1 -0
  898. scienceflow-0.2.0b3/tasks/ml/mlebench/tweet-sentiment-extraction/description_lite.md +29 -0
  899. scienceflow-0.2.0b3/tasks/ml/mlebench/tweet-sentiment-extraction/task.yaml +1 -0
  900. scienceflow-0.2.0b3/tasks/ml/mlebench/us-patent-phrase-to-phrase-matching/description_lite.md +29 -0
  901. scienceflow-0.2.0b3/tasks/ml/mlebench/us-patent-phrase-to-phrase-matching/task.yaml +1 -0
  902. scienceflow-0.2.0b3/tasks/ml/mlebench/uw-madison-gi-tract-image-segmentation/description_lite.md +33 -0
  903. scienceflow-0.2.0b3/tasks/ml/mlebench/uw-madison-gi-tract-image-segmentation/task.yaml +1 -0
  904. scienceflow-0.2.0b3/tasks/ml/mlebench/ventilator-pressure-prediction/description_lite.md +29 -0
  905. scienceflow-0.2.0b3/tasks/ml/mlebench/ventilator-pressure-prediction/task.yaml +1 -0
  906. scienceflow-0.2.0b3/tasks/ml/mlebench/vesuvius-challenge-ink-detection/description_lite.md +28 -0
  907. scienceflow-0.2.0b3/tasks/ml/mlebench/vesuvius-challenge-ink-detection/task.yaml +1 -0
  908. scienceflow-0.2.0b3/tasks/ml/mlebench/vinbigdata-chest-xray-abnormalities-detection/description_lite.md +29 -0
  909. scienceflow-0.2.0b3/tasks/ml/mlebench/vinbigdata-chest-xray-abnormalities-detection/task.yaml +1 -0
  910. scienceflow-0.2.0b3/tasks/ml/mlebench/whale-categorization-playground/description_lite.md +29 -0
  911. scienceflow-0.2.0b3/tasks/ml/mlebench/whale-categorization-playground/task.yaml +1 -0
  912. scienceflow-0.2.0b3/tasks/opt_solver/_shared/task_defaults.yaml +2 -0
  913. scienceflow-0.2.0b3/tasks/opt_solver/_tools/prepare_math_opt_solver_tasks.py +154 -0
  914. scienceflow-0.2.0b3/tasks/opt_solver/circle-packing/description_lite.md +30 -0
  915. scienceflow-0.2.0b3/tasks/opt_solver/circle-packing/evaluator.py +192 -0
  916. scienceflow-0.2.0b3/tasks/opt_solver/circle-packing/task.yaml +24 -0
  917. scienceflow-0.2.0b3/tasks/opt_solver/circle-packing/validation/invalid_solution.json +5 -0
  918. scienceflow-0.2.0b3/tasks/opt_solver/circle-packing/validation/valid_solution.json +10 -0
  919. scienceflow-0.2.0b3/tasks/opt_solver/kttsp/description_lite.md +7 -0
  920. scienceflow-0.2.0b3/tasks/opt_solver/kttsp/evaluator.py +277 -0
  921. scienceflow-0.2.0b3/tasks/opt_solver/kttsp/task.yaml +17 -0
  922. scienceflow-0.2.0b3/tasks/opt_solver/ratio-minimization/description_lite.md +41 -0
  923. scienceflow-0.2.0b3/tasks/opt_solver/ratio-minimization/evaluator.py +119 -0
  924. scienceflow-0.2.0b3/tasks/opt_solver/ratio-minimization/task.yaml +18 -0
  925. scienceflow-0.2.0b3/tasks/opt_solver/uncertainty-ineq/description_lite.md +36 -0
  926. scienceflow-0.2.0b3/tasks/opt_solver/uncertainty-ineq/evaluator.py +179 -0
  927. scienceflow-0.2.0b3/tasks/opt_solver/uncertainty-ineq/task.yaml +15 -0
  928. scienceflow-0.2.0b3/tasks/sci_modeling_bench/README.md +64 -0
  929. scienceflow-0.2.0b3/tasks/sci_modeling_bench/_shared/common.py +177 -0
  930. scienceflow-0.2.0b3/tasks/sci_modeling_bench/_shared/evaluator.py +625 -0
  931. scienceflow-0.2.0b3/tasks/sci_modeling_bench/_shared/prepare_data.py +492 -0
  932. scienceflow-0.2.0b3/tasks/sci_modeling_bench/_shared/query_budget.py +193 -0
  933. scienceflow-0.2.0b3/tasks/sci_modeling_bench/drugmatrix-chloride-ranking/description_lite.md +24 -0
  934. scienceflow-0.2.0b3/tasks/sci_modeling_bench/drugmatrix-chloride-ranking/task.yaml +40 -0
  935. scienceflow-0.2.0b3/tasks/sci_modeling_bench/drugmatrix-creatinine-ranking/description_lite.md +24 -0
  936. scienceflow-0.2.0b3/tasks/sci_modeling_bench/drugmatrix-creatinine-ranking/task.yaml +40 -0
  937. scienceflow-0.2.0b3/tasks/sci_modeling_bench/drugmatrix-mch-ranking/description_lite.md +25 -0
  938. scienceflow-0.2.0b3/tasks/sci_modeling_bench/drugmatrix-mch-ranking/task.yaml +40 -0
  939. scienceflow-0.2.0b3/tasks/sci_modeling_bench/drugmatrix-mchc-ranking/description_lite.md +26 -0
  940. scienceflow-0.2.0b3/tasks/sci_modeling_bench/drugmatrix-mchc-ranking/task.yaml +40 -0
  941. scienceflow-0.2.0b3/tasks/sci_modeling_bench/drugmatrix-phosphorus-ranking/description_lite.md +23 -0
  942. scienceflow-0.2.0b3/tasks/sci_modeling_bench/drugmatrix-phosphorus-ranking/task.yaml +40 -0
  943. scienceflow-0.2.0b3/tasks/sci_modeling_bench/drugmatrix-sodium-ranking/description_lite.md +26 -0
  944. scienceflow-0.2.0b3/tasks/sci_modeling_bench/drugmatrix-sodium-ranking/task.yaml +40 -0
  945. scienceflow-0.2.0b3/tasks/sci_modeling_bench/gfp-ranking/description_lite.md +44 -0
  946. scienceflow-0.2.0b3/tasks/sci_modeling_bench/gfp-ranking/task.yaml +48 -0
  947. scienceflow-0.2.0b3/tasks/sci_modeling_bench/hopper-controller-ranking/description_lite.md +41 -0
  948. scienceflow-0.2.0b3/tasks/sci_modeling_bench/hopper-controller-ranking/task.yaml +48 -0
  949. scienceflow-0.2.0b3/tasks/sci_modeling_bench/superconductor-ranking/description_lite.md +40 -0
  950. scienceflow-0.2.0b3/tasks/sci_modeling_bench/superconductor-ranking/task.yaml +48 -0
  951. scienceflow-0.2.0b3/tasks/sci_modeling_bench/tfbind10-pho4-black-box/description_lite.md +46 -0
  952. scienceflow-0.2.0b3/tasks/sci_modeling_bench/tfbind10-pho4-black-box/task.yaml +47 -0
  953. scienceflow-0.2.0b3/tasks/sci_modeling_bench/tfbind8-black-box/description_lite.md +40 -0
  954. scienceflow-0.2.0b3/tasks/sci_modeling_bench/tfbind8-black-box/task.yaml +50 -0
  955. scienceflow-0.2.0b3/tasks/sci_modeling_bench/utr-mrl-ranking/description_lite.md +44 -0
  956. scienceflow-0.2.0b3/tasks/sci_modeling_bench/utr-mrl-ranking/task.yaml +48 -0
  957. scienceflow-0.2.0b3/tests/test_admission_execution_value_v3.py +322 -0
  958. scienceflow-0.2.0b3/tests/test_agent_callback_ports.py +106 -0
  959. scienceflow-0.2.0b3/tests/test_agent_component_structure_v5_2.py +81 -0
  960. scienceflow-0.2.0b3/tests/test_agent_runtime_memory_facade.py +83 -0
  961. scienceflow-0.2.0b3/tests/test_agent_session_wiring_v5_1.py +594 -0
  962. scienceflow-0.2.0b3/tests/test_agents.py +89 -0
  963. scienceflow-0.2.0b3/tests/test_artifact_command_backend.py +202 -0
  964. scienceflow-0.2.0b3/tests/test_bash_monitor_component_structure_v5_2.py +62 -0
  965. scienceflow-0.2.0b3/tests/test_bash_tool_pip_normalize.py +486 -0
  966. scienceflow-0.2.0b3/tests/test_bash_tool_quiet_rc.py +220 -0
  967. scienceflow-0.2.0b3/tests/test_bash_utils_bare_solution_run.py +55 -0
  968. scienceflow-0.2.0b3/tests/test_category_models.py +522 -0
  969. scienceflow-0.2.0b3/tests/test_circle_packing_effect_gate.py +89 -0
  970. scienceflow-0.2.0b3/tests/test_circle_packing_task_package.py +98 -0
  971. scienceflow-0.2.0b3/tests/test_cli_sighup_immunity.py +82 -0
  972. scienceflow-0.2.0b3/tests/test_clone_inherit_compression.py +1276 -0
  973. scienceflow-0.2.0b3/tests/test_code_guard.py +68 -0
  974. scienceflow-0.2.0b3/tests/test_config_includes.py +130 -0
  975. scienceflow-0.2.0b3/tests/test_coordinator_projection_structure_v5_2.py +34 -0
  976. scienceflow-0.2.0b3/tests/test_cost_tracker.py +108 -0
  977. scienceflow-0.2.0b3/tests/test_data_scan_budget.py +228 -0
  978. scienceflow-0.2.0b3/tests/test_dataset_component_structure_v5_2.py +40 -0
  979. scienceflow-0.2.0b3/tests/test_description_lite_generation.py +100 -0
  980. scienceflow-0.2.0b3/tests/test_deterministic_effect_gate.py +160 -0
  981. scienceflow-0.2.0b3/tests/test_domain_state_adapters.py +86 -0
  982. scienceflow-0.2.0b3/tests/test_edit_tool_context.py +65 -0
  983. scienceflow-0.2.0b3/tests/test_embedded_fullrun_component_structure_v5_2.py +40 -0
  984. scienceflow-0.2.0b3/tests/test_embedded_fullrun_submission_rows.py +367 -0
  985. scienceflow-0.2.0b3/tests/test_env_bootstrap.py +137 -0
  986. scienceflow-0.2.0b3/tests/test_estra_module.py +76 -0
  987. scienceflow-0.2.0b3/tests/test_evaluator_backend.py +101 -0
  988. scienceflow-0.2.0b3/tests/test_evaluator_command_env.py +42 -0
  989. scienceflow-0.2.0b3/tests/test_evaluator_config_and_adapters.py +275 -0
  990. scienceflow-0.2.0b3/tests/test_evaluator_gate_policy.py +306 -0
  991. scienceflow-0.2.0b3/tests/test_execution_policy.py +423 -0
  992. scienceflow-0.2.0b3/tests/test_executor_contract.py +42 -0
  993. scienceflow-0.2.0b3/tests/test_executor_env.py +11 -0
  994. scienceflow-0.2.0b3/tests/test_file_snapshot_latest_only.py +258 -0
  995. scienceflow-0.2.0b3/tests/test_final_report.py +401 -0
  996. scienceflow-0.2.0b3/tests/test_finalization_prompt_agent_telemetry_v3.py +254 -0
  997. scienceflow-0.2.0b3/tests/test_gate_service_integration.py +316 -0
  998. scienceflow-0.2.0b3/tests/test_grep_tool.py +35 -0
  999. scienceflow-0.2.0b3/tests/test_inquirycraft_cli_composition.py +195 -0
  1000. scienceflow-0.2.0b3/tests/test_inquirycraft_dependency_boundary.py +190 -0
  1001. scienceflow-0.2.0b3/tests/test_inquirycraft_llm_factory_contract.py +143 -0
  1002. scienceflow-0.2.0b3/tests/test_key_pool_sticky_routing.py +168 -0
  1003. scienceflow-0.2.0b3/tests/test_kttsp_eval.py +114 -0
  1004. scienceflow-0.2.0b3/tests/test_leaf_package_structure_v5_2.py +56 -0
  1005. scienceflow-0.2.0b3/tests/test_leakage_detector.py +96 -0
  1006. scienceflow-0.2.0b3/tests/test_legacy_removal_v3_1.py +87 -0
  1007. scienceflow-0.2.0b3/tests/test_llm_ask.py +232 -0
  1008. scienceflow-0.2.0b3/tests/test_llm_cost.py +169 -0
  1009. scienceflow-0.2.0b3/tests/test_llm_system_message_compat.py +47 -0
  1010. scienceflow-0.2.0b3/tests/test_llm_tool_call.py +476 -0
  1011. scienceflow-0.2.0b3/tests/test_llm_usage.py +112 -0
  1012. scienceflow-0.2.0b3/tests/test_lnr_context_memory_policy.py +67 -0
  1013. scienceflow-0.2.0b3/tests/test_lnr_estra_peer_context.py +103 -0
  1014. scienceflow-0.2.0b3/tests/test_lnr_global_merge.py +901 -0
  1015. scienceflow-0.2.0b3/tests/test_lnr_global_merge_candidates.py +314 -0
  1016. scienceflow-0.2.0b3/tests/test_lnr_init_workspace.py +109 -0
  1017. scienceflow-0.2.0b3/tests/test_lnr_metric_validity.py +571 -0
  1018. scienceflow-0.2.0b3/tests/test_lnr_replay_prepare.py +151 -0
  1019. scienceflow-0.2.0b3/tests/test_lnr_restore_cleanup.py +53 -0
  1020. scienceflow-0.2.0b3/tests/test_lnr_resume.py +227 -0
  1021. scienceflow-0.2.0b3/tests/test_lnr_runtime_modules.py +284 -0
  1022. scienceflow-0.2.0b3/tests/test_lnr_score_summary.py +545 -0
  1023. scienceflow-0.2.0b3/tests/test_lnr_skill_category.py +265 -0
  1024. scienceflow-0.2.0b3/tests/test_lnr_stage_memory.py +99 -0
  1025. scienceflow-0.2.0b3/tests/test_lnr_storage_usage.py +167 -0
  1026. scienceflow-0.2.0b3/tests/test_lnr_worker_llm_models.py +188 -0
  1027. scienceflow-0.2.0b3/tests/test_lnr_workspace_layout.py +249 -0
  1028. scienceflow-0.2.0b3/tests/test_long_horizon_repl_estra_1.py +996 -0
  1029. scienceflow-0.2.0b3/tests/test_long_horizon_repl_estra_2.py +685 -0
  1030. scienceflow-0.2.0b3/tests/test_long_horizon_repl_finalization_1.py +914 -0
  1031. scienceflow-0.2.0b3/tests/test_long_horizon_repl_finalization_2.py +207 -0
  1032. scienceflow-0.2.0b3/tests/test_long_horizon_repl_metric.py +908 -0
  1033. scienceflow-0.2.0b3/tests/test_long_horizon_repl_owner_contracts.py +191 -0
  1034. scienceflow-0.2.0b3/tests/test_long_horizon_repl_resource.py +824 -0
  1035. scienceflow-0.2.0b3/tests/test_long_horizon_repl_resume.py +858 -0
  1036. scienceflow-0.2.0b3/tests/test_long_horizon_repl_stage_1.py +953 -0
  1037. scienceflow-0.2.0b3/tests/test_long_horizon_repl_stage_2.py +895 -0
  1038. scienceflow-0.2.0b3/tests/test_long_horizon_repl_stage_3.py +487 -0
  1039. scienceflow-0.2.0b3/tests/test_long_research_interaction.py +660 -0
  1040. scienceflow-0.2.0b3/tests/test_long_research_onboarding.py +235 -0
  1041. scienceflow-0.2.0b3/tests/test_long_research_progress.py +250 -0
  1042. scienceflow-0.2.0b3/tests/test_managed_research_control.py +386 -0
  1043. scienceflow-0.2.0b3/tests/test_memory_estra_v3.py +380 -0
  1044. scienceflow-0.2.0b3/tests/test_memory_sliding_priority.py +176 -0
  1045. scienceflow-0.2.0b3/tests/test_memory_tool_turn_sanitization.py +201 -0
  1046. scienceflow-0.2.0b3/tests/test_mlebench_install.py +65 -0
  1047. scienceflow-0.2.0b3/tests/test_mlebench_validator_light.py +88 -0
  1048. scienceflow-0.2.0b3/tests/test_model_registry_config.py +285 -0
  1049. scienceflow-0.2.0b3/tests/test_module_dependency_rules.py +35 -0
  1050. scienceflow-0.2.0b3/tests/test_monitor.py +108 -0
  1051. scienceflow-0.2.0b3/tests/test_monitor_lnr_state.py +1504 -0
  1052. scienceflow-0.2.0b3/tests/test_monitor_trace_html.py +347 -0
  1053. scienceflow-0.2.0b3/tests/test_monitor_ui_parallel.py +95 -0
  1054. scienceflow-0.2.0b3/tests/test_monitoring_plane.py +108 -0
  1055. scienceflow-0.2.0b3/tests/test_multi_module_contracts.py +119 -0
  1056. scienceflow-0.2.0b3/tests/test_multi_research.py +613 -0
  1057. scienceflow-0.2.0b3/tests/test_openai_parallel_tool_calls.py +252 -0
  1058. scienceflow-0.2.0b3/tests/test_parallel_bash.py +157 -0
  1059. scienceflow-0.2.0b3/tests/test_parallel_runner_prep.py +1040 -0
  1060. scienceflow-0.2.0b3/tests/test_parallel_service.py +43 -0
  1061. scienceflow-0.2.0b3/tests/test_plural_llm_config.py +318 -0
  1062. scienceflow-0.2.0b3/tests/test_process_runtime.py +312 -0
  1063. scienceflow-0.2.0b3/tests/test_product_deployment_profiles.py +99 -0
  1064. scienceflow-0.2.0b3/tests/test_quick_test_perf.py +125 -0
  1065. scienceflow-0.2.0b3/tests/test_read_before_edit_guard.py +166 -0
  1066. scienceflow-0.2.0b3/tests/test_reasoning_stream_guard.py +372 -0
  1067. scienceflow-0.2.0b3/tests/test_recoverable_stop.py +186 -0
  1068. scienceflow-0.2.0b3/tests/test_research_accounting_display.py +373 -0
  1069. scienceflow-0.2.0b3/tests/test_research_cadence.py +232 -0
  1070. scienceflow-0.2.0b3/tests/test_research_notices.py +72 -0
  1071. scienceflow-0.2.0b3/tests/test_research_preparation.py +496 -0
  1072. scienceflow-0.2.0b3/tests/test_resource_advisory_prefix.py +257 -0
  1073. scienceflow-0.2.0b3/tests/test_resource_arbiter_control_plane_effect.py +756 -0
  1074. scienceflow-0.2.0b3/tests/test_resource_arbiter_control_plane_observation.py +414 -0
  1075. scienceflow-0.2.0b3/tests/test_resource_arbiter_control_plane_policy_1.py +901 -0
  1076. scienceflow-0.2.0b3/tests/test_resource_arbiter_control_plane_policy_2.py +117 -0
  1077. scienceflow-0.2.0b3/tests/test_resource_arbiter_control_plane_replay.py +91 -0
  1078. scienceflow-0.2.0b3/tests/test_resource_arbiter_control_plane_safety.py +177 -0
  1079. scienceflow-0.2.0b3/tests/test_resource_arbiter_gate.py +458 -0
  1080. scienceflow-0.2.0b3/tests/test_resource_classifier_p1.py +416 -0
  1081. scienceflow-0.2.0b3/tests/test_resource_control_op1.py +414 -0
  1082. scienceflow-0.2.0b3/tests/test_resource_control_profile.py +122 -0
  1083. scienceflow-0.2.0b3/tests/test_resource_deep_exclusive_p3.py +81 -0
  1084. scienceflow-0.2.0b3/tests/test_resource_efficiency.py +387 -0
  1085. scienceflow-0.2.0b3/tests/test_resource_efficiency_replay.py +139 -0
  1086. scienceflow-0.2.0b3/tests/test_resource_execution_modules.py +161 -0
  1087. scienceflow-0.2.0b3/tests/test_resource_fact_consistency.py +99 -0
  1088. scienceflow-0.2.0b3/tests/test_resource_feedback_context_closure_op2.py +136 -0
  1089. scienceflow-0.2.0b3/tests/test_resource_feedback_contract.py +46 -0
  1090. scienceflow-0.2.0b3/tests/test_resource_gpu_boundary_p0.py +302 -0
  1091. scienceflow-0.2.0b3/tests/test_resource_gpu_sharing_phase_b.py +652 -0
  1092. scienceflow-0.2.0b3/tests/test_resource_gpu_sharing_phase_cd.py +642 -0
  1093. scienceflow-0.2.0b3/tests/test_resource_gpu_sharing_v6.py +214 -0
  1094. scienceflow-0.2.0b3/tests/test_resource_gpu_sublease.py +108 -0
  1095. scienceflow-0.2.0b3/tests/test_resource_guard_p6.py +724 -0
  1096. scienceflow-0.2.0b3/tests/test_resource_kill_intent.py +302 -0
  1097. scienceflow-0.2.0b3/tests/test_resource_mechanisms_v3.py +263 -0
  1098. scienceflow-0.2.0b3/tests/test_resource_metric_history.py +180 -0
  1099. scienceflow-0.2.0b3/tests/test_resource_monitor_bad_cases.py +228 -0
  1100. scienceflow-0.2.0b3/tests/test_resource_monitor_p0.py +858 -0
  1101. scienceflow-0.2.0b3/tests/test_resource_observation_p4.py +100 -0
  1102. scienceflow-0.2.0b3/tests/test_resource_process_lifecycle.py +78 -0
  1103. scienceflow-0.2.0b3/tests/test_resource_queue_p2.py +1416 -0
  1104. scienceflow-0.2.0b3/tests/test_resource_review_state_machine.py +853 -0
  1105. scienceflow-0.2.0b3/tests/test_resource_safety_completion.py +198 -0
  1106. scienceflow-0.2.0b3/tests/test_resource_source_hints.py +47 -0
  1107. scienceflow-0.2.0b3/tests/test_resource_v7_profile.py +614 -0
  1108. scienceflow-0.2.0b3/tests/test_run_control_score_contract.py +131 -0
  1109. scienceflow-0.2.0b3/tests/test_run_loop_tool_stream_retry.py +300 -0
  1110. scienceflow-0.2.0b3/tests/test_runtime_backend_switch.py +227 -0
  1111. scienceflow-0.2.0b3/tests/test_runtime_event_bridge.py +156 -0
  1112. scienceflow-0.2.0b3/tests/test_runtime_kernel.py +362 -0
  1113. scienceflow-0.2.0b3/tests/test_runtime_parity_benchmark.py +126 -0
  1114. scienceflow-0.2.0b3/tests/test_sci_modeling_bench.py +670 -0
  1115. scienceflow-0.2.0b3/tests/test_sci_modeling_query_budget.py +94 -0
  1116. scienceflow-0.2.0b3/tests/test_science_agent_llm_trace.py +199 -0
  1117. scienceflow-0.2.0b3/tests/test_science_agent_parallel_readonly.py +188 -0
  1118. scienceflow-0.2.0b3/tests/test_science_agent_repl_construction.py +250 -0
  1119. scienceflow-0.2.0b3/tests/test_science_agent_repl_memory.py +395 -0
  1120. scienceflow-0.2.0b3/tests/test_science_agent_repl_run_loop.py +704 -0
  1121. scienceflow-0.2.0b3/tests/test_science_agent_repl_tools.py +389 -0
  1122. scienceflow-0.2.0b3/tests/test_science_agent_write_nudge.py +277 -0
  1123. scienceflow-0.2.0b3/tests/test_scienceflow_interaction_log_format.py +370 -0
  1124. scienceflow-0.2.0b3/tests/test_scienceflow_tool_context_contract.py +97 -0
  1125. scienceflow-0.2.0b3/tests/test_shadow_workspace_p5.py +106 -0
  1126. scienceflow-0.2.0b3/tests/test_skills.py +360 -0
  1127. scienceflow-0.2.0b3/tests/test_snapshot_store_fallback.py +702 -0
  1128. scienceflow-0.2.0b3/tests/test_stage_lifecycle_v3.py +326 -0
  1129. scienceflow-0.2.0b3/tests/test_system_resources_gpu_probe.py +30 -0
  1130. scienceflow-0.2.0b3/tests/test_tabular_string_dtype_preprocess.py +87 -0
  1131. scienceflow-0.2.0b3/tests/test_task_library.py +227 -0
  1132. scienceflow-0.2.0b3/tests/test_task_package_registry.py +196 -0
  1133. scienceflow-0.2.0b3/tests/test_text_normalization_submission_validation.py +32 -0
  1134. scienceflow-0.2.0b3/tests/test_thought_tool_schema.py +82 -0
  1135. scienceflow-0.2.0b3/tests/test_tool_guards_bash_python_dump.py +42 -0
  1136. scienceflow-0.2.0b3/tests/test_tool_guards_edit_short.py +39 -0
  1137. scienceflow-0.2.0b3/tests/test_tool_guards_no_progress.py +196 -0
  1138. scienceflow-0.2.0b3/tests/test_tool_guards_no_success_window.py +45 -0
  1139. scienceflow-0.2.0b3/tests/test_tool_guards_runtime_rotating.py +61 -0
  1140. scienceflow-0.2.0b3/tests/test_tool_memory_compression_compression.py +719 -0
  1141. scienceflow-0.2.0b3/tests/test_tool_memory_compression_persistence.py +793 -0
  1142. scienceflow-0.2.0b3/tests/test_tool_output_artifacts.py +422 -0
  1143. scienceflow-0.2.0b3/tests/test_tool_runtime_contract_benchmark.py +40 -0
  1144. scienceflow-0.2.0b3/tests/test_tui_sessions.py +82 -0
  1145. scienceflow-0.2.0b3/tests/test_ui_console.py +70 -0
  1146. scienceflow-0.2.0b3/tests/test_user_config_cli.py +162 -0
  1147. scienceflow-0.2.0b3/tests/test_v3_1_module_boundaries.py +552 -0
  1148. scienceflow-0.2.0b3/tests/test_v3_2_narrow_state.py +67 -0
  1149. scienceflow-0.2.0b3/tests/test_v4_namespace_aggregation.py +73 -0
  1150. scienceflow-0.2.0b3/tests/test_v5_2_structure_metrics.py +44 -0
  1151. scienceflow-0.2.0b3/tests/test_v5_acceptance_manifests.py +201 -0
  1152. scienceflow-0.2.0b3/tests/test_web_monitor.py +969 -0
  1153. scienceflow-0.2.0b3/tests/test_worker_utilization.py +129 -0
  1154. scienceflow-0.2.0b3/tests/test_workspace_contract_compare.py +114 -0
  1155. scienceflow-0.2.0b3/tests/test_workspace_contract_fixtures.py +56 -0
  1156. scienceflow-0.2.0b3/tests/test_workspace_interaction_log_color.py +205 -0
  1157. scienceflow-0.2.0b3/tests/test_workspace_memory_modules.py +269 -0
  1158. scienceflow-0.2.0b3/tests/test_workspace_snapshot.py +346 -0
@@ -0,0 +1,9 @@
1
+ MIT License
2
+
3
+ Copyright (C) 2026 Huawei Technologies Co., Ltd. All Rights Reserved.
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
6
+
7
+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
8
+
9
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,364 @@
1
+ Metadata-Version: 2.4
2
+ Name: scienceflow
3
+ Version: 0.2.0b3
4
+ Summary: An end-to-end autoresearch agent framework for long-horizon ML research, scientific discovery, and beyond
5
+ License-Expression: MIT
6
+ Project-URL: Homepage, https://github.com/science-learner/ScienceFlow
7
+ Project-URL: Repository, https://github.com/science-learner/ScienceFlow
8
+ Project-URL: Documentation, https://github.com/science-learner/ScienceFlow/tree/preview/docs
9
+ Project-URL: Issues, https://github.com/science-learner/ScienceFlow/issues
10
+ Classifier: Development Status :: 4 - Beta
11
+ Classifier: Intended Audience :: Science/Research
12
+ Classifier: Operating System :: POSIX :: Linux
13
+ Classifier: Programming Language :: Python :: 3
14
+ Classifier: Programming Language :: Python :: 3.11
15
+ Classifier: Programming Language :: Python :: 3.12
16
+ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
17
+ Requires-Python: >=3.11
18
+ Description-Content-Type: text/markdown
19
+ License-File: LICENSE
20
+ Requires-Dist: python-dotenv>=1.0
21
+ Requires-Dist: pydantic>=2.0
22
+ Requires-Dist: omegaconf>=2.3
23
+ Requires-Dist: pyyaml>=6.0
24
+ Requires-Dist: psutil>=5.9
25
+ Requires-Dist: aiofiles>=23.0
26
+ Requires-Dist: rich>=13.0
27
+ Requires-Dist: click>=8.1
28
+ Requires-Dist: dataclasses-json>=0.6.0
29
+ Requires-Dist: openai>=1.0
30
+ Requires-Dist: httpx>=0.27
31
+ Requires-Dist: tenacity>=9.0
32
+ Requires-Dist: lazy-loader>=0.4
33
+ Requires-Dist: inquirycraft[openai,tui]==0.9.0
34
+ Requires-Dist: backports-zstd>=1.3
35
+ Requires-Dist: tornado>=6.4
36
+ Requires-Dist: reportlab<5,>=4.2
37
+ Provides-Extra: ml
38
+ Requires-Dist: numpy>=1.26; extra == "ml"
39
+ Requires-Dist: pandas>=2.2; extra == "ml"
40
+ Requires-Dist: scipy>=1.12; extra == "ml"
41
+ Requires-Dist: scikit-learn>=1.3; extra == "ml"
42
+ Requires-Dist: openpyxl>=3.1; extra == "ml"
43
+ Requires-Dist: matplotlib>=3.8; extra == "ml"
44
+ Requires-Dist: seaborn>=0.13; extra == "ml"
45
+ Requires-Dist: catboost>=1.2; extra == "ml"
46
+ Requires-Dist: xgboost>=2.0; extra == "ml"
47
+ Requires-Dist: lightgbm>=4.0; extra == "ml"
48
+ Provides-Extra: gpu
49
+ Requires-Dist: numpy>=1.26; extra == "gpu"
50
+ Requires-Dist: tabpfn>=7.0; extra == "gpu"
51
+ Requires-Dist: torch>=2.11; extra == "gpu"
52
+ Requires-Dist: torchvision>=0.20; extra == "gpu"
53
+ Requires-Dist: pillow>=10.0; extra == "gpu"
54
+ Requires-Dist: torchaudio<2.12,>=2.11.0; extra == "gpu"
55
+ Requires-Dist: sentencepiece>=0.2; extra == "gpu"
56
+ Requires-Dist: timm>=1.0.3; extra == "gpu"
57
+ Requires-Dist: segmentation-models-pytorch>=0.3.4; extra == "gpu"
58
+ Requires-Dist: ultralytics>=8.0; extra == "gpu"
59
+ Requires-Dist: transformers>=4.40; extra == "gpu"
60
+ Requires-Dist: protobuf>=4.25; extra == "gpu"
61
+ Requires-Dist: tiktoken>=0.7; extra == "gpu"
62
+ Requires-Dist: librosa>=0.10; extra == "gpu"
63
+ Requires-Dist: muq; extra == "gpu"
64
+ Requires-Dist: opencv-python-headless>=4.8; extra == "gpu"
65
+ Requires-Dist: torchmetrics>=1.0; extra == "gpu"
66
+ Requires-Dist: termcolor>=2.0; extra == "gpu"
67
+ Provides-Extra: mlebench
68
+ Requires-Dist: mlebench; extra == "mlebench"
69
+ Requires-Dist: pydicom>=2.4; extra == "mlebench"
70
+ Provides-Extra: detection-2d
71
+ Requires-Dist: dicomsdl>=0.107; extra == "detection-2d"
72
+ Requires-Dist: ensemble-boxes>=1.0; extra == "detection-2d"
73
+ Provides-Extra: inquirycraft-mcp
74
+ Requires-Dist: inquirycraft[mcp]==0.9.0; extra == "inquirycraft-mcp"
75
+ Provides-Extra: scientific-design
76
+ Requires-Dist: cloudpickle>=3.0; extra == "scientific-design"
77
+ Requires-Dist: sci-modeling-bench==0.10.0; extra == "scientific-design"
78
+ Provides-Extra: full
79
+ Requires-Dist: numpy>=1.26; extra == "full"
80
+ Requires-Dist: pandas>=2.2; extra == "full"
81
+ Requires-Dist: scipy>=1.12; extra == "full"
82
+ Requires-Dist: scikit-learn>=1.3; extra == "full"
83
+ Requires-Dist: openpyxl>=3.1; extra == "full"
84
+ Requires-Dist: matplotlib>=3.8; extra == "full"
85
+ Requires-Dist: seaborn>=0.13; extra == "full"
86
+ Requires-Dist: tabpfn>=7.0; extra == "full"
87
+ Requires-Dist: catboost>=1.2; extra == "full"
88
+ Requires-Dist: xgboost>=2.0; extra == "full"
89
+ Requires-Dist: lightgbm>=4.0; extra == "full"
90
+ Requires-Dist: torch>=2.11; extra == "full"
91
+ Requires-Dist: torchvision>=0.20; extra == "full"
92
+ Requires-Dist: pillow>=10.0; extra == "full"
93
+ Requires-Dist: torchaudio<2.12,>=2.11.0; extra == "full"
94
+ Requires-Dist: sentencepiece>=0.2; extra == "full"
95
+ Requires-Dist: timm>=1.0.3; extra == "full"
96
+ Requires-Dist: segmentation-models-pytorch>=0.3.4; extra == "full"
97
+ Requires-Dist: ultralytics>=8.0; extra == "full"
98
+ Requires-Dist: transformers>=4.40; extra == "full"
99
+ Requires-Dist: protobuf>=4.25; extra == "full"
100
+ Requires-Dist: tiktoken>=0.7; extra == "full"
101
+ Requires-Dist: librosa>=0.10; extra == "full"
102
+ Requires-Dist: muq; extra == "full"
103
+ Requires-Dist: opencv-python-headless>=4.8; extra == "full"
104
+ Requires-Dist: torchmetrics>=1.0; extra == "full"
105
+ Requires-Dist: termcolor>=2.0; extra == "full"
106
+ Requires-Dist: mlebench; extra == "full"
107
+ Requires-Dist: pydicom>=2.4; extra == "full"
108
+ Requires-Dist: dicomsdl>=0.107; extra == "full"
109
+ Requires-Dist: ensemble-boxes>=1.0; extra == "full"
110
+ Dynamic: license-file
111
+
112
+ <h1 align="center">ScienceFlow</h1>
113
+
114
+ <p align="center"><b>An End-to-End Autoresearch Agent Framework</b></p>
115
+
116
+ <p align="center">
117
+ <a href="https://www.noahlab.com.hk/news/212"><b>Project News</b></a>
118
+ ·
119
+ <a href="https://arxiv.org/abs/2608.14354"><b>Paper (arXiv)</b></a>
120
+ ·
121
+ <a href="docs/public/README_CN.md"><b>Chinese</b></a>
122
+ </p>
123
+
124
+ > [!IMPORTANT]
125
+ > **Testing preview.** This code line backs the public `preview` branch and is intended
126
+ > for evaluation, integration testing, and demonstrations. It includes TUI chat,
127
+ > multi-task long research, resume and recovery, resource coordination, and structured
128
+ > telemetry. Interfaces, configuration schemas, UI details, and workspace metadata may
129
+ > change before the stable release. Use the reviewed lock file and isolated workspaces,
130
+ > and do not rely on this preview for unattended production workloads.
131
+
132
+ ScienceFlow is an end-to-end autoresearch agent framework for productive, stable, and goal-aligned research over hours or days. It organizes research around recoverable executable workspaces, coupling persistent state, adaptive exploration, and evidence-aware execution control so agents can continue, redirect, or recover without losing validated progress.
133
+
134
+ ScienceFlow documentation uses **iqcraft** as the short name for InquiryCraft. Package,
135
+ import, and CLI examples continue to use the canonical `inquirycraft` name.
136
+
137
+ Across machine learning, scientific modeling, and mathematical optimization, ScienceFlow sustains effective long-horizon research and reaches **70.22 ± 1.18% Any-Medal** on the full 75-task MLE-bench within a 24-hour budget, exceeding the strongest reported baseline by **4.92 percentage points**.
138
+
139
+ <p align="center">
140
+ <img src="docs/public/scienceflow/assets/mlebench_top10_any_medal.png" alt="Representative full MLE-bench Any-Medal leaderboard" width="100%">
141
+ </p>
142
+ <p align="center"><sub><b>Figure 1a. Full MLE-bench Any-Medal leaderboard.</b> Mean ± SEM over three independent runs for ScienceFlow.</sub></p>
143
+
144
+ ## News
145
+
146
+ - **[2026-09]** The testing preview is available on the `preview` branch for integration testing and feedback.
147
+ - **[2026-08]** ScienceFlow is open source — the framework code, task packages, and documentation are available in this repository.
148
+ - **[2026-08]** The ScienceFlow paper is available on [arXiv](https://arxiv.org/abs/2608.14354).
149
+
150
+ ## Core concepts
151
+
152
+ 1. **Recoverable executable state.** Each persistent LNR worker advances research in an isolated executable workspace. An archived state binds that workspace to compact memory, validation evidence, and resource records.
153
+ 2. **Stage Gate.** A task-specific result signal invokes `GateService`: the configured Evaluator produces normalized evidence, and the Gate policy decides admission. An accepted result materializes an immutable Stage with ledger facts and a recoverable workspace snapshot.
154
+ 3. **ESTRA.** At a research boundary, Executable-State Transition through Re-Anchoring makes a two-axis decision: a start point (the current workspace or an archived Stage) and an intent (`continue` or `redirect`). Selecting an archived start point restores its executable state before the next research segment.
155
+ 4. **Persistent memory.** Add records accepted Stage progress. Fold keeps recent, best-validated, and anchor-relevant evidence explicit while summarizing older records; Unfold/restore retrieves indexed evidence and state, and Assemble constructs the anchor-specific context for the next segment.
156
+ 5. **Evidence-aware execution control.** Research workers choose scientific routes, while the controller admits, leases, monitors, timeboxes, and stops physical jobs using resource availability, remaining budget, validated progress, and recoverability. Valid worker states are finalized under `merge/finals/final_*`.
157
+
158
+ ## System architecture
159
+
160
+ <p align="center">
161
+ <img src="docs/public/scienceflow/assets/scienceflow_system_architecture.png" alt="ScienceFlow system architecture" width="100%">
162
+ </p>
163
+ <p align="center"><sub><b>Figure 2. ScienceFlow system architecture.</b> Research workers operate over recoverable executable states and adapt long-horizon trajectories through boundary-triggered ESTRA transitions, while evidence-aware execution control coordinates physical resource allocation and runtime execution.</sub></p>
164
+
165
+ ## Design boundaries
166
+
167
+ - LNR is **no-skill by default**: `lnr_skill_tool_enabled: false` and `lnr_skill_auto_read: false`.
168
+ - `.scienceflow/skills/data_processing/` is retained only for the dedicated data-prep agent and validation-split workflow.
169
+ - `auto` is the default evaluator backend and resolves registered tasks to `task_package`; `artifact_command` remains available for generic command-based evaluation.
170
+ - Parallel runs bind CPU/GPU resources at task level, then split CPU capacity across workers. GPU leases support controlled sharing by multiple workers.
171
+ - Result signals may create Stages without a submission when the task contract permits it. Merge can only emit finals from candidates that carry the required artifact.
172
+
173
+ ## Repository layout
174
+
175
+ ```text
176
+ ScienceFlow/
177
+ ├── scienceflow/ # Framework package
178
+ │ ├── agent/ # InquiryCraft host ports, construction, and sessions
179
+ │ ├── foundation/ # Architecture rules, typed config, and contracts
180
+ │ │ ├── architecture/ # Executable dependency and size policies
181
+ │ │ ├── config/ # LLM/runtime/schema config and packaged profiles
182
+ │ │ └── contracts/ # Stable cross-domain values
183
+ │ ├── research/ # Research-domain decisions and persistent state
184
+ │ │ ├── control/ # Admission, ESTRA, execution-value, and resources
185
+ │ │ ├── quality/ # Assessment, Evaluator, Gate, and finalization
186
+ │ │ ├── solver/lnr/ # Long-horizon solver, split into five responsibilities
187
+ │ │ │ ├── lifecycle/ # Stage, workspace, records, and snapshots
188
+ │ │ │ ├── orchestration/ # Coordinator and worker execution
189
+ │ │ │ ├── resources/ # Resource feedback and physical runtime
190
+ │ │ │ ├── support/ # Context and prompt support
191
+ │ │ │ └── transitions/ # ESTRA, resume, and recovery
192
+ │ │ └── state/ # Dataset, knowledge, and workspace state
193
+ │ ├── runtime/ # Physical execution and operational boundaries
194
+ │ │ ├── core/ # Kernel, process, stage, and shared runtime support
195
+ │ │ ├── observability/ # Agent I/O, monitoring, correlation, and traces
196
+ │ │ ├── safety/ # Agent, shell, process, and resource safeguards
197
+ │ │ └── parallel/ # Task scheduling and subprocess execution
198
+ │ ├── interfaces/ # User-facing adapters
199
+ │ │ ├── cli/ # Command composition
200
+ │ │ └── ui/ # Read-only monitor and trace presentation
201
+ │ └── cli.py # Stable `python -m scienceflow.cli` entry point
202
+ ├── tasks/ # Task packages and evaluators
203
+ ├── scripts/ # Five canonical manifests and two lifecycle launchers
204
+ ├── tools/ # Architecture, contract, and parity developer tools
205
+ ├── .scienceflow/skills/data_processing/ # Data-preparation skills
206
+ └── docs/ # Public docs, architecture, plans, benchmarks, and evidence
207
+ ```
208
+
209
+ The package root is intentionally limited to five ownership namespaces: `foundation`,
210
+ `agent`, `research`, `runtime`, and `interfaces`. Foundation defines stable contracts and
211
+ configuration; research owns policy and recoverable state; runtime owns physical effects,
212
+ safety, and observation; agent and interfaces adapt external interaction. InquiryCraft
213
+ remains behind typed ports in `scienceflow/agent`, so ScienceFlow policy does not leak into
214
+ the generic agent runtime. The default fan-out limit at every depth is five immediate
215
+ subdirectories and five direct business modules (`__init__.py` excluded). A small number of
216
+ cohesive product surfaces have explicit path-specific ceilings; increases require review in
217
+ `tests/test_leaf_package_structure_v5_2.py` rather than changing the global default.
218
+
219
+ ## Install and run
220
+
221
+ **Requirements:** Python 3.11+ and [uv](https://docs.astral.sh/uv/).
222
+
223
+ InquiryCraft `0.9.0` is published on the public package index and pinned by the ScienceFlow
224
+ lock file. Create the source environment directly from the reviewed dependency set:
225
+
226
+ ```bash
227
+ cd ScienceFlow
228
+ uv sync --python 3.12 --group dev
229
+ source .venv/bin/activate
230
+ ```
231
+
232
+ The Light runtime without test dependencies uses `uv sync`. The Full profile is
233
+ `uv sync --extra full --group dev`.
234
+
235
+ Create the private model registry once, edit it, and start the TUI:
236
+
237
+ ```bash
238
+ scienceflow config init
239
+ scienceflow config path
240
+ scienceflow tui --workspace /path/to/workspace
241
+ ```
242
+
243
+ The default registry is `~/.config/scienceflow/models.json` with mode `600`. Use
244
+ `--model-config PATH` to test another registry. API keys stay in the registry and are not copied
245
+ into manifests, sessions, or reports. See [model configuration](docs/public/LLM_CONFIGURATION.md).
246
+
247
+ Activation is per shell. To expose this checkout without activation, ensure `~/.local/bin` is on
248
+ `PATH` and create a user-level link:
249
+
250
+ ```bash
251
+ mkdir -p ~/.local/bin
252
+ ln -sfn "$PWD/.venv/bin/scienceflow" ~/.local/bin/scienceflow
253
+ scienceflow tui --workspace /path/to/workspace
254
+ ```
255
+
256
+ ScienceFlow embeds InquiryCraft as its sole generic Agent Runtime; no second process is required.
257
+ Useful entry points are:
258
+
259
+ ```bash
260
+ scienceflow agent tools list
261
+ scienceflow repl
262
+ scienceflow parallel -m scripts/lnr.yaml -j 1
263
+ scienceflow monitor --manifest scripts/lnr.yaml --refresh 5
264
+ scienceflow web --workspace /path/to/workspace
265
+ ```
266
+
267
+ After the preview package is published, install the exact pre-release version from PyPI.
268
+ Pinning the version prevents a test environment from changing when a later preview is released.
269
+ Container and Compose usage lives in [`deploy/README.md`](deploy/README.md).
270
+
271
+ ```bash
272
+ pip install scienceflow==0.2.0b3
273
+ pip install "scienceflow[full]"==0.2.0b3
274
+ ```
275
+
276
+ ## Configuration essentials
277
+
278
+ | Setting | Purpose |
279
+ |---|---|
280
+ | `lnr.num_workers` | Number of persistent research workers inside one task. |
281
+ | `task.cpu_list` / `task.gpu_list` | Task-level CPU and GPU resource boundaries; LNR further splits CPU across workers. |
282
+ | `lnr.omp_threads_cap` | CPU thread cap for each worker slice. |
283
+ | `lnr.wall_clock_budget_sec` | Total wall-clock budget for the LNR process. |
284
+ | `lnr.estra_enabled` / `estra_trigger_stage_count` | Enables ESTRA and sets the trigger for boundary review and context folding. |
285
+ | `lnr.resource_runtime_enabled` | Enables evidence-aware resource and execution control. |
286
+ | `resume_budget_policy` | Budget accounting for resumed runs; `fresh` adds this round's `time_limit` on top of accumulated time. |
287
+ | `evaluator.backend` | Selects `auto` (default), `task_package`, or `artifact_command`. |
288
+ | `evaluator.stage_source_mode` | Selects the `shadow`, `adjudicate`, or `primary` Stage source mode. |
289
+ | `evaluator.command.python_executable` | Points a task at an isolated Python environment. |
290
+ | `profile_overrides.<profile>` | Overrides prompts, Evaluator, and resource behavior per task type. |
291
+ | `tasks/**/task.yaml` | Declares the task-level artifact, metric, provider/profile, Evaluator, and Gate policy. |
292
+ | `metric.authoritative: true` | Marks a metric as authoritative evidence eligible for high-trust selection. |
293
+
294
+ ## Documentation
295
+
296
+ [Documentation index](docs/README.md) · [Architecture overview](docs/public/scienceflow/index.html) · [Recoverable states and LNR](docs/public/scienceflow/module-lnr.html) · [Evidence-aware execution control](docs/public/scienceflow/module-resource.html) · [Adding optimization tasks](docs/public/scienceflow/module-opt-solver-onboarding.html) · [Current plans](docs/plans/current/) · [SciModelingBench](tasks/sci_modeling_bench/README.md)
297
+
298
+ ## Paper task coverage
299
+
300
+ The paper evaluates the same ScienceFlow workflow across three classes of executable research tasks:
301
+
302
+ - **Machine learning engineering:** all 75 [MLE-bench](https://github.com/openai/mle-bench) tasks through the pipeline-construction interface.
303
+ - **Scientific modeling and design:** 12 [SciModelingBench tasks on Hugging Face](https://huggingface.co/datasets/sci-modeling-bench/design-bench) through the candidate-optimization interface.
304
+ - **Mathematical and engineering optimization:** [Circle Packing](https://github.com/algorithmicsuperintelligence/openevolve/tree/main/examples/circle_packing), [Ratio Minimization](https://github.com/algorithmicsuperintelligence/openevolve/tree/main/examples/alphaevolve_math_problems/minimizing_max_min_dist), [Uncertainty Inequality](https://github.com/algorithmicsuperintelligence/openevolve/tree/main/examples/alphaevolve_math_problems/uncertainty_ineq), and the easy, medium, and hard [SpOC4 KTTSP](https://www.esa.int/gsp/ACT/news/spoc-2026/) tracks through the candidate-optimization interface.
305
+
306
+ All task families share the Stage Gate and Evaluator contract. Each `task.yaml` keeps provider/profile, artifact schema, evaluator backend, authoritative status, and Gate policy outside the generic solver. MLE-bench tasks may leave metric direction open for the runtime to resolve from task, stage, and evaluation evidence.
307
+
308
+ ## TUI and managed research
309
+
310
+ `scienceflow tui` starts a new chat session by default; add `--resume` to restore the latest
311
+ session for the same workspace. Ordinary text uses InquiryCraft's Agent Runtime. The main
312
+ ScienceFlow commands are:
313
+
314
+ | Command | Purpose |
315
+ |---|---|
316
+ | `/models` | Select the chat model and show the registry path. |
317
+ | `/long-research DESCRIPTION` | Prepare a task, confirm resources and models, preflight, and launch it. |
318
+ | `/tasks`, `/status N` | List tasks or inspect one persistent task number. |
319
+ | `/stop N`, `/resume N`, `/attach N` | Control or attach to a research task. |
320
+ | `/research-usage N`, `/resources` | Show model usage/cost or host and running-task resources. |
321
+ | `/web`, `/web stop` | Start or stop the workspace Web monitor. |
322
+
323
+ Closing the TUI detaches from supervised research; it does not stop workers. Chat cancellation
324
+ also does not stop research—use `/stop`. Managed-run records live under
325
+ `~/.local/state/scienceflow/managed_runs/`, while chat sessions live under
326
+ `<workspace>/.scienceflow/sessions/`.
327
+
328
+ `/resources` keeps each `starting` or `running` task on one line. Stopping tasks are hidden, but
329
+ their reservations remain excluded from `Available` until the processes release them.
330
+
331
+ The CLI exposes the same lifecycle when a full-screen terminal is not wanted:
332
+
333
+ ```bash
334
+ scienceflow run circle-packing --tui --workspace /path/to/experiment
335
+ scienceflow status --all
336
+ scienceflow stop RUN_ID
337
+ scienceflow resume RUN_ID --tui
338
+ ```
339
+
340
+ Do not resume a workspace with a different task profile, dataset, prompt, or artifact contract.
341
+ MLE-bench additionally requires the data root, `exp_id`, and `submission.csv` contract to agree.
342
+ Model pricing is optional and lives only in `models.<alias>.pricing`; missing prices display
343
+ `Cost —` rather than silently using a built-in estimate.
344
+
345
+ The Web monitor shows task status, workers, metric history, Stage lineage, ESTRA/EEC, usage, and
346
+ final reports. See [Web monitor behavior](docs/web-monitor.md) for local and SSH access.
347
+
348
+ ## Verification
349
+
350
+ Run tests through the active development environment against the pinned, published
351
+ InquiryCraft `0.9.0` package:
352
+
353
+ ```bash
354
+ .venv/bin/pytest -q \
355
+ tests/test_inquirycraft_dependency_boundary.py \
356
+ tests/test_inquirycraft_cli_composition.py \
357
+ tests/test_long_research_interaction.py
358
+ ```
359
+
360
+ The release workflow accepts only a version-matching tag, builds and checks the wheel and
361
+ source distribution, installs the wheel in a clean runner, and reruns the public dependency
362
+ contracts before publishing through PyPI Trusted Publishing. The full regression command is
363
+ `uv run --locked pytest -q`. Optional ML, GPU, MLE-bench, and scientific-design tests require
364
+ their corresponding extras.
@@ -0,0 +1,253 @@
1
+ <h1 align="center">ScienceFlow</h1>
2
+
3
+ <p align="center"><b>An End-to-End Autoresearch Agent Framework</b></p>
4
+
5
+ <p align="center">
6
+ <a href="https://www.noahlab.com.hk/news/212"><b>Project News</b></a>
7
+ ·
8
+ <a href="https://arxiv.org/abs/2608.14354"><b>Paper (arXiv)</b></a>
9
+ ·
10
+ <a href="docs/public/README_CN.md"><b>Chinese</b></a>
11
+ </p>
12
+
13
+ > [!IMPORTANT]
14
+ > **Testing preview.** This code line backs the public `preview` branch and is intended
15
+ > for evaluation, integration testing, and demonstrations. It includes TUI chat,
16
+ > multi-task long research, resume and recovery, resource coordination, and structured
17
+ > telemetry. Interfaces, configuration schemas, UI details, and workspace metadata may
18
+ > change before the stable release. Use the reviewed lock file and isolated workspaces,
19
+ > and do not rely on this preview for unattended production workloads.
20
+
21
+ ScienceFlow is an end-to-end autoresearch agent framework for productive, stable, and goal-aligned research over hours or days. It organizes research around recoverable executable workspaces, coupling persistent state, adaptive exploration, and evidence-aware execution control so agents can continue, redirect, or recover without losing validated progress.
22
+
23
+ ScienceFlow documentation uses **iqcraft** as the short name for InquiryCraft. Package,
24
+ import, and CLI examples continue to use the canonical `inquirycraft` name.
25
+
26
+ Across machine learning, scientific modeling, and mathematical optimization, ScienceFlow sustains effective long-horizon research and reaches **70.22 ± 1.18% Any-Medal** on the full 75-task MLE-bench within a 24-hour budget, exceeding the strongest reported baseline by **4.92 percentage points**.
27
+
28
+ <p align="center">
29
+ <img src="docs/public/scienceflow/assets/mlebench_top10_any_medal.png" alt="Representative full MLE-bench Any-Medal leaderboard" width="100%">
30
+ </p>
31
+ <p align="center"><sub><b>Figure 1a. Full MLE-bench Any-Medal leaderboard.</b> Mean ± SEM over three independent runs for ScienceFlow.</sub></p>
32
+
33
+ ## News
34
+
35
+ - **[2026-09]** The testing preview is available on the `preview` branch for integration testing and feedback.
36
+ - **[2026-08]** ScienceFlow is open source — the framework code, task packages, and documentation are available in this repository.
37
+ - **[2026-08]** The ScienceFlow paper is available on [arXiv](https://arxiv.org/abs/2608.14354).
38
+
39
+ ## Core concepts
40
+
41
+ 1. **Recoverable executable state.** Each persistent LNR worker advances research in an isolated executable workspace. An archived state binds that workspace to compact memory, validation evidence, and resource records.
42
+ 2. **Stage Gate.** A task-specific result signal invokes `GateService`: the configured Evaluator produces normalized evidence, and the Gate policy decides admission. An accepted result materializes an immutable Stage with ledger facts and a recoverable workspace snapshot.
43
+ 3. **ESTRA.** At a research boundary, Executable-State Transition through Re-Anchoring makes a two-axis decision: a start point (the current workspace or an archived Stage) and an intent (`continue` or `redirect`). Selecting an archived start point restores its executable state before the next research segment.
44
+ 4. **Persistent memory.** Add records accepted Stage progress. Fold keeps recent, best-validated, and anchor-relevant evidence explicit while summarizing older records; Unfold/restore retrieves indexed evidence and state, and Assemble constructs the anchor-specific context for the next segment.
45
+ 5. **Evidence-aware execution control.** Research workers choose scientific routes, while the controller admits, leases, monitors, timeboxes, and stops physical jobs using resource availability, remaining budget, validated progress, and recoverability. Valid worker states are finalized under `merge/finals/final_*`.
46
+
47
+ ## System architecture
48
+
49
+ <p align="center">
50
+ <img src="docs/public/scienceflow/assets/scienceflow_system_architecture.png" alt="ScienceFlow system architecture" width="100%">
51
+ </p>
52
+ <p align="center"><sub><b>Figure 2. ScienceFlow system architecture.</b> Research workers operate over recoverable executable states and adapt long-horizon trajectories through boundary-triggered ESTRA transitions, while evidence-aware execution control coordinates physical resource allocation and runtime execution.</sub></p>
53
+
54
+ ## Design boundaries
55
+
56
+ - LNR is **no-skill by default**: `lnr_skill_tool_enabled: false` and `lnr_skill_auto_read: false`.
57
+ - `.scienceflow/skills/data_processing/` is retained only for the dedicated data-prep agent and validation-split workflow.
58
+ - `auto` is the default evaluator backend and resolves registered tasks to `task_package`; `artifact_command` remains available for generic command-based evaluation.
59
+ - Parallel runs bind CPU/GPU resources at task level, then split CPU capacity across workers. GPU leases support controlled sharing by multiple workers.
60
+ - Result signals may create Stages without a submission when the task contract permits it. Merge can only emit finals from candidates that carry the required artifact.
61
+
62
+ ## Repository layout
63
+
64
+ ```text
65
+ ScienceFlow/
66
+ ├── scienceflow/ # Framework package
67
+ │ ├── agent/ # InquiryCraft host ports, construction, and sessions
68
+ │ ├── foundation/ # Architecture rules, typed config, and contracts
69
+ │ │ ├── architecture/ # Executable dependency and size policies
70
+ │ │ ├── config/ # LLM/runtime/schema config and packaged profiles
71
+ │ │ └── contracts/ # Stable cross-domain values
72
+ │ ├── research/ # Research-domain decisions and persistent state
73
+ │ │ ├── control/ # Admission, ESTRA, execution-value, and resources
74
+ │ │ ├── quality/ # Assessment, Evaluator, Gate, and finalization
75
+ │ │ ├── solver/lnr/ # Long-horizon solver, split into five responsibilities
76
+ │ │ │ ├── lifecycle/ # Stage, workspace, records, and snapshots
77
+ │ │ │ ├── orchestration/ # Coordinator and worker execution
78
+ │ │ │ ├── resources/ # Resource feedback and physical runtime
79
+ │ │ │ ├── support/ # Context and prompt support
80
+ │ │ │ └── transitions/ # ESTRA, resume, and recovery
81
+ │ │ └── state/ # Dataset, knowledge, and workspace state
82
+ │ ├── runtime/ # Physical execution and operational boundaries
83
+ │ │ ├── core/ # Kernel, process, stage, and shared runtime support
84
+ │ │ ├── observability/ # Agent I/O, monitoring, correlation, and traces
85
+ │ │ ├── safety/ # Agent, shell, process, and resource safeguards
86
+ │ │ └── parallel/ # Task scheduling and subprocess execution
87
+ │ ├── interfaces/ # User-facing adapters
88
+ │ │ ├── cli/ # Command composition
89
+ │ │ └── ui/ # Read-only monitor and trace presentation
90
+ │ └── cli.py # Stable `python -m scienceflow.cli` entry point
91
+ ├── tasks/ # Task packages and evaluators
92
+ ├── scripts/ # Five canonical manifests and two lifecycle launchers
93
+ ├── tools/ # Architecture, contract, and parity developer tools
94
+ ├── .scienceflow/skills/data_processing/ # Data-preparation skills
95
+ └── docs/ # Public docs, architecture, plans, benchmarks, and evidence
96
+ ```
97
+
98
+ The package root is intentionally limited to five ownership namespaces: `foundation`,
99
+ `agent`, `research`, `runtime`, and `interfaces`. Foundation defines stable contracts and
100
+ configuration; research owns policy and recoverable state; runtime owns physical effects,
101
+ safety, and observation; agent and interfaces adapt external interaction. InquiryCraft
102
+ remains behind typed ports in `scienceflow/agent`, so ScienceFlow policy does not leak into
103
+ the generic agent runtime. The default fan-out limit at every depth is five immediate
104
+ subdirectories and five direct business modules (`__init__.py` excluded). A small number of
105
+ cohesive product surfaces have explicit path-specific ceilings; increases require review in
106
+ `tests/test_leaf_package_structure_v5_2.py` rather than changing the global default.
107
+
108
+ ## Install and run
109
+
110
+ **Requirements:** Python 3.11+ and [uv](https://docs.astral.sh/uv/).
111
+
112
+ InquiryCraft `0.9.0` is published on the public package index and pinned by the ScienceFlow
113
+ lock file. Create the source environment directly from the reviewed dependency set:
114
+
115
+ ```bash
116
+ cd ScienceFlow
117
+ uv sync --python 3.12 --group dev
118
+ source .venv/bin/activate
119
+ ```
120
+
121
+ The Light runtime without test dependencies uses `uv sync`. The Full profile is
122
+ `uv sync --extra full --group dev`.
123
+
124
+ Create the private model registry once, edit it, and start the TUI:
125
+
126
+ ```bash
127
+ scienceflow config init
128
+ scienceflow config path
129
+ scienceflow tui --workspace /path/to/workspace
130
+ ```
131
+
132
+ The default registry is `~/.config/scienceflow/models.json` with mode `600`. Use
133
+ `--model-config PATH` to test another registry. API keys stay in the registry and are not copied
134
+ into manifests, sessions, or reports. See [model configuration](docs/public/LLM_CONFIGURATION.md).
135
+
136
+ Activation is per shell. To expose this checkout without activation, ensure `~/.local/bin` is on
137
+ `PATH` and create a user-level link:
138
+
139
+ ```bash
140
+ mkdir -p ~/.local/bin
141
+ ln -sfn "$PWD/.venv/bin/scienceflow" ~/.local/bin/scienceflow
142
+ scienceflow tui --workspace /path/to/workspace
143
+ ```
144
+
145
+ ScienceFlow embeds InquiryCraft as its sole generic Agent Runtime; no second process is required.
146
+ Useful entry points are:
147
+
148
+ ```bash
149
+ scienceflow agent tools list
150
+ scienceflow repl
151
+ scienceflow parallel -m scripts/lnr.yaml -j 1
152
+ scienceflow monitor --manifest scripts/lnr.yaml --refresh 5
153
+ scienceflow web --workspace /path/to/workspace
154
+ ```
155
+
156
+ After the preview package is published, install the exact pre-release version from PyPI.
157
+ Pinning the version prevents a test environment from changing when a later preview is released.
158
+ Container and Compose usage lives in [`deploy/README.md`](deploy/README.md).
159
+
160
+ ```bash
161
+ pip install scienceflow==0.2.0b3
162
+ pip install "scienceflow[full]"==0.2.0b3
163
+ ```
164
+
165
+ ## Configuration essentials
166
+
167
+ | Setting | Purpose |
168
+ |---|---|
169
+ | `lnr.num_workers` | Number of persistent research workers inside one task. |
170
+ | `task.cpu_list` / `task.gpu_list` | Task-level CPU and GPU resource boundaries; LNR further splits CPU across workers. |
171
+ | `lnr.omp_threads_cap` | CPU thread cap for each worker slice. |
172
+ | `lnr.wall_clock_budget_sec` | Total wall-clock budget for the LNR process. |
173
+ | `lnr.estra_enabled` / `estra_trigger_stage_count` | Enables ESTRA and sets the trigger for boundary review and context folding. |
174
+ | `lnr.resource_runtime_enabled` | Enables evidence-aware resource and execution control. |
175
+ | `resume_budget_policy` | Budget accounting for resumed runs; `fresh` adds this round's `time_limit` on top of accumulated time. |
176
+ | `evaluator.backend` | Selects `auto` (default), `task_package`, or `artifact_command`. |
177
+ | `evaluator.stage_source_mode` | Selects the `shadow`, `adjudicate`, or `primary` Stage source mode. |
178
+ | `evaluator.command.python_executable` | Points a task at an isolated Python environment. |
179
+ | `profile_overrides.<profile>` | Overrides prompts, Evaluator, and resource behavior per task type. |
180
+ | `tasks/**/task.yaml` | Declares the task-level artifact, metric, provider/profile, Evaluator, and Gate policy. |
181
+ | `metric.authoritative: true` | Marks a metric as authoritative evidence eligible for high-trust selection. |
182
+
183
+ ## Documentation
184
+
185
+ [Documentation index](docs/README.md) · [Architecture overview](docs/public/scienceflow/index.html) · [Recoverable states and LNR](docs/public/scienceflow/module-lnr.html) · [Evidence-aware execution control](docs/public/scienceflow/module-resource.html) · [Adding optimization tasks](docs/public/scienceflow/module-opt-solver-onboarding.html) · [Current plans](docs/plans/current/) · [SciModelingBench](tasks/sci_modeling_bench/README.md)
186
+
187
+ ## Paper task coverage
188
+
189
+ The paper evaluates the same ScienceFlow workflow across three classes of executable research tasks:
190
+
191
+ - **Machine learning engineering:** all 75 [MLE-bench](https://github.com/openai/mle-bench) tasks through the pipeline-construction interface.
192
+ - **Scientific modeling and design:** 12 [SciModelingBench tasks on Hugging Face](https://huggingface.co/datasets/sci-modeling-bench/design-bench) through the candidate-optimization interface.
193
+ - **Mathematical and engineering optimization:** [Circle Packing](https://github.com/algorithmicsuperintelligence/openevolve/tree/main/examples/circle_packing), [Ratio Minimization](https://github.com/algorithmicsuperintelligence/openevolve/tree/main/examples/alphaevolve_math_problems/minimizing_max_min_dist), [Uncertainty Inequality](https://github.com/algorithmicsuperintelligence/openevolve/tree/main/examples/alphaevolve_math_problems/uncertainty_ineq), and the easy, medium, and hard [SpOC4 KTTSP](https://www.esa.int/gsp/ACT/news/spoc-2026/) tracks through the candidate-optimization interface.
194
+
195
+ All task families share the Stage Gate and Evaluator contract. Each `task.yaml` keeps provider/profile, artifact schema, evaluator backend, authoritative status, and Gate policy outside the generic solver. MLE-bench tasks may leave metric direction open for the runtime to resolve from task, stage, and evaluation evidence.
196
+
197
+ ## TUI and managed research
198
+
199
+ `scienceflow tui` starts a new chat session by default; add `--resume` to restore the latest
200
+ session for the same workspace. Ordinary text uses InquiryCraft's Agent Runtime. The main
201
+ ScienceFlow commands are:
202
+
203
+ | Command | Purpose |
204
+ |---|---|
205
+ | `/models` | Select the chat model and show the registry path. |
206
+ | `/long-research DESCRIPTION` | Prepare a task, confirm resources and models, preflight, and launch it. |
207
+ | `/tasks`, `/status N` | List tasks or inspect one persistent task number. |
208
+ | `/stop N`, `/resume N`, `/attach N` | Control or attach to a research task. |
209
+ | `/research-usage N`, `/resources` | Show model usage/cost or host and running-task resources. |
210
+ | `/web`, `/web stop` | Start or stop the workspace Web monitor. |
211
+
212
+ Closing the TUI detaches from supervised research; it does not stop workers. Chat cancellation
213
+ also does not stop research—use `/stop`. Managed-run records live under
214
+ `~/.local/state/scienceflow/managed_runs/`, while chat sessions live under
215
+ `<workspace>/.scienceflow/sessions/`.
216
+
217
+ `/resources` keeps each `starting` or `running` task on one line. Stopping tasks are hidden, but
218
+ their reservations remain excluded from `Available` until the processes release them.
219
+
220
+ The CLI exposes the same lifecycle when a full-screen terminal is not wanted:
221
+
222
+ ```bash
223
+ scienceflow run circle-packing --tui --workspace /path/to/experiment
224
+ scienceflow status --all
225
+ scienceflow stop RUN_ID
226
+ scienceflow resume RUN_ID --tui
227
+ ```
228
+
229
+ Do not resume a workspace with a different task profile, dataset, prompt, or artifact contract.
230
+ MLE-bench additionally requires the data root, `exp_id`, and `submission.csv` contract to agree.
231
+ Model pricing is optional and lives only in `models.<alias>.pricing`; missing prices display
232
+ `Cost —` rather than silently using a built-in estimate.
233
+
234
+ The Web monitor shows task status, workers, metric history, Stage lineage, ESTRA/EEC, usage, and
235
+ final reports. See [Web monitor behavior](docs/web-monitor.md) for local and SSH access.
236
+
237
+ ## Verification
238
+
239
+ Run tests through the active development environment against the pinned, published
240
+ InquiryCraft `0.9.0` package:
241
+
242
+ ```bash
243
+ .venv/bin/pytest -q \
244
+ tests/test_inquirycraft_dependency_boundary.py \
245
+ tests/test_inquirycraft_cli_composition.py \
246
+ tests/test_long_research_interaction.py
247
+ ```
248
+
249
+ The release workflow accepts only a version-matching tag, builds and checks the wheel and
250
+ source distribution, installs the wheel in a clean runner, and reruns the public dependency
251
+ contracts before publishing through PyPI Trusted Publishing. The full regression command is
252
+ `uv run --locked pytest -q`. Optional ML, GPU, MLE-bench, and scientific-design tests require
253
+ their corresponding extras.