Why: EXT-11 is accepted; the surface (SetScopedHostFactory/NewScopedHost, SurfaceVersion 2.4.0-experimental) must land with the behavioral red pinned - wiring absent, NewScopedHost fails closed with ErrNotLinked.
Evidence: TestScopedHostFactory red at the wired-factory assertion; row follows on the task card.
Impact: pkg/extension additive surface (surface.txt +2 symbols); internal wireScopedHostFactory stub. Behavior unchanged.
Refs: EXT-11 proposal; task card.
Why: The red run pinned the missing wiring; downstream recovery paths need a legal handle outside dispatch.
Evidence: TestScopedHostFactory green (fail-closed before wiring; Owner/PluginID, KV roundtrip, prefix enforcement, empty-arg rejection after); go test ./... all packages ok.
Impact: wireScopedHostFactory injected in app.Run after hostcaps assembly; no dispatch-path change.
Refs: EXT-11; red run at 182d8b5.
Why: The implementation commit left two files unformatted; keep the tree gofmt-clean.
Evidence: gofmt -l now empty; targeted test still green.
Impact: Formatting only.
Refs: Follow-up to the wiring commit.
Why: The implementation commit left two files unformatted; keep the tree gofmt-clean.
Evidence: gofmt -l now empty; targeted test still green.
Impact: Formatting only.
Refs: Follow-up to the wiring commit.
weichen
merged commit 46c2abbca8 into main2026-10-08 17:08:07 +00:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
EXT-11 实现(受理依据 Documents #49)
extension.SetScopedHostFactory(组合根注入,模式对齐 SetRunner)+extension.NewScopedHost(owner, pluginID)(下游恢复路径重建受限句柄;未注入/空参 fail-closed)。SurfaceVersion 2.4.0-experimental(surface.txt +2 符号)。验证(红→绿)
红(182d8b5):接线为占位,NewScopedHost fail-closed 报错;绿:
TestScopedHostFactory(注入前 fail-closed / 注入后 Owner/PluginID、KV 往返、KnowledgeDelete("manual")仍拒、空参拒绝);go test ./...32/32 包 ok。Dev 组合验证与 CI 随 gitlink PR。关联
RDM 序 4 切片 2 登记的「受控重跑」据此可升级;为序 5 三权流程准备。