Repository navigation
Releases
Releases · bkuberek/ropeshift
v0.1.0-alpha.3
0.1.0-alpha.3 (2026-11-09)
Bug Fixes
- end a session with its token alone on sign-out (923bbe3)
- push a lane's work only when the user's profile turns push_on_stop on (07c1d81)
Notes
- A lane no longer pushes its branch or checkpoint to the remote when it stops. To keep the earlier behavior, set
push_on_stop = trueunder[worktree]in your own~/.ropeshift/profile.toml; a repository cannot set it. With it off, a lane's work stays on this machine,ropeshift lane archiveneeds--force, and a parked lane resumes only here. ropeshift sign-outends a session with its token alone and never asks for a passphrase.
v0.1.0-alpha.2
0.1.0-alpha.2 (2026-11-09)
Bug Fixes
- count and format what the views state (b550087)
- give a session its grounding when the hook runs out of time (5bfd3f3)
- ground a session when its hook's deadline comes before the policy read (afaf92f)
- hand off a hook's event when its deadline comes before its verdict (06cfb07)
- keep a policy hook's verdict when its deadline meets the hand-off (2cdd363)
- keep IDs on one line and name each lane's work (b737e3c)
- let a status line held past its deadline exit 0 (3ae5303)
- list every command and answer help in both binaries (f2b33af)
- print a top frame as wide as its terminal (ff4bc86)
- refuse arguments to ropeshift mcp (3573c84)
- say counts and money in the terminal as the web UI does (8881f8a)
- say what a parked lane waits for in plain words (647881b)
- show a recommendation that is no option as chosen (c4b8142)
Notes
- The hook fixes correct
v0.1.0-alpha.1behavior on a heavily loaded machine: a tool call the policy allowed could be refused with "the policy check ran out of time", a call the policy denied could receive two answers at once, a session could start without its grounding, and an event could miss the spool. Upgrade fromv0.1.0-alpha.1.
v0.1.0-alpha.1
Changelog
Features
- 792262a feat: accept completed work on evidence a lane did not write by itself
- 0095733 feat: add claims, leases, and fencing
- accfea1 feat: add ropeshift top, an operator's live view of the fleet
- 5cc4bc6 feat: add the Claude Code headless driver
- d609798 feat: add the ledger core on SQLite
- 35f3c07 feat: add the module, entry points, and repository rules
- f583b01 feat: add the repository files source and the definition of ready
- 6bbe4a5 feat: add the worker link and journal
- 93fb6ae feat: add the worker socket, the hook, and the MCP server
- 608c69b feat: add worktrees, the lane environment, and thin profiles
- 6999d34 feat: advertise a manifest from the doctor, layer lane profiles, and preflight the inbound policy
- aa2cdf1 feat: ask through the ladder, and hold a human behind the gate
- 104e8cd feat: bind an approval to its digest, and refuse a self-approval in the store
- e0440d2 feat: bracket every effect and reconcile after a crash
- 4c402bb feat: build the execution and operations views
- 1e21462 feat: build the planning views
- 06e0083 feat: build the web shell and Needs you
- 74db045 feat: compute the product measures from the ledger, and keep an experience record per lane and per decision
- 248fa12 feat: decide and assume within a versioned policy, and overturn in one transaction
- c8c3fd8 feat: deliver messages to lanes
- 1c49cbb feat: deliver questions to members in batches, and take one answer per question
- 63b3507 feat: deny tool calls from a policy compiled for the generation
- 2a95e4c feat: derive lane state, liveness, and reachability
- 6f6b0dd feat: give every operation a command, and hold that to the routes
- ebde8df feat: guard every stop, hold per-lane resources, and run profile hooks
- e10dcda feat: hand a lane to its next generation under a contract that cannot block
- 9b91e74 feat: hold a worker to its autonomy level and a member's run windows
- 5391d74 feat: hold caps at claim and at start, and control the fleet with one mode
- e791c9a feat: hold each lane to its context thresholds during a turn
- bbd27be feat: hold headless sessions in a lane shim
- c1b0937 feat: let a member cancel work, and stop its lane through desired state
- fefcaf8 feat: let an orchestrator decide what a member delegated
- 6c89b07 feat: park a lane with its process gone, and evaluate its wake in the commit
- 69caf6f feat: park on usage limits and expired sign-ins
- 02db5b7 feat: pin a context pack at each claim
- d64eb33 feat: pull work and work the ladder through the orchestrator's tools
- 1810497 feat: qualify Claude Code 2.1.317
- 4c3d33f feat: qualify Claude Code 2.1.319
- 132bc59 feat: qualify each Claude Code surface by its own check, and probe a new version before work runs
- 4abc8dc feat: read every file kind, add knowledge documents, and carry work through planning
- 0fc645e feat: record a clear as a generation, and re-ground a lane in its identity
- 3402e7d feat: record questions and decisions, and rank candidates through search
- c5a6764 feat: report the release version, commit, build date, and changes in every binary
- 6199a7f feat: resume a woken lane by the first row of the resume table
- 7da58a4 feat: run lanes in a pane behind a checked start
- 41ca1e6 feat: run one orchestrator per worker, woken in batches
- af2dcc4 feat: run planning and contract review as lanes
- 9beee80 feat: run the daemon as a launchd agent or a systemd user unit
- a7cf3b2 feat: run the first lane end to end
- 5e759c3 feat: say which of requirements, specs, and designs a document is
- 52cfcee feat: send an answer to every lane that waits on it
- c75654f feat: serve a read model for every view, an event stream, and a web listener
- 3758ba6 feat: serve the control plane API and the work CLI
- 28fc8d2 feat: set up a machine with ropeshift init, and back up the ledger online
- 36bf3bc feat: show a stuck orchestrator, and give a person something to do about it
- 8059b7e feat: sign members in with a local passphrase, and route every check through one function
- 041b841 feat: store wake conditions as data and fire each one once in the ledger
- e9939c7 feat: supervise lanes with a breaker, restarts, and human resets
- 97850b4 feat: tag each lane's telemetry, keep it on the machine, and export only when asked
- 20ff9d5 feat: tell members what waits, through the web UI, the desktop, and a webhook
- efdc437 feat: tell pinned lanes when a decision or a contract moves
Fixes
- a3855ad fix: bind a decision to where a call lands
- 2dee37e fix: bound a hung compaction by the stall limit
- 14d5ccb fix: bound the two holds a stalled compaction kept
- 2b23df4 fix: check the login on a sign-in nobody could read, and fall back to tmux with no headless lane
- dcefeb1 fix: count a restart delay from the crash, not from the charge
- cada081 fix: decide a limit's steps in the domain, and hold a probe's word to its proof
- 5dbc949 fix: deliver a shim's shutdown reply before it ends
- 48db7cc fix: draw no nudge from the turn a clear ended
- 1545437 fix: end a probe's screen check when its pane dies
- c8d9caa fix: end a shim's lock with the shim that took it
- 154db96 fix: end a tool call that never reaches PostToolUse
- 8b8b649 fix: end the one-daemon lock with the daemon that took it
- 047c596 fix: end the shim of a refused start before the refusal returns
- 6eda39a fix: export what the emitter last flushed as a daemon stops, within one timeout
- c85c6f4 fix: give a hook that re-grounds a session time to hear its generation
- 84126ee fix: give a lane's pane a real-session suite's pane flags
- db16eb4 fix: guard the lane's session handle against a heartbeat
- 968e982 fix: hold a handoff, a resume, and a respawn to the day's cap on generations
- b95dad3 fix: hold a look at a call to the lane of the work order it names
- 8a12b81 fix: hold a progress save to its generation
- 84905b8 fix: hold an orchestrator at manual to the ladder for a delegated request too
- 024b25a fix: hold an orchestrator to its own tools
- ca45a1e fix: install the newest pre-release when no release is stable
- f56caa5 fix: keep a compaction's verdict where it lands
- 298984d fix: keep a deny rule from naming the worktree through a link
- 3a2a922 fix: keep a lane's place across a compaction
- 2e86846 fix: keep a native resume in the run mode its session started in
- f43d691 fix: keep a problem an accepted plan's commit found until a later commit fixes the file
- 0c16583 fix: keep a sign-in's memory behind its journal
- c073ae4 fix: keep an answer past its window for the next generation
- a893dec fix: keep the delegation check in the authority package
- 5ecfc2c fix: keep the literal status read, and a parking lane's reach
- ed9f705 fix: keep the long prompt of the echo test under Linux's limit on one variable
- 33bd64f fix: keep the plan a review records out of what a person reads
- bd942be fix: keep the session of a generation a clear ends ahead of its binding
- bffd741 fix: keep what a first prompt states before its session starts
- b912296 fix: kill a clear's brief before its flag moves
- 017993c fix: label an orchestrator's state, and keep a document of any kind in a list
- b492e52 fix: leave an effect to the goroutine already performing it
- c5d04ba fix: let a lane stage and commit in its own worktree with no prompt
- 4f25242 fix: let a limit warning with a low figure start new lanes
- f8c3f21 fix: let a member take work out of blocked
- 7812f6e fix: let a near-limit reading with no reset lapse
- 4ee30dd fix: let a page open a document and read its versions
- 671359b fix: let a stop come before the export queue
- c2a665b fix: let a stopped orchestrator's run let go of what its last turn held
- e2d7da3 fix: let a wake repeat after a kill rather than lose it
- 3ec4dd2 fix: let go of a question when an orchestrator's turn ends with no record
- 7987256 fix: let the driver own a probe's directories, and wait for a probe as for a lane
- f610522 fix: list a lane's artifacts in an order every read agrees on
- 9420fe7 fix: list a view's documents outside the read of the ledger
- 179e6dd fix: list every way work ends, and work no plan holds
- 2fe24a4 fix: match a category filter as a name, never as a pattern
- a515a22 fix: move a lane's state in the write that resumes it
- b9749de fix: name the lane's variables in the generated MCP configuration
- a05515d fix: open a stream with a first line, so a quiet ledger reads as live in WebKit
- ebb6091 fix: raise nothing for a hook behind an answered prompt
- f7cbed5 fix: read a call's fields by their exact keys, and hold a class to one field
- 62bb423 fix: read a commit that never held the ledger's version as a conflict
- 86fdd3f fix: read a dead pane's exit on a tmux that has not reaped its process
- 1c8a466 fix: read a pane's signal when tmux prints it as a number
- 1f21f51 fix: read a person's claim through the one authorization function
- 4884042 fix: read a whole scope before a wake calls a decision missing
- b2109ec fix: read what lanes hold before the lanes, so a pass cannot free a starting lane's ports
- 9c2a2ec fix: refuse a renewal after the lease deadline
- bc5bfd3 fix: refuse an agent CLI that fails its version check
- 0eadec0 fix: seal a spool line with its lane's token
- 15c2654 fix: send a lane's status once per generation
- 15f0cdb fix: spool a hook's event when the hook's deadline meets it
- c67c320 fix: stamp a lane's status with the generation it was read under
- bde689a fix: start no session on a lane that lost its lease while it was set up
- 3064352 fix: state what a candidate says in an orchestrator's next question
- 1e47f3a fix: stop a lane no desired state names, whatever the beat can say
- 2d5394b fix: stop a lane whose lease went before its session was reached
- 80986ef fix: tell a document that is not there from a read that failed
- f1b3764 fix: tell a resumed session nothing of a call it deferred
- 65e31c3 fix: tell a session that comes back the exact call a decision cover...