跳转至

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.serviceroot: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 负责,本剥离任务不修改、不清理。

当前差异与结论

  1. DETACH-01 的关键差异已确认:RR 有活动 Bridge,101 尚无等价 Bridge;不能在此状态下停用 RR Bridge。
  2. RR /backup 与 101 独立备份盘不是同一存储边界;后续恢复材料交接必须按类型复制/重建并保留 RR 原件。
  3. 四个 RR 生产脚本仍属于待核实生产载荷,当前只能确认存在,不能据此判断可删除或必须迁移。
  4. 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 直接引用 RR project-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 独立备份盘已存在 automaticsnapshotsproject-syncproject-sync-v2/v3sync-stateexpress-usagentmeshos 等目录;这些是当前恢复/同步材料,不能在 DETACH-01 阶段清理。
  • RR /backup/agentmeshos 约 526 MiB,包含 ai-runtimeomniroute-*nomad*reboot-resiliencep4-*p6-10 等恢复主题;/root/.agentmeshos-backups 另有历史材料。用途仍需逐项分类。

MM/DD 连通性状态

  • 早期基线曾因 mmdd 别名解析失败而标记待验证;该状态已由已登记的 mm-101dd-101 管理路径复核取代。
  • 当前现场证据见“MM/DD 现场角色证据”段落;原始 DNS 失败仅作为历史诊断事实保留,不再作为当前节点结论。

DETACH-01 当前判定

基线已完成现场证据收集,现场差异、关键调用关系、WebDAV 配置、备份盘边界、MM/DD 角色、备份对象类型和代表性恢复路径均有证据;DETACH-01 已验收完成。跨主机交接、Bridge 接管和文档正式修订仍由后续目标负责。

追加证据:2026-08-29

RR 历史备份用途初步分类

现场清单和容量核对显示 /backup/agentmeshos 约 526 MiB,顶层对象按主题归类如下。该分类只基于目录名、文件类型和容量,不读取凭据值或备份内容:

类别 对象范围 处置
AI Runtime/控制面 ai-runtimep4-channel-*p6-10main-origin-gateway 保留,待 DETACH-06 评估继承与恢复演练
OmniRoute/Provider/Memory omniroute-* 全部目录及归档 tar/tar.gz/sha256 保留,按 Provider、数据、配置和校验材料分别登记
Nomad/节点基础设施 nomadnomad-*nomad-pki 保留,作为生产部署和恢复材料
网络与入口 mesh-derp-cutovertailscale-exit-noderetired-main-public-vhosts 保留,区分现行配置与历史切换材料
重启与安全基线 reboot-resilienceufw-before-20260717-110617.txt 保留,供 DETACH-09 重启/故障验收使用

RR /backup 来源仍为 /dev/vda2 系统盘;上述材料不是可删除的 Project 残留。用途分类尚未构成恢复演练,DETACH-06 仍未完成。

逐对象类型核对结果

/backup/agentmeshos 的一级目录和二级对象执行了只读 find/du 元数据采集。当前可确认的恢复用途边界如下:

对象类型 已核对对象 恢复用途 当前处置
Runtime SQLite 快照 ai-runtime/*.dbp4-channel-*/*.dbp6-10/*.db Runtime 状态回退、发布前恢复和故障分析 保留原件;不得直接覆盖生产库
OmniRoute 数据/配置 omniroute-controlled-discovery/*omniroute-*-backup/*omniroute-*/storage.sqlite Provider/调用历史、配置和数据恢复 保留原件;按 manifest/SHA256 复核
压缩归档及校验 *.tar*.tar.gz*.sha256MANIFEST*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 201DELETE 204、删除后 GET 404,但回读哈希不匹配,作为上传方式兼容性异常保留。

第二次独立重试使用显式 Content-Type: application/octet-streamContent-Length--data-binaryPUT 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-101100.64.0.6:10496)连接成功;主机名为 r1049668agentmeshos-bt-nginx.service 为 active/running,80/443 均监听。
  • 通过已登记的只读 SSH 管理路径 dd-101100.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 文档冲突清单(复核版)

  1. docs/architecture/03_总体架构设计.md05_技术选型说明.md06_工程规范.md 多处仍将 main/RR 写作 Runtime/WebDAV 凭据唯一持有方,并写明 101/103 不保存;与 101 现场 root-only WebDAV 配置及剥离目标不一致。
  2. docs/architecture/03_总体架构设计.md 将 RR 描述为代码/Runtime 主节点,同时 docs/rr-project-detachment.md 已描述 RR 项目目录脱离;需在 DETACH-08 统一“RR 生产部署节点、101 项目控制节点”的术语和职责。
  3. 旧文档把 Project 与系统 WebDAV 的持有边界分散描述;计划要求 101 继承系统 WebDAV 能力但不让 Project 凭据与系统凭据混用,需补充双凭据矩阵。
  4. docs/index.mddocs/port-map.md 的 MM/DD 入口描述与现场端口/服务证据基本一致,但健康端点不可由任意 /healthz 路径推断;最终文档应记录实际可验证端点。
  5. 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/,不作为长期运行配置。