human: the line
Where a person comes in, if anywhere. Leave it out and AI delivers every job alone. Draw the line where you want a person, and where the work needs one, name the role and let the rules decide the act.
Leave human out and AI delivers every job alone. Add it and you draw the line: the point where a job goes to a person before it ships. Each form is one edit, and check reads it back.
// human: left outhuman: 'risky'human: 'always'human: | check prints |
|---|---|
| left out | AI delivers every job. |
'risky' | A person approves the jobs the review flags, before delivery. |
'always' | A person approves every job before delivery. |
{ when: job => job.input.to.startsWith('ja'), because: 'Japanese jobs' } | A person approves Japanese jobs before delivery. |
Your own rule says why in because. A sampled line checks a share of delivered jobs, falling while send-backs stay rare.
The rungs
Each step stands on one rung, from the most hands to none:
| Rung | human: | What a person sees |
|---|---|---|
| every job | 'always' | every job, before delivery |
| a sample after delivery | { sample, floor } | a share of delivered jobs, falling while send-backs stay rare |
| flagged, and a sample of the rest | { when: 'risky', sample } | the jobs the review flags, before delivery, and a share of the rest after |
| flagged | 'risky' | the jobs the review flags, before delivery |
| AI alone | left out | nothing: AI delivers every job |
| reserved | the act your rules reserve | every job, at that act. It never moves |
A step moves between rungs on the record: Move a step to AI.
A job at the line waits for a person, in your app or in the terminal:
npx services.dev devan agent ordered Translation at $49
job_7Hq2 · waiting · on approval · $49.00 held
record draft · ai | review · ai · pass
next npx services.dev approve job_7Hq2npx services.dev approve job_7Hq2job_7Hq2 · delivered · document.fr-CA.pdf · $49.00 charged
record draft · ai | review · ai · pass | approve · person
ledger +$49.00 · AI $0.84 · you $48.16
next npx services.dev accept job_7Hq2Only a person approves, in the app. An API key or an MCP tool that tries gets needs_a_person. To let the buyer decide instead, sell a person's approval.
Some work needs a credential. sign names it, in names the input that holds the job's jurisdiction, and before names the step the signer signs before:
export default Service({
name: 'Certified Translation',
input: { document: 'file', to: 'language: such as fr', country: 'jurisdiction: such as FR' },
output: { document: 'file', certificate: 'file' },
deliver: { translate: translation, certify: 'ai' },
human: { sign: 'sworn-translator', in: 'country', before: 'certify' },
price: { usd: 189, payout: 60, within: '3d' },
})npx services.dev certified-translation document=birth-certificate.pdf to=fr country=FR --max 189job_7Hq3 · working · $189.00 held
job_7Hq3 · waiting · on signature · $189.00 held
record translate · service · job_7Hq4 · $49.00 | review · ai · pass
next npx services.dev approve job_7Hq3npx services.dev approve job_7Hq3job_7Hq3 · delivered · birth-certificate.fr.pdf · certificate.pdf · $189.00 charged
record translate · service · job_7Hq4 · $49.00 | review · ai · pass | sign · sworn translator · FR | certify · ai
ledger +$189.00 · AI $0.84 · your Translation $49.00 · sworn translator $60.00 · you $79.16That line is shorthand for one role and one step. Licensed work grows it into Rules, your counsel's table of which acts are reserved to a credential, which is how a Service meets licensing by design; roles, who holds the credential and where; and a Pool, the people who fill a role.
The legal example's contract review, as check reads it:
npx services.dev checkservices/contract-review.ts · 16 lines · $99 per job, within 48 hours, charged on acceptance.
who An attorney admitted where the client is signs every memo before delivery. (rules 2026-10) The client consents first.
roles attorney · bar admission · from attorneys · $50 an act
bounds reserved advise to bar admission where the client is, in US-CA, US-NY and US-TX only · the attorney sells the fee · open send · refused litigateThe AI drafts and attacks the memo, and an attorney admitted where the client is advises. What a person can do lists each act, and Refusals and cures what every caller hears when the rules say no.
Every step has one doer. AI does every step it can, and each rung up is one line:
| Who does the step | One line | Paid | Plan | In apis.tax |
|---|---|---|---|---|
| Not a person | ||||
| AI | human left out | AI, at cost | Free | draft, check |
| Your code | by: a function | nothing | Free | compute, tentative |
| The buyer or a party | an ask | nothing | Free | consent, organizer, authorize |
| An outside system | a submit | its fee passes through, at cost | Free | pay, extend |
| The brand, on its own credential | and: { brand: 'efin' } | nothing | Every plan | file |
| A person | ||||
| AI, with your review | human: 'risky', or a sample that falls | nothing | Free · Launch with human: { sample, floor } | — |
| Your staff | a role with no pool | your payroll | Free | — |
| A Pool member | a role with a pool | pay per act | Launch | — |
| A credentialed person | rules, and a role that holds the credential | pay per act; their own fee only where a Rules row sets rail: 'member' | Every plan · Launch with Pool({...}) | sign, prepare |
api.lawyer's attorney sells advise on their own rail; apis.tax pays its signer $45 and $15 a jurisdiction an act. The Rules row decides, not the plan. check --who prints this for one Service.
| From | One line | Roster · rules · name members see | Placement | Plan |
|---|---|---|---|---|
| A Pool you rent | pool: 'gigs.expert/translators' | the operator's, throughout | theirs, on each Task it fills | Launch |
| Your own Pool | Pool({...}), at /<pool> on your brand | yours · yours · your brand | none | Launch |
| An existing door | door: 'gigs.expert' | the door's · yours · the door | the door's, on each Task it fills | Launch |
| Your own door | door: 'join.lingua.example' | yours · yours · your door | none | Team |
| Your Pool, sold | export on your Pool | yours · yours, for every importer | yours, paid to you | Scale |
Every source keeps one member charter that no Pool, importer or door can weaken.
| Brand | Where a person comes in | Door |
|---|---|---|
| lingua | nobody; AI delivers | none |
| api.lawyer | attorneys and patent practitioners, where the client is or anywhere | gigs.lawyer |
| apis.tax | a PTIN holder prepares, a CPA or enrolled agent signs, the taxpayer authorizes, and the brand e-files under its own EFIN | gigs.tax |
| api.forsale | no credential: a closer on every deal of $50,000 and up | closers.deals |