SDK-001:确认 SDK 登录、服务器准入与角色基础 contract
Producer-facing 结果
形成一份 Producer 可审核、Backend 与 Frontend 可直接消费的 SDK 登录、服务器准入、角色初始化、改名和头像 contract。该结果只冻结产品和跨 repo contract,不实现运行时代码。
输入
- Source doc:
features/account-server-login.md - Plane planning issue:
#725/07271613-8d00-4caf-adf3-a4adb42c2255 - Canonical source:
http://192.168.8.91:3420/planning/project2-game-feature-library-v1/features/account-server-login - Hub routing:
repos.yaml中的planning,principal agent 为project2-planning-codex
必须冻结的决策
- 首批 SDK / token 渠道、游客转正、账号绑定、账号注销和跨设备恢复边界。
- 单服还是多服;若为单服,明确隐藏选服 UI;若为多服,明确服务器列表、角色列表和推荐/选择规则。
- 维护、白名单、审核服、灰度服、版本和开服时间的准入语义、错误反馈与审批边界。
- 角色快照包含范围、兼容策略、重登与断线恢复边界。
- 改名消耗、字符集、长度计算、重复名作用域、敏感词口径和幂等规则。
- 默认头像、英雄头像解锁、展示顺序和未解锁表现。
- 所需 config、proto、error、language 与 analytics contract 的稳定名称和 owner。
预期 workflow DAG
PL-001:由 planning principal 根据 repo-local policy选择 config/proto/language/balance internal routing,提交单 repo branch/MR evidence。IT-001:Hub 只读核对 contract 是否足以解除 SDK-002 与 SDK-003 的推断风险。QA-001:复核 validator、changed files、MR、residual risk 与 Producer approval gate。
边界
- 不写 backend、frontend、art、Plane、ADP Core、Runtime DB 或 production/game-server state。
- 不因为现有 proto、代码、CSV 或历史迁移稿存在某个字段就把它写成 Producer 已确认意图。
- 不生成 deterministic outputs,除非 task execution brief 明确包含生成范围和验证。
验收
- 所有 blocking open questions 均有明确结论,或被保留为阻止 SDK-002 / SDK-003 开始执行的 actionable blocker。
- 字段、默认值、ID、MessageID、错误码、语言 key 和埋点命名不再需要下游自行推断。
- config/proto/language 变更分别通过对应 repo-local validator;无某类变更时记录 skipped rationale。
- branch、base/head、MR、changed files、verification 与 residual risk 可供 Producer review。
验证
python3 .claude/scripts/validate_config.py
python3 .claude/scripts/validate_proto.py
python3 .claude/scripts/validate_language.py
命令由 planning principal 按实际 changed surface 选择;不得为通过检查而修改无关 CSV、proto 或语言输出。
Approval gate
此任务需要 Producer 对产品规则和 contract 的确认。未确认时可以产出 MR/evidence,但不得把 SDK-002 或 SDK-003 标记为 execution-ready。