4.8 KiB
4.8 KiB
PR 草稿:feat/rpa-core-migration(线4·RPA插件迁入)
用途:对面仓库开 PR 时直接粘贴。按对面
.github/PULL_REQUEST_TEMPLATE.md(699df63d 版)字段填写,同时补齐迁入提交 8085ff47 单行提交说明未承载的细节。
基本信息
- 分支:
feat/rpa-core-migration(未直接向 main 提交/合并) - 基线 SHA:
1a56a084(origin/main 最新,直系子提交,无分叉) - 最终提交 SHA:
4e345304 - 关联需求/ADR/待办:线4·RPA融合第一步——迁入 RPA 核心包;设计依据见自仓库
docs/rpa-core-migration-guide-v2.md - 前置 PR/任务:无(独立迁入)
- 后置 PR/任务:
rpa-adapter适配层(线4,depends-on: 本 PR;待 Q5 配置面/审批上游确认后开工) - 共享入口 owner:
code/backend/package.jsonworkspace 清单(本 PR 未改它,仅 bun.lock 新增依赖锁);catalog 资源目录code/backend/resources/owner=线4
代码逻辑
- 输入如何进入:RunRequest(流程 JSON + 输入参数)→
createEngine→registerAll能力注册表 → 引擎逐节点执行。能力覆盖桌面(Windows 原生驱动)/浏览器/Excel/PDF/HTTP/文件/屏幕等,注册表 700+ 条目,零 Electron 依赖。 - 状态如何变化:NodeState.status 流转(idle/pending/running/succeeded/failed/skipped/waiting_user/unknown);RunEvent 事件流携带
checkpointId/idempotencyKey(=runId:nodeId)/resumable/executor审计字段。 - 谁最终判权:本包不做权限判定。执行授权由宿主下发(对面 gateway 租约 + 每节点单独授权,粒度拍板已落档);包内仅做 capabilityVersion 三段 semver 校验。
- 数据如何保存/回读:包内无独立落库;检查点与运行记录由宿主持久化,包只产出事件与状态。
- 失败/重试/取消/并发/撤权:节点级稳定错误码;幂等键 runId:nodeId 跨重入稳定,支持检查点续跑(resumable 门控:idempotent===false 不作锚点);撤权由宿主停止派发,包内无自主重试循环。
- 本次明确不包含:rpa-adapter、AI 调度、双端 executor 路由落地、管理端/客户端 UI、Bun 冒烟(决策10:延期到接宿主时)。
- 触及路径:
code/backend/packages/rpa-core/**(新增 150 文件:src 128 + test 44 等)、code/backend/resources/(catalog.json / catalog-overrides.json / capability-duplicates.json 伴生资源)、code/backend/bun.lock、项目资料/开发方案/当前事实.json。 - 明确不触及路径:
code/frontend/**、Java 服务端、Flyway 迁移、权限目录、OpenAPI/生成器、部署 Compose。 - 重复实现检索:
git log origin/main -- code/backend/packages(无既有 RPA 包);rg -n "rpa-core|createEngine|registerAll" code(无重复实现)。复用结论:唯一 owner=线4,无同事并行认领。
契约与影响
- SQL/迁移/权限/配置:无 SQL/迁移/权限变化;新增 workspace 包
@agent-worker/rpa-core及 bun.lock 条目。 - 文档事实:
当前事实.json已同提交刷新,document-facts --check通过(代码/事实/文档同提交原则已满足)。 - 回滚方式:revert 两个提交即可整包移除;无迁移、无生成物、无跨包引用残留。
- 依赖的迁移/制品/运行版本:bun 1.4.3(1.4.4 的 patchedDependencies 打不上 photon-node 补丁,与团队锁定版本一致,不是新要求)。
验证证据
bun test(backend workspace):48/48 全绿(engine + excel + pdf + platform-groups + register-all + compat-audit)。node code/tooling/document-facts.mjs --check:通过。node code/tooling/ci-gate.mjs --mode fast:通过。node code/tooling/check-workspace:产品源码树测试文件违规清零。- 真实环境证据:本 PR 为代码迁入,桌面能力(Windows 原生输入/PrintWindow)需真实 Windows 宿主验收,属后置 rpa-adapter 联调范围;CI 覆盖注册表/catalog/引擎层。
- 冲突解决记录:无冲突(基于 origin/main 最新直系提交)。
未完成与风险
- opencode fork 快照漂移:main 既有问题(ci-gate fast 模式旧账),与本 PR 无关,不阻塞审查。
- Windows 桌面能力实机验证未做:随 rpa-adapter 联调补齐。
- 迁入提交 8085ff47 提交说明仅一行(早于 699df63d 模板新规),细节以本 PR 描述为准;第二笔 4e345304 已按新模板填写。
提交清单确认
- 已从最新 origin/main 同步(1a56a084)
- 未直接向 main 提交或合并
- 本 PR 只包含一个可审查的纵切目标(RPA 核心包迁入+规范化)
- 已声明前置/后置任务、共享 owner 和依赖顺序
- 没有与其他 PR 重复实现;共享入口只有一个 owner
- 已按第五条线工作流完成自审,等待主控审核和合并