797e7f751c
leo 被鎖在自己的系統外面:1.4.35 已出 prod,「忘記密碼」畫面在線上,但按下去回 503「這台實例還沒有設定寄信服務」。根因在 products/arcrun-rag 的安裝器—— `grep -rn PORTAL_MAIL_RELAY installer/` 是零命中,即使 landing 那半(郵差) D62 已經寫好。這個 repo 這邊改兩件配合修: - /health 多回 `mail_relay_configured`(布林,不洩漏網址)——安裝器判斷「要不要 重推」只比 bundle_version,但這個 var 是這次才第一次被注入,跟版本號無關; 純比版本號的話,已經在最新版的實例(如 leo 那台)永遠不會因為「按更新」而 重推,這個 var 永遠補不進去。安裝器那邊會讀這個欄位決定要不要強制重推。 - portal.ts 的 503 訊息改白話(不提「實例」)+給一條使用者自己走得完的路 (重新執行安裝/更新),不再說「請管理員幫你改密碼」——單人使用者的管理員 就是他自己,那是死路(同源病灶:arcrun-rag#25)。 安裝器那半的修法(PORTAL_MAIL_RELAY_BASE 注入+stale 判斷)在 products/arcrun-rag 同批修(installer/oauth-prototype/worker.js)。 測試:cypher-executor `npx vitest run tests/portal-auth.test.ts tests/health.test.ts` 37/37 綠(35+2,既有測試無回歸;本次未新增測試——改動是訊息文案與健康檢查欄位, 行為已由既有測試覆蓋的路徑保護)。