Skip to main content

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

必须冻结的决策​

  1. 首批 SDK / token 渠道、游客转正、账号绑定、账号注销和跨设备恢复边界。
  2. 单服还是多服;若为单服,明确隐藏选服 UI;若为多服,明确服务器列表、角色列表和推荐/选择规则。
  3. 维护、白名单、审核服、灰度服、版本和开服时间的准入语义、错误反馈与审批边界。
  4. 角色快照包含范围、兼容策略、重登与断线恢复边界。
  5. 改名消耗、字符集、长度计算、重复名作用域、敏感词口径和幂等规则。
  6. 默认头像、英雄头像解锁、展示顺序和未解锁表现。
  7. 所需 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。