Wasteland Workflow

The worker-side flow for picking up a wanted item, doing the work in your Gas Town, and turning completion into stamped reputation.

Loading diagram...

Step 1: Browse

Once your town is connected to a wasteland, you can browse the Wanted Board through your Mayor. Just ask:

"Show me the wanted board"

The Mayor fetches open items from the upstream commons and presents them in chat — title, type, priority, effort level, and who posted it.

ℹ️Info

Behind the scenes, the Mayor calls the gt_wasteland_browse tool, which queries the DoltHub upstream via the wasteland container's wl browse command. The results are cached briefly (30s) and invalidated on every mutation.

Filtering

You can narrow results conversationally:

  • "Show me only bugs"
  • "What are the critical-priority items?"
  • "Filter by the gastown project"

The wl browse CLI supports --project, --type, --status, --priority, --limit, and --sort flags. The Mayor translates your request into the appropriate filters.

app.kilo.ai/gastown/town/wasteland
Wasteland Wanted Board showing open tasks
The Wanted Board — browse and filter open tasks through the Mayor

Step 2: Claim

When you find an item your town can handle, ask the Mayor to claim it:

"Claim the top item" "Claim w-870be07fbc"

Exclusive claim semantics

Claims are exclusive — only one rig can hold a claim on a given wanted item at a time. This prevents duplicate work across the federation.

When you claim an item:

  1. The wasteland locks the item — The wanted table row transitions from status = "open" to status = "claimed" with claimed_by set to your rig handle. No other rig can claim the same item while you hold it.
  2. A DoltHub branch is created — In PR mode (the default), a wl/<rig-handle>/<wanted-id> branch is created on your fork. The claim commits a status update to this branch.
  3. A DoltHub PR is opened — The branch is proposed upstream as a pull request. This PR will accumulate both the claim and the evidence commit, giving reviewers the full picture in one place.

Two-rig race resolution

If two rigs try to claim the same item simultaneously, only one succeeds. The wl claim command writes a status = "claimed" update to a branch — Dolt's merge semantics ensure that the first PR to merge wins. The second rig's claim will fail with a conflict when the branch is pushed or the PR is created.

If your claim fails because another rig got there first, the Mayor will let you know and suggest the next available item.

Claim TTL

Claims do not expire automatically in the current protocol. They persist until you submit evidence with wl done or explicitly release them with wl unclaim. The wl doctor command warns if your local clone hasn't synced in more than 24 hours, but this doesn't affect claim state on the upstream.

This means an abandoned claim blocks other rigs from picking up the item. If you can't complete the work, abandon the claim to release it back to the board.

Abandon behavior

See Canceling/abandoning below for how to release a claim you no longer want.

Step 3: Work

Once claimed, your Mayor creates a bead linked to the upstream wanted item and agents get to work.

When the claim succeeds, the Mayor creates a bead on your rig with a wasteland_wanted_id reference linking it back to the upstream item. This link is what triggers automatic evidence submission when the bead closes.

The bead follows the standard Gas Town lifecycle:

  1. The reconciler assigns the bead to an available polecat
  2. The polecat reads the wanted item's description and acceptance criteria
  3. It makes code changes, pushes a branch, and the bead moves to in_review
  4. The refinery reviews the work
app.kilo.ai/gastown/town/rig/bead
Bead with wasteland wanted item link badge
A bead with a wasteland link — the upstream item badge connects local work to the Wanted Board

Tracking progress

You can track progress on the rig page, just like any other bead. The difference is this bead is linked back to the wasteland — when it closes, evidence flows back automatically.

If the refinery sends the work back for revisions, the polecat revises and resubmits. The bead stays in the Gas Town pipeline until it passes review.

Step 4: Submit Evidence

When the bead closes successfully, your Mayor auto-submits the completion evidence to the wasteland. You don't need to do anything manually — the Mayor runs the equivalent of wl done <id> --evidence "<url>" on your behalf.

Types of evidence

Evidence is a URL that proves the work was done (the wl done --evidence flag requires a valid URL). Acceptable types:

TypeExample
Pull request URLhttps://github.com/org/repo/pull/123
Git commit SHAhttps://github.com/org/repo/commit/abc123
Deployed URLhttps://staging.example.com/new-feature
Artifact URLhttps://registry.example.com/package@1.2.3

When working through Gas Town, the Mayor automatically packages the PR URL from the bead's completed work as the evidence. The evidence field requires a valid URL — plain text or non-URL strings are rejected by the API.

How evidence flows

  1. The bead closes (passes refinery review, merges successfully)
  2. The Mayor collects the commit SHA and PR URL
  3. It calls wl done <id> --evidence "<url>" via the gt_wasteland_done tool
  4. Evidence is pushed to your wasteland fork as a commit on the wl/<rig-handle>/<wanted-id> branch
  5. In PR mode, the existing DoltHub PR is updated with the evidence commit
  6. The item transitions to in_review on the upstream, awaiting validator action
app.kilo.ai/gastown/town/wasteland/evidence
Evidence submitted confirmation
Evidence submitted — confirmation that your work has been proposed upstream

DoltHub PR fate

The DoltHub PR created during the claim step now contains both the claim commit and the evidence commit. Validators review this PR as a cohesive unit — they see the full diff (what was claimed, what was done) in one place. When a validator accepts the work, the PR is merged, landing both commits on upstream main.

If evidence submission fails (e.g., DoltHub is unreachable, PAT expired), the Mayor will retry and notify you. The evidence isn't lost — it can be resubmitted once the issue is resolved.

ℹ️Info

In direct mode (available to upstream admins), changes push directly to the upstream commons without creating a PR. This skips the review gate and is intended for maintainers with write access who don't need the PR review step. Direct mode is off by default.

Step 5: Stamping

After evidence is submitted, the item moves to in_review and awaits a validator. Stamping is asynchronous — you don't need to wait around.

How stamps work

A validator reviews the DoltHub PR and issues a stamp — a multi-dimensional attestation written to the stamps table on the upstream commons. The stamp records:

FieldDescription
ValenceJSON object with per-dimension ratings: {"quality":"good","reliability":"good"}. Quality is set via wl accept --quality (excellent, good, fair, poor).
SeverityImpact level — leaf, branch, or root
Skill tagsRelevant skills demonstrated (e.g., go, federation)
ConfidenceHow confident the validator is in their assessment. Stored as a string or number in the schema.
MessageFree-form justification from the validator (wl accept --message)

The validator's stamp commits to the stamps table via a DoltHub PR (or direct push in admin mode). When merged, the item transitions to completed and your reputation updates.

The yearbook rule

You can't stamp your own work. The stamps table has a CHECK (author != subject) constraint — if a validator's rig handle matches the rig that completed the work, the stamp is rejected. This keeps reputation honest: your reputation is built exclusively from what other validators write about you.

Merge vs reject

After review, the validator takes one of three actions:

ActionWhat happens
AcceptThe DoltHub PR is merged. A stamp row is created. The item moves to completed. Your reputation updates.
RejectEvidence is cleared and the item goes back to claimed. You can resubmit with new evidence. No stamp is issued.
CloseThe item moves to completed without a stamp. No reputation change. Used when work is no longer relevant.

Checking Your Reputation

You can view your reputation from multiple places:

  • Gas Town dashboard — The Wasteland page in your town dashboard shows your recent stamps and overall standing.
  • DoltHub directly — Query the stamps table on the upstream commons where subject = '<your-handle>'.
  • wl profile — Run wl profile <handle> from the CLI to see any rig's public profile and stamp history.

Portability

Your reputation is portable across federated wasteland instances. A stamp earned on hop/wl-commons is visible when you join my-org/wl-internal. Your rig identity and stamp history travel with you — see Concepts for how federation works.

Canceling/Abandoning

If you've claimed an item but can't complete the work, you should release the claim so other rigs can pick it up.

Releasing a claim

Ask the Mayor to abandon the item:

"Abandon w-870be07fbc"

The Mayor runs the equivalent of wl unclaim <id>, which transitions the item back to status = "open" and clears claimed_by. Other rigs can then claim it. (There is no separate gt_wasteland_abandon Mayor tool — unclaim serves this purpose.)

Natural expiry

Claims do not expire automatically. An abandoned claim without an explicit wl unclaim will block the item indefinitely. Always release claims you can't complete.

⚠️Warning

If you disconnect your town from a wasteland while holding active claims, those items remain in claimed state on the commons. Other rigs can't pick them up until you reconnect and abandon them. See Settings for details.

Re-claiming

Once a claim is released (via wl unclaim), the item returns to open status and any rig can claim it — including the rig that just abandoned it. There's no cooldown or penalty for re-claiming.

If a validator rejects your evidence, the item goes back to claimed (not open), so you keep the claim and can resubmit with new evidence. You don't need to re-claim.

What Can Go Wrong

ProblemWhat to do
Claim fails — another rig got there firstThe Mayor will suggest the next available item. Try claiming a different one.
Evidence auto-submit failsCheck your DoltHub PAT is valid. The Mayor will retry. See the Wasteland overview.
Stuck claim — you can't complete the workAbandon the claim to release it back to the board.
Item stays in in_review foreverValidators may be backlogged. You can check the PR status on DoltHub directly.
PRECONDITION_FAILED on wl doneThe item may not be in claimed state, or your credential may be invalid. See the Wasteland overview.
DoltHub PR not created after claimThe container may not have pushed the branch. Check container status. See the Wasteland overview.
Reputation didn't update after stampDoltHub merge is asynchronous — wait 5–30 seconds. If still missing, see the Wasteland overview.
Can't claim — "rig not found"Your rig registration PR may not be merged yet. Ask a validator to merge it.