mirror of
https://github.com/0xWheatyz/handler.git
synced 2026-08-30 03:31:36 +00:00
Default operator spawns to a fresh worktree cut from origin/HEAD
A spawn with no explicit placement ran the agent in the shared project-root checkout. The root only fast-forwards while it is parked on the default branch, so the moment one agent left it on a feature branch, every later no-placement spawn — the mobile app always, the web form whenever the branch field was blank — started from a stale tree: the operator's freshly pushed commit was fetched into origin/* but invisible to the agent. Operator spawns on a git root now default to a worktree on agent/<name>, cut from origin/HEAD like any explicit worktree spawn, so a new agent always starts at the remote's latest push and gets the per-agent isolation the README promises. Schedule firings opt out (auto_worktree=False): their continuity convention is a state file living in the root tree across runs. The mise-init bootstrap and non-git roots keep root placement unchanged. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01731mKtVzsfeT4Vi3TvkR48
This commit is contained in:
@@ -6,6 +6,20 @@ the image workflows publish (plus `latest` from every push to `main`).
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
### Fixed
|
||||
|
||||
- **Agents missing freshly pushed commits.** A spawn with no explicit placement ran
|
||||
the agent in the shared project-root checkout, and the root only fast-forwards
|
||||
while parked on the default branch — so as soon as one agent left it on a feature
|
||||
branch, every later no-placement spawn (the mobile app always, the web form with an
|
||||
empty branch field) started from a stale tree even though the push had been
|
||||
fetched. Operator spawns on a git root now default to a fresh worktree on
|
||||
`agent/<name>` cut from `origin/HEAD` — always the remote's latest push, and real
|
||||
per-agent isolation (README's "one working directory or git worktree per agent").
|
||||
Explicit worktree/subdir placements are honored unchanged; schedule firings and the
|
||||
mise-init bootstrap keep root placement (their conventions depend on the root
|
||||
tree); non-git roots are untouched. 4 regression tests.
|
||||
|
||||
### Added
|
||||
|
||||
- **Tappable fleet stat cards** in the mobile app: Running / Waiting / Done now open a
|
||||
|
||||
Reference in New Issue
Block a user