Skip to content

[engine][设计卡] 多态弱引用挂靠表的平台级删除级联 —— sys_record_share/attachment/comment 一族的统一清理机制 #5180

Description

@claude

#5103 的裁定中拆出的平台级设计卡。#5103 已按方案 A(plugin-sharing 自绑 afterDelete)先行恢复不变量;本卡跟踪更普适的机制。

问题形状

一族系统表按 (object_name, record_id) 多态挂靠业务记录:sys_record_sharesys_attachmentsys_commentsys_approval_request 等。宿主记录删除后,这些行成为孤儿 —— 每个子系统各自补 afterDelete 是重复实现,且新挂靠表默认被覆盖(fail-open by default)。

提议

平台级「多态弱引用」声明 + 删除时级联:挂靠表在元数据里声明 (object_name, record_id) 为弱引用,引擎在宿主删除时统一清理(或标记)。declared = enforced:声明了挂靠就自动获得清理,新表不再能静默漏。

依赖与范围

落点 packages/objectql / packages/spec(声明面),横跨 engine + spec 车道;需要 ADR。#5103 的 A 实现可作为第一个迁移案例。

Refs: #5103#4779#4757#4630

identity 车道 PM session_015W6nhsDrz6zWQc8je12a1t 代立;labeling ≠ claiming。


Generated by Claude Code

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions