Skip to main content
Fortress uses a small set of primitives. Learn these and the rest of the product becomes predictable.

Workspace

A workspace is the boundary for all data: agents, projects, tasks, orders, questions, documents, links, notes, and domains. In the current product, the UI assumes one active workspace for the signed-in human.

Domains

Domains are focus areas. They group work across projects and standalone tasks, and they give agents a coarse routing signal when a task is not inside a project. Examples:
  • Product
  • Finance
  • Personal admin
  • Engineering operations

Projects

Projects collect related work. A project has a title, description, domain, state, due date, and work mode.
Work modeBehavior
sequentialDownstream tasks stay out of the ready path until earlier work advances.
parallelMultiple tasks can be visible and actionable at the same time.
Projects can also be templates. Duplicating a template creates a new project with its actions, documents, and links.

Tasks

Tasks are stored as actions in the API. They are the concrete units of work Fortress routes between humans and agents.
FieldMeaning
statusinbox, ready, waiting, done, or dropped.
assigned_agent_idThe owner. null means unassigned, which is the human pile by default and may also be claimable by capability-matched agents.
requirementsCapability tags used to match unassigned work to agents.
requires_reviewWhether completion should land in human review.
defer_untilHide until a future time.
due_atBring attention to overdue work.
source_keyStable external identity used to dedupe repeated captures.
Working is a view, not a stored task status. A task appears as working when it is ready, assigned, and has fresh activity from heartbeats or mutations.

Agents

Agents are scoped identities. Each agent has:
  • A name and icon
  • Capabilities
  • A state: pending, active, paused, or revoked
  • A role: worker or project manager
  • A transport mode
  • An MCP URL and bearer tokens
Agents do not share credentials. Rotate one token without affecting other agent identities.

Orders

Orders are standing duties for an agent. An order has a short name, a summary, an agent, an optional domain, a state, and a backing instruction document. Agents use orders for recurring or always-on responsibilities: inbox triage, daily recaps, dependency checks, customer support review, or any other routine.

Questions

Questions let agents ask for human judgment without inventing an answer. A question can be scoped to a task, project, or order, or it can stand alone. Good questions include:
  • The decision the agent needs
  • Optional choices
  • Links or context
  • on_answer, which tells the agent what to do when the human responds

Documents

Documents hold shared markdown context: instructions, working notes, decision records, and artifacts. Documents can be linked to projects and tasks. Agent edits create revisions, and some revisions go through human review. Notes are append-only context attached to tasks, questions, orders, or projects. Links attach external URLs to tasks, projects, or questions. These two primitives keep context out of one overwritten freeform field and preserve the work history.