nesquena-hermes
0d3ee7de9f
Release Batch A: worktree cli-shadow + atomic settings.json + state.db read-only ( #5832 , #5829 , #5833 ) ( #5837 )
...
Phase 1 low-risk backend reliability batch. Three independent contributor fixes
on distinct files, each byte-identical to its PR head, Codex SAFE, 691+16 tests pass.
- #5832 (silent-reader-cn): importlib-load agent cli.py by absolute path so a
shadowing cli/ namespace package can't brick worktree creation
- #5829 (ai-ag2026): atomic settings.json writes (temp+fsync+os.replace, mode-preserving)
- #5833 (ai-ag2026): open the remaining 8 state.db read projections read-only
Co-authored-by: t <a@b>
Co-authored-by: silent-reader-cn <silent-reader-cn@users.noreply.github.com>
Co-authored-by: ai-ag2026 <ai-ag2026@users.noreply.github.com>
2026-07-09 09:04:59 -07:00
Frank Song
46c62851ad
Harden worktree removal safeguards
2026-05-13 09:49:15 +08:00
Frank Song
93b7d35bfa
Issue #2057 Slice 2: Add worktree remove action
...
Backend:
- POST /api/session/worktree/remove — removes a session's git worktree
- Guards: stream/terminal lock, dirty/untracked without force
- remove_worktree_for_session() in api/worktrees.py
Frontend:
- 'Remove Worktree' context menu item + confirm modal
- i18n keys for all 11 locales
Tests:
- 5 tests: clean remove, missing worktree, no-path, route success, 404
2026-05-13 09:11:55 +08:00
Hermes Agent
10cfcee30e
stage-342: apply Opus SHOULD-FIX — tighten worktree status _run_git timeout 5s → 2s
...
Worst case 4×5s=20s per polling request on ThreadingHTTPServer pool is risky
given today's _cron_env_lock near-miss on production 8787. Status probes
should fail fast; client can retry. All four call sites use default timeout.
2026-05-12 05:22:01 +00:00
Frank Song
6e1e9fafbe
Add worktree status endpoint
2026-05-12 10:08:01 +08:00
Frank Song
186453ea0e
Add worktree-backed session creation
2026-05-11 12:12:40 +08:00