AbstractRuntime 0.4.8__tar.gz → 0.4.9__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.8 → abstractruntime-0.4.9}/ACKNOWLEDGMENTS.md +4 -3
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/CHANGELOG.md +12 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/PKG-INFO +7 -3
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/README.md +5 -2
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/docs/architecture.md +3 -3
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/docs/limits.md +1 -1
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/docs/proposal.md +1 -1
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/docs/provenance.md +1 -1
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/pyproject.toml +5 -1
- abstractruntime-0.4.9/release-notes.md +9 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_packaging_extras.py +3 -0
- abstractruntime-0.4.8/release-notes.md +0 -11
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/.github/workflows/ci.yml +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/.github/workflows/release.yml +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/.gitignore +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/CONTRIBUTING.md +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/LICENSE +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/ROADMAP.md +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/SECURITY.md +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/docs/README.md +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/docs/adr/0001_layered_coupling_with_abstractcore.md +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/docs/adr/0002_execution_modes_local_remote_hybrid.md +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/docs/adr/0003_provenance_tamper_evident_hash_chain.md +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/docs/adr/README.md +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/docs/api.md +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/docs/backlog/README.md +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/docs/backlog/completed/001_runtime_kernel.md +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/docs/backlog/completed/002_persistence_and_ledger.md +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/docs/backlog/completed/003_wait_primitives.md +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/docs/backlog/completed/004_scheduler_driver.md +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/docs/backlog/completed/005_abstractcore_integration.md +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/docs/backlog/completed/006_snapshots_bookmarks.md +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/docs/backlog/completed/007_provenance_hash_chain.md +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/docs/backlog/completed/009_artifact_store.md +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/docs/backlog/completed/010_examples_and_composition.md +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/docs/backlog/completed/011_subworkflow_support.md +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/docs/backlog/completed/012_run_store_query_and_scheduler_support.md +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/docs/backlog/completed/013_effect_retries_and_idempotency.md +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/docs/backlog/completed/016_runtime_aware_parameters.md +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/docs/backlog/deprecated/001_integrations_abstractcore.md +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/docs/backlog/deprecated/001_runtime_kernel.md +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/docs/backlog/deprecated/002_persistence_and_ledger.md +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/docs/backlog/deprecated/002_snapshots_bookmarks.md +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/docs/backlog/deprecated/003_provenance_ledger_chain.md +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/docs/backlog/deprecated/003_wait_resume_and_scheduler.md +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/docs/backlog/deprecated/004_effect_handlers_and_integrations.md +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/docs/backlog/deprecated/004_tests.md +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/docs/backlog/deprecated/005_docs_updates.md +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/docs/backlog/deprecated/005_examples_and_composition.md +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/docs/backlog/deprecated/006_ai_fingerprint_and_provenance.md +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/docs/backlog/deprecated/DEPRECATED_README.md +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/docs/backlog/deprecated/README.md +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/docs/backlog/deprecated/abstractruntime_docs_final_02a7373b.plan.md +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/docs/backlog/planned/008_signatures_and_keys.md +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/docs/backlog/planned/014_remote_tool_worker_executor.md +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/docs/backlog/planned/015_agent_integration_improvements.md +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/docs/backlog/planned/017_limit_warnings_and_observability.md +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/docs/backlog/planned/018_workspace_access_policy_for_media_and_tools.md +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/docs/backlog/proposed/2026-05-08_runtime_gateway_env_namespace_cleanup.md +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/docs/backlog/proposed/2026-05-08_runtime_gateway_install_boundary.md +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/docs/evidence.md +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/docs/faq.md +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/docs/getting-started.md +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/docs/integrations/abstractcore.md +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/docs/manual_testing.md +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/docs/mcp-worker.md +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/docs/snapshots.md +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/docs/tools-comms.md +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/docs/workflow-bundles.md +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/emails.config.example.yaml +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/examples/01_hello_world.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/examples/02_ask_user.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/examples/03_wait_until.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/examples/04_multi_step.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/examples/05_persistence.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/examples/06_llm_integration.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/examples/07_react_agent.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/examples/README.md +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/llms-full.txt +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/llms.txt +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/mkdocs.yml +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/pytest.ini +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/__init__.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/core/__init__.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/core/config.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/core/event_keys.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/core/models.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/core/policy.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/core/runtime.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/core/spec.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/core/vars.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/evidence/__init__.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/evidence/recorder.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/history_bundle.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/identity/__init__.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/identity/fingerprint.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/integrations/__init__.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/integrations/abstractcore/__init__.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/integrations/abstractcore/constants.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/integrations/abstractcore/default_tools.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/integrations/abstractcore/effect_handlers.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/integrations/abstractcore/embeddings_client.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/integrations/abstractcore/factory.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/integrations/abstractcore/llm_client.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/integrations/abstractcore/logging.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/integrations/abstractcore/mcp_worker.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/integrations/abstractcore/observability.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/integrations/abstractcore/output_specs.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/integrations/abstractcore/session_attachments.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/integrations/abstractcore/summarizer.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/integrations/abstractcore/tool_executor.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/integrations/abstractcore/workspace_scoped_tools.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/integrations/abstractmemory/__init__.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/integrations/abstractmemory/effect_handlers.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/memory/__init__.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/memory/active_context.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/memory/active_memory.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/memory/compaction.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/memory/kg_packets.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/memory/memact_composer.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/memory/recall_levels.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/memory/token_budget.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/rendering/__init__.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/rendering/agent_trace_report.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/rendering/json_stringify.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/scheduler/__init__.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/scheduler/convenience.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/scheduler/registry.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/scheduler/scheduler.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/storage/__init__.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/storage/artifacts.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/storage/base.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/storage/commands.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/storage/in_memory.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/storage/json_files.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/storage/ledger_chain.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/storage/observable.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/storage/offloading.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/storage/snapshots.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/storage/sqlite.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/visualflow_compiler/__init__.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/visualflow_compiler/adapters/__init__.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/visualflow_compiler/adapters/agent_adapter.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/visualflow_compiler/adapters/context_adapter.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/visualflow_compiler/adapters/control_adapter.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/visualflow_compiler/adapters/effect_adapter.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/visualflow_compiler/adapters/event_adapter.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/visualflow_compiler/adapters/function_adapter.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/visualflow_compiler/adapters/memact_adapter.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/visualflow_compiler/adapters/subflow_adapter.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/visualflow_compiler/adapters/variable_adapter.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/visualflow_compiler/compiler.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/visualflow_compiler/flow.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/visualflow_compiler/visual/__init__.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/visualflow_compiler/visual/agent_ids.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/visualflow_compiler/visual/builtins.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/visualflow_compiler/visual/code_executor.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/visualflow_compiler/visual/executor.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/visualflow_compiler/visual/models.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/visualflow_compiler/visual/multi_entry_lowering.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/workflow_bundle/__init__.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/workflow_bundle/models.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/workflow_bundle/packer.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/workflow_bundle/reader.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/workflow_bundle/registry.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/README.md +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/conftest.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_active_context_policy.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_active_memory.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_answer_user_effect.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_artifacts.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_chat_summarizer_integration.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_command_store.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_compaction_helpers.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_control_adapter_while.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_default_tools_comms_gating.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_default_tools_include_skim_files.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_default_tools_include_skim_folders.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_default_tools_search_files_executor.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_durable_toolsets.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_e2e_tool_calls_idempotency_lmstudio.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_emit_event_without_workflow_registry.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_evidence_recorder.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_factory_timeouts_default_to_abstractcore_config.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_integration_abstractcore.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_integrations_abstractcore.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_json_file_run_store_children_index.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_jsonl_ledger_recovery.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_kg_learn_and_recall_contract.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_ledger_chain.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_ledger_subscription.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_llm_call_media_artifact_refs.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_llm_call_media_artifact_refs_persist_across_restart.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_llm_call_media_uses_source_path_label.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_llm_call_requires_prompt.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_llm_call_response_schema_normalization.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_llm_call_structured_output_fallback.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_llm_call_truncation_retry_contract.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_llm_call_use_context_appends_turn.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_llm_call_verbatim_payload_capture.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_llm_client_media_artifacts.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_llm_client_system_context.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_llm_client_tool_call_parsing.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_local_runtime_timeout_kwarg_policy.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_mcp_remote_tool_executor.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_mcp_worker_logging.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_mcp_worker_security.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_mcp_worker_stdio.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_memact_composer_from_kg_result.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_memory_kg_assert_attributes_defaults.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_memory_kg_packets.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_memory_kg_predicate_aliasing.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_memory_kg_query_packetization_restart.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_memory_kg_query_recall_level_policy.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_memory_kg_semantic_query_ranking.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_memory_note_effect.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_memory_query_effect.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_memory_query_rich_filters.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_memory_scope_and_rehydrate_effect.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_memory_tag_effect.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_mlx_generation_serialization.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_multimodal_abstractcore_integration.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_offloading.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_pause_resume.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_prompt_cache_modules.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_queryable_run_store.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_read_file_fallback_to_session_attachments.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_real_integration.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_recall_levels_policy.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_remote_llm_client.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_rendering_agent_trace_report.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_rendering_json_stringify.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_retry_idempotency.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_run_history_bundle.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_runtime_config_max_output_tokens_fallback.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_runtime_install_boundary.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_runtime_llm_call_grounding_in_ledger.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_runtime_node_traces.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_runtime_start_seeds_tool_support.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_scheduler.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_session_attachments_registry_and_open_tool.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_snapshots.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_sqlite_ledger_store.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_start_subworkflow_async_wait.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_start_subworkflow_inherit_context_merges_messages.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_start_subworkflow_workspace_inheritance.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_structured_output_schema_enum.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_subworkflow.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_terminal_effect_completion.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_terminal_resume_appends_ledger_completion.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_tick_completion_includes_output_in_ledger.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_tool_approval_executor.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_tool_approval_resume_executes.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_tool_calls_idempotency_keys.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_tool_executor_argument_sanitization.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_tool_executor_error_output_detection.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_tool_executor_filename_alias.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_tool_executor_kwarg_canonicalization.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_tool_executor_read_file_aliases.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_tool_executor_timeout.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_tool_wait_allowlist_safety.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_trace_context_propagation.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_vars_query_effect.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_visual_agent_output_context_includes_messages.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_visual_agent_tool_observations_persist_across_restart.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_visual_agent_use_context_inherits_attachments.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_visual_agent_use_context_persists_tool_observations.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_visual_agent_use_context_persists_turn.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_visual_llm_call_schema_ref_resolution.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_visual_memact_compose_node.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_visual_memory_kg_query_outputs_propagate.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_visual_memory_kg_resolve_outputs_propagate.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_visual_multi_entry_loop_overrides.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_visualflow_add_message_builtin.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_visualflow_add_message_node_appends_to_active_context.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_visualflow_call_tool_node.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_visualflow_compiler_basic.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_visualflow_context_and_builder_nodes.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_visualflow_get_element_node.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_visualflow_get_random_element_node.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_visualflow_has_tools_builtin.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_visualflow_llm_call_context_attachments_map_to_media.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_visualflow_llm_call_multimodal_output.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_visualflow_make_object_node.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_visualflow_memory_effect_nodes.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_visualflow_memory_source_pins.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_visualflow_prompt_only.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_visualflow_random_nodes.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_visualflow_string_contains_replace.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_visualflow_tool_parameters_node.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_wait_event_prompt_metadata.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_workflow_bundle_registry.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_workspace_policy_allowlist_mode.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_workspace_policy_mount_virtual_paths.py +0 -0
- {abstractruntime-0.4.8 → abstractruntime-0.4.9}/tests/test_workspace_policy_tool_calls_persist_across_restart.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.
|
|
10
|
+
- **abstractsemantics** (`>=0.0.3`) — structured schema registry support (declared in `pyproject.toml`, used in `src/abstractruntime/integrations/abstractmemory/effect_handlers.py` and VisualFlow execution wiring).
|
|
11
|
+
- **AbstractMemory** (`>=0.2.6`) — TripleStore models and store contract used by Runtime's `MEMORY_KG_*` effects. Durable/vector backend dependencies such as LanceDB remain selected by hosts.
|
|
11
12
|
|
|
12
13
|
## Optional integrations (extras)
|
|
13
14
|
|
|
14
15
|
Installed only when you opt in to extras:
|
|
15
|
-
- **abstractcore** (`>=2.
|
|
16
|
+
- **abstractcore** (`>=2.13.12`) — LLM + tools integration used by `abstractruntime[abstractcore]` (declared in `pyproject.toml`, implementation under `src/abstractruntime/integrations/abstractcore/*`, docs: `docs/integrations/abstractcore.md`).
|
|
16
17
|
- 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.
|
|
17
|
-
- **abstractcore[tools]** (`>=2.
|
|
18
|
+
- **abstractcore[tools]** (`>=2.13.12`) — toolchain extra used by `abstractruntime[mcp-worker]` (declared in `pyproject.toml`) and intended to include HTML parsing dependencies (see comments in `pyproject.toml`).
|
|
18
19
|
- **RestrictedPython** (optional) — used for sandboxed execution of VisualFlow “Code” nodes when available (`src/abstractruntime/visualflow_compiler/visual/code_executor.py`).
|
|
19
20
|
|
|
20
21
|
## Build & test tooling
|
|
@@ -7,6 +7,18 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.4.9] - 2026-05-09
|
|
11
|
+
|
|
12
|
+
### Changed
|
|
13
|
+
- Added `AbstractMemory>=0.2.6` as a base dependency so Runtime's
|
|
14
|
+
`MEMORY_KG_*` effect contract always has the AbstractMemory TripleStore
|
|
15
|
+
models available.
|
|
16
|
+
|
|
17
|
+
### Notes
|
|
18
|
+
- Runtime still does not depend on `AbstractMemory[lancedb]`. Hosts such as
|
|
19
|
+
AbstractGateway choose the durable/vector memory backend, path, embeddings,
|
|
20
|
+
and readiness policy.
|
|
21
|
+
|
|
10
22
|
## [0.4.8] - 2026-05-08
|
|
11
23
|
|
|
12
24
|
### Changed
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: AbstractRuntime
|
|
3
|
-
Version: 0.4.
|
|
3
|
+
Version: 0.4.9
|
|
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,6 +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: abstractmemory>=0.2.6
|
|
23
24
|
Requires-Dist: abstractsemantics>=0.0.3
|
|
24
25
|
Provides-Extra: abstractcore
|
|
25
26
|
Requires-Dist: abstractcore>=2.13.12; extra == 'abstractcore'
|
|
@@ -49,7 +50,7 @@ Description-Content-Type: text/markdown
|
|
|
49
50
|
|
|
50
51
|
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.
|
|
51
52
|
|
|
52
|
-
**Version:** 0.4.
|
|
53
|
+
**Version:** 0.4.9 • **Python:** 3.10+
|
|
53
54
|
|
|
54
55
|
**Status:** pre-1.0 (API may evolve). For production use, pin versions and follow `CHANGELOG.md`.
|
|
55
56
|
|
|
@@ -137,7 +138,7 @@ state = rt.resume(
|
|
|
137
138
|
assert state.status.value == "completed"
|
|
138
139
|
```
|
|
139
140
|
|
|
140
|
-
## What’s included (v0.4.
|
|
141
|
+
## What’s included (v0.4.9)
|
|
141
142
|
|
|
142
143
|
Kernel (dependency-light):
|
|
143
144
|
- workflow graphs: `WorkflowSpec` (`src/abstractruntime/core/spec.py`)
|
|
@@ -162,6 +163,9 @@ Drivers + distribution:
|
|
|
162
163
|
|
|
163
164
|
Optional integrations:
|
|
164
165
|
- AbstractCore (LLM + tools, cached sessions/prompt cache, media inputs, generated media, tool approval waits): `docs/integrations/abstractcore.md`
|
|
166
|
+
- AbstractMemory TripleStore integration for `MEMORY_KG_*` effects. Runtime
|
|
167
|
+
depends on the light AbstractMemory contract; hosts choose storage backends
|
|
168
|
+
such as LanceDB, SQLite, or in-memory stores.
|
|
165
169
|
- comms toolset gating (email/WhatsApp/Telegram): `docs/tools-comms.md`
|
|
166
170
|
|
|
167
171
|
## Built-in scheduler (zero-config)
|
|
@@ -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.9 • **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
|
|
|
@@ -92,7 +92,7 @@ state = rt.resume(
|
|
|
92
92
|
assert state.status.value == "completed"
|
|
93
93
|
```
|
|
94
94
|
|
|
95
|
-
## What’s included (v0.4.
|
|
95
|
+
## What’s included (v0.4.9)
|
|
96
96
|
|
|
97
97
|
Kernel (dependency-light):
|
|
98
98
|
- workflow graphs: `WorkflowSpec` (`src/abstractruntime/core/spec.py`)
|
|
@@ -117,6 +117,9 @@ Drivers + distribution:
|
|
|
117
117
|
|
|
118
118
|
Optional integrations:
|
|
119
119
|
- AbstractCore (LLM + tools, cached sessions/prompt cache, media inputs, generated media, tool approval waits): `docs/integrations/abstractcore.md`
|
|
120
|
+
- AbstractMemory TripleStore integration for `MEMORY_KG_*` effects. Runtime
|
|
121
|
+
depends on the light AbstractMemory contract; hosts choose storage backends
|
|
122
|
+
such as LanceDB, SQLite, or in-memory stores.
|
|
120
123
|
- comms toolset gating (email/WhatsApp/Telegram): `docs/tools-comms.md`
|
|
121
124
|
|
|
122
125
|
## Built-in scheduler (zero-config)
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# AbstractRuntime — Architecture
|
|
2
2
|
|
|
3
3
|
> Updated: 2026-05-08
|
|
4
|
-
> Version: 0.4.
|
|
4
|
+
> Version: 0.4.9
|
|
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 @@ AbstractRuntime is the durable execution kernel inside the wider AbstractFramewo
|
|
|
12
12
|
- AbstractFramework umbrella: [lpalbou/AbstractFramework](https://github.com/lpalbou/AbstractFramework)
|
|
13
13
|
- AbstractCore (LLM + tools): [lpalbou/abstractcore](https://github.com/lpalbou/abstractcore)
|
|
14
14
|
|
|
15
|
-
The runtime stays dependency-light and delegates LLM/tool execution to integrations (notably AbstractCore): `src/abstractruntime/integrations/abstractcore/*`.
|
|
15
|
+
The runtime stays dependency-light and delegates LLM/tool execution to integrations (notably AbstractCore): `src/abstractruntime/integrations/abstractcore/*`. Runtime also depends on the light AbstractMemory contract so `MEMORY_KG_*` effects always have the TripleStore model types available; hosts still choose the concrete memory backend.
|
|
16
16
|
|
|
17
17
|
```mermaid
|
|
18
18
|
flowchart LR
|
|
@@ -37,7 +37,7 @@ The boundary is intentionally narrow:
|
|
|
37
37
|
- Remote chat media is sent to AbstractCore Server as provider-ready content arrays, but persisted provider-request metadata redacts data URLs so checkpoints and ledgers do not embed media bytes.
|
|
38
38
|
- Provider sessions and prompt-cache objects are not runtime state. Runtime may carry stable cache keys, while AbstractCore clients/servers manage warm caches.
|
|
39
39
|
- Local execution can use richer AbstractCore capability plugins. Remote and hybrid execution map the common media cases to AbstractCore Server endpoints and OpenAI-compatible content arrays, while hybrid keeps tool execution local.
|
|
40
|
-
- Gateway and other hosts compose Runtime with the desired Core/capability/memory profile. Runtime's base package
|
|
40
|
+
- Gateway and other hosts compose Runtime with the desired Core/capability/memory profile. Runtime's base package includes the AbstractMemory contract but not backend extras such as LanceDB; hosts choose storage, embeddings, and readiness policy. Hardware profile extras such as `apple`, `gpu`, `all-apple`, and `all-gpu` cascade through AbstractCore when a host selects them.
|
|
41
41
|
- 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.
|
|
42
42
|
|
|
43
43
|
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.
|
|
@@ -62,7 +62,7 @@ Returns a structured dict for UI/status display. (`src/abstractruntime/core/runt
|
|
|
62
62
|
|
|
63
63
|
Returns a list of `LimitWarning` objects for limits approaching/exceeded. (`src/abstractruntime/core/models.py`, `src/abstractruntime/core/runtime.py`)
|
|
64
64
|
|
|
65
|
-
As of v0.4.
|
|
65
|
+
As of v0.4.9, warnings are computed for:
|
|
66
66
|
- `iterations` (`current_iteration` vs `max_iterations`)
|
|
67
67
|
- `tokens` (`estimated_tokens_used` vs `max_tokens`)
|
|
68
68
|
|
|
@@ -79,7 +79,7 @@ AbstractRuntime stays dependency-light at the kernel level; concrete integration
|
|
|
79
79
|
|
|
80
80
|
## Status (implemented in this repository)
|
|
81
81
|
|
|
82
|
-
As of v0.4.
|
|
82
|
+
As of v0.4.9:
|
|
83
83
|
- durable kernel: `RunState`, `WaitState`, `Runtime.start/tick/resume`
|
|
84
84
|
- built-in waits + events: `WAIT_EVENT`, `WAIT_UNTIL`, `ASK_USER`, `EMIT_EVENT`
|
|
85
85
|
- persistence backends: in-memory, JSON/JSONL, SQLite
|
|
@@ -8,7 +8,7 @@ Implementation pointers:
|
|
|
8
8
|
- model fields: `src/abstractruntime/core/models.py` (`StepRecord.prev_hash`, `StepRecord.record_hash`, `StepRecord.signature`)
|
|
9
9
|
- hash-chain decorator + verifier: `src/abstractruntime/storage/ledger_chain.py`
|
|
10
10
|
|
|
11
|
-
## What is implemented (v0.4.
|
|
11
|
+
## What is implemented (v0.4.9)
|
|
12
12
|
|
|
13
13
|
- `HashChainedLedgerStore(inner_store)` — wraps any `LedgerStore` to compute hashes on append
|
|
14
14
|
- `verify_ledger_chain(records)` — validates the chain and returns a verification report
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "AbstractRuntime"
|
|
7
|
-
version = "0.4.
|
|
7
|
+
version = "0.4.9"
|
|
8
8
|
description = "AbstractRuntime: a durable graph runner designed to pair with AbstractCore."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.10"
|
|
@@ -37,6 +37,10 @@ dependencies = [
|
|
|
37
37
|
# Required to resolve stable structured-output schema refs like:
|
|
38
38
|
# {"$ref":"abstractsemantics:kg_assertion_schema_v0"}
|
|
39
39
|
"abstractsemantics>=0.0.3",
|
|
40
|
+
# Required for the Runtime-owned MEMORY_KG_* effect contract and TripleStore
|
|
41
|
+
# model types. Durable/vector backend dependencies such as LanceDB remain
|
|
42
|
+
# package extras owned by AbstractMemory and selected by hosts such as Gateway.
|
|
43
|
+
"AbstractMemory>=0.2.6",
|
|
40
44
|
]
|
|
41
45
|
|
|
42
46
|
[project.optional-dependencies]
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
### Changed
|
|
2
|
+
- Added `AbstractMemory>=0.2.6` as a base dependency so Runtime's
|
|
3
|
+
`MEMORY_KG_*` effect contract always has the AbstractMemory TripleStore
|
|
4
|
+
models available.
|
|
5
|
+
|
|
6
|
+
### Notes
|
|
7
|
+
- Runtime still does not depend on `AbstractMemory[lancedb]`. Hosts such as
|
|
8
|
+
AbstractGateway choose the durable/vector memory backend, path, embeddings,
|
|
9
|
+
and readiness policy.
|
|
@@ -43,6 +43,9 @@ def test_runtime_exposes_abstractcore_and_worker_extras_with_gateway_aligned_flo
|
|
|
43
43
|
pyproject = Path(__file__).resolve().parents[1] / "pyproject.toml"
|
|
44
44
|
text = pyproject.read_text(encoding="utf-8")
|
|
45
45
|
|
|
46
|
+
assert '"abstractsemantics>=0.0.3"' in text
|
|
47
|
+
assert '"AbstractMemory>=0.2.6"' in text
|
|
48
|
+
assert '"AbstractMemory[lancedb]' not in text
|
|
46
49
|
assert "[project.optional-dependencies]" in text
|
|
47
50
|
assert "abstractcore = [" in text
|
|
48
51
|
assert "mcp-worker = [" in text
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
### Changed
|
|
2
|
-
- Minimum `abstractcore` optional dependency increased to `>=2.13.12`, and the
|
|
3
|
-
semantics floor increased to `abstractsemantics>=0.0.3`.
|
|
4
|
-
- Added explicit hardware-profile cascade extras:
|
|
5
|
-
`abstractruntime[apple]`, `abstractruntime[gpu]`,
|
|
6
|
-
`abstractruntime[all-apple]`, and `abstractruntime[all-gpu]`.
|
|
7
|
-
|
|
8
|
-
### Notes
|
|
9
|
-
- Runtime still owns durable execution, not local model engines. These extras
|
|
10
|
-
delegate to the matching AbstractCore profile so Gateway and root aggregate
|
|
11
|
-
installs can compose a single profile vocabulary.
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{abstractruntime-0.4.8 → abstractruntime-0.4.9}/docs/adr/0001_layered_coupling_with_abstractcore.md
RENAMED
|
File without changes
|
{abstractruntime-0.4.8 → abstractruntime-0.4.9}/docs/adr/0002_execution_modes_local_remote_hybrid.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{abstractruntime-0.4.8 → abstractruntime-0.4.9}/docs/backlog/completed/001_runtime_kernel.md
RENAMED
|
File without changes
|
{abstractruntime-0.4.8 → abstractruntime-0.4.9}/docs/backlog/completed/002_persistence_and_ledger.md
RENAMED
|
File without changes
|
{abstractruntime-0.4.8 → abstractruntime-0.4.9}/docs/backlog/completed/003_wait_primitives.md
RENAMED
|
File without changes
|
{abstractruntime-0.4.8 → abstractruntime-0.4.9}/docs/backlog/completed/004_scheduler_driver.md
RENAMED
|
File without changes
|
|
File without changes
|
{abstractruntime-0.4.8 → abstractruntime-0.4.9}/docs/backlog/completed/006_snapshots_bookmarks.md
RENAMED
|
File without changes
|
{abstractruntime-0.4.8 → abstractruntime-0.4.9}/docs/backlog/completed/007_provenance_hash_chain.md
RENAMED
|
File without changes
|
{abstractruntime-0.4.8 → abstractruntime-0.4.9}/docs/backlog/completed/009_artifact_store.md
RENAMED
|
File without changes
|
|
File without changes
|
{abstractruntime-0.4.8 → abstractruntime-0.4.9}/docs/backlog/completed/011_subworkflow_support.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{abstractruntime-0.4.8 → abstractruntime-0.4.9}/docs/backlog/deprecated/001_runtime_kernel.md
RENAMED
|
File without changes
|
|
File without changes
|
{abstractruntime-0.4.8 → abstractruntime-0.4.9}/docs/backlog/deprecated/002_snapshots_bookmarks.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{abstractruntime-0.4.8 → abstractruntime-0.4.9}/docs/backlog/deprecated/DEPRECATED_README.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{abstractruntime-0.4.8 → abstractruntime-0.4.9}/docs/backlog/planned/008_signatures_and_keys.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/integrations/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/memory/active_context.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/memory/memact_composer.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/rendering/agent_trace_report.py
RENAMED
|
File without changes
|
{abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/rendering/json_stringify.py
RENAMED
|
File without changes
|
|
File without changes
|
{abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/scheduler/convenience.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/visualflow_compiler/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/visualflow_compiler/compiler.py
RENAMED
|
File without changes
|
{abstractruntime-0.4.8 → abstractruntime-0.4.9}/src/abstractruntime/visualflow_compiler/flow.py
RENAMED
|
File without changes
|