Sync Boatstack from Intelligence Flow Labs @ 06cd7f767374 - #126
Merged
operator-stack-publisher[bot] merged 1 commit intoJul 27, 2026
Merged
Conversation
operator-stack-publisher
Bot
deleted the
sync/intelligence-flow-06cd7f767374
branch
July 27, 2026 05:53
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
Read-only inspection pipelines work during recovery
While a workflow is blocked, an operator often wants to look before acting — pipe a status command into
a filter to read the part that matters. This was rejected. The guard treated any command with a pipe as
possibly changing state, so ordinary inspection such as
recovery-status | jq,git diff | wc -l, orgit status | sort | uniq -cwas denied, and falling off the read-only list re-entered the mutationchecks. Looking before acting was blocked at the moment it was most needed.
The guard now judges a pipeline by the effect of each stage. A pipeline is allowed when every stage is
read-only by effect — a reader, a Boatstack status command, or a pure filter that reads its input and
writes only to the next stage (
wc,awk,sort,uniq,cut,tr,jq, and similar). Any stagethat changes state is still denied.
The dangerous forms stay denied, because they change effect, not because they contain a special
character: writing to a file with
>, running a subcommand with$(...), chaining a real command with;or&&, or piping into a writer such astee. Sorecovery-status | jq .next_operationis allowedwhile
git status && rm -rf buildis not.Projection provenance
Generated from
operatorstack/intelligence-flow@06cd7f767374488a0ba95f92c9286c856be63649.Review provenance, tests, and examples before merging.