docs(wiki): B1/B4 修复条目 — JWT 死代码 + alertmanager 盲飞 + 项目阶段 5 阻塞状态

- 症状导航 +2 条:JWT doc-code drift 死代码(change-me-in-production 无注入源)/ alertmanager 渠道占位盲飞
- 项目阶段行更新:上线评估 6.4/10 + 5 阻塞状态(B1/B4 代码层已修,B2/B3/B5 待 staging)
- 表头日期 2026-06-26
This commit is contained in:
iven
2026-06-26 15:19:09 +08:00
parent 984fca627b
commit 5d256fbf52

View File

@@ -4,7 +4,7 @@
## 关键数字
> 最后更新: 2026-06-25 | 数据截止: feat/media-library-banner 分支(Redis 凭据泄露修复 + 系统深度分析多专家组
> 最后更新: 2026-06-26 | 数据截止: feat/media-library-banner 分支(上线评估 5 阻塞修复B1 alertmanager 渠道接线 + B4 JWT panic 对称已修,含 doc-code drift 死代码修正
| 指标 | 值 |
|------|-----|
@@ -36,7 +36,7 @@
| 长者模式 | 58/58 页面 100% 覆盖 |
| UI 合规审计 | T40: 60 页面全覆盖PASS 24 / PASS_WITH_ISSUES 36 / NEEDS_WORK 0HIGH×2 + MEDIUM×6 + LOW×67 全部修复,评分 95/100 |
| DevOps 基础设施 | Nginx TLS 1.2/1.3 + HSTS/CSP 安全头 + AES-256-CBC 备份加密 + Prometheus 4 组告警规则 + **Alertmanager 告警出口expand-env渠道上线前填** + Redis AOF 持久化 + **Grafana dashboard 自动 provisioningHMS 概览)** + **postgres/redis exporter** + uploads 定时备份 |
| 项目阶段 | **V1 CONDITIONAL GO**DevOps P0 阻塞项已加固TLS + 备份加密 + 监控),剩余 P1 约 3 天ICD 校验 + 药品编码 + 运维完善) |
| 项目阶段 | **V1 CONDITIONAL_GO 6.4/10**上线评估 5 阻塞:**B1 alertmanager 渠道接线(代码层已修,待 staging 填真实 webhook** / B2 Nginx X-Real-IP运维配置 / B3 git 历史清洗 Redis 凭据(待云端换强密码) / **B4 JWT panic 对称防护(已修,含 doc-code drift 死代码修正)** / B5 个保法数据可携/删除权(合规决策);可合并 mainstaging 加固后灰度上线 |
## 症状导航
@@ -166,6 +166,8 @@
| 死信重试未接线(事件永久滞留) | [[erp-core]] events | retry_dead_letters 已实现但 tasks.rs 零调用,危急值告警/积分发放等瞬时故障永久滞留死信表 | **已修复:** start_retry_dead_letters 每小时调度(最大重试 5 次)+ main.rs 注册 + cron_heartbeat 就绪门禁2026-06-26 |
| AI 分析队列只入队不消费(死存储) | [[erp-ai]] analysis_queue | 两个入队源(事件驱动 + auto_analysis但 claim_next 零调用job 永远 pending | **已修复:** analysis_worker 后台消费者claim→analysis_type 路由→AnalysisService→completeMVP 打通 trend 链路2026-06-26 |
| 工作台死链 + value={0} 假数据 | [[frontend]] StatisticsDashboard | feat 重构引入死链 navigaterouteConfig 不存在路由)+ 线下活动恒显示 0 | **已修复:** 5 处死链校正路由 + 线下活动接入真实 offlineEventCount2026-06-26 |
| JWT 默认密钥检查永不命中doc-code drift 死代码) | [[erp-server]] config.rs | `AppConfig::load` 检查常量 `change-me-in-production` 在仓库无任何注入源;实际 dev 值(`dev-secret-key-change-in-prod`)、占位符(`__MUST_SET_VIA_ENV__`)均不匹配 → warn 从不触发,生产忘设 `ERP__JWT__SECRET` 时静默运行可伪造任意 token | **已修复:** 改为 `UNSAFE_JWT_SECRETS` 集合检查(占位符 + dev.ps1 dev 值 + 历史值release panic 与 KEK(`main.rs:453`)/storage_key(`config.rs:135`) 防护对称2026-06-26 |
| Alertmanager 告警渠道占位(医疗告警盲飞) | [[infrastructure]] alertmanager | `config.yml` 写死 `placeholder.invalid` **且** alertmanager 容器无 `environment`/`env_file` 注入 `ALERT_WEBHOOK_URL`(虽有 `--config.expand-env=true` 但容器内无变量可展开,评估漏检此层) | **已修复(代码层):** `config.yml``${ALERT_WEBHOOK_URL}` + compose 注入 `environment`(未配置时 fallback 占位保 MVP 可启动)+ `.env.production.example` 补模板;上线前在 `.env.production` 填真实钉钉/企微 webhook 即生效2026-06-26 |
## 模块导航