Files
Agent-System-Dev/.task/artifacts/project-member-runtime/operation-record.md
T
weichenandCursor 3785408e71
ci / test-pg (pull_request) Successful in 9m3s
ci / test (pull_request) Successful in 7m48s
ci / svc-realcombo (pull_request) Successful in 2m34s
Archive the completed project-member-runtime task card
Why: the 8788 project-member runtime delivery finished (code merged via #526/#530) but its card and operation records lived only on an unpushed task branch, leaving the worktree impossible to recycle and the record invisible on main.
Evidence: card status "已完成(运行目标)" on feature/project-member-runtime 835d807; branch diff against merge-base touches only .task (card + 29 operation records); credential scan finds only variable-based Authorization headers and sha256 digests.
Impact: adds .task/archive/feature-project-member-runtime.md and .task/artifacts/project-member-runtime/**; no code, gitlink or policy change.
Refs: worktree cleanup 2026-10-18
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-18 09:01:23 +00:00

6.0 KiB
Raw Blame History

8788 项目成员修复运行交付

状态:已部署、已修复、运行验收通过。记录时间:2026-10-14T00:45:11.760482+08:00(Asia/Shanghai)。

用户授权本次保数据部署、旧绑定预览及无冲突后的修复、weichen/test 复测;用户另选临时 API 凭据,不改现有密码。密码登录链路为 NOT_RUN。

实际对象

对象 结果
实例 svc-dev-328312de05f9,127.0.0.1:8788
RDM 固定提交 3f647f6c547d3f0d5ab65310cc5f3eabf66e654f
组件 tag Backend/Core/Frontend/UI v0.4.0
Backend 5d5fc9891c0eb8994545ccb8b740535d9b99fb0e
Core 5773e74086791731059730bd3726dc8c9cd1381f
Frontend eb2d6d32f9323094d568bc9d80b4e5ed4f0af25b
UI 2c4322ef56df64ad72f65907d25b048a74bb5ffc
实际 release releases/rdm-3f647f6-20261013T155418Z-3842908
实际二进制 SHA256 d5db3d0ac292d99582ec91938317af356c050ad61e61f42c097e7faf7a731765
最终验收 PID 3896104,/proc executable 与 release 一致
数据 原 runtime/dev/data/agent-system.db 与 rdm.db;未换库、未清库

实际二进制与已验证默认组合产物字节一致。部署从固定提交物化四个 pins 并构建完整前端嵌入产物;devweb 伴生工作台也已由现有 svc 流程更新。源码和 tag 的审阅/CI 沿用已固定对象,RDM CI2977 已在本任务重新核验;运行结果为 SELF,独立只读重放身份单独记录。

备份与修复

配对冷备份:/home/weichen/projects/Agent-System-Dev/runtime-backups/dev/project-member-20261013T154718Z。保留 dev/devweb 配置、两库、14 个原件以及全部 6 份旧 release。在隔离恢复副本实际打开两库,integrity_check 与原始业务行对账通过,原件摘要一致;备份包含完整清单摘要。

旧宿主 prj_8d20020e5b79(genui-e2e,owner=weichen)保持 ID、名称、所有者不变。预览显示两个孤立成员、无绑定;再次查询物理所有者、宿主/领域名称及名称预留、绑定和成员后确认无冲突,才调用 apply。

形成唯一领域根 p-aea70b2559c6,映射 ready。原两条孤立成员迁到该领域根:weichen 为 owner,test 为 member。重复 apply 返回相同身份,没有重复项目。其他旧项目、绑定和成员保留。

运行验证

场景 结果
修复前同一新制品 test 无目标项目,新建会话 404;预览未改业务行
两账户可见性 均看到同一宿主/领域 ID
新建对话 HTTP 和实际浏览器按钮均成功,owner 为当前账户
私人会话与文件 本人可读;对方直接读取 404,列表不暴露
跨项目隔离 test 对 U7 会话列表、新建会话、工件均 404;领域摘要命令被拒
全局同名 有创建权限的 weichen 创建另一账号已有的 U7 宿主项目名称,409
权限分离 test 可在已加入项目建会话,但没有系统级创建项目权限,403
浏览器 weichen→退出→test→退出、刷新、私人文件列表通过;pageerror=0
原始数据 原12账户、3宿主项目、7会话、35消息、14工件与全部原件字节保留;原其他项目成员未变
最终凭据 两枚临时 key 已撤销,分别实测401,明文文件已删除;原账户与密码字段不变

全表对账覆盖原基座53张表及RDM25张表。除两条目标孤立成员的预期迁移外,旧业务行保留。共享实例使用期间观察到一条登录会话替换以及额外角色/权限行增加,保持现状,不归因本次操作,不以旧备份覆盖这些新增状态。

本次保留5条有“成员协作”标记的验收空会话及2个合成私有文件,未发送模型消息。历史会话和原件未删除。临时凭据生命周期结束,密码登录按用户选择未测试。

证据和限制

完整命令收据由任务卡中的 evidence 工具生成,来源保持 SELF。独立审阅者 /root/runtime_acceptance_review 先独立重放再对照作者记录,结论 PASS;其原始收据、attestation 和报告在本目录。浏览器由本次操作者执行,独立审阅核对报告范围,未再次创建数据或重跑 UI。

截图保存在受保护目录:/tmp/project-member-runtime-8788-20261013/screenshots/test-private-project.png 与 weichen-private-project.png,未放入 Git。

早期探针失败均保留:身份接口误写为 /api/auth/me,旧版本 HTTP 对照未完成;后改用真实 /api/me 在新制品上验证绑定修复前后。上传应答被误按数组解析,回读已成功上传的工件后复用,没有重复上传。全局名称测试最初使用无创建权限的 test,改用有权限的 weichen 验证。浏览器文件入口定位命中两个同名按钮,改为明确侧栏入口后完整重跑通过。均为探针问题,未据此修改产品代码或伪记 PASS。

服务 history 记录部署启动后现有 recover 流程再次拉起进程;所有最终 HTTP、浏览器及独立验收均针对最终 PID 和上述同一制品完成。未推断 recover 的原因,未扩大修改服务管理实现。

操作完成后服务保持运行,工作区和分支保留。没有新增产品源码改动、tag 或产品 PR;本任务的运行记录保存在独立工作区,尚未合入 main。后续可用原有账户进行常规密码登录验收;本次已选的账户身份功能复测无剩余阻塞。

这些脚本是本次已执行操作的历史证据,含明确的 live 写入步骤;不能未经新的操作授权直接重跑。私有业务副本与认证材料未纳入本目录,原始文件 byte/hash 对照见 manifest.json。

最后同步纳入上游治理/文档更新;这不改变已部署的固定 RDM3f647f6 制品。同步后已再次只读核验实际 executable/hash、实例、唯一 ready 绑定、两成员身份、HTTP200/匿名401以及临时凭据全部撤销,结果通过。未因记录工作区的变更重复部署或创建认证材料。