When no one claims

The running jobjob_7Hq2 · waiting · on approval · $49.00 held

A Task no one claims climbs a ladder, raising its fee and widening who may take it, and never past eligibility. Until someone claims it, the job waits on a claim, which is a state and not an error.

What happens to a Task no one claims?

It climbs a ladder. Each rung fires so long after the Task posted: a raise of the posted fee, then wider offers. Until someone claims it, the job waits on: 'claim'. That is a waiting state, not an error, and the owner console alarms while no member can reach it.

A Pool that writes no fill gets this one:

AfterRungDoes
2hraise 10% 2hraise the fee by 10% of the posted fee
4hwiden 4hopen the next tier down that is still eligible
8hfirms 8hoffer it to firms
12hstaff 12hoffer it to staff roles that hold the credential
at the capfill_cap: '50%'stop raising at 50% over the posted fee, or lower when the job's margin leaves less
the step's clockcancel the job at $0
  • A fee is raised, never lowered. Each raise is a share of the fee the Task posted at, and every act it buys is paid at the fee as it stands.
  • The brand funds raises, out of its own share of the job. The default cap is the lower of 50% and what the job's margin leaves, so a brand-funded raise never loses money. check fails fill_underwater on a cap that could.
  • A buyer-paid role is capped by the buyer. When a role's pay comes from the buyer, the buyer's policy.max_rush caps the raises, and check fails rush_uncapped without it.
  • A rung never widens past eligibility. A widen opens the next tier down that is still eligible. A rung that could offer a reserved act to someone without its credential fails fill_bypasses_reserved.
  • Passes can move it early. Once at least jump.min members have read the sheet since the last rung, and more than half of them passed for one reason, that reason's rung fires now: fee the next raise, scope or area the next widen. A quorum passing on timing moves the due date a day instead, and other never moves it. What a member sees captures one.
  • fill: false turns it off. The job waits for a claim, and the owner console alarms.

The legal example writes no ladder, so its Pool climbs the default one. Under a simulated market seeded tight, the ladder climbs before anyone claims:

Run
npx services.dev dev --members 12 --market tight --no-try
magic values: client.email = signs@example.test
  market              tight · 12 simulated signers in attorneys, each act labeled simulated · the fill ladder climbs before a review is claimed

At two hours the brand raises the fee 10%. At four the ladder widens to the next tier down, and a member there claims it at the raised fee and attests:

Call
→ POST /matters {"service":"contract-review","contract":"lease.pdf","client":{"name":"Ada Lovelace","email":"signs@example.test"},"client_region":"US-CA","max_usd":99,"test_clock":"tc_7Hq3","key":"fill"}
magic values: client.email = signs@example.test
← job_7Hq2 · waiting · on claim · $99.00 held · advise · tsk_7Hq2

→ POST /test_clocks/tc_7Hq3/advance {"to":"2h"}
← 2026-10-25T16:02:11.000Z
→ POST /test_clocks/tc_7Hq3/advance {"to":"2h"}
← 2026-10-25T18:02:11.000Z

# the record: task.posted → task.raised → task.widened → task.claimed → attested
  14:02 · task.posted · tsk_7Hq2 · $50.00 · dispatch cascade
  16:02 · task.raised · tsk_7Hq2 · $55.00 · raise 10% 2h · funded by the brand
  18:02 · task.widened · tsk_7Hq2 · opened reviewer · widen 4h
  18:02 · task.claimed · tsk_7Hq2 · mbr_7Hq4 · simulated
  18:02 · step.committed · advise · person · bar admission · US-CA · mbr_7Hq4 · simulated
  ladder  raise 10% 2h: raised to $55.00 · widen 4h: opened reviewer · posted $50.00, now $55.00

The buyer pays the price they were quoted. The member is paid the raised fee, and the raise comes out of the brand's share:

Call
→ POST /matters/job_7Hq2/accept
magic values: client.email = signs@example.test
← job_7Hq2 · accepted · flags.pdf · memo.pdf · $99.00 final
  ledger  +$99.00 · attorney's fee $55.00, sold by the attorney (rail member) · brand $44.00 · AI $1.26 · you $42.74
KeyWrittenLeft outDoes
fillFillRung[] | falseraise 10% at 2h, widen at 4h, firms at 8h, staff at 12hThe fill ladder, for a Task no one claims: each rung after so long since it posted. A raise is of the posted fee, never lowered; a widen opens the next tier down; firms and staff open to them; then the job cancels at $0 when the step's clock runs out. A rung never widens past eligibility. false waits, with an alarm.
fill_capPctthe lower of 50% and what the job's margin leaves, so a brand-funded raise never loses moneyRaises stop here, over the posted fee.
EventAudienceSays
task.postedmember, ownerA role step posted a Task at its fee, fixed now and never lowered, to its dispatch: or to the one member a client's direct named. Its reach says who it can be offered to.
task.unreachedownerA Task posted that no member reaches: eligible, but every one is outside what they declared, or no one is eligible. The owner console alarms; the ladder climbs on.
task.raisedmember, ownerThe fill ladder raised a Task no one claimed: a share of the posted fee, up to its cap, and who funds it. A fee is never lowered.
task.widenedmember, ownerThe fill ladder opened a Task no one claimed to the next tier down that is still eligible, or to staff who hold its credential.
task.due_movedmember, ownerA quorum of the members who read a Task's sheet passed on its timing: its due date moved a day.
check gateWhy
fill_bypasses_reservedA fill rung could offer a reserved act to someone who doesn't hold its credential.
rush_uncappedA role is paid from the buyer, its Pool's fill ladder raises the fee, and nothing caps what the buyer pays for it.
fill_underwaterThe Pool's fill_cap lets the ladder raise a brand-funded fee past what the job leaves: a job filled at the cap loses money.