You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
feat(managed-agent): Stage H2.5 — managed Hooks hardening between H2 and H3 #13369
Stage H2.5 is the hardening half-step between H2 (managed Hooks, landed in #13129 on 2026-10-02) and H3 (background Shell and Monitor, in flight as #13265). The stage order comes from #12827 and the extension-runtime design (§13/§14): each main slice is followed by a hardening pass, and a slice starts only after its prerequisites above have landed.
No issue tracked H2.5 until now — status notes elsewhere wrongly named #12793 as the tracker, but #12793 is the closed Stage D contract issue. This issue rectifies that.
Replay ordering in commitDomainRecord.docs/design/2026-09-27-managed-extension-authority.md, "Open questions" item 5: commitDomainRecord publishes a new body before it detects a replayed command, and returns that body's reference instead of the committed one; commitExtensionRecord already checks the replay first. The older method was left for a separate fix — this is it.
Logical vs physical start tightening (decide). "Open questions" item 4: H0b lets a run stay admitted while its execution is already running_attached, so such a task shows pending with the Runtime state ready and no start time. Tightening that rule is a change to the H0b contract — decide here whether it rides H2.5 or moves to a dedicated contract issue.
Timestamp unit alignment (decide). "Open questions" item 2: task resources report epoch milliseconds while the public Session, turn, event and item resources report seconds. The design notes alignment is cheapest while the task routes are partial and no domain produces tasks. Decide whether that window is still open, here or in a spun-out issue.
Acceptance
Items 1–2 land, or are deferred with a recorded reason; decisions on items 3–4 are recorded.
No new domain is enabled and no unaccepted capability is expanded (extension-runtime design §13 rule).
Summary
Stage H2.5 is the hardening half-step between H2 (managed Hooks, landed in #13129 on 2026-10-02) and H3 (background Shell and Monitor, in flight as #13265). The stage order comes from #12827 and the extension-runtime design (§13/§14): each main slice is followed by a hardening pass, and a slice starts only after its prerequisites above have landed.
No issue tracked H2.5 until now — status notes elsewhere wrongly named #12793 as the tracker, but #12793 is the closed Stage D contract issue. This issue rectifies that.
Already landed
Remaining scope
commitDomainRecord.docs/design/2026-09-27-managed-extension-authority.md, "Open questions" item 5:commitDomainRecordpublishes a new body before it detects a replayed command, and returns that body's reference instead of the committed one;commitExtensionRecordalready checks the replay first. The older method was left for a separate fix — this is it.admittedwhile its execution is alreadyrunning_attached, so such a task showspendingwith the Runtime statereadyand no start time. Tightening that rule is a change to the H0b contract — decide here whether it rides H2.5 or moves to a dedicated contract issue.partialand no domain produces tasks. Decide whether that window is still open, here or in a spun-out issue.Acceptance
Links
docs/design/2026-09-27-managed-extension-authority.md("Open questions" + Follow-up work); externalmanaged-agent-extension-runtime.md§13/§14 (pinned review baseline6891216)中文说明
H2.5 是 H2(managed Hooks,#13129 于 2026-10-02 合入)与 H3(后台 Shell + Monitor,#13265 在飞)之间的半步加固片。顺序依据 #12827 与扩展运行时设计(§13/§14):每片主体之后跟一片加固,且每片只在其前置全部落地后开工。
此前没有任何 issue 跟踪 H2.5 —— 我此前的状态表误写为「由 #12793 跟踪」,但 #12793 是已关闭的 Stage D 契约 issue。本 issue 补上这个空缺。
已落地: #13136(Hook admission 上界与冷恢复成本,含 V28/V29 迁移)、#13137(Hosted Hook 拒绝与冲突的准确上报),均于 2026-10-02 合入。
剩余范围:
commitDomainRecord的重放顺序(设计文档「Open questions」第 5 项:先发新 body 后查重放,commitExtensionRecord已先查;旧方法留待单独修复,即本项);partial时对齐最便宜——判定窗口是否还在)。验收: 第 1–2 项落地(或记录理由延期);第 3–4 项留下决定记录;不启用新域、不扩大未验收能力(§13 规则)。