Files
probably-rendering-one-more…/docs/linked-guidance/publishing.md
T
codex-bot fac685a81c
waterfall-wiki CI and deployment / verify-and-deploy (pull_request) Failing after 3m22s
Align authentication regression checks with public guidance routes
2026-10-29 16:50:48 +08:00

2.1 KiB
Raw Blame History

真实文档发布

本分支依赖 linked-guidance #7(ee69749)和 wiki-email-auth #6 后续安全修复 c27fa4f。先合并账户及协议依赖,再合并本 PR。使用现有 PostgreSQL、014 账户迁移后执行 015;无需 SMTP 变更。

  • /write:已验证邮箱账户创建、加载并发布下一版本,支持结构化表单和受限 XML;预览通过 /api/documents/preview 校验并解析条件链接,不写数据库。
  • /documents 与 /documents/:id?revision=N:真实用户文档列表与固定版本阅读。主页可链接这两个入口,现有 /guide 可对 user- ID 委托 resolveDocument 或链接 /documents/:id。本 PR 未修改首页与原型阅读页,避免覆盖并行 UI 工作。
  • /api/documents GET 列表,POST 创建/发布;/api/documents/:id GET 单篇、POST 下一版、DELETE 作者撤下;?format=xml&revision=N 返回规范 XML。未指定版本为发现用途,实际采用需固定 revision。
  • user- 前缀独立于静态 catalog。条件链接可引用静态样例或真实文档;缺失版本明确展示,不自动请求外站、不静默换最新版。撤下后列表及 latest 不再展示,历史固定版本仍然公开可读。
  • 邮箱会话仅由新接口校验,不授予管理员 API 权限。发布是公开行为;目前没有草稿服务、私有文档、恢复撤下或账户删除功能。tags 是 JSON 元数据,XML 0.1 没有 tags 字段,XML 导入为无标签文档。
  • 数据库通过行锁分配下一版本并拒绝过时编辑,触发器禁止修改/删除已发布内容。数据库所有者仍可执行数据库维护,触发器不是对数据库管理员的安全隔离。

验证由 ces-control PR CI 执行:严格 XML 单元测试;PostgreSQL 真实发布、所有权、并发版本冲突、不可变内容和撤下保留历史的集成测试。PR 不自动部署,服务器视觉验收须主 chat 人工合并后的部署成功再执行。

首页现已通过 /api/documents 加载真实发布摘要,并在 GuidanceShell 提供用户文档与发布入口。/guide 继续只读取静态协议样例,不覆盖主 chat 的阅读实现。