You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The per-repo mirror keeps run branches under refs/heads/*, out of reach of a fetch, so a run in
flight keeps its branch. (#39)
A reaper reconciles run worktrees on disk at startup and after each stage, tuned by DAHRK_RETENTION_MAX_RUNS / DAHRK_RETENTION_MAX_AGE_MS and previewable with DAHRK_REAPER_DRY_RUN=1. (#39)
A stale worktree's branch claim is cleared before a new worktree is created, and any discarded tip
is parked under refs/dahrk/salvage/. (#39)
Changed
dahrk start installs and starts the always-on service and returns; use dahrk start --foreground
(or DAHRK_FOREGROUND=1) for the blocking worker. (#38)
Added
The node writes a structured log at ~/.dahrk/logs/node.jsonl, always at debug, rotated at 10 MB
across five generations. (#40)
dahrk logs --run <runId>, with --level and --json, filters a stage's lines by the identifiers
the hub knows the run by. (#40)
dahrk diagnose writes a local support bundle: identity, version, host, doctor verdict, log tail
and crash records, uploading nothing. (#40)
Uncaught exceptions and unhandled rejections are written to ~/.dahrk/logs/crashes/<timestamp>.json
and the node carries on (DAHRK_CRASH_EXIT=1 to exit instead). (#40)
dahrk stop, dahrk restart and dahrk logs [-f] [-n <lines>], with dahrk status distinguishing
a deliberately stopped node from a crash-looping one. (#38)
The node reports an available client update at dahrk start, in dahrk status, and once a day in
its log; disable with DAHRK_NO_UPDATE_CHECK=1. (#38)
Fixed
Git operations are logged: clone, mirror refresh and worktree create all appear at debug. (#40)
Everything written to a log is scrubbed of credentials in URLs, sensitive keys, and token-shaped
strings. (#40)
Failures on best-effort paths, such as shipping a stage's final trace to the hub, are logged rather
than silent. (#40)
A node piped into a command that exits first (dahrk start | head) exits quietly instead of writing
crash records. (#40)
The containerised Pi runtime drains its error output, so a container with much to say cannot block
on a full pipe. (#40)
A node takes a lock at ~/.dahrk/node.pid, so a second node on the same machine refuses to start.
(#38)
Linux nodes write ~/.dahrk/logs/node.{out,err}.log like macOS, rotated past 10 MB, and dahrk logs reads them on every platform. (#38)
dahrk status reports the log path from a single definition that honours DAHRK_STATE_DIR. (#38)