MessageWeave/src
anonsaber afa6cec8ef debug: 新增 /debug/* 远程联调面,双因子门禁默认绝对关闭(01a0e319)
新增 src/debug.rs:/debug/ping、/config、/redis、/jmap、/telegram、/worker 六个只读
探针 + POST /debug/notify 一条测试出站消息。

SAF-DEBUG-GATE 双因子,缺任一即完全不挂载路由(请求落到通用 404,无"未配置即放行"
降级):
- 启动命令带 --debug(main.rs 最小 std::env::args 解析,未新增依赖)
- Secret 环境变量 DEBUG_TOKEN 非空

两层执行点:main.rs 推导 debug_token 并传入 router builder(None 则 debug_router 不被
merge);debug.rs 侧 auth_token 缺失时直接返回空 Router。

SAF-DEBUG-AUTH:每个 handler 先做 Authorization: Bearer DEBUG_TOKEN 常数时间比较
(复用 worker_authorized),失败 401,鉴权通过前不产生任何副作用。

探针只读侧全部复用现成实现,不另写一套:Redis 走 is_enabled,JMAP 走
probe_jmap_session,Telegram 走 probe_telegram_get_me,出站走唯一构造点
business_client(notify.rs 新增 pub(crate))到 send_text,/debug/notify 与
refresh_business_config 共用同一条客户端构造路径。

SAF-NO-SECRET-ECHO / SAF-LOG-PURITY:/debug/config 只回"是否配置"、计数与超时等
运行时参数,bot token / JMAP password / worker / webhook / reconcile token / LLM key
一律不出现在响应体;DEBUG_TOKEN 只在鉴权内部暴露,不回显、不入日志,日志仅一条
"debug endpoints enabled" 且不含令牌值。allowlist 用 chat_allowlist_snapshot 取生效值
(运行时业务配置优先、否则启动值),/debug/notify 显式 chat_id 不在 allowlist 则 403。

ARCH-LB-WORKER 白名单不含 /debug/*,该面仅供直连 origin 联调,公网入口不可达。

AGENTS.md 登记 4 个稳定 ID:MOD-DEBUG / SAF-DEBUG-GATE / SAF-DEBUG-AUTH /
REQ-DEBUG-ENDPOINTS(§2 第 19 条硬边界、§5 测试条、§7 索引 4 行)。

调试路由测试(4 项,notify.rs + debug.rs 内):Bearer 放行 200、缺失/错误令牌 401、
未提供 DEBUG_TOKEN 因子时 /debug/* 完全不注册而落 404、/debug/notify POST 未认证 401。

门禁四段全绿(rust:1-slim-bookworm):cargo fmt --all -- --check / cargo check --locked
/ cargo clippy --locked --all-targets -- -D warnings / cargo test --locked =
49 passed / 0 failed / 1 ignored。
2026-09-28 15:00:49 +08:00
..
domain fix(notify): /ready JMAP 探针对齐真实客户端(Basic 认证 + 路径归一) 2026-09-28 10:37:22 +08:00
ai.rs feat: initial MessageWeave release 2026-09-25 09:14:04 +08:00
channel.rs feat: initial MessageWeave release 2026-09-25 09:14:04 +08:00
config.rs fix(worker,state,jmap,config): close independent-review findings 2026-09-27 12:53:05 +08:00
debug.rs debug: 新增 /debug/* 远程联调面,双因子门禁默认绝对关闭(01a0e319) 2026-09-28 15:00:49 +08:00
domain.rs feat: initial MessageWeave release 2026-09-25 09:14:04 +08:00
error.rs feat: initial MessageWeave release 2026-09-25 09:14:04 +08:00
main.rs debug: 新增 /debug/* 远程联调面,双因子门禁默认绝对关闭(01a0e319) 2026-09-28 15:00:49 +08:00
notify.rs debug: 新增 /debug/* 远程联调面,双因子门禁默认绝对关闭(01a0e319) 2026-09-28 15:00:49 +08:00
state.rs fix(worker,state,jmap,config): close independent-review findings 2026-09-27 12:53:05 +08:00
web.rs feat: initial MessageWeave release 2026-09-25 09:14:04 +08:00
worker.rs fix(worker,state,jmap,config): close independent-review findings 2026-09-27 12:53:05 +08:00