• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

umputun / ralphex
82%
master: 82%

Build:
Build:
LAST BUILD BRANCH: worktree-isolation
DEFAULT BRANCH: master
Repo Added 21 Jan 2026 08:02AM UTC
Files 40
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

LAST BUILD ON BRANCH fix-progress-append-on-restart
branch: fix-progress-append-on-restart
CHANGE BRANCH
x
Reset
  • fix-progress-append-on-restart
  • add-default-branch-template
  • add-dirty-worktree-check
  • add-notifications
  • add-reset-flag
  • auto-create-initial-commit
  • auto-plan-mode-detection
  • base-ref-skip-finalize
  • code-review-fixes
  • codex-error-hints
  • codex-wrapper-script
  • commented-defaults
  • configurable-colors
  • custom-config-dir
  • custom-external-review
  • dashboard-tests
  • dependabot/github_actions/goreleaser/goreleaser-action-7
  • dependabot/go_modules/github.com/go-git/go-billy/v5-5.7.0
  • dependabot/go_modules/golang.org/x/crypto-0.45.0
  • display-lines-changed-stats
  • docker-support
  • drop-go-git-backend
  • dump-defaults-and-update-skill
  • error-patterns
  • external-git-backend
  • feat/agent-frontmatter-model-v2
  • feat/per-phase-claude-models-v2
  • feat/scalar-config-fallback
  • feature/claude-plugin-support
  • finalize-step
  • fix-checkout-keep-untracked
  • fix-codex-not-installed
  • fix-codex-stderr-reporting
  • fix-dashboard-task-numbering
  • fix-isignored-global-patterns
  • fix-other-option-plan-questions
  • fix-plan-file-resolution
  • fix-process-group-cleanup
  • fix-review-loop-exit
  • fix-review-signals
  • fix-scanner-buffer-size
  • fix-sigint-handling
  • fix-uncommitted-changes-handling
  • fix-version-unknown
  • fix-windows-build
  • fix-worktree-support
  • fix/docker-timezone-from-host
  • fix/strip-comments-markdown
  • fix/strip-leading-meta-comments
  • fix/windows-comment-setsid
  • force-exit-timeout
  • graceful-prompt-variables
  • interactive-plan-creation
  • interactive-plan-review
  • master
  • plan-draft-preview
  • progress-files-location
  • progress-fresh-start
  • project-local-config
  • refactor-git-service
  • refactor-main
  • refs/tags/v0.1.0
  • refs/tags/v0.10.0
  • refs/tags/v0.10.1
  • refs/tags/v0.10.2
  • refs/tags/v0.10.3
  • refs/tags/v0.10.4
  • refs/tags/v0.10.5
  • refs/tags/v0.10.6
  • refs/tags/v0.11.0
  • refs/tags/v0.11.1
  • refs/tags/v0.12.0
  • refs/tags/v0.12.1
  • refs/tags/v0.13.0
  • refs/tags/v0.14.0
  • refs/tags/v0.15.0
  • refs/tags/v0.15.1
  • refs/tags/v0.15.2
  • refs/tags/v0.15.3
  • refs/tags/v0.16.0
  • refs/tags/v0.2.0
  • refs/tags/v0.2.1
  • refs/tags/v0.2.2
  • refs/tags/v0.2.3
  • refs/tags/v0.3.0
  • refs/tags/v0.4.0
  • refs/tags/v0.4.1
  • refs/tags/v0.4.2
  • refs/tags/v0.4.3
  • refs/tags/v0.4.4
  • refs/tags/v0.5.0
  • refs/tags/v0.6.0
  • refs/tags/v0.7.0
  • refs/tags/v0.7.1
  • refs/tags/v0.7.2
  • refs/tags/v0.7.3
  • refs/tags/v0.7.4
  • refs/tags/v0.7.5
  • refs/tags/v0.8.0
  • refs/tags/v0.9.0
  • remove-docker
  • rewrite-dk-script-python
  • unbounded-line-reader
  • verbose-completions
  • web-fixes
  • web-planner
  • web-ui
  • web-ui-improvements
  • worktree-isolation

18 Feb 2026 05:48PM UTC coverage: 81.779% (-0.1%) from 81.881%
22151240466

Pull #130

github

umputun
fix: acquire file lock before stat to prevent TOCTOU race

Move lockFile() call before f.Stat() in NewLogger so the restart
detection (size > 0 check) is protected by the exclusive lock.
Without this ordering, a concurrent process could stat size==0,
block on the lock, then incorrectly write a full header after
another process already wrote content.

Also add proper cleanup (unlock + unregister) on the stat error path.
Pull Request #130: fix: append progress files on restart instead of truncating

22 of 29 new or added lines in 1 file covered. (75.86%)

4 existing lines in 2 files now uncovered.

5359 of 6553 relevant lines covered (81.78%)

188.57 hits per line

Relevant lines Covered
Build:
Build:
6553 RELEVANT LINES 5359 COVERED LINES
188.57 HITS PER LINE
Source Files on fix-progress-append-on-restart
  • Tree
  • List 39
  • Changed 3
  • Source Changed 0
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
22151240466 fix-progress-append-on-restart fix: acquire file lock before stat to prevent TOCTOU race Move lockFile() call before f.Stat() in NewLogger so the restart detection (size > 0 check) is protected by the exclusive lock. Without this ordering, a concurrent process could stat size=... Pull #130 18 Feb 2026 05:55PM UTC umputun github
81.78
22150394692 fix-progress-append-on-restart fix: append progress files on restart instead of truncating Switch from os.Create (truncate) to os.OpenFile with O_APPEND so progress history is preserved when ralphex is restarted. On restart, a separator line is written instead of a full header... Pull #130 18 Feb 2026 05:30PM UTC umputun github
81.76
See All Builds (449)
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc