wsg coordinates isolated jj workspaces and reusable workers to turn Linear tickets into changes and pull requests. Its language separates where work happens, what executes it, and how dependent tickets progress.
Repository: A jj project whose Workspace registrations and Worker Pool are managed as one unit. Avoid: Current checkout, working directory
Repository Root: The canonical location of a Repository and its Default Workspace, regardless of the Workspace from which wsg is invoked. Avoid: Current Workspace root
Workspace: A named jj working copy registered with a Repository. Avoid: Worktree, checkout
Default Workspace: The protected Workspace at the Repository root. Every Repository has exactly one. Avoid: Primary workspace, root workspace
Workspace Base Directory: The location where wsg expects every non-default Workspace belonging to a Repository. Avoid: Repository Root
Ad Hoc Workspace: A user-created Workspace that is independent of the Worker Pool and cannot receive a Dispatch. Avoid: One-shot workspace, Worker Workspace
Worker Workspace: A Workspace allocated to one Worker and reused across that Worker's Runs. Avoid: Ad Hoc Workspace
Missing Workspace: A registered non-default Workspace that is unavailable at its expected location. Avoid: Unknown Workspace
Worker Pool: The Repository-scoped collection of reusable Workers available for parallel work. Avoid: Queue, worker farm
Worker: A reusable execution slot backed by a Worker Workspace. A Worker accepts at most one Ticket at a time and is distinct from the Agent Runtime that executes it. Avoid: Agent, Workspace, process
Worker ID: The stable identity of a Worker across Runs and resets. Avoid: Worker Alias, Worker Name
Worker Alias: An optional display label for a Worker that does not change its identity. Avoid: Worker ID, Worker Name
Agent Runtime: The external coding agent selected to execute a Run. Avoid: Agent, Worker
Run: One execution attempt by an Agent Runtime in a Worker Workspace. A Run may finish in Done or Failed, or be abandoned by Reset. Avoid: Agent Session, Worker
Agent Session: The conversational context maintained by an Agent Runtime. One Agent Session can continue across multiple Runs on the same Worker. Avoid: Run, Worker Session
Worker Status: The lifecycle state of a Worker: Idle, Busy, Done, or Failed. Reset returns a Worker to Idle. Avoid: Sub-issue Status, Linear status
Idle: The Worker Status for a Worker available to accept a Reservation.
Busy: The Worker Status for a Worker reserved for a Ticket or executing a Run. Avoid: Running
Done: The Worker Status for a Worker whose latest Run completed successfully. Avoid: Merged
Failed: The Worker Status for a Worker whose latest Run did not complete successfully.
Reservation: The capacity allocation that pairs Tickets with Idle Workers before their Runs start. A Reservation changes Worker availability but is not itself a Dispatch. Avoid: Dispatch, launch
Reset: The operation that clears a Worker's retained assignment and returns it to Idle, terminating an active Run if present. Avoid: Reclaim, kill
Follow-up: A new instruction sent directly to a Worker that is not Busy, outside a Ticket's initial Dispatch. It continues a prior Agent Session when possible and otherwise begins a fresh one. Avoid: Resume
Ticket:
A Linear work item selected for implementation and identified by a key such as AMBA-42.
Avoid: GitHub issue, task, job
Ready Ticket:
A Ticket selected from Linear because it is in the Todo workflow state and carries the configured dispatch label.
Avoid: Ready Sub-issue, ready issue
Parent Ticket: A Ticket used to organize its direct Linear children into a Dispatch Group. When it has no children, it can receive a Direct Dispatch itself. Avoid: Epic, parent issue
Sub-issue: A direct Linear child of a Parent Ticket included in that Parent Ticket's Dispatch Group. Avoid: Sub-ticket, child issue
Blocker: A sibling Sub-issue identified as the prerequisite of another Sub-issue. Avoid: Dependent
Dependency: The directed relationship from a Blocker to the Sub-issue that waits for it. Avoid: Blocker
Dispatch: A request to route a Ticket into execution, either directly on a Worker or through a Dispatch Group. Avoid: Reservation, launch
Direct Dispatch: A Dispatch that assigns the requested Ticket to one Worker and starts its Run without building a Dispatch Group. Avoid: Orchestrated Dispatch
Orchestrated Dispatch: A Dispatch that organizes a Parent Ticket's Sub-issues into a Dispatch Group and directs their execution in dependency order. It does not run the Parent Ticket itself. Avoid: Direct Dispatch
Dispatch Group: The dependency-aware execution progress of the direct Sub-issues associated with one Parent Ticket. Avoid: Batch, Worker Pool
Dispatch Wave: A set of Sub-issues whose Dependencies permit them to receive concurrent Direct Dispatches. Avoid: Batch
Stacked Pull Request: A pull request based on a prerequisite Sub-issue's change rather than directly on the Repository's main line. Avoid: Independent pull request