Files
memind/docs/regression-guards/page-data-delivery-contract.md

1.4 KiB
Raw Permalink Blame History

Page Data 交付契约

Page Data 页面只有在下面所有条件满足后才可向用户交付链接:

  1. HTML 实际调用的每个 dataset 已在工作区 .mindspace/private-data.sqlite 注册。
  2. 每个注册 dataset 的真实 SQLite 表、声明字段和读写 action 都存在。
  3. page record、online publication 与 policy 使用同一个真实 page UUID。
  4. 公开页完成一次受权限约束的 insert smoke;后台页完成 password auth 后的 read smoke。

private_data_bind_workspace_page 是硬门:它在创建 page / publication / policy 前,必须从 SQLite registry 派生权限。Agent 传入的策略不能凭空创建 dataset 或字段权限。

运行时路径必须按语义区分:

  • workspaceRootMindSpace/<user>,保存 HTML、policy 和 private-data.sqlite。
  • storageRootMindSpace service 的持久页面/资产存储。
  • usersRoot:登录用户目录。

不要通过 MINDSPACE_STORAGE_ROOT 推断 Page Data 的 workspaceRoot。Portal、MindSpace service 与 sandbox MCP 必须显式使用同一 workspace contract。

回归命令:

npm run verify:page-data
npm run verify:mindspace-publish-guards:full
npm run verify:mindspace-page-sync-guards

涉及 H5 交付时,还必须验证:未注册 dataset 时不产生可用 Page Data policy,且最终链接交付被拒绝或进入明确 repair 状态。