MessageWeave/docs
anonsaber 80d13c0292 fix(notify): stop exposing the business and admin routes in configuration-setup mode
The setup router delegated to the full factory, so all 12 business and
admin routes were registered even though not one could ever work:
admin_token is an empty SecretString and constant_time_eq has a
!expected.is_empty() guard, so an empty expected value rejects every
candidate forever. MemoryState could not persist a bootstrap write either.

Those routes answered 401 {"error":"unauthorized"}, which is
indistinguishable from a mistyped credential. An operator or a probe
reads that as "try a different token" when the truth is "these
endpoints do not exist in this mode".

router_configuration_setup now builds its own AppState and mounts only
/api/status, /ready and /healthz. Verified live with no env vars:
healthz 200, ready 503, /api/status 200 with the missing list, and all
12 business/admin routes 404. The SPA is unaffected: /api/status is the
only endpoint it calls at startup, and web/config.js reveals the
admin-session card only when ready === true.

Added configuration_setup_mounts_only_status_and_probes to guard the
route table, and configuration_setup_call as its helper.

Docs: reference.md section 3 and 5.1 now describe the reduced surface
and cite the empty-expected-value guard; deployment.md's probe table had
/api/status listed as 503 {"status":...} when it returns 200 with a
"mode" field; retired.md section 4.1 records the removed route
registrations. Anchors refreshed for the +19 lines in notify.rs.
2026-09-29 15:26:54 +08:00
..
charter.md feat(debug): 开关信号改为 DEBUG_ENABLED 环境变量,启动命令不再需要改动 2026-09-29 12:54:06 +08:00
deployment.md fix(notify): stop exposing the business and admin routes in configuration-setup mode 2026-09-29 15:26:54 +08:00
design.md feat(debug): 开关信号改为 DEBUG_ENABLED 环境变量,启动命令不再需要改动 2026-09-29 12:54:06 +08:00
reference.md fix(notify): stop exposing the business and admin routes in configuration-setup mode 2026-09-29 15:26:54 +08:00
retired.md fix(notify): stop exposing the business and admin routes in configuration-setup mode 2026-09-29 15:26:54 +08:00
roadmap.md docs: bump verification baselines to b2dbe7c 2026-09-29 02:24:17 +08:00