Workers
The 0.8.0 Workers page. Who serves each lane of an open Desk, last run, health, items waiting, gates to approve, the viewer's Desk id, and the owner's Release and Join settings.
Since 0.8.0. The page appears only when the Desk has a
meta/joincard, which exists only when the owner opened the Desk to join. See Join a Desk.
What it is
Workers (#/workers) shows the lanes of an open Desk and who serves each one. A lane is one job on the Desk that a person can serve from their own accounts and connectors, for example drafting replies from their own mailbox. The sidebar entry uses the users icon.
Why it exists
When more than one person serves a Desk, the owner and the joiners need one place to see that each lane is covered, healthy and not waiting on anyone. It is also where an owner ends someone’s lane and where a joiner finds the id they give the owner.
How it works
For each lane the page shows:
- The lane’s label.
- Who serves it. Names appear only when more than one person writes to the lane.
- The last run and its health.
- Items waiting and items done.
- Gates to approve. Only the joiner who serves the lane can approve a worker gate (see Gates and approvals).
- A Copy link control for a lane nobody serves, to send to a person who might.
The page also shows the viewer’s own Desk id with a Copy control. A joiner gives that id to the owner, and uses it as --by in the CLI.
Owner controls
| Control | Does |
|---|---|
| Release (with a confirm) | Writes people/<ownerId>/decisions/release--<laneKey> naming the holder. The release is final for that holder |
| Join settings | Opens or closes the Desk to new joiners (join.open). The same change is made in definition.json by join-settings |
If meta/owner has been changed by anyone but the owner, the page shows an “owner record mismatch” note and the owner controls stay off.
Worked example
Hiring Signals is open with one lane, sender, of kind mail-draft. The page shows “Sender: Alex Rivera, last run 2 hours ago, healthy, 3 waiting, 12 done”. A second lane with nobody serving it shows a Copy link. The owner releases Alex’s lane after Alex leaves the team; the lane then shows as unserved.
Reference
| Item | Value |
|---|---|
| Route | #/workers |
| Shown when | meta/join exists |
| Release writes | people/<ownerId>/decisions/release--<laneKey> |
| Store paths | workers/<laneKey> and its --health, --budget, --learning documents |
Common pitfalls
- Expecting the page on a Desk that is not open. Without a
meta/joincard there is no Workers entry. - Releasing to pause a joiner. A release is final for that holder. Re-admitting means the owner removes the release document.
- Approving a joiner’s gate as the owner. Worker gates are approved by the joiner only.