Files
dsh_ai1net_server/交付物/心跳核对-N9上游已清-20260929.md
admin c1b5e4d966 chore(工作区): 全量入库 + 补齐 .gitignore(以工作区为准)
- 变更规模:新增 514 / 修改 62 / 重命名 155 / 删除 4(归档重组与文档轮次)
- .gitignore 修:`归档/**/db-cwd归一-备份-*/` —— 原规则写绝对层级(归档/db-cwd归一-…),
  目录搬进 归档/配置与备份/ 后**静默失效**,43 MB 的 DB 备份又变成未跟踪
- .gitignore 补:嵌套 git 内部数据(归档/内嵌git-20261008/、归档/skills-git-旧线-20261007/dotgit-原样移出/)
- .gitignore 补:运行态与部署副本(.workbuddy/collab/、.workbuddy/tools/、.workbuddy/.load-pending、.workbuddy/tmp-*)
- .gitignore 补:备份件(*.bak-*)
- 未跟踪文件从 2190 降到 890(其余为 归档/ 归档件与 .workbuddy/memory/ 知识文件,按口径入库)
2026-10-10 23:13:22 +08:00

7.1 KiB
Raw Permalink Blame History

心跳核对 · N9 上游红格已清 · 本轮派两棒(2026-09-29 22:36–22:5x)

角色:主会话(心跳核对)| 线:ai1net-dsh-server | 域锁:ai1net-dsh-server/tmp + ai1net-dsh-server/交付物 目标:手机查看并可回复桌面 WorkBuddy 中会话 ⛔ 本轮未替别线干活、⛔ 未改别线文件、⛔ 未杀 writer、⛔ 未重启 WorkBuddy、⛔ 未开对外端口。


0 一句话结论

该谁动 = 已经在动;本轮不派「新事实」的棒,只把「上游已清之后本就该做的那两件」派出去 —— ① N9 本体读数(复测棒 b8335866 @22:48)② 垫片常驻化(d27d2210 @23:12)。 不需要用户拍板、不需要用户动手(唯一待触发项:真账号验收要用户登一次,见 §5)。


1 任务图核对(对着 交付物/任务图.json + tasks.json)

节点 状态 说明
N1–N8、N11–N17 done 17 节点里 15 个已结
N9 blocked(队列口径)→ 上游已清,等读数 V2 手机发出的消息进入桌面会话 —— 关键路径唯一闸门
N10 pending V7 长时稳定性(连续 1 h / ≥50 次);deps=[N8,N9] ⇒ ⛔ 不能派
关键路径 N5 → N8 → N9 → N10

队列真话(collabd.py --once 刷新后):head=null · pending=0 · gate=free · blocked={N9, N9-持续性, N10}。


2 上游红格:已被清掉(本轮取证,非转述)

层 判据 读数(本轮实测)
设备侧守护 守护日志注册行 2026-09-29 22:26:58 UP -- registered host=d-bdf89014-…-626dc095 accepted=[20090](此前自 11:06:48 起零行)
持有方式 父链 powershell#8152 ← svchost#3008 ← services#1980 ⇒ 计划任务持有,不经 bash、不经 WorkBuddy
中继(47·权威) /status u:bdf89014-… 的 sessions 已含 d-bdf89014-…-626dc095;客户端 state=up 连续 >10 min、reconnects=0
垫片 127.0.0.1:20090 棒内可拉起,/api/v1/health = 200
仍未取到的 客户端 streams=0 / in=0B ⇒ 至今没有任何请求被真正转发过 —— 这正是 N9 复测棒要取的新读数

3 🔴 本轮新发现:垫片不跨会话存活(这是 N9「持续性」的真缺口)

时刻 事件
22:26–22:29 桌面棒重起垫片(pid 27932,health 200)
22:35:10 该棒收口 ⇒ 22:37 复测::20090 无监听、electron.exe 0 个
22:38 保持性复核棒(session 0b65d01f)按协议重起(pid 55972,health 200)
22:40:05 该棒收口
22:40:31 复测:health=502、:20090 无 LISTENING、electron.exe 0 个

⇒ wb-client-launch.mjs 的 detached:true 在本环境不跨会话(与既有结论「沙箱在会话/工具调用收尾时回收子进程」一致)。 ⇒ 后果:④ 闸只在「有棒活着」时通 ⇒ 端到端「手机 → 桌面」目前不是常驻可用的。 ⇒ 对照:节点守护已经解决了这个问题(计划任务 DSH-Overlay-Node-Dev 持有,22:26 起至今存活)⇒ 同一条路径复制到客户端即可。


4 本轮派出的两棒(唯一动作)

棒 automation id 线 / 排期 干什么 为什么现在派
[协作]N9复测 · 手机接入线 b8335866-78f5-4a87-9d7b-fba54f1a3136 ai1net-dsh-anywhere / 22:48 ④闸真实凭据复测 → 通则取 V2 发送读数(含靶子会话口径、指针受控归还、streams 由 0 变正的点名取证) 上游 22:26 已清、垫片 22:38 已起 ⇒ 上一轮「不抢跑」的理由已消失
[协作]垫片常驻化 · 桌面线 d27d2210-1046-49b3-a674-0b01f8c82968 ai1net-dsh-desktop / 23:12 把客户端做成计划任务(复用节点守护成功路径);硬判据=本会话收口后 20090 仍 200 §3 新发现;也是 N10 的硬前置

两条线域不重叠(anywhere / desktop)⇒ 可并行。 ⚠️ 常驻化棒内置冲突闸:若发现 20090 被别的棒占着 ⇒ ⛔ 不许动、只报告并 +6 min 本线自接(避免把 N9 棒正在取的读数搅成假读数)。 ⚠️ N9 棒的注意点(已写进口令):网关作用域是 ai1net-dsh-server 那条线(垫片 /sessions 实测 23 条全在该线),⛔ 别拿本线会话凑靶子;指针仍 nope-0000,遇 writer_occupied ⇒ 按 §0.5 T2 合规放弃。


5 要不要用户出手

档 内容
① 现在 无。解卡全程走测试身份(凭据有效至 09-30 11:06),AI 可自办
② 待触发 真账号验收需「用户身份」设备在线,其凭据 09-28 20:35 已过期 ≈26 h ⇒ 到那步只能用户登一次(命令在 NEED-USER.md §②,已标「现在不用动手」)
③ 已撤回 ⚠️ 上一轮我登记的「schtasks 被黑名单硬拦 ⇒ 需用户放行」作废:经入口脚本 spawn 的 schtasks 实测可用(22:26:55 那次成功即证),被拦的只是我在会话里直接调这一条命令。⇒ 不用用户改任何设置

6 机制缺陷登记(本轮新增/复核,⛔ 本轮未动机制层)

# 缺陷 本轮新增证据 后果
M2 受阻模板把一切受阻渲染成「🛑 需人处理 · 要哪句授权」 本轮 NEXT.md 抬头又是「需人处理」,而 blocked.json 正文里三处写明「⛔ 非需用户授权」 假上抛(第 3 次出现)
M3 taskgraph().ready 只按 deps 算,不排除 running/blocked blocked.json 摘掉后 digest 曾立刻变「可派 N9」,而 queue.json 是 head=null 假可派 + 重复派活风险
M6(新) 「垫片常驻」无归属、无验收 §3 的两次「随会话亡」 端到端可用性只在棒活着时成立;N10 无法开展
M7(新) 只读型棒(不落盘)的读数是不可追溯的 22:37 保持性复核棒不写任何文档 ⇒ 其判据只在会话里,心跳/队列都看不见 「验收了但没有证据」
M4 泄漏锁无 TTL / 持有者 completed 不自动失效 未新发(20:30 已登记) 必留泄漏锁

7 本轮产物与留档

项 位置
本留档 交付物/心跳核对-N9上游已清-20260929.md
信号文件 tmp/supervise-inbox/{blocked.json, NEED-USER.md}(NEXT.md / digest.md / queue.json 由 collabd.py --once 生成)
历次快照 tmp/lock-forensics/n9-20260929-2149/(含本轮 blocked.json.dispatched-b8335866-*)
上游判定(别线) ai1net-dsh-desktop/docs/实测单_N9解卡_设备侧节点守护独立拉起_20260929.md(判过;含 G1–G6 缺口表)
上一棒判定(别线) ai1net-dsh-anywhere/docs/实测单_N9接续_闸复测与受控归还_20260929.md(判 blocked;含 G1–G5)

8 锁

窄域 2 键 --claim-exec RC=0 → 收尾 --release-exec(现存锁若属别线在跑,按 R9 不动)。