Tax question
A taxpayer's question, answered by AI in the job's thread with its sources. An answer that tells them what to do is advice the rules reserve, so a signer from the Pool adopts it as written, revises it, or refuses it, and it goes out in the signer's name.
tax's wordsreturn is a jobtaxpayer is a subjectreview is a taskpreparer is a member
Most questions are facts: when an estimate is due, what a form is for. Some are advice: whether to deduct the van. The AI answers every one in the job's thread and cites what it rests on. The rules table reserves advise to a signer, so an answer that tells the taxpayer what to do waits for one.
cat services/question.tsimport { Service } from 'services.dev'
import { preparers } from '../pools/preparers.ts'
import rules from '../rules.ts'
// The AI answers a taxpayer's question in the job's thread, citing what it rests on. An answer that tells them what to do
// is advice the rules reserve: it waits until a signer from the Pool adopts it as written, revises it, or refuses it,
// and what the client reads goes out in the signer's name.
export default Service({
name: 'Tax Question',
description: 'A tax question, answered with its sources.',
input: { owner: 'party: who asks', ein: 'text: such as 12-3456789', question: 'text: such as Can we deduct the van?' },
output: { answer: 'text' },
rules,
subject: { kind: 'taxpayer', key: 'ein' },
roles: { signer: { pool: preparers, pay: 25 } },
talk: { with: 'owner', adopt: { by: 'signer', may: ['adopt', 'revise', 'refuse'], checklist: ['the authority cited says what the answer says', 'the facts it assumes are the facts in the thread'] } },
deliver: { answer: { by: 'ai', cite: 'the code, its regulations and the agency guidance it rests on' } },
price: 49,
})npx services.dev checkservices/question.ts · 10 lines · $49 per job, within 48 hours, charged on delivery.
bounds reserved advise to ptin, and cpa or enrolled agent: an answer that is advice waits for a signer to adopt, revise or refuse it
talk the AI answers the client · advice (advise, rules 2026-10) held for the signer, who adopts, revises or refuses it on a 2-item checklist, included, up to 3 answers · contact relays through the threadThe held answer posts to the Pool as a review for a signer, $25 an act. The signer reads the question, the answer and its sources, and does one of three things on a two-item checklist: the authority says what the answer says, and the facts it assumes are the facts in the thread.
| The signer | The taxpayer gets |
|---|---|
| adopts it | the AI's answer, in the signer's name |
| revises it | the signer's version, in their name, with what changed on the record |
| refuses it | nothing from the AI; the signer writes the answer, or says why there isn't one |
On the Tax Plan a question.asked event orders it inside the allowance, twelve a year. A bookkeeping agent asks the same way, and the answer waits for its signer:
→ tools/call get_return {"id":"job_4Ta5","wait":50}← job_4Ta5 · question · delivered · $0.00
answer held: it tells the business what to do, so it waited for a signer · adopted as written by mbr_8Ea1, Katherine Johnson, EA, in her own name
next list_return_messages {"id":"job_4Ta5"}Talk covers talk.adopt, and the rules table the advise row.