Sync Boatstack from Intelligence Flow Labs @ 804141bc65d6 - #112
Merged
operator-stack-publisher[bot] merged 1 commit intoJul 25, 2026
Merged
Conversation
operator-stack-publisher
Bot
force-pushed
the
sync/intelligence-flow-804141bc65d6
branch
from
July 25, 2026 19:03
1dde8fb to
bb746e8
Compare
operator-stack-publisher
Bot
deleted the
sync/intelligence-flow-804141bc65d6
branch
July 25, 2026 19:07
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What this sync releases
One worktree no longer blocks Boatstack work in another worktree
Boatstack keeps an operation ledger. The ledger records each mutation, such as a version
update or a PR publish. The ledger used to live in the shared Git common directory. Every
worktree in the clone wrote to the same ledger.
This caused false blocks across worktrees. An update that succeeded in one worktree left a
receipt. Running the same-version update from another worktree found that receipt, compared a
different worktree scope, and denied the command with "existing operation identity does not
match the prepared package". The shared ledger also grew without bound, because it collected
every worktree's receipts.
The operation ledger is now per-worktree. It lives under each worktree's own Git directory,
next to the delivery state that is already per-worktree. One worktree no longer sees or
blocks another worktree's operations. Two worktrees can run the same-version update at the
same time; each keeps its own receipt. Repair backups and their receipt move per-worktree
for the same reason, so two worktrees repairing the same version cannot overwrite each
other's restore point.
The shared runtime binary and the staged update package stay shared and version-namespaced.
They are immutable content, so sharing them across worktrees is safe and saves disk. Git
already forbids the same branch in two worktrees, which keeps shared per-version state and
remote PRs free of contention.
This is a deliberate break from the previous shared-and-serialized ledger. The ledger path
moves to a new version, so the old shared ledger is orphaned cleanly for every worktree,
including the main worktree. Doctor removes the orphaned ledger as best-effort hygiene. Old
Boatstack versions keep using their own installed binary and are not affected. A removed
worktree now takes its operation state with it.
Projection provenance
Generated from
operatorstack/intelligence-flow@804141bc65d66fdb0a422a9c7c545a71180bffb1.Review provenance, tests, and examples before merging.