Runner 追踪与实现记录

August 23, 2026 · View on GitHub

1. 状态与归属

字段
状态NON_NORMATIVE_SUPPORTING_RECORD
语义权威英文 Runner 模块详细设计,仅随父级 Execution System candidate 一同提升后生效
System 层级Runner 是 Execution module M02;不是 System、subsystem,也不是另一 M02 module 后面的实现
Companion本文是英文 traceability.md 的非规范跟踪翻译
ProvenanceRepository history;本文不对无法解析的外部 commit 作权威声明

Execution 拥有 Core boundary 与 M01–M03 的含义。Runner 拥有 M02 行为及其私有 submodule。本文不拥有行为,只索引设计 ID、实现选择、证据状态与开放工作。

当前架构只有一个 Runner,不存在 Runner-selection abstraction。历史 TypeScript 名称 ExecutionRuntimeAdapter 只表示当前 Core-to-Runner seam。未来若确实需要多个 Runner 实现,才可以把 M02 提升为 Runner 抽象,并且每个具体实现必须使用不同名称。

2. 当前实现选择

下列内容是可替换实现选择,不是稳定架构身份或 conformance 声明。

Concern当前选择
Workflow HostLangGraph 1.4.12@langchain/core 1.2.9
Checkpoint storage@langchain/langgraph-checkpoint-sqlite 1.0.4better-sqlite3 12.11.1
Managed Agent ProviderDeepSeek Harness 0.1.1-rc.2
ValidationZod 4.2.0
Workspace/publicationGit 2.52.0

3. ID namespace 与归属

ID family含义
runner.driver.001..010design driver
runner.scenario.01..12scenario
runner.flow.001..010end-to-end flow 及 step ID
runner.view.001..011bounded data view
runner.interface.001..005private capability interface
runner.acceptance.001..014acceptance register
runner.decision.001..015decision register
runner.open-work.003.1..4.006..013剩余证据与实现工作
runner.submodule.001..005Runner 内部 submodule
runner.settlement.001immutable terminal settlement record

父级 execution.scenario.*execution.fixture.*execution.decision.*execution.open-work.*execution.module.* 属于 Execution System Design。原 Runner-level module ID family 因模糊 M02-to-submodule 层级而退役。

Runner submodule

IDSubmodule详细设计
runner.submodule.001Lifecycle Coordinatorlifecycle-coordinator.zh-CN.md
runner.submodule.002Workflow Hostworkflow-host.zh-CN.md
runner.submodule.003Managed Agent Invocationmanaged-agent-invocation.zh-CN.md
runner.submodule.004Custodycustody.zh-CN.md
runner.submodule.005Interpreterinterpreter.zh-CN.md

Design driver 定义

IDDriver
runner.driver.001独立 qualification 当前 Runner 实现
runner.driver.002Runner boundary 上 immutable admitted Delivery binding
runner.driver.003typed、statically wired Provider integration
runner.driver.004serialized workspace mutation safety
runner.driver.005使用 durable control truth,而非推断 progress
runner.driver.006semantic recovery,且不 blind replay
runner.driver.007owner-scoped retirement,并保留 settlement evidence
runner.driver.008factual、minimized、non-controlling Observation
runner.driver.009适合当前 preview 的 local operation
runner.driver.010最小合理 deep structure:五个 private submodule

Scenario、flow 与 view 落点图

ConcernScenarioFlowViewInterface
authority 与 qualificationrunner.scenario.01runner.flow.001runner.view.001runner.interface.001
activation 与 version bindingrunner.scenario.02runner.scenario.12runner.flow.002runner.flow.002.1..3runner.view.003runner.interface.001runner.interface.004runner.interface.002
managed invocation 与 mutationrunner.scenario.03runner.scenario.04runner.flow.003runner.view.011runner.view.004runner.interface.004runner.interface.003runner.interface.002
bounded read fanoutrunner.scenario.05runner.flow.004runner.view.005runner.interface.004runner.interface.003
wait 与 interventionrunner.scenario.06runner.flow.005runner.flow.005.1..3runner.view.006runner.interface.001runner.interface.002
crash 与 recoveryrunner.scenario.07runner.flow.006runner.flow.006.1..2runner.view.007runner.interface.002runner.interface.003runner.interface.004
cancellationrunner.scenario.08runner.flow.007runner.flow.007.1..3runner.view.008runner.interface.001runner.interface.003runner.interface.002runner.interface.004
publication 与 settlementrunner.scenario.09runner.flow.008runner.flow.008.1..3runner.view.009runner.interface.002runner.interface.004
Observation outagerunner.scenario.10runner.flow.009runner.interface.005
retirementrunner.scenario.11runner.flow.010runner.flow.010.1..4runner.view.010runner.interface.001runner.interface.002runner.interface.003runner.interface.004

runner.view.002 记录 runner.interface.001..005 共同遵守的 static dependency direction。Interpreter 在 Host execution 前编译 admitted activation;它刻意保持内部能力,不创建另一个 Core-facing interface ID。

Interface 定义

ID含义
runner.interface.001面向 already admitted activation 的当前 Core-to-Runner execute / inspect / cancel seam
runner.interface.002Runner 内部拥有的 Workflow Host capability
runner.interface.003Managed Agent Invocation capability
runner.interface.004拥有 savepoint、git-tree、scope、result、publication 与 settlement state 的 Custody capability
runner.interface.005单向、non-controlling Observation port

4. Acceptance register

ID要求结果证据状态
runner.acceptance.001Execution 保持唯一 Delivery assessor,failure 保持 fail-closeddesign evidence available
runner.acceptance.002exact admitted Package/thread;不伪造 progressIteration 2 implementation and test evidence
runner.acceptance.003typed managed result;拒绝 bypassIteration 2 implementation and test evidence
runner.acceptance.004DSH concrete path;unsupported Provider 无 fallbackIteration 2 implementation and test evidence
runner.acceptance.005bounded stable read;mutation 使 view 失效Iteration 2 implementation and test evidence
runner.acceptance.006correlated resume;拒绝 stale inputIteration 2 implementation and test evidence
runner.acceptance.007continue、restart 或 intervene;不 blind replayIteration 2 implementation and test evidence
runner.acceptance.008cancellation 收敛且不编造 terminal outcomeIteration 2 implementation and test evidence
runner.acceptance.009保存 result,并守卫 publicationIteration 2 implementation and test evidence
runner.acceptance.010Observation 保持 non-controlling 且绑定 provenancevalidator evidence only
runner.acceptance.011authorized retirement 保留 settlement evidenceIteration 2 implementation and test evidence
runner.acceptance.012新 configuration 只影响后续 Delivery,不替换 in-flight DeliveryIteration 2 implementation and test evidence
runner.acceptance.013中英文结构与 ID set 保持一致deterministic documentation check
runner.acceptance.014每项 claim 路由到适用证据且不暗示未证明能力open evidence review

5. Decision register

IDDecision
runner.decision.001Runner 是 Execution module M02,不是 peer System 或 subsystem。
runner.decision.002Runner 只接受 fully admitted activation。
runner.decision.003Runner 包含五个 private submodule,并保持 single-writer ownership。
runner.decision.004Workflow suspension 与 invocation suspension 保持分离。
runner.decision.005Provider execution 穿过 typed managed seam,且无 fallback。
runner.decision.006Workspace view 有界,publication 受 guard。
runner.decision.007Recovery 是 three-way,绝不伪造 outcome。
runner.decision.008Retirement 遵循单一 authorization,并产生 immutable settlement。
runner.decision.009Observation 是 factual、minimized、non-controlling。
runner.decision.010Credential 是 action-scoped,且不进入 durable content。
runner.decision.011LangGraph 与 DSH 是可替换实现选择。
runner.decision.012不替换 in-flight implementation identity。
runner.decision.013历史 ExecutionRuntimeAdapter 名称不创建当前 Runner 抽象。
runner.decision.014中英文 companion 保持结构与 ID parity。
runner.decision.015区分已发布 Contract semantics 与尚未完成的 implementation proof。

6. Contract 与 open-work register

Workflow DSL 1.1.0 与 Delivery Admission 1.0.0 是当前输入。Observation Catalog、OTel Observation Profile 与 Execution–Evidence Interaction Contract 1.0.0 已冻结并发布。其 machine package 目前只证明 validator;production mapping 与 cross-implementation conformance 仍未证明。

ID当前 disposition
runner.open-work.003.1parent execution.open-work.001 的 Runner-side evidence:证明 admitted-activation boundary 的 Workflow DSL compatibility
runner.open-work.003.2parent execution.open-work.002 的 Runner-side evidence:在实现中证明 Delivery Admission 与 Manifest binding
runner.open-work.003.3parent execution.open-work.003 的 Runner-side evidence:证明当前 Core-to-Runner seam;legacy runtime-profile SPI 名称仅属历史
runner.open-work.003.4parent execution.open-work.004 的 Runner-side evidence:证明 production Observation mapping 与 cross-implementation conformance
runner.open-work.006canonical-identity representation-binding spike;保留原 ID 与 evidence 含义
runner.open-work.007OTel semantic-carrier spike;保留原 ID 与 evidence 含义
runner.open-work.008DSH-only MVP 之后的 Provider 工作
runner.open-work.009完成 fault 与 recovery fixture corpus
runner.open-work.010完成 supported-substrate qualification evidence
runner.open-work.011必要时以 measured value 替换 operational default
runner.open-work.012证明精确 submodule interface 与 static dependency direction
runner.open-work.013在 production integration 中证明 Observation mapping 与 outage isolation

Legacy uppercase profile identifier 与 agent-ops.runtime-profile-spi@1.0.0 只属于 Git 历史证据,不是当前权威、readiness state 或 active dependency name。

7. Iteration 2 证据路由

实现证据来自 pinned execution-system submodule,重点是 src/interpretersrc/coordinatorsrc/hostsrc/invocationsrc/custodysrc/compositionexecution-system/test/{interpreter,coordinator,host,invocation,custody,integration,providers,contracts} 下的测试覆盖已实现 Runner boundary 与私有协作。该证据只证明已检入的 Iteration 2 实现;不证明 M01 Delivery、production Observation integration 或 cross-implementation conformance。