Skip to content

Getting started

This is the operator’s tutorial. It walks through the path a directive takes from your input to actual shipped code, and where you intervene along the way.

You → write a Directive
Business CEO → routes it (decides scope + which depts engage + budgets)
Management → spins up Project, breaks into BuildRequests
Technology → answers BuildRequests, ships Capabilities
Coding harness inside that project → planner / worker / validator iterate
Marketing → pings about the Project as it nears launch

Three of those layers are on disk and observable in the UI. Your job is to write directives, occasionally answer escalations, and watch.

Open /papercup (admin). It redirects to /papercup/harnesses. You should see the embedded Harness Dashboard with a project picker that lists:

  • Department harnesses: org-business, org-rd, org-technology, org-management, org-marketing (harness_kind: "department")
  • Coding harnesses: sheets, restart, … (harness_kind: "coding")

If departments aren’t there, check ~/.restart-harness-projects.json. If the org files are missing, the system seeds itself on first request to any /api/org/* endpoint.

For each department you want running autonomously, open /harness/org-{dept}Director agent tab → toggle Auto: ON. Default interval is 60 seconds.

Director schedulers are server-side. Once toggled on they keep running with all browsers closed.

You can leave a director OFF and only kick it manually via the ▶ Run now button on the same tab.

Go to /papercup/directives+ New directive. Fields:

  • Title — short (“Build a real-time spreadsheet”)
  • Body — the spec. The CEO routes based on this; be concrete about scope, deadline, and constraints.
  • Prioritylow / normal / high. CEO weighs this when choosing scope.
  • Budget (cents) — total $ envelope. CEO allocates across spun-up projects.

Submitting POSTs to /api/org/directives and auto-emits a Directive kind message to Business with kind Directive.

Within one Business auto-loop tick (or after you click ▶ Run now in Business’s Director Agent tab), the CEO worker will:

  1. Read your directive
  2. Decide: which departments to engage, how to split scope, what budget per project
  3. Emit a Directive Summary (visible at /papercup/directives/{id})
  4. Spin up 1+ projects via spinup_project actions
  5. Emit Priority and BudgetAllocation messages to Management

Each spun-up project broadcasts a ProjectKickoff to all 5 departments.

5. Watch Management decompose + Technology build

Section titled “5. Watch Management decompose + Technology build”

Once Management has the project, its director iterates: emit BuildRequests to Technology for any reusable capabilities, send ProgressUpdates back to Business as state changes.

Technology answers BuildRequests with BuildRequestResponse (accept/reject) and ships Capability messages when the work lands. Capabilities auto-fan-out to every active project’s metadata.

If the project has its own coding harness (e.g. sheets), the actual code-shipping happens there. Switch the harness picker on /papercup/harnesses to that project to watch planner / worker / validator iterate.

Most of the time you don’t. Cases where you do:

  • Director loop stuck on the same decision — open Memory tab on that dept; you’ll see e.g. 5 consecutive NEXT_WORKER_CEO_MODE on the same message. Either edit the message status manually or pause the loop and update the director’s notes.
  • Charter rule needs adjusting — edit ~/.restart-org/charter.md directly (or PUT /api/org/charter). Directors re-read it on next prompt.
  • Project budget exhausted or stalledPATCH /api/org/projects/{slug} to update budget_cents or status.
  • Need to retroactively model existing work — see Operator conventions: retroactive seeding for the directive → project → CEO summary → messages order.
  • Emergency stop everythingPOST /api/org/admin/stop-all cancels all in-flight runs and persists autoLoop: false to every dept.
Want to see…Look at
What every director just didEach dept’s Director runs disclosure in /harness/org-{dept} Director Agent tab
Cross-org pulse (active runs, backlog, audit)Was on /papercup/health — folded into the Harnesses console (round 37)
Why this directive ended up as 1 vs N projects/papercup/directives/{id} → Summaries section (CEO routing notes)
Whether a project is hooked to a coding harness/papercup/projects/{slug} Overview → metadata.harness_slug
Audit trail (config edits, admin stops)~/.restart-org/audit.jsonl

See Operator conventions for:

  • _discarded/ folder pattern when retiring components
  • Backup before wiping ~/.restart-org/
  • Reserved-project quirks
  • Retroactive seeding order
  • BudgetAllocation accumulator gotcha