Files
Agent-System-Dev/.task/archive/feature-svc-start-keep-db-binding.md
T
weichen f1ba22129e
ci / test (pull_request) Successful in 1m53s
Close 1 merged task card(s) and archive them
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)
2026-10-05 02:18:59 +00:00

3.2 KiB
Raw Blame History

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 复用导致二次失败。

修复项:

  1. 重建分支 dbref 兜底:dsn_from_dbref 由 dbref 从 pg 实例登记重建 --dsn(优先级 CLI_DSN > SVC_*_DSN > dbref;mock 除外);dev 同样尊重显式 --dsn/--auth(此前传入即被静默丢弃)。
  2. 失败不落坏配置:agent/static 启动的 record_state 后移至健康探测后——探测通过才写 svc.env;进程即退时保留上次配置并明示;超时(进程存活)按实际运行参数登记。pg 路径原本就在 pg_ctl 成功后落盘,不动。
  3. 预检拦截:非回环 + 认证判定关(按二进制 AuthEnabled 口径:--auth on;未显式 off 且带 --dsn)时 svc.sh 层提前拒绝并给可操作报错(回环/绑定/--auth on/INSECURE_LISTEN 四条出路);二进制 listen guard 仍是权威。
  4. 日志泄漏对齐:启动/复用/旧产物过滤三处日志对 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。