skills/src/worker
dan 405e6b9aee fix: varargs binding bug in git.nim runGit/runGitCheck
Nim's varargs doesn't consume the last positional argument when there's
a trailing parameter with a default value. This caused calls like
`runGit("fetch", "origin")` to be parsed as:
  - args = ["fetch"]
  - workDir = "origin"

Instead of the intended:
  - args = ["fetch", "origin"]
  - workDir = ""

Fixed by changing from varargs to openArray, which requires explicit
array syntax at call sites: `runGit(["fetch", "origin"])`.

Also includes P2 bug fixes:
- Start heartbeat before state transition (skills-qekj)
- Reject symlinks when reading context file (skills-16zf)
- Case-insensitive conflict detection (skills-n3qp)

Smoke tested: spawn, status, start, show, cancel all work.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 21:24:41 -08:00
..
context.nim fix: P2 bugs - heartbeat timing, symlink check, conflict detection 2026-01-10 20:55:15 -08:00
db.nim refactor: implement consistent error handling strategy 2026-01-10 20:37:47 -08:00
git.nim fix: varargs binding bug in git.nim runGit/runGitCheck 2026-01-10 21:24:41 -08:00
heartbeat.nim fix: P1 security bugs - cryptographic IDs and GC-managed heartbeat 2026-01-10 20:26:38 -08:00
state.nim refactor: extract common utilities to utils.nim 2026-01-10 20:32:47 -08:00
types.nim chore: remove dead code and unused parameters 2026-01-10 20:41:22 -08:00
utils.nim refactor: implement consistent error handling strategy 2026-01-10 20:37:47 -08:00