synth-ai 0.2.9.dev4__py3-none-any.whl → 0.2.9.dev7__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of synth-ai might be problematic. Click here for more details.

Files changed (157) hide show
  1. examples/common_old/backend.py +0 -1
  2. examples/crafter_debug_render.py +15 -6
  3. examples/evals_old/compare_models.py +1 -0
  4. examples/finetuning_old/_backup_synth_qwen/filter_traces_achievements.py +6 -2
  5. examples/finetuning_old/_backup_synth_qwen/react_agent_lm.py +4 -4
  6. examples/finetuning_old/_backup_synth_qwen/sft_kickoff.py +4 -3
  7. examples/finetuning_old/synth_qwen_v1/filter_traces_achievements.py +6 -2
  8. examples/finetuning_old/synth_qwen_v1/finetune.py +1 -1
  9. examples/finetuning_old/synth_qwen_v1/hello_ft_model.py +4 -4
  10. examples/finetuning_old/synth_qwen_v1/infer.py +1 -2
  11. examples/finetuning_old/synth_qwen_v1/poll.py +4 -2
  12. examples/finetuning_old/synth_qwen_v1/prepare_data.py +8 -8
  13. examples/finetuning_old/synth_qwen_v1/react_agent_lm.py +5 -4
  14. examples/finetuning_old/synth_qwen_v1/run_crafter_sft_job.py +11 -8
  15. examples/finetuning_old/synth_qwen_v1/run_ft_job.py +17 -12
  16. examples/finetuning_old/synth_qwen_v1/upload_data.py +1 -1
  17. examples/finetuning_old/synth_qwen_v1/util.py +7 -2
  18. examples/rl/configs/eval_base_qwen.toml +1 -1
  19. examples/rl/configs/rl_from_base_qwen17.toml +1 -1
  20. examples/rl/download_dataset.py +26 -10
  21. examples/rl/run_eval.py +17 -15
  22. examples/rl/run_rl_and_save.py +24 -7
  23. examples/rl/task_app/math_single_step.py +128 -11
  24. examples/rl/task_app/math_task_app.py +11 -3
  25. examples/rl_old/task_app.py +222 -53
  26. examples/warming_up_to_rl/analyze_trace_db.py +7 -5
  27. examples/warming_up_to_rl/export_trace_sft.py +141 -16
  28. examples/warming_up_to_rl/groq_test.py +11 -4
  29. examples/warming_up_to_rl/manage_secrets.py +15 -6
  30. examples/warming_up_to_rl/readme.md +9 -2
  31. examples/warming_up_to_rl/run_eval.py +108 -30
  32. examples/warming_up_to_rl/run_fft_and_save.py +128 -52
  33. examples/warming_up_to_rl/run_local_rollout.py +87 -36
  34. examples/warming_up_to_rl/run_local_rollout_modal.py +113 -25
  35. examples/warming_up_to_rl/run_local_rollout_parallel.py +80 -16
  36. examples/warming_up_to_rl/run_local_rollout_traced.py +125 -20
  37. examples/warming_up_to_rl/run_rl_and_save.py +31 -7
  38. examples/warming_up_to_rl/run_rollout_remote.py +37 -10
  39. examples/warming_up_to_rl/task_app/grpo_crafter.py +90 -27
  40. examples/warming_up_to_rl/task_app/grpo_crafter_task_app.py +9 -27
  41. examples/warming_up_to_rl/task_app/synth_envs_hosted/environment_routes.py +46 -108
  42. examples/warming_up_to_rl/task_app/synth_envs_hosted/envs/__init__.py +1 -1
  43. examples/warming_up_to_rl/task_app/synth_envs_hosted/envs/crafter/__init__.py +1 -1
  44. examples/warming_up_to_rl/task_app/synth_envs_hosted/envs/crafter/app.py +1 -1
  45. examples/warming_up_to_rl/task_app/synth_envs_hosted/envs/crafter/environment.py +50 -17
  46. examples/warming_up_to_rl/task_app/synth_envs_hosted/envs/crafter/policy.py +35 -21
  47. examples/warming_up_to_rl/task_app/synth_envs_hosted/envs/crafter/react_agent.py +8 -4
  48. examples/warming_up_to_rl/task_app/synth_envs_hosted/envs/crafter/shared.py +29 -26
  49. examples/warming_up_to_rl/task_app/synth_envs_hosted/envs/crafter/tools.py +1 -1
  50. examples/warming_up_to_rl/task_app/synth_envs_hosted/hosted_app.py +17 -13
  51. examples/warming_up_to_rl/task_app/synth_envs_hosted/inference/__init__.py +1 -1
  52. examples/warming_up_to_rl/task_app/synth_envs_hosted/inference/openai_client.py +106 -63
  53. examples/warming_up_to_rl/task_app/synth_envs_hosted/policy_routes.py +82 -84
  54. examples/warming_up_to_rl/task_app/synth_envs_hosted/rollout.py +76 -59
  55. examples/warming_up_to_rl/task_app/synth_envs_hosted/storage/__init__.py +1 -1
  56. examples/warming_up_to_rl/task_app/synth_envs_hosted/storage/volume.py +43 -49
  57. examples/warming_up_to_rl/task_app/synth_envs_hosted/test_service.py +5 -15
  58. synth_ai/__init__.py +1 -0
  59. synth_ai/api/train/builders.py +34 -10
  60. synth_ai/api/train/cli.py +172 -32
  61. synth_ai/api/train/config_finder.py +59 -4
  62. synth_ai/api/train/env_resolver.py +32 -14
  63. synth_ai/api/train/pollers.py +11 -3
  64. synth_ai/api/train/task_app.py +4 -1
  65. synth_ai/api/train/utils.py +20 -4
  66. synth_ai/cli/__init__.py +11 -4
  67. synth_ai/cli/balance.py +1 -1
  68. synth_ai/cli/demo.py +19 -5
  69. synth_ai/cli/rl_demo.py +75 -16
  70. synth_ai/cli/root.py +116 -37
  71. synth_ai/cli/task_apps.py +1286 -170
  72. synth_ai/cli/traces.py +1 -0
  73. synth_ai/cli/turso.py +73 -0
  74. synth_ai/core/experiment.py +0 -2
  75. synth_ai/demo_registry.py +67 -30
  76. synth_ai/demos/core/cli.py +493 -164
  77. synth_ai/demos/demo_task_apps/core.py +50 -6
  78. synth_ai/demos/demo_task_apps/crafter/configs/crafter_fft_4b.toml +2 -3
  79. synth_ai/demos/demo_task_apps/crafter/grpo_crafter_task_app.py +36 -28
  80. synth_ai/demos/demo_task_apps/math/_common.py +1 -2
  81. synth_ai/demos/demo_task_apps/math/deploy_modal.py +0 -2
  82. synth_ai/demos/demo_task_apps/math/modal_task_app.py +168 -65
  83. synth_ai/demos/demo_task_apps/math/task_app_entry.py +0 -1
  84. synth_ai/environments/examples/bandit/engine.py +12 -4
  85. synth_ai/environments/examples/bandit/taskset.py +4 -4
  86. synth_ai/environments/reproducibility/tree.py +3 -1
  87. synth_ai/environments/service/core_routes.py +6 -2
  88. synth_ai/evals/base.py +0 -2
  89. synth_ai/experimental/synth_oss.py +11 -12
  90. synth_ai/handshake.py +3 -1
  91. synth_ai/http_client.py +31 -7
  92. synth_ai/inference/__init__.py +0 -2
  93. synth_ai/inference/client.py +8 -4
  94. synth_ai/jobs/client.py +40 -10
  95. synth_ai/learning/client.py +33 -8
  96. synth_ai/learning/config.py +0 -2
  97. synth_ai/learning/constants.py +0 -2
  98. synth_ai/learning/ft_client.py +6 -3
  99. synth_ai/learning/health.py +9 -2
  100. synth_ai/learning/jobs.py +17 -5
  101. synth_ai/learning/prompts/hello_world_in_context_injection_ex.py +1 -3
  102. synth_ai/learning/prompts/random_search.py +4 -1
  103. synth_ai/learning/prompts/run_random_search_banking77.py +6 -1
  104. synth_ai/learning/rl_client.py +42 -14
  105. synth_ai/learning/sse.py +0 -2
  106. synth_ai/learning/validators.py +6 -2
  107. synth_ai/lm/caching/ephemeral.py +1 -3
  108. synth_ai/lm/core/exceptions.py +0 -2
  109. synth_ai/lm/core/main.py +13 -1
  110. synth_ai/lm/core/synth_models.py +0 -1
  111. synth_ai/lm/core/vendor_clients.py +4 -2
  112. synth_ai/lm/overrides.py +2 -2
  113. synth_ai/lm/vendors/core/anthropic_api.py +7 -7
  114. synth_ai/lm/vendors/core/openai_api.py +2 -0
  115. synth_ai/lm/vendors/openai_standard.py +3 -1
  116. synth_ai/lm/vendors/openai_standard_responses.py +6 -3
  117. synth_ai/lm/vendors/supported/custom_endpoint.py +1 -3
  118. synth_ai/lm/vendors/synth_client.py +37 -10
  119. synth_ai/rl/__init__.py +0 -1
  120. synth_ai/rl/contracts.py +0 -2
  121. synth_ai/rl/env_keys.py +6 -1
  122. synth_ai/task/__init__.py +1 -0
  123. synth_ai/task/apps/__init__.py +11 -11
  124. synth_ai/task/auth.py +29 -17
  125. synth_ai/task/client.py +3 -1
  126. synth_ai/task/contracts.py +1 -0
  127. synth_ai/task/datasets.py +3 -1
  128. synth_ai/task/errors.py +3 -2
  129. synth_ai/task/health.py +0 -2
  130. synth_ai/task/json.py +0 -1
  131. synth_ai/task/proxy.py +2 -5
  132. synth_ai/task/rubrics.py +9 -3
  133. synth_ai/task/server.py +31 -5
  134. synth_ai/task/tracing_utils.py +8 -3
  135. synth_ai/task/validators.py +0 -1
  136. synth_ai/task/vendors.py +0 -1
  137. synth_ai/tracing_v3/db_config.py +26 -1
  138. synth_ai/tracing_v3/decorators.py +1 -0
  139. synth_ai/tracing_v3/examples/basic_usage.py +3 -2
  140. synth_ai/tracing_v3/hooks.py +2 -0
  141. synth_ai/tracing_v3/replica_sync.py +1 -0
  142. synth_ai/tracing_v3/session_tracer.py +24 -3
  143. synth_ai/tracing_v3/storage/base.py +4 -1
  144. synth_ai/tracing_v3/storage/factory.py +0 -1
  145. synth_ai/tracing_v3/turso/manager.py +102 -38
  146. synth_ai/tracing_v3/turso/models.py +4 -1
  147. synth_ai/tracing_v3/utils.py +1 -0
  148. synth_ai/v0/tracing/upload.py +32 -135
  149. {synth_ai-0.2.9.dev4.dist-info → synth_ai-0.2.9.dev7.dist-info}/METADATA +1 -1
  150. {synth_ai-0.2.9.dev4.dist-info → synth_ai-0.2.9.dev7.dist-info}/RECORD +154 -156
  151. examples/warming_up_to_rl/task_app/synth_envs_hosted/test_stepwise_rewards.py +0 -58
  152. synth_ai/environments/examples/sokoban/units/astar_common.py +0 -95
  153. synth_ai/install_sqld.sh +0 -40
  154. {synth_ai-0.2.9.dev4.dist-info → synth_ai-0.2.9.dev7.dist-info}/WHEEL +0 -0
  155. {synth_ai-0.2.9.dev4.dist-info → synth_ai-0.2.9.dev7.dist-info}/entry_points.txt +0 -0
  156. {synth_ai-0.2.9.dev4.dist-info → synth_ai-0.2.9.dev7.dist-info}/licenses/LICENSE +0 -0
  157. {synth_ai-0.2.9.dev4.dist-info → synth_ai-0.2.9.dev7.dist-info}/top_level.txt +0 -0
@@ -1,63 +1,63 @@
1
1
  examples/analyze_semantic_words.sh,sha256=z-3qJBAlQuMrfRzoszofle_2b3Fy79rymvEAcoBQGXU,652
2
- examples/crafter_debug_render.py,sha256=6Zak0RQZPXYy88v5dcon-XEdt01_NI027o1v2Fx4nhk,6178
2
+ examples/crafter_debug_render.py,sha256=0nd1XLwRzyFTkczE063cB8_DiI-2YgSQvxsJ5Pww6TA,6285
3
3
  examples/run_crafter_demo.sh,sha256=7FNvooSgq-ezccGy5j_h_uRXObiQtcnybPcTwaVGDpo,392
4
- examples/common_old/backend.py,sha256=ygPtZREi9W2JQI7xI0J1jz3VaWBgILTfgpgFLVGMEPY,538
4
+ examples/common_old/backend.py,sha256=M6h-ZqhWDG6M7SDo9HjBbB3OTWY1Whd1n-9Bl8xe9i0,537
5
5
  examples/evals_old/README.md,sha256=Te1TsgcOyDBf-ICdHkA12XBd4ClQXGFj8uytbggto1s,3503
6
6
  examples/evals_old/__init__.py,sha256=6E7OuWJsBiG7USgsR5uFGeU1JYZ6TFreUFMwgBxrJ6A,189
7
- examples/evals_old/compare_models.py,sha256=bCqtIKkR06u5pJHY65496ImokYlIEOMrtWFT_T_b3dM,43883
7
+ examples/evals_old/compare_models.py,sha256=nqXNYxKPvycw7x3wOdLQPNwxJzpjjkdZ1pb3-5CC2k4,43884
8
8
  examples/evals_old/example_log.md,sha256=DgdmUkU0N_g2WhobwCqkpw1Itjq8E7wS2CCcLsLSLJw,9470
9
9
  examples/evals_old/run_demo.sh,sha256=UwygYAn-LDdq-XSjygrDSs30UykQX5EO9Q5atqspc0Q,4625
10
10
  examples/evals_old/trace_analysis.py,sha256=uIImBarDqo81zJOcFxjCusZg9YHsARs09q0Y5l6-iXs,10686
11
11
  examples/finetuning_old/_backup_synth_qwen/config.toml,sha256=7bs3-AS23Cu9nbTYYurlk1fMJPF5LuYPD1Vumyt3XK4,734
12
12
  examples/finetuning_old/_backup_synth_qwen/example_log.md,sha256=1CG-1dZsIzdWDVLrTYBO3vld_b8o9sqG_-rDEpTcA_I,12246
13
13
  examples/finetuning_old/_backup_synth_qwen/filter_traces.py,sha256=aFGy0-KoPQyIbk4cJBh4wnqzuqgCEVsrFbEor454ktY,2045
14
- examples/finetuning_old/_backup_synth_qwen/filter_traces_achievements.py,sha256=bploSuwCeLelHytJcVoDKkRyldvrFfZMpTVfWrwEzcg,9359
14
+ examples/finetuning_old/_backup_synth_qwen/filter_traces_achievements.py,sha256=kCAqlBAWhLDPtvat7Wt87OzcfAMYqTJr4uiXlbZRpDI,9407
15
15
  examples/finetuning_old/_backup_synth_qwen/purge_v3_traces.py,sha256=qGHwWA0DKBCNs8rB39NHwpTFe8izNNYQjtyHVrzWYTk,3406
16
- examples/finetuning_old/_backup_synth_qwen/react_agent_lm.py,sha256=sYTauRlPdsZeA17YNffjdWyHUZeojRUFHgQ4bu27TvQ,80387
16
+ examples/finetuning_old/_backup_synth_qwen/react_agent_lm.py,sha256=H8JtSx7OtfcVK0WDQv0GDRS7Uhy-c5MNmVtZkUUiE64,80358
17
17
  examples/finetuning_old/_backup_synth_qwen/readme.md,sha256=2M7m1VqHNCEDOPmEWC0NsyXMFn0rB3bjMX4uNA5GOp0,1763
18
18
  examples/finetuning_old/_backup_synth_qwen/run_crafter_qwen4b.py,sha256=gUrjpMtLRJCuM4UMY9k-8gKqDoY4nyK4aY5G4rC9exw,4353
19
19
  examples/finetuning_old/_backup_synth_qwen/run_demo.sh,sha256=bN3TdD2Bowdu2yFrcKkN1rDqeSjivSNS63fO5tAjB6o,7239
20
- examples/finetuning_old/_backup_synth_qwen/sft_kickoff.py,sha256=oFyK6LQDQ5SbsTJXJUzyUTPklWOZwdw_VyO3SR7IXSw,4223
20
+ examples/finetuning_old/_backup_synth_qwen/sft_kickoff.py,sha256=CpuYo38TBIeZISdTnVhIjaPziIzWXnlkEQe-cFTFvXM,4234
21
21
  examples/finetuning_old/synth_qwen_v1/README.md,sha256=ZWYfjax9iyrljAwUqiZwNHqtJAajz1G75rSiBNTveHo,4322
22
22
  examples/finetuning_old/synth_qwen_v1/filter_traces.py,sha256=aFGy0-KoPQyIbk4cJBh4wnqzuqgCEVsrFbEor454ktY,2045
23
- examples/finetuning_old/synth_qwen_v1/filter_traces_achievements.py,sha256=bploSuwCeLelHytJcVoDKkRyldvrFfZMpTVfWrwEzcg,9359
24
- examples/finetuning_old/synth_qwen_v1/finetune.py,sha256=6dLJjR3T-QOCgyOwz9jiucKuCz-So_eN88Z8ZwChJiU,1204
25
- examples/finetuning_old/synth_qwen_v1/hello_ft_model.py,sha256=G4JLMmqGYBsV2rEfguOU-ZZlryE2bVO7vGxoxFBi3Jg,2286
26
- examples/finetuning_old/synth_qwen_v1/infer.py,sha256=q9ykYhlP7Rrtb8RSK0qn6y8Tm63hax6rBpsFwtTMocY,918
27
- examples/finetuning_old/synth_qwen_v1/poll.py,sha256=AJx2StdxkZBLnZPNupBSoIc4BHCifEmybPt5pb57QqA,1228
28
- examples/finetuning_old/synth_qwen_v1/prepare_data.py,sha256=1UMP23z-TkJOGYCEEJqC9980_k2l7x5cpPSpEUWykx0,832
23
+ examples/finetuning_old/synth_qwen_v1/filter_traces_achievements.py,sha256=kCAqlBAWhLDPtvat7Wt87OzcfAMYqTJr4uiXlbZRpDI,9407
24
+ examples/finetuning_old/synth_qwen_v1/finetune.py,sha256=O6sp7CsmZ33owwaFNZ87JKh7sdhQS7VwSvUXG8GYe6Q,1204
25
+ examples/finetuning_old/synth_qwen_v1/hello_ft_model.py,sha256=vU6wsX3MFKWt_TPPoVBe7rV7HpWfwWzlK54Zpn-sUcA,2286
26
+ examples/finetuning_old/synth_qwen_v1/infer.py,sha256=ghXZdj_VUhbGs49UVHbm5atPH7NSjPLBH36eM3l9KxU,917
27
+ examples/finetuning_old/synth_qwen_v1/poll.py,sha256=oeCO37KApVYKApkm8gYb9DbTjXajeB1OJugclZ89lFs,1242
28
+ examples/finetuning_old/synth_qwen_v1/prepare_data.py,sha256=-LMr7UXW9-iYOaxF-sbII0NQofiCGhPeuINJ-edqSCc,872
29
29
  examples/finetuning_old/synth_qwen_v1/purge_v3_traces.py,sha256=qGHwWA0DKBCNs8rB39NHwpTFe8izNNYQjtyHVrzWYTk,3406
30
- examples/finetuning_old/synth_qwen_v1/react_agent_lm.py,sha256=NYjf5Vqyi2Ri_oC6etDYmCE4Am9kK4aF3d1wqDut6j8,80577
31
- examples/finetuning_old/synth_qwen_v1/run_crafter_sft_job.py,sha256=-bpXjFPp00JCEE5T7TCeRARZjQzCTmcpd0nH4y-sDho,7878
32
- examples/finetuning_old/synth_qwen_v1/run_ft_job.py,sha256=-OOt2dJNw5dwYq5lF7XXZkuY5Qsj1Qnl5dKulZvDoSA,8561
33
- examples/finetuning_old/synth_qwen_v1/upload_data.py,sha256=bYEFbsaKGt6nZ6kQKNnx7AklFmE3Hxp9d6r6xsh8PeE,882
34
- examples/finetuning_old/synth_qwen_v1/util.py,sha256=v_4c2JQNRG7oIHIKOkXLZXg42CMqs4-yav2MuId7MpY,5801
30
+ examples/finetuning_old/synth_qwen_v1/react_agent_lm.py,sha256=CJslX3BvWYnUNYDxsN7JtdzdrV2dIJqASZAtXExqDIQ,80549
31
+ examples/finetuning_old/synth_qwen_v1/run_crafter_sft_job.py,sha256=D5z8BEM0AbJY93eSY6sPHzexwRjKuquW9BCJbLhEZF4,7938
32
+ examples/finetuning_old/synth_qwen_v1/run_ft_job.py,sha256=hVScifmEAz2bqVmTH4CvkhFEDnI949Jd3fJZ7VFX69g,8636
33
+ examples/finetuning_old/synth_qwen_v1/upload_data.py,sha256=99WErXR8gvJdF5AjykWS2KAVevmv4FKeMbrcEx0k3o8,882
34
+ examples/finetuning_old/synth_qwen_v1/util.py,sha256=axP657jrAjsgwLQ-36-HimC0Xy2VliF0C0iJroHbBaE,5862
35
35
  examples/rl/README.md,sha256=qzv-URBhEr3r4ipEyh-mP9CiCIz_KbckZWlfXdWbafA,6560
36
- examples/rl/download_dataset.py,sha256=XZwRbASLN4rjvfwqvet-sdhOojcEjCAvXWFNOSUZhWc,2515
37
- examples/rl/run_eval.py,sha256=TlUlTHJ9dNOxZuyTF4A6F6JpSghvQ6rqC3yk4271BKw,14973
38
- examples/rl/run_rl_and_save.py,sha256=Pe-zQzLrdO6CbRTt3vMslRlACMmLXQSUTr5Ow_DVh6k,3160
39
- examples/rl/configs/eval_base_qwen.toml,sha256=EntLk6oScfan4-CiK0MeqO9vu-ZFBTo97tjlNSQOhd8,323
36
+ examples/rl/download_dataset.py,sha256=UWEwa1Qn_xyODFyMEV6ZhEXSUfDK-dVV_OSHSS3MjJY,2650
37
+ examples/rl/run_eval.py,sha256=gt6CZrJu0mAtQYZM1gHK0RTk0qgHXwl7gMo70Qa-y1Y,14978
38
+ examples/rl/run_rl_and_save.py,sha256=ycjgs7OSC2mTL6K020W2cnnBLvI7gUUohHnkH5t1yCM,3320
39
+ examples/rl/configs/eval_base_qwen.toml,sha256=qst95ZUerBx_kS2mqBwsg9QEDEGFhNw12Ibpd9IJOI0,337
40
40
  examples/rl/configs/eval_rl_qwen.toml,sha256=o07ZvAxjj_ejj3zbjESmtpIOh6QqkwpTD2ZUL9Lzx5A,247
41
41
  examples/rl/configs/rl_from_base_qwen.toml,sha256=KDDtpvVikHZCcyUKYtgWq9XAfAEY5vRADPpcxpkdVsg,605
42
- examples/rl/configs/rl_from_base_qwen17.toml,sha256=CLfuzZaTvpqezPrpOy03ZKvR6D3tZ0vExOsyvdn4ETo,1346
42
+ examples/rl/configs/rl_from_base_qwen17.toml,sha256=8kAQ9GL0rVDECKPYaN8MWuDbLldwr76c2d8nyHwr784,1360
43
43
  examples/rl/configs/rl_from_ft_qwen.toml,sha256=7s5HK_YM7zVnvjJavvfai8Nc_eUx_70cgHeWN19vXXM,638
44
44
  examples/rl/task_app/README.md,sha256=oHfcMF9V_CPLnGbrarTRRIQpQ1wqV1zL74KWUZtcKwI,802
45
- examples/rl/task_app/math_single_step.py,sha256=DIucCB5MC_1doIxfJxH6qXVsSijqh78cz-vQaKjFDEk,30379
46
- examples/rl/task_app/math_task_app.py,sha256=e8inAZsLJxcAMtjwDVzvgb9-x9DYds4OKugthtm_riw,4180
47
- examples/rl_old/task_app.py,sha256=ctVxuMKPaEKuf46fmSi2tb2bXe55bvhpxA5xTAYxwh4,47078
48
- examples/warming_up_to_rl/analyze_trace_db.py,sha256=ywtQj-p2vsGQ8ikr4zXQY18YDKsbEnCRcz1MkJZot68,14424
49
- examples/warming_up_to_rl/export_trace_sft.py,sha256=dreS63IyvpEjm2wVOGfPKIsE67bX0sui4WVS8aq46yA,20278
50
- examples/warming_up_to_rl/groq_test.py,sha256=McqwDlKc2YZXmJQ9sI27dpdUl5wqn8xEDNi7V58ltl4,3089
51
- examples/warming_up_to_rl/manage_secrets.py,sha256=ySZ6V_AXOWpFzjVSpxA-TaBWkhpWeIiC5jM6K3FOrmQ,4372
52
- examples/warming_up_to_rl/readme.md,sha256=viacw40ZG-u-duqBd2RN5mG63__h2x1w37DPnKqpYV8,6169
53
- examples/warming_up_to_rl/run_eval.py,sha256=llgsyx7E8pi7egn0qcDONzldDXShP6_Ntp-qTjQuNQQ,19078
54
- examples/warming_up_to_rl/run_fft_and_save.py,sha256=DPeFnGJ2U2lB0azJ9CcN1c5pn0lSOfb6qYgtSGi0cEw,13426
55
- examples/warming_up_to_rl/run_local_rollout.py,sha256=V6uMFZkfnh6ndndNq-rPnTkzWr3gNVWLVNmQlWb6Oik,8164
56
- examples/warming_up_to_rl/run_local_rollout_modal.py,sha256=XxKZv_zE9zWFrt99N1tP6X8TfB883pKWsvDUUsHW1oc,6798
57
- examples/warming_up_to_rl/run_local_rollout_parallel.py,sha256=_p11RDzH6DVVzanML9VKQahDxuKRH5PwwGsBgzo7DSE,12951
58
- examples/warming_up_to_rl/run_local_rollout_traced.py,sha256=_UL46Rdj_oo8gEnyBfPfVkvCj7VoU99eahn3_i_-pMI,13656
59
- examples/warming_up_to_rl/run_rl_and_save.py,sha256=dpFr42Vk03jTlDPyOUcDbu8zGJwGsMW4PKKPuBciAJs,3649
60
- examples/warming_up_to_rl/run_rollout_remote.py,sha256=iIW5FI5cFDcnt80Tjh-uqL_O4uVoIqdnqfIjjLjFGZg,4769
45
+ examples/rl/task_app/math_single_step.py,sha256=eYLVVvxCdBIxb_9qzM7eP6cW485Ug1_q9ZJzEoG0xGo,33579
46
+ examples/rl/task_app/math_task_app.py,sha256=ohcYZzU9cDIP-lwRlUqnaDg_ik4x6ZYILoGqyV6dwCw,4296
47
+ examples/rl_old/task_app.py,sha256=D6sEHh8ZaemRBVxVRzZq1ge93SvgFPUYXMDsfd9fVjw,51140
48
+ examples/warming_up_to_rl/analyze_trace_db.py,sha256=2ILTD7iJY3O_GwV318Vae53IciAu0oIiL_0Ws4rKbqs,14448
49
+ examples/warming_up_to_rl/export_trace_sft.py,sha256=j-9hlMOYur26XAdLUff9sZj-1byYDx81HgI7XMZmJrw,23102
50
+ examples/warming_up_to_rl/groq_test.py,sha256=AIVkFzAuldSr8tZN5-EkwnktP7V7DhSrtit12zdmle8,3155
51
+ examples/warming_up_to_rl/manage_secrets.py,sha256=U35rznIcqeqYg-koL7iwlJztxv83HxK4hGpR2S8k3qg,4431
52
+ examples/warming_up_to_rl/readme.md,sha256=u2KX7grlDnOMRRrC3vzTej1K0OOmTdx5LHs2opTfLt4,6431
53
+ examples/warming_up_to_rl/run_eval.py,sha256=YMbhojWQEEpgS1XwzqkkLlSb1BBSSNlexWw3z0b9Wlw,20016
54
+ examples/warming_up_to_rl/run_fft_and_save.py,sha256=5jnRDsiMNw7CJEnX3sP5PWjzZA-qkEUw4RvwX0tkA1Y,15175
55
+ examples/warming_up_to_rl/run_local_rollout.py,sha256=j9dT5bfUY9U_hoYJJ0Ghda_GfQzFTA_1lHll_4qscMs,8785
56
+ examples/warming_up_to_rl/run_local_rollout_modal.py,sha256=3651i4L3QpuQQKUF3yxES9lBoQoz1C4OiCdpJJdWtwI,8951
57
+ examples/warming_up_to_rl/run_local_rollout_parallel.py,sha256=KvPTt7Blev0u_t7xNO0FhPIeZg5lWdogyXiwma33jqs,14422
58
+ examples/warming_up_to_rl/run_local_rollout_traced.py,sha256=mjgke7YxregBvFPIMoTsytBjFdXULK9r4Q8h4pkp62k,16842
59
+ examples/warming_up_to_rl/run_rl_and_save.py,sha256=0fwPLgZRZkVgIyRrrBgEHsIyi1PouL_sNlBZwk2SJ1U,3904
60
+ examples/warming_up_to_rl/run_rollout_remote.py,sha256=i_BUNwCnMvg5MiTlta2FCzqwuHyGh34vgQzbxUS3lYQ,5127
61
61
  examples/warming_up_to_rl/configs/crafter_fft.toml,sha256=Hbp2tVhaGxRAip1vwhID73rCIO6bi_yI-gUen-oylcA,1137
62
62
  examples/warming_up_to_rl/configs/crafter_fft_4b.toml,sha256=q_cnU3P-eGG_VFOepw9IA1U-m7L-uJH37EUFR3mNWBI,1358
63
63
  examples/warming_up_to_rl/configs/eval_fft_qwen4b.toml,sha256=YP4HLWDh6iIvw6McPXw5kK1RUFQF4dvKP4yH5bHT5nI,678
@@ -68,81 +68,80 @@ examples/warming_up_to_rl/configs/rl_from_ft.toml,sha256=d1cIoLeC80NgOjn0Wohk0a5
68
68
  examples/warming_up_to_rl/old/event_rewards.md,sha256=gHJd3ZeYOnj4xPXt-7sSJamgOaJQ-BpfdaF-CKJK3-0,13450
69
69
  examples/warming_up_to_rl/old/notes.md,sha256=Y9Zs_tUb2Y6kv0MmGe-kAvGM9zCtEDY3Ccf5j7PoFGU,4468
70
70
  examples/warming_up_to_rl/task_app/README.md,sha256=kqDPpv7f0Oh0CoH4qSXqZoKXNIh8guNpxHrELW0z6RY,1346
71
- examples/warming_up_to_rl/task_app/grpo_crafter.py,sha256=Cx_uNlo1hXpN5VO72O5MdBSz0Z8CZNfhlhbm868lTmg,15898
72
- examples/warming_up_to_rl/task_app/grpo_crafter_task_app.py,sha256=lMfIcWpJdXMdQyozLAaCeK9dx2D1LPNSav2I2zG7Z9I,6046
71
+ examples/warming_up_to_rl/task_app/grpo_crafter.py,sha256=SHaurRkBJ3y10bp3Xey7jJioBYDR0FKHlzv5KqmzeWU,18069
72
+ examples/warming_up_to_rl/task_app/grpo_crafter_task_app.py,sha256=yRA62JqT4EjoMR1d3vZCGSVHIecDQ_0oJDgU_xf0n2w,5418
73
73
  examples/warming_up_to_rl/task_app/synth_envs_hosted/README.md,sha256=kJaN1do8V4XM2_g51WMI3edCDpv5zEw_nrMFtEwO1SQ,4614
74
74
  examples/warming_up_to_rl/task_app/synth_envs_hosted/__init__.py,sha256=_zdnpK5Dl26o0-CTcljBBRfdwTy4o60aOLhex59VE6U,120
75
75
  examples/warming_up_to_rl/task_app/synth_envs_hosted/branching.py,sha256=SlCgKMg8_quH8bIJSMKlkommz36XvngVvgzrjRR1SBs,5393
76
- examples/warming_up_to_rl/task_app/synth_envs_hosted/environment_routes.py,sha256=W8MWFhRor65u0lp6FhOXJjc-j5W5ooEwWwF2UnCg1KE,50069
77
- examples/warming_up_to_rl/task_app/synth_envs_hosted/hosted_app.py,sha256=QMQHxi6glj9cnTJc6F8H7ivv2x8Mer5WQrR5Vs-xv94,7776
76
+ examples/warming_up_to_rl/task_app/synth_envs_hosted/environment_routes.py,sha256=mEF4JfEi1HiXuA_UwfXQPJhJDVYkdaNFMXgDVpsn810,48941
77
+ examples/warming_up_to_rl/task_app/synth_envs_hosted/hosted_app.py,sha256=OoVu2ryYW9VSyiLDx1sx_SqinIjY7FzmiQ-bh0dss3Y,7733
78
78
  examples/warming_up_to_rl/task_app/synth_envs_hosted/main.py,sha256=0g7OZl6CnrddETD1DOAQZxz_P1fZR0F7kuCeZb4BRHg,2510
79
- examples/warming_up_to_rl/task_app/synth_envs_hosted/policy_routes.py,sha256=qP3E9XAhHihKyz1l44FD4Zb5zoZt8v6m5HNhOLe4fxk,43685
79
+ examples/warming_up_to_rl/task_app/synth_envs_hosted/policy_routes.py,sha256=zpjLltPcQ760K2ayN9uyouB7sTL0flLOtsNqA_Q0KaA,43971
80
80
  examples/warming_up_to_rl/task_app/synth_envs_hosted/registry.py,sha256=pMVwiutZe5DcPXdNmIhRJGwxIz3Xn3FtdkKKqrOEdOM,5613
81
- examples/warming_up_to_rl/task_app/synth_envs_hosted/rollout.py,sha256=506KV0x0oOajTuNVVWLUxeIXG2YaZjWwfgbVg2EorcA,71477
81
+ examples/warming_up_to_rl/task_app/synth_envs_hosted/rollout.py,sha256=T8C4V0hnyBWsknz98tWXO8UWMim_Xynz2V7a9jKfQs8,71603
82
82
  examples/warming_up_to_rl/task_app/synth_envs_hosted/test_agents.py,sha256=PRkQlVKGfn2-w4EOTTHc8T-tqFW6m21mS7BII6TUUd4,5599
83
- examples/warming_up_to_rl/task_app/synth_envs_hosted/test_service.py,sha256=PAYPP0tWU0cQUUxJuAYbDwvWeGjAcPFRHsW2vG3vOpg,5228
84
- examples/warming_up_to_rl/task_app/synth_envs_hosted/test_stepwise_rewards.py,sha256=OfzZ18_bykLll6-4-2-OZI4a2wFx68hnTxufZeFE5t4,1836
83
+ examples/warming_up_to_rl/task_app/synth_envs_hosted/test_service.py,sha256=w34-YKEIEM8M_ySrMOBMxutbpjULXWtWBJ9s3B1AwDI,5110
85
84
  examples/warming_up_to_rl/task_app/synth_envs_hosted/utils.py,sha256=Qcxfa_WASxbUCbAKejiZB6QIl8eJeeIrFPt5GU-Zb6E,2013
86
- examples/warming_up_to_rl/task_app/synth_envs_hosted/envs/__init__.py,sha256=5e-BmaXi_5EGcqF2hEGsnbtkHsNvPNMTX9wJ3yiz3XQ,34
87
- examples/warming_up_to_rl/task_app/synth_envs_hosted/envs/crafter/__init__.py,sha256=nTmSVzOfRUnjxEN1-IHjxuvPHij-AdRu_NZoH6Ozv2M,197
88
- examples/warming_up_to_rl/task_app/synth_envs_hosted/envs/crafter/app.py,sha256=MnaRrqkxxeOaHLD-ulH5P1BauDs3tWKdxM0n85jfp6g,19
89
- examples/warming_up_to_rl/task_app/synth_envs_hosted/envs/crafter/environment.py,sha256=9OzSAPO5HMhMLQ2cfJMs6TO8-r4uGSw_JQgztu1MXGM,20112
90
- examples/warming_up_to_rl/task_app/synth_envs_hosted/envs/crafter/policy.py,sha256=Bf7ypw2VqPUtiIycAP_irglYtf7sGvAWIvvIZsok-qI,19373
91
- examples/warming_up_to_rl/task_app/synth_envs_hosted/envs/crafter/react_agent.py,sha256=dHASD8zbinK32mE4dEMQqmQpGjaomFbJQ_yIw8vYOrY,6157
92
- examples/warming_up_to_rl/task_app/synth_envs_hosted/envs/crafter/shared.py,sha256=2ampoR9RVrh7T05nq-z4hg2KnSGVBo5A1ESYMae780s,10180
93
- examples/warming_up_to_rl/task_app/synth_envs_hosted/envs/crafter/tools.py,sha256=-jVxok4pkDm3t9VwuUivm0y4xmYBq16wqOrSpAHoT6Q,1787
94
- examples/warming_up_to_rl/task_app/synth_envs_hosted/inference/__init__.py,sha256=6O23CobxVe8fkuGmWDPhg4Kzf1Q6pmtQZIad8DHubjI,178
95
- examples/warming_up_to_rl/task_app/synth_envs_hosted/inference/openai_client.py,sha256=3lIubZOcCslZTu1dK8qt76yB68l9RAx9WFKy6_9BaVk,23807
96
- examples/warming_up_to_rl/task_app/synth_envs_hosted/storage/__init__.py,sha256=55vZdcz3qI1wt4qfNyC1LSFTPm6wKM7oF5iyNnR6Lvg,133
97
- examples/warming_up_to_rl/task_app/synth_envs_hosted/storage/volume.py,sha256=dxAHrHnOa-_pnbHrtLYdD1EwYX8la8LwR5B6kOmt_n8,6953
98
- synth_ai/__init__.py,sha256=NixuXddy4lS2Wmj0F8eMt0HS_oYCTnq3iVVq5VYwWIc,1341
85
+ examples/warming_up_to_rl/task_app/synth_envs_hosted/envs/__init__.py,sha256=iE5VGcjkKd0eq6nNqqCRRwte52qE6HxtsanEk-PRvh4,35
86
+ examples/warming_up_to_rl/task_app/synth_envs_hosted/envs/crafter/__init__.py,sha256=zdyawD61sYQa4QSJZ2CcZa4-M-2q1qHkc9XEZn3RsD4,198
87
+ examples/warming_up_to_rl/task_app/synth_envs_hosted/envs/crafter/app.py,sha256=QZ9kT8Q21NivxQJ_PzWN1roQUDMZDvWLJMxb-VSSG3k,19
88
+ examples/warming_up_to_rl/task_app/synth_envs_hosted/envs/crafter/environment.py,sha256=4TAJesv4jKFkC3UltIPfDsRihNKnV080zeUpksZLqL8,20814
89
+ examples/warming_up_to_rl/task_app/synth_envs_hosted/envs/crafter/policy.py,sha256=YQQZHUxNPjhZzPj6ePbcrHDm5blKf821Tzn5BE1ZrGU,19426
90
+ examples/warming_up_to_rl/task_app/synth_envs_hosted/envs/crafter/react_agent.py,sha256=k65Xei8mgcwvpgOT84IwMKOXjtqojKtGPM4-pBF4GvY,6190
91
+ examples/warming_up_to_rl/task_app/synth_envs_hosted/envs/crafter/shared.py,sha256=SnGuhMfpU44OTVxq5piuE7RTQ-bvbG0Q8P73YN0adIU,10094
92
+ examples/warming_up_to_rl/task_app/synth_envs_hosted/envs/crafter/tools.py,sha256=zmTxJ8IpTod7DRDCQhkLDw7KgFCeAVFbf4cQpuOgSgI,1788
93
+ examples/warming_up_to_rl/task_app/synth_envs_hosted/inference/__init__.py,sha256=TA47fqudhRMma0iANDvMotfC0U5YqJJQudeZFRGiPX4,179
94
+ examples/warming_up_to_rl/task_app/synth_envs_hosted/inference/openai_client.py,sha256=Bv4KDK71-ezqTP9uc3T6_V5mRs5txVARfvoLoSNbn74,25204
95
+ examples/warming_up_to_rl/task_app/synth_envs_hosted/storage/__init__.py,sha256=1nwfPuiIFXPjj6JnxoudYq6GE4tpg5tiPL0uIpGsIUc,134
96
+ examples/warming_up_to_rl/task_app/synth_envs_hosted/storage/volume.py,sha256=s-qKmrIMCk_iNC-W70sPJMeaU5hsGnYqlBuGqW0UfQ8,6554
97
+ synth_ai/__init__.py,sha256=pRBmoVw5oPO-vKrvHh9ioLk_RsbJTYxhpmkC95GMKfo,1342
99
98
  synth_ai/__main__.py,sha256=Kh1xBKkTE5Vs2qNMtDuuOXerHUptMcOiF3YziOpC6DA,146
100
- synth_ai/demo_registry.py,sha256=pH-Pyrocp2vNBcw7J80Nu_525nBtI5G_dC4d4mQDYl8,8531
101
- synth_ai/handshake.py,sha256=uzoTOpkf9JQgsyKWrlx8gjfQmK3HpqFQAZY1gZDtiIo,3735
99
+ synth_ai/demo_registry.py,sha256=gT0-mfFXY6hZVLs2mWSMS8423OFoFMpHK1NwVtk7GTQ,9940
100
+ synth_ai/handshake.py,sha256=Zw_RwYWwvXof1YiE04hQPQzceNEAaskVvGsyF8wDcGc,3741
102
101
  synth_ai/http.py,sha256=lqjFXDmAP_xgfywK_rDSOVxuMy4rDH9S3Rtu9k1tLmk,1028
103
- synth_ai/http_client.py,sha256=_9J8rUGoItUMnJLGZw7r0uXiJeLWR939kByRkvtP1XM,4429
104
- synth_ai/install_sqld.sh,sha256=AMBhlfq661PxeTTc6D4K_Nei_qwMvA84ei4NhQzmUUk,928
102
+ synth_ai/http_client.py,sha256=EsUuSICt3sXuBhPxqP5rPbuFMl8F3z71tLm6cEEESic,4693
105
103
  synth_ai/api/train/__init__.py,sha256=aBwlmrj1HWVwDcvUrX4TqpS0BgvkE7Pv7npoIZmtTFU,118
106
- synth_ai/api/train/builders.py,sha256=Fe684cGh-CQGPXydESCOjTkQpxbTJb47rVYKT8uONTs,6045
107
- synth_ai/api/train/cli.py,sha256=OyS6-NU1BUVitjUYYCtQenLXmprU9dDqYOR6tfeW7B0,17897
108
- synth_ai/api/train/config_finder.py,sha256=8HwyVRZ3WuXU2c7MdJgQVT29C-53zOWGcaucbkMso6c,5194
109
- synth_ai/api/train/env_resolver.py,sha256=PoXGD-Gpifs8FuSGF_xKNIA90QrUnLW8S5zMaUGm_yg,11451
110
- synth_ai/api/train/pollers.py,sha256=EbkoV601aXEpqgfjNuugivtDooiRgOxBXSYZZ0Muj24,2114
111
- synth_ai/api/train/task_app.py,sha256=Pk-bCqBEkjgbf9tzFeRik5uC0No_2Y536TSiLcJ47h0,6419
112
- synth_ai/api/train/utils.py,sha256=rkouZjOFvY9WKXIuG-rlJhH9eyLLxi_ID6dj0JMNSmI,7213
113
- synth_ai/cli/__init__.py,sha256=HU7nV2mhnvAmhuXyxEddIYO6ic5EWlBNECqYSelxQ-s,2083
114
- synth_ai/cli/balance.py,sha256=z4h1MQSyFX60k-13L9IT0rtOCI16iKNGJeNjFMZuv_k,8010
104
+ synth_ai/api/train/builders.py,sha256=tnsivKIW8Kx9hnzqosXRvhLtKcUOiz3aS9AWLFRzZLY,6399
105
+ synth_ai/api/train/cli.py,sha256=COW77jTZlMjh2bAO7OUV9mvFQBIDVYD17EMWikMg0QQ,21951
106
+ synth_ai/api/train/config_finder.py,sha256=CDtVh3Pbxi5pdERGCsCDN429lUnSrc9TFriMjwtweA8,6994
107
+ synth_ai/api/train/env_resolver.py,sha256=VO9y8ldm4IAKHOh6L6Y7EQYLGHRuzxIlcBVAraNLsr0,12199
108
+ synth_ai/api/train/pollers.py,sha256=pfOsG3JuJITiN3fQ6dZWXfpIAnvnO3qhDHAYg0JNX8o,2314
109
+ synth_ai/api/train/task_app.py,sha256=mHQPGYf2wbnQsw_xoe2Ei8RMzxInte36zobt1ODf3jk,6442
110
+ synth_ai/api/train/utils.py,sha256=nSOUfHAHLOFoWHcD61MrbIwFZOwqEZkYziUM2P9UMAE,7271
111
+ synth_ai/cli/__init__.py,sha256=z4fLYpvgdIXpNXc79_eHIIuRnwGhIrCNyEUz-C3CZfo,2176
112
+ synth_ai/cli/balance.py,sha256=CJGMQwLYVk-Ss0z766gpDow-uKjOJwcK9Uqh5CzgyH0,8011
115
113
  synth_ai/cli/calc.py,sha256=RJyQJ41e02xn-V0vRRCAVkL59UHDqyz8XpYGsenfdm4,2085
116
- synth_ai/cli/demo.py,sha256=NeRiLv9ZQyX9tVxvZ6uV5YmucQ8fu5gyL5qZE0GfBZY,5496
114
+ synth_ai/cli/demo.py,sha256=ZBO-ahU4WlKtyhCpyiBjP_IARmp-75x-bQIhTgH-0G0,5588
117
115
  synth_ai/cli/legacy_root_backup.py,sha256=KSMADyJ2g5OVpsq_CeBzqIeDC2Um-9GyINzsJH-75uw,15872
118
116
  synth_ai/cli/man.py,sha256=JQDon73ZkuKP9xr1_vRh5fjV9_b5xiUb7zNjny7ArB8,3765
119
117
  synth_ai/cli/recent.py,sha256=mHhM-QrR_MfjfKSzBvvPUEC-lkXTWUZrQwqYTmb2x0Y,4173
120
- synth_ai/cli/rl_demo.py,sha256=P09_atVrSTfGUhAs0Obe63erniJ3EDHtm51yL2xBouM,8796
121
- synth_ai/cli/root.py,sha256=0fuWNO5NeWTSCANzPBfoQsZKe3iUxnJ9hsSWS-SK2UM,11370
118
+ synth_ai/cli/rl_demo.py,sha256=w2HgilEAS7-SEBOHJafg5Ob-4pTquO5S_nWZNKgwtfE,9235
119
+ synth_ai/cli/root.py,sha256=_VVsKInTX1zrQMuc6At5u3o2oSqaibraE0NVL0Ksfg8,13742
122
120
  synth_ai/cli/status.py,sha256=M_bt7U58Ubi-q-ZlrIpgCASKq9_k6uMjpx926f6kLLA,4591
123
- synth_ai/cli/task_apps.py,sha256=bpknAGET9vUP6iRHTJcQcA_r4TCkqsP-QMIXayc7VIo,50723
124
- synth_ai/cli/traces.py,sha256=_QBdCR92u0Gv51U4DH0Ws1d5yCrbJRpaYKe7pmcHrHs,6484
121
+ synth_ai/cli/task_apps.py,sha256=drhHqcwgiR-aO4cDOmsXeHR1TqgPfoPUObynjwzRELc,90297
122
+ synth_ai/cli/traces.py,sha256=gccriHUej6SawS4vFgtFSe_bflTPkoUtAfQb5KYzYjI,6485
123
+ synth_ai/cli/turso.py,sha256=y9aHehGA1VvaWkoZyBhu5fLulWUT65powrpvvVp7gpA,2301
125
124
  synth_ai/cli/watch.py,sha256=HBKbAcpUkkPhGvsPRofckbu8oILiVqp35NXHkIEpTTc,17808
126
125
  synth_ai/compound/cais.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
127
126
  synth_ai/config/base_url.py,sha256=c85LaABBrvsl8Fp8KH0LNtJJrpnUwlzA5Ywbuth8fHE,3454
128
- synth_ai/core/experiment.py,sha256=hLkPtzUFA7iY3-QpeJ5K8YjvQeyfqnjab5P2CFaojys,236
127
+ synth_ai/core/experiment.py,sha256=5ErxMLOMDHgBjWJjId-uViCyxwfx3Ns5NVrgMkPEpZk,234
129
128
  synth_ai/core/system.py,sha256=s-Z7np2ISYmYc1r9YN-y2yb3cgRlOalrh0iaqnxeo84,206
130
129
  synth_ai/demos/core/__init__.py,sha256=A2FjhY7KXGtyzdQXqeTPCkEhHfrH-eQg6bvP8HaYhZM,36
131
- synth_ai/demos/core/cli.py,sha256=5z89ykvJAP-MipT-RYx7BXwTwi8nIAyUb-RcPDpXL5w,57520
130
+ synth_ai/demos/core/cli.py,sha256=dddSEE8voJ9ESj2r21FAZoTxSsS2LGEdzF_3HtpULoM,66474
132
131
  synth_ai/demos/demo_task_apps/__init__.py,sha256=LmNLB5oHncmVmavbLb6_1fsFYoNxijMd3ksLScBMxiw,243
133
- synth_ai/demos/demo_task_apps/core.py,sha256=Eu7gp0VtZ9tE1HPLG14-pkjC1cD_7brsdl2IRbdSBts,14764
132
+ synth_ai/demos/demo_task_apps/core.py,sha256=3eokKdS6voSlwdAYW6yoTv3QnFAvohnh1m6M-FKHUIU,15564
134
133
  synth_ai/demos/demo_task_apps/crafter/__init__.py,sha256=3SnNZTzBjGR9eudStcww259vPmzoFBHJL-M0GDUD7Qo,24
135
- synth_ai/demos/demo_task_apps/crafter/grpo_crafter_task_app.py,sha256=SfP7YbGyYDpoY4ZWyMiUSeQAjintKPAkJRZz3U2951U,6064
136
- synth_ai/demos/demo_task_apps/crafter/configs/crafter_fft_4b.toml,sha256=q_cnU3P-eGG_VFOepw9IA1U-m7L-uJH37EUFR3mNWBI,1358
134
+ synth_ai/demos/demo_task_apps/crafter/grpo_crafter_task_app.py,sha256=0yjIpnf6EVRBmm2TMQMkyLsvr8upG0BIE_LNGO7k5tQ,6271
135
+ synth_ai/demos/demo_task_apps/crafter/configs/crafter_fft_4b.toml,sha256=3voWbh5KscUtsnps5NDKTfBGiBz6-ZtXuK6uMgrcQSY,1192
137
136
  synth_ai/demos/demo_task_apps/crafter/configs/rl_from_base_qwen4b.toml,sha256=qVSypYOMUd8g6pmiovi7nsgk4jgMBjJIORpIsrmNV4U,1644
138
137
  synth_ai/demos/demo_task_apps/math/__init__.py,sha256=WBzpZwSn7pRarBmhopQi34i9bEm05-71eM3siboOavY,43
139
- synth_ai/demos/demo_task_apps/math/_common.py,sha256=SgtVW1pne4pgwGS2gYYQWkmG9BvU2sQTYzlncmUJ0NM,533
138
+ synth_ai/demos/demo_task_apps/math/_common.py,sha256=FvWvZ3BwZzX38RjZcukPlmk0FN_DT03lBbZe-mjF7tg,532
140
139
  synth_ai/demos/demo_task_apps/math/app.py,sha256=gNopoAhwM0vzdKuCa7AwQqSwiV2xagrjMxMH9YIniv4,1160
141
140
  synth_ai/demos/demo_task_apps/math/config.toml,sha256=CLfuzZaTvpqezPrpOy03ZKvR6D3tZ0vExOsyvdn4ETo,1346
142
- synth_ai/demos/demo_task_apps/math/deploy_modal.py,sha256=O4745sFuGEZTsygl-mz6ZOFJ7mog8CquXMgMyjFKr_c,2288
141
+ synth_ai/demos/demo_task_apps/math/deploy_modal.py,sha256=JFtOK3WDnktS65hqK3YneX9hqNuCjzEthidv_PL23pQ,2286
143
142
  synth_ai/demos/demo_task_apps/math/deploy_task_app.sh,sha256=qVffbAmsiCAxzFDzcxNVF4f7yyLWnmqPc1cNydHT5BQ,791
144
- synth_ai/demos/demo_task_apps/math/modal_task_app.py,sha256=vkQsQseB5VLvDIwF6Nveis2Leewucv6ufp_6GaRzkkw,25773
145
- synth_ai/demos/demo_task_apps/math/task_app_entry.py,sha256=6AnBrhD3b5m8Z3EwwrCEi_ZVXP3iRNsHVz4iPJrNfgA,994
143
+ synth_ai/demos/demo_task_apps/math/modal_task_app.py,sha256=DCIQdibkbTgOwJbS_95PlHhrImP6FvlxP4zfTs2zC5Q,28023
144
+ synth_ai/demos/demo_task_apps/math/task_app_entry.py,sha256=HX604xQwOciQS_FZeuP-jGo4Y9hr4plKEzo7fEg8Npw,993
146
145
  synth_ai/environments/__init__.py,sha256=BQW0Nc_BFQq_N-pcqTyJVjW56kSEXu7XZyaSer-U95Q,1032
147
146
  synth_ai/environments/environment/__init__.py,sha256=EBol9AKxPTIPXWcbH9Tja-l3yL-N2kB8e5atyf6F66c,31
148
147
  synth_ai/environments/environment/core.py,sha256=0jd0CZ88_s_qqA3d1lOgVsnv-ucw_1lJDAIUj1gTSt0,2201
@@ -159,9 +158,9 @@ synth_ai/environments/environment/rewards/core.py,sha256=Iu5MKInKW1LGZ1vb3oc_qms
159
158
  synth_ai/environments/environment/tools/__init__.py,sha256=ew_9CkNnt4t6nh_wjXa4BudWHhALVUbTycQsdUtAg-4,6900
160
159
  synth_ai/environments/examples/__init__.py,sha256=POgz9O4n1tvPAW1rYNUNeQGrMlWxoPDmyht85o5Po0s,38
161
160
  synth_ai/environments/examples/bandit/__init__.py,sha256=gn_EP6oi33BQ3gIjf4aiyEXEklbPld7n7rpx0JoApT0,827
162
- synth_ai/environments/examples/bandit/engine.py,sha256=j1uL1rqYqwCtmCJOgJCCddm9J_HPwwMuxuznck5V5_Y,11568
161
+ synth_ai/environments/examples/bandit/engine.py,sha256=I3ICYsNuJPjP73m1ZHid6IUkWO12-4O2Yrhe0plEJXA,11660
163
162
  synth_ai/environments/examples/bandit/environment.py,sha256=15KufC8f8yAWnSXb7XL7zA01lVE8x-tzKmNK3oOIR8c,7419
164
- synth_ai/environments/examples/bandit/taskset.py,sha256=L18RU9c5X_rXI-8scpJq1dEhQlrcTyCfr2pjlZWt9Kw,6775
163
+ synth_ai/environments/examples/bandit/taskset.py,sha256=bgLwb-OJSM308YIAEQa6Lk1TFDES3VGP4HqK23VA870,6777
165
164
  synth_ai/environments/examples/crafter_classic/__init__.py,sha256=8g6e991LpiUOkj3avOJo8qBbFiD7XSvrXb44ci98JRc,270
166
165
  synth_ai/environments/examples/crafter_classic/config_logging.py,sha256=Eqq35s0lPAmBiU0neZM6vmHPct15gp9TwS3vogrNziM,3794
167
166
  synth_ai/environments/examples/crafter_classic/debug_translation.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -334,7 +333,6 @@ synth_ai/environments/examples/sokoban/engine_helpers/vendored/envs/sokoban_env_
334
333
  synth_ai/environments/examples/sokoban/engine_helpers/vendored/envs/sokoban_env_pull.py,sha256=ZCEr6LoSxKvVQzbRGwRBN62RAQPP5jiLoNqI8c4Ij2Q,3808
335
334
  synth_ai/environments/examples/sokoban/engine_helpers/vendored/envs/sokoban_env_two_player.py,sha256=99yZCBsbx3i5Wiuf786TiHQjq2tMEY0OKsOEa-obhXY,3763
336
335
  synth_ai/environments/examples/sokoban/engine_helpers/vendored/envs/sokoban_env_variations.py,sha256=VKMXRVmVdIxfa0q_T5Dfll5HHadc5QHpktRQztEIxGs,15455
337
- synth_ai/environments/examples/sokoban/units/astar_common.py,sha256=4vG-_JrGI-yX8HY22CTY9P3DXPqCV_AHMPwH-flr0Z4,3006
338
336
  synth_ai/environments/examples/tictactoe/__init__.py,sha256=XGoOP8GEGXjG-TI_E_-3b1jOhpGNtl_LmR9G3K59Gig,31
339
337
  synth_ai/environments/examples/tictactoe/engine.py,sha256=B2OYQ3TVi_c75BRy_zHIEWjcTSaO4vnZZQJTo6wFe7k,12430
340
338
  synth_ai/environments/examples/tictactoe/environment.py,sha256=p_ZN5-AyYKUnIJ5Df46fXMlJZ6yRerkvXC9GA1W0Ht8,9336
@@ -350,9 +348,9 @@ synth_ai/environments/examples/wordle/taskset.py,sha256=E5EfE9cma_saVoUKmVkCL9Fg
350
348
  synth_ai/environments/examples/wordle/helpers/generate_instances_wordfreq.py,sha256=QZmCX62GMfrR3U6VqzFth1C9nk7JL1JO7hpHcXUFrOw,2509
351
349
  synth_ai/environments/reproducibility/core.py,sha256=jDhG1EARROJH7-Y7eKuMYdjbi4-t1QUbxddHbbG1Dxc,1499
352
350
  synth_ai/environments/reproducibility/helpers.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
353
- synth_ai/environments/reproducibility/tree.py,sha256=LMVTrKpPkBDjkZOfA5ptl3_n8JPc9GCnP49itPKL8zc,13703
351
+ synth_ai/environments/reproducibility/tree.py,sha256=lTiv_FkSoe0pzvPe6gCVLFoataKWS-HL6W03wUyGSOQ,13725
354
352
  synth_ai/environments/service/app.py,sha256=uwLT3R9N7eYmIKiJFGroaUkCQj3hm88QKNAMETRu3Tk,3559
355
- synth_ai/environments/service/core_routes.py,sha256=D3KMH6eIWxbcW0F8jIgdfYe7PF8Nb7kmKz1a9z0GwR8,38412
353
+ synth_ai/environments/service/core_routes.py,sha256=a5DtyKIr9shR2E-0j6yo7XTgi7LFH0sPTljp8FKOdhw,38456
356
354
  synth_ai/environments/service/external_registry.py,sha256=3PiWCsZr0PburC6K-IBjO9uHGVa-qnT0JHTFyyN4sZE,1765
357
355
  synth_ai/environments/service/registry.py,sha256=R4bvjdEW1GtYJdZL4Vl9ogNCQc0iGCxmjs-NuzCo5f4,405
358
356
  synth_ai/environments/stateful/__init__.py,sha256=UPNmotqxS2zXjSfhBui6R4qsDOIxKECL5xVTVDHcvsk,39
@@ -365,24 +363,24 @@ synth_ai/environments/tasks/filters.py,sha256=f4xSkyY90YvirhRZRo7dDU5T3XwzQ8Bw1T
365
363
  synth_ai/environments/tasks/utils.py,sha256=ZyDCQmj9jVcVBCrxFR2es1o5eLr7SLJK8k2EdNknFzk,2608
366
364
  synth_ai/environments/v0_observability/history.py,sha256=gW0SozHmxeL6PFNaTAQ7em8BNUlObsRpP4_MJ3drMBE,54
367
365
  synth_ai/environments/v0_observability/log.py,sha256=B4LvbPh0a1_E5dki2PlKAVHESB8oCQz0CmDBvC0GwdQ,38
368
- synth_ai/evals/base.py,sha256=EFupWBUxKIwvTvr4H29jX-LHWwAyIvNhzexHmG9w6QU,355
369
- synth_ai/experimental/synth_oss.py,sha256=EgvU-iI2BG8DyVm2gDq1lzM6yTzOCHhDdZbP24ryOgA,15627
370
- synth_ai/inference/__init__.py,sha256=FMLFiLMfhZJlQERJCj641TtPqpiiJpaJQxxPFaFZ5jA,76
371
- synth_ai/inference/client.py,sha256=zg2OXGxkURZihLONcm4jGTndlde7YDrORlE9uwGLFm8,711
372
- synth_ai/jobs/client.py,sha256=wSSqzvIY_vmwG-CHeQYGoSsb-uOr0hDmE8ylNqNoQQQ,9498
366
+ synth_ai/evals/base.py,sha256=Pu_h3oJAAEqJxgj5eigqbVhrNjAGJnBtlxpacSbGXCI,353
367
+ synth_ai/experimental/synth_oss.py,sha256=n1JBEuR5cZGJajwdCYAu9r0M_rY8dAuJ_EqJQInNe-U,15613
368
+ synth_ai/inference/__init__.py,sha256=5xwgFMKRfbLC7TX3lwMqGOZ8HHOEnXwlDqV_FLjsd5A,74
369
+ synth_ai/inference/client.py,sha256=ukpK9WU_siqFTRHftMcgJU6_HXVxD7So1FKdJSE1wbE,978
370
+ synth_ai/jobs/client.py,sha256=n5G2l94Pd1-mMVAjH6tLtqf7D9SRqMYo8shD1-h28CU,9728
373
371
  synth_ai/learning/__init__.py,sha256=gBtKs-FtQYsqcYtpGvHQA3Ro-ezu1ILjoQAMTCJWFq0,743
374
- synth_ai/learning/client.py,sha256=BtoSHkbUhBs6ALj4ylCNmJ7fyXMYMhrKzbeXhAKtkWY,6626
375
- synth_ai/learning/config.py,sha256=-W1vsN08sKydgo3IEaaGVa45zrnMipm-rPRPE3WNhP8,1243
376
- synth_ai/learning/constants.py,sha256=TnIEZrMpbPNpu7Zyk3bmyX3K2XGwWTwRuAUukxBYg64,538
372
+ synth_ai/learning/client.py,sha256=jbsU4K2OUVtG0JT50EqUZKpZrBO3egLocd122FRxkDc,6952
373
+ synth_ai/learning/config.py,sha256=PBejENcKd8immVggIV3ANf5zFkBObJsgwmqsxVtr8B4,1241
374
+ synth_ai/learning/constants.py,sha256=QaunQg7Xru0S6AQv_-zoDprMB0ssn9sPHnhaTxz8reY,536
377
375
  synth_ai/learning/core.py,sha256=bA_Ng3YKeCJb1scnrSapp48HildL7Pd2fHkZ4zxurZU,440
378
376
  synth_ai/learning/filtering.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
379
- synth_ai/learning/ft_client.py,sha256=3kSiDHjea1wA8tZf2g7JOav-VtKpeYYTHh7OEBapfH8,2241
377
+ synth_ai/learning/ft_client.py,sha256=BzD_Tdsp_3MpdpJhCDd92vba-yFYfnC7tn4dtOXWz6g,2318
380
378
  synth_ai/learning/gateway.py,sha256=8plVu9V_0PTt1ZI6awuh9wSFT4BqS-mLshaN77wGyDk,31
381
- synth_ai/learning/health.py,sha256=YxvY0YY3nF_a_HO3IdL9gUj7dXcuVdGpnUEP0dUGMMo,1571
382
- synth_ai/learning/jobs.py,sha256=5ShyHNJ1btpC7NY5coURTPl8X4V9fshTq2O-3figJEo,9692
383
- synth_ai/learning/rl_client.py,sha256=feCYyFxC0iAXICSknG_W2fNrxr7CzUy4gLM3gfraszQ,11340
384
- synth_ai/learning/sse.py,sha256=S0IxAB0SOSSliua-e8m2wilC84jEaNXM6TP4LElUWNU,1891
385
- synth_ai/learning/validators.py,sha256=9p7Sqrh-NeFzyqNzsPZBSPQgOPsSlNAqqydtnVdNiWI,1823
379
+ synth_ai/learning/health.py,sha256=uOQ0Po37B2jZzKAuOLNRWLsJfgYQOVFihHKyfjYZDcc,1601
380
+ synth_ai/learning/jobs.py,sha256=9wQQrV3kicRmMtU-dW48inJHGW-Ymo-j8ER8PgRsHLE,9959
381
+ synth_ai/learning/rl_client.py,sha256=Vc2kIyCKpWKMXXadRVeYxg4INQKZTEmFPVu9AItVDPA,11844
382
+ synth_ai/learning/sse.py,sha256=Ayu-WG5rQNjaDjXi0aUXWpi9zcaNX12B-GOrigFi_k4,1889
383
+ synth_ai/learning/validators.py,sha256=JJZTn9jsiA3TYPDjFo-W8YiLmcC5FUkgQm439W3aOqg,1886
386
384
  synth_ai/learning/offline/dpo.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
387
385
  synth_ai/learning/offline/providers.py,sha256=nrPYoOvns5ekC_o9FecWpV7MOtHR1sH-ldRpmrfMeGo,33
388
386
  synth_ai/learning/offline/sft.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -391,32 +389,32 @@ synth_ai/learning/online/grpo.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hS
391
389
  synth_ai/learning/online/irft.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
392
390
  synth_ai/learning/prompts/banking77_injection_eval.py,sha256=PFAfNC8OydKiC0Nr-DhPV0lwAgQBq5FoRkc5-xMUfzo,5704
393
391
  synth_ai/learning/prompts/gepa.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
394
- synth_ai/learning/prompts/hello_world_in_context_injection_ex.py,sha256=QCVggg3dbKDR8zi0Slx0tTEqZL7eMf6Y1qn05a6mUBE,9008
392
+ synth_ai/learning/prompts/hello_world_in_context_injection_ex.py,sha256=DjTN3yXEnawqbMa2AUCfpGvz7hoHjCSQoNmdZnAYC20,8978
395
393
  synth_ai/learning/prompts/mipro.py,sha256=--lTu7o9PBc0XDbu9R-sCFMPS9jdrjs0D2W6C2mvRy4,9560
396
- synth_ai/learning/prompts/random_search.py,sha256=cL2sAT217So_rmWVGNbz8K-XD0nJbPjhuwaYJcci3Xg,8164
394
+ synth_ai/learning/prompts/random_search.py,sha256=tp2KXIaXG0pN1XvRxFW2ixJeuW1m6si_2ydLltXrmLM,8182
397
395
  synth_ai/learning/prompts/run_mipro_banking77.py,sha256=7OwJ4E5xsKfqQL9gp09D47IuDY6qRUrL_dHkjHDBY3M,5337
398
- synth_ai/learning/prompts/run_random_search_banking77.py,sha256=vdO-RnW_Yh0VViniW_PJqUXGz_ywERd90N_ldf0P4Hc,13578
396
+ synth_ai/learning/prompts/run_random_search_banking77.py,sha256=plqCi6uoymBgBeghu7o9JcdcdcpvI9L09I9SBpIrhrw,13626
399
397
  synth_ai/lm/__init__.py,sha256=Yv8qzz_BxUvwmwRQcLquLU5uMudPtqYa93IY0q7PvDU,1142
400
398
  synth_ai/lm/config.py,sha256=qsV-1w9WlSRju0hyDj8EI61N_jLwnCN3yhe-DLxkG-Y,3565
401
399
  synth_ai/lm/constants.py,sha256=I7WRm8bRqH0mQQS0bbBysojzxdcvuJ77kJh81es8qZw,1227
402
400
  synth_ai/lm/injection.py,sha256=pMWQSem8j_76cw5sMevcw54H6Kb3UG2uPSK-O64y8BU,2807
403
- synth_ai/lm/overrides.py,sha256=-qsmSxDcXq9HoeiTU_Ox3YW9Xcb0-VMWddzQRZa5jX0,6887
401
+ synth_ai/lm/overrides.py,sha256=giM_7Q_2ij5lPB_xEffvkORKFOCWBK0MPUzH7fpHLRE,6885
404
402
  synth_ai/lm/unified_interface.py,sha256=cHi90uhWoLq58jMNvNzd4xwbxR7JFK8QbF6pjKWHeIk,6436
405
403
  synth_ai/lm/warmup.py,sha256=-h9H8PRPs6tiRIwhSTlfqaG4K5OQpVMBvxpd24Bst7Q,6740
406
404
  synth_ai/lm/caching/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
407
405
  synth_ai/lm/caching/constants.py,sha256=75etL2lff9oHv2xGitvTtxACS2ffuPECZc6RKiSX4DI,149
408
406
  synth_ai/lm/caching/dbs.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
409
- synth_ai/lm/caching/ephemeral.py,sha256=3uML-OEcb95UcfGwSedXkwQKpIqEJMegs0Zm5RTgT6w,3290
407
+ synth_ai/lm/caching/ephemeral.py,sha256=N0S-Ul7fA_BUM82lJo11iHBPCt-OEto3UfKdoLjTvDs,3276
410
408
  synth_ai/lm/caching/handler.py,sha256=vmW0ksarIqhS5AtYQ_bj2Cjm_0K0VOVhMv5vfwugf_U,4856
411
409
  synth_ai/lm/caching/initialize.py,sha256=MG4DybeWkWDff76hLMdwWWniCDbZ1LpVXsYI4EX-caQ,405
412
410
  synth_ai/lm/caching/persistent.py,sha256=j4b4biOnJwaUCMEAXU7KLKSbbpwB1aSlMlwhtmu9eWE,3806
413
411
  synth_ai/lm/core/__init__.py,sha256=pFiA6qPyQu6e-KrZruL9A-soRlhSU4Vd_TmdqMzWaIU,136
414
412
  synth_ai/lm/core/all.py,sha256=sRSuXgdXMrG46DbL7LeBA2g9PcnNgMKV0RhLkWecR1o,1765
415
- synth_ai/lm/core/exceptions.py,sha256=YZ3dgwb--ZyLoa4gI9uDGkuWoGfh-TS4yFanSwQd-CM,98
416
- synth_ai/lm/core/main.py,sha256=V1b-v8aySJwcilS_uziHyIVF-RUpOj8QK2_F828pHJ8,12801
413
+ synth_ai/lm/core/exceptions.py,sha256=n5or_9SfUuoPZGFWIHOejEDoY5Zzrg38IywAkQIhbNY,96
414
+ synth_ai/lm/core/main.py,sha256=vVOW85Gc_QBewVNEFFNxZyJHOIxJbynBUlGNYf4cREI,12936
417
415
  synth_ai/lm/core/main_v3.py,sha256=TJQHZ0kg7B1jM6deZSF21gVM-u-X-zkr-Zs4GiGfxTw,24602
418
- synth_ai/lm/core/synth_models.py,sha256=Zo5Roj7HmJC4E3kOaZju5LhiExKRV05WB2-KqMxJRY4,1628
419
- synth_ai/lm/core/vendor_clients.py,sha256=yDJ4KxIP4sdxIaUkXJqF4G4_VS-47YA_OBQscj9v0B0,6890
416
+ synth_ai/lm/core/synth_models.py,sha256=tot25g_YcVIMfqYFWGrBlXo7e7PfqDWsKosHw9qEIww,1627
417
+ synth_ai/lm/core/vendor_clients.py,sha256=vn_RhTe8YGdLZXEQNOSYRWPknVmNfjaiB6kJcP1_Wgw,6902
420
418
  synth_ai/lm/cost/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
421
419
  synth_ai/lm/cost/monitor.py,sha256=DkeLUlrb7rGx3nZ04aADU9HXXu5mZTf_DBwT0xhzIv4,7
422
420
  synth_ai/lm/cost/statefulness.py,sha256=SO-H9_R1_KL110z_ceRIJzH6n8D9gpx-R1-_mtO7pNI,37
@@ -432,72 +430,72 @@ synth_ai/lm/tools/__init__.py,sha256=3JM5vqZqKloaeHaxuO49C8A_0qljys3pQ1yt70WKhho
432
430
  synth_ai/lm/tools/base.py,sha256=sDiqopouPml_tEFKQXMZFl0M45JO-yJBWWjyaeAyV1Q,5722
433
431
  synth_ai/lm/vendors/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
434
432
  synth_ai/lm/vendors/base.py,sha256=K9SmghoH_WoMtmx8Q1qrcKcj1VriWHrMm607tIUgNOI,2430
435
- synth_ai/lm/vendors/openai_standard.py,sha256=ExZaaGc-No-xZ2kpVoyXEzh57tanDZbFFVJVpLLoG0Y,34039
436
- synth_ai/lm/vendors/openai_standard_responses.py,sha256=iTmnXzLgeWQ_XfB8CtNMDdPRSPI97jccw4k5anhKLcg,10165
433
+ synth_ai/lm/vendors/openai_standard.py,sha256=7tpTaCl1tJkii5hofRuGgSLkcaFyFZo8duPpv4nPesY,34109
434
+ synth_ai/lm/vendors/openai_standard_responses.py,sha256=6L56dpnd3g4Tghn4HU-Eo7EUe2Ak5WuuH5M018WKxpg,10198
437
435
  synth_ai/lm/vendors/retries.py,sha256=Ti72rZWoJsO7Kj6QtCMwmubX65AM-K4USf86zh-K3Go,565
438
- synth_ai/lm/vendors/synth_client.py,sha256=F7VI5G02t1nerCE3QAxcsdn3byo98ifWfM7A_-fZNWo,27749
436
+ synth_ai/lm/vendors/synth_client.py,sha256=_l6aKeIyiADUm3iFHf_vTufn52H2QHdX5K0LwBHKzMo,28088
439
437
  synth_ai/lm/vendors/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
440
- synth_ai/lm/vendors/core/anthropic_api.py,sha256=mxJVF-uvSUOdbBRMmVfwBFCc7ntV5i_LNE5tQ2AxAbU,14986
438
+ synth_ai/lm/vendors/core/anthropic_api.py,sha256=M7_4a9BGY3z405aljhIT5Mp8eVtqOwFcPWeC9bBLXJA,14958
441
439
  synth_ai/lm/vendors/core/gemini_api.py,sha256=mHvQtRqoymuzsQDxNFgTDt4HsrgvIuVBSAE29QpRa34,11082
442
440
  synth_ai/lm/vendors/core/mistral_api.py,sha256=4ggRg_4ajzZMBCb-0mHMX_ZTg10tteSfnIPE2NULFag,11875
443
- synth_ai/lm/vendors/core/openai_api.py,sha256=qVl6ZxKrcPwMMEsumFinIPML1I6UO0pt870nsBg64nw,8554
441
+ synth_ai/lm/vendors/core/openai_api.py,sha256=2mcfZBKW_-X1fPziUQoU-vPUiRVMTKMACsFMcyy5yZQ,8556
444
442
  synth_ai/lm/vendors/core/synth_dev_api.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
445
443
  synth_ai/lm/vendors/local/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
446
444
  synth_ai/lm/vendors/local/ollama.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
447
445
  synth_ai/lm/vendors/supported/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
448
- synth_ai/lm/vendors/supported/custom_endpoint.py,sha256=dlJyb3d4c-ZIlCxBDsmBj8dtYBO8aoz1MxD8TuqmbG4,15314
446
+ synth_ai/lm/vendors/supported/custom_endpoint.py,sha256=Y3t6XpvvYaZe4AUpV66LYs3LrTALF8QbeWKgt1DXfLo,15300
449
447
  synth_ai/lm/vendors/supported/deepseek.py,sha256=vTWdr0MYMsywhm2ajMzXOTTbgOcStT_P7xL8BDMcpNI,2329
450
448
  synth_ai/lm/vendors/supported/grok.py,sha256=_dDUPhov6_T_nqCN3ygLuFiDeoSMcKGaztvfhPrR5UY,2226
451
449
  synth_ai/lm/vendors/supported/groq.py,sha256=7W3kOg164C4R5zhDG6hb0IhaHDSz85xHc04uLz7umcQ,383
452
450
  synth_ai/lm/vendors/supported/ollama.py,sha256=GMrDhKD0LJLk6wFwzEi4WCgreagkADC6WxcWZqBdGJ8,466
453
451
  synth_ai/lm/vendors/supported/openrouter.py,sha256=N2slrvToudY8LIq8QHfHESm-IVo4GBriTAQF7RteO0E,2570
454
452
  synth_ai/lm/vendors/supported/together.py,sha256=IFd6gJtfPuE_KLh51ywp1iIkvow_R26EHPcYXBnw8Vc,337
455
- synth_ai/rl/__init__.py,sha256=MrO6d2ehaDpE7nWQdie13CtYbIvezms9IaVENPeymwE,724
456
- synth_ai/rl/contracts.py,sha256=6LJUT2UWHWebkoMprbIgsycV9ET3qLY-3NN1v4bJacY,673
457
- synth_ai/rl/env_keys.py,sha256=lb2kQwuk4zMXyTUnaVCAbYvIstiGznLCdx797rAsPFk,4960
453
+ synth_ai/rl/__init__.py,sha256=8jtRU6tqnlK84zcaaEYBd2tZwUR8iWZOtxFXjnXkSnI,723
454
+ synth_ai/rl/contracts.py,sha256=Ul_M5Jm2wDZeLwuab4gDfIXkBYYZTGriGnqe4Ld00vM,671
455
+ synth_ai/rl/env_keys.py,sha256=juHcWiIsVcW-DJqe-mn-A1ojYE3h_O4u7jBJiFg6328,4999
458
456
  synth_ai/rl/secrets.py,sha256=RJU7N0idDNhENHyG9uAStXJxRGQMQti45xpm5i3uUGc,586
459
457
  synth_ai/scripts/verify_rewards.py,sha256=w1eFGi-H5It7J55Qyt5s1mPnSc4AldMmZ9roNzE0ulQ,3304
460
- synth_ai/task/__init__.py,sha256=DmtEMz_--x3W8BaHindUTwd9QKq1vdIcBCLl5fmPJiQ,2410
461
- synth_ai/task/auth.py,sha256=Ypo6ZFMBpl8DxWgwJ0zB_7BE8fpQgmRk9zsC9oC3iXQ,5441
462
- synth_ai/task/client.py,sha256=oTX0fXSRGejP_xLQP3N_ZbuYes9qcr7xFPVuBL2sy3E,5767
463
- synth_ai/task/contracts.py,sha256=d1V8VtZ23UKX5hIem-dxXMQBr-7PdjVIdSXz09eygkY,4129
464
- synth_ai/task/datasets.py,sha256=xt28vdxy6j85DmPM_fTBubYXeUcrnZ1mgIG8vac1xIU,3940
465
- synth_ai/task/errors.py,sha256=wE4-cuk_1nDvejov8G-4tP7kZiwGd5aXqYSgATKoFW0,1550
466
- synth_ai/task/health.py,sha256=MItweOAtvYAVdhqDVaKJhRgvTOqgSLZylgY8m7YqVp8,985
467
- synth_ai/task/json.py,sha256=JPw4UXHPiqGAIP2yCA4OF2AR5Z-euoO2Sw4KUfJ9GZg,2572
468
- synth_ai/task/proxy.py,sha256=h07a2Hdw7iT392Ygb7ZatHjI7u5ge-43ueN-Ub8IrZU,9010
469
- synth_ai/task/rubrics.py,sha256=-dXzLEJJGe0JTwoQ8w1Lhkdp4y_2rOvXdC51i3373oU,7122
470
- synth_ai/task/server.py,sha256=bYrqnwtbGEdI_lieBMslgh-sUwdyzEbbHnmjovrRef8,15187
471
- synth_ai/task/tracing_utils.py,sha256=kro--A6BTCVReLMNRX4_v2arLVXYIQNKtn3RDMMrOmE,2400
472
- synth_ai/task/validators.py,sha256=IGE9zTjHYXOehwakMkcOAaDLSaHw_0Tp8uzL2ydCZ9U,361
473
- synth_ai/task/vendors.py,sha256=zG-qeP2OC1s5kJECZdf02QBvn-v_qHcz-rG0C8Ws0wA,1664
474
- synth_ai/task/apps/__init__.py,sha256=yLY31OII4Hbt9ibTj1vmxVCd9JBluCGh6Xgy6biKEIs,4151
458
+ synth_ai/task/__init__.py,sha256=qux27ezTAZqk0ieWtz_gn5ZTxLTxL4Sfqu8Q5lYQyXM,2411
459
+ synth_ai/task/auth.py,sha256=vWcUz-nfwdjq7ypwD6KtVnOfaQPpexdjqn07NPuQfYs,5633
460
+ synth_ai/task/client.py,sha256=eKMo5dYN8F3a1I1WdzNXAmDFXfmPfJi8TCcKd3Xh31c,5781
461
+ synth_ai/task/contracts.py,sha256=iIwPnNjr4aulAabRj7PS_9BQQg-o4DN-tdBbZrTFl1o,4130
462
+ synth_ai/task/datasets.py,sha256=069BdKW8K3b9ATBS_OrgLiCrvFgYidP5pxmTkNzesM0,3954
463
+ synth_ai/task/errors.py,sha256=eW4IJkhSBJpAaV6ollMsgzAaiMnAVBpPiiWlyvU5w3Y,1555
464
+ synth_ai/task/health.py,sha256=DY7wiPjznbka-5HS86KcWvH0FguEjwCf0PdtuBiZCu4,983
465
+ synth_ai/task/json.py,sha256=iK8loO8h98ftM2B2bqDRMPyEDyGO2oNuq4oZ_fKhQvo,2571
466
+ synth_ai/task/proxy.py,sha256=hw8fSiN_iQ6RvdnkKqYBTLfbXblHB3IuKNKTRMQpfH0,8996
467
+ synth_ai/task/rubrics.py,sha256=0EIJImVxwx6_y4hlsLpynSIt2x0Z2KwcAes9Ja9rFfg,7158
468
+ synth_ai/task/server.py,sha256=OnuP2fpLKt7DkzjmnyxvSP6Rf93A1pvyv6lqfYFnVW8,15761
469
+ synth_ai/task/tracing_utils.py,sha256=gBnl9p-E3VrxtS9vJCVIWMcmB_r4vFJ9ziaRUXREYmg,2490
470
+ synth_ai/task/validators.py,sha256=OGPwdzoyoS8lMgq3nmzdUDEFwCDo2OC7ETQLWiE5Yao,360
471
+ synth_ai/task/vendors.py,sha256=3IoRLPtkelDIm-9zlY-SryK_HwPmLXv1wFPuDLDYpqY,1663
472
+ synth_ai/task/apps/__init__.py,sha256=6pEvtp8ZSZASs9muRByFpFkvoGpwR4uUH-35CeeAJuY,4082
475
473
  synth_ai/tracing/__init__.py,sha256=0Yy1YDMe_Duw976yu0HL1cbqPWdZEvtgEdtjDguNvcc,781
476
474
  synth_ai/tracing_v1/__init__.py,sha256=uV6qf8_rJTxRx6tCsXvqnjHhA1mR0im2rANuh0McrHA,930
477
475
  synth_ai/tracing_v3/__init__.py,sha256=9lKM-blbXo6Sk1oBpyYayjMVU43f9Y_35M1OvRynWoU,3251
478
476
  synth_ai/tracing_v3/abstractions.py,sha256=FmVxWpRZAq5UmEmM-PjG-lFAT-1qgao7JGNh7AkU6b8,12368
479
477
  synth_ai/tracing_v3/config.py,sha256=mPX2P4ILv1ktoI8oGKO_LyLc0O6Lnr2jbHA3QE-y6N0,3241
480
- synth_ai/tracing_v3/db_config.py,sha256=9tG-0OC22bmpNHH4bz6pdb5a5JHgFzhav6p14POAqAQ,5827
481
- synth_ai/tracing_v3/decorators.py,sha256=1YtWXb331F8-Jf-c0Tr9UwpEhJJFGC6w9Q_7oYp5bwk,13297
482
- synth_ai/tracing_v3/hooks.py,sha256=LumG3hRmbRXl3ml0UhGYxwVpWRaCxrVPkD2lR7N8XVQ,7958
478
+ synth_ai/tracing_v3/db_config.py,sha256=t9yalucYHdna7kcIQB3aEM9MDThl2hvwbbJhqL_iIQs,6773
479
+ synth_ai/tracing_v3/decorators.py,sha256=6kKlyNBIb2skuF95MJRFgMwN3vx5PC0KnuHB3909D7M,13298
480
+ synth_ai/tracing_v3/hooks.py,sha256=3ez9n0Ehz5uNNm7UbeMPHhzeNeV3HLb5aHk1KdXyeDg,7960
483
481
  synth_ai/tracing_v3/llm_call_record_helpers.py,sha256=mqSQStFC02z9b7uoTO7FjgJfd8Kq1FWcBLi3k2lqRWs,12181
484
482
  synth_ai/tracing_v3/lm_call_record_abstractions.py,sha256=j2RGuXVaV_EXmIosuXRDjptJSlrDXwb8x06k2fF6lqo,9195
485
483
  synth_ai/tracing_v3/migration_helper.py,sha256=izm7SNHtG3VDv_5ZmMk_mmwKitmShxUK3joNFOArZIY,4177
486
- synth_ai/tracing_v3/replica_sync.py,sha256=MoJRcMp6rZVC1QZF9EH2oUV70C7Br0N8DhEUZ9PeWks,8670
487
- synth_ai/tracing_v3/session_tracer.py,sha256=wMJ-mzt2gDt3RZ2FoYdOaE0cXNn9M6gKKNN2EMfWT48,17683
488
- synth_ai/tracing_v3/utils.py,sha256=7HQptlq6B1nlmkv6M-lsNdmRisYJk3KNTTditr7dhB8,3444
489
- synth_ai/tracing_v3/examples/basic_usage.py,sha256=wNpn8t0s0-2wusamBjn8WyyDUM_5Qz5_7TJuK4tSA98,7196
484
+ synth_ai/tracing_v3/replica_sync.py,sha256=oDjlv7Z6fo8g-NrCwJEpcneIlTEOkTauqMvGBnFktpw,8671
485
+ synth_ai/tracing_v3/session_tracer.py,sha256=ft2M2i8xH01TEaF38RQJ1uFretoLGhZx9L1Gn2KlGV4,17864
486
+ synth_ai/tracing_v3/utils.py,sha256=cd0U891KHx0CK21wq6s5AK9uAqFNQoD9BuElr_axDDQ,3445
487
+ synth_ai/tracing_v3/examples/basic_usage.py,sha256=z8Z4UscQJfxPW76cKEfGdUL4O_gEljgy2gxaQBrYIu0,7211
490
488
  synth_ai/tracing_v3/storage/__init__.py,sha256=VPjBh180bcSPz1HsbqaqfnvguwqwomaEYKxkrhfGABY,332
491
- synth_ai/tracing_v3/storage/base.py,sha256=cGIWcTY8EIkIZOgputOTkWMgxH1hM866OO-BnHISrV4,3663
489
+ synth_ai/tracing_v3/storage/base.py,sha256=KioAYMDNpwxAQV8PZ3SDy5wiU0ABnSrA3XglXDkEcUk,3688
492
490
  synth_ai/tracing_v3/storage/config.py,sha256=F20Vh5rBYtN9H2MFfVw9tQT8IjKmPsOtNfdcy1vIx8g,2077
493
491
  synth_ai/tracing_v3/storage/exceptions.py,sha256=zqfsjb4r8qcZGlId0h9-x0RpJq2_DRDfdlzW6_KIRCw,708
494
- synth_ai/tracing_v3/storage/factory.py,sha256=fztR3YxxFpRBFtRsJvvn5Gb7eNWfzMScX48cJiVIgos,1262
492
+ synth_ai/tracing_v3/storage/factory.py,sha256=hn5DUhmhOCCdHl8oiRtMdSIUg8zgzjIIGSsVV4IZ0_Q,1261
495
493
  synth_ai/tracing_v3/storage/types.py,sha256=LevN8M12ilZ0EaiQ6Y3yONSMuLGEhSKNt0ir5wbVbek,613
496
494
  synth_ai/tracing_v3/storage/utils.py,sha256=GTc0AYzuaCAwci6sg7UCgtMnluNIIUDbrBOJcP8LvmE,6056
497
495
  synth_ai/tracing_v3/turso/__init__.py,sha256=MSvWojb9unyfLeTSaiVfw5T3dK72MzNQbvoCEZB9zag,414
498
496
  synth_ai/tracing_v3/turso/daemon.py,sha256=RHcwab3pe3rbD8Ccl10_61KWgaieBv0fHVOsn9NkFfk,4334
499
- synth_ai/tracing_v3/turso/manager.py,sha256=dIyG-PxpIA6gNcttCwl6sha2iDXu4Omcw_mUcWWufeU,31919
500
- synth_ai/tracing_v3/turso/models.py,sha256=XPt_pF1QsLFdyfWcRhPx71fpWJKNFzVV0sfN4owJi_U,16347
497
+ synth_ai/tracing_v3/turso/manager.py,sha256=07jxfIOvSuJYPSUWWSRLlqGtwT4_WUx9rFP1MMLSP7M,32580
498
+ synth_ai/tracing_v3/turso/models.py,sha256=PlkzP99uN8fIyLQmmTa3OfC1FDRXgOt0khMqbqqp81c,16362
501
499
  synth_ai/v0/tracing/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
502
500
  synth_ai/v0/tracing/abstractions.py,sha256=pL9XCf9UEWdX4IRizzRK9XUNBtDeBYfkVD51F8UOB0s,6898
503
501
  synth_ai/v0/tracing/base_client.py,sha256=IZpyuM-GIClvBBFA9iv4tpOjzY1QHF1m7vkNCYk7xLo,2931
@@ -510,7 +508,7 @@ synth_ai/v0/tracing/local.py,sha256=sDNQ6ECVwZZkRlCC0_F33VOXuUUzZ1B0UVFBMKtN5R0,
510
508
  synth_ai/v0/tracing/log_client_base.py,sha256=Zl-dOknLd47xa-fh_3UBJkw1wF67uN1-4sm8N0Wl7CU,2297
511
509
  synth_ai/v0/tracing/retry_queue.py,sha256=Crpt8ugbuxKfau3ioWt0jMJzsCafaxKPSC1X3gfPU34,6647
512
510
  synth_ai/v0/tracing/trackers.py,sha256=I_5M9vAzFAsR_xKPGq_55yq2NkwztBZreMX8JhCK9UA,19005
513
- synth_ai/v0/tracing/upload.py,sha256=RdylTi_Hpjv3JdscY2Mwc0jU0Ldz7Mig7z6ltIkQRws,17387
511
+ synth_ai/v0/tracing/upload.py,sha256=v6Go0d-b-O9bd1FZ8oXsXHW1opc48svJ4AJukQYrI5E,13141
514
512
  synth_ai/v0/tracing/utils.py,sha256=FXoMW9qOIk8-2qv_7WpVK2UG3_0AAGwi6fQQJ5Eldqk,306
515
513
  synth_ai/v0/tracing/events/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
516
514
  synth_ai/v0/tracing/events/manage.py,sha256=ZDXXP-ZwLH9LCsmw7Ru9o55d7bl_diPtJV78_p7hhxQ,5956
@@ -535,9 +533,9 @@ synth_ai/v0/tracing_v1/events/manage.py,sha256=ZDXXP-ZwLH9LCsmw7Ru9o55d7bl_diPtJ
535
533
  synth_ai/v0/tracing_v1/events/scope.py,sha256=BuBkhSpVHUJt8iGT9HJZF82rbb88mQcd2vM2shg-w2I,2550
536
534
  synth_ai/v0/tracing_v1/events/store.py,sha256=0342lvAcalyJbVEIzQFaPuMQGgwiFm7M5rE6gr-G0E8,9041
537
535
  synth_ai/zyk/__init__.py,sha256=htVLnzTYQ5rxzYpzSYBm7_o6uNKZ3pB_PrqkBrgTRS4,771
538
- synth_ai-0.2.9.dev4.dist-info/licenses/LICENSE,sha256=ynhjRQUfqA_RdGRATApfFA_fBAy9cno04sLtLUqxVFM,1069
539
- synth_ai-0.2.9.dev4.dist-info/METADATA,sha256=BH5A-8mU_wP4Sid2eqWcFQu6cGs198X5_DcmFFKON8o,5200
540
- synth_ai-0.2.9.dev4.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
541
- synth_ai-0.2.9.dev4.dist-info/entry_points.txt,sha256=Neq-3bT7TAijjgOIR77pKL-WYg6TWBDeO8pp_nL4vGY,91
542
- synth_ai-0.2.9.dev4.dist-info/top_level.txt,sha256=1moNHgctEUJ3F3eH3V-7FSMb2iTTze1V13dj1R04oUY,18
543
- synth_ai-0.2.9.dev4.dist-info/RECORD,,
536
+ synth_ai-0.2.9.dev7.dist-info/licenses/LICENSE,sha256=ynhjRQUfqA_RdGRATApfFA_fBAy9cno04sLtLUqxVFM,1069
537
+ synth_ai-0.2.9.dev7.dist-info/METADATA,sha256=Cn-46ZXbmeg-VhWu3AkGRUCMdeZ1cx_e2huT0Lsnvcc,5200
538
+ synth_ai-0.2.9.dev7.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
539
+ synth_ai-0.2.9.dev7.dist-info/entry_points.txt,sha256=Neq-3bT7TAijjgOIR77pKL-WYg6TWBDeO8pp_nL4vGY,91
540
+ synth_ai-0.2.9.dev7.dist-info/top_level.txt,sha256=1moNHgctEUJ3F3eH3V-7FSMb2iTTze1V13dj1R04oUY,18
541
+ synth_ai-0.2.9.dev7.dist-info/RECORD,,
@@ -1,58 +0,0 @@
1
- import math
2
-
3
- from backend.app.routes.clustered_training.dev.synth_envs_hosted.rollout import (
4
- compute_stepwise_reward,
5
- )
6
-
7
-
8
- def test_compute_stepwise_reward_detects_unlock() -> None:
9
- prev = {"build_workbench": False, "pet_cow": False}
10
- new = {"build_workbench": True, "pet_cow": False}
11
- actions = [{"tool": "interact", "args": {"action": "build_workbench"}}]
12
-
13
- info, decision, stats = compute_stepwise_reward(
14
- prev,
15
- new,
16
- decision_index=2,
17
- actions_summary=actions,
18
- indicator_lambda=0.75,
19
- )
20
-
21
- assert info["decision_index"] == 2
22
- assert info["new_achievements"] == ["build_workbench"]
23
- assert info["indicator"] == 1
24
- assert math.isclose(info["reward"], 0.75)
25
-
26
- assert decision["actions"] == actions
27
- assert decision["indicator"] == 1
28
- assert math.isclose(decision["r_i"], 0.75)
29
-
30
- assert math.isclose(stats["indicator"], 1.0)
31
- assert math.isclose(stats["reward"], 0.75)
32
- assert math.isclose(stats["new_achievements_count"], 1.0)
33
-
34
-
35
- def test_compute_stepwise_reward_handles_no_unlock() -> None:
36
- prev = {"collect_wheat": True, "milk_cow": False}
37
- new = {"collect_wheat": True, "milk_cow": False}
38
- actions = [{"tool": "interact", "args": {"action": "sleep"}}]
39
-
40
- info, decision, stats = compute_stepwise_reward(
41
- prev,
42
- new,
43
- decision_index=5,
44
- actions_summary=actions,
45
- indicator_lambda=1.2,
46
- )
47
-
48
- assert info["new_achievements"] == []
49
- assert info["indicator"] == 0
50
- assert math.isclose(info["reward"], 0.0)
51
-
52
- assert decision["actions"] == actions
53
- assert decision["indicator"] == 0
54
- assert math.isclose(decision["r_i"], 0.0)
55
-
56
- assert math.isclose(stats["indicator"], 0.0)
57
- assert math.isclose(stats["reward"], 0.0)
58
- assert math.isclose(stats["new_achievements_count"], 0.0)