The self-PID guard in isLockProcessAlive returned false for process.pid, treating the current process as dead. This caused the doctor to delete auto.lock and .gsd.lock/ during live auto-mode sessions (via postUnitPreVerification), breaking the session lock and silently stopping auto-mode. The guard was originally added for startAuto() where a matching PID could mean a recycled PID from a prior crash. But startAuto already has its own `crashLock.pid !== process.pid` check before calling isLockProcessAlive, so the function-level guard was redundant there and harmful everywhere else. Change `pid === process.pid` to return true (alive) instead of false. Closes #2470 |
||
|---|---|---|
| .. | ||
| agents | ||
| extensions | ||
| skills | ||
| GSD-WORKFLOW.md | ||