fix(obs): preserve repeated daemon traces
- commit
- 89cf334bb8dee481d52cd6dbe5f91394ae23697e
- author
- brice · · 2026-07-13 02:11 UTC
- parent
- be0d908
- signature
- GPG Verified
CD88F9E564E0102646FB6077A1A07C7C7C3E349D· arch-gpg Verified for the committer email
1 file · +4 -6
M cmd/vev-perf-harness/main.go +4 -6
| @@ -283,12 +283,10 @@ func (l *cliLauncher) Launch(m processMapping, role roleCommand) (launchedProces | |||
| 283 | 283 | if err != nil { | |
| 284 | 284 | return nil, err | |
| 285 | 285 | } | |
| 286 | - | // Each role runs in its isolated evidence directory. All paths passed into | |
| 287 | - | // the launcher were resolved at harness startup, so this cwd cannot redirect | |
| 288 | - | // the binary, manifest-derived traces, runtime, or state paths. Runtime is | |
| 289 | - | // kept in a short private directory because Unix socket paths have a small | |
| 290 | - | // platform limit and canonical evidence paths may be deeply nested. | |
| 291 | - | cmd.Dir = runDir | |
| 286 | + | // All role inputs are absolute paths resolved at harness startup. Do not set | |
| 287 | + | // a role working directory: daemon-owned subprocess cleanup may otherwise | |
| 288 | + | // treat the evidence directory as its working tree and remove a preallocated | |
| 289 | + | // trace while a later repetition is being merged. | |
| 292 | 290 | cmd.Env = append(withoutEnv(os.Environ(), "VEV", "VEV_PERF_TRACE", "VEV_PERF_PROCESS_ID", "VEV_PERF_SCENARIO", "VEV_PERF_RUN", "VEV_REMOTE_TRANSPORT"), traceEnvironment(m)...) | |
| 293 | 291 | cmd.Env = append(cmd.Env, "XDG_RUNTIME_DIR="+runtimeDir, | |
| 294 | 292 | "XDG_STATE_HOME="+filepath.Join(runDir, "state"), "TERM=xterm-256color") | |
| @@ -283,12 +283,10 @@ func (l *cliLauncher) Launch(m processMapping, role roleCommand) (launchedProces | |||||
| 283 | if err != nil { | 283 | if err != nil { | ||
| 284 | return nil, err | 284 | return nil, err | ||
| 285 | } | 285 | } | ||
| 286 | - | // Each role runs in its isolated evidence directory. All paths passed into | 286 | + | // All role inputs are absolute paths resolved at harness startup. Do not set |
| 287 | - | // the launcher were resolved at harness startup, so this cwd cannot redirect | 287 | + | // a role working directory: daemon-owned subprocess cleanup may otherwise |
| 288 | - | // the binary, manifest-derived traces, runtime, or state paths. Runtime is | 288 | + | // treat the evidence directory as its working tree and remove a preallocated |
| 289 | - | // kept in a short private directory because Unix socket paths have a small | 289 | + | // trace while a later repetition is being merged. |
| 290 | - | // platform limit and canonical evidence paths may be deeply nested. | |||
| 291 | - | cmd.Dir = runDir | |||
| 292 | cmd.Env = append(withoutEnv(os.Environ(), "VEV", "VEV_PERF_TRACE", "VEV_PERF_PROCESS_ID", "VEV_PERF_SCENARIO", "VEV_PERF_RUN", "VEV_REMOTE_TRANSPORT"), traceEnvironment(m)...) | 290 | cmd.Env = append(withoutEnv(os.Environ(), "VEV", "VEV_PERF_TRACE", "VEV_PERF_PROCESS_ID", "VEV_PERF_SCENARIO", "VEV_PERF_RUN", "VEV_REMOTE_TRANSPORT"), traceEnvironment(m)...) | ||
| 293 | cmd.Env = append(cmd.Env, "XDG_RUNTIME_DIR="+runtimeDir, | 291 | cmd.Env = append(cmd.Env, "XDG_RUNTIME_DIR="+runtimeDir, | ||
| 294 | "XDG_STATE_HOME="+filepath.Join(runDir, "state"), "TERM=xterm-256color") | 292 | "XDG_STATE_HOME="+filepath.Join(runDir, "state"), "TERM=xterm-256color") | ||