Files
mnote/.codex/reasonix-tasks/2026-05-22-sqlite-control-plane-worker-b-auth-session.md
T
lix-2026 5f97800489 chore: align local-first control plane and editor fixes
- wire SQLite control-plane access/session paths into Rust web local-folder routes

- preserve local Markdown attachment semantics across upload, reload, and secondary-pane resource tabs

- refresh design governance docs, Reasonix task templates, and bug records

- retire root .mcp.json local MCP config
2026-05-23 23:38:42 +08:00

61 lines
2.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Reasonix Worker BAuth/session SQLite 切换准备
Project root: `/mnt/Data1T/mnote`
你不是独自在代码库中工作。其他 worker 可能并行修改 SQLite store、access policy 或迁移脚本。不要还原、覆盖或清理不属于你任务范围的改动。不要提交 git。
## 背景
上位设计稿:
`design/02-convex-rust-long-term-architecture/process/2-8-convex-replace-with-rust-sqlite-control-plane-v1.md`
当前用户报告过新注册账号显示“开发用户的空间”、不能新建页面。根因方向之一是真实 actor/profile/workspace name 没有统一来自控制面。本任务只处理 auth/session 切换准备,不处理 local folder access。
## Ownership
允许修改:
- `rust/crates/mnote-web/src/routes/session.rs`
- 可新增 `rust/crates/mnote-web/src/routes/auth_sqlite.rs`
- 可新增 `rust/crates/mnote-web/src/control_plane_auth_adapter.rs`
- `rust/crates/mnote-web/src/ssr/pages/auth.rs` 仅限必要表单字段/测试适配
- focused tests in same files
只读参考但不要直接改,除非确实必要并最小修改:
- `rust/crates/mnote-web/src/routes/gateway.rs`
- `rust/crates/mnote-web/src/middleware/request_context.rs`
- `rust/crates/mnote-web/src/context.rs`
禁止修改:
- `rust/crates/mnote-web/src/routes/local_folder_source.rs`
- `rust/crates/mnote-web/src/ssr/pages/admin.rs`
- `rust/crates/mnote-web/src/ssr/styles.rs`
- `infra/convex/**`
- `.env*`
## 任务
1. 梳理现有 signIn/signUp/session cookie 链,写在代码注释或测试名中,不写长文档。
2. 增加 SQLite session adapter 的 route/helper 骨架:
-`mnote_session` 查 session。
- 生成/刷新 `mnote_actor_id/name/email/type` display cookies。
- `/api/session` 优先使用 SQLite session,缺失时保留现有 fallback。
3. 注册/登录 adapter 应明确输出真实 `user_id/email/name/actor_type`
4. 新用户注册测试必须断言不回退到 `DEV_USER_NAME`
5. 不要求本轮完全删除 Convex auth fallback。
## 验收命令
```bash
cargo test --manifest-path rust/Cargo.toml -p mnote-web session -- --nocapture
cargo test --manifest-path rust/Cargo.toml -p mnote-web auth -- --nocapture
cargo fmt --check --all
```
## 最终回复格式
请列出:
- 修改文件
- 新增/调整的 cookie 与 session 规则
- 实际运行过的命令及结果
- 未完成项/风险