chore(auth): exchange-code 加路径埋点(consumed/IDEMPOTENT/MISS)取真证据

首开「登录已过期」到底是「宿主首屏双消费」还是「code 过期」,现有日志判不了
(BizError 不落日志)。加三条日志:
- consumed(首次):正常首次换码
- IDEMPOTENT 幂等命中:同一 code 宽限窗内被换第二次 = 双消费实锤(幂等修复已静默兜住)
- MISS 失效:code 既不在池也无幂等副本 = 过期/未知(非双消费,幂等治不了)
只记 code 前 8 位,不泄全码。对方下次一复现即可从生产日志判定根因。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

Found errors in your .gitlab-ci.yml:

  • jobs:openapi-drift config contains unknown keys: rules
You can also test your .gitlab-ci.yml in the Lint
Status Job ID Name Coverage