Temporal under the Hood? Has Temporal been evalu...
# questions
w
Temporal under the Hood? Has Temporal been evaluated and considered as an engine under the hood to replace some of the custom systems in order to offload the development and maintenance burden of various core SDK systems in order to allocate more attention and focus elsewhere? Or even forking it? Not a critique of the existing system, just a curious brain asking questions
FWIW, I setup a deep research and evaluation project asking the same question. Figured I'd share incase any of this is useful to anyone.
no idea why slack is marking a .md file as binary, maybe the size?
HA! Ok, I feel dumb. I just hadn't gotten that far before posting. Love that you guys already did this evaluation, probably a lot deeper than mine. Still some interstging concepts and ideas in that report so I'll leave it incase anyone else wants a read The critical caveat: The OpenHands team has explicitly evaluated Temporal and positioned its own built-in server as superior for avoiding Temporal's "significant infrastructure complexity." Any Temporal adoption must therefore be justified not just on technical merit but on demonstrated operational failure rates that exceed Temporal's adoption cost. The trigger condition for initiating Phase 1 is: when container lifecycle incidents, LLM call loss, or conversation stuck bugs consume more than 10% of the engineering team's sprint capacity in two consecutive sprints. Below that threshold, the current architecture's simplicity has genuine value. The five-sentence justification a skeptical CTO cannot easily dismiss: OpenHands V1 has already re-implemented Temporal's core primitives — event sourcing, FSM-based execution state, single-threaded-by-convention execution, crash recovery via file persistence, retry-on-failure via Tenacity — in ~3,000 lines of custom infrastructure code, as evidenced by
state.py
(538 lines),
local_conversation.py
,
fifo_lock.py
,
event_store.py
, and
io.py
. This custom infrastructure has already produced documented production failures: the condensation loop bug (Issue #1073), the multi-LLM profile configuration inconsistency (Issue #781), and the V0 container divergence problem addressed in the arXiv post-mortem (§3.1). Temporal does not add orchestration complexity — it replaces the custom orchestration code that already exists with a production-battle-tested equivalent, while the custom code stays custom. The workspace lifecycle (§7) and agent lifecycle control (§8) subsystems are the highest-ROI entry points precisely because they are the farthest from "domain logic" and the closest to pure infrastructure — they can be migrated with zero changes to
AgentBase.step()
,
LLM.completion()
, or any tool executor. The alternative — continuing to invest in the custom infrastructure stack as OpenHands scales to "1000s of agents in the cloud" — requires proportionally larger investments in debugging, testing, and incident response for a class of problems that Temporal has already solved.
w
😄 we're fans of temporal, it may make it into our stack eventually
👀 1
w
Well then hopefully that .md file above will be useful and save you some tokens at least