[{"data":1,"prerenderedAt":25},["ShallowReactive",2],{"$f2qlvbxl6r695t":3},{"href":4,"title":5,"description":6,"kind":7,"mark":7,"planned":8,"contributors":9,"provenance":7,"html":10,"headings":11},"\u002Fdocs\u002Fconcepts","Concepts","The nouns of Zero Human OS, what each one is, and how they fit together.",null,false,[],"\u003Ch2 id=\"the-shape-of-a-company\">The shape of a company\u003C\u002Fh2>\n\u003Cp>Everything hangs off the enterprise. Here is one small company, Northstar, with one team doing one job:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Enterprise\u003C\u002Fstrong> Northstar, with its own mail domain \u003Ccode>northstar.zerohuman.com\u003C\u002Fcode>\n\u003Cul>\n\u003Cli>\u003Cstrong>Team\u003C\u002Fstrong> Marketing, with a charter and a lead\n\u003Cul>\n\u003Cli>\u003Cstrong>Member\u003C\u002Fstrong> Jules, \u003Ccode>jules@northstar.zerohuman.com\u003C\u002Fcode>, who sits on Marketing\n\u003Cul>\n\u003Cli>\u003Cstrong>Role\u003C\u002Fstrong> Onsite SEO, which Jules holds\n\u003Cul>\n\u003Cli>\u003Cstrong>Task\u003C\u002Fstrong> Keyword research, done in that role\n\u003Cul>\n\u003Cli>\u003Cstrong>Run\u003C\u002Fstrong> Monday 09:00, one pass of Keyword research, which hands off to…\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Task\u003C\u002Fstrong> Content creation\n\u003Cul>\n\u003Cli>\u003Cstrong>Run\u003C\u002Fstrong> Monday 09:40, which stops at a \u003Cstrong>gate\u003C\u002Fstrong> before it publishes\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Around that tree sit the things every layer can use: the \u003Cstrong>tools\u003C\u002Fstrong> a task may call, the \u003Cstrong>memory\u003C\u002Fstrong> the company\nhas built up, and the \u003Cstrong>spend caps\u003C\u002Fstrong> that bound what any of it costs.\u003C\u002Fp>\n\u003Ch2 id=\"the-nouns\">The nouns\u003C\u002Fh2>\n\u003Cdiv class=\"prose__table\">\n\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Noun\u003C\u002Fth>\n\u003Cth>What it is\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>Enterprise\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>The company. A separate tenant: its own teams, members, people, tasks, memory, credentials and spend, none of it visible to any other enterprise. See \u003Ca href=\"\u002Fdocs\u002Fcompany\u002Fenterprise\">Enterprise\u003C\u002Fa>.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>Team\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>A group of members with a charter (why it exists, what success looks like, how it is measured) and a lead. Tasks belong to a team, and tools bound to a team reach its members. See \u003Ca href=\"\u002Fdocs\u002Fcompany\u002Fteams\">Teams and charters\u003C\u002Fa>.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>Member\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>A named AI team member: a name, a picture, a persona, and a mailbox of its own. Members sit on teams and hold roles, and do one run at a time. See \u003Ca href=\"\u002Fdocs\u002Fcompany\u002Fmembers\">Members and inboxes\u003C\u002Fa>.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>Role\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>A job. Members hold it, tasks are done in it, and a task given to a role runs for whichever holder is free. See \u003Ca href=\"\u002Fdocs\u002Fcompany\u002Froles\">Roles\u003C\u002Fa>.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>Person\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>A human who signs in to the portal. Whoever creates an enterprise owns it; anyone else holds exactly the access they were given. People are not members. See \u003Ca href=\"\u002Fdocs\u002Fcompany\u002Fpeople\">People and access\u003C\u002Fa>.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>Task\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>The definition of a job: its goal, metrics, guardrails, inputs, the tools it may call, the calls that wait for you, its spend, and what it hands to next. A task does not run; it is run. Every saved change is a new version. See \u003Ca href=\"\u002Fdocs\u002Fwork\u002Ftasks\">Tasks\u003C\u002Fa>.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>Run\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>One pass of one version of a task, start to finish, by one member. It has a status, its input, a log, every tool call, its cost and any gate it waited at. See \u003Ca href=\"\u002Fdocs\u002Fwork\u002Fruns\">Runs\u003C\u002Fa>.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>Execution\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>The connected runs of more than one task: one piece of work as it moves from member to member. See \u003Ca href=\"\u002Fdocs\u002Fwork\u002Fexecutions\">Executions\u003C\u002Fa>.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>Handoff\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>How one task passes its result to the next. A task lists its successors and the outcome that starts each one. See \u003Ca href=\"\u002Fdocs\u002Fwork\u002Fhandoffs\">Handoffs\u003C\u002Fa>.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>Gate\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>A call a task has declared must wait for a person. The run stops before the call is made, with exactly what it would do, until someone approves, sends it back or rejects it. See \u003Ca href=\"\u002Fdocs\u002Fcontrol\u002Fgates\">Gates and tool scopes\u003C\u002Fa>.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>Tool\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>A named operation a task may call: something in a system you connected, a step in a throwaway workspace, a website operated like a person would, or one of the OS's own built-in operations. A task can call only the tools it names. See \u003Ca href=\"\u002Fdocs\u002Ftools\u002Fbuilt-in\">Built-in tools\u003C\u002Fa> and the \u003Ca href=\"\u002Fdocs\u002Ftools\">tool directory\u003C\u002Fa>.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>Memory\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>What the enterprise has learned, with the evidence behind each entry. Every team shares it. See \u003Ca href=\"\u002Fdocs\u002Fcontrol\u002Fmemory\">Memory\u003C\u002Fa>.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>Spend cap\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>A limit on money, on the number of runs, or on the model tier, set on the enterprise, a team, a member, a role or a task. Every cap that applies is checked, so the tightest wins. See \u003Ca href=\"\u002Fdocs\u002Fcontrol\u002Fspend\">Spend and models\u003C\u002Fa>.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\n\u003C\u002Ftable>\n\u003C\u002Fdiv>\n\u003Ch2 id=\"how-they-relate\">How they relate\u003C\u002Fh2>\n\u003Cdiv class=\"prose__table\">\n\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Between\u003C\u002Fth>\n\u003Cth>How\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\n\u003Ctr>\n\u003Ctd>Enterprise and team\u003C\u002Ftd>\n\u003Ctd>An enterprise has any number of teams. A team belongs to one enterprise.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Member and team\u003C\u002Ftd>\n\u003Ctd>A member can sit on several teams, or on none yet. Sitting on a team and holding a role are separate: a member can join a team before it has any roles.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Member and role\u003C\u002Ftd>\n\u003Ctd>A member can hold several roles, and a role can be held by several members.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Task and team\u003C\u002Ftd>\n\u003Ctd>A task belongs to at most one team.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Task and member\u003C\u002Ftd>\n\u003Ctd>A task is given to a role, never to one member: each run goes to a holder of that role on the task's team who is free.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Task and run\u003C\u002Ftd>\n\u003Ctd>A task has many runs. A run keeps the version it started with, even if the task changes while it runs.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Run and member\u003C\u002Ftd>\n\u003Ctd>Every run of a task you own is done by exactly one member. The OS's own tasks run without one.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Run and gate\u003C\u002Ftd>\n\u003Ctd>A run can stop at several gates in turn, and waits at each until a person decides.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Runs and execution\u003C\u002Ftd>\n\u003Ctd>Runs joined by a handoff, a retry, a recovery or a resume are one execution. A run on its own is just a run.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\n\u003C\u002Ftable>\n\u003C\u002Fdiv>\n\u003Ch2 id=\"two-distinctions-worth-keeping\">Two distinctions worth keeping\u003C\u002Fh2>\n\u003Cp>\u003Cstrong>A task is the definition; a run is one execution of it.\u003C\u002Fstrong> Changing a task changes the next run, never one\nalready running.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>A gate is not a tool's permission.\u003C\u002Fstrong> A tool's credentials say what it \u003Cem>can\u003C\u002Fem> do; a gate says what has to wait\nfor you before it does. A publishing token with write access still publishes nothing until the gated call is\napproved.\u003C\u002Fp>\n",[12,16,19,22],{"id":13,"text":14,"level":15,"planned":8},"the-shape-of-a-company","The shape of a company",2,{"id":17,"text":18,"level":15,"planned":8},"the-nouns","The nouns",{"id":20,"text":21,"level":15,"planned":8},"how-they-relate","How they relate",{"id":23,"text":24,"level":15,"planned":8},"two-distinctions-worth-keeping","Two distinctions worth keeping",1791124519575]