singularity-forge/src/resources
Jeremy McSpadden 9232ad6a2b feat: worker process spawning, milestone lock, signal handling (#672)
Worker spawning (parallel-orchestrator.ts):
- spawnWorker() creates child processes via spawn() with
  GSD_MILESTONE_LOCK env var for state isolation
- GSD_PARALLEL_WORKER env var prevents nested parallel sessions
- Workers run `gsd --print "/gsd auto"` in their worktree cwd
- Exit handler updates worker state on completion/crash
- Graceful error handling for spawn failures (ENOENT, etc.)
- SIGTERM sent on stopParallel for immediate process termination

Worktree creation:
- createMilestoneWorktree() creates git worktrees using
  milestone/<MID> branch naming without chdir (coordinator stays put)
- Reuses existing milestone branches to preserve prior work
- Runs post-create hooks for user scripts (.env copy, etc.)

GSD_MILESTONE_LOCK in state.ts:
- deriveState() filters to only the locked milestone
- getActiveMilestoneId() short-circuits when lock is set
- Complete worker isolation — each process sees one milestone

Signal consumption in auto.ts:
- handleAgentEnd() checks for coordinator signals between units
- Responds to "stop" and "pause" signals immediately

/gsd parallel merge command:
- Merge specific or all completed milestones back to main

976/976 full test suite passing, zero regressions.
2026-03-16 20:32:10 -06:00
..
agents fix: type errors in claude-import.ts and marketplace-discovery.ts 2026-03-16 14:46:31 -04:00
extensions feat: worker process spawning, milestone lock, signal handling (#672) 2026-03-16 20:32:10 -06:00
skills feat: add MCP server mode, /lint skill, E2E smoke tests 2026-03-16 13:56:31 -05:00
GSD-WORKFLOW.md docs: sync GSD workflow resource (#476) 2026-03-15 18:23:52 -06:00