feat(resource/broker): 实现受保护凭证代办与项目 readiness #20

Merged
lanrtop merged 5 commits from feat/project-resource-broker into master 2026-09-23 20:36:21 +08:00
Owner

变更摘要

  • 常态 Gitea/API Key DTO 不再返回 token、webhook secret 或 API Key;保留 UI 的 API Key 查看/复制和现有 PR/webhook 能力。
  • Windows Credential Manager 保存新凭证;旧 SQLite 值在迁移前先生成并校验可恢复备份,写入/读取验证成功后才切换引用并清除明文,失败时不降级为明文。
  • 新增限定项目范围、无秘密的 readiness Tauri command/MCP 工具,并同步蓝图与契约文档。

Agent 自验

  • cargo test --quiet:207 passed、0 failed、1 ignored;跨进程 Windows 凭证探针由父测试调用并通过。
  • mise exec -- pnpm typecheck:通过;mise exec -- pnpm test:5 passed。
  • git diff --check master...HEAD:通过。
  • 独立应用标识及空测试库的 Tauri UI:虚构 API Key 新增、默认遮挡、显示、复制、编辑、删除均走通;测试库明文字段长度为 0,删除后记录为 0。测试进程和临时数据已清理。
  • 本地模拟 Gitea PR、webhook 与限定项目 MCP HTTP/SSE 路径已通过;功能测试未连接真实 Gitea。

没验什么 / 审查重点

  • 未读取或迁移真实生产密钥,未通过本次新功能触发业务 PR、部署或生产数据库写入;本交付 PR #20 由炼境既有 MCP 创建。未做真实安装版 UI 及真实 Gitea 集成终验。
  • 旧值备份可含历史明文,需按敏感文件管理;生产迁移应另行安排备份/恢复演练。
  • PR 较大且能力强耦合,请重点审查 credential_store.rs 迁移失败回滚、gitea.rs/mcp_webhook.rs 的凭证边界和 DTO/MCP 无秘密契约。
  • UI 自动化冒烟不替代用户最终意图验收;此 PR 不代表授权合并或部署。
## 变更摘要 - 常态 Gitea/API Key DTO 不再返回 token、webhook secret 或 API Key;保留 UI 的 API Key 查看/复制和现有 PR/webhook 能力。 - Windows Credential Manager 保存新凭证;旧 SQLite 值在迁移前先生成并校验可恢复备份,写入/读取验证成功后才切换引用并清除明文,失败时不降级为明文。 - 新增限定项目范围、无秘密的 readiness Tauri command/MCP 工具,并同步蓝图与契约文档。 ## Agent 自验 - `cargo test --quiet`:207 passed、0 failed、1 ignored;跨进程 Windows 凭证探针由父测试调用并通过。 - `mise exec -- pnpm typecheck`:通过;`mise exec -- pnpm test`:5 passed。 - `git diff --check master...HEAD`:通过。 - 独立应用标识及空测试库的 Tauri UI:虚构 API Key 新增、默认遮挡、显示、复制、编辑、删除均走通;测试库明文字段长度为 0,删除后记录为 0。测试进程和临时数据已清理。 - 本地模拟 Gitea PR、webhook 与限定项目 MCP HTTP/SSE 路径已通过;功能测试未连接真实 Gitea。 ## 没验什么 / 审查重点 - 未读取或迁移真实生产密钥,未通过本次新功能触发业务 PR、部署或生产数据库写入;本交付 PR #20 由炼境既有 MCP 创建。未做真实安装版 UI 及真实 Gitea 集成终验。 - 旧值备份可含历史明文,需按敏感文件管理;生产迁移应另行安排备份/恢复演练。 - PR 较大且能力强耦合,请重点审查 `credential_store.rs` 迁移失败回滚、`gitea.rs`/`mcp_webhook.rs` 的凭证边界和 DTO/MCP 无秘密契约。 - UI 自动化冒烟不替代用户最终意图验收;此 PR 不代表授权合并或部署。
lanrtop added 2 commits 2026-09-23 19:45:31 +08:00
Gitea、webhook 与 API Key 以受保护引用替代常态明文输出;旧值先备份并校验后可恢复迁移,MCP 仅提供项目只读状态。

Rules-Applied: R01,R05,R06,R07,R10

Feature-Confirmed: true
docs(resource/broker): 记录设计边界与逐卡验收证据
All checks were successful
Push & PR Check / check (push) Successful in 1m20s
Push & PR Check / check (pull_request) Successful in 58s
c7333038c5
同步蓝图、契约映射和本机凭证迁移前备份约束;UI 与真实环境终验保持待办。

Rules-Applied: R01,R05,R07
lanrtop added 3 commits 2026-09-23 20:18:40 +08:00
删除受保护凭证失败时回滚数据库删除,并恢复已删引用。旧凭证明确标为 pending_migration,避免误报 configured。
docs(resource/broker): 记录 PR 审查修复验收
All checks were successful
Push & PR Check / check (push) Successful in 59s
Push & PR Check / check (pull_request) Successful in 59s
e1e98e2b7b
lanrtop merged commit af0adef4f2 into master 2026-09-23 20:36:21 +08:00
Sign in to join this conversation.
No reviewers
No Label
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: lanrtop/dev-manager-tauri#20
No description provided.