Repository navigation
fix(dialect): auto-detect the workspace carrier by platform - #47
Merged
Merged
Conversation
Stop forcing the macOS-only clonefile carrier for ordinary Workspace bootstrap and portable fixtures. Let the existing backend detection choose the supported platform pairing while retaining explicit clonefile coverage in macOS-gated tests.
Deploying shepherd-agents-docs with
|
| Latest commit: |
8c2b146
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://af4d05dc.shepherd-agents-docs.pages.dev |
| Branch Preview URL: | https://fix-linux-carrier-autodetect.shepherd-agents-docs.pages.dev |
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.
Summary
clonefilecarrier for ordinary workspace-backed execution.Motivation / Context
Workspacebootstrap currently passesconfig={"backend": "clonefile"}unconditionally. On Linux, every workspace-backed run therefore raises before execution even when a supported overlay or portable carrier is available. The lower-level substrate already implements platform-aware selection; this PR lets that existing mechanism run.This is an isolated bug fix and does not include the broader internal CI, provider, or durable-runtime work around it.
Delta Breakdown
Workspaceno longer pins a backend when it builds the substrate context. Reviewers should verify that this delegates only backend choice and does not change workspace authority or lifecycle semantics.Entry Point
Workspace.__init__inshepherd_dialect/nucleus.py→ existingbuild_builtin_substrate_contextbackend auto-detection → portable fixtures and baseline coverage → changelog.The affected public entrypoint is ordinary construction of a workspace-backed
Workspace.Review Guide
The central question is whether ordinary workspace bootstrap should choose a backend or delegate to the substrate policy. This patch delegates to the already-documented policy and leaves explicit backend selection available to callers and platform-specific tests. macOS still resolves to clonefile; Linux can resolve to kernel/FUSE overlay; environments without either retain the existing portable floor.
Validation
uv lock --checkandgit diff --checkpassed.make baselinenow passes with 28 passed and 5 platform skips; it previously failed on the clonefile-only configuration.Documentation / Changelog / Decisions
Added an Unreleased Fixed entry. No architecture decision is needed because this uses the existing backend-selection abstraction rather than introducing a new one.
Risk / Rollback / Migration
The behavioral change is limited to hosts where the hard-coded clonefile backend was unsupported. Backend selection now follows the existing platform policy; explicit backend requests are unaffected. Rollback is a normal revert. No data migration or API migration is required.
Follow-ups
A dedicated Linux CI lane can be considered separately now that ordinary workspace bootstrap no longer fails before execution.