AbstractRuntime 0.4.33__tar.gz → 0.4.35__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.
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/ACKNOWLEDGMENTS.md +6 -5
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/CHANGELOG.md +36 -1
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/PKG-INFO +14 -10
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/README.md +10 -6
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/ROADMAP.md +3 -17
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/README.md +3 -4
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/api.md +1 -1
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/architecture.md +47 -4
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/getting-started.md +1 -1
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/integrations/abstractcore.md +6 -4
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/troubleshooting.md +1 -1
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/llms-full.txt +465 -44
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/llms.txt +7 -3
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/mkdocs.yml +3 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/pyproject.toml +4 -4
- abstractruntime-0.4.35/release-notes.md +14 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/integrations/abstractcore/config_facade.py +11 -6
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_config_facade_models_engines.py +13 -6
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_packaging_extras.py +3 -3
- abstractruntime-0.4.33/release-notes.md +0 -25
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/.github/workflows/ci.yml +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/.github/workflows/release.yml +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/.gitignore +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/CODE_OF_CONDUCT.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/CONTRIBUTING.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/LICENSE +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/SECURITY.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/adr/0001_layered_coupling_with_abstractcore.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/adr/0002_execution_modes_local_remote_hybrid.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/adr/0003_provenance_tamper_evident_hash_chain.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/adr/0004_runtime_owns_run_scoped_media_execution_truth.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/adr/0005_runtime_owns_abstractcore_host_discovery_queries.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/adr/0006_runtime_owns_durable_abstractcore_bloc_prompt_cache.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/adr/0007_runtime_relays_core_owned_model_residency_truth.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/adr/README.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/artifacts.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/README.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/completed/001_runtime_kernel.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/completed/002_persistence_and_ledger.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/completed/0030_runtime_host_facades_for_comms_telegram_and_tool_specs.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/completed/0032_runtime_durable_outbound_comms_truth.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/completed/0033_runtime_host_local_prompt_cache_export_import_surface.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/completed/0035_model_residency_provider_truth_for_local_http_clients.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/completed/0037_visualflow_generate_music_node_compiler_parity.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/completed/0039_runtime_music_structure_prompt_bool_contract.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/completed/003_wait_primitives.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/completed/0040_task_agnostic_local_residency_listing.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/completed/0041_runtime_hardware_extras_avoid_nonpermissive_document_stacks.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/completed/0042_core_vision_upscale_and_parameter_surface.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/completed/0043_runtime_vision_adapter_and_batch_surface.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/completed/004_scheduler_driver.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/completed/005_abstractcore_integration.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/completed/006_snapshots_bookmarks.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/completed/007_provenance_hash_chain.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/completed/009_artifact_store.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/completed/010_examples_and_composition.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/completed/011_subworkflow_support.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/completed/012_run_store_query_and_scheduler_support.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/completed/013_effect_retries_and_idempotency.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/completed/016_runtime_aware_parameters.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/completed/019_runtime_host_facade_for_core_operator_surfaces.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/completed/020_runtime_gateway_install_boundary.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/completed/021_runtime_gateway_env_namespace_cleanup.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/completed/022_model_residency_control_plane.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/completed/023_truthful_local_media_residency_boundaries.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/completed/024_runtime_owned_run_scoped_media_execution.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/completed/026_runtime_host_discovery_facade_for_core_catalogs.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/completed/027_runtime_durable_bloc_prompt_cache_facade.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/completed/028_runtime_bloc_kv_lifecycle_and_pruning.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/completed/029_runtime_music_generation_and_discovery_via_abstractcore.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/completed/0846_mlx_instance_scheduling_and_execution_controls.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/deprecated/001_integrations_abstractcore.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/deprecated/001_runtime_kernel.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/deprecated/002_persistence_and_ledger.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/deprecated/002_snapshots_bookmarks.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/deprecated/0034_agent_runtime_convenience_constructor.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/deprecated/003_provenance_ledger_chain.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/deprecated/003_wait_resume_and_scheduler.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/deprecated/004_effect_handlers_and_integrations.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/deprecated/004_tests.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/deprecated/005_docs_updates.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/deprecated/005_examples_and_composition.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/deprecated/006_ai_fingerprint_and_provenance.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/deprecated/DEPRECATED_README.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/deprecated/README.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/deprecated/abstractruntime_docs_final_02a7373b.plan.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/planned/0070_standalone_wui_browser_session_security_contract.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/planned/008_signatures_and_keys.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/planned/014_remote_tool_worker_executor.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/planned/017_limit_warnings_and_observability.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/planned/018_workspace_access_policy_for_media_and_tools.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/planned/0233_real_run_cancellation.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/planned/025_runtime_retention_and_purge_contract.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/planned/026_context_checkpoint_self_compression.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/planned/027_quote_provenance_discipline.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/planned/028_selective_artifact_rehydration.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/planned/0845_session_prompt_cache_resume_and_purge_contract.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/planned/runtime_portability/0065_portable_process_and_lock_layer.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/planned/runtime_portability/0066_portable_io_and_media_reader.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/planned/runtime_portability/README.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/planned/runtime_systemic_reliability/0044_meta_analysis_record.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/planned/runtime_systemic_reliability/0045_crash_replay_harness_and_ordering_invariant.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/planned/runtime_systemic_reliability/0046_per_run_driver_exclusion.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/planned/runtime_systemic_reliability/0047_indexed_idempotency_lookup.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/planned/runtime_systemic_reliability/0048_durable_io_unification.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/planned/runtime_systemic_reliability/0049_llm_client_mechanical_split.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/planned/runtime_systemic_reliability/0050_control_sidecar_all_writers.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/planned/runtime_systemic_reliability/0051_runtime_owned_durable_event_mailbox.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/planned/runtime_systemic_reliability/0052_sync_store_event_loop_tripwire.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/planned/runtime_systemic_reliability/0053_bounded_run_vars_growth.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/planned/runtime_systemic_reliability/0054_runtime_health_counters.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/planned/runtime_systemic_reliability/0055_jsonl_store_honesty.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/planned/runtime_systemic_reliability/0064_prompt_cache_fingerprint_stability.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/planned/runtime_systemic_reliability/0067_durable_write_discipline.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/planned/runtime_systemic_reliability/0068_hot_path_store_reads.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/planned/runtime_systemic_reliability/README.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/proposed/0031_runtime_tool_spec_adapters_for_gateway_and_mcp.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/proposed/0036_local_media_residency_bridge_to_core_residency.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/proposed/0038_core_server_pool_residency_affinity.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/proposed/0069_document_renderer_professional_figures.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/proposed/runtime_systemic_reliability/0056_schema_version_and_quarantine_loading.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/proposed/runtime_systemic_reliability/0057_trust_boundary_stamp_registry.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/proposed/runtime_systemic_reliability/0058_terminal_run_archival_helper.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/proposed/runtime_systemic_reliability/0059_memory_span_handler_extraction.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/proposed/runtime_systemic_reliability/0060_visualflow_compiler_decomposition.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/proposed/runtime_systemic_reliability/0061_root_api_deprecation_machinery.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/proposed/runtime_systemic_reliability/0062_dependency_honesty_extras.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/proposed/runtime_systemic_reliability/0063_b3_envelope_lane_unification.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/backlog/proposed/runtime_systemic_reliability/README.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/entity-runtime.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/evidence.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/faq.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/limits.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/manual_testing.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/mcp-worker.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/proposal.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/provenance.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/snapshots.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/tool-approval.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/tools-comms.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/docs/workflow-bundles.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/emails.config.example.yaml +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/examples/01_hello_world.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/examples/02_ask_user.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/examples/03_wait_until.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/examples/04_multi_step.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/examples/05_persistence.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/examples/06_llm_integration.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/examples/07_react_agent.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/examples/README.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/pytest.ini +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/scripts/backfill_diary_edges.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/__init__.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/core/__init__.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/core/config.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/core/effect_cancellation.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/core/event_keys.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/core/health.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/core/models.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/core/policy.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/core/progress_channel.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/core/run_lifecycle.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/core/runtime.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/core/spec.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/core/tool_scope.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/core/vars.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/documents/__init__.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/documents/charts.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/documents/docx.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/documents/pdf.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/evidence/__init__.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/evidence/recorder.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/history_bundle.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/identity/__init__.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/identity/act_only.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/identity/chat.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/identity/communities.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/identity/diary.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/identity/digest.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/identity/entity_runtime.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/identity/fingerprint.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/identity/lease.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/identity/life.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/identity/memory_reader.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/identity/night_voice.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/identity/phase_graph.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/identity/phase_spec.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/identity/prelude.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/identity/prompt_overlay.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/identity/reflection.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/identity/spec/entity_phases.vendored.json +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/identity/substrate.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/identity/tool_effects.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/identity/tool_policy.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/identity/tools.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/identity/visit_workflow.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/integrations/__init__.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/integrations/abstractcore/__init__.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/integrations/abstractcore/agora_tools.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/integrations/abstractcore/comms_facade.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/integrations/abstractcore/constants.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/integrations/abstractcore/data_registry_facade.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/integrations/abstractcore/default_tools.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/integrations/abstractcore/discovery_facade.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/integrations/abstractcore/discovery_queries.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/integrations/abstractcore/effect_handlers.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/integrations/abstractcore/embeddings_client.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/integrations/abstractcore/factory.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/integrations/abstractcore/host_facade.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/integrations/abstractcore/llm_client.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/integrations/abstractcore/local_helper_tools.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/integrations/abstractcore/logging.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/integrations/abstractcore/mcp_worker.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/integrations/abstractcore/media_subprocess.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/integrations/abstractcore/observability.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/integrations/abstractcore/output_specs.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/integrations/abstractcore/run_facade.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/integrations/abstractcore/session_attachments.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/integrations/abstractcore/summarizer.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/integrations/abstractcore/telegram_facade.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/integrations/abstractcore/tool_executor.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/integrations/abstractcore/tool_inventory_facade.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/integrations/abstractcore/workspace_scoped_tools.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/integrations/abstractmemory/__init__.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/integrations/abstractmemory/brain_handlers.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/integrations/abstractmemory/effect_handlers.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/integrations/abstractmemory/identity_support.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/integrations/abstractmemory/seam_handlers.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/memory/__init__.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/memory/active_context.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/memory/active_memory.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/memory/compaction.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/memory/kg_packets.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/memory/memact_composer.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/memory/recall_levels.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/memory/token_budget.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/rendering/__init__.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/rendering/agent_trace_report.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/rendering/json_stringify.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/scheduler/__init__.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/scheduler/convenience.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/scheduler/multi_store.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/scheduler/registry.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/scheduler/scheduler.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/session_history.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/storage/__init__.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/storage/artifacts.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/storage/base.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/storage/commands.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/storage/in_memory.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/storage/json_files.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/storage/lease.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/storage/ledger_chain.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/storage/ledger_slim.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/storage/observable.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/storage/offloading.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/storage/serialize.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/storage/snapshots.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/storage/sqlite.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/storage/steer_sidecar.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/turn_grounding.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/utils/__init__.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/utils/atomic_files.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/utils/file_filters.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/utils/workspace_paths.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/visualflow_compiler/__init__.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/visualflow_compiler/adapters/__init__.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/visualflow_compiler/adapters/agent_adapter.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/visualflow_compiler/adapters/context_adapter.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/visualflow_compiler/adapters/control_adapter.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/visualflow_compiler/adapters/effect_adapter.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/visualflow_compiler/adapters/event_adapter.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/visualflow_compiler/adapters/function_adapter.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/visualflow_compiler/adapters/memact_adapter.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/visualflow_compiler/adapters/subflow_adapter.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/visualflow_compiler/adapters/variable_adapter.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/visualflow_compiler/compiler.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/visualflow_compiler/flow.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/visualflow_compiler/visual/__init__.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/visualflow_compiler/visual/agent_ids.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/visualflow_compiler/visual/builtins.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/visualflow_compiler/visual/code_executor.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/visualflow_compiler/visual/execution_metrics.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/visualflow_compiler/visual/executor.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/visualflow_compiler/visual/function_library.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/visualflow_compiler/visual/models.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/visualflow_compiler/visual/multi_entry_lowering.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/visualflow_compiler/visual/pin_expressions.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/workflow_bundle/__init__.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/workflow_bundle/models.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/workflow_bundle/packer.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/workflow_bundle/reader.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/src/abstractruntime/workflow_bundle/registry.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/README.md +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/conftest.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_abstractcore_comms_facade.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_abstractcore_discovery_facade.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_abstractcore_host_facade.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_abstractcore_run_facade.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_abstractcore_telegram_facade.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_active_context_policy.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_active_memory.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_agora_agent_alias_identity.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_agora_tools_http.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_analyze_media_addressing_and_walling.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_answer_user_effect.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_artifacts.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_browser_probe_target_walling.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_budget_law_no_unrequested_caps.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_capability_default_reasoning.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_chat_summarizer_integration.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_code_node_restricted_python.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_command_store.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_compaction_helpers.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_control_adapter_while.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_crash_ordering_inversions.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_data_registry_facade.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_default_tools_camera_gating.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_default_tools_comms_gating.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_default_tools_include_skim_files.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_default_tools_include_skim_folders.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_default_tools_include_skim_web.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_default_tools_search_files_executor.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_diary_capture.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_diary_write_rescue.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_directory_lease.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_disabled_toolsets_seam.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_discovery_survives_unbuildable_default.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_document_markdown_tables.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_document_renderers_hr_quote.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_durable_toolsets.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_durable_write_discipline.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_e2e_tool_calls_idempotency_lmstudio.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_effect_cancellation.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_effect_issuance_idempotency.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_effect_payload_stays_json_serializable.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_election_consequence_teaching.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_emergence_experiment.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_emit_event_uses_wait_index.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_emit_event_without_workflow_registry.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_endpoint_profile_route_context.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_entity_awake_memory_fixes.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_entity_brain_effects.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_entity_chat_driver.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_entity_chat_tools_reflection.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_entity_diary.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_entity_execute_tool.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_entity_fetch_url_tool.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_entity_life_loop.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_entity_memory_richness.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_entity_phase_graph_conformance.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_entity_recent_memories.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_entity_runtime.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_entity_search_memory.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_entity_sleep_bound_and_yield_attribution.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_entity_substrate_resolution.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_entity_visit_honesty.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_entity_workspace_cap.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_entity_workspace_tools.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_event_wait_index.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_every_path_bearing_tool_is_walled.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_evidence_recorder.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_evidence_recorder_post_policy_envelope.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_execute_command_output_offload.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_execution_capability_discovery.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_factory_default_retry_policy.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_factory_timeouts_default_to_abstractcore_config.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_format_repair_nudge.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_fresh_install_no_provider.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_gateway_facades_c4899.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_git_read_only_refiner.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_hot_path_store_reads.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_indexed_idempotency_lookup.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_integration_abstractcore.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_integrations_abstractcore.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_json_file_run_store_children_index.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_json_run_cache_bound.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_json_store_scan_memo.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_jsonl_ledger_recovery.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_kg_learn_and_recall_contract.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_ledger_chain.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_ledger_record_slimming.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_ledger_subscription.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_llm_call_media_artifact_refs.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_llm_call_media_artifact_refs_persist_across_restart.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_llm_call_media_uses_source_path_label.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_llm_call_payload_shape_refusal.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_llm_call_requires_prompt.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_llm_call_response_schema_normalization.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_llm_call_structured_output_fallback.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_llm_call_text_phase_progress.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_llm_call_truncation_retry_contract.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_llm_call_use_context_appends_turn.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_llm_call_verbatim_payload_capture.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_llm_client_grounding_tail.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_llm_client_media_artifacts.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_llm_client_system_context.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_llm_client_tool_call_parsing.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_llm_retry_classification.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_llm_streaming_on_token.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_local_helper_tool_exposure.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_local_residency_host_sweep.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_local_runtime_timeout_kwarg_policy.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_max_iterations_ceiling.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_mcp_remote_tool_executor.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_mcp_worker_logging.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_mcp_worker_security.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_mcp_worker_stdio.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_media_artifact_resolution.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_media_capability_default_routing.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_media_subprocess.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_memact_composer_from_kg_result.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_memory_appraise_handler.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_memory_communities.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_memory_kg_assert_attributes_defaults.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_memory_kg_packets.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_memory_kg_predicate_aliasing.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_memory_kg_query_packetization_restart.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_memory_kg_query_recall_level_policy.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_memory_kg_semantic_query_ranking.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_memory_note_effect.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_memory_query_effect.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_memory_query_rich_filters.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_memory_scope_and_rehydrate_effect.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_memory_seam_handlers.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_memory_seam_sqlite_durability.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_memory_tag_effect.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_mlx_generation_serialization.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_model_eject_cancel.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_model_residency_control_plane.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_model_residency_lock_and_context_estimate.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_multi_store_scheduler.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_multimodal_abstractcore_integration.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_native_mlx_application_wiring.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_native_mlx_execution_controls_live.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_native_tool_channel.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_night_voice.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_no_default_provider_refusal_ux.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_offload_answer_chain_c4978.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_offloaded_node_traces_report_unknown_not_zero.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_offloading.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_parallel_readonly_tool_execution.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_pause_resume.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_pdf_unicode_rendering.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_personal_cycle.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_phantom_attachment_index.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_phase_graph_artifact_control.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_phase_graph_obedience.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_phase_vocabulary_migration.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_pooled_client_strips_construction_cache_key.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_prompt_cache_export_import.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_prompt_cache_fingerprint_stability.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_prompt_cache_modules.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_prompt_cache_posture_inheritance.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_prompt_cache_thinking_and_prompt_only.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_prompt_overlay.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_provider_endpoint_profile_resolution.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_provider_pin_routing_isolation.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_queryable_run_store.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_read_file_fallback_to_session_attachments.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_read_idle_threading.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_readoption_experiment.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_real_integration.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_realize_election.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_recall_levels_policy.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_remote_client_cancel.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_remote_llm_client.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_remote_speculation_defaults.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_rendering_agent_trace_report.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_rendering_json_stringify.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_report_branding.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_retry_idempotency.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_run_history_bundle.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_run_scoped_tool_policy.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_run_tool_scope_ceiling.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_runtime_browser_session_boundary.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_runtime_config_max_output_tokens_fallback.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_runtime_default_provider_model_refresh.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_runtime_effect_invocation_trace.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_runtime_health_and_bounded_vars.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_runtime_install_boundary.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_runtime_llm_call_grounding_in_ledger.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_runtime_node_traces.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_runtime_start_seeds_tool_support.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_runtime_tick_step_gate.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_scheduler.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_send_email_refiner.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_session_attachments_registry_and_open_tool.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_session_history.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_session_prompt_cache_attribution.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_session_prompt_cache_visibility.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_session_route_stamp.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_shell_tool_exposure.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_snapshots.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_speculation_inheritance.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_speculation_reaches_provider_construction.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_sqlite_ledger_store.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_start_subworkflow_async_wait.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_start_subworkflow_inherit_context_merges_messages.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_start_subworkflow_workspace_inheritance.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_steer_sidecar.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_storage_deletion.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_structured_output_schema_enum.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_subworkflow.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_terminal_effect_completion.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_terminal_resume_appends_ledger_completion.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_thinking_inheritance.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_tick_completion_includes_output_in_ledger.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_tool_approval_executor.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_tool_approval_resume_executes.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_tool_approval_wait_key_identity.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_tool_calls_idempotency_keys.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_tool_catalog.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_tool_descriptor_registry.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_tool_executor_argument_sanitization.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_tool_executor_error_output_detection.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_tool_executor_filename_alias.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_tool_executor_kwarg_canonicalization.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_tool_executor_read_file_aliases.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_tool_executor_timeout.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_tool_inventory_facade.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_tool_invoke_effect.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_tool_policy_and_mounts.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_tool_wait_allowlist_safety.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_topic_election_world_model.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_trace_context_propagation.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_turn_grounding_byte_stability.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_turn_grounding_carriers_a3.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_vars_query_effect.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_visit_ab_fixture.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_visit_history_replay_caps.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_visit_midturn_elections.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_visit_midturn_resume.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_visit_workflow.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_visual_agent_output_context_includes_messages.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_visual_agent_skills_block_passthrough.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_visual_agent_tool_observations_persist_across_restart.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_visual_agent_use_context_inherits_attachments.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_visual_agent_use_context_persists_tool_observations.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_visual_agent_use_context_persists_turn.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_visual_entity_memory_nodes.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_visual_flow_end_effect_only_persistence.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_visual_llm_call_partial_override.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_visual_llm_call_schema_ref_resolution.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_visual_memact_compose_node.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_visual_memory_kg_query_outputs_propagate.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_visual_memory_kg_resolve_outputs_propagate.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_visual_multi_entry_loop_overrides.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_visual_unknown_node_type_refuses.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_visual_wait_event_deadline_passthrough.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_visualflow_add_message_builtin.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_visualflow_add_message_node_appends_to_active_context.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_visualflow_agora_react_agent.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_visualflow_call_tool_node.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_visualflow_capability_routes_and_thinking.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_visualflow_compiler_basic.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_visualflow_context_and_builder_nodes.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_visualflow_continue_on_error.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_visualflow_edit_json_schema_node.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_visualflow_event_inbox_react_agent.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_visualflow_file_nodes_workspace.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_visualflow_function_library.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_visualflow_get_element_node.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_visualflow_get_random_element_node.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_visualflow_get_var_node.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_visualflow_has_tools_builtin.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_visualflow_llm_call_context_attachments_map_to_media.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_visualflow_llm_call_multimodal_output.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_visualflow_make_object_node.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_visualflow_media_nodes.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_visualflow_memory_effect_nodes.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_visualflow_memory_source_pins.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_visualflow_pin_expressions.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_visualflow_prompt_only.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_visualflow_random_nodes.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_visualflow_schema_enum_switch.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_visualflow_string_contains_replace.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_visualflow_tool_parameters_node.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_w4_feelings_lens.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_wait_event_deadline.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_wait_event_prompt_metadata.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_wait_until_streak.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_wait_until_utc_normalization.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_workflow_bundle_registry.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_workspace_policy_absolute_reanchor.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_workspace_policy_allowlist_mode.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_workspace_policy_mount_virtual_paths.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_workspace_policy_tool_calls_persist_across_restart.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_workspace_prompt_context.py +0 -0
- {abstractruntime-0.4.33 → abstractruntime-0.4.35}/tests/test_write_chart.py +0 -0
|
@@ -7,14 +7,15 @@ The canonical dependency list lives in `pyproject.toml`.
|
|
|
7
7
|
|
|
8
8
|
## Runtime dependencies (core install)
|
|
9
9
|
|
|
10
|
-
- **abstractsemantics** (`>=0.0.
|
|
11
|
-
- **AbstractMemory** (`>=0.
|
|
10
|
+
- **abstractsemantics** (`>=0.0.5`) — structured schema registry support (declared in `pyproject.toml`, used in `src/abstractruntime/integrations/abstractmemory/effect_handlers.py` and VisualFlow execution wiring).
|
|
11
|
+
- **AbstractMemory** (`>=0.3.0`) — TripleStore models and store contract used by Runtime's `MEMORY_KG_*` effects. Durable/vector backend dependencies such as LanceDB remain selected by hosts.
|
|
12
12
|
|
|
13
13
|
## Runtime integrations
|
|
14
|
-
- **abstractcore** (
|
|
14
|
+
- **abstractcore** (`abstractcore[remote,tools,vision,voice,audio,music]>=2.15.1`) — LLM, tools, media, and capability integration used by the base `abstractruntime` install; the `apple` and `gpu` extras select `abstractcore[all-apple]` / `abstractcore[all-gpu]` at the same floor (declared in `pyproject.toml`, implementation under `src/abstractruntime/integrations/abstractcore/*`, docs: `docs/integrations/abstractcore.md`).
|
|
15
15
|
- The AbstractCore integration uses **httpx** for remote mode (`src/abstractruntime/integrations/abstractcore/llm_client.py`) and **pydantic** for structured validation (`src/abstractruntime/integrations/abstractcore/effect_handlers.py`). These are provided by AbstractCore’s dependency set.
|
|
16
|
-
-
|
|
17
|
-
- **RestrictedPython** (
|
|
16
|
+
- The `tools` extra of AbstractCore backs the base Runtime toolset and the `abstractruntime-mcp-worker` entry point.
|
|
17
|
+
- **RestrictedPython** (`>=7.0`, core install) — sandbox for VisualFlow “Code” nodes and pin expressions (`src/abstractruntime/visualflow_compiler/visual/code_executor.py`).
|
|
18
|
+
- **pypdf** and **reportlab** — VisualFlow `Read PDF` / `Write PDF` nodes in the base install.
|
|
18
19
|
|
|
19
20
|
## Build & test tooling
|
|
20
21
|
|
|
@@ -7,6 +7,39 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.4.35] - 2026-09-25
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
|
|
14
|
+
- `models_engines_support()` and the `AbstractCoreTooOld` error now name
|
|
15
|
+
AbstractCore 2.15.1 as the required version (they said 2.14.0), matching the
|
|
16
|
+
base-install floor. Who is affected: hosts such as AbstractGateway that read
|
|
17
|
+
`required` to decide whether the models and engines features are usable. They
|
|
18
|
+
could accept AbstractCore 2.14.x, where `host_job_cancel(by=..., user=...)`
|
|
19
|
+
fails. No action is needed if you install AbstractRuntime normally: the
|
|
20
|
+
AbstractCore floor is unchanged at 2.15.1.
|
|
21
|
+
|
|
22
|
+
### Documentation
|
|
23
|
+
|
|
24
|
+
- `ROADMAP.md` no longer shows a stale "v0.4.2" status or a priority list; it
|
|
25
|
+
points to `CHANGELOG.md` and the AbstractFramework backlog.
|
|
26
|
+
|
|
27
|
+
## [0.4.34] - 2026-09-24
|
|
28
|
+
|
|
29
|
+
### Changed
|
|
30
|
+
|
|
31
|
+
- `config_facade.host_job_cancel(job_id, *, by="api", user=None)` records who
|
|
32
|
+
cancelled a host job (a model download, delete or engine install): `by`
|
|
33
|
+
(`api`, or `console` for a click in an embedded console) and the signed-in
|
|
34
|
+
`user` are stored on the job as `cancelled_by`, `cancelled_by_user` and
|
|
35
|
+
`ended_reason`. Existing calls without these arguments keep working and are
|
|
36
|
+
recorded as `by="api"`. Hosts such as AbstractGateway can pass the requesting
|
|
37
|
+
account to show who cancelled a job.
|
|
38
|
+
- Compatibility: AbstractRuntime 0.4.34 requires AbstractCore 2.15.1 or newer
|
|
39
|
+
(was 2.14.0) in the base install and in the `apple` and `gpu` extras.
|
|
40
|
+
Upgrading AbstractRuntime upgrades AbstractCore accordingly; if you pin
|
|
41
|
+
AbstractCore yourself, raise the pin to 2.15.1 as well.
|
|
42
|
+
|
|
10
43
|
## [0.4.33] - 2026-09-23
|
|
11
44
|
|
|
12
45
|
### Added
|
|
@@ -855,7 +888,9 @@ AbstractRuntime is the durable execution substrate designed to pair with Abstrac
|
|
|
855
888
|
|
|
856
889
|
Initial development version with basic proof-of-concept features.
|
|
857
890
|
|
|
858
|
-
[Unreleased]: https://github.com/lpalbou/abstractruntime/compare/v0.4.
|
|
891
|
+
[Unreleased]: https://github.com/lpalbou/abstractruntime/compare/v0.4.35...HEAD
|
|
892
|
+
[0.4.35]: https://github.com/lpalbou/abstractruntime/compare/v0.4.34...v0.4.35
|
|
893
|
+
[0.4.34]: https://github.com/lpalbou/abstractruntime/compare/v0.4.33...v0.4.34
|
|
859
894
|
[0.4.33]: https://github.com/lpalbou/abstractruntime/compare/v0.4.32...v0.4.33
|
|
860
895
|
[0.4.32]: https://github.com/lpalbou/abstractruntime/compare/v0.4.29...v0.4.32
|
|
861
896
|
[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.
|
|
3
|
+
Version: 0.4.35
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
57
|
+
**Version:** 0.4.35 • **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.
|
|
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.
|
|
149
|
+
## What’s included (v0.4.35)
|
|
150
150
|
|
|
151
151
|
Kernel (import-light):
|
|
152
152
|
- workflow graphs: `WorkflowSpec` (`src/abstractruntime/core/spec.py`)
|
|
@@ -189,7 +189,7 @@ Drivers + distribution:
|
|
|
189
189
|
|
|
190
190
|
Runtime-owned integrations:
|
|
191
191
|
- AbstractCore (LLM + tools, `MODEL_RESIDENCY` with residency locks and context estimates, public discovery/host/run facades, cached sessions with per-session prompt-cache listing/clearing, host memory snapshots, local-only prompt-cache export/import admin, durable bloc prompt-cache controls, bindings, lifecycle operations, generated image/video/voice/music outputs with progress events, host email helpers, Telegram host wrappers, and tool approval waits): `docs/integrations/abstractcore.md`
|
|
192
|
-
- AbstractCore models and engines for hosts
|
|
192
|
+
- AbstractCore models and engines for hosts: `config_facade` passes through the host profile, local-engine status and installs, the model catalog with fit verdicts, installed models, deletes, host jobs (with who-cancelled attribution) and the embeddable console screens: `docs/integrations/abstractcore.md#models-engines-and-host-jobs-config-facade`
|
|
193
193
|
- For outbound comms, use the durable run facade when the send belongs to a run: `get_abstractcore_run_facade(...).send_email(...)` / `send_telegram_message(...)`. If that child run pauses for approval or passthrough execution, resume it through `resume_tool_calls(...)`. Direct host-facade send helpers and the standalone email comms facade remain host-local and nondurable.
|
|
194
194
|
- AbstractMemory TripleStore integration for `MEMORY_KG_*` effects. Runtime
|
|
195
195
|
depends on the light AbstractMemory contract; hosts choose storage backends
|
|
@@ -232,7 +232,11 @@ sr = create_scheduled_runtime(
|
|
|
232
232
|
| [Troubleshooting](docs/troubleshooting.md) | Symptom-oriented setup, runtime, and integration fixes |
|
|
233
233
|
| [Architecture](docs/architecture.md) | Component map + diagrams |
|
|
234
234
|
| [Overview](docs/proposal.md) | Design goals, core concepts, and scope |
|
|
235
|
-
| [
|
|
235
|
+
| [AbstractCore Integration](docs/integrations/abstractcore.md) | `LLM_CALL` / `TOOL_CALLS`, host facades, models/engines/host jobs |
|
|
236
|
+
| [Artifacts](docs/artifacts.md) | Artifact identity, descriptors, catalog search and access stats |
|
|
237
|
+
| [Tool Approval](docs/tool-approval.md) | Tool risk tiers, run-policy ceiling, per-call refiners |
|
|
238
|
+
| [Comms Toolset](docs/tools-comms.md) | Opt-in email/WhatsApp/Telegram tools |
|
|
239
|
+
| [Entity Runtime](docs/entity-runtime.md) | Per-entity runtimes, homes, leases, visit waits |
|
|
236
240
|
| [Snapshots](docs/snapshots.md) | Named checkpoints for run state |
|
|
237
241
|
| [Provenance](docs/provenance.md) | Tamper-evident ledger documentation |
|
|
238
242
|
| [Evidence](docs/evidence.md) | Artifact-backed evidence capture for web/command tools |
|
|
@@ -244,7 +248,7 @@ sr = create_scheduled_runtime(
|
|
|
244
248
|
| [Code of Conduct](CODE_OF_CONDUCT.md) | Contributor conduct expectations |
|
|
245
249
|
| [Security](SECURITY.md) | Responsible vulnerability reporting |
|
|
246
250
|
| [Acknowledgments](ACKNOWLEDGMENTS.md) | Credits |
|
|
247
|
-
| [ROADMAP](ROADMAP.md) |
|
|
251
|
+
| [ROADMAP](ROADMAP.md) | Current status and longer-term direction |
|
|
248
252
|
|
|
249
253
|
## Development
|
|
250
254
|
|
|
@@ -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.
|
|
7
|
+
**Version:** 0.4.35 • **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.
|
|
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.
|
|
99
|
+
## What’s included (v0.4.35)
|
|
100
100
|
|
|
101
101
|
Kernel (import-light):
|
|
102
102
|
- workflow graphs: `WorkflowSpec` (`src/abstractruntime/core/spec.py`)
|
|
@@ -139,7 +139,7 @@ Drivers + distribution:
|
|
|
139
139
|
|
|
140
140
|
Runtime-owned integrations:
|
|
141
141
|
- AbstractCore (LLM + tools, `MODEL_RESIDENCY` with residency locks and context estimates, public discovery/host/run facades, cached sessions with per-session prompt-cache listing/clearing, host memory snapshots, local-only prompt-cache export/import admin, durable bloc prompt-cache controls, bindings, lifecycle operations, generated image/video/voice/music outputs with progress events, host email helpers, Telegram host wrappers, and tool approval waits): `docs/integrations/abstractcore.md`
|
|
142
|
-
- AbstractCore models and engines for hosts
|
|
142
|
+
- AbstractCore models and engines for hosts: `config_facade` passes through the host profile, local-engine status and installs, the model catalog with fit verdicts, installed models, deletes, host jobs (with who-cancelled attribution) and the embeddable console screens: `docs/integrations/abstractcore.md#models-engines-and-host-jobs-config-facade`
|
|
143
143
|
- For outbound comms, use the durable run facade when the send belongs to a run: `get_abstractcore_run_facade(...).send_email(...)` / `send_telegram_message(...)`. If that child run pauses for approval or passthrough execution, resume it through `resume_tool_calls(...)`. Direct host-facade send helpers and the standalone email comms facade remain host-local and nondurable.
|
|
144
144
|
- AbstractMemory TripleStore integration for `MEMORY_KG_*` effects. Runtime
|
|
145
145
|
depends on the light AbstractMemory contract; hosts choose storage backends
|
|
@@ -182,7 +182,11 @@ sr = create_scheduled_runtime(
|
|
|
182
182
|
| [Troubleshooting](docs/troubleshooting.md) | Symptom-oriented setup, runtime, and integration fixes |
|
|
183
183
|
| [Architecture](docs/architecture.md) | Component map + diagrams |
|
|
184
184
|
| [Overview](docs/proposal.md) | Design goals, core concepts, and scope |
|
|
185
|
-
| [
|
|
185
|
+
| [AbstractCore Integration](docs/integrations/abstractcore.md) | `LLM_CALL` / `TOOL_CALLS`, host facades, models/engines/host jobs |
|
|
186
|
+
| [Artifacts](docs/artifacts.md) | Artifact identity, descriptors, catalog search and access stats |
|
|
187
|
+
| [Tool Approval](docs/tool-approval.md) | Tool risk tiers, run-policy ceiling, per-call refiners |
|
|
188
|
+
| [Comms Toolset](docs/tools-comms.md) | Opt-in email/WhatsApp/Telegram tools |
|
|
189
|
+
| [Entity Runtime](docs/entity-runtime.md) | Per-entity runtimes, homes, leases, visit waits |
|
|
186
190
|
| [Snapshots](docs/snapshots.md) | Named checkpoints for run state |
|
|
187
191
|
| [Provenance](docs/provenance.md) | Tamper-evident ledger documentation |
|
|
188
192
|
| [Evidence](docs/evidence.md) | Artifact-backed evidence capture for web/command tools |
|
|
@@ -194,7 +198,7 @@ sr = create_scheduled_runtime(
|
|
|
194
198
|
| [Code of Conduct](CODE_OF_CONDUCT.md) | Contributor conduct expectations |
|
|
195
199
|
| [Security](SECURITY.md) | Responsible vulnerability reporting |
|
|
196
200
|
| [Acknowledgments](ACKNOWLEDGMENTS.md) | Credits |
|
|
197
|
-
| [ROADMAP](ROADMAP.md) |
|
|
201
|
+
| [ROADMAP](ROADMAP.md) | Current status and longer-term direction |
|
|
198
202
|
|
|
199
203
|
## Development
|
|
200
204
|
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
# AbstractRuntime Roadmap
|
|
2
2
|
|
|
3
|
-
## Current status
|
|
3
|
+
## Current status
|
|
4
|
+
|
|
5
|
+
What changed in each release is in [CHANGELOG.md](CHANGELOG.md); planned work is tracked in the [AbstractFramework backlog](https://github.com/lpalbou/abstractframework/tree/main/docs/backlog).
|
|
4
6
|
|
|
5
7
|
AbstractRuntime provides a durable workflow kernel plus optional integrations:
|
|
6
8
|
- durable execution: `Runtime.start/tick/resume`, explicit `WaitState` (`src/abstractruntime/core/runtime.py`)
|
|
@@ -13,22 +15,6 @@ AbstractRuntime provides a durable workflow kernel plus optional integrations:
|
|
|
13
15
|
- VisualFlow compiler + WorkflowBundles (`src/abstractruntime/visualflow_compiler/*`, `src/abstractruntime/workflow_bundle/*`)
|
|
14
16
|
- AbstractCore integration for `LLM_CALL` / `TOOL_CALLS` (`docs/integrations/abstractcore.md`)
|
|
15
17
|
|
|
16
|
-
## Near-term priorities
|
|
17
|
-
|
|
18
|
-
These are tracked in `docs/backlog/planned/`:
|
|
19
|
-
|
|
20
|
-
1. **Signatures and keys** — non-forgeable provenance (beyond tamper-evidence)
|
|
21
|
-
`docs/backlog/planned/008_signatures_and_keys.md`
|
|
22
|
-
|
|
23
|
-
2. **Remote tool worker executor** — first-class worker boundary for tool execution
|
|
24
|
-
`docs/backlog/planned/014_remote_tool_worker_executor.md`
|
|
25
|
-
|
|
26
|
-
3. **Limit warnings + observability events** — surface `_limits` warnings durably/streaming
|
|
27
|
-
`docs/backlog/planned/017_limit_warnings_and_observability.md`
|
|
28
|
-
|
|
29
|
-
4. **Agent integration improvements** — reduce friction for external agent loops building on runtime
|
|
30
|
-
`docs/backlog/planned/015_agent_integration_improvements.md`
|
|
31
|
-
|
|
32
18
|
## Longer-term (not scheduled)
|
|
33
19
|
|
|
34
20
|
- distributed scheduling primitives (beyond in-process polling)
|
|
@@ -24,14 +24,13 @@ In this repo, the AbstractCore wiring lives under `src/abstractruntime/integrati
|
|
|
24
24
|
## Guides
|
|
25
25
|
|
|
26
26
|
- `faq.md` — common questions (recommended)
|
|
27
|
-
- `troubleshooting.md` — symptom-oriented setup, runtime, and integration fixes
|
|
28
27
|
- `manual_testing.md` — manual smoke tests and how to run the test suite
|
|
29
28
|
- `artifacts.md` — Runtime artifact identity, descriptors, provenance, catalog search, and access stats
|
|
30
|
-
- `integrations/abstractcore.md` — wiring `LLM_CALL` / `TOOL_CALLS`, cached sessions with per-session prompt-cache listing/clearing, host memory snapshots, model-residency listings and locks, durable bloc prompt-cache control, media inputs, generated media outputs, video progress events, and tool approval waits via AbstractCore
|
|
31
|
-
- run history bundle replay now also exports `resolved_actions` summaries for cross-client capability replay; see `api.md` and `integrations/abstractcore.md`
|
|
29
|
+
- `integrations/abstractcore.md` — wiring `LLM_CALL` / `TOOL_CALLS`, the `config_facade` models/engines/host-jobs passthroughs for hosts, cached sessions with per-session prompt-cache listing/clearing, host memory snapshots, model-residency listings and locks, durable bloc prompt-cache control, media inputs, generated media outputs, video progress events, and tool approval waits via AbstractCore
|
|
32
30
|
- `tools-comms.md` — enabling the optional comms toolset (email/WhatsApp/Telegram)
|
|
33
31
|
- `tool-approval.md` — tool risk tiers, the run-policy rank ceiling, and per-call refiners (the `send_email` self-recipient rule)
|
|
34
32
|
- `api.md#workflowbundles-flow-and-visualflow-distribution` — VisualFlow compiler APIs, media nodes, and document nodes (`read_pdf` / `write_pdf` / `write_docx`)
|
|
33
|
+
- `api.md#run-history-bundle-export-portable-replay-artifact` — run history bundles, including `resolved_actions` summaries for cross-client capability replay
|
|
35
34
|
|
|
36
35
|
## Features (reference)
|
|
37
36
|
|
|
@@ -50,6 +49,6 @@ In this repo, the AbstractCore wiring lives under `src/abstractruntime/integrati
|
|
|
50
49
|
- `../CONTRIBUTING.md` — how to build/test and submit changes
|
|
51
50
|
- `../SECURITY.md` — responsible vulnerability reporting
|
|
52
51
|
- `../ACKNOWLEDGMENTS.md` — credits
|
|
53
|
-
- `../ROADMAP.md` —
|
|
52
|
+
- `../ROADMAP.md` — current status and longer-term direction
|
|
54
53
|
- `adr/README.md` — architectural decisions (why)
|
|
55
54
|
- `backlog/README.md` — implemented and planned work items (what/how)
|
|
@@ -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.
|
|
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
|
-
> Updated: 2026-
|
|
4
|
-
> Version: 0.4.
|
|
3
|
+
> Updated: 2026-09-25
|
|
4
|
+
> Version: 0.4.35
|
|
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.
|
|
@@ -41,6 +41,49 @@ The boundary is intentionally narrow:
|
|
|
41
41
|
- Gateway and other hosts compose Runtime with the desired memory and local-inference profile. Runtime's base package includes the AbstractMemory contract, AbstractCore remote/tool capability integration, Runtime-owned permissive PDF read/write and standard-library DOCX write support, and the MCP worker entry point, but not backend extras such as LanceDB, Core media document stacks, or local inferencer stacks. Hosts choose storage, embeddings, readiness policy, and whether to add `abstractruntime[apple]` or `abstractruntime[gpu]`.
|
|
42
42
|
- Remote and hybrid clients use explicit Core server URLs and auth headers supplied by the host. Runtime does not read Gateway auth environment variables for provider/model/auth decisions or treat Gateway bearer tokens as Core server/provider credentials.
|
|
43
43
|
|
|
44
|
+
### Host-facing facades
|
|
45
|
+
|
|
46
|
+
Hosts such as AbstractGateway talk to AbstractCore through Runtime-owned facades, so they never import AbstractCore themselves. Durable model work goes through the runtime (effects, ledger, artifacts); host operations (discovery, residency, prompt caches, configuration, models, engines and host jobs) go through the facades, which call AbstractCore in-process or its server.
|
|
47
|
+
|
|
48
|
+
```mermaid
|
|
49
|
+
flowchart LR
|
|
50
|
+
subgraph Host["Host (AbstractGateway, apps)"]
|
|
51
|
+
HostAPI["HTTP routes / UI"]
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
subgraph RT["AbstractRuntime"]
|
|
55
|
+
Runtime["Runtime
|
|
56
|
+
start / tick / resume"]
|
|
57
|
+
Handlers["effect handlers
|
|
58
|
+
LLM_CALL / TOOL_CALLS / MODEL_RESIDENCY"]
|
|
59
|
+
RunFacade["run_facade
|
|
60
|
+
durable media + comms child runs"]
|
|
61
|
+
HostFacade["host_facade / discovery_facade
|
|
62
|
+
residency, prompt caches, discovery"]
|
|
63
|
+
ConfigFacade["config_facade
|
|
64
|
+
capability defaults, models, engines, host jobs"]
|
|
65
|
+
Stores["RunStore / LedgerStore / ArtifactStore"]
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
subgraph AC["AbstractCore"]
|
|
69
|
+
Providers["providers + tools
|
|
70
|
+
(local or AbstractCore Server)"]
|
|
71
|
+
CoreConfig["config, model catalog,
|
|
72
|
+
engine installer, host job registry"]
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
HostAPI -->|"WorkflowSpec, resume, cancel"| Runtime
|
|
76
|
+
HostAPI --> RunFacade
|
|
77
|
+
HostAPI --> HostFacade
|
|
78
|
+
HostAPI --> ConfigFacade
|
|
79
|
+
RunFacade --> Runtime
|
|
80
|
+
Runtime --> Handlers
|
|
81
|
+
Runtime --> Stores
|
|
82
|
+
Handlers -->|"generate / tools"| Providers
|
|
83
|
+
HostFacade --> Providers
|
|
84
|
+
ConfigFacade --> CoreConfig
|
|
85
|
+
```
|
|
86
|
+
|
|
44
87
|
This keeps the runtime usable by `../abstractgateway` and application layers such as `../abstractflow`, `../abstractassistant`, `../abstractobserver`, and `../abstractcode` without embedding provider-specific model logic in the durable kernel.
|
|
45
88
|
|
|
46
89
|
## Component map
|
|
@@ -77,7 +120,7 @@ flowchart TB
|
|
|
77
120
|
end
|
|
78
121
|
|
|
79
122
|
subgraph Integrations["integrations/ (optional wiring)"]
|
|
80
|
-
AC["abstractcore/\nLLM_CALL, TOOL_CALLS, MCP worker"]
|
|
123
|
+
AC["abstractcore/\nLLM_CALL, TOOL_CALLS, MCP worker,\nhost / run / discovery / config facades"]
|
|
81
124
|
AM["abstractmemory/\nMEMORY_KG_* handlers"]
|
|
82
125
|
end
|
|
83
126
|
|
|
@@ -116,7 +159,7 @@ flowchart TB
|
|
|
116
159
|
### Crash-ordering invariant (reliability)
|
|
117
160
|
|
|
118
161
|
The run store is truth; the ledger is evidence. Every state transition obeys
|
|
119
|
-
ONE ordering law (backlog 0045; every durable feature is a consumer):
|
|
162
|
+
ONE ordering law ([backlog 0045](backlog/planned/runtime_systemic_reliability/0045_crash_replay_harness_and_ordering_invariant.md); every durable feature is a consumer):
|
|
120
163
|
|
|
121
164
|
1. **State save is the commit point.** A transition is true when — and only
|
|
122
165
|
when — `RunStore.save(run)` returns. Everything before the save must be
|
|
@@ -12,7 +12,7 @@ Remote-light runtime:
|
|
|
12
12
|
pip install abstractruntime
|
|
13
13
|
```
|
|
14
14
|
|
|
15
|
-
This installs AbstractCore 2.
|
|
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.
|
|
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
|
|
@@ -669,8 +669,10 @@ result = facade.clear_session_prompt_caches("support-session-1")
|
|
|
669
669
|
|
|
670
670
|
## Models, engines and host jobs (config facade)
|
|
671
671
|
|
|
672
|
-
AbstractCore
|
|
673
|
-
|
|
672
|
+
AbstractCore implements the model browser, the local-engine installer and a
|
|
673
|
+
host job registry. These passthroughs need AbstractCore 2.15.1 (the
|
|
674
|
+
base-install floor), the first release that records who cancelled a job.
|
|
675
|
+
`abstractruntime.integrations.abstractcore.config_facade`
|
|
674
676
|
passes them through unchanged, so a host such as AbstractGateway serves the same
|
|
675
677
|
payloads as `abstractcore models|engines … --json` and the `/acore/*` routes
|
|
676
678
|
without importing AbstractCore itself.
|
|
@@ -689,7 +691,7 @@ without importing AbstractCore itself.
|
|
|
689
691
|
| `delete_model_artifact(provider, artifact, dry_run=False, force=False)` | a `host_job_v1` job of kind `delete` |
|
|
690
692
|
| `start_model_download_job(provider, artifact, dry_run=False)` | a `host_job_v1` job of kind `download` (single-flight per artifact) |
|
|
691
693
|
| `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 |
|
|
694
|
+
| `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
695
|
| `console_fragment(kind)` | AbstractCore's embeddable web screen (`models` or `engines`): `{"html", "js", "css"}` |
|
|
694
696
|
| `models_engines_support()` | `{"available", "abstractcore_version", "required", "missing"}`; never raises |
|
|
695
697
|
|
|
@@ -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.
|
|
23
|
+
- The current AbstractCore integration expects `abstractcore>=2.15.1`.
|
|
24
24
|
|
|
25
25
|
Verify:
|
|
26
26
|
|