Service product files
A product file with $type Service declares the work a Startup sells and warrants, its intake, steps, supply and default Outcome Contract.
A product file with $type: declares a Service: what the buyer sends, the steps, who checks each, and the default Outcome Contract.
products/catalog-audit.mdxCatalogmend's catalog auditoffers/catalog-audit.mdx$99 for up to 1,000 listings
Reference
| Key | Type | Holds | Required | Status |
|---|---|---|---|---|
$type | list | One or more of App, API, Agent, Dataset, Service | required | live |
nouns | Noun names | The Nouns it exposes; a Dataset holds Things of exactly one | live | |
verbs | Verb ids | The Verbs a Customer may call | live | |
interfaces | list | The Interfaces it ships on; every kind by default | live | |
work | Noun name | The work Noun it holds from intake until the Customer accepts | required | planned |
intake | list of { name, | What the buyer sends before work starts | required | beta |
coverage | list of sentences | What it delivers, for which inputs, stated before any charge | required | beta |
cadence | once, recurring or standing | Once per Order, on a period, or continuous and judged by rate terms | required | beta |
steps | list of steps | Each a Verb with its Function, doer, checker, assurance and legal floor | required | beta |
supply | list of { role, | Who does the work, each owned, wrapped or recruited | beta | |
contract | Outcome Contract terms | The default promise; an Offer may tighten it, never loosen it | required | beta |
ofRecord | string | The partner of record when a step needs a licensed practice | beta |
Examples
Minimal
---
$type: [Service]
intake: [{ name: listings, type: integer }]
coverage: [Online catalogs up to 50,000 listings]
cadence: once
steps: [{ id: fix, verb: Order.deliver, function: agentic, doer: delivery-manager, checker: 'evaluator: listing-fix', provides: graded }]
contract: { done: Order.delivered, accept: customer, window: P5D, remedy: [{ kind: redo }], earns: Order.confirmed }
---Catalogmend
---
$type: [Service]
intake:
- { name: storeUrl, type: url }
- { name: listings, type: integer, measure: Listings in the catalog }
- { name: sizeChart, type: file, required: false }
coverage: [Online catalogs up to 50,000 listings]
cadence: once
steps:
- { id: import, verb: Order.start, function: code, doer: integration-engineer, checker: 'evaluator: catalog-schema', provides: measured }
- { id: fix, verb: Order.deliver, function: agentic, doer: delivery-manager, checker: 'evaluator: listing-fix', provides: graded, after: [import] }
contract:
done: Order.delivered
statement: Every listing error fixed or explained.
accept: customer
window: P5D
deadline: PT48H
remedy: [{ kind: redo, within: P2D }, { kind: refund }]
earns: Order.confirmed
---
Every listing error fixed or explained within 48 hours.What it builds
The ServiceBuilder compiles the file.
- the order form from
intake, in the Portal and as the inputs a buyer's agent sends - each step as an Action run by its doer and graded by its checker, never the doer
- the publish check:
Offer.publishrefuses an Offer whose remedy or basis the steps cannot back - the Portal, the supplier app for recruited
supply, and the review queue forhumansteps
Good to know
- The book is Service; its reference lists every Verb.
work, a work Noun of its own, has statusplanned; the work states live on the Order.