ci / test (pull_request) Successful in 1m53s
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt. Evidence: feature-svc-start-keep-db-binding.md(PR#188) — merges verified via git log --merges against origin/main. Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change. Refs: task.sh close (card-autoclose-r1)
3.2 KiB
3.2 KiB
feature/svc-start-keep-db-binding 任务卡
任务主记录:PR #188 https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-Dev/pulls/188(merge 73041b49fd);状态:已完成(回填);owner:weichen
基线与授权
- 权威仓:ssh://git@git-ssh.u1680832.nyat.app:31411/weichen/Agent-System-Dev.git;目标分支:main;R0(initial_base_sha)=
4d59610fd1 - 工作区:/home/weichen/projects/Agent-System-Dev-wt-feature-svc-start-keep-db-binding(worktree);分支:feature/svc-start-keep-db-binding
- 授权与交付终点:用户明确要求修复 svc.sh 此类缺陷(2026-10-05 dev 服务事故后续)。终点 = PR 合入 main + 主检出回归验证。
目标与非目标
背景(2026-10-05 01:23 dev 事故):后端 8eda35f 引入 listen guard 后,svc.sh dev restart --addr 0.0.0.0:8788 走"显式参数重建"分支,dev 分支刻意不拼 --dsn/--auth,持久化的 pg1 绑定被静默丢弃 → 二进制 --auth auto 无 DSN 判认证关 → 守卫拒启("进程即退")。且 record_state 在健康探测前写盘,坏 exec= 持久化,裸 start 复用导致二次失败。
修复项:
- 重建分支 dbref 兜底:
dsn_from_dbref由 dbref 从 pg 实例登记重建--dsn(优先级 CLI_DSN > SVC_*_DSN > dbref;mock 除外);dev 同样尊重显式--dsn/--auth(此前传入即被静默丢弃)。 - 失败不落坏配置:agent/static 启动的
record_state后移至健康探测后——探测通过才写 svc.env;进程即退时保留上次配置并明示;超时(进程存活)按实际运行参数登记。pg 路径原本就在 pg_ctl 成功后落盘,不动。 - 预检拦截:非回环 + 认证判定关(按二进制 AuthEnabled 口径:--auth on;未显式 off 且带 --dsn)时 svc.sh 层提前拒绝并给可操作报错(回环/绑定/--auth on/INSECURE_LISTEN 四条出路);二进制 listen guard 仍是权威。
- 日志泄漏对齐:启动/复用/旧产物过滤三处日志对 DSN 掩码(此前裸打密码,违背脚本自述"DSN 默认掩码"原则)。
同类排查结论(不改):set --addr 对 agent 拒绝并指向 restart;db --clear/config --clear 均同步改写 exec=,无漂移;非 dev 环境重建分支原本就带 --dsn/--auth,行为保持。
非目标:不改后端 listen guard 语义;不改 deploy 物化/构建链路。
同步记录
| 节点 | sync_base_sha | tested_head_sha | checked_at |
|---|---|---|---|
| 启动 | 4d59610fd1 |
4d59610fd1 |
2026-10-05T01:51:21Z |
结果与验证
- 结果:
- 验证:
- 影响与剩余项:
| 同步前验收 |
4d59610fd1|4215107126| 2026-10-05T02:16:28Z |
闭合记录(card-autoclose 回填)
- 依据:merge 73041b49fd8567aa02483a70bffed0ef8116bd22(PR #188)已包含于 origin/main,分支成果已落盘;本段为合入后回填。
- 合并主题:Merge pull request 'Keep the DB binding and fail closed on svc.sh start rebuilds' (#188) from feature/svc-start-keep-db-binding into main
- 归档:随闭合移入 .task/archive/;任务执行期的过程证据见原任务记录与 PR。