DETACH-01 现场基线记录
状态:已完成 权威计划:AgentMeshOS RR→101 系统剥离权威计划 目标登记:agentmeshos-detachment-goals.json
本文件只追加现场证据和结论。凭据仅记录路径、属主、权限、用途和引用关系,不记录凭据值。
已知起始事实
- RR 不存在
/root/project/AgentMeshOS,/root/project为空;没有活动 Project rclone/bisync 挂载或同步单元。 - RR 的
agentmeshos-system-operations-bridge.service仍运行,使用/usr/local/lib/agentmeshos/project-runtime下四个生产运维脚本。 - 101 是
/root/project/AgentMeshOS代码权威;当前没有同名 Bridge systemd 单元或已确认等价实例。 - 101 系统 WebDAV 和 Project 凭据文件均为
root:root 0600;系统 WebDAV 根目录、临时、长期和 runtime-artifacts 可只读探测。 - 101 独立备份盘为
/srv/codex-hub-backup,现场规则要求来源确认是/dev/sda1。 - RR
/backup已完成元数据级用途分类;恢复演练仅限代表性材料,完整交接仍属 DETACH-06,不得删除。 101-project同步-03专门负责 101 Project 同步,本剥离任务不修改其实现。
2026-08-29 现场证据
RR
- 主机名:
rr;/root/project/AgentMeshOS不存在。 /etc/systemd/system/agentmeshos-system-operations-bridge.service为root:root服务,当前active;ExecStart 使用/usr/local/lib/agentmeshos/system-operations-bridge/current/main.py。/usr/local/lib/agentmeshos/project-runtime当前包含四个0755 root:root生产脚本:Docs 部署、节点指标部署、Nomad Client 部署、节点清单导出。/backup来源为/dev/vda2(系统盘),不是独立备份盘;/backup/agentmeshos含 OmniRoute、Runtime、Nomad、重启恢复等多类历史材料,不能按 Project 残留删除。- RR
/etc/agentmeshos中系统运行、WebDAV、Bridge、认证和节点相关配置均为0600 root:root;本次只核对元数据,没有读取值。
101
- 主机名:
pcdell-101;代码权威为/root/project/AgentMeshOS。 - 当前未发现
agentmeshos-system-operations-bridge.service或等价 Operation Bridge 单元;/usr/local/lib/agentmeshos已有受控能力采集、网络隔离、Worker 重启准备和 Project 合并脚本。 /srv/codex-hub-backup来源为/dev/sda1,符合独立备份盘边界;/backup来源为系统盘/dev/nvme0n1p2。- 101
/etc/agentmeshos中 Project、系统 WebDAV、Codex Hub WebDAV、Runtime、Bridge 等配置均为0600 root:root;本次只核对元数据,没有读取值。 - 101 当前存在 Project 同步/校验相关 systemd 对象;其实现由
101-project同步-03负责,本剥离任务不修改、不清理。
当前差异与结论
- DETACH-01 的关键差异已确认:RR 有活动 Bridge,101 尚无等价 Bridge;不能在此状态下停用 RR Bridge。
- RR
/backup与 101 独立备份盘不是同一存储边界;后续恢复材料交接必须按类型复制/重建并保留 RR 原件。 - 四个 RR 生产脚本仍属于待核实生产载荷,当前只能确认存在,不能据此判断可删除或必须迁移。
- 101 Project 同步运行对象不属于本任务的实现范围,但必须作为接口依赖记录,不能被剥离操作误停。
Bridge 调用关系证据
- RR Bridge 的正式 systemd 单元绑定
172.30.70.1:39184,允许客户端为172.30.70.2,127.0.0.1,审计数据库为/var/lib/agentmeshos/system-operations-bridge/audits.db,并以root运行。 - RR Bridge 的
node_management.py直接引用 RRproject-runtime中的 Nomad Client、节点指标和节点清单脚本;main.py引用 Docs 部署脚本。这证明四个脚本不是孤立文件,至少被 Bridge 的节点管理或 Docs 动作路径引用。 - 101 当前只有能力采集、网络隔离、Worker 重启准备和 Project 合并脚本,未发现等价 Bridge 服务、审计数据库或
39184监听单元;因此 DETACH-02 是真实未完成差异,不能先停用 RR Bridge。
凭据和存储边界证据
- RR 与 101 两端
/etc/agentmeshos配置均为0600 root:root;101 已同时存在系统 WebDAV、Project rclone 和 Codex Hub WebDAV 配置,RR 仍保留系统 WebDAV、Bridge、Headscale、Runtime 等配置。 - RR
/backup不是独立盘,101/srv/codex-hub-backup是独立/dev/sda1;两边必须分别保留,交接不得通过移动或删除原件完成。 - 101 系统 WebDAV 环境配置中的数据面 URL 为
https://cloud.yohan.fun/dav;系统 WebDAV、Project rclone 和 Codex Hub WebDAV 三份配置均为0600 root:root,值未读取。 - 101 独立备份盘已存在
automatic、snapshots、project-sync、project-sync-v2/v3、sync-state、express-us和agentmeshos等目录;这些是当前恢复/同步材料,不能在 DETACH-01 阶段清理。 - RR
/backup/agentmeshos约 526 MiB,包含ai-runtime、omniroute-*、nomad*、reboot-resilience、p4-*、p6-10等恢复主题;/root/.agentmeshos-backups另有历史材料。用途仍需逐项分类。
MM/DD 连通性状态
- 早期基线曾因
mm、dd别名解析失败而标记待验证;该状态已由已登记的mm-101、dd-101管理路径复核取代。 - 当前现场证据见“MM/DD 现场角色证据”段落;原始 DNS 失败仅作为历史诊断事实保留,不再作为当前节点结论。
DETACH-01 当前判定
基线已完成现场证据收集,现场差异、关键调用关系、WebDAV 配置、备份盘边界、MM/DD 角色、备份对象类型和代表性恢复路径均有证据;DETACH-01 已验收完成。跨主机交接、Bridge 接管和文档正式修订仍由后续目标负责。
追加证据:2026-08-29
RR 历史备份用途初步分类
现场清单和容量核对显示 /backup/agentmeshos 约 526 MiB,顶层对象按主题归类如下。该分类只基于目录名、文件类型和容量,不读取凭据值或备份内容:
| 类别 | 对象范围 | 处置 |
|---|---|---|
| AI Runtime/控制面 | ai-runtime、p4-channel-*、p6-10、main-origin-gateway |
保留,待 DETACH-06 评估继承与恢复演练 |
| OmniRoute/Provider/Memory | omniroute-* 全部目录及归档 tar/tar.gz/sha256 |
保留,按 Provider、数据、配置和校验材料分别登记 |
| Nomad/节点基础设施 | nomad、nomad-*、nomad-pki |
保留,作为生产部署和恢复材料 |
| 网络与入口 | mesh-derp-cutover、tailscale-exit-node、retired-main-public-vhosts |
保留,区分现行配置与历史切换材料 |
| 重启与安全基线 | reboot-resilience、ufw-before-20260717-110617.txt |
保留,供 DETACH-09 重启/故障验收使用 |
RR /backup 来源仍为 /dev/vda2 系统盘;上述材料不是可删除的 Project 残留。用途分类尚未构成恢复演练,DETACH-06 仍未完成。
逐对象类型核对结果
对 /backup/agentmeshos 的一级目录和二级对象执行了只读 find/du 元数据采集。当前可确认的恢复用途边界如下:
| 对象类型 | 已核对对象 | 恢复用途 | 当前处置 |
|---|---|---|---|
| Runtime SQLite 快照 | ai-runtime/*.db、p4-channel-*/*.db、p6-10/*.db |
Runtime 状态回退、发布前恢复和故障分析 | 保留原件;不得直接覆盖生产库 |
| OmniRoute 数据/配置 | omniroute-controlled-discovery/*、omniroute-*-backup/*、omniroute-*/storage.sqlite |
Provider/调用历史、配置和数据恢复 | 保留原件;按 manifest/SHA256 复核 |
| 压缩归档及校验 | *.tar、*.tar.gz、*.sha256、MANIFEST*、SHA256SUMS |
离线恢复与完整性验证 | 保留配套校验文件;不得单独清理 |
| Nomad 与 PKI | nomad*/*、nomad-pki/* |
调度器/客户端及证书恢复 | 保留;涉及凭据的内容不得读取或进入文档 |
| 网络/入口快照 | main-origin-gateway/*、mesh-derp-cutover/*、retired-main-public-vhosts/*、tailscale-exit-node/* |
公网入口、Headscale/Tailnet 切换回退 | 保留并标注现行/历史,不能直接重新启用 |
| 重启/防火墙基线 | reboot-resilience/*、ufw-before-* |
重启恢复和安全基线比较 | 保留,供 DETACH-09 使用 |
该核对仍是元数据级分类;未读取归档内部凭据、Token、Key 或数据库业务内容,也未将 RR 原件移动到 101。
101 系统 WebDAV 生命周期探针
在 AgentMeshOS-临时 下创建了随机命名的临时探针对象,未记录凭据或完整对象名。第一次使用 curl --upload-file 的探针结果为 PUT 201、DELETE 204、删除后 GET 404,但回读哈希不匹配,作为上传方式兼容性异常保留。
第二次独立重试使用显式 Content-Type: application/octet-stream、Content-Length 和 --data-binary:PUT 201,回读长度 82 字节、SHA-256 与发送端一致,DELETE 204;此前删除后回读为 404。本次探针对象已删除,未留下业务数据。结论限定为:临时目录在该受控二进制上传路径下具备写入、回读校验和受控删除能力;通用上传方式仍需在 DETACH-03 单独固定。
文档冲突登记
现有架构文档仍有“系统 WebDAV 凭据只在 main,101/103 不保存”的旧描述(docs/architecture/06_工程规范.md 第 204 行附近),与 101 现场存在 root:root 0600 的系统 WebDAV 配置以及本剥离计划要求 101 继承能力不一致。该冲突不得通过删除 101 配置解决;列入 DETACH-08,需以最终现场权限矩阵和凭据保留策略修正文档。
当前状态未变
MM/DD 角色现场证据、RR 历史备份对象类型核对和 RR/101 文档冲突复核已完成;跨主机材料继承和正式文档修改属于后续目标。因此 DETACH-01 保持“已完成”。
MM/DD 现场角色证据
- 通过已登记的只读 SSH 管理路径
mm-101(100.64.0.6:10496)连接成功;主机名为r1049668。agentmeshos-bt-nginx.service为 active/running,80/443 均监听。 - 通过已登记的只读 SSH 管理路径
dd-101(100.64.0.9:17106)连接成功;主机名为dedirock-717106053。Docker 为 active,Cloudreve 容器cloudreve_m6ea-cloudreve_m6EA-1为 Up。 - 从当前控制节点执行公网只读健康检查:
https://cloud.yohan.fun/healthz返回 200,https://console.yohan.fun/healthz返回 200;mesh.yohan.fun/healthz返回 404,不能把该路径当作健康端点。 - 角色结论:MM 的公网入口职责和 DD 的 Cloudreve 存储职责均有现场证据;数据面仍经公网 HTTPS,SSH/Tailnet 仅用于控制和状态读取。
RR/101 文档冲突清单(复核版)
docs/architecture/03_总体架构设计.md、05_技术选型说明.md、06_工程规范.md多处仍将main/RR写作 Runtime/WebDAV 凭据唯一持有方,并写明 101/103 不保存;与 101 现场 root-only WebDAV 配置及剥离目标不一致。docs/architecture/03_总体架构设计.md将 RR 描述为代码/Runtime 主节点,同时docs/rr-project-detachment.md已描述 RR 项目目录脱离;需在 DETACH-08 统一“RR 生产部署节点、101 项目控制节点”的术语和职责。- 旧文档把
Project与系统 WebDAV 的持有边界分散描述;计划要求 101 继承系统 WebDAV 能力但不让 Project 凭据与系统凭据混用,需补充双凭据矩阵。 docs/index.md、docs/port-map.md的 MM/DD 入口描述与现场端口/服务证据基本一致,但健康端点不可由任意/healthz路径推断;最终文档应记录实际可验证端点。- RR
/backup和 101/srv/codex-hub-backup的设备边界已确认不同,旧文档若仅按路径名称作“统一备份”需在 DETACH-08 修正为双边界交接。
以上冲突已按文件和主题复核,但不代表文档更新已完成;正式修订仍必须等待 Bridge 接管、凭据继承和停用前验收。
代表性恢复路径验证
- 在 RR 本机选择不含凭据的
omniroute-controlled-discovery/history.sqlite(49,152 bytes)作为数据库恢复代表,源文件权限为0600;只输出元数据和校验结果,未读取业务记录。 - 源文件只读
sqlite quick_check返回ok;复制到 RR 隔离临时目录后的副本再次返回ok,副本随后已删除。 - 选择
omniroute-root-native-admin-20260803T035230Z.tar.gz作为归档代表,tar -tzf可读;未解包到项目目录。 - 101
/srv/codex-hub-backup仍由/dev/sda1提供,现场可用空间约 325G;本次未向该盘写入或删除材料。
该验证证明代表性材料具备本机隔离恢复入口,但不等于已完成跨主机继承;跨主机交接仍属于 DETACH-06,必须遵守 Cloudreve 公网数据面和凭据保留边界。
DETACH-01 验收审计(已完成)
| 交付物 | 证据位置 | 当前判定 |
|---|---|---|
| 节点职责矩阵 | RR/101、MM/DD 现场证据段落 | 证据齐全 |
| 服务调用关系 | Bridge 调用关系、端口和公网健康证据 | 证据齐全 |
| 凭据保留清单 | 凭据和存储边界段落;仅元数据 | 证据齐全,值未读取 |
| 备份分类清单 | RR 历史备份用途及逐对象类型核对 | 证据齐全,未删除原件 |
| RR→101 差异清单 | 当前差异与文档冲突复核版 | 证据齐全,后续需按 DETACH-08 修文档 |
| 风险与禁止操作清单 | 各段落的保留、不得删除、不得停用和网络边界说明 | 证据齐全 |
验收结论:DETACH-01 的现场基线六项交付物均具备可核验依据,状态为“已完成”。跨主机材料继承、冲突清单正式修订和 Bridge 接管不属于本目标交付物,不构成 RR Bridge 停用许可。
待补证据
后续仅补充负责人验收签核、跨主机恢复材料交接(DETACH-06)和文档正式修订(DETACH-08);证据文件统一放在 agentmeshos-detachment-evidence/DETACH-01/。原始脱敏采集暂存于项目 temp/detach-01/,不作为长期运行配置。