Prototype SDK provided durable entrypoint - #476
Draft
shivam5 wants to merge 1 commit into
Draft
Conversation
Contributor
Author
|
Interface comparison set:
The first three use the same tiny progress agent and the same run/heartbeat/event durability semantics so the developer-facing differences are directly comparable. |
This was referenced Aug 26, 2026
This was referenced Aug 27, 2026
shivam5
force-pushed
the
poc/durable-entrypoint-interface
branch
from
September 3, 2026 19:23
424c74e to
8a585c9
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What did you change, and why?
This adds a packaged durable runtime SDK to
databricks-mason. The SDK owns the HTTP server and durable run lifecycle; developer code registers framework-specific invocation and recovery hooks.The SDK exposes:
POST /invocationsGET /invocations/{run_id}GET /invocations/{run_id}/events?after={cursor}Equivalent
/api/*routes are available for Databricks Apps. The runtime consumesrun_id,session_id,background, andstream; the remaining JSON is passed unchanged to the registered hook.Durability boundary
The runtime now owns:
The developer or agent framework still owns JSON/native translation, conversation checkpoints, semantic resume behavior, agent/model/tool failures, and idempotency for external side effects.
Mason integration
databricks_mason.runtime.databricks_mason.langgraph.databricks-mason[runtime]instead of vendoringagent/mason/*orruntime/runtime.py.runtime/main.pyimports the application and callsapp.run().mason init --disable-chat-appproduces the API-only project.mason deploy --session <store>binds the managed store's Postgres resource before application startup, preserves unrelated app resources, and injects the runtime endpoint.cookbooks/durable-entrypoint/*prototype is not part of this PR.How do you know it works?
278 passed.24 passed, 1 skipped.15 passed, 1 skipped.ruff check,ruff format --check, andty checkpass.uv buildsucceeds.node --check.databricks_mason/runtime,databricks_mason/langgraph, andNOTICE, and advertises theruntimeoptional dependency.First milestone scope
This milestone covers worker/process loss, OOM/eviction/restart, stale-worker recovery, and client reconnect/event replay. It does not automatically retry agent exceptions or failed model/tool/API calls, detect semantic lack of progress, guarantee checkpoint restorability, deduplicate external side effects, or recover from runtime-store/regional outages.