
OpenRath: Session-Centered Runtime State for Agent Systems作者Fukang Wen, Zhijie Wang, Ruilin Xu核心发表机构论文源码未明确标注或暂未可靠识别论文链接arXiv:2606.19409v1发布于arXiv 预印本cs.SE一、核心贡献 / Core Contributions提出 Session 作为智能体系统的一等运行时值OpenRath 将多智能体、多会话系统中的运行时状态收敛到单一可编程对象 Session。该对象在 agent 与 workflow 之间作为普通程序值传递同时携带对话块、sandbox 放置、谱系元数据、token 用量、待办工作与工具证据使 fork、merge、replay 成为显式运行时操作而非从外部 trace 重构的间接过程。设计 PyTorch-like 的对象词汇表与形状保持契约类比 PyTorch 中 tensor 作为核心流动值、module 作为可复用变换的架构OpenRath 定义 Session、Sandbox、Tool、Agent、Memory、Workflow、Selector 七类对象。所有变换均保持f : Session → Session f: \text{Session} \to \text{Session}f:Session→Session的形状使 agent 可嵌套、workflow 可组合、Selector 可将控制流变为运行时路由决策且不引入第二个框架私有状态对象。建立后端感知的执行边界通过session.to(backend)将放置意图与具体执行后端解耦。本地执行、OpenSandbox 等可选后端、MCP 风格工具协议均可在经过证据包验证后接入同一 Session 中心模型。工具副作用、sandbox 布置、后端生命周期被记录为 Session 上的显式证据而非散落在控制器代码或工具日志中。提出审计优先的发布与证据协议论文不以 benchmark 排行榜为主要验证手段而是构建了从声明claim到证据包evidence packet再到声明账本claim ledger的完整链路。每条可验证声明都映射到确定的运行产物使读者可以从论文文本直接追溯到可复现的命令、manifest 与输出文件。该协议将验证范围明确限定为受控运行时属性为后续比较性评估划定边界。二、研究背景与动机 / Background Motivation现代 agent 系统在从单轮对话走向长时、多角色、多工具工作流的过程中面临一个日益尖锐的结构性问题运行时状态的碎片化。一个典型的长时间 agent 运行会经历规划、分支尝试、工具调用、sandbox 内文件编辑、记忆召回、上下文压缩、最终合成答案等多个阶段。然而对话记录transcripts、工具效果tool effects、记忆事件memory events、工作区布置workspace placement、分支来源branch provenance、回放证据replay evidence通常被分开存储在不同的子系统里。最终答案可能是正确的但产生该答案的运行时路径却分散在控制器代码、工具日志、记忆库、工作区状态与提供商 trace 中难以检查、复现或审计。这一问题的根源在于简单的 ReAct 风格“推理-行动循环”追加消息、调用模型、执行工具、追加观察在单个助手的场景下是有效的状态边界但当工作分布在多个角色、工具、记忆库、sandbox 与分支恢复执行之间时该循环成为一个“弱状态边界”。消息列表虽然保留了对话表面却不暴露角色来源、废弃分支、工具布置、工作区效应、记忆召回或提交事件更不记录压缩过程中丢弃了哪些证据。一旦模型、提供商、工作区或提示发生变化最终答案的审计链就断裂了。更深层的问题是这些问题无法通过简单地增加日志或追踪来解决——它们源于运行时状态本身没有被设计为程序可操作的一等值。OpenRath 的出发点不是循环中 agent 的数量而是运行时状态边界。它的核心设计假说是多 agent 系统在扩展时如果运行时状态被放置在程序已经流经的地方而不是旁边就能保持更强的可检查性。OpenRath 将这一边界具体化为 Session一个在 agent 与 workflow 之间流动的活值谱系、工具效应、放置信息、用量与记忆事件都附着在该值上而不是从侧信道重建。为了说明自身在生态中的位置OpenRath 明确区分了三类运行时记录和三类读者graph checkpoint 写给调度器记录控制流位置以便恢复或重放trace span 写给观察者记录运行期间观察到的事件以便事后监控而 Session 写给 agent 程序本身是 agent 用于 fork、merge、hand off、replay 的活值。OpenRath 并不试图取代现有的图运行时、追踪 SDK、MCP 服务器、sandbox 提供商或基准测试框架而是作为它们之间的crossing-object boundary将这些组件产生的效果统一收敛到一个可分支、可检查、可重放、可组合的 Session 对象中。三、方法 / Methodology3.1 总体框架 / Overall ArchitectureOpenRath 的总体框架可以用一个核心图像来概括传统 agent 循环周围散落的侧信道状态工具日志、sandbox 文件、记忆事件、分支记录被“提升”为一个可分支的 Session 值。Agent 循环本身仍然是模型推理与工具调用的基本结构但所有与运行相关的状态不再散落在循环之外的独立通道中而是通过 Session 在程序执行中显式传递。这一设计直接受到 PyTorch 架构角色的启发。PyTorch 中tensor 是流经可复用模块的核心值模块暴露统一的 forward 映射通过tensor.to(device)显式布置持久模块状态用 parameter 表示。OpenRath 将这一套对象角色迁移到 agent 领域Session 对应 tensorAgent 对应可复用变换类似 layerWorkflow 对应组合容器类似 nn.ModuleSandbox 对应 deviceTool 对应 functionMemory 对应 parameterSelector 对应控制流。需要强调的是这一类比针对的是“中央一等运行时抽象的角色”而非张量计算本身。OpenRath 不声称 agent 系统是神经网络而是认为 agent 运行时同样需要一个稳定流动的值、可复用变换的统一接口、显式布置、持久状态和可检查证据。编程模型的核心规则是所有运行时组件要么变换 Session要么注解 Session不应各自发明私有的 transcript、布置记录、工具日志、记忆格式或工作流状态。这一规则保证了组合性与可检查性的统一。对象词汇表如下Session 是流动的运行时值承载 chunks、placement、lineage、usage、pending work、tool evidence 以及启用时的 memory evidenceAgent 是可复用的Session - Session变换包含局部 prompt、provider、tools 与 memory policyTool 是模型可见的可调用操作由 schema 验证、session 上下文、sandbox 分发与返回证据支持Sandbox 是文件、命令、代码和外部工具执行的布置边界Memory 是跨运行 recall 和 commit 的持久状态平面与 prompt 文本分离Workflow 是组合表面可组合 agents、tools、branches、compression、memory 与 child workflowsSelector 是自描述 workflow 上的运行时路由器读取当前 session 并选择下一 workflow使动态控制流显式化而非硬编码。Session 的生命周期是一个持续变换的过程而不是被独立编排状态替换的过程。它经历六个阶段Create初始用户文本、agent prompts、角色、有序 chunk 状态、PlaceSession.to(...)的后端意图、工具可运行的工作区、Transform模型调用、工具请求、结果、错误、压缩器、workflow 步骤、用量、Branch父 session、fork、detach、merge、分支来源、合并输入、Persist可重放 chunks、lineage JSONL 行、用量、来源证据、Releasesandbox 句柄所有权、后端生命周期。同一对象在放置、变换、分支、持久化后被重放而不是被另一套编排状态替代。3.2 关键模块 / Key ModulesSession 核心与分支操作。Session 是唯一被所有组件共享的运行时值。它由有序的 conversation chunks、lineage 元数据、token 用量计数、pending work 列表、tool evidence 以及可选的 memory evidence 组成。五个性质——branchable、inspectable、replayable、backend-aware、composable——是 OpenRath 对运行时状态设计的最低要求。分支语义包含三个操作fork复制状态并保留父关系detach从复制内容开始一个新的 lineage 根merge合并兼容 session 并记录双亲。合并兼容性不仅要求 chunk 结构兼容还要求 sandbox 兼容性两个 session 必须共享同一个 live sandbox 句柄或指向同一个未绑定后端。这使得放置信息成为运行时图的一部分而非事后附加的元数据。Sandbox 与后端边界。OpenRath 将“运行时状态”与“执行工具的后端”分离。后端边界分为五层Placement intentSession 在执行前保存后端名称和开启 spec、Resource lifetimesandbox 句柄在分支间共享或释放 live 执行资源、Capability claimbackend 类声明隔离级别和支持的工具 payload、Concrete executionbackend 实例运行 local、OpenSandbox 或未来后端操作、Evidence returnsession loop 将结果或错误追加到 session stream。这种分层的意义在于本地执行可以实现并验证OpenSandbox 作为可选后端可以跳过而不影响核心协议的正确性当新后端接入时只要它能产生 session 可消费的证据就可以复用整套编程模型。Tool 执行路径。工具层是 Session 中心模型与外部世界交互的关键通道。执行路径按如下顺序展开模型看到的是FlowToolCallschemas名称、描述、JSON schema而非 Python 函数签名。session loop 组合 built-in 与用户工具向 provider 发送 schemas。按名称解析返回的工具调用校验参数。使用当前 session 调用选中的工具。工具需要副作用时通过 session 的 sandbox 调度后端 payload。错误参数、未知工具、异常、成功结果都变成 tool-result chunks而不是消失在 controller 流程中。这一路径的关键在于工具结果本身就是 Session 证据的一部分。成功与失败都进入同一个可检查流后续 agent 或 workflow 可以基于这些证据做决策审查者也可以追溯任意工具调用的输入、输出、后端与时间线。Memory 的运行时边界。OpenRath 不提出新的记忆模型而是将记忆操作定义为 Session 可见的运行时事件。Memory 被视为“agent 绑定的持久状态平面”recall 和 commit 是显式操作不是隐藏在 prompt 文本中的副作用。论文提供本地记忆实现词汇召回、可选 embeddings、可选外部后端但不声称检索质量——语料选择、embedding 选择、commit 策略对任务的效果被明确地留给后续经验评估。编程模型的贡献在于预留了正确的边界记忆在 Session 上留下事件记录使“哪条记忆被召回或提交”成为一个可审计的问题。Workflow 与 Selector。Workflow 是组合表面可嵌套子 workflow且对父 workflow 只暴露forward(session) - session契约。子 workflow 的内部 agent 结构被封装不会向外部泄漏私有编排格式。Selector 则更进一步它将控制流从静态代码中解放出来读取当前 Session 状态将其路由到若干自描述 workflow任务完成时返回空 workflow。每次路由选择都写入 Session 记录而不是消失在 controller 代码中。这使 OpenRath 区别于静态 workflow 图下一步决策由运行时 Session 状态决定且每个决策都成为可检查的证据。多 agent 与多会话组合。多 agent 设计遵循最小的原则Agent 是可复用层Workflow 是可复用组合移动的运行时值仍是 Session。常见的失败模式——单 agent API 干净但多 agent 版本引入新的共享可变对象、隐藏消息总线或 controller-only trace——被这一原则规避。组合模式包括一个 agent 处理多个 session同一 agent 参数应用到 fresh/forked/resumed sessions、多个 agent 共享一个状态专家 agent 各自消费并返回 Session、嵌套 workflows、以及将 chunks、工具结果、lineage 字段、用量计数器、持久化文件、回调全部绑定到 Session 的控制面。工程示例与 research 示例使用相同形状工程示例是 lead-engineer、specialist、QA 角色research 示例是 literature、reproduction、compression、output 阶段。领域角色不同但运行时契约不变。持久化与重放。Session 可向 session JSONL store 追加行也可通过 lineage export 投影为纯 JSONL 行。导出格式包含标识符、父标识符、lineage 操作符、lineage 类型、chunk 数量、累计用量。格式被刻意设计为“boring”可用命令行工具检查、附加到发布证据、之后再转成图。这种设计将重放从“基于日志重建状态”转变为“基于状态本身再次运行”持久化的是程序值而非程序运行的副作用记录。四、实验 / Experiments4.1 数据集与评估指标 / Datasets MetricsOpenRath 不是典型的机器学习实证论文没有训练阶段因此不存在损失函数。它也没有传统意义上的 benchmark 数据集。论文明确将“广泛的定量比较、live-provider 质量、可选后端可用性、记忆质量”留待后续评估。它采用的验证方式是audit-first基于被审计的代码快照通过证据包evidence packet和声明账本claim ledger来验证运行时属性而非任务质量。在验证对象上论文区分两个层次一是运行时语义正确性session 核心的数据结构操作、分支与合并的正确性、工具分派的路径完整性、持久化与导出的确定性二是任务层面的效果模型输出质量、记忆检索质量、多 agent 协作的最终任务表现。前者是本报告验证的范围后者是后续比较性评估的范围。这种区分并非回避评估而是因为后者依赖的变量太多——模型选择、prompt 设计、环境设置、评分标准、任务分布——在运行时状态本身尚未被验证为可靠之前任何任务层面的比较都缺乏可信基础。因此本报告中的“数据集”是被审计的代码快照、focused tests、示例工作流与证据包“评估指标”是运行时正确性runtime correctness、谱系覆盖度provenance coverage、可重放性replayability、后端可移植性backend portability、效率efficiency以及控制与安全事件的可记录性control/safety events。后续比较性评估则按“运行时形状”组织 baseline而非按品牌名single-agent loop、multi-agent shared transcript、workflow/DAG runner、notebook/script baseline、sandboxed tool agent、memory/RAG baseline。4.2 主实验结果 / Main Results主实验结果以claim ledger声明账本的形式呈现。账本共记录十个声明按支持程度可分为五类5 个由 operational packets 完全支持、1 个部分支持、1 个仅为 prerequisites 支持、1 个 bibliography-backed positioning claim、1 个 layout smoke claim以及 1 个 evidence-gated claimmemory_runtime_plane。这十个声明并非对模型能力的宣称而是对运行时属性的断言。每个声明都映射到具体的证据包证据包包含产生运行结果的命令、manifest、源代码与环境元数据、session JSONL 或 tool logs、生成的输出产物以及一段简短总结说明该包证明了什么、没有证明什么。具体验证结果如下Session lineage is inspectablelineage_export证据包通过确定性验证。证明导出的分支元数据可检查、可审计不证明分支质量的高低。Tool placement is auditablelocal_sandbox证据包通过opensandbox_optional证据包跳过。证明本地放置证据可审计不证明 OpenSandbox 与本地后端的行为对等。Workflows compose session stateworkflow_transcript证据包通过确定性验证。证明组合形状的正确性不证明 live agent 的质量。Implementation contracts hold for focused subsetpytest_report证据包通过。证明聚焦的测试子集通过不覆盖每个 live integration。Provider prerequisites can be disclosed safelylive_provider_manifest证据包通过已脱敏。证明 provider 前提可安全披露不执行 live inference。Memory is scoped as a session-visible planememory_local证据包跳过。在 source anchors 存在前保持 evidence-gated。Claim scope is tracked explicitlyclaim_ledger证据包通过十条声明其中一条仍为 evidence-gated。Report layout is reviewablevisual_qa与layout_audit证据包通过。这是视觉冒烟测试不是最终人类设计批准。这些结果共同说明OpenRath 的核心运行时路径session 数据结构、分支语义、本地 sandbox 放置、工具分派、workflow 组合、lineage 导出、claim 追踪在受控环境下是可验证且确定性的。测试与示例覆盖了 lineage、backends、tools、streaming、usage、multi-agent workflows 等六类场景。与此相对OpenSandbox 与 LLM-provider 虽然已有代码路径但由于依赖外部环境和提供商其行为质量不在本报告的声明范围内。4.3 消融实验 / Ablation Study本文没有传统意义上的消融实验因为不存在被训练的模型组件可供移除或替换。但论文通过案例研究的受限适用性论证和边界条件分析实现了类似消融的功能验证哪些运行时属性可以在缺少某些外部依赖时依然成立哪些属性必须等待外部依赖就绪才能验证。论文分析了五个案例每个案例都明确区分“当前证据状态”和“提升为结果所需的条件”Repository editing仓库编辑多角色规划、sandbox-bound 工具、文件产物、QA review、共享工作区上的 lineage。当前证据状态是表现力覆盖只有在固定 repo seed 和实测 tests 后才提升为结果。Research synthesis研究综述分支特定上下文、压缩、verifier 角色、可选视觉工具、最终风格头。当前证据状态是表现力覆盖只有在 citation-faithfulness 和 compression-ablation packets 后才提升为结果。Long-running coding长时编码持久化、可恢复、预算控制、上下文压缩、sandbox 连续性、中断后恢复。当前证据状态是运行时覆盖只有在 seeded task packets 和 recovery measurements 后才提升为结果。Memory-assisted workflow记忆辅助工作流recall/commit 应作为 session 操作可见。当前为 evidence-gated审计源码缺少当前 local-memory anchors。Sandbox-isolated execution沙箱隔离执行工具效应携带后端放置、command/file/code 日志、清理状态。本地 packet 通过可选 OpenSandbox packet 记录 skip。这五个案例本质上回答了“哪些运行时属性已经稳定、哪些还依赖外部条件”的问题。它们的消融意义在于OpenRath 的框架可以在没有 live provider、没有 OpenSandbox、没有记忆后端的情况下依然验证 session 核心、分支语义、工具分派路径和 workflow 组合形状而记忆质量、后端对等性、最终任务表现则被明确地排除在当前声明之外。这种“分而治之”的验证策略比笼统的 benchmark 报告更能揭示系统的真实可靠性边界。五、相关工作 / Related WorkOpenRath 与五条研究脉络形成既有区别又互补的关系。工具使用与行动型 Agent。CoT 提示、self-consistency、ReAct、MRKL、Toolformer、HuggingGPT、Gorilla、ToolLLM、API-Bank、ToolAlpaca、Tree of Thoughts 等推进了“模型如何推理和行动”这一核心问题。Tree of Thoughts 是推理时的搜索不是持久、可回放的分支。OpenRath 不改进推理策略而是将这些行动产生的运行时状态——谱系、工具证据、放置——变成一等值。它回答的是这些行动如何在运行时留下可检查痕迹的问题。多 Agent 框架。AutoGen 的多 agent 对话、CAMEL 的角色扮演通信、MetaGPT 将 SOP 编码到协作流水线、ChatDev 的虚拟软件公司、AgentVerse 的动态群体协作这些工作的共同关注点是“哪个角色何时行动”。OpenRath 的对象边界不同它关注“角色之间传递什么值”。MetaGPT 的 SOP 控制角色调度而 OpenRath 的 Session 控制角色之间流动的状态因此多 agent 组合不需要第二个框架私有状态对象。两者的区别不是能力上的竞争而是抽象层面的不同选择。运行时状态、协议与可观测性。LangGraph 暴露 checkpointed 图状态支持历史和时间旅行以重放或分叉OpenAI Agents SDK 记录 generation、tool calls、handoffs、guardrails 上的 traceOpenTelemetry 的 span 是面向观察者的信号。这些系统的共同特点是将运行时信息记录在程序执行的旁边而 OpenRath 的 Session 是程序自身传递和 fork 的值。前者服务于调度器或观察者后者服务于 agent 程序本身。数据流系统的类比是TensorFlow 用图表示计算和共享状态而 OpenRath 保持值命令式让谱系、布置和证据随值流动。MCP 标准化了工具连接OpenAPI 描述了接口OpenRath 不替代这些协议而是将外部效果收敛为 session 证据。记忆与检索。Reflexion 将失败反馈转为自然语言反思并存储在 episodic buffer 中Generative Agents 构建长期记忆流通过检索、反思、编译成为计划MemGPT 引入操作系统式记忆层次在有限上下文和外部存储之间分页Voyager 从环境反馈构建可复用已验证行为库。OpenRath 的立场不是提出新记忆模型而是让记忆操作对 session 可见recall 和 commit 被记录为 Session 上的显式运行时事件而不是隐藏在提示内部。这是对记忆研究的一种互补性要求——任何记忆策略都可以接入 OpenRath 的边界只要它愿意在 Session 上留下事件记录。Agent 基准与环境。通用交互基准AgentBench、τ-bench、软件工程基准SWE-bench、SWE-agent、SWE-bench Verified、终端基准Terminal-Bench、TerminalWorld、Web/桌面/具身基准WebArena、VisualWebArena、WorkArena、OSWorld、WebShop、Mind2Web、ALFWorld、ScienceWorld、GAIA、TheAgentCompany都对真实环境中的结果进行评分。OpenRath 的补充问题是产生结果的轨迹是否可检查、可重放这些基准将运行时语义、模型选择、prompt 设计、环境设置、审阅者打分与任务分布混在一起而 OpenRath 将更窄的问题放在第一位系统能否保留并暴露让后续评估有意义所需的状态只有在该问题得到肯定回答之后比较性 leaderboard 声明才有可信基础。六、局限性与展望 / Limitations Future WorkOpenRath 以“范围边界”的形式陈述局限性而非笼统的免责声明。每个边界都明确了当前姿态和更强声明所需的条件。Benchmarking 边界。当前提供的是确定性 smoke runner 和证据包不是广泛的 baseline/metric benchmark。要做比较性评估需要 pinned workloads、baseline adapters、metrics、live-provider runs 与 reviewer-scored artifacts。后续基准应按运行时形状组织而非按框架品牌名。指标应同时追踪运行时正确性、谱系覆盖度、可重放性、后端可移植性、效率、任务质量与控制/安全事件。Backend parity 边界。本地后端证据通过OpenSandbox 是显式 optional skip。要实现后端对等性声明需要后端能力矩阵、配置好的 OpenSandbox packet、文档化的 mount/export/failure 行为。当前论文不声称本地后端与 OpenSandbox 在行为上等价。Memory 边界。Memory 是预期的运行时平面但memory_local证据包因缺少 source anchors 而处于 evidence-gated 状态。要解除门控需要恢复 local-memory APIs、示例与测试并单独评估 recall/commit 的质量。论文不声称本地记忆的检索质量、embedding 选择或 commit 策略的有效性。Multi-agent control 边界。Session 暴露了 branch/merge/tool/lineage 证据但它不是 policy 层。角色权限、工具权威、memory-commit gates、merge policy、human-review 要求均未实现。当前声明的范围仅限于状态的可检查性不涉及多 agent 行为的安全策略。Safety 边界。论文不声明任何安全性质。工具使用和交互环境扩大了攻击面包括 indirect prompt injection 导致的数据/指令混淆。要支持安全声明需要在 agent/web/embodied-safety benchmark如 agent-safetybench、safearena、safeagentbench上评估并补充工具权威限制和 human-review gates。Reproducibility 边界。Evidence packets 支持检查和无密钥重放的确定性声明但 live 输出依赖 provider 与环境。可复现性的增强需要 pinned source snapshots、provider manifests、sandbox images、cached external payloads 与缺失工件披露。展望方面OpenRath 的后续工作集中在三个方向。第一将案例研究从表现力覆盖提升为结果为 repository editing、research synthesis、long-running coding 构建 seeded task packets 与实测验证。第二完成 memory runtime plane 的实现与证据化使记忆操作从预期边界变为已验证边界。第三建立按运行时形状组织的比较性评估框架使不同 agent 系统可以在相同的运行时属性维度上被公平比较。新能力进入报告的标准是变换 Session、给 Session 附证据、或通过 Session 暴露后端效应。这一标准防止系统退化为隐藏副作用通道的集合。七、总结 / ConclusionOpenRath 的贡献可以概括为一句话让 agent 操作的状态显式化。多智能体系统不仅是 prompt graph、tool registry、trace stream 或 benchmark harness而是一个运行时系统——在这个系统中对话块、分支谱系、sandbox 放置、工具效应、记忆交互、用量、产物与重放证据必须保持连接。OpenRath 提出 Session 作为这一运行时状态的边界一个可分支、可检查、可重放、后端感知、可组合的一等运行时值。它流动在 agent 与 workflow 之间使 fork、merge、replay 成为程序自身的操作而不是从外部 trace 重构的间接过程。论文的验证策略与这一主张保持一致。它没有宣称广泛的 benchmark 优越性或任务质量的领先而是通过审计优先的证据协议证明了 session 核心、分支语义、工具分派、workflow 组合、lineage 导出等确定性运行时属性在受控环境下是可靠且可复现的。OpenSandbox、live-provider、记忆质量被明确排除在当前声明之外等待后续证据包的补充。类比而言过去十年深度学习让 tensor 成为网络构建的核心值下一代 agent 系统需要同样的动作——一个单一运行时值所有组件都读取、变换、解释它。OpenRath 提出这个值就是 Session。这个主张的范围是审慎的它不是对 agent 能力的提升而是对 agent 系统可审计性的基础设施贡献。但正是这种基础设施决定了当 agent 系统从 demo 走向长时、多角色、多后端工作流时我们能否回答一个最基本的问题这个结果是从哪条路径产生的那条路径能否被完整地重放与审查原文摘要:Modern agent systems often suffer from fragmented runtime state: transcripts, tool effects, memory events, workspace placement, branch provenance, and replay evidence are recorded separately and become difficult to inspect or reproduce. OpenRath addresses this issue with a PyTorch-like programming model for multi-agent, multi-session systems. The analogy concerns the role of a central first-class runtime abstraction, not tensor computation. Its core abstraction is Session, the runtime value passed between agents and workflows. A Session is branchable, inspectable, replayable, backend-aware, and composable. It records conversation chunks, sandbox placement, lineage metadata, token usage, pending work, and tool evidence, while defining where memory interactions enter the runtime record. Since this state is carried by the same value used in program execution, fork, merge, and replay become explicit runtime operations rather than states reconstructed from external traces. OpenRath further defines Sandbox, Tool, Agent, Memory, Workflow, and Selector, with Selector turning control flow into runtime-routed decisions. This report presents the programming model, architecture, audited milestones, and evidence protocol. Its claims are limited to controlled runtime properties, while broad quantitative comparisons, live-provider quality, optional-backend availability, and memory quality are left for follow-on evaluation. The central thesis is that Session provides agent systems with a first-class runtime value for auditable composition.PDF链接:https://arxiv.org/pdf/2606.19409v1部分平台可能图片显示异常请以我的博客内容为准