AbstractRuntime 0.4.33__tar.gz → 0.4.34__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 (590) hide show
  1. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/CHANGELOG.md +12 -1
  2. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/PKG-INFO +7 -7
  3. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/README.md +3 -3
  4. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/api.md +1 -1
  5. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/architecture.md +1 -1
  6. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/getting-started.md +1 -1
  7. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/integrations/abstractcore.md +2 -2
  8. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/troubleshooting.md +1 -1
  9. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/llms-full.txt +21 -10
  10. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/llms.txt +2 -2
  11. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/pyproject.toml +4 -4
  12. abstractruntime-0.4.34/release-notes.md +7 -0
  13. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/integrations/abstractcore/config_facade.py +8 -3
  14. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_config_facade_models_engines.py +9 -2
  15. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_packaging_extras.py +3 -3
  16. abstractruntime-0.4.33/release-notes.md +0 -25
  17. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/.github/workflows/ci.yml +0 -0
  18. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/.github/workflows/release.yml +0 -0
  19. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/.gitignore +0 -0
  20. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/ACKNOWLEDGMENTS.md +0 -0
  21. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/CODE_OF_CONDUCT.md +0 -0
  22. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/CONTRIBUTING.md +0 -0
  23. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/LICENSE +0 -0
  24. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/ROADMAP.md +0 -0
  25. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/SECURITY.md +0 -0
  26. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/README.md +0 -0
  27. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/adr/0001_layered_coupling_with_abstractcore.md +0 -0
  28. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/adr/0002_execution_modes_local_remote_hybrid.md +0 -0
  29. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/adr/0003_provenance_tamper_evident_hash_chain.md +0 -0
  30. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/adr/0004_runtime_owns_run_scoped_media_execution_truth.md +0 -0
  31. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/adr/0005_runtime_owns_abstractcore_host_discovery_queries.md +0 -0
  32. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/adr/0006_runtime_owns_durable_abstractcore_bloc_prompt_cache.md +0 -0
  33. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/adr/0007_runtime_relays_core_owned_model_residency_truth.md +0 -0
  34. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/adr/README.md +0 -0
  35. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/artifacts.md +0 -0
  36. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/README.md +0 -0
  37. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/completed/001_runtime_kernel.md +0 -0
  38. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/completed/002_persistence_and_ledger.md +0 -0
  39. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/completed/0030_runtime_host_facades_for_comms_telegram_and_tool_specs.md +0 -0
  40. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/completed/0032_runtime_durable_outbound_comms_truth.md +0 -0
  41. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/completed/0033_runtime_host_local_prompt_cache_export_import_surface.md +0 -0
  42. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/completed/0035_model_residency_provider_truth_for_local_http_clients.md +0 -0
  43. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/completed/0037_visualflow_generate_music_node_compiler_parity.md +0 -0
  44. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/completed/0039_runtime_music_structure_prompt_bool_contract.md +0 -0
  45. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/completed/003_wait_primitives.md +0 -0
  46. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/completed/0040_task_agnostic_local_residency_listing.md +0 -0
  47. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/completed/0041_runtime_hardware_extras_avoid_nonpermissive_document_stacks.md +0 -0
  48. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/completed/0042_core_vision_upscale_and_parameter_surface.md +0 -0
  49. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/completed/0043_runtime_vision_adapter_and_batch_surface.md +0 -0
  50. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/completed/004_scheduler_driver.md +0 -0
  51. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/completed/005_abstractcore_integration.md +0 -0
  52. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/completed/006_snapshots_bookmarks.md +0 -0
  53. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/completed/007_provenance_hash_chain.md +0 -0
  54. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/completed/009_artifact_store.md +0 -0
  55. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/completed/010_examples_and_composition.md +0 -0
  56. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/completed/011_subworkflow_support.md +0 -0
  57. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/completed/012_run_store_query_and_scheduler_support.md +0 -0
  58. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/completed/013_effect_retries_and_idempotency.md +0 -0
  59. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/completed/016_runtime_aware_parameters.md +0 -0
  60. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/completed/019_runtime_host_facade_for_core_operator_surfaces.md +0 -0
  61. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/completed/020_runtime_gateway_install_boundary.md +0 -0
  62. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/completed/021_runtime_gateway_env_namespace_cleanup.md +0 -0
  63. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/completed/022_model_residency_control_plane.md +0 -0
  64. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/completed/023_truthful_local_media_residency_boundaries.md +0 -0
  65. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/completed/024_runtime_owned_run_scoped_media_execution.md +0 -0
  66. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/completed/026_runtime_host_discovery_facade_for_core_catalogs.md +0 -0
  67. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/completed/027_runtime_durable_bloc_prompt_cache_facade.md +0 -0
  68. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/completed/028_runtime_bloc_kv_lifecycle_and_pruning.md +0 -0
  69. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/completed/029_runtime_music_generation_and_discovery_via_abstractcore.md +0 -0
  70. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/completed/0846_mlx_instance_scheduling_and_execution_controls.md +0 -0
  71. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/deprecated/001_integrations_abstractcore.md +0 -0
  72. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/deprecated/001_runtime_kernel.md +0 -0
  73. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/deprecated/002_persistence_and_ledger.md +0 -0
  74. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/deprecated/002_snapshots_bookmarks.md +0 -0
  75. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/deprecated/0034_agent_runtime_convenience_constructor.md +0 -0
  76. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/deprecated/003_provenance_ledger_chain.md +0 -0
  77. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/deprecated/003_wait_resume_and_scheduler.md +0 -0
  78. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/deprecated/004_effect_handlers_and_integrations.md +0 -0
  79. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/deprecated/004_tests.md +0 -0
  80. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/deprecated/005_docs_updates.md +0 -0
  81. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/deprecated/005_examples_and_composition.md +0 -0
  82. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/deprecated/006_ai_fingerprint_and_provenance.md +0 -0
  83. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/deprecated/DEPRECATED_README.md +0 -0
  84. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/deprecated/README.md +0 -0
  85. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/deprecated/abstractruntime_docs_final_02a7373b.plan.md +0 -0
  86. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/planned/0070_standalone_wui_browser_session_security_contract.md +0 -0
  87. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/planned/008_signatures_and_keys.md +0 -0
  88. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/planned/014_remote_tool_worker_executor.md +0 -0
  89. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/planned/017_limit_warnings_and_observability.md +0 -0
  90. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/planned/018_workspace_access_policy_for_media_and_tools.md +0 -0
  91. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/planned/0233_real_run_cancellation.md +0 -0
  92. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/planned/025_runtime_retention_and_purge_contract.md +0 -0
  93. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/planned/026_context_checkpoint_self_compression.md +0 -0
  94. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/planned/027_quote_provenance_discipline.md +0 -0
  95. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/planned/028_selective_artifact_rehydration.md +0 -0
  96. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/planned/0845_session_prompt_cache_resume_and_purge_contract.md +0 -0
  97. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/planned/runtime_portability/0065_portable_process_and_lock_layer.md +0 -0
  98. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/planned/runtime_portability/0066_portable_io_and_media_reader.md +0 -0
  99. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/planned/runtime_portability/README.md +0 -0
  100. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/planned/runtime_systemic_reliability/0044_meta_analysis_record.md +0 -0
  101. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/planned/runtime_systemic_reliability/0045_crash_replay_harness_and_ordering_invariant.md +0 -0
  102. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/planned/runtime_systemic_reliability/0046_per_run_driver_exclusion.md +0 -0
  103. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/planned/runtime_systemic_reliability/0047_indexed_idempotency_lookup.md +0 -0
  104. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/planned/runtime_systemic_reliability/0048_durable_io_unification.md +0 -0
  105. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/planned/runtime_systemic_reliability/0049_llm_client_mechanical_split.md +0 -0
  106. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/planned/runtime_systemic_reliability/0050_control_sidecar_all_writers.md +0 -0
  107. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/planned/runtime_systemic_reliability/0051_runtime_owned_durable_event_mailbox.md +0 -0
  108. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/planned/runtime_systemic_reliability/0052_sync_store_event_loop_tripwire.md +0 -0
  109. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/planned/runtime_systemic_reliability/0053_bounded_run_vars_growth.md +0 -0
  110. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/planned/runtime_systemic_reliability/0054_runtime_health_counters.md +0 -0
  111. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/planned/runtime_systemic_reliability/0055_jsonl_store_honesty.md +0 -0
  112. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/planned/runtime_systemic_reliability/0064_prompt_cache_fingerprint_stability.md +0 -0
  113. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/planned/runtime_systemic_reliability/0067_durable_write_discipline.md +0 -0
  114. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/planned/runtime_systemic_reliability/0068_hot_path_store_reads.md +0 -0
  115. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/planned/runtime_systemic_reliability/README.md +0 -0
  116. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/proposed/0031_runtime_tool_spec_adapters_for_gateway_and_mcp.md +0 -0
  117. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/proposed/0036_local_media_residency_bridge_to_core_residency.md +0 -0
  118. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/proposed/0038_core_server_pool_residency_affinity.md +0 -0
  119. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/proposed/0069_document_renderer_professional_figures.md +0 -0
  120. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/proposed/runtime_systemic_reliability/0056_schema_version_and_quarantine_loading.md +0 -0
  121. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/proposed/runtime_systemic_reliability/0057_trust_boundary_stamp_registry.md +0 -0
  122. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/proposed/runtime_systemic_reliability/0058_terminal_run_archival_helper.md +0 -0
  123. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/proposed/runtime_systemic_reliability/0059_memory_span_handler_extraction.md +0 -0
  124. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/proposed/runtime_systemic_reliability/0060_visualflow_compiler_decomposition.md +0 -0
  125. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/proposed/runtime_systemic_reliability/0061_root_api_deprecation_machinery.md +0 -0
  126. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/proposed/runtime_systemic_reliability/0062_dependency_honesty_extras.md +0 -0
  127. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/proposed/runtime_systemic_reliability/0063_b3_envelope_lane_unification.md +0 -0
  128. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/backlog/proposed/runtime_systemic_reliability/README.md +0 -0
  129. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/entity-runtime.md +0 -0
  130. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/evidence.md +0 -0
  131. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/faq.md +0 -0
  132. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/limits.md +0 -0
  133. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/manual_testing.md +0 -0
  134. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/mcp-worker.md +0 -0
  135. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/proposal.md +0 -0
  136. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/provenance.md +0 -0
  137. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/snapshots.md +0 -0
  138. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/tool-approval.md +0 -0
  139. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/tools-comms.md +0 -0
  140. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/docs/workflow-bundles.md +0 -0
  141. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/emails.config.example.yaml +0 -0
  142. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/examples/01_hello_world.py +0 -0
  143. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/examples/02_ask_user.py +0 -0
  144. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/examples/03_wait_until.py +0 -0
  145. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/examples/04_multi_step.py +0 -0
  146. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/examples/05_persistence.py +0 -0
  147. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/examples/06_llm_integration.py +0 -0
  148. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/examples/07_react_agent.py +0 -0
  149. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/examples/README.md +0 -0
  150. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/mkdocs.yml +0 -0
  151. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/pytest.ini +0 -0
  152. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/scripts/backfill_diary_edges.py +0 -0
  153. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/__init__.py +0 -0
  154. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/core/__init__.py +0 -0
  155. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/core/config.py +0 -0
  156. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/core/effect_cancellation.py +0 -0
  157. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/core/event_keys.py +0 -0
  158. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/core/health.py +0 -0
  159. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/core/models.py +0 -0
  160. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/core/policy.py +0 -0
  161. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/core/progress_channel.py +0 -0
  162. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/core/run_lifecycle.py +0 -0
  163. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/core/runtime.py +0 -0
  164. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/core/spec.py +0 -0
  165. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/core/tool_scope.py +0 -0
  166. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/core/vars.py +0 -0
  167. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/documents/__init__.py +0 -0
  168. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/documents/charts.py +0 -0
  169. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/documents/docx.py +0 -0
  170. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/documents/pdf.py +0 -0
  171. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/evidence/__init__.py +0 -0
  172. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/evidence/recorder.py +0 -0
  173. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/history_bundle.py +0 -0
  174. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/identity/__init__.py +0 -0
  175. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/identity/act_only.py +0 -0
  176. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/identity/chat.py +0 -0
  177. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/identity/communities.py +0 -0
  178. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/identity/diary.py +0 -0
  179. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/identity/digest.py +0 -0
  180. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/identity/entity_runtime.py +0 -0
  181. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/identity/fingerprint.py +0 -0
  182. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/identity/lease.py +0 -0
  183. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/identity/life.py +0 -0
  184. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/identity/memory_reader.py +0 -0
  185. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/identity/night_voice.py +0 -0
  186. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/identity/phase_graph.py +0 -0
  187. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/identity/phase_spec.py +0 -0
  188. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/identity/prelude.py +0 -0
  189. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/identity/prompt_overlay.py +0 -0
  190. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/identity/reflection.py +0 -0
  191. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/identity/spec/entity_phases.vendored.json +0 -0
  192. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/identity/substrate.py +0 -0
  193. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/identity/tool_effects.py +0 -0
  194. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/identity/tool_policy.py +0 -0
  195. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/identity/tools.py +0 -0
  196. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/identity/visit_workflow.py +0 -0
  197. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/integrations/__init__.py +0 -0
  198. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/integrations/abstractcore/__init__.py +0 -0
  199. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/integrations/abstractcore/agora_tools.py +0 -0
  200. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/integrations/abstractcore/comms_facade.py +0 -0
  201. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/integrations/abstractcore/constants.py +0 -0
  202. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/integrations/abstractcore/data_registry_facade.py +0 -0
  203. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/integrations/abstractcore/default_tools.py +0 -0
  204. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/integrations/abstractcore/discovery_facade.py +0 -0
  205. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/integrations/abstractcore/discovery_queries.py +0 -0
  206. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/integrations/abstractcore/effect_handlers.py +0 -0
  207. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/integrations/abstractcore/embeddings_client.py +0 -0
  208. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/integrations/abstractcore/factory.py +0 -0
  209. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/integrations/abstractcore/host_facade.py +0 -0
  210. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/integrations/abstractcore/llm_client.py +0 -0
  211. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/integrations/abstractcore/local_helper_tools.py +0 -0
  212. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/integrations/abstractcore/logging.py +0 -0
  213. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/integrations/abstractcore/mcp_worker.py +0 -0
  214. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/integrations/abstractcore/media_subprocess.py +0 -0
  215. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/integrations/abstractcore/observability.py +0 -0
  216. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/integrations/abstractcore/output_specs.py +0 -0
  217. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/integrations/abstractcore/run_facade.py +0 -0
  218. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/integrations/abstractcore/session_attachments.py +0 -0
  219. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/integrations/abstractcore/summarizer.py +0 -0
  220. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/integrations/abstractcore/telegram_facade.py +0 -0
  221. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/integrations/abstractcore/tool_executor.py +0 -0
  222. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/integrations/abstractcore/tool_inventory_facade.py +0 -0
  223. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/integrations/abstractcore/workspace_scoped_tools.py +0 -0
  224. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/integrations/abstractmemory/__init__.py +0 -0
  225. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/integrations/abstractmemory/brain_handlers.py +0 -0
  226. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/integrations/abstractmemory/effect_handlers.py +0 -0
  227. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/integrations/abstractmemory/identity_support.py +0 -0
  228. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/integrations/abstractmemory/seam_handlers.py +0 -0
  229. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/memory/__init__.py +0 -0
  230. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/memory/active_context.py +0 -0
  231. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/memory/active_memory.py +0 -0
  232. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/memory/compaction.py +0 -0
  233. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/memory/kg_packets.py +0 -0
  234. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/memory/memact_composer.py +0 -0
  235. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/memory/recall_levels.py +0 -0
  236. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/memory/token_budget.py +0 -0
  237. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/rendering/__init__.py +0 -0
  238. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/rendering/agent_trace_report.py +0 -0
  239. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/rendering/json_stringify.py +0 -0
  240. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/scheduler/__init__.py +0 -0
  241. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/scheduler/convenience.py +0 -0
  242. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/scheduler/multi_store.py +0 -0
  243. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/scheduler/registry.py +0 -0
  244. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/scheduler/scheduler.py +0 -0
  245. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/session_history.py +0 -0
  246. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/storage/__init__.py +0 -0
  247. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/storage/artifacts.py +0 -0
  248. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/storage/base.py +0 -0
  249. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/storage/commands.py +0 -0
  250. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/storage/in_memory.py +0 -0
  251. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/storage/json_files.py +0 -0
  252. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/storage/lease.py +0 -0
  253. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/storage/ledger_chain.py +0 -0
  254. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/storage/ledger_slim.py +0 -0
  255. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/storage/observable.py +0 -0
  256. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/storage/offloading.py +0 -0
  257. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/storage/serialize.py +0 -0
  258. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/storage/snapshots.py +0 -0
  259. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/storage/sqlite.py +0 -0
  260. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/storage/steer_sidecar.py +0 -0
  261. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/turn_grounding.py +0 -0
  262. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/utils/__init__.py +0 -0
  263. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/utils/atomic_files.py +0 -0
  264. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/utils/file_filters.py +0 -0
  265. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/utils/workspace_paths.py +0 -0
  266. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/visualflow_compiler/__init__.py +0 -0
  267. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/visualflow_compiler/adapters/__init__.py +0 -0
  268. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/visualflow_compiler/adapters/agent_adapter.py +0 -0
  269. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/visualflow_compiler/adapters/context_adapter.py +0 -0
  270. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/visualflow_compiler/adapters/control_adapter.py +0 -0
  271. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/visualflow_compiler/adapters/effect_adapter.py +0 -0
  272. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/visualflow_compiler/adapters/event_adapter.py +0 -0
  273. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/visualflow_compiler/adapters/function_adapter.py +0 -0
  274. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/visualflow_compiler/adapters/memact_adapter.py +0 -0
  275. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/visualflow_compiler/adapters/subflow_adapter.py +0 -0
  276. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/visualflow_compiler/adapters/variable_adapter.py +0 -0
  277. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/visualflow_compiler/compiler.py +0 -0
  278. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/visualflow_compiler/flow.py +0 -0
  279. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/visualflow_compiler/visual/__init__.py +0 -0
  280. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/visualflow_compiler/visual/agent_ids.py +0 -0
  281. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/visualflow_compiler/visual/builtins.py +0 -0
  282. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/visualflow_compiler/visual/code_executor.py +0 -0
  283. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/visualflow_compiler/visual/execution_metrics.py +0 -0
  284. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/visualflow_compiler/visual/executor.py +0 -0
  285. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/visualflow_compiler/visual/function_library.py +0 -0
  286. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/visualflow_compiler/visual/models.py +0 -0
  287. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/visualflow_compiler/visual/multi_entry_lowering.py +0 -0
  288. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/visualflow_compiler/visual/pin_expressions.py +0 -0
  289. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/workflow_bundle/__init__.py +0 -0
  290. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/workflow_bundle/models.py +0 -0
  291. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/workflow_bundle/packer.py +0 -0
  292. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/workflow_bundle/reader.py +0 -0
  293. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/src/abstractruntime/workflow_bundle/registry.py +0 -0
  294. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/README.md +0 -0
  295. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/conftest.py +0 -0
  296. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_abstractcore_comms_facade.py +0 -0
  297. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_abstractcore_discovery_facade.py +0 -0
  298. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_abstractcore_host_facade.py +0 -0
  299. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_abstractcore_run_facade.py +0 -0
  300. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_abstractcore_telegram_facade.py +0 -0
  301. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_active_context_policy.py +0 -0
  302. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_active_memory.py +0 -0
  303. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_agora_agent_alias_identity.py +0 -0
  304. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_agora_tools_http.py +0 -0
  305. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_analyze_media_addressing_and_walling.py +0 -0
  306. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_answer_user_effect.py +0 -0
  307. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_artifacts.py +0 -0
  308. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_browser_probe_target_walling.py +0 -0
  309. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_budget_law_no_unrequested_caps.py +0 -0
  310. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_capability_default_reasoning.py +0 -0
  311. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_chat_summarizer_integration.py +0 -0
  312. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_code_node_restricted_python.py +0 -0
  313. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_command_store.py +0 -0
  314. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_compaction_helpers.py +0 -0
  315. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_control_adapter_while.py +0 -0
  316. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_crash_ordering_inversions.py +0 -0
  317. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_data_registry_facade.py +0 -0
  318. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_default_tools_camera_gating.py +0 -0
  319. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_default_tools_comms_gating.py +0 -0
  320. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_default_tools_include_skim_files.py +0 -0
  321. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_default_tools_include_skim_folders.py +0 -0
  322. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_default_tools_include_skim_web.py +0 -0
  323. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_default_tools_search_files_executor.py +0 -0
  324. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_diary_capture.py +0 -0
  325. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_diary_write_rescue.py +0 -0
  326. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_directory_lease.py +0 -0
  327. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_disabled_toolsets_seam.py +0 -0
  328. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_discovery_survives_unbuildable_default.py +0 -0
  329. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_document_markdown_tables.py +0 -0
  330. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_document_renderers_hr_quote.py +0 -0
  331. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_durable_toolsets.py +0 -0
  332. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_durable_write_discipline.py +0 -0
  333. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_e2e_tool_calls_idempotency_lmstudio.py +0 -0
  334. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_effect_cancellation.py +0 -0
  335. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_effect_issuance_idempotency.py +0 -0
  336. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_effect_payload_stays_json_serializable.py +0 -0
  337. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_election_consequence_teaching.py +0 -0
  338. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_emergence_experiment.py +0 -0
  339. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_emit_event_uses_wait_index.py +0 -0
  340. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_emit_event_without_workflow_registry.py +0 -0
  341. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_endpoint_profile_route_context.py +0 -0
  342. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_entity_awake_memory_fixes.py +0 -0
  343. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_entity_brain_effects.py +0 -0
  344. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_entity_chat_driver.py +0 -0
  345. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_entity_chat_tools_reflection.py +0 -0
  346. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_entity_diary.py +0 -0
  347. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_entity_execute_tool.py +0 -0
  348. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_entity_fetch_url_tool.py +0 -0
  349. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_entity_life_loop.py +0 -0
  350. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_entity_memory_richness.py +0 -0
  351. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_entity_phase_graph_conformance.py +0 -0
  352. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_entity_recent_memories.py +0 -0
  353. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_entity_runtime.py +0 -0
  354. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_entity_search_memory.py +0 -0
  355. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_entity_sleep_bound_and_yield_attribution.py +0 -0
  356. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_entity_substrate_resolution.py +0 -0
  357. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_entity_visit_honesty.py +0 -0
  358. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_entity_workspace_cap.py +0 -0
  359. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_entity_workspace_tools.py +0 -0
  360. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_event_wait_index.py +0 -0
  361. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_every_path_bearing_tool_is_walled.py +0 -0
  362. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_evidence_recorder.py +0 -0
  363. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_evidence_recorder_post_policy_envelope.py +0 -0
  364. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_execute_command_output_offload.py +0 -0
  365. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_execution_capability_discovery.py +0 -0
  366. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_factory_default_retry_policy.py +0 -0
  367. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_factory_timeouts_default_to_abstractcore_config.py +0 -0
  368. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_format_repair_nudge.py +0 -0
  369. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_fresh_install_no_provider.py +0 -0
  370. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_gateway_facades_c4899.py +0 -0
  371. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_git_read_only_refiner.py +0 -0
  372. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_hot_path_store_reads.py +0 -0
  373. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_indexed_idempotency_lookup.py +0 -0
  374. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_integration_abstractcore.py +0 -0
  375. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_integrations_abstractcore.py +0 -0
  376. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_json_file_run_store_children_index.py +0 -0
  377. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_json_run_cache_bound.py +0 -0
  378. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_json_store_scan_memo.py +0 -0
  379. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_jsonl_ledger_recovery.py +0 -0
  380. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_kg_learn_and_recall_contract.py +0 -0
  381. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_ledger_chain.py +0 -0
  382. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_ledger_record_slimming.py +0 -0
  383. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_ledger_subscription.py +0 -0
  384. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_llm_call_media_artifact_refs.py +0 -0
  385. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_llm_call_media_artifact_refs_persist_across_restart.py +0 -0
  386. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_llm_call_media_uses_source_path_label.py +0 -0
  387. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_llm_call_payload_shape_refusal.py +0 -0
  388. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_llm_call_requires_prompt.py +0 -0
  389. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_llm_call_response_schema_normalization.py +0 -0
  390. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_llm_call_structured_output_fallback.py +0 -0
  391. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_llm_call_text_phase_progress.py +0 -0
  392. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_llm_call_truncation_retry_contract.py +0 -0
  393. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_llm_call_use_context_appends_turn.py +0 -0
  394. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_llm_call_verbatim_payload_capture.py +0 -0
  395. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_llm_client_grounding_tail.py +0 -0
  396. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_llm_client_media_artifacts.py +0 -0
  397. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_llm_client_system_context.py +0 -0
  398. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_llm_client_tool_call_parsing.py +0 -0
  399. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_llm_retry_classification.py +0 -0
  400. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_llm_streaming_on_token.py +0 -0
  401. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_local_helper_tool_exposure.py +0 -0
  402. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_local_residency_host_sweep.py +0 -0
  403. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_local_runtime_timeout_kwarg_policy.py +0 -0
  404. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_max_iterations_ceiling.py +0 -0
  405. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_mcp_remote_tool_executor.py +0 -0
  406. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_mcp_worker_logging.py +0 -0
  407. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_mcp_worker_security.py +0 -0
  408. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_mcp_worker_stdio.py +0 -0
  409. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_media_artifact_resolution.py +0 -0
  410. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_media_capability_default_routing.py +0 -0
  411. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_media_subprocess.py +0 -0
  412. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_memact_composer_from_kg_result.py +0 -0
  413. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_memory_appraise_handler.py +0 -0
  414. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_memory_communities.py +0 -0
  415. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_memory_kg_assert_attributes_defaults.py +0 -0
  416. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_memory_kg_packets.py +0 -0
  417. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_memory_kg_predicate_aliasing.py +0 -0
  418. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_memory_kg_query_packetization_restart.py +0 -0
  419. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_memory_kg_query_recall_level_policy.py +0 -0
  420. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_memory_kg_semantic_query_ranking.py +0 -0
  421. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_memory_note_effect.py +0 -0
  422. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_memory_query_effect.py +0 -0
  423. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_memory_query_rich_filters.py +0 -0
  424. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_memory_scope_and_rehydrate_effect.py +0 -0
  425. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_memory_seam_handlers.py +0 -0
  426. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_memory_seam_sqlite_durability.py +0 -0
  427. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_memory_tag_effect.py +0 -0
  428. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_mlx_generation_serialization.py +0 -0
  429. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_model_eject_cancel.py +0 -0
  430. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_model_residency_control_plane.py +0 -0
  431. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_model_residency_lock_and_context_estimate.py +0 -0
  432. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_multi_store_scheduler.py +0 -0
  433. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_multimodal_abstractcore_integration.py +0 -0
  434. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_native_mlx_application_wiring.py +0 -0
  435. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_native_mlx_execution_controls_live.py +0 -0
  436. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_native_tool_channel.py +0 -0
  437. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_night_voice.py +0 -0
  438. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_no_default_provider_refusal_ux.py +0 -0
  439. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_offload_answer_chain_c4978.py +0 -0
  440. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_offloaded_node_traces_report_unknown_not_zero.py +0 -0
  441. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_offloading.py +0 -0
  442. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_parallel_readonly_tool_execution.py +0 -0
  443. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_pause_resume.py +0 -0
  444. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_pdf_unicode_rendering.py +0 -0
  445. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_personal_cycle.py +0 -0
  446. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_phantom_attachment_index.py +0 -0
  447. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_phase_graph_artifact_control.py +0 -0
  448. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_phase_graph_obedience.py +0 -0
  449. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_phase_vocabulary_migration.py +0 -0
  450. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_pooled_client_strips_construction_cache_key.py +0 -0
  451. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_prompt_cache_export_import.py +0 -0
  452. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_prompt_cache_fingerprint_stability.py +0 -0
  453. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_prompt_cache_modules.py +0 -0
  454. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_prompt_cache_posture_inheritance.py +0 -0
  455. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_prompt_cache_thinking_and_prompt_only.py +0 -0
  456. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_prompt_overlay.py +0 -0
  457. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_provider_endpoint_profile_resolution.py +0 -0
  458. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_provider_pin_routing_isolation.py +0 -0
  459. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_queryable_run_store.py +0 -0
  460. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_read_file_fallback_to_session_attachments.py +0 -0
  461. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_read_idle_threading.py +0 -0
  462. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_readoption_experiment.py +0 -0
  463. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_real_integration.py +0 -0
  464. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_realize_election.py +0 -0
  465. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_recall_levels_policy.py +0 -0
  466. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_remote_client_cancel.py +0 -0
  467. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_remote_llm_client.py +0 -0
  468. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_remote_speculation_defaults.py +0 -0
  469. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_rendering_agent_trace_report.py +0 -0
  470. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_rendering_json_stringify.py +0 -0
  471. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_report_branding.py +0 -0
  472. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_retry_idempotency.py +0 -0
  473. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_run_history_bundle.py +0 -0
  474. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_run_scoped_tool_policy.py +0 -0
  475. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_run_tool_scope_ceiling.py +0 -0
  476. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_runtime_browser_session_boundary.py +0 -0
  477. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_runtime_config_max_output_tokens_fallback.py +0 -0
  478. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_runtime_default_provider_model_refresh.py +0 -0
  479. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_runtime_effect_invocation_trace.py +0 -0
  480. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_runtime_health_and_bounded_vars.py +0 -0
  481. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_runtime_install_boundary.py +0 -0
  482. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_runtime_llm_call_grounding_in_ledger.py +0 -0
  483. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_runtime_node_traces.py +0 -0
  484. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_runtime_start_seeds_tool_support.py +0 -0
  485. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_runtime_tick_step_gate.py +0 -0
  486. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_scheduler.py +0 -0
  487. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_send_email_refiner.py +0 -0
  488. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_session_attachments_registry_and_open_tool.py +0 -0
  489. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_session_history.py +0 -0
  490. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_session_prompt_cache_attribution.py +0 -0
  491. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_session_prompt_cache_visibility.py +0 -0
  492. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_session_route_stamp.py +0 -0
  493. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_shell_tool_exposure.py +0 -0
  494. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_snapshots.py +0 -0
  495. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_speculation_inheritance.py +0 -0
  496. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_speculation_reaches_provider_construction.py +0 -0
  497. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_sqlite_ledger_store.py +0 -0
  498. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_start_subworkflow_async_wait.py +0 -0
  499. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_start_subworkflow_inherit_context_merges_messages.py +0 -0
  500. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_start_subworkflow_workspace_inheritance.py +0 -0
  501. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_steer_sidecar.py +0 -0
  502. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_storage_deletion.py +0 -0
  503. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_structured_output_schema_enum.py +0 -0
  504. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_subworkflow.py +0 -0
  505. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_terminal_effect_completion.py +0 -0
  506. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_terminal_resume_appends_ledger_completion.py +0 -0
  507. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_thinking_inheritance.py +0 -0
  508. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_tick_completion_includes_output_in_ledger.py +0 -0
  509. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_tool_approval_executor.py +0 -0
  510. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_tool_approval_resume_executes.py +0 -0
  511. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_tool_approval_wait_key_identity.py +0 -0
  512. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_tool_calls_idempotency_keys.py +0 -0
  513. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_tool_catalog.py +0 -0
  514. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_tool_descriptor_registry.py +0 -0
  515. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_tool_executor_argument_sanitization.py +0 -0
  516. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_tool_executor_error_output_detection.py +0 -0
  517. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_tool_executor_filename_alias.py +0 -0
  518. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_tool_executor_kwarg_canonicalization.py +0 -0
  519. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_tool_executor_read_file_aliases.py +0 -0
  520. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_tool_executor_timeout.py +0 -0
  521. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_tool_inventory_facade.py +0 -0
  522. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_tool_invoke_effect.py +0 -0
  523. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_tool_policy_and_mounts.py +0 -0
  524. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_tool_wait_allowlist_safety.py +0 -0
  525. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_topic_election_world_model.py +0 -0
  526. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_trace_context_propagation.py +0 -0
  527. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_turn_grounding_byte_stability.py +0 -0
  528. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_turn_grounding_carriers_a3.py +0 -0
  529. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_vars_query_effect.py +0 -0
  530. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_visit_ab_fixture.py +0 -0
  531. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_visit_history_replay_caps.py +0 -0
  532. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_visit_midturn_elections.py +0 -0
  533. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_visit_midturn_resume.py +0 -0
  534. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_visit_workflow.py +0 -0
  535. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_visual_agent_output_context_includes_messages.py +0 -0
  536. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_visual_agent_skills_block_passthrough.py +0 -0
  537. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_visual_agent_tool_observations_persist_across_restart.py +0 -0
  538. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_visual_agent_use_context_inherits_attachments.py +0 -0
  539. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_visual_agent_use_context_persists_tool_observations.py +0 -0
  540. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_visual_agent_use_context_persists_turn.py +0 -0
  541. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_visual_entity_memory_nodes.py +0 -0
  542. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_visual_flow_end_effect_only_persistence.py +0 -0
  543. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_visual_llm_call_partial_override.py +0 -0
  544. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_visual_llm_call_schema_ref_resolution.py +0 -0
  545. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_visual_memact_compose_node.py +0 -0
  546. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_visual_memory_kg_query_outputs_propagate.py +0 -0
  547. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_visual_memory_kg_resolve_outputs_propagate.py +0 -0
  548. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_visual_multi_entry_loop_overrides.py +0 -0
  549. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_visual_unknown_node_type_refuses.py +0 -0
  550. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_visual_wait_event_deadline_passthrough.py +0 -0
  551. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_visualflow_add_message_builtin.py +0 -0
  552. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_visualflow_add_message_node_appends_to_active_context.py +0 -0
  553. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_visualflow_agora_react_agent.py +0 -0
  554. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_visualflow_call_tool_node.py +0 -0
  555. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_visualflow_capability_routes_and_thinking.py +0 -0
  556. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_visualflow_compiler_basic.py +0 -0
  557. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_visualflow_context_and_builder_nodes.py +0 -0
  558. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_visualflow_continue_on_error.py +0 -0
  559. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_visualflow_edit_json_schema_node.py +0 -0
  560. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_visualflow_event_inbox_react_agent.py +0 -0
  561. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_visualflow_file_nodes_workspace.py +0 -0
  562. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_visualflow_function_library.py +0 -0
  563. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_visualflow_get_element_node.py +0 -0
  564. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_visualflow_get_random_element_node.py +0 -0
  565. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_visualflow_get_var_node.py +0 -0
  566. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_visualflow_has_tools_builtin.py +0 -0
  567. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_visualflow_llm_call_context_attachments_map_to_media.py +0 -0
  568. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_visualflow_llm_call_multimodal_output.py +0 -0
  569. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_visualflow_make_object_node.py +0 -0
  570. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_visualflow_media_nodes.py +0 -0
  571. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_visualflow_memory_effect_nodes.py +0 -0
  572. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_visualflow_memory_source_pins.py +0 -0
  573. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_visualflow_pin_expressions.py +0 -0
  574. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_visualflow_prompt_only.py +0 -0
  575. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_visualflow_random_nodes.py +0 -0
  576. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_visualflow_schema_enum_switch.py +0 -0
  577. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_visualflow_string_contains_replace.py +0 -0
  578. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_visualflow_tool_parameters_node.py +0 -0
  579. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_w4_feelings_lens.py +0 -0
  580. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_wait_event_deadline.py +0 -0
  581. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_wait_event_prompt_metadata.py +0 -0
  582. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_wait_until_streak.py +0 -0
  583. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_wait_until_utc_normalization.py +0 -0
  584. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_workflow_bundle_registry.py +0 -0
  585. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_workspace_policy_absolute_reanchor.py +0 -0
  586. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_workspace_policy_allowlist_mode.py +0 -0
  587. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_workspace_policy_mount_virtual_paths.py +0 -0
  588. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_workspace_policy_tool_calls_persist_across_restart.py +0 -0
  589. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_workspace_prompt_context.py +0 -0
  590. {abstractruntime-0.4.33 → abstractruntime-0.4.34}/tests/test_write_chart.py +0 -0
@@ -7,6 +7,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.4.34] - 2026-09-24
11
+
12
+ ### Changed
13
+
14
+ - `config_facade.host_job_cancel(job_id, *, by="api", user=None)` passes who asked for a cancel to
15
+ AbstractCore (needs AbstractCore with `HostJobRegistry.cancel(by=, user=)`), so a cancelled
16
+ download can say who cancelled it.
17
+ - The AbstractCore floor is now 2.15.1 in the base install and in the `apple`
18
+ and `gpu` extras (the release whose host-job cancel takes `by` and `user`).
19
+
10
20
  ## [0.4.33] - 2026-09-23
11
21
 
12
22
  ### Added
@@ -855,7 +865,8 @@ AbstractRuntime is the durable execution substrate designed to pair with Abstrac
855
865
 
856
866
  Initial development version with basic proof-of-concept features.
857
867
 
858
- [Unreleased]: https://github.com/lpalbou/abstractruntime/compare/v0.4.33...HEAD
868
+ [Unreleased]: https://github.com/lpalbou/abstractruntime/compare/v0.4.34...HEAD
869
+ [0.4.34]: https://github.com/lpalbou/abstractruntime/compare/v0.4.33...v0.4.34
859
870
  [0.4.33]: https://github.com/lpalbou/abstractruntime/compare/v0.4.32...v0.4.33
860
871
  [0.4.32]: https://github.com/lpalbou/abstractruntime/compare/v0.4.29...v0.4.32
861
872
  [0.4.31]: https://github.com/lpalbou/abstractruntime/compare/v0.4.29...v0.4.31
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: AbstractRuntime
3
- Version: 0.4.33
3
+ Version: 0.4.34
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
@@ -20,7 +20,7 @@ Classifier: Programming Language :: Python :: 3.11
20
20
  Classifier: Programming Language :: Python :: 3.12
21
21
  Classifier: Programming Language :: Python :: 3.13
22
22
  Requires-Python: >=3.10
23
- Requires-Dist: abstractcore[audio,music,remote,tools,vision,voice]>=2.14.0
23
+ Requires-Dist: abstractcore[audio,music,remote,tools,vision,voice]>=2.15.1
24
24
  Requires-Dist: abstractmemory>=0.3.0
25
25
  Requires-Dist: abstractsemantics>=0.0.5
26
26
  Requires-Dist: anyio<5.0.0,>=4.12.1
@@ -35,14 +35,14 @@ Requires-Dist: reportlab<5.0.0,>=4.0.0
35
35
  Requires-Dist: restrictedpython>=7.0
36
36
  Requires-Dist: unstructured[docx,odt,pptx,rtf,xlsx]<0.19.0,>=0.18.32
37
37
  Provides-Extra: apple
38
- Requires-Dist: abstractcore[all-apple]>=2.14.0; extra == 'apple'
38
+ Requires-Dist: abstractcore[all-apple]>=2.15.1; extra == 'apple'
39
39
  Requires-Dist: setuptools<82.0.0,>=80.10.2; extra == 'apple'
40
40
  Provides-Extra: docs
41
41
  Requires-Dist: mkdocs-material>=9.0.0; extra == 'docs'
42
42
  Requires-Dist: mkdocs>=1.6.0; extra == 'docs'
43
43
  Requires-Dist: pymdown-extensions>=10.0; extra == 'docs'
44
44
  Provides-Extra: gpu
45
- Requires-Dist: abstractcore[all-gpu]>=2.14.0; extra == 'gpu'
45
+ Requires-Dist: abstractcore[all-gpu]>=2.15.1; extra == 'gpu'
46
46
  Requires-Dist: setuptools<82.0.0,>=77.0.3; extra == 'gpu'
47
47
  Provides-Extra: test
48
48
  Requires-Dist: pytest>=7.0.0; extra == 'test'
@@ -54,7 +54,7 @@ Description-Content-Type: text/markdown
54
54
 
55
55
  It is designed for long-running workflows that must survive restarts and explicitly model blocking (human input, timers, external events, subworkflows) without keeping Python stacks alive.
56
56
 
57
- **Version:** 0.4.33 • **Python:** 3.10+
57
+ **Version:** 0.4.34 • **Python:** 3.10+
58
58
 
59
59
  **Status:** pre-1.0 (API may evolve). For production use, pin versions and follow `CHANGELOG.md`.
60
60
 
@@ -82,7 +82,7 @@ Remote-light runtime:
82
82
  pip install abstractruntime
83
83
  ```
84
84
 
85
- The base install includes AbstractCore 2.14.0 or newer with remote provider,
85
+ The base install includes AbstractCore 2.15.1 or newer with remote provider,
86
86
  tool, vision, voice, audio, and music integration, plus the
87
87
  `abstractruntime-mcp-worker` entry point. It keeps inference remote/light by
88
88
  default: local engines such as MLX, vLLM, HuggingFace/Torch, Diffusers, and
@@ -146,7 +146,7 @@ state = rt.resume(
146
146
  assert state.status.value == "completed"
147
147
  ```
148
148
 
149
- ## What’s included (v0.4.33)
149
+ ## What’s included (v0.4.34)
150
150
 
151
151
  Kernel (import-light):
152
152
  - workflow graphs: `WorkflowSpec` (`src/abstractruntime/core/spec.py`)
@@ -4,7 +4,7 @@
4
4
 
5
5
  It is designed for long-running workflows that must survive restarts and explicitly model blocking (human input, timers, external events, subworkflows) without keeping Python stacks alive.
6
6
 
7
- **Version:** 0.4.33 • **Python:** 3.10+
7
+ **Version:** 0.4.34 • **Python:** 3.10+
8
8
 
9
9
  **Status:** pre-1.0 (API may evolve). For production use, pin versions and follow `CHANGELOG.md`.
10
10
 
@@ -32,7 +32,7 @@ Remote-light runtime:
32
32
  pip install abstractruntime
33
33
  ```
34
34
 
35
- The base install includes AbstractCore 2.14.0 or newer with remote provider,
35
+ The base install includes AbstractCore 2.15.1 or newer with remote provider,
36
36
  tool, vision, voice, audio, and music integration, plus the
37
37
  `abstractruntime-mcp-worker` entry point. It keeps inference remote/light by
38
38
  default: local engines such as MLX, vLLM, HuggingFace/Torch, Diffusers, and
@@ -96,7 +96,7 @@ state = rt.resume(
96
96
  assert state.status.value == "completed"
97
97
  ```
98
98
 
99
- ## What’s included (v0.4.33)
99
+ ## What’s included (v0.4.34)
100
100
 
101
101
  Kernel (import-light):
102
102
  - workflow graphs: `WorkflowSpec` (`src/abstractruntime/core/spec.py`)
@@ -216,7 +216,7 @@ from Core route resolution and persisted from `LLM_CALL` results.
216
216
 
217
217
  ### AbstractCore (LLM + tools)
218
218
 
219
- Requires: `pip install abstractruntime` (AbstractCore 2.14.0 or newer is part of the base install).
219
+ Requires: `pip install abstractruntime` (AbstractCore 2.15.1 or newer is part of the base install).
220
220
 
221
221
  Implementation: `src/abstractruntime/integrations/abstractcore/*`.
222
222
 
@@ -1,7 +1,7 @@
1
1
  # AbstractRuntime — Architecture
2
2
 
3
3
  > Updated: 2026-08-27
4
- > Version: 0.4.33
4
+ > Version: 0.4.34
5
5
  > Scope: this describes **what is implemented in this repository**.
6
6
 
7
7
  AbstractRuntime is a **durable workflow runtime**: it executes workflow graphs as a persisted state machine with explicit waits (user, time, events, jobs, subworkflows). A run can pause for hours/days and resume **without** keeping Python stacks/coroutines alive.
@@ -12,7 +12,7 @@ Remote-light runtime:
12
12
  pip install abstractruntime
13
13
  ```
14
14
 
15
- This installs AbstractCore 2.14.0 or newer with remote provider, vision,
15
+ This installs AbstractCore 2.15.1 or newer with remote provider, vision,
16
16
  voice, audio, music, tool, and MCP-worker support. The base install is
17
17
  remote-light: it can route multimodal workflows to hosted or OpenAI-compatible
18
18
  endpoints, but it does not select local inferencer stacks such as MLX, vLLM,
@@ -16,7 +16,7 @@ Implementation pointers (this repo):
16
16
  pip install abstractruntime
17
17
  ```
18
18
 
19
- The base install includes AbstractCore 2.14.0 or newer. That is the supported baseline for the current server auth split (`Authorization` for server auth, `X-AbstractCore-Provider-API-Key` for provider overrides), generated-media contracts, image upscaling, capability catalog, prompt-cache control-plane endpoints (including session attribution via `/acore/prompt_cache/key_meta`), host memory snapshots, the host-wide loaded-model sweep used by residency listings, durable bloc prompt-cache helpers, bindings and lifecycle operations, task-aware model residency for text/image/video/TTS/STT, current tool catalog, AbstractCore's public output-selector contract, async/sync text-generation output-selector parity, video generation endpoints, the public local vision-cache catalog helper used by Runtime discovery, vision adapter discovery plus batch/LoRA media controls, and the released shared workspace/file-filter utility surface used by Runtime packaging and integration checks.
19
+ The base install includes AbstractCore 2.15.1 or newer. That is the supported baseline for the current server auth split (`Authorization` for server auth, `X-AbstractCore-Provider-API-Key` for provider overrides), generated-media contracts, image upscaling, capability catalog, prompt-cache control-plane endpoints (including session attribution via `/acore/prompt_cache/key_meta`), host memory snapshots, the host-wide loaded-model sweep used by residency listings, durable bloc prompt-cache helpers, bindings and lifecycle operations, task-aware model residency for text/image/video/TTS/STT, current tool catalog, AbstractCore's public output-selector contract, async/sync text-generation output-selector parity, video generation endpoints, the public local vision-cache catalog helper used by Runtime discovery, vision adapter discovery plus batch/LoRA media controls, and the released shared workspace/file-filter utility surface used by Runtime packaging and integration checks.
20
20
 
21
21
  The base install also includes the remote-light media/capability plugins needed
22
22
  for AbstractCore's multimodal `generate(..., output=...)` path. Local
@@ -689,7 +689,7 @@ without importing AbstractCore itself.
689
689
  | `delete_model_artifact(provider, artifact, dry_run=False, force=False)` | a `host_job_v1` job of kind `delete` |
690
690
  | `start_model_download_job(provider, artifact, dry_run=False)` | a `host_job_v1` job of kind `download` (single-flight per artifact) |
691
691
  | `host_jobs_list(kind=None, status=None)` | `{"schema": "host_jobs_v1", "jobs": [...]}`, newest first, including jobs started by other processes on the host |
692
- | `host_job(job_id)` / `host_job_cancel(job_id)` | one job, or `None` when the id is unknown |
692
+ | `host_job(job_id)` / `host_job_cancel(job_id, *, by="api", user=None)` | one job, or `None` when the id is unknown; a cancel records `by` (`api`, `console`) and the signed-in `user` on the job (`cancelled_by`, `cancelled_by_user`, `ended_reason`; AbstractCore 2.15.1+) |
693
693
  | `console_fragment(kind)` | AbstractCore's embeddable web screen (`models` or `engines`): `{"html", "js", "css"}` |
694
694
  | `models_engines_support()` | `{"available", "abstractcore_version", "required", "missing"}`; never raises |
695
695
 
@@ -20,7 +20,7 @@ Fix:
20
20
  - Install or upgrade the base Runtime package. LLM/tools integration, common
21
21
  remote-light multimodal dependencies, and the MCP worker entry point are part
22
22
  of the base install.
23
- - The current AbstractCore integration expects `abstractcore>=2.14.0`.
23
+ - The current AbstractCore integration expects `abstractcore>=2.15.1`.
24
24
 
25
25
  Verify:
26
26
 
@@ -13,7 +13,7 @@ It is generated from `llms.txt` in first-link order, de-duplicated, with repo-ro
13
13
 
14
14
  It is designed for long-running workflows that must survive restarts and explicitly model blocking (human input, timers, external events, subworkflows) without keeping Python stacks alive.
15
15
 
16
- **Version:** 0.4.33 • **Python:** 3.10+
16
+ **Version:** 0.4.34 • **Python:** 3.10+
17
17
 
18
18
  **Status:** pre-1.0 (API may evolve). For production use, pin versions and follow `CHANGELOG.md`.
19
19
 
@@ -41,7 +41,7 @@ Remote-light runtime:
41
41
  pip install abstractruntime
42
42
  ```
43
43
 
44
- The base install includes AbstractCore 2.14.0 or newer with remote provider,
44
+ The base install includes AbstractCore 2.15.1 or newer with remote provider,
45
45
  tool, vision, voice, audio, and music integration, plus the
46
46
  `abstractruntime-mcp-worker` entry point. It keeps inference remote/light by
47
47
  default: local engines such as MLX, vLLM, HuggingFace/Torch, Diffusers, and
@@ -105,7 +105,7 @@ state = rt.resume(
105
105
  assert state.status.value == "completed"
106
106
  ```
107
107
 
108
- ## What’s included (v0.4.33)
108
+ ## What’s included (v0.4.34)
109
109
 
110
110
  Kernel (import-light):
111
111
  - workflow graphs: `WorkflowSpec` (`src/abstractruntime/core/spec.py`)
@@ -235,7 +235,7 @@ Remote-light runtime:
235
235
  pip install abstractruntime
236
236
  ```
237
237
 
238
- This installs AbstractCore 2.14.0 or newer with remote provider, vision,
238
+ This installs AbstractCore 2.15.1 or newer with remote provider, vision,
239
239
  voice, audio, music, tool, and MCP-worker support. The base install is
240
240
  remote-light: it can route multimodal workflows to hosted or OpenAI-compatible
241
241
  endpoints, but it does not select local inferencer stacks such as MLX, vLLM,
@@ -594,7 +594,7 @@ from Core route resolution and persisted from `LLM_CALL` results.
594
594
 
595
595
  ### AbstractCore (LLM + tools)
596
596
 
597
- Requires: `pip install abstractruntime` (AbstractCore 2.14.0 or newer is part of the base install).
597
+ Requires: `pip install abstractruntime` (AbstractCore 2.15.1 or newer is part of the base install).
598
598
 
599
599
  Implementation: `src/abstractruntime/integrations/abstractcore/*`.
600
600
 
@@ -684,7 +684,7 @@ This provides handlers for `MEMORY_KG_*` effects (opt-in wiring layer).
684
684
  # AbstractRuntime — Architecture
685
685
 
686
686
  > Updated: 2026-08-27
687
- > Version: 0.4.33
687
+ > Version: 0.4.34
688
688
  > Scope: this describes **what is implemented in this repository**.
689
689
 
690
690
  AbstractRuntime is a **durable workflow runtime**: it executes workflow graphs as a persisted state machine with explicit waits (user, time, events, jobs, subworkflows). A run can pause for hours/days and resume **without** keeping Python stacks/coroutines alive.
@@ -1357,7 +1357,7 @@ Fix:
1357
1357
  - Install or upgrade the base Runtime package. LLM/tools integration, common
1358
1358
  remote-light multimodal dependencies, and the MCP worker entry point are part
1359
1359
  of the base install.
1360
- - The current AbstractCore integration expects `abstractcore>=2.14.0`.
1360
+ - The current AbstractCore integration expects `abstractcore>=2.15.1`.
1361
1361
 
1362
1362
  Verify:
1363
1363
 
@@ -1832,7 +1832,7 @@ Implementation pointers (this repo):
1832
1832
  pip install abstractruntime
1833
1833
  ```
1834
1834
 
1835
- The base install includes AbstractCore 2.14.0 or newer. That is the supported baseline for the current server auth split (`Authorization` for server auth, `X-AbstractCore-Provider-API-Key` for provider overrides), generated-media contracts, image upscaling, capability catalog, prompt-cache control-plane endpoints (including session attribution via `/acore/prompt_cache/key_meta`), host memory snapshots, the host-wide loaded-model sweep used by residency listings, durable bloc prompt-cache helpers, bindings and lifecycle operations, task-aware model residency for text/image/video/TTS/STT, current tool catalog, AbstractCore's public output-selector contract, async/sync text-generation output-selector parity, video generation endpoints, the public local vision-cache catalog helper used by Runtime discovery, vision adapter discovery plus batch/LoRA media controls, and the released shared workspace/file-filter utility surface used by Runtime packaging and integration checks.
1835
+ The base install includes AbstractCore 2.15.1 or newer. That is the supported baseline for the current server auth split (`Authorization` for server auth, `X-AbstractCore-Provider-API-Key` for provider overrides), generated-media contracts, image upscaling, capability catalog, prompt-cache control-plane endpoints (including session attribution via `/acore/prompt_cache/key_meta`), host memory snapshots, the host-wide loaded-model sweep used by residency listings, durable bloc prompt-cache helpers, bindings and lifecycle operations, task-aware model residency for text/image/video/TTS/STT, current tool catalog, AbstractCore's public output-selector contract, async/sync text-generation output-selector parity, video generation endpoints, the public local vision-cache catalog helper used by Runtime discovery, vision adapter discovery plus batch/LoRA media controls, and the released shared workspace/file-filter utility surface used by Runtime packaging and integration checks.
1836
1836
 
1837
1837
  The base install also includes the remote-light media/capability plugins needed
1838
1838
  for AbstractCore's multimodal `generate(..., output=...)` path. Local
@@ -2505,7 +2505,7 @@ without importing AbstractCore itself.
2505
2505
  | `delete_model_artifact(provider, artifact, dry_run=False, force=False)` | a `host_job_v1` job of kind `delete` |
2506
2506
  | `start_model_download_job(provider, artifact, dry_run=False)` | a `host_job_v1` job of kind `download` (single-flight per artifact) |
2507
2507
  | `host_jobs_list(kind=None, status=None)` | `{"schema": "host_jobs_v1", "jobs": [...]}`, newest first, including jobs started by other processes on the host |
2508
- | `host_job(job_id)` / `host_job_cancel(job_id)` | one job, or `None` when the id is unknown |
2508
+ | `host_job(job_id)` / `host_job_cancel(job_id, *, by="api", user=None)` | one job, or `None` when the id is unknown; a cancel records `by` (`api`, `console`) and the signed-in `user` on the job (`cancelled_by`, `cancelled_by_user`, `ended_reason`; AbstractCore 2.15.1+) |
2509
2509
  | `console_fragment(kind)` | AbstractCore's embeddable web screen (`models` or `engines`): `{"html", "js", "css"}` |
2510
2510
  | `models_engines_support()` | `{"available", "abstractcore_version", "required", "missing"}`; never raises |
2511
2511
 
@@ -3645,6 +3645,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
3645
3645
 
3646
3646
  ## [Unreleased]
3647
3647
 
3648
+ ## [0.4.34] - 2026-09-24
3649
+
3650
+ ### Changed
3651
+
3652
+ - `config_facade.host_job_cancel(job_id, *, by="api", user=None)` passes who asked for a cancel to
3653
+ AbstractCore (needs AbstractCore with `HostJobRegistry.cancel(by=, user=)`), so a cancelled
3654
+ download can say who cancelled it.
3655
+ - The AbstractCore floor is now 2.15.1 in the base install and in the `apple`
3656
+ and `gpu` extras (the release whose host-job cancel takes `by` and `user`).
3657
+
3648
3658
  ## [0.4.33] - 2026-09-23
3649
3659
 
3650
3660
  ### Added
@@ -4491,7 +4501,8 @@ AbstractRuntime is the durable execution substrate designed to pair with Abstrac
4491
4501
 
4492
4502
  Initial development version with basic proof-of-concept features.
4493
4503
 
4494
- [Unreleased]: https://github.com/lpalbou/abstractruntime/compare/v0.4.33...HEAD
4504
+ [Unreleased]: https://github.com/lpalbou/abstractruntime/compare/v0.4.34...HEAD
4505
+ [0.4.34]: https://github.com/lpalbou/abstractruntime/compare/v0.4.33...v0.4.34
4495
4506
  [0.4.33]: https://github.com/lpalbou/abstractruntime/compare/v0.4.32...v0.4.33
4496
4507
  [0.4.32]: https://github.com/lpalbou/abstractruntime/compare/v0.4.29...v0.4.32
4497
4508
  [0.4.31]: https://github.com/lpalbou/abstractruntime/compare/v0.4.29...v0.4.31
@@ -3,10 +3,10 @@
3
3
  > Durable workflow runtime (interrupt → checkpoint → resume) with an append-only execution ledger.
4
4
 
5
5
  - Python: 3.10+ (see `pyproject.toml`)
6
- - Version: 0.4.33
6
+ - Version: 0.4.34
7
7
  - Ecosystem: [AbstractFramework](https://github.com/lpalbou/AbstractFramework) umbrella, integrates with [AbstractCore](https://github.com/lpalbou/abstractcore)
8
8
  - Hard invariant: `RunState.vars` must be JSON-serializable (`src/abstractruntime/core/models.py`)
9
- - Current AbstractCore baseline: base `abstractruntime` installs `abstractcore[remote,tools,vision,voice,audio,music]>=2.14.0`
9
+ - Current AbstractCore baseline: base `abstractruntime` installs `abstractcore[remote,tools,vision,voice,audio,music]>=2.15.1`
10
10
  - Install profiles: base `abstractruntime` is remote-light with MCP, generated media routing, and Runtime-owned permissive PDF read/write nodes; `abstractruntime[apple]` and `abstractruntime[gpu]` add local inferencer stacks.
11
11
  - Config boundary: Runtime does not read `ABSTRACTGATEWAY_*`; Gateway-owned config should be translated into explicit Runtime inputs or Runtime-owned env names. Hosts can attach `resolve_provider_endpoint_profile(provider_id)` to the LLM client; Runtime treats it as an optional resolver hook, injects transient provider/base URL/key params for the call, and redacts secret-like params from persisted observability.
12
12
 
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "AbstractRuntime"
7
- version = "0.4.33"
7
+ version = "0.4.34"
8
8
  description = "AbstractRuntime: a durable graph runner designed to pair with AbstractCore."
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"
@@ -50,7 +50,7 @@ dependencies = [
50
50
  # Runtime's base install is the remote-light workflow host: LLM/tool effects,
51
51
  # MCP worker support, and multimodal routing are available without selecting
52
52
  # local inference engines.
53
- "abstractcore[remote,tools,vision,voice,audio,music]>=2.14.0",
53
+ "abstractcore[remote,tools,vision,voice,audio,music]>=2.15.1",
54
54
  "openai<2.0.0,>=1.109.1",
55
55
  "httpx<1.0.0,>=0.28.1",
56
56
  "anyio<5.0.0,>=4.12.1",
@@ -67,12 +67,12 @@ dependencies = [
67
67
 
68
68
  [project.optional-dependencies]
69
69
  apple = [
70
- "abstractcore[all-apple]>=2.14.0",
70
+ "abstractcore[all-apple]>=2.15.1",
71
71
  "setuptools<82.0.0,>=80.10.2",
72
72
  ]
73
73
 
74
74
  gpu = [
75
- "abstractcore[all-gpu]>=2.14.0",
75
+ "abstractcore[all-gpu]>=2.15.1",
76
76
  # vLLM 0.9-0.19 caps setuptools below 80; 77.0.3 is still a modern floor.
77
77
  "setuptools<82.0.0,>=77.0.3",
78
78
  ]
@@ -0,0 +1,7 @@
1
+ ### Changed
2
+
3
+ - `config_facade.host_job_cancel(job_id, *, by="api", user=None)` passes who asked for a cancel to
4
+ AbstractCore (needs AbstractCore with `HostJobRegistry.cancel(by=, user=)`), so a cancelled
5
+ download can say who cancelled it.
6
+ - The AbstractCore floor is now 2.15.1 in the base install and in the `apple`
7
+ and `gpu` extras (the release whose host-job cancel takes `by` and `user`).
@@ -987,18 +987,23 @@ def host_job(job_id: str) -> Optional[Dict[str, Any]]:
987
987
  return dict(job) if job is not None else None
988
988
 
989
989
 
990
- def host_job_cancel(job_id: str) -> Optional[Dict[str, Any]]:
990
+ def host_job_cancel(job_id: str, *, by: str = "api", user: Optional[str] = None) -> Optional[Dict[str, Any]]:
991
991
  """Cancel a job (terminates its process tree); `None` when the id is unknown.
992
992
 
993
+ `by` says who asked (`api`, or `console` when a person clicked Cancel in
994
+ a console) and `user` the signed-in account: AbstractCore records both on
995
+ the job (`cancelled_by`, `cancelled_by_user`, `ended_reason`), so a
996
+ cancelled download can say who cancelled it.
997
+
993
998
  A job owned by another process on this host is cancelled through its
994
999
  persisted cancel marker, which that process honours at its next check.
995
1000
  """
996
1001
 
997
1002
  host_jobs = _core_module("config.host_jobs", "Host jobs")
998
1003
  registry = host_jobs.default_registry()
999
- job = registry.cancel(str(job_id))
1004
+ job = registry.cancel(str(job_id), by=by, user=user)
1000
1005
  if job is None and registry.persist_dir is not None:
1001
- job = host_jobs.request_cancel(str(job_id), registry.persist_dir)
1006
+ job = host_jobs.request_cancel(str(job_id), registry.persist_dir, by=by, user=user)
1002
1007
  return dict(job) if job is not None else None
1003
1008
 
1004
1009
 
@@ -76,6 +76,7 @@ class FakeRegistry:
76
76
  self.persist_dir = persist_dir
77
77
  self.jobs: Dict[str, Dict[str, Any]] = {}
78
78
  self.cancelled: List[str] = []
79
+ self.cancel_by: List[Any] = []
79
80
 
80
81
  def list(self) -> List[Dict[str, Any]]:
81
82
  return list(self.jobs.values())
@@ -83,7 +84,8 @@ class FakeRegistry:
83
84
  def get(self, job_id: str) -> Optional[Dict[str, Any]]:
84
85
  return self.jobs.get(job_id)
85
86
 
86
- def cancel(self, job_id: str) -> Optional[Dict[str, Any]]:
87
+ def cancel(self, job_id: str, *, by: str = "api", user: Optional[str] = None) -> Optional[Dict[str, Any]]:
88
+ self.cancel_by.append((job_id, by, user))
87
89
  job = self.jobs.get(job_id)
88
90
  if job is None:
89
91
  return None
@@ -196,7 +198,7 @@ def fake_core(monkeypatch: pytest.MonkeyPatch) -> types.SimpleNamespace:
196
198
  jobs_mod.start_download_job = start_download_job
197
199
  jobs_mod.read_persisted_jobs = lambda directory: list(persisted.values())
198
200
  jobs_mod.read_persisted_job = lambda job_id, directory: persisted.get(job_id)
199
- jobs_mod.request_cancel = lambda job_id, directory: (dict(persisted[job_id], cancel_requested=True) if job_id in persisted else None)
201
+ jobs_mod.request_cancel = lambda job_id, directory, by="other_process", user=None: (dict(persisted[job_id], cancel_requested=True, cancelled_by=by, cancelled_by_user=user) if job_id in persisted else None)
200
202
 
201
203
  web_mod = types.ModuleType("abstractcore.console.web")
202
204
 
@@ -391,6 +393,11 @@ def test_jobs_list_merges_persisted_and_live_jobs_newest_first(fake_core, tmp_pa
391
393
  assert fake_core.registry.cancelled == ["eng_new"]
392
394
  assert facade.host_job_cancel("dl_old")["cancel_requested"] is True # another process's job
393
395
  assert facade.host_job_cancel("unknown") is None
396
+ # Who asked travels to AbstractCore (mission KK): the default is `api`; a
397
+ # console click says `console` and names the signed-in account.
398
+ assert fake_core.registry.cancel_by[0] == ("eng_new", "api", None)
399
+ moved = facade.host_job_cancel("dl_old", by="console", user="admin")
400
+ assert (moved["cancelled_by"], moved["cancelled_by_user"]) == ("console", "admin")
394
401
 
395
402
 
396
403
  def test_jobs_without_persistence_read_only_the_live_registry(fake_core) -> None:
@@ -50,7 +50,7 @@ def test_runtime_base_is_remote_light_with_multimodal_and_mcp_support() -> None:
50
50
  assert "abstractcore = [" not in text
51
51
  assert "multimodal = [" not in text
52
52
  assert "mcp-worker = [" not in text
53
- assert '"abstractcore[remote,tools,vision,voice,audio,music]>=2.14.0"' in text
53
+ assert '"abstractcore[remote,tools,vision,voice,audio,music]>=2.15.1"' in text
54
54
  assert '"openai<2.0.0,>=1.109.1"' in text
55
55
  assert '"httpx<1.0.0,>=0.28.1"' in text
56
56
  assert '"anyio<5.0.0,>=4.12.1"' in text
@@ -85,8 +85,8 @@ def test_runtime_exposes_only_apple_and_gpu_user_install_profiles() -> None:
85
85
  apple_block = _extract_optional_dependency_block(text, key="apple")
86
86
  gpu_block = _extract_optional_dependency_block(text, key="gpu")
87
87
 
88
- assert '"abstractcore[all-apple]>=2.14.0"' in apple_block
89
- assert '"abstractcore[all-gpu]>=2.14.0"' in gpu_block
88
+ assert '"abstractcore[all-apple]>=2.15.1"' in apple_block
89
+ assert '"abstractcore[all-gpu]>=2.15.1"' in gpu_block
90
90
  assert '"setuptools<82.0.0,>=80.10.2"' in apple_block
91
91
  assert '"setuptools<82.0.0,>=77.0.3"' in gpu_block
92
92
  assert "pymupdf" not in apple_block.lower()
@@ -1,25 +0,0 @@
1
- ### Added
2
- - **Models and engines for hosts.** `config_facade` passes AbstractCore's
3
- models and engines features through to hosts, so the Gateway can offer the
4
- same model browser and engine installer as `abstractcore models` and
5
- `abstractcore engines` without importing AbstractCore:
6
- `host_profile`, `engine_inventory`, `engine_status`,
7
- `engine_install_plan`, `engine_download_url`, `engine_install`,
8
- `model_catalog`, `list_installed_models`, `model_delete_blockers`,
9
- `delete_model_artifact`, `start_model_download_job`, `host_jobs_list`,
10
- `host_job`, `host_job_cancel` and `console_fragment`. Payloads are
11
- AbstractCore's own (`host_profile_v1`, `engines_status_v1`,
12
- `model_catalog_v1`, `models_installed_v1`, `host_job_v1`).
13
- - `models_engines_support()` reports whether the installed AbstractCore has
14
- these modules. It never raises.
15
- - `AbstractCoreTooOld` (a `NotImplementedError`) is raised when the installed
16
- AbstractCore predates these modules. The message names the installed
17
- version and the upgrade command.
18
- - `HostActionRefused` carries an HTTP status and a structured body for
19
- refusals: engine installs not allowed, unknown engine, an install already
20
- running, a delete blocked by a loaded or shared model. Hosts no longer need
21
- AbstractCore's exception types to tell refusals apart.
22
-
23
- ### Changed
24
- - The AbstractCore floor is now 2.14.0 in the base install and in the `apple`
25
- and `gpu` extras.