Skip to main content

User Asides (parallel work tracks)

Consumer guide

Start with Parallel Work Tracks for the full Grok Build + worktree + aside mental model. This page is the MCP/state reference.

User asides are parallel work tracks you declare to the lead agent — like git worktrees for agent work. They are not AsideContext (internal orchestrator observation registry).

Concepts​

TermMeaning
User asideScoped goal with its own plan, branch/worktree metadata, a.* todos
AsideContextIn-memory MCP subcontext (spawnAside) — implementation detail

State layout​

.xray/state/
lead-dev-plan.json # main thread
asides/
suit-nft.json # aside definition + plan
_active.json # which aside receives spawns

Todo ids are namespaced: suit-nft.a.1.1 (not global a.1.1).

MCP usage (no new tools)​

Intake​

xray-orchestrator → analyze-complexity:

{
"userAsideId": "suit-nft",
"userAsideTitle": "Suit-certified NFT mint",
"worktree": "../suit-nft-worktree",
"branch": "feat/aside-suit-nft",
"tasks": [
{ "description": "Groover registration proof", "type": "research" }
]
}

Activate existing aside​

orchestrate-task:

{ "description": "work aside", "userAsideId": "suit-nft" }

Resume main thread​

{ "description": "resume main", "clearActiveAside": true }

Spawn routing​

When an aside is active, PreToolUse spawn gate matches todos on {asideId}.a.*. Session-boot exposes activeAside, asideWorktree, asideTrapSignals, asideConferRecommended.

Config​

features.json → multi_agent_orchestration.user_asides.enabled (default true).

Accepted limitations​

LimitationRationale
Worktree cwd enforced on spawnPreToolUse denies aside spawns without cwd / working_directory matching aside.worktree when project root ≠ worktree. Lead must pass cwd on Task/spawn_subagent.
Single active aside per workspace_active.json is workspace-scoped; one parallel track at a time. Use clearActiveAside before switching.
Unscoped activationIf setActiveAsideId runs without sessionId, any session may route to that aside until cleared (discouraged; always pass sessionId on intake).
Synthesis writes still blockedAside spawns bypass main synthesis checkpoint; main-track writes remain blocked until synthesis clears.