# 01 — 交付企微连接状态与安全 Adapter 闭环

**What to build:** 超级管理员可以查看企微连接、Token 获取和代理固定代提交成员是否就绪；企微 Token 与成员读取通过统一安全 Adapter 执行，每次真实外部尝试均可追踪，但任何接口、日志或审计都不会泄露 Secret、Token 或固定成员原始 `userid`。

**Blocked by:** `.scratch/tech-global-audit/issues/02-integration-log-attempt-loop.md` — 02 — 交付可恢复的 Integration Log 尝试闭环

**Status:** ready-for-agent

**架构通道:** 主通道为 Infrastructure，辅助通道为 Query。

**完整业务边界:** 本票收口企微部署配置、Access Token 缓存与并发刷新、成员可用性读取、连接状态投影和外部尝试记录。明确不建立审批状态机，不创建审批实例，不提供敏感配置在线编辑，也不迁移退款或充值逻辑。

- [ ] 企微连接使用部署配置提供 CorpID、AgentID、AgentSecret、回调密钥、绑定回调地址、后台固定 Origin、代理固定代提交成员、请求超时和轮询间隔；敏感值不进入通用配置表。
- [ ] Access Token 使用 Redis 缓存，TTL 为企微 `expires_in` 减 300 秒，并通过有期限锁避免多进程并发刷新；Redis 异常时不会把空值或过期值伪装为有效 Token。
- [ ] 成员读取可以确认代理固定成员属于当前企业、已启用且在应用可见范围内，只向超级管理员返回就绪状态和显示名，不返回原始 `userid`。
- [ ] 连接状态接口仅允许超级管理员访问，返回配置就绪、最近连通、最近安全错误摘要、回调最近成功和 Token 最近获取时间，使用统一响应结构。
- [ ] Token 和成员外部调用写 Integration Log，记录操作、耗时、企微错误码和安全关联标识，不记录令牌、密钥、完整响应或固定成员原始标识。
- [ ] WeCom Adapter 契约测试覆盖 Token 获取、缓存命中、并发刷新、企微非零错误、超时、成员失效、Redis 锁恢复及敏感信息不泄漏；新增 Handler 同步路由、RouteSpec 和两个 OpenAPI 文档生成器。
