Why: the 2026-10-05 dev outage — a restart with an explicit --addr rebuilt
the start args, and the rebuild branch dropped the persisted --dsn for the
dev env, so the binary resolved auth=auto to off on 0.0.0.0 and the new
listen guard refused to spawn; record_state then persisted the broken exec=
before the health probe, so bare starts kept failing.
Evidence: bash -n clean; sandbox registry with stub binaries — dbref DSN is
re-derived on rebuild (priority CLI > env > dbref), the pre-flight blocks
non-loopback without auth with actionable remedies, immediate-death starts
leave the previous exec= intact, and DSN masking covers all start-path log
lines; make test green.
Impact: dev/prod agent starts keep their DB binding across explicit-arg
rebuilds; failed starts no longer corrupt the registry; static/pg paths get
the same persist-after-probe ordering (pg already had it); no change to
deploy materialization or the binary guard semantics.
Refs: backend 8eda35f (listen guard), runtime/dev history.jsonl 01:23 fail
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Why
2026-10-05 01:23 dev 服务事故:
svc.sh dev restart --addr 0.0.0.0:8788走显式参数重建分支,重建逻辑对 dev 环境刻意不拼--dsn/--auth,持久化的 pg1 数据库绑定被静默丢弃;二进制--auth auto无 DSN 判定认证关,被 backend 8eda35f 引入的 listen guard 拒启(进程即退)。且record_state在健康探测前写盘,坏exec=持久化后裸 start 复用导致二次失败。What
dsn_from_dbref,重建启动参数时由dbref=从 pg 实例登记重建--dsn(优先级 CLI_DSN > SVC_*_DSN > dbref;mock 档除外);dev 环境同样尊重显式--dsn/--auth(此前传入即被静默丢弃)。record_state后移至健康探测通过后——进程即退时保留上次配置并在报错中明示;超时(进程存活)按实际运行参数登记。pg 路径原本就正确,不动。Evidence
bash -n通过;沙箱登记(stub 二进制)5 场景:dbref DSN 重建保留并落盘、无认证组合预检拒绝(登记未变更)、--auth on解析式与透传式均放行、restart 携解析式参数正常、启动即退保留上次好配置(事故场景沙箱重演)。make test全绿(exit 0;含 test-boundaries/pins/libs/core/backend/frontend/ui/agentcmd)。make precheckverdict READY;make task-syncsynced(base4d59610fd1→ head 4215107)。Impact
Refs