fix(工作区): implicit next must not retarget via config.name fold - #62
Merged
Conversation
Implicit and --root next/briefing/repair keyed ads by profile name. A unique fold of that name to another registered alias produced a working --workspace selector for the wrong root, including bootstrap --yes. Advertise --root for the current workspace when the fold would resolve elsewhere. Fold twins still fail-closed; explicit unique --workspace stays canonical. Isolated Console omits a cross-root doctor ad. Co-authored-by: Dandre Yang <[email protected]>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Path-free --root next ads stay --workspace <profile> only when that name is unregistered. A shared default registry from earlier tests made the new retarget check flip those ads to --root. Each fixture now gets its own DYRO_HOME. Co-authored-by: Dandre Yang <[email protected]>
Dandre126
marked this pull request as ready for review
August 22, 2026 22:31
…e root Timeout repair after _config fails no longer emits briefing_command(alias). Registry read failure uses --root when config.root is known. Isolated unavailable cards pass record.root so the first-line doctor ad cannot select another workspace. Co-authored-by: Dandre Yang <[email protected]>
After _config fails, keep a doctor repair so JSON next is not an empty envelope. Do not attach --workspace; use --root only when this invocation already has a known root. Co-authored-by: Dandre Yang <[email protected]>
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.
P0 after re-board
f62f00e4(#59+#60+#61). New PR offmain. No version bump.Problem
Implicit /
--rootJSONnext/ briefing / repair ads were keyed byconfig.nameviacli.py:_briefing_command→ready_briefing.py:scoped_briefing_command→next_step.py:repair_commands.If that profile name uniquely fold-matched another registered alias (different root),
next.commandsbecame a working selector for the wrong workspace — includingmutation_available: trueanddyro --workspace <fold> bootstrap --yes.needs_linealready used_scoped_command→--rootwhen no alias is set. Repair / briefing did not. Fold-twin Demo/demo tests stayed green; this cross-workspace retarget was untested.Fix
hub.py:workspace_alias_retargets_root/same_workspace_root— unique fold that resolves to another root is a retarget. Registry read failure also cannot prove--workspacestays on this root.ready_briefing.py:scoped_briefing_command— collide or retarget or registry unread withconfig.root→--rootfor the current workspace. Unregistered profile names stay path-free--workspace. Unique fold for the same root stays canonical.cli.py:_timeout_repair_commands/_print_json_observation_timeout— after_configOSError/DyroError, never emitbriefing_command(alias)(--workspace Demo). Unscopeddyro doctorif no verified root;--rootonly when this invocation already has one._inspect_worker.py:_unavailable_summary— passroot=record.rootso the first-line doctor ad is not a bad--workspace Demo._workspace_ad/omit_colliding_workspace_commandomit a--workspacedoctor ad that would hit another root. Primary copy still does not invent doctor when the field is blank.tests/support.py:WorkspaceCaseisolatesDYRO_HOMEso path-free--rootnext ads are not flipped by a leftovertest-workspacerow from an earlier test.#60 stays closed
--workspacestill canonical.--workspace … doctorwhen recommendation.command is blank.Tests
--rootnext must not advertise--workspacethat targets B; must not advertise bootstrap/doctor against the other workspace.--rootConsole card must not advertise that other-root selector._configfails: no fold-matching--workspace.--rootfor this workspace, not other-workspace fold (including bootstrap--yes).rootomits the other-root--workspacedoctor ad.CI
f1cf0acPython 3.11–3.14 failed: leftovertest-workspacein a shared registry flipped path-free ads to--root.d84b742required GitHub Actions is green.85daa59required Actions failed: empty timeout repair broke the leftover JSON doctor envelope.09d3234required GitHub Actions is green (Python 3.11–3.14, wheel/sdist, Windows/macOS smoke, TypeScript protocol). Local: ruff clean,1089unittest OK.dyro/dyro-engineering-flowpreviews fail on this PR and onmainafter Resolve workspace aliases case-insensitively #60. Not required. This repo has no Vercel app; out of scope.Leave unmerged.