在 #5085(/auth/* 转发层删除遗留 POST ${prefix}/auth/login 显式路由)的实读中顺手发现,未认领,不在 #5085 的 PR 范围内。查重:is:open in:body "auth/login" 除 #5085 自身外零命中;stale docs routes 一类关键词亦零命中。
现象
两处仓内文档把根本不存在的 auth 端点写成「已注册路由」:
-
packages/plugins/plugin-auth/IMPLEMENTATION_SUMMARY.md:88-92,标题就是 "API Routes Registered":
- `POST /api/v1/auth/login` - User login (stub)
- `POST /api/v1/auth/register` - User registration (stub)
- `POST /api/v1/auth/logout` - User logout (stub)
- `GET /api/v1/auth/session` - Get current session (stub)
-
packages/client/CLIENT_SERVER_INTEGRATION_TESTS.md:642,MSW mock 示例把 rest.post('/api/v1/auth/login', …) 当成「Auth」的代表端点。
判读
这四条一条都不存在,而且不是「曾经存在后来删掉」:
同族的 packages/plugins/plugin-auth/ARCHITECTURE.md:74 不属于本条:那段 httpServer.post('/auth/login', …) 明确写在 "#### Before (Manual Approach)" 小节里,是在描述被取代的旧设计,框定正确,不需要改。
分级建议
Observation-class:今天没有用户会撞上 —— 这是两份仓内开发文档,不是发布文档站(content/docs/ 那份是对的)。危害是对下一个读者的:一个照着 IMPLEMENTATION_SUMMARY.md 的 "API Routes Registered" 去接的集成方会得到 404,而 CLIENT_SERVER_INTEGRATION_TESTS.md 的 mock 示例会教人按一个不存在的端点写测试 —— 这正是 Prime Directive #10 「never advertise a capability the runtime doesn't deliver」的文档侧。严重度按惯例交 PM 分诊,不在此自评。
修法方向
两份文档各改一处,与 content/docs/api/plugin-endpoints.mdx 对齐到 better-auth 的真实端点名(/auth/sign-in/email、/auth/sign-up/email、/auth/sign-out、/auth/get-session);IMPLEMENTATION_SUMMARY.md 那节若已无人维护,直接指向 auth-route-ledger.ts 比手抄一份更不容易再漂。
关联:#5085(发现现场)、#3656(auth 路由台账的来源)。
在 #5085(
/auth/*转发层删除遗留POST ${prefix}/auth/login显式路由)的实读中顺手发现,未认领,不在 #5085 的 PR 范围内。查重:is:open in:body "auth/login"除 #5085 自身外零命中;stale docs routes一类关键词亦零命中。现象
两处仓内文档把根本不存在的 auth 端点写成「已注册路由」:
packages/plugins/plugin-auth/IMPLEMENTATION_SUMMARY.md:88-92,标题就是 "API Routes Registered":packages/client/CLIENT_SERVER_INTEGRATION_TESTS.md:642,MSW mock 示例把rest.post('/api/v1/auth/login', …)当成「Auth」的代表端点。判读
这四条一条都不存在,而且不是「曾经存在后来删掉」:
packages/plugins/plugin-auth/src/auth-route-ledger.ts自 Enumerate the/auth/**dynamic route family — 54 SDK methods rest on a prefix claim, not a route #3656 起逐条枚举了 55 条 SDK 可达路由 + 完整 mounted inventory,四条名字一条都没有;content/docs/api/plugin-endpoints.mdx:18早已白纸黑字写着 "There is no/auth/loginroute",并指向真实端点POST /auth/sign-in/email;/auth/login看起来「存在」的东西是packages/runtime/src/dispatcher-plugin.ts那条遗留显式挂载,而它对任何调用方都只会 500(这正是/auth/*转发层把内部请求对象直接交给 better-auth:未知 auth 子路径(如POST /api/v1/auth/login)返回 500 并外漏内部 TypeError,而非干净 404/405 #5085),现已删除。同族的
packages/plugins/plugin-auth/ARCHITECTURE.md:74不属于本条:那段httpServer.post('/auth/login', …)明确写在 "#### Before (Manual Approach)" 小节里,是在描述被取代的旧设计,框定正确,不需要改。分级建议
Observation-class:今天没有用户会撞上 —— 这是两份仓内开发文档,不是发布文档站(
content/docs/那份是对的)。危害是对下一个读者的:一个照着IMPLEMENTATION_SUMMARY.md的 "API Routes Registered" 去接的集成方会得到 404,而CLIENT_SERVER_INTEGRATION_TESTS.md的 mock 示例会教人按一个不存在的端点写测试 —— 这正是 Prime Directive #10 「never advertise a capability the runtime doesn't deliver」的文档侧。严重度按惯例交 PM 分诊,不在此自评。修法方向
两份文档各改一处,与
content/docs/api/plugin-endpoints.mdx对齐到 better-auth 的真实端点名(/auth/sign-in/email、/auth/sign-up/email、/auth/sign-out、/auth/get-session);IMPLEMENTATION_SUMMARY.md那节若已无人维护,直接指向auth-route-ledger.ts比手抄一份更不容易再漂。关联:#5085(发现现场)、#3656(auth 路由台账的来源)。