feat(console): registry-first run-anywhere overview with a mesh picker#198
Open
Lanzelot1 wants to merge 1 commit into
Open
feat(console): registry-first run-anywhere overview with a mesh picker#198Lanzelot1 wants to merge 1 commit into
Lanzelot1 wants to merge 1 commit into
Conversation
Lanzelot1
force-pushed
the
feat/console-anywhere
branch
from
July 8, 2026 08:56
ca881cd to
11fad76
Compare
A bare `cotal console` now resolves from the mesh registry only — a stray local .cotal/ can neither hijack the target nor block it (default-occupied) — and with several meshes registered the TTY opens a mesh overview of every broker; pick one to drill into its spaces, b to come back.
Lanzelot1
force-pushed
the
feat/console-anywhere
branch
from
July 8, 2026 09:13
11fad76 to
7236d8e
Compare
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
A bare
cotal consolenow resolves from the mesh registry only — never the cwd — so a stray local.cotal/can neither hijack the target nor block it withdefault-occupied("another mesh is running at …"). With several meshes registered, a TTY opens a mesh overview of every broker on the machine (space · server · mode · root); pick one to drill into its spaces,bwalks back up. Piped/--plainstill resolves a single target (current, else a clear ambiguous error), and--space/--server/--credsbehave exactly as before.@cotal-ai/workspace: newresolveRegistryTarget()(registry-only, no cwd) andregistryTarget(entry);resolveMeshTargetshares the registry tail.@cotal-ai/cli: newMeshPickerlevel above the space picker; per-mesh connect failures render inline in the picker instead of exiting the TUI; the same admin-mint + preflight + stale-prune rules apply on entry.Why
The console is the read-only run-anywhere view. Local-project-wins target precedence makes sense for write commands (
spawn), but for the console it meant a leftover.cotal/dir anywhere up the tree could block the whole overview.Verified
pnpm typecheck+pnpm testgreen; preflight/connect/view smokes pass; spawn-from-anywhere smoke extended with registry-only resolution checks (34 checks)..cotal/,cotal consolejoins the registered mesh instead of erroring; with two registered meshes the picker → space overview → space console → back chain works against a live broker.