AbstractRuntime 0.10.0__tar.gz → 0.10.2__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 (705) hide show
  1. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/CHANGELOG.md +29 -0
  2. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/PKG-INFO +1 -1
  3. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/api.md +2 -0
  4. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/architecture.md +4 -0
  5. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/llms-full.txt +6 -0
  6. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/pyproject.toml +1 -1
  7. abstractruntime-0.10.2/release-notes.md +19 -0
  8. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/storage/json_files.py +371 -17
  9. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/visualflow_compiler/visual/code_executor.py +213 -18
  10. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/visualflow_compiler/visual/function_library.py +8 -6
  11. abstractruntime-0.10.2/tests/test_active_index.py +400 -0
  12. abstractruntime-0.10.2/tests/test_code_node_imports.py +212 -0
  13. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_json_store_scan_memo.py +16 -1
  14. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_visualflow_function_library.py +2 -2
  15. abstractruntime-0.10.0/release-notes.md +0 -20
  16. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/.github/workflows/ci.yml +0 -0
  17. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/.github/workflows/release.yml +0 -0
  18. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/.gitignore +0 -0
  19. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/ACKNOWLEDGMENTS.md +0 -0
  20. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/CODE_OF_CONDUCT.md +0 -0
  21. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/CONTRIBUTING.md +0 -0
  22. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/LICENSE +0 -0
  23. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/README.md +0 -0
  24. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/ROADMAP.md +0 -0
  25. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/SECURITY.md +0 -0
  26. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/README.md +0 -0
  27. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/adr/0001_layered_coupling_with_abstractcore.md +0 -0
  28. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/adr/0002_execution_modes_local_remote_hybrid.md +0 -0
  29. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/adr/0003_provenance_tamper_evident_hash_chain.md +0 -0
  30. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/adr/0004_runtime_owns_run_scoped_media_execution_truth.md +0 -0
  31. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/adr/0005_runtime_owns_abstractcore_host_discovery_queries.md +0 -0
  32. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/adr/0006_runtime_owns_durable_abstractcore_bloc_prompt_cache.md +0 -0
  33. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/adr/0007_runtime_relays_core_owned_model_residency_truth.md +0 -0
  34. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/adr/README.md +0 -0
  35. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/artifacts.md +0 -0
  36. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/automations.md +0 -0
  37. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/README.md +0 -0
  38. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/completed/001_runtime_kernel.md +0 -0
  39. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/completed/002_persistence_and_ledger.md +0 -0
  40. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/completed/0030_runtime_host_facades_for_comms_telegram_and_tool_specs.md +0 -0
  41. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/completed/0032_runtime_durable_outbound_comms_truth.md +0 -0
  42. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/completed/0033_runtime_host_local_prompt_cache_export_import_surface.md +0 -0
  43. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/completed/0035_model_residency_provider_truth_for_local_http_clients.md +0 -0
  44. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/completed/0037_visualflow_generate_music_node_compiler_parity.md +0 -0
  45. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/completed/0039_runtime_music_structure_prompt_bool_contract.md +0 -0
  46. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/completed/003_wait_primitives.md +0 -0
  47. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/completed/0040_task_agnostic_local_residency_listing.md +0 -0
  48. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/completed/0041_runtime_hardware_extras_avoid_nonpermissive_document_stacks.md +0 -0
  49. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/completed/0042_core_vision_upscale_and_parameter_surface.md +0 -0
  50. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/completed/0043_runtime_vision_adapter_and_batch_surface.md +0 -0
  51. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/completed/004_scheduler_driver.md +0 -0
  52. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/completed/005_abstractcore_integration.md +0 -0
  53. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/completed/006_snapshots_bookmarks.md +0 -0
  54. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/completed/007_provenance_hash_chain.md +0 -0
  55. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/completed/009_artifact_store.md +0 -0
  56. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/completed/010_examples_and_composition.md +0 -0
  57. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/completed/011_subworkflow_support.md +0 -0
  58. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/completed/012_run_store_query_and_scheduler_support.md +0 -0
  59. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/completed/013_effect_retries_and_idempotency.md +0 -0
  60. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/completed/016_runtime_aware_parameters.md +0 -0
  61. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/completed/019_runtime_host_facade_for_core_operator_surfaces.md +0 -0
  62. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/completed/020_runtime_gateway_install_boundary.md +0 -0
  63. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/completed/021_runtime_gateway_env_namespace_cleanup.md +0 -0
  64. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/completed/022_model_residency_control_plane.md +0 -0
  65. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/completed/023_truthful_local_media_residency_boundaries.md +0 -0
  66. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/completed/024_runtime_owned_run_scoped_media_execution.md +0 -0
  67. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/completed/026_runtime_host_discovery_facade_for_core_catalogs.md +0 -0
  68. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/completed/027_runtime_durable_bloc_prompt_cache_facade.md +0 -0
  69. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/completed/028_runtime_bloc_kv_lifecycle_and_pruning.md +0 -0
  70. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/completed/029_runtime_music_generation_and_discovery_via_abstractcore.md +0 -0
  71. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/completed/0846_mlx_instance_scheduling_and_execution_controls.md +0 -0
  72. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/completed/0847_automations_v1_controller_contracts_occurrences_triggers.md +0 -0
  73. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/deprecated/001_integrations_abstractcore.md +0 -0
  74. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/deprecated/001_runtime_kernel.md +0 -0
  75. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/deprecated/002_persistence_and_ledger.md +0 -0
  76. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/deprecated/002_snapshots_bookmarks.md +0 -0
  77. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/deprecated/0034_agent_runtime_convenience_constructor.md +0 -0
  78. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/deprecated/003_provenance_ledger_chain.md +0 -0
  79. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/deprecated/003_wait_resume_and_scheduler.md +0 -0
  80. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/deprecated/004_effect_handlers_and_integrations.md +0 -0
  81. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/deprecated/004_tests.md +0 -0
  82. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/deprecated/005_docs_updates.md +0 -0
  83. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/deprecated/005_examples_and_composition.md +0 -0
  84. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/deprecated/006_ai_fingerprint_and_provenance.md +0 -0
  85. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/deprecated/DEPRECATED_README.md +0 -0
  86. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/deprecated/README.md +0 -0
  87. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/deprecated/abstractruntime_docs_final_02a7373b.plan.md +0 -0
  88. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/planned/0070_standalone_wui_browser_session_security_contract.md +0 -0
  89. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/planned/008_signatures_and_keys.md +0 -0
  90. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/planned/014_remote_tool_worker_executor.md +0 -0
  91. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/planned/017_limit_warnings_and_observability.md +0 -0
  92. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/planned/018_workspace_access_policy_for_media_and_tools.md +0 -0
  93. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/planned/0233_real_run_cancellation.md +0 -0
  94. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/planned/025_runtime_retention_and_purge_contract.md +0 -0
  95. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/planned/026_context_checkpoint_self_compression.md +0 -0
  96. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/planned/027_quote_provenance_discipline.md +0 -0
  97. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/planned/028_selective_artifact_rehydration.md +0 -0
  98. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/planned/0845_session_prompt_cache_resume_and_purge_contract.md +0 -0
  99. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/planned/0848_automations_v2_external_event_inbox_and_run_triggers.md +0 -0
  100. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/planned/runtime_portability/0065_portable_process_and_lock_layer.md +0 -0
  101. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/planned/runtime_portability/0066_portable_io_and_media_reader.md +0 -0
  102. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/planned/runtime_portability/README.md +0 -0
  103. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/planned/runtime_systemic_reliability/0044_meta_analysis_record.md +0 -0
  104. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/planned/runtime_systemic_reliability/0045_crash_replay_harness_and_ordering_invariant.md +0 -0
  105. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/planned/runtime_systemic_reliability/0046_per_run_driver_exclusion.md +0 -0
  106. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/planned/runtime_systemic_reliability/0047_indexed_idempotency_lookup.md +0 -0
  107. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/planned/runtime_systemic_reliability/0048_durable_io_unification.md +0 -0
  108. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/planned/runtime_systemic_reliability/0049_llm_client_mechanical_split.md +0 -0
  109. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/planned/runtime_systemic_reliability/0050_control_sidecar_all_writers.md +0 -0
  110. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/planned/runtime_systemic_reliability/0051_runtime_owned_durable_event_mailbox.md +0 -0
  111. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/planned/runtime_systemic_reliability/0052_sync_store_event_loop_tripwire.md +0 -0
  112. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/planned/runtime_systemic_reliability/0053_bounded_run_vars_growth.md +0 -0
  113. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/planned/runtime_systemic_reliability/0054_runtime_health_counters.md +0 -0
  114. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/planned/runtime_systemic_reliability/0055_jsonl_store_honesty.md +0 -0
  115. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/planned/runtime_systemic_reliability/0064_prompt_cache_fingerprint_stability.md +0 -0
  116. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/planned/runtime_systemic_reliability/0067_durable_write_discipline.md +0 -0
  117. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/planned/runtime_systemic_reliability/0068_hot_path_store_reads.md +0 -0
  118. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/planned/runtime_systemic_reliability/README.md +0 -0
  119. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/proposed/0031_runtime_tool_spec_adapters_for_gateway_and_mcp.md +0 -0
  120. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/proposed/0036_local_media_residency_bridge_to_core_residency.md +0 -0
  121. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/proposed/0038_core_server_pool_residency_affinity.md +0 -0
  122. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/proposed/0069_document_renderer_professional_figures.md +0 -0
  123. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/proposed/runtime_systemic_reliability/0056_schema_version_and_quarantine_loading.md +0 -0
  124. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/proposed/runtime_systemic_reliability/0057_trust_boundary_stamp_registry.md +0 -0
  125. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/proposed/runtime_systemic_reliability/0058_terminal_run_archival_helper.md +0 -0
  126. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/proposed/runtime_systemic_reliability/0059_memory_span_handler_extraction.md +0 -0
  127. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/proposed/runtime_systemic_reliability/0060_visualflow_compiler_decomposition.md +0 -0
  128. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/proposed/runtime_systemic_reliability/0061_root_api_deprecation_machinery.md +0 -0
  129. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/proposed/runtime_systemic_reliability/0062_dependency_honesty_extras.md +0 -0
  130. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/proposed/runtime_systemic_reliability/0063_b3_envelope_lane_unification.md +0 -0
  131. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/backlog/proposed/runtime_systemic_reliability/README.md +0 -0
  132. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/email.md +0 -0
  133. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/entity-runtime.md +0 -0
  134. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/evidence.md +0 -0
  135. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/faq.md +0 -0
  136. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/getting-started.md +0 -0
  137. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/integrations/abstractcore.md +0 -0
  138. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/limits.md +0 -0
  139. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/manual_testing.md +0 -0
  140. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/mcp-worker.md +0 -0
  141. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/proposal.md +0 -0
  142. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/provenance.md +0 -0
  143. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/snapshots.md +0 -0
  144. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/tool-approval.md +0 -0
  145. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/tools-comms.md +0 -0
  146. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/troubleshooting.md +0 -0
  147. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/docs/workflow-bundles.md +0 -0
  148. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/examples/01_hello_world.py +0 -0
  149. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/examples/02_ask_user.py +0 -0
  150. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/examples/03_wait_until.py +0 -0
  151. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/examples/04_multi_step.py +0 -0
  152. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/examples/05_persistence.py +0 -0
  153. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/examples/06_llm_integration.py +0 -0
  154. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/examples/07_react_agent.py +0 -0
  155. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/examples/README.md +0 -0
  156. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/llms.txt +0 -0
  157. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/mkdocs.yml +0 -0
  158. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/pytest.ini +0 -0
  159. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/scripts/backfill_diary_edges.py +0 -0
  160. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/scripts/generate_llms_full.py +0 -0
  161. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/__init__.py +0 -0
  162. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/automation_queries.py +0 -0
  163. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/automations/__init__.py +0 -0
  164. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/automations/adapters.py +0 -0
  165. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/automations/attention.py +0 -0
  166. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/automations/bundle.py +0 -0
  167. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/automations/bundles/automation-controller/flows/controller.json +0 -0
  168. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/automations/bundles/automation-controller/manifest.json +0 -0
  169. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/automations/commands.py +0 -0
  170. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/automations/controller.py +0 -0
  171. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/automations/ledger.py +0 -0
  172. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/automations/models.py +0 -0
  173. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/automations/service.py +0 -0
  174. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/core/__init__.py +0 -0
  175. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/core/config.py +0 -0
  176. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/core/effect_cancellation.py +0 -0
  177. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/core/event_keys.py +0 -0
  178. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/core/health.py +0 -0
  179. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/core/live_deltas.py +0 -0
  180. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/core/models.py +0 -0
  181. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/core/policy.py +0 -0
  182. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/core/progress_channel.py +0 -0
  183. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/core/run_attribution.py +0 -0
  184. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/core/run_identity.py +0 -0
  185. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/core/run_lifecycle.py +0 -0
  186. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/core/runtime.py +0 -0
  187. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/core/spec.py +0 -0
  188. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/core/tool_scope.py +0 -0
  189. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/core/vars.py +0 -0
  190. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/documents/__init__.py +0 -0
  191. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/documents/charts.py +0 -0
  192. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/documents/docx.py +0 -0
  193. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/documents/pdf.py +0 -0
  194. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/email/__init__.py +0 -0
  195. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/email/actions.py +0 -0
  196. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/email/automations.py +0 -0
  197. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/email/binding.py +0 -0
  198. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/email/feeder.py +0 -0
  199. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/email/frame.py +0 -0
  200. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/email/inbox.py +0 -0
  201. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/evidence/__init__.py +0 -0
  202. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/evidence/recorder.py +0 -0
  203. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/history_bundle.py +0 -0
  204. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/identity/__init__.py +0 -0
  205. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/identity/act_only.py +0 -0
  206. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/identity/chat.py +0 -0
  207. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/identity/communities.py +0 -0
  208. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/identity/diary.py +0 -0
  209. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/identity/digest.py +0 -0
  210. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/identity/entity_runtime.py +0 -0
  211. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/identity/fingerprint.py +0 -0
  212. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/identity/lease.py +0 -0
  213. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/identity/life.py +0 -0
  214. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/identity/memory_reader.py +0 -0
  215. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/identity/night_voice.py +0 -0
  216. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/identity/phase_graph.py +0 -0
  217. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/identity/phase_spec.py +0 -0
  218. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/identity/prelude.py +0 -0
  219. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/identity/prompt_overlay.py +0 -0
  220. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/identity/reflection.py +0 -0
  221. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/identity/spec/entity_phases.vendored.json +0 -0
  222. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/identity/substrate.py +0 -0
  223. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/identity/tool_effects.py +0 -0
  224. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/identity/tool_policy.py +0 -0
  225. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/identity/tools.py +0 -0
  226. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/identity/visit_workflow.py +0 -0
  227. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/integrations/__init__.py +0 -0
  228. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/integrations/abstractcore/__init__.py +0 -0
  229. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/integrations/abstractcore/agora_tools.py +0 -0
  230. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/integrations/abstractcore/command_sandbox_host.py +0 -0
  231. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/integrations/abstractcore/comms_facade.py +0 -0
  232. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/integrations/abstractcore/config_facade.py +0 -0
  233. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/integrations/abstractcore/constants.py +0 -0
  234. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/integrations/abstractcore/data_registry_facade.py +0 -0
  235. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/integrations/abstractcore/default_tools.py +0 -0
  236. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/integrations/abstractcore/discovery_facade.py +0 -0
  237. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/integrations/abstractcore/discovery_queries.py +0 -0
  238. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/integrations/abstractcore/effect_handlers.py +0 -0
  239. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/integrations/abstractcore/email_facade.py +0 -0
  240. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/integrations/abstractcore/embeddings_client.py +0 -0
  241. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/integrations/abstractcore/factory.py +0 -0
  242. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/integrations/abstractcore/host_facade.py +0 -0
  243. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/integrations/abstractcore/llm_client.py +0 -0
  244. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/integrations/abstractcore/local_helper_tools.py +0 -0
  245. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/integrations/abstractcore/logging.py +0 -0
  246. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/integrations/abstractcore/mcp_facade.py +0 -0
  247. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/integrations/abstractcore/mcp_worker.py +0 -0
  248. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/integrations/abstractcore/media_subprocess.py +0 -0
  249. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/integrations/abstractcore/observability.py +0 -0
  250. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/integrations/abstractcore/output_specs.py +0 -0
  251. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/integrations/abstractcore/run_facade.py +0 -0
  252. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/integrations/abstractcore/server_facade.py +0 -0
  253. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/integrations/abstractcore/session_attachments.py +0 -0
  254. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/integrations/abstractcore/structured_facade.py +0 -0
  255. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/integrations/abstractcore/summarizer.py +0 -0
  256. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/integrations/abstractcore/telegram_facade.py +0 -0
  257. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/integrations/abstractcore/tool_effects.py +0 -0
  258. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/integrations/abstractcore/tool_executor.py +0 -0
  259. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/integrations/abstractcore/tool_inventory_facade.py +0 -0
  260. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/integrations/abstractcore/workspace_scoped_tools.py +0 -0
  261. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/integrations/abstractmemory/__init__.py +0 -0
  262. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/integrations/abstractmemory/brain_handlers.py +0 -0
  263. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/integrations/abstractmemory/effect_handlers.py +0 -0
  264. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/integrations/abstractmemory/identity_support.py +0 -0
  265. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/integrations/abstractmemory/seam_handlers.py +0 -0
  266. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/memory/__init__.py +0 -0
  267. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/memory/active_context.py +0 -0
  268. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/memory/active_memory.py +0 -0
  269. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/memory/compaction.py +0 -0
  270. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/memory/kg_packets.py +0 -0
  271. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/memory/memact_composer.py +0 -0
  272. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/memory/recall_levels.py +0 -0
  273. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/memory/token_budget.py +0 -0
  274. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/rendering/__init__.py +0 -0
  275. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/rendering/agent_trace_report.py +0 -0
  276. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/rendering/json_stringify.py +0 -0
  277. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/scheduler/__init__.py +0 -0
  278. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/scheduler/convenience.py +0 -0
  279. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/scheduler/multi_store.py +0 -0
  280. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/scheduler/registry.py +0 -0
  281. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/scheduler/scheduler.py +0 -0
  282. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/session_history.py +0 -0
  283. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/session_turns.py +0 -0
  284. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/storage/__init__.py +0 -0
  285. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/storage/artifacts.py +0 -0
  286. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/storage/base.py +0 -0
  287. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/storage/commands.py +0 -0
  288. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/storage/in_memory.py +0 -0
  289. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/storage/lease.py +0 -0
  290. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/storage/ledger_chain.py +0 -0
  291. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/storage/ledger_slim.py +0 -0
  292. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/storage/observable.py +0 -0
  293. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/storage/offloading.py +0 -0
  294. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/storage/serialize.py +0 -0
  295. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/storage/snapshots.py +0 -0
  296. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/storage/sqlite.py +0 -0
  297. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/storage/steer_sidecar.py +0 -0
  298. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/triggers/__init__.py +0 -0
  299. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/triggers/email_received.py +0 -0
  300. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/triggers/manual.py +0 -0
  301. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/triggers/protocol.py +0 -0
  302. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/triggers/registry.py +0 -0
  303. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/triggers/schedule.py +0 -0
  304. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/turn_grounding.py +0 -0
  305. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/utils/__init__.py +0 -0
  306. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/utils/atomic_files.py +0 -0
  307. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/utils/file_filters.py +0 -0
  308. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/utils/workspace_paths.py +0 -0
  309. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/visualflow_compiler/__init__.py +0 -0
  310. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/visualflow_compiler/adapters/__init__.py +0 -0
  311. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/visualflow_compiler/adapters/agent_adapter.py +0 -0
  312. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/visualflow_compiler/adapters/context_adapter.py +0 -0
  313. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/visualflow_compiler/adapters/control_adapter.py +0 -0
  314. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/visualflow_compiler/adapters/effect_adapter.py +0 -0
  315. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/visualflow_compiler/adapters/event_adapter.py +0 -0
  316. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/visualflow_compiler/adapters/function_adapter.py +0 -0
  317. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/visualflow_compiler/adapters/memact_adapter.py +0 -0
  318. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/visualflow_compiler/adapters/subflow_adapter.py +0 -0
  319. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/visualflow_compiler/adapters/variable_adapter.py +0 -0
  320. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/visualflow_compiler/compiler.py +0 -0
  321. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/visualflow_compiler/flow.py +0 -0
  322. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/visualflow_compiler/visual/__init__.py +0 -0
  323. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/visualflow_compiler/visual/agent_ids.py +0 -0
  324. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/visualflow_compiler/visual/builtins.py +0 -0
  325. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/visualflow_compiler/visual/execution_metrics.py +0 -0
  326. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/visualflow_compiler/visual/executor.py +0 -0
  327. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/visualflow_compiler/visual/loop_back_check.py +0 -0
  328. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/visualflow_compiler/visual/loop_limit_lowering.py +0 -0
  329. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/visualflow_compiler/visual/models.py +0 -0
  330. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/visualflow_compiler/visual/multi_entry_lowering.py +0 -0
  331. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/visualflow_compiler/visual/pin_expressions.py +0 -0
  332. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/visualflow_compiler/visual/reroute_lowering.py +0 -0
  333. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/workflow_bundle/__init__.py +0 -0
  334. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/workflow_bundle/models.py +0 -0
  335. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/workflow_bundle/packer.py +0 -0
  336. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/workflow_bundle/reader.py +0 -0
  337. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/src/abstractruntime/workflow_bundle/registry.py +0 -0
  338. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/README.md +0 -0
  339. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/automation_harness.py +0 -0
  340. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/conftest.py +0 -0
  341. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/email_wp2_support.py +0 -0
  342. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/fixtures/schedule_v1_corpus.json +0 -0
  343. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/live_email/conftest.py +0 -0
  344. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/live_email/live_email_support.py +0 -0
  345. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/live_email/test_email_live_runtime.py +0 -0
  346. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_abstractcore_comms_facade.py +0 -0
  347. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_abstractcore_discovery_facade.py +0 -0
  348. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_abstractcore_host_facade.py +0 -0
  349. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_abstractcore_run_facade.py +0 -0
  350. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_abstractcore_server_facade.py +0 -0
  351. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_abstractcore_structured_facade.py +0 -0
  352. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_abstractcore_telegram_facade.py +0 -0
  353. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_active_context_policy.py +0 -0
  354. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_active_memory.py +0 -0
  355. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_agora_agent_alias_identity.py +0 -0
  356. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_agora_tools_http.py +0 -0
  357. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_analyze_media_addressing_and_walling.py +0 -0
  358. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_answer_user_effect.py +0 -0
  359. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_artifacts.py +0 -0
  360. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_automation_calendar_schedule.py +0 -0
  361. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_automation_commands.py +0 -0
  362. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_automation_controller.py +0 -0
  363. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_automation_controller_recovery.py +0 -0
  364. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_automation_definition.py +0 -0
  365. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_automation_discussion_isolation.py +0 -0
  366. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_automation_email_results.py +0 -0
  367. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_automation_growing_context.py +0 -0
  368. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_automation_index.py +0 -0
  369. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_automation_next_fire.py +0 -0
  370. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_automation_occurrence_input_resolver.py +0 -0
  371. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_automation_occurrence_recovery.py +0 -0
  372. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_automation_replay_read_only.py +0 -0
  373. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_automation_retry.py +0 -0
  374. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_automation_session_turns.py +0 -0
  375. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_automation_status.py +0 -0
  376. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_automation_tool_approval.py +0 -0
  377. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_browser_probe_target_walling.py +0 -0
  378. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_budget_law_no_unrequested_caps.py +0 -0
  379. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_capability_default_reasoning.py +0 -0
  380. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_chat_summarizer_integration.py +0 -0
  381. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_code_node_restricted_python.py +0 -0
  382. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_command_sandbox_host_facade.py +0 -0
  383. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_command_store.py +0 -0
  384. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_compaction_helpers.py +0 -0
  385. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_compaction_summarizer_route.py +0 -0
  386. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_config_facade_models_engines.py +0 -0
  387. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_config_facade_voice_input_hint.py +0 -0
  388. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_control_adapter_while.py +0 -0
  389. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_controller_bundle_packaged.py +0 -0
  390. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_crash_ordering_inversions.py +0 -0
  391. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_create_if_absent.py +0 -0
  392. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_data_registry_facade.py +0 -0
  393. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_default_tools_camera_gating.py +0 -0
  394. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_default_tools_comms_gating.py +0 -0
  395. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_default_tools_include_skim_files.py +0 -0
  396. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_default_tools_include_skim_folders.py +0 -0
  397. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_default_tools_include_skim_web.py +0 -0
  398. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_default_tools_search_files_executor.py +0 -0
  399. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_diary_capture.py +0 -0
  400. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_diary_write_rescue.py +0 -0
  401. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_directory_lease.py +0 -0
  402. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_disabled_toolsets_seam.py +0 -0
  403. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_discovery_survives_unbuildable_default.py +0 -0
  404. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_discovery_tts_unavailable_reason.py +0 -0
  405. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_discovery_voice_openai_api_key.py +0 -0
  406. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_discussion_session_anchor.py +0 -0
  407. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_document_markdown_tables.py +0 -0
  408. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_document_renderers_hr_quote.py +0 -0
  409. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_durable_toolsets.py +0 -0
  410. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_durable_write_discipline.py +0 -0
  411. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_e2e_tool_calls_idempotency_lmstudio.py +0 -0
  412. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_effect_cancellation.py +0 -0
  413. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_effect_issuance_idempotency.py +0 -0
  414. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_effect_payload_stays_json_serializable.py +0 -0
  415. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_election_consequence_teaching.py +0 -0
  416. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_email_binding_and_refiner.py +0 -0
  417. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_email_gate_fixes.py +0 -0
  418. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_email_inbox_and_trigger.py +0 -0
  419. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_email_regate_fixes.py +0 -0
  420. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_email_review_fixes.py +0 -0
  421. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_email_self_trigger_loop.py +0 -0
  422. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_email_toolset_and_walls.py +0 -0
  423. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_emergence_experiment.py +0 -0
  424. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_emit_event_uses_wait_index.py +0 -0
  425. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_emit_event_without_workflow_registry.py +0 -0
  426. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_endpoint_profile_route_context.py +0 -0
  427. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_entity_awake_memory_fixes.py +0 -0
  428. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_entity_brain_effects.py +0 -0
  429. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_entity_chat_driver.py +0 -0
  430. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_entity_chat_tools_reflection.py +0 -0
  431. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_entity_diary.py +0 -0
  432. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_entity_execute_tool.py +0 -0
  433. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_entity_fetch_url_tool.py +0 -0
  434. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_entity_history_window.py +0 -0
  435. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_entity_life_loop.py +0 -0
  436. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_entity_memory_richness.py +0 -0
  437. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_entity_phase_graph_conformance.py +0 -0
  438. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_entity_react_visit_window.py +0 -0
  439. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_entity_recent_memories.py +0 -0
  440. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_entity_runtime.py +0 -0
  441. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_entity_search_memory.py +0 -0
  442. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_entity_sleep_bound_and_yield_attribution.py +0 -0
  443. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_entity_substrate_resolution.py +0 -0
  444. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_entity_visit_honesty.py +0 -0
  445. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_entity_workspace_cap.py +0 -0
  446. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_entity_workspace_tools.py +0 -0
  447. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_event_wait_index.py +0 -0
  448. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_every_path_bearing_tool_is_walled.py +0 -0
  449. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_evidence_recorder.py +0 -0
  450. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_evidence_recorder_post_policy_envelope.py +0 -0
  451. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_execute_command_output_offload.py +0 -0
  452. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_execution_capability_discovery.py +0 -0
  453. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_explicit_eject_other_clients.py +0 -0
  454. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_factory_default_retry_policy.py +0 -0
  455. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_factory_timeouts_default_to_abstractcore_config.py +0 -0
  456. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_format_repair_nudge.py +0 -0
  457. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_fresh_install_no_provider.py +0 -0
  458. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_gateway_facades_c4899.py +0 -0
  459. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_git_read_only_refiner.py +0 -0
  460. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_hf_process_residency_merge.py +0 -0
  461. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_history_window_multimodal.py +0 -0
  462. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_hot_path_store_reads.py +0 -0
  463. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_indexed_idempotency_lookup.py +0 -0
  464. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_integration_abstractcore.py +0 -0
  465. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_integrations_abstractcore.py +0 -0
  466. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_json_file_run_store_children_index.py +0 -0
  467. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_json_run_cache_bound.py +0 -0
  468. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_jsonl_ledger_recovery.py +0 -0
  469. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_kg_learn_and_recall_contract.py +0 -0
  470. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_ledger_chain.py +0 -0
  471. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_ledger_record_slimming.py +0 -0
  472. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_ledger_subscription.py +0 -0
  473. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_live_token_deltas.py +0 -0
  474. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_llm_call_media_artifact_refs.py +0 -0
  475. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_llm_call_media_artifact_refs_persist_across_restart.py +0 -0
  476. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_llm_call_media_uses_source_path_label.py +0 -0
  477. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_llm_call_payload_shape_refusal.py +0 -0
  478. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_llm_call_requires_prompt.py +0 -0
  479. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_llm_call_response_schema_normalization.py +0 -0
  480. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_llm_call_structured_output_fallback.py +0 -0
  481. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_llm_call_text_phase_progress.py +0 -0
  482. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_llm_call_truncation_retry_contract.py +0 -0
  483. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_llm_call_use_context_appends_turn.py +0 -0
  484. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_llm_call_verbatim_payload_capture.py +0 -0
  485. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_llm_client_grounding_tail.py +0 -0
  486. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_llm_client_media_artifacts.py +0 -0
  487. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_llm_client_system_context.py +0 -0
  488. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_llm_client_tool_call_parsing.py +0 -0
  489. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_llm_retry_classification.py +0 -0
  490. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_llm_streaming_on_token.py +0 -0
  491. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_local_helper_tool_exposure.py +0 -0
  492. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_local_residency_host_sweep.py +0 -0
  493. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_local_runtime_timeout_kwarg_policy.py +0 -0
  494. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_max_iterations_ceiling.py +0 -0
  495. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_mcp_remote_tool_executor.py +0 -0
  496. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_mcp_runs_untrusted_and_facade.py +0 -0
  497. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_mcp_worker_logging.py +0 -0
  498. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_mcp_worker_security.py +0 -0
  499. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_mcp_worker_stdio.py +0 -0
  500. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_media_artifact_resolution.py +0 -0
  501. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_media_capability_default_routing.py +0 -0
  502. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_media_only_requests_skip_text_client.py +0 -0
  503. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_media_subprocess.py +0 -0
  504. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_memact_composer_from_kg_result.py +0 -0
  505. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_memory_appraise_handler.py +0 -0
  506. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_memory_communities.py +0 -0
  507. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_memory_kg_assert_attributes_defaults.py +0 -0
  508. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_memory_kg_packets.py +0 -0
  509. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_memory_kg_predicate_aliasing.py +0 -0
  510. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_memory_kg_query_packetization_restart.py +0 -0
  511. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_memory_kg_query_recall_level_policy.py +0 -0
  512. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_memory_kg_semantic_query_ranking.py +0 -0
  513. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_memory_note_effect.py +0 -0
  514. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_memory_query_effect.py +0 -0
  515. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_memory_query_rich_filters.py +0 -0
  516. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_memory_scope_and_rehydrate_effect.py +0 -0
  517. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_memory_seam_handlers.py +0 -0
  518. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_memory_seam_sqlite_durability.py +0 -0
  519. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_memory_tag_effect.py +0 -0
  520. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_mlx_generation_serialization.py +0 -0
  521. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_mlx_process_residency_merge.py +0 -0
  522. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_model_eject_cancel.py +0 -0
  523. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_model_residency_clean_switch.py +0 -0
  524. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_model_residency_control_plane.py +0 -0
  525. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_model_residency_lock_and_context_estimate.py +0 -0
  526. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_multi_store_scheduler.py +0 -0
  527. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_multimodal_abstractcore_integration.py +0 -0
  528. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_native_mlx_application_wiring.py +0 -0
  529. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_native_mlx_execution_controls_live.py +0 -0
  530. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_native_tool_channel.py +0 -0
  531. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_night_voice.py +0 -0
  532. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_no_default_provider_refusal_ux.py +0 -0
  533. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_offload_answer_chain_c4978.py +0 -0
  534. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_offloaded_node_traces_report_unknown_not_zero.py +0 -0
  535. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_offloading.py +0 -0
  536. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_packaging_extras.py +0 -0
  537. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_parallel_readonly_tool_execution.py +0 -0
  538. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_pause_resume.py +0 -0
  539. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_pdf_unicode_rendering.py +0 -0
  540. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_personal_cycle.py +0 -0
  541. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_phantom_attachment_index.py +0 -0
  542. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_phase_graph_artifact_control.py +0 -0
  543. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_phase_graph_obedience.py +0 -0
  544. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_phase_vocabulary_migration.py +0 -0
  545. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_pooled_client_strips_construction_cache_key.py +0 -0
  546. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_prompt_cache_export_import.py +0 -0
  547. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_prompt_cache_fingerprint_stability.py +0 -0
  548. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_prompt_cache_modules.py +0 -0
  549. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_prompt_cache_posture_inheritance.py +0 -0
  550. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_prompt_cache_thinking_and_prompt_only.py +0 -0
  551. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_prompt_overlay.py +0 -0
  552. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_provider_endpoint_profile_resolution.py +0 -0
  553. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_provider_pin_routing_isolation.py +0 -0
  554. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_queryable_run_store.py +0 -0
  555. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_r12_workspace_sandbox.py +0 -0
  556. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_read_file_fallback_to_session_attachments.py +0 -0
  557. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_read_idle_threading.py +0 -0
  558. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_readoption_experiment.py +0 -0
  559. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_real_integration.py +0 -0
  560. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_realize_election.py +0 -0
  561. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_recall_levels_policy.py +0 -0
  562. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_remote_client_cancel.py +0 -0
  563. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_remote_llm_client.py +0 -0
  564. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_remote_speculation_defaults.py +0 -0
  565. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_rendering_agent_trace_report.py +0 -0
  566. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_rendering_json_stringify.py +0 -0
  567. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_report_branding.py +0 -0
  568. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_resident_media_generation.py +0 -0
  569. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_resume_concurrent_same_wait.py +0 -0
  570. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_retry_idempotency.py +0 -0
  571. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_run_history_bundle.py +0 -0
  572. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_run_index_workspace_root.py +0 -0
  573. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_run_mutation_lock.py +0 -0
  574. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_run_scoped_tool_policy.py +0 -0
  575. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_run_tool_scope_ceiling.py +0 -0
  576. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_runtime_browser_session_boundary.py +0 -0
  577. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_runtime_config_max_output_tokens_fallback.py +0 -0
  578. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_runtime_default_provider_model_refresh.py +0 -0
  579. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_runtime_effect_invocation_trace.py +0 -0
  580. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_runtime_health_and_bounded_vars.py +0 -0
  581. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_runtime_install_boundary.py +0 -0
  582. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_runtime_llm_call_grounding_in_ledger.py +0 -0
  583. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_runtime_node_traces.py +0 -0
  584. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_runtime_start_seeds_tool_support.py +0 -0
  585. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_runtime_tick_step_gate.py +0 -0
  586. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_schedule_v1_corpus.py +0 -0
  587. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_schedule_v2_calendar.py +0 -0
  588. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_scheduler.py +0 -0
  589. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_send_email_refiner.py +0 -0
  590. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_send_email_self_default_policy.py +0 -0
  591. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_session_attachments_registry_and_open_tool.py +0 -0
  592. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_session_history.py +0 -0
  593. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_session_prompt_cache_attribution.py +0 -0
  594. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_session_prompt_cache_visibility.py +0 -0
  595. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_session_route_stamp.py +0 -0
  596. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_session_start_cost.py +0 -0
  597. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_shell_tool_exposure.py +0 -0
  598. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_snapshots.py +0 -0
  599. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_speculation_inheritance.py +0 -0
  600. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_speculation_reaches_provider_construction.py +0 -0
  601. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_sqlite_ledger_store.py +0 -0
  602. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_start_subworkflow_async_wait.py +0 -0
  603. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_start_subworkflow_inherit_context_merges_messages.py +0 -0
  604. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_start_subworkflow_workspace_inheritance.py +0 -0
  605. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_steer_sidecar.py +0 -0
  606. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_storage_deletion.py +0 -0
  607. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_structured_output_schema_enum.py +0 -0
  608. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_subworkflow.py +0 -0
  609. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_terminal_effect_completion.py +0 -0
  610. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_terminal_resume_appends_ledger_completion.py +0 -0
  611. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_thinking_inheritance.py +0 -0
  612. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_tick_completion_includes_output_in_ledger.py +0 -0
  613. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_tool_approval_executor.py +0 -0
  614. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_tool_approval_resume_executes.py +0 -0
  615. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_tool_approval_wait_key_identity.py +0 -0
  616. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_tool_calls_idempotency_keys.py +0 -0
  617. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_tool_catalog.py +0 -0
  618. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_tool_descriptor_registry.py +0 -0
  619. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_tool_executor_argument_sanitization.py +0 -0
  620. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_tool_executor_error_output_detection.py +0 -0
  621. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_tool_executor_filename_alias.py +0 -0
  622. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_tool_executor_kwarg_canonicalization.py +0 -0
  623. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_tool_executor_read_file_aliases.py +0 -0
  624. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_tool_executor_timeout.py +0 -0
  625. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_tool_inventory_facade.py +0 -0
  626. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_tool_invoke_effect.py +0 -0
  627. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_tool_policy_and_mounts.py +0 -0
  628. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_tool_wait_allowlist_safety.py +0 -0
  629. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_topic_election_world_model.py +0 -0
  630. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_trace_context_propagation.py +0 -0
  631. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_trigger_registry.py +0 -0
  632. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_trigger_schedule_math.py +0 -0
  633. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_turn_grounding_byte_stability.py +0 -0
  634. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_turn_grounding_carriers_a3.py +0 -0
  635. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_vars_query_effect.py +0 -0
  636. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_visit_ab_fixture.py +0 -0
  637. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_visit_midturn_elections.py +0 -0
  638. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_visit_midturn_resume.py +0 -0
  639. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_visit_workflow.py +0 -0
  640. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_visual_agent_output_context_includes_messages.py +0 -0
  641. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_visual_agent_skills_block_passthrough.py +0 -0
  642. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_visual_agent_tool_observations_persist_across_restart.py +0 -0
  643. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_visual_agent_use_context_inherits_attachments.py +0 -0
  644. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_visual_agent_use_context_persists_tool_observations.py +0 -0
  645. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_visual_agent_use_context_persists_turn.py +0 -0
  646. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_visual_entity_memory_nodes.py +0 -0
  647. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_visual_flow_end_effect_only_persistence.py +0 -0
  648. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_visual_llm_call_partial_override.py +0 -0
  649. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_visual_llm_call_schema_ref_resolution.py +0 -0
  650. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_visual_loop_back_out_of_body.py +0 -0
  651. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_visual_loop_limit_and_list_nodes.py +0 -0
  652. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_visual_loop_limit_on_wire.py +0 -0
  653. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_visual_memact_compose_node.py +0 -0
  654. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_visual_memory_kg_query_outputs_propagate.py +0 -0
  655. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_visual_memory_kg_resolve_outputs_propagate.py +0 -0
  656. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_visual_multi_entry_loop_overrides.py +0 -0
  657. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_visual_reroute_lowering.py +0 -0
  658. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_visual_set_vars_pins.py +0 -0
  659. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_visual_unknown_node_type_refuses.py +0 -0
  660. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_visual_wait_event_deadline_passthrough.py +0 -0
  661. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_visualflow_add_message_builtin.py +0 -0
  662. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_visualflow_add_message_node_appends_to_active_context.py +0 -0
  663. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_visualflow_agora_react_agent.py +0 -0
  664. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_visualflow_call_tool_node.py +0 -0
  665. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_visualflow_capability_routes_and_thinking.py +0 -0
  666. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_visualflow_compiler_basic.py +0 -0
  667. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_visualflow_context_and_builder_nodes.py +0 -0
  668. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_visualflow_continue_on_error.py +0 -0
  669. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_visualflow_edit_json_schema_node.py +0 -0
  670. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_visualflow_event_inbox_react_agent.py +0 -0
  671. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_visualflow_file_nodes_workspace.py +0 -0
  672. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_visualflow_get_element_node.py +0 -0
  673. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_visualflow_get_random_element_node.py +0 -0
  674. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_visualflow_get_var_node.py +0 -0
  675. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_visualflow_has_tools_builtin.py +0 -0
  676. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_visualflow_llm_call_context_attachments_map_to_media.py +0 -0
  677. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_visualflow_llm_call_multimodal_output.py +0 -0
  678. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_visualflow_make_object_node.py +0 -0
  679. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_visualflow_media_nodes.py +0 -0
  680. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_visualflow_memory_effect_nodes.py +0 -0
  681. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_visualflow_memory_source_pins.py +0 -0
  682. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_visualflow_pin_expressions.py +0 -0
  683. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_visualflow_prompt_only.py +0 -0
  684. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_visualflow_random_nodes.py +0 -0
  685. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_visualflow_schema_enum_switch.py +0 -0
  686. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_visualflow_string_contains_replace.py +0 -0
  687. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_visualflow_tool_parameters_node.py +0 -0
  688. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_voice_openai_api_key_path.py +0 -0
  689. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_voice_stream_is_not_a_wait.py +0 -0
  690. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_w4_feelings_lens.py +0 -0
  691. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_wait_event_deadline.py +0 -0
  692. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_wait_event_prompt_metadata.py +0 -0
  693. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_wait_until_streak.py +0 -0
  694. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_wait_until_utc_normalization.py +0 -0
  695. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_workflow_bundle_registry.py +0 -0
  696. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_workspace_builtin_deny.py +0 -0
  697. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_workspace_context_allowed_workspaces.py +0 -0
  698. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_workspace_policy_absolute_reanchor.py +0 -0
  699. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_workspace_policy_allowlist_mode.py +0 -0
  700. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_workspace_policy_mount_virtual_paths.py +0 -0
  701. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_workspace_policy_tool_calls_persist_across_restart.py +0 -0
  702. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_workspace_prompt_context.py +0 -0
  703. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_workspace_read_only.py +0 -0
  704. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_workspace_writable_paths.py +0 -0
  705. {abstractruntime-0.10.0 → abstractruntime-0.10.2}/tests/test_write_chart.py +0 -0
@@ -5,6 +5,35 @@ All notable changes to AbstractRuntime will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [0.10.2] - 2026-10-16
9
+
10
+ ### Changed
11
+
12
+ - **Code nodes can import Python's standard library.** In the `sandbox` permission mode, `import json`, `re`,
13
+ `datetime`, `math`, `collections`, `itertools`, `statistics`, `textwrap`, `hashlib`, `urllib.parse`… now
14
+ work, at the top of the code and inside functions, in both the RestrictedPython lane and the fallback lane, and
15
+ inside the function bodies of flow function libraries. The sandbox still refuses third-party packages, private
16
+ (`_`-prefixed) modules, and the standard-library modules that reach the machine or go around the sandbox's own
17
+ checks: processes and the operating system (`os`, `subprocess`, `threading`, `signal`, `ctypes`, `platform`…), files (`io`,
18
+ `pathlib`, `shutil`, `tempfile`, `glob`, `sqlite3`, `logging`, and the parsers that read a file by path: `xml`,
19
+ `configparser`, `argparse`…), the network (`socket`, `http`, `urllib.request`, `smtplib`…), code loading or
20
+ interpreter internals (`sys`, `importlib`, `pickle`, `types`, `inspect`…) and attribute access by name,
21
+ evaluated annotations or frames (`operator`, `typing`, `functools`, `traceback`). A refusal names the module
22
+ and the reason; `from x import *`, relative imports and the `__import__` call stay refused.
23
+ - **A Code node's return value must be JSON data.** `transform` returning a module, a function, a set, bytes or
24
+ any other value JSON cannot carry now fails with a sandbox error naming the value and where it sits
25
+ (`transform returned a value that cannot be sent as JSON: module 'time' at output[2]`), in every permission
26
+ mode, instead of a serializer crash later in the gateway's simulate reply or the run's persisted state. `full_access` (host policy) imports anything, as before.
27
+ The rule is applied twice: at compile time by `validate_code`, and at run time by the `__import__` bound into
28
+ the sandbox builtins. `get_code_execution_policy()` now lists `imports.denied_modules` for thin clients.
29
+
30
+ ## [0.10.1] - 2026-10-16
31
+
32
+ ### Changed
33
+
34
+ - **The JSON run store answers "which runs are running or waiting" from an in-memory index.** Every such listing (`list_runs` / `list_run_index` with status running or waiting) used to glob and `stat()` every run file in the store on every call — 10,678 files on a long-lived store — and each `stat` releases the GIL, so the scan queued behind any busy thread: 0.2 s alone, 3 s with two concurrent, 67–147 s beside a generating model. The store now keeps the set of active run ids, built from one scan, maintained by `save()`, `delete()` and the creation journal, and re-verifies every candidate against disk at listing time, so a run that ended or vanished is never listed and a stale entry heals itself; a background rescan at most every 60 s catches a writer that bypasses the journal. The rows, their order, filters, limits and the `updated_at` sort are exactly the scan's — proven by a differential harness against a copy of a live store under concurrent writers and a busy thread, and by `tests/test_active_index.py`. `JsonFileRunStore(..., use_active_index=False)` keeps the plain scan.
35
+ - The creation journal gains a `~<run_id>` line: a run that becomes active through one store object (resumed, re-opened, first save after a restart) is announced to every other store object on the same folder, like `+` for creation and `-` for deletion. Older readers ignore the line.
36
+
8
37
  ## [0.10.0] - 2026-10-15
9
38
 
10
39
  ### Added
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: AbstractRuntime
3
- Version: 0.10.0
3
+ Version: 0.10.2
4
4
  Summary: AbstractRuntime: a durable graph runner designed to pair with AbstractCore.
5
5
  Project-URL: AbstractCore (website), https://www.abstractcore.ai/
6
6
  Project-URL: AbstractRuntime (GitHub), https://github.com/lpalbou/abstractruntime
@@ -125,6 +125,8 @@ Run index and creation (all built-in run stores, including the offloading wrappe
125
125
  - `list_run_index(status=, workflow_id=, session_id=, root_only=, limit=, oldest_first=, automation_id=, role=, session_kind=)`: lightweight rows carrying `automation_id`, `role`, `occurrence_index`, `session_kind` and `workspace_root` (the run's top-level `vars["workspace_root"]` as stored, stripped; `None` when absent); the three attribution filters take a value, a comma-separated string or a list; `root_only=True` returns turn roots (parent-less runs except automation controllers, plus automation occurrences)
126
126
  - `session_kinds(session_id) -> frozenset` and `latest_occurrence_row(automation_id)`: indexed lookups used by session attribution and automation listings
127
127
  - `JsonFileRunStore.warm_session_index()` builds the session and children indexes at host startup. Store objects and processes sharing one JSON run folder see each other's created and deleted runs through the creation journal `.runs_created.log`; v1 supports one writer process per store
128
+ - `JsonFileRunStore` answers `list_runs` / `list_run_index` for `status=running` or `status=waiting` (without `session_id`) from an in-memory **active index**: the set of active run ids, built from one directory scan (at host boot through `warm_session_index()`, else on the first such listing) and kept current by `save`, `create_if_absent`, `delete` and the creation journal. Every candidate is re-verified against its file at listing time, so a run that ended or vanished is never listed. Rows, order (file mtime, then file name, then the final `updated_at` sort), filters and limits are the same as the directory scan's; a listing of a 10,000-run store costs milliseconds instead of a full scan. `JsonFileRunStore(..., use_active_index=False)` keeps the plain scan. `rescan_active_index()` reconciles the index with the directory in the caller's thread; a background rescan runs at most every `JsonFileRunStore.ACTIVE_INDEX_RESCAN_S` (60 s) to pick up writers that bypass the store. `list_due_wait_until` (the scheduler's due-wait poll) takes its candidates from the index too. Other listings (a terminal status, no status, a session scope) scan as before.
129
+ - The creation journal (`.runs_created.log` in the run folder) carries one line per change another store object or process must learn about: `+<run_id>` created, `-<run_id>` deleted, `~<run_id>` became active again (resumed, re-opened, first save after a restart, or saved after another writer touched the file). Lines are written before the file change they announce; readers apply the lines they have not seen at their next lookup, and a line whose file has not landed yet (or does not read active yet) is re-checked until it does. Readers from AbstractRuntime 0.10.0 ignore `~` lines, and writers from 0.10.0 never write them: a re-open made by such a writer reaches other store objects through the periodic rescan.
128
130
 
129
131
  Common decorators:
130
132
  - `ObservableLedgerStore` for subscriptions (`src/abstractruntime/storage/observable.py`)
@@ -381,6 +381,10 @@ Invariants the design rests on:
381
381
  - **Turns are defined once.** `select_session_turns` decides which runs are a session's turns (parent-less runs
382
382
  except controllers, plus occurrences). History bundles, session replay, growing context and discussion seeds all
383
383
  use it, and `list_run_index(root_only=True)` returns the same turn roots.
384
+ - **Active listings are indexed.** The JSON run store keeps the set of running and waiting run ids in memory
385
+ (one scan to build, then maintained by every save, create and delete and by the creation journal) and verifies each
386
+ candidate against its file when listing, so the gateway's polls read a few files instead of the whole folder while
387
+ returning exactly the scan's rows. See `docs/api.md` → "Run index and creation".
384
388
  - **Attribution is indexed.** Each run index row carries `automation_id`, `role`, `occurrence_index` and
385
389
  `session_kind`, derived from inline `vars._meta` that the offloading store never moves. `Runtime.start` uses
386
390
  `session_attribution` to anchor every root run in a discussion session to the discussion's validated root and its
@@ -812,6 +812,10 @@ Invariants the design rests on:
812
812
  - **Turns are defined once.** `select_session_turns` decides which runs are a session's turns (parent-less runs
813
813
  except controllers, plus occurrences). History bundles, session replay, growing context and discussion seeds all
814
814
  use it, and `list_run_index(root_only=True)` returns the same turn roots.
815
+ - **Active listings are indexed.** The JSON run store keeps the set of running and waiting run ids in memory
816
+ (one scan to build, then maintained by every save, create and delete and by the creation journal) and verifies each
817
+ candidate against its file when listing, so the gateway's polls read a few files instead of the whole folder while
818
+ returning exactly the scan's rows. See `docs/api.md` → "Run index and creation".
815
819
  - **Attribution is indexed.** Each run index row carries `automation_id`, `role`, `occurrence_index` and
816
820
  `session_kind`, derived from inline `vars._meta` that the offloading store never moves. `Runtime.start` uses
817
821
  `session_attribution` to anchor every root run in a discussion session to the discussion's validated root and its
@@ -991,6 +995,8 @@ Run index and creation (all built-in run stores, including the offloading wrappe
991
995
  - `list_run_index(status=, workflow_id=, session_id=, root_only=, limit=, oldest_first=, automation_id=, role=, session_kind=)`: lightweight rows carrying `automation_id`, `role`, `occurrence_index`, `session_kind` and `workspace_root` (the run's top-level `vars["workspace_root"]` as stored, stripped; `None` when absent); the three attribution filters take a value, a comma-separated string or a list; `root_only=True` returns turn roots (parent-less runs except automation controllers, plus automation occurrences)
992
996
  - `session_kinds(session_id) -> frozenset` and `latest_occurrence_row(automation_id)`: indexed lookups used by session attribution and automation listings
993
997
  - `JsonFileRunStore.warm_session_index()` builds the session and children indexes at host startup. Store objects and processes sharing one JSON run folder see each other's created and deleted runs through the creation journal `.runs_created.log`; v1 supports one writer process per store
998
+ - `JsonFileRunStore` answers `list_runs` / `list_run_index` for `status=running` or `status=waiting` (without `session_id`) from an in-memory **active index**: the set of active run ids, built from one directory scan (at host boot through `warm_session_index()`, else on the first such listing) and kept current by `save`, `create_if_absent`, `delete` and the creation journal. Every candidate is re-verified against its file at listing time, so a run that ended or vanished is never listed. Rows, order (file mtime, then file name, then the final `updated_at` sort), filters and limits are the same as the directory scan's; a listing of a 10,000-run store costs milliseconds instead of a full scan. `JsonFileRunStore(..., use_active_index=False)` keeps the plain scan. `rescan_active_index()` reconciles the index with the directory in the caller's thread; a background rescan runs at most every `JsonFileRunStore.ACTIVE_INDEX_RESCAN_S` (60 s) to pick up writers that bypass the store. `list_due_wait_until` (the scheduler's due-wait poll) takes its candidates from the index too. Other listings (a terminal status, no status, a session scope) scan as before.
999
+ - The creation journal (`.runs_created.log` in the run folder) carries one line per change another store object or process must learn about: `+<run_id>` created, `-<run_id>` deleted, `~<run_id>` became active again (resumed, re-opened, first save after a restart, or saved after another writer touched the file). Lines are written before the file change they announce; readers apply the lines they have not seen at their next lookup, and a line whose file has not landed yet (or does not read active yet) is re-checked until it does. Readers from AbstractRuntime 0.10.0 ignore `~` lines, and writers from 0.10.0 never write them: a re-open made by such a writer reaches other store objects through the periodic rescan.
994
1000
 
995
1001
  Common decorators:
996
1002
  - `ObservableLedgerStore` for subscriptions (`src/abstractruntime/storage/observable.py`)
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "AbstractRuntime"
7
- version = "0.10.0"
7
+ version = "0.10.2"
8
8
  description = "AbstractRuntime: a durable graph runner designed to pair with AbstractCore."
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"
@@ -0,0 +1,19 @@
1
+ ### Changed
2
+
3
+ - **Code nodes can import Python's standard library.** In the `sandbox` permission mode, `import json`, `re`,
4
+ `datetime`, `math`, `collections`, `itertools`, `statistics`, `textwrap`, `hashlib`, `urllib.parse`… now
5
+ work, at the top of the code and inside functions, in both the RestrictedPython lane and the fallback lane, and
6
+ inside the function bodies of flow function libraries. The sandbox still refuses third-party packages, private
7
+ (`_`-prefixed) modules, and the standard-library modules that reach the machine or go around the sandbox's own
8
+ checks: processes and the operating system (`os`, `subprocess`, `threading`, `signal`, `ctypes`, `platform`…), files (`io`,
9
+ `pathlib`, `shutil`, `tempfile`, `glob`, `sqlite3`, `logging`, and the parsers that read a file by path: `xml`,
10
+ `configparser`, `argparse`…), the network (`socket`, `http`, `urllib.request`, `smtplib`…), code loading or
11
+ interpreter internals (`sys`, `importlib`, `pickle`, `types`, `inspect`…) and attribute access by name,
12
+ evaluated annotations or frames (`operator`, `typing`, `functools`, `traceback`). A refusal names the module
13
+ and the reason; `from x import *`, relative imports and the `__import__` call stay refused.
14
+ - **A Code node's return value must be JSON data.** `transform` returning a module, a function, a set, bytes or
15
+ any other value JSON cannot carry now fails with a sandbox error naming the value and where it sits
16
+ (`transform returned a value that cannot be sent as JSON: module 'time' at output[2]`), in every permission
17
+ mode, instead of a serializer crash later in the gateway's simulate reply or the run's persisted state. `full_access` (host policy) imports anything, as before.
18
+ The rule is applied twice: at compile time by `validate_code`, and at run time by the `__import__` bound into
19
+ the sandbox builtins. `get_code_execution_policy()` now lists `imports.denied_modules` for thin clients.