Why: EXT-9 is the other step-4 hard prerequisite; the surface (Options.DisableUploadIndexing passthrough, Host.KnowledgePublish idempotent replace, Host.KnowledgeDelete prefix-enforced revoke, SurfaceVersion 2.2.0-experimental) must land with the acceptance reds pinned before implementation.
Evidence: app red = publish not implemented; server red = switch-on still indexes (hits=1); rows recorded on the task card.
Impact: pkg/extension additive surface (surface.txt updated); internal Options passthrough; Server.DisableUploadIndexing field; host method stubs. Behavior unchanged.
Refs: EXT-9 proposal; task card.
Why: The red acceptance tests pin the EXT-9 semantics - held material must not enter retrieval until published, revoke must stop retrieval immediately and idempotently, manual sources must stay out of plugin reach.
Evidence: TestKnowledgePublishIdempotentAndRevoke and TestUploadPreIndexSwitch green; go test ./... 32/32 packages ok; rows follow on the task card.
Impact: hostcaps KnowledgePublish (per-ref row+vector cleanup then existing write path) and KnowledgeDelete (plugin:<id> prefix enforced); store DeleteKnowledgeBySource with vector cleanup; upload indexing gated by DisableUploadIndexing (default false = unchanged).
Refs: EXT-9 proposal; red run at surface commit.
weichen
merged commit c5575aab27 into main2026-10-08 16:01:50 +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-9 实现(受理依据 Documents #49;U0 序 4 硬前置之二)
extension.Options.DisableUploadIndexing(零值=现状);Host.KnowledgePublish(docs, embed)——按 ref 幂等替换(清旧行+旧向量→既有 KnowledgeWrite 路径);Host.KnowledgeDelete(sourcePrefix)——前缀强制plugin:<自身ID>(manual/他人拒绝,fail-closed),删行+向量幂等。SurfaceVersion 2.2.0-experimental(surface.txt 同步)。DisableUploadIndexing=true时上传端点不再自动写检索索引(原件与摄取卡不变)——RDM 存疑资料「确认前不入正式检索」的基座前提。DeleteKnowledgeBySource(经 ref 关联清向量,幂等)。验证(红→绿)
红(surface 提交):publish 未实现;开关开仍索引(hits=1)。绿:
TestKnowledgePublishIdempotentAndRevoke(双 publish 幂等、delete 即停且幂等、manual 拒删且存活)与TestUploadPreIndexSwitch(开关开零命中+原件可取回、关恢复现状)通过;go test ./...32/32 包 ok。Dev 组合验证与 CI 随 gitlink PR。