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

3.3 KiB
Raw Blame History

Goal:执行 7-76AI 主体 · Web PAT · 鉴权硬化 · 用户级密码箱)

创建:2026-07-26
状态:P0P1b DONEP2 deferred;§12 部分 e2e 残留见设计稿 12.5)
设计 SSOTdesign/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

  • AuthPage 移除快速登录按钮、TEST_ACCOUNT_* DOM、quickLogin 脚本分支
  • gateway SSR 测试:断言 不存在 快速登录与 data-test-password
  • scripts/tree-shell-smoke-helpers.js UI 登录改为表单标准登录
  • 各 smoke 中「点击测试账号快速登录」改为表单/API(共享 helper)
  • AGENTS.md / TESTING_REFERENCE.md 去掉「优先快速登录」
  • cargo test -p mnote-web 定向 auth 相关通过

当前切片

  • 已完成: P0 → P1b 主交付(P2 延后)
  • 实现要点: 见下节「交付清单」

交付清单(本轮代码)

  • P0 撤 /auth 快速登录;smoke 标准登录 helper
  • Web PAT/api/ai-tokens* 签发/列表/复显/吊销;sealed 可复显
  • Bearer mnpat1.* 中间件;PAT 忽略 cookiescope 接线 notes/tree/tools
  • /user/ai/admin/ai UI:API 访问令牌 + 密码箱 AI 访问
  • vault agent tokenPOST /api/vault/ai/token(本人/admin 代签 + 审计)
  • AI 主体:mnote-e2e 注册 role=ai_service;用户列表 principalKind
  • 密码箱 share-to-AI / 用户 vault 路径沿用 12-x 既有实现

变更记录

日期 说明
2026-07-26 建 goal;完成 P0–P1b 实现与定向单测。
2026-07-26 方案 A 账户分离:新建 mnote-adminops);liaibo/mnote-e2e 去 adminmnote-e2eai_serviceMNOTE_ADMIN_USER_IDS + access-policy.admins 仅 adminPi Lab smoke admin seed 改 withAdminBrowserSession
2026-07-26 对照代码核验;设计稿 §12 勾选已完成项;修 test-handle-qa.js 残留快速登录。