--- title: Checkpoint 2026-09-29 22:02:30 UTC [65673db73f] type: checkpoint permalink: main/projects/25464650-ed5d-440e-b362-190f2852d451/checkpoint-2026-09-29-22-02-30-utc-65673db73f stable_id: 889272ca-6a6b-4ab3-bde7-c0ae2ee700d0 scope: project memory_type: checkpoint project_id: 25464650-ed5d-440e-b362-190f2852d451 usage_profile_id: 0c9feb46-d06e-43cd-9ef0-c5813c84a998 status: active revision: 1 request_id: t05-harness-checkpoint-20260930-0556 created_at: '2026-09-29T22:02:30.673925+00:00' updated_at: '2026-09-29T22:02:30.673925+00:00' tags: - t05 - ready-to-merge - line-L - feat/t05-harness --- ## T0.5 完成(线 L) - **任务**:T0.5 集成测试启动器 test/harness - **分支**:feat/t05-harness - **工作树**:E:/code/NixMsg-wt/t05(勿改 e:/code/NixMsg) - **基于**:origin/main @ 86dc10a - **提交**:5d046e2 feat: 实现 test/harness 集成测试启动器(已推送 origin/feat/t05-harness,普通推送) - **关键实现**: - Binary() 进程内只编译一次 nixmsg - Start:临时目录 + listen 127.0.0.1:0,读 listen.addr - AdminInitializer / CLIAdminInit(admin 未实现时 ErrAdminInitUnsupported,密码空串) - AdminClient:CookieJar + 变更请求 X-Nixmsg-Request;API Token 走 Bearer - MQTTClient 占位:DialMQTTTCP / DialMQTTWebSocket,原始控制包收发 - cmd/testserver:JSON 打 stdout,中断后 Kill 并删目录 - 示例测试:healthz+清理;并行隔离(不同端口/目录) - **验证**:task check 通过;task itest 通过;golangci-lint 0 issues - **DEVIATIONS「总控 L」T0.5**:admin 密码留给 P1;MQTT 仅传输层;Stop 用 Kill - **没做完**:admin init 密码解析待 P1;MQTT 业务帧/CONNACK 未做;优雅停机未测;Taskfile 未改(itest 已存在) - **标签**:ready-to-merge - **下一步**:总控审阅后 ff-merge;P1 合入后补上 admin init 密码回填验证 - **给下个会话**:复用 E:/code/NixMsg-wt/t05 与 feat/t05-harness;勿强推 main;勿在主工作区改