Conversation
The engine binary shipped the optimization loop, scoping, grounded ranking and PR watching to every user, though a playbook run touches none of it. With the new `autoresearch` cargo feature off (the default) the binary is the playbook workflow engine: plan, check, deploy, build, flow and fetch. A bare `crucible --manifest` refuses with a message naming the feature instead of running. Shared machinery moves out of runloop so the plan lane no longer reaches into it: iteration_template to plan::template, the gate self-test to cli::selftest (crucible check runs it), and fetch_object with the S3/file URI helpers to object_store (the controller shells crucible fetch). The control bridge moves to control::bridge and the Reporter layer to report::reporter, so each gate is one cfg on a module. Release binaries, the runtime images and CI build with the feature on, since the controller runs crucible scope and rank-grounded in pods. CI also clippies and tests the engine on default features so neither set rots. The library the controller links is unchanged. Assisted-by: Claude
|
Docs preview for this PR is built and attached as the Download Rebuilt for b7abe1f. |
…eature # Conflicts: # .github/workflows/ci.yml # .github/workflows/release.yml
wseaton
enabled auto-merge
September 23, 2026 01:48
This branch has not been deployed
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.
Adds an
autoresearchcargo feature to thecruciblecrate, off by default. Without it the binary is the playbook workflow engine (plan,check,deploy,build,flow,fetch); the keep/discard loop,scope,rank-grounded,watch-prandloop-statesare not built, and a barecrucible --manifestexits with an error naming the feature.Shared code moves out of
runloopfirst so the plan lane has no dependency on it:iteration_templatetoplan::template, the gate self-test tocli::selftest, andfetch_objectwith the URI helpers toobject_store. The control bridge and the Reporter layer move into their own modules (control::bridge,report::reporter) so each gate is onecfgon a module.Release binaries, the runtime images and
just build-loopbuild with the feature, because the controller runscrucible scopeandrank-groundedin pods. CI's existing all-features clippy/nextest cover the feature-on set; two added steps clippy and test the engine on default features. The lib the controller links is unchanged.Checked: clippy
-D warningsboth ways;cargo test -p crucibledefault (684 lib, 309 bin, integration green) and with the feature (684 lib, 647 bin, integration green); modgraph zero-cycle for both crates; controller builds;examples/playbookruns on the default build;scripts/state-docs.sh --checkpasses.