What every App needs
The thirteen App types read together: the mechanisms they share, what stays specific, and what any App definition must be able to say.
Every capability recurs in most of the thirteen App types, and each type shapes it by its own work. Search is a commodity in Admin and the product in a directory. Numbers are a projection in the developer portal and the work itself in the Operating review.
Two layers now carry most of the difference between types. The work layer runs through the Worklist, the delivery and dispatch console, the marketplace and the agent console. The measurement plane runs through all thirteen, with a different measurement policy in each.
Numbers are work. In every type, measurement carries Tasks (define a Metric as a Change, review, watch, release), clocks (horizons, period locks) and authority (who sets a target, who releases a pack). That is why dashboards could not stay a row of Views.
Shared mechanisms
Shared means the same records or the same contract, not a similar screen.
| Mechanism | What it is |
|---|---|
| Party relations on a record | A record names its parties: requester, performer, payer, subject, approver, watcher, steward, integrator, and protected, adverse and principal parties. The relation, not a Role flag, decides what each sees and does. |
| Several Apps over one record set | Each side gets its own App, projected from the same records. The Task store feeds six types. |
| Lifecycles with a ball and a clock | Typed states, who acts next, a pending reason, often several machines on one record. Work terminates; the subject it acts on, such as a facility or policy, does not. |
| A named Verb as the only write | Inputs, a reason, a stakes class, an inverse, a refusal that names what refills it. A Verb may be advisory: one actor proposes, a Gate commits. |
| An authority envelope | Mandate, Limit, Approval, delay windows by decision class, floors and autonomy rungs, enforced below every Interface. Who may set a target or release a pack are envelope entries. |
| A ledger with separate moments | Collect, earn, hold, release, reverse and remit as distinct postings, a merchant of record per line, funds held for others on their own stack. |
| Evidence and audit as records | Frozen on submission, bound to what was shown; the audit kept apart from the timeline. |
| One visibility check | Search, notifications, digests, exports, webhooks, AI answers and aggregates all pass it, including the grain of a Metric. |
| Machine renderings from one definition | API, MCP, Markdown, JSON and webhooks render the same Views and Verbs. |
| Channels with content rules | Email, push, SMS, Slack and Teams render Tasks and Events, with less content where a vertical requires it; push aggregates to a count. |
| An account plane | Identity across Businesses, organization, members, keys, billing; screens may sit in another owner's portal. |
| Versions with Test and Live | Running work keeps the Version it started on; Metric definitions are versioned too. |
| Keep everything | Delete means retire, recorded and undoable; lineage replaces reopen. |
The work layer
| Mechanism | What it is |
|---|---|
| Work envelope with staged reveal | A teaser before claim, a disclosure sheet recorded when viewed, the packet after clearance, a price fixed at post |
| Propose, then Gate | The performer files a proposal or a completion claim; a Gate holding the principal's bounds commits or refuses verbatim |
| Typed completion evidence | Each Task declares what closes it: a scan, a photo, a signature, an approval, an Evaluator's verdict |
| Presence | Site, Time Window, check-in, an attestation grade on the actor |
| Eligibility | Binary predicates at claim, apart from authority, that no score crosses |
| Dispatch and linked work | Dispatch is the only birth of a Task; chains, templates over sites, and a field visit linked to a desk decision |
| Staffing apart from escalation | Who fills a Role, what the law reserves, clock ladders and authority asks are four separate declarations |
| Reserved-act catalog | Acts reserved by jurisdiction, profession and act class, consulted before any agent, with typed cures |
| Duty with a named holder | Every live clock names its holder; vacancy is an alarm |
| The performer's Register | A subject-owned record built only from settled outcomes, allowed only where the measurement policy permits |
| Offline capture | Facts append and de-duplicate by id; Verbs that change records replay against a Version; money never queues |
| Delegation and envelopes | A Customer delegating to the Business; a firm or union holding member-owned grants; outside performers behind a vendor rail |
| Utterance gating | Every outbound message passes a rule pack chosen by the recipient's relation and jurisdiction |
| Typed waits | A pending reason plus the named act and party, as a versioned public contract |
| The acting and reporting entity | Each Verb, money line, reading and Edition names the legal entity |
| Obligations | What the Business owes governors, each with a statutory clock, often created when a Metric crosses a threshold |
The measurement plane
| Mechanism | What it is |
|---|---|
| Metric definition | Declared over named Events or Entries, never typed in, with unit, polarity, additivity, grain, window, freshness, empty-denominator rule, counting guards, one accountable Role and a Policy |
| Honest readings | Each number carries its basis, asOf and presence: absent, withheld, unconfirmed, provisional, unset, failed and zero stay distinct |
| The View address | Scope, Role, window, environment, asOf and Policy resolve to one reading, rendered for agents within a token budget, as JSON and as screens |
| Goals and the review cadence | Goals cascade; progress and pace are derived; a human override carries a reason; a review ends in a Decision; each View declares a goal or an evidence register |
| Watch, then act | A condition fires once on the edge and acts only through a Verb inside the envelope: open a Task, change a rung, pause, brake |
| Drill path and questions | Every number resolves to its formula, Events and Actions; a question routes to a declared Metric, and a model never writes a figure |
| Reports and Editions | A Report is a standing definition with an owner, audience, schedule and releaser; each run leaves a receipt; an Edition freezes at send |
| Sealed readings | A Proof binds the query, range, definition Version and a records hash, rerunnable without an account; a basis change is a boundary |
| Forecasts | Typed, with method, interval and read date; they can set state and are scored |
| Measurement policy | Who may be measured, by whom, at what grain, for which uses, per subject kind, relation and audience, enforced where queries are built |
| One event pipeline | Declared Events feed Metrics; telemetry is not the ledger; the vocabulary is governed; every read carries its client class |
| Experiments | A Hypothesis on every change of consequence; assignment by hash; floors are never variants |
| Evals gate releases | Suites with provenance, runs pinned to Versions, gates that release an agent's rung or a Dataset Version |
| Flow and activation | Activation per Persona and Offer, derived in every Customer-facing type |
| A reading that releases money | An Outcome Contract settles on a sealed reading both parties can rerun |
The measurement policy
| Subject | Rule |
|---|---|
| Employee under an employer | No rate, duration, utilization, attainment or per-person View; work is read from work, never from a person; the regime is fixed at build |
| Independent performer | Its own Register from settled outcomes, shown to it, used for routing, never sold to an employer |
| Agent | Measurable in full, except a rate on a key a named human deputized |
| A seat | An agent-filled seat's review in full; a human-filled seat's review is per-person attainment, a recorded conflict |
| Customer | Named only in owner-private renderings; pooled above a floor elsewhere |
| Visitor, Prospect | Company or person grain under consent, one Suppression across related Brands |
| Business, resource | Measurable; utilization of a room is not utilization of a person |
The rule covers dashboards, exports, Reports and AI answers, not only screens. Regulation reaches it: AI that allocates or evaluates work is high-risk in the EU, and every chart needs a non-visual rendering.
What stays specific
| Type | Carried only by it |
|---|---|
| Developer portal | Exactly-once metering against real-time Limits; keys as a security product; version pins; the Customer's usage with a typed projection |
| Party portal | Acceptance under an Outcome Contract; the party relation set and its legal narrowing |
| Worklist | One settle contract across registers; the regime as a build-time constant; no surveillance by query direction; offline per Verb |
| Operating review | The review that ends in a Decision; target authority; the agent context block as a first rendering; owner-private scenarios |
| Admin | Editing the Definition, Metric definitions included; retire, merge and restore; import mapping; view-as sessions |
| Agent console | Releases gated by evals; rung, decision class and scope; session takeover; seats in the Customer's tools |
| Directory | Claims; facts with attestation and freshness; placement inventory; rights of subjects who never signed up |
| SaaS workspace | Views as runtime data; local-first sync; tenant schema; the sharing graph; operated tenancy |
| Marketplace | Liquidity per segment; five matching modes; reviews revealed together; money shapes a take rate cannot express |
| Delivery and dispatch console | Dispatch forms; the deadline ladder; state through a Gate; the oversight ratchet; the owned-edge desk |
| Booking | Availability algebra; atomic holds across several capacities; three time zones; money that depends on when |
| Storefront | Order sub-machines with a per-line ledger; inventory reservation; tax and merchant of record; reverse logistics |
| Disclosure room | Release with sign-off; per-counterparty access; keyless verification; regulated holder content; consents with quorum |
Look-alikes and colliding words
- Inbox names three things: notifications, Tasks waiting on me, and triage. The Worklist is the Task one.
- The Register is not a dashboard. It is a record with inputs, an owner and projections; a per-person dashboard over the same Task store is what the measurement policy refuses.
- Capacity is computed four ways: availability algebra, credential by jurisdiction by day, inventory levels, Limits per call. They share an atomic hold with a time limit, not an engine.
- Per-person numbers are refused for employees, core for an independent performer's own Register, measurable for agents and owner-private for named Customers.
Some words block one shared definition until a curator disposes of them:
- Dashboard, with five senses: an App kind, the developer portal, the view of a scope, a step of a Flow, and a portal mount;
- Review, with five; Report, with four; Watch, with four;
- Task, Worklist, Register, Attestation, Mandate and Claim, each with three or more;
- Consent: a person's grant for one Purpose, or a board's vote;
- Access level, held by a Worker, which a Customer's members are not;
- Scorecard, retired in favour of Role Review;
- hold, evidence, supplier, release, seat, stage, service and variant, as before.
Business is the genus of Startup, so startupbuilder.dev's entry listing it as an avoided synonym of Startup reads as superseded.
What a definition must say
None of these chooses a syntax.
| Area | A definition can say |
|---|---|
| Where it sits | It attaches to a Business, and Startup-layer data changes what is live and who answers without changing the type. Records are shared, and an App is one side's projection, per relation, per stage and per field; withheld differs from absent. |
| Lifecycles and time | Typed state machines with who acts next and a pending reason; state derived from a journal. Every clock declares what it counts, whom it pauses on, its class (statutory or internal) and what happens at expiry. |
| Work | A Task names its evidence type, and the Gate refuses any other shape. A performer's Verb may be advisory. Work is born only by dispatch, can link across registers and outlives no terminal. A claimable unit declares its posted price and pay basis. |
| Acts and authority | Each Verb's inputs, reason codes, stakes class, inverse and refusals with their refill class. Reserved acts by jurisdiction. Authority is enforced in the runtime; who may sign a scope depends on the scope. A deployment can fix rules at build time. |
| Money, evidence, visibility | A ledger with distinct moments, a merchant of record and an acting entity per line; reversals first-class; money Verbs never queue offline. One visibility check everywhere, aggregates included. |
| Numbers | A number is a reading of a registered Metric at an address, never typed in, with governance declared. A rendered number is honest. What may be measured about whom is declared and enforced where queries are built. A View declares its register. Reports and Editions are records, and outside readers get sealed renderings, never live Admin access. |
| Renderings and channels | Every View has machine renderings from the same definition, including the agent's context block within a budget; channels render Tasks and Events under content rules. |
| Change over time | Definitions are versioned; a base plus an overlay that only tightens; user-authored Views, saved queries and watch rules are data that survive schema change; delete is retire. |
| Shape of a type | A type is parameterized by axes, so variants compose: relation, register, regime, pay basis, device and grain for the Worklist; party relation for the portal; edge and steward for the console; money shape and employment edge for the marketplace. Each type starts small and wakes capabilities by trigger. One shell composes several types; most screens generate, with named slots. |
Open: the definition
An earlier, unfinished App definition holds entities, functions of four kinds (code, generative, agentic, human) and workflows. Its four kinds match the work layer's four kinds of performer, and its human function is the seed of the Worklist, not the Worklist.
Entities live inside the App, so two Apps over one record set duplicate them. A human step is a function that returns, agents are members of the App rather than Workers filling Roles, and goals are free strings no Metric can read.
Of the 78 requirements the tables above condense, it touches 9 and none in full. The work layer and the measurement plane are where the types now differ most, and it holds neither.
Better pieces exist apart from it. A Noun-first definition puts Verbs on the Noun. business-as-code's Business() gives the root, its Organization carries approval chains, and it holds goals, KPIs and OKRs. They are data only, with values typed in and polarity guessed from a Metric's name, so joined as they stand they contradict the honest-reading rules.
These prototypes answer what the definition must decide. Each is types plus an interpreter, a ledger or a query guard, tested against the studies' unhappy paths, and none needs a UI framework.
| Question | Smallest prototype |
|---|---|
| Can one record-and-Verb definition yield several side projections? | One services-as-software Business written twice, as types only, with four projections including its own Operating review. Count duplicated declarations. |
| Can one lifecycle notation hold concurrent machines, the ball and derived state? | Encode a storefront Order, a booking with its payment, a delivery work item, a Task over its Action and a facility with its applications. |
| Does one clock term cover every deadline? | A term with what it counts, whom it pauses on, its class and an expiry of cancel, proceed, escalate, accept or retract. |
| Does one measurement guard hold every per-person view? | Run a performer's Register, a firm roster, a team queue, capacity per credential, a Role Review of a human seat and a deputized agent key through one guard; output pass, own, withheld or fail per audience. |
| Does one Task envelope carry five registers? | A pick, an attested filing with a decline, a closer's span, a refund approval and a field visit with check-in through one settle contract; build a frontline deployment without the approvals mode. |
| Does a holder need its own type? | One reading with a Key Result at pace and an obligation; render it for the founder, then release it as an Edition and check it needs records a View does not hold. |
| Does a Policy travel with the number? | One Metric read for the founder's week, a holder Edition and a sealed Proof; check they reconcile and verify offline. |
| Can a watch change autonomy safely? | A watch that drops an agent from full to assist; check the Decision, the re-arm and the next context block. |
| Do snapshots survive late refunds? | Three snapshots, a late refund, a basis change; refuse the delta across it and print an errata line. |
| Do release, correction and revocation reach the right readers? | One investor update to three holders, a correction, and one access revoked. |
| Does one hold serve every engine? | A multi-capacity hold raced by two bookers, reused for a shift, inventory and a Limit check. |
| Do Order states plus a work record carry collect, earn and reverse? | Postings for a service, a goods Order with partial refund, a refund after payout, a zero-take route and a flat fee. |
| Can a derived worklist bind an approval to what was shown? | One refund approval with the amount changed between display and settle. |
| Can the founder's stream cross tenants safely? | Two Startups and three provider Businesses as a union of per-tenant reads that never join records. |
| Can a Role filling carry an agent's seat? | One hired agent in two tenants, checking that no Memory crosses, then let go. |
| Do tenant Views survive a vendor rename? | A vendor v1, a tenant field, View and saved Metric query, then a v2 that renames the field. |
| Is a type a definition-level concept or a preset? | Build the operator console, the Operating review's shell and an owned-edge desk from shared parts only. |
| Are the watch-listed candidates types? | Build a demand console and a dataset release console from existing types' parts, and list what none has. |
| How does each type show a data request truthfully? | One data-request record rendered in Admin and a portal, using only the recorded route for erasure. |
No App() syntax page exists until these answer.