775dea02ea
- 修正 spacetime-module 里 get_game_distribution_lineage_and_return 的文档注释:锚点不存在/已软删除/未公开一律 found=false(api-server 映射 404),并写明理由——用空标题占位或空树代替 404 等于确认该 gameId 的存在、代际与血缘位置 - 修正 shared-contracts 里节点 status 的注释:当前只有已公开作品会成为节点(未公开节点被过滤、未公开锚点直接 404),线上取值实际恒为 published;保留该字段是为将来允许非公开节点进入树时不必再改契约 - 新增纯函数 assemble_lineage_tree_entries:家族归属校验(只保留 root_game_id 命中的血缘行)、根行以 0 代入集合、游戏行缺失的行安全跳过、重复行去重(根行优先);module 侧只负责取行与按根查索引 - 新增纯函数 resolve_lineage_author_name:账号昵称优先(trim 后非空)→ 退回发布时冻结的作者名 → 两者都空白则 None(不占位) - 新增纯函数 lineage_entry_from_game_facts:族谱装配与衍生列表共用同一份字段映射 - module 删除 game_distribution_lineage_entry,衍生列表 tx 改用共用构造函数并复用同一份行事实折叠 - 新增 6 条单测:整族装配、旁支排除、缺行跳过、无根行回退、重复行去重、作者名归一三态 - 本批未改前端;package.json 与 lineage e2e 脚本属第三个 session,未触碰