Files
mnote/design/07-ai/process/7-76-execution-goal-v1.md
T

61 lines
3.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.
# Goal:执行 7-76AI 主体 · Web PAT · 鉴权硬化 · 用户级密码箱)
> 创建:2026-07-26
> 状态:`P0P1b DONE`P2 deferred;§12 部分 e2e 残留见设计稿 12.5)
> 设计 SSOT`design/07-ai/process/7-76-ai-principal-web-pat-and-auth-hardening-v1.md`
> 触发:用户要求「设置 goal,开始执行 7-76」
## Goal 文案(可贴任务板)
**在 7-76 边界下,分阶段交付:开发对标生产鉴权、Web PAT 机机访问、AI 主体隔离面、一人一密码箱 + share-to-AI;本迭代先完成 P0(撤登录页快速登录后门并校准测试/文档/smoke 登录路径)。**
## 成功标准(整条 7-76
1. `/auth` 无测试快速登录、无测试密码 DOM;开发与生产登录形态一致。
2. 外部 AI 可凭 Web PAT 在授权范围内完成笔记/树 CRUD,默认不接 Pi。
3. `mnote-e2e` 为 AI 主体:私有笔记/知识库/vault;普通用户不可进。
4. 密码箱按用户隔离;share-to-AI 可验;admin 代签可审计。
5. cookie / PAT / mnv1 / mnext1 分职。
## 阶段看板
| 阶段 | 内容 | 状态 |
|------|------|------|
| **P0** | 删除快速登录;测试/文档/smoke 改标准登录或 API | `done` |
| **P0.5** | `api_access_tokens` + Bearer 中间件 + `/user/ai` PAT UI(可复显) | `done` |
| **P1** | 用户级 vault root + owner + share-to-AI | `done`(复用既有一人一箱路径 + share-to-AI;补 Web 签发 vault token |
| **P1b** | Admin 代签 PAT/vault token、AI 主体运营、审计 | `done` |
| **P2** | exchange 短会话、break-glass、reveal 模式开关等 | `deferred`(非本轮阻塞) |
## P0 Checklist
- [x] `AuthPage` 移除快速登录按钮、`TEST_ACCOUNT_*` DOM、quickLogin 脚本分支
- [x] `gateway` SSR 测试:断言 **不存在** 快速登录与 `data-test-password`
- [x] `scripts/tree-shell-smoke-helpers.js` UI 登录改为表单标准登录
- [x] 各 smoke 中「点击测试账号快速登录」改为表单/API(共享 helper
- [x] `AGENTS.md` / `TESTING_REFERENCE.md` 去掉「优先快速登录」
- [x] `cargo test -p mnote-web` 定向 auth 相关通过
## 当前切片
- **已完成:** P0 → P1b 主交付(P2 延后)
- **实现要点:** 见下节「交付清单」
## 交付清单(本轮代码)
- [x] P0 撤 `/auth` 快速登录;smoke 标准登录 helper
- [x] Web PAT`/api/ai-tokens*` 签发/列表/复显/吊销;sealed 可复显
- [x] Bearer `mnpat1.*` 中间件;PAT 忽略 cookiescope 接线 notes/tree/tools
- [x] `/user/ai``/admin/ai` UI:API 访问令牌 + 密码箱 AI 访问
- [x] vault agent token`POST /api/vault/ai/token`(本人/admin 代签 + 审计)
- [x] AI 主体:`mnote-e2e` 注册 `role=ai_service`;用户列表 `principalKind`
- [x] 密码箱 share-to-AI / 用户 vault 路径沿用 12-x 既有实现
## 变更记录
| 日期 | 说明 |
|------|------|
| 2026-07-26 | 建 goal;完成 P0P1b 实现与定向单测。 |
| 2026-07-26 | **方案 A 账户分离**:新建 `mnote-admin`ops);`liaibo`/`mnote-e2e` 去 admin`mnote-e2e``ai_service``MNOTE_ADMIN_USER_IDS` + `access-policy.admins` 仅 adminPi Lab smoke admin seed 改 `withAdminBrowserSession`。 |
| 2026-07-26 | 对照代码核验;设计稿 §12 勾选已完成项;修 `test-handle-qa.js` 残留快速登录。 |