WebSocket cleanup export publishings 最小骨架

这页先把 export listing 后面的最小 publishing 语义收起来。

当前先把 listed → publishing → published 串起来,让 export listing 后面开始有最小公开发布完成闭环。

当前最小 listing publishing 语义

先把目录公开发布、完成和边界说清楚。

POST /api/coach/token-cleanup-audit-export-publishings:对 listed listing 补最小 publishing
GET /api/coach/token-cleanup-audit-export-publishings:查看 publishing-opened / published records
action=mark-published:当前先补最小 publishing 完成动作
selectedPublishing:当前开始支持按 publishing_id 回看单条 publishing
published_by / publishing_scope / publishing_path_hint:当前开始带最小目录公开完成语义
published publishing 当前已开始可继续接 distribution-opened / distributed 下一跳
这层只接 listed listing,不假装成正式公开发布平台、监管公告平台或法务公告系统

执行边界

这层已经有最小 publishing,但仍不是正式公开发布系统。

这层是最小 listing publishing 骨架,不是正式公开发布编号、监管公告平台或法务公告系统。
先把 listed 后面的 publishing-opened / published 语义串起来,让 listing 后面开始有最小公开发布完成闭环。
后面如果继续推进,再补正式发布编号、发布回执、最小 distribution 和监管公开留档。