Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-svc-pidcheck-leak.md; R0=2723e452440fc11022c0f6d916cd34cc4cd17335.
Impact: task metadata only; the feature workspace starts at 2723e45244.
Refs: .task/feature-svc-pidcheck-leak.md
Why: Batch update --all left SVC_PIDCHECK from the prior service in
memory, so pid_alive/reclaim_own_port misclassified the next service's
process as dead/foreign, deleted svc.pid, and failed start on a still-
occupied port (genui/rdm1/rdmcand after successful dev).
Evidence: make test-governance (SELF; receipt /tmp/svc-pidcheck-gov.json);
new test_batch_update_stops_second_service_despite_prior_pidcheck +
SVC_PIDCHECK ratchet in test_svc_precheck.
Impact: env_config clears SVC_PIDCHECK/EXEC/VERSION/SOURCE per service;
batch update correctly stops and restarts each agent. After merge:
restore genui/rdm1/rdmcand and move rdmcand to its own data dir.
Refs: .task/feature-svc-pidcheck-leak.md; complements #456 reclaim_own_port
Co-authored-by: Cursor <cursoragent@cursor.com>
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.
Summary
env_config按实例清空SVC_PIDCHECK/SVC_EXEC/SVC_VERSION/SVC_SOURCE,避免批量update --all用上一服务的 mark 误判本服务进程为已死/非本服务。svc.pid、旧进程占口导致「端口被占用」。runtime/rdmcand/data。任务卡:
.task/feature-svc-pidcheck-leak.md(含 precheck / task-sync /make test-governance证据收据)。Test plan
make test-governance(SELF,含批量 update 回归与 SVC_PIDCHECK 棘轮)