Run your Service

The running jobjob_7Hq2 · accepted · document.fr-CA.pdf · $49.00 final

Running a Service once it is live, from the owner's seat. Each alarm runs the response your files name, your coding agent acts within the ceilings you set, and the owner console lists only what is left, each item with its control. Every control is a CLI and API call, and every threshold is a key you deploy.

Money releases on the facts each Service names, with no hand of yours. Running the business is your files' job first: each alarm runs the response you wrote, your coding agent takes what the files leave within the ceilings you set, and the owner console lists the rest under needs you.

api.lawyer, a week after an incident its files answered on their own:

Run
open https://api.lawyer/console   # Monday 16 Nov, 08:00
magic values: none
api.lawyer · live 2026-11-09.1 · Team · this week 96 matters · charged $31,404.00 · attorneys' own fees $15,925.00 · AI $118.60 · cover and processing $1,148.00 · you $14,212.40, less the take
  needs you     4 · each with its control
    line        docket-watch.ack clears the high bar: 0 changes in 1,206 acks · frees $763.80 a month · apply to move it to a sample
    support     1 refund request, 1 dispute that sends itself 17 Nov, 1 contest to rule
  done for you  2 · on the audit log
    respond     9 Nov 09:40 · quality.alarm on trademark-response.draft · rerouted to attorneys until 14:20 · inc_4Lp1 closed, $4,045.68
    agent       9 Nov · moved contract-review.flag back to AI alone, then deployed 2026-11-09.1 with the draft pinned to a build
  quiet         no alarm on quality, the Pool, spend or limits · 0 holds · suite green on 2026-11-09.1
    budgets     trademark-response 71% of its 28-day send-back budget left · every other Service over 90%
    next line   none open: the other 7 people on the line hold reserved acts · their act time fell 18m → 11m this quarter
    dates       0 at risk · next 30 days: 41 office dates, each with an owner
  ran alone     92 matters delivered with no hand of yours · 312 thread questions answered by AI · 0 refusals charged

Every line under needs you carries its control. Everything under quiet has an alarm that fires before it needs you, and the budget it has left.

Run
npx services.dev console --since 90d --live
magic values: none
api.lawyer · live · 17 Aug → 16 Nov · 1,104 matters on 3 versions
  AI alone   steps AI committed with no person: 61% in August → 78% in November
  you        190 minutes a week on the console in August → 35 in November
  acts       412 attorney acts, each signed · reserved acts never move
  line       2 moved down, each from a proposal you applied: docket-watch.check to AI alone on 14 Sep, contract-review.flag to AI alone on 19 Oct
             1 reverted on its own: contract-review.flag, 26 Oct, the week its bar broke · moved again 9 Nov
  margin     38% in August → 45% in November, after attorneys' fees, AI, cover and processing

Each line that moved came from a proposal you or your agent applied, and the one revert happened on its own (Move a step to AI).

YouPageThe callsPlan
take a version live, in stagesDeploydeploy, deploy --live --stages <shares> --hold <span>every plan; stages on Team
prove it before a buyer sees itTest and livetest-clocks create <time>, verify --test-clock <tc>every plan
change it under jobs in flightVersionsjobs repin --from <version> --to <version>, rollback <version>every plan
see where a job's time and money went, and who actedObservejobs trace <job>, audit --since <date>every plan
keep the work goodQualityquality <service>, evals run <evl> --against <version>evals on Team
let AI earn more of itMove a step to AIline <service>, line apply <service>Launch; holdouts on Team
keep your Pool filled and paidPool healthpools health <pool> --since 7d, pools standby <pool> --role <role> --in <region> --season <from>..<to>Launch
keep every date the world setsDates at riskclocks assign <clock> <member>, clocks satisfy <clock>every plan
stop the damage when something breaks, and close it on the recordIncidentshold <service>.<step>, incidents get <inc>every plan
answer buyersSupportjobs refund <job>, disputes get <dsp>every plan
know where the ceilings areLimitslimits, plan upgrade <plan>each plan's own

Each page shows the call, the event it writes, what the console shows, its plan and a moment from api.lawyer, apis.tax or api.forsale.

Every threshold the console holds you to is a key you wrote, so a change to how the business runs ships through a deploy like any other:

EventFires whenSet byThe answer
quality.alarma Service burns its send-back, delivery-time or missed-date budget too fast, as below; a missed date the world sets, on its first missslohold the step, or reroute it to people; respond: { hold: 'draft', to: 'attorney', pay: 120 }
spend.alarma step's AI a job passes twice its 30-day medianBrand.ai.alarmhold the step; respond: { hold: 'draft' }
ai.exhausteda job's AI reaches its budgetprice.aifund it, hand the step to a person, or end the job
ai.cappedthe brand's AI for the day reaches its ceilingBrand.ai.dailyraise it, or let AI steps wait for the next day
pool.alarm:claim_slowtime to claim passes its p90Pool.health.claim_p90raise a rung sooner; respond: { raise: 'sooner' }
pool.alarm:unreacheda Task no eligible member reachedon with every Poolinvite from the door, or widen the region; respond: { invite: true }
pool.alarm:no_eligibleno eligible member for a role and regionPool.health.no_eligibleoffer a standby seat, raise a rung sooner, or invite; respond: { raise: 'sooner' }
pool.alarm:overloadedclaimed hours pass a share of declared hours for a weekPool.health.loadoffer a standby seat
pool.alarm:payout_lateact to funds in a member's bank passes its p90Pool.health.payout_p90the payout's trace, on the console
pool.alarm:cover_lapsingcoverage on an act lapses inside its windowPool.health.coverrenewal, or the custodian ladder
clock.vacant, job.at_riska date no one answers for, or a job three-quarters through its withinclocks, price.withinDates at risk's controls
limit.reacheda key, a job or the brand reaches a ceilingBrand.limits, your planplan upgrade, or raise the key; your agent, by owner.agent.offers_up_to
line.readya step's evidence clears its barhuman.evidenceline apply; your agent, by owner.agent.line
line.reverteda moved line's bar breaks, a model change no eval carried, or a new slicehuman.evidencenone: it already moved back
holdout.founda person finds a defect on a holdout jobhuman.holdoutnone: the redo runs at no charge

quality.alarm reads a Service's objectives, with a 28-day budget for each. It fires when the budget burns 14 times too fast over both the last hour and the last 5 minutes, or 6 times over both 6 hours and 30 minutes, and never on fewer than 10 jobs. A missed date the world sets alarms on its first miss:

services/trademark-response.ts
slo: { sendback: '5%', delivered_p90: '5d', dates_missed: 0 },

respond runs in seconds, and Incidents shows it. owner.agent is the standing order for your coding agent on anything respond doesn't cover, and owner.notify says where each kind of news reaches you:

brand.ts
owner: {
  agent: { offers_up_to: 'team', hold_on: ['quality.alarm', 'spend.alarm'], line: { standard: 'apply', high: 'propose' }, reroute_pay_up_to: 150 },
  notify: { alarms: 'sms', needs_you: 'email daily 08:00', quiet: 'weekly' },
},

A reserved act is on neither list: no response and no agent reroutes it, moves its line or acts in it. What is left after both lists is yours. The audit log shows who did each act.

Several Services under one brand share one console and one ledger: your business.