Skip to content

Projects ​

Use this page to browse projects visible to your current identity, create a project, and use a project's Dashboard, Board, and Orchestrations pages. Project access and configuration are owned by Projects & Config. The app does not grant access. To start a run, see Runs and sessions.

Choose a project ​

Prerequisites: Sign in through the Identity Broker. Your current identity and role assignments determine which projects are visible.

  1. Select Projects in the navigation rail, or open /projects.
  2. Find the project tile.
  3. Select the tile or its Open button.

Each tile shows the project name, project ID, state, revision, and your owner-confirmed role names, such as TenantAdmin, Owner, or Orchestrator. Each role carries its tenant or project resource scope, and the same names appear in project headers. These labels are informational; Projects & Config continues to check current owner authority for every protected operation. Overview also lists up to six recently updated active projects under Recent projects.

Expected result: The project's Dashboard opens.

Create a project ​

Prerequisites: Sign in with an identity allowed to create a project in the current tenant.

  1. On Projects, select Create project.
  2. In Project name, enter up to 120 characters.
  3. In Start from, choose Blank project or GitHub repository.
  4. For GitHub repository, enter the repository as owner/name or as its github.com address.
  5. Select Create project.

For GitHub repository, the app creates the project and then saves the repository in the project configuration with GitHub App sign-in. Saving the repository is a separate step. If it fails, the project remains available and you can add the repository later in Settings > Repository.

Expected result: A message confirms the new project, and the project list refreshes. You are the Owner of the project you create.

Read the project Dashboard ​

Open /projects/:projectId. The Dashboard shows:

  • A readiness card based on the saved configuration. It checks the default model, repository, team, and skills. Its status is Ready, Setup needed, or Archived. The main action opens the next setup step.
  • Quick actions follow the project status. A quiet project shows Start task and opens Orchestrations. Other actions open the Board, Flow, Orchestrations, or Memories, as available.
  • Summary tiles: Active runs, Needs input, Runs in range, and Success. Success is succeeded runs out of completed runs in the range. With no completed runs, it shows a dash. Each tile opens Orchestrations.
  • Activity: a range selector (Last 7 days, Last 30 days, or Last 90 days), the Runs over time chart of created and completed runs per UTC day, and Run totals.
  • Model and agent usage: Usage by model and Usage by agent tables with runs, requests, token counts, average duration, cost, and unpriced requests.
  • Recent runs: the newest runs in this project.
  • A Team summary with a link to Agents.

Costs appear as the service reports them, one line for each price unit and disposition. The app never adds subtotals together or converts them. A value that the service didn't record shows a dash, not 0. Metrics cover this project only.

Select Refresh to reload the project, its configuration, the run list, and the metrics.

Use the project Board ​

Prerequisites: Permission to view the project. Capturing, editing, queueing, archiving, and changing prerequisites need permission to change the project. Deleting also requires a project token that is not bound to a run.

The Board shows run counts from the same project metrics as the Dashboard. It also shows Open runs, Human review, Problems, and Run history above the task columns. Refresh reloads the backlog, metrics, and run lists.

  1. Select Board in the project rail, or open /projects/:projectId/board. A backlog promotion notification opens the same page.
  2. Read the tasks in their columns:
    • Backlog: captured tasks that are not queued yet.
    • Ready: tasks queued for an eligible run to claim.
    • Active: tasks that a run has claimed.
    • Done: tasks whose lifecycle is closed.
  3. To add a task, enter a title under Intake and select Add.
  4. To change task content, select its edit button, change Title or Description, and select Save.
  5. Use Mark Ready or Move to Backlog to change queue state. Add or remove prerequisites on an unclaimed task, or select Archive to hide it from the board.
  6. To permanently remove an eligible task, select Delete task and review the confirmation. It removes the task and its prerequisite links, not a linked repository issue. Cancel makes no request. Deletion is unavailable when another task depends on the task or a repository issue is linked; the owner can reject other restricted tasks. See Build and configure the web client for the full confirmation and stale-revision behavior.

Each card shows the title, description, prerequisites by title, and the linked repository issue as owner/name#number with Open or Closed. Automation running marks a task that an automation is changing. You can't edit that task or change its prerequisites until the automation finishes. Archived tasks are not shown. Ready records queue intent, not execution eligibility: a run checks current prerequisite execution and output evidence when it claims work. The summary strip shows queued, active, and done counts and jumps to a column. Use the zoom controls or Ctrl and the scroll wheel to zoom.

Start task is the floating button at the top of every project page. It opens Start a task. Enter a title and select Add. The app adds the task to the project's Backlog and opens the Board, which confirms the new task. Start task does not start a run. To start a run, use New session.

Each write sends the backlog revision the app last read. If another change was saved first, a capture reads the backlog again and retries once. Other revision conflicts reload the Board and ask you to try again.

Expected result: The new task appears in Backlog. A saved edit shows Task saved.

Cards cannot be dragged between columns. Use Move earlier or Move later on an open Backlog or Ready task to change its position when that action is available. If you can change the project and eligible backlog tasks exist, select Send all to Ready to queue them together. These actions change project backlog state; they do not start a run. The Human Review and Problems run lists appear above the task columns.

Open an existing run ​

  1. Open Orchestrations for the project.
  2. Find the run under Active or Recent.
  3. Select Open.
  4. The app signs in to the run silently. If that fails, complete run sign-in.

Orchestrations reads the project run list. Active holds runs that are working, open, or waiting for input. Recent holds finished runs: done, failed, cancelled, or with an unknown outcome. Each section shows the newest runs first and loads more with Load more. A status summary shows how many loaded runs are in each state. Select Refresh to read the lists again. When the project has no runs, the page shows No orchestrations yet.

To see runs across all your projects, open Sessions. See Runs and sessions for the data the run page reads.

Understand project states and errors ​

  • A loading indicator appears while a project request is pending.
  • An empty gallery shows No projects yet. The owner returned no projects for the current identity and role assignments.
  • Failed requests show the error message and structured error code when present.
  • Without permission to view a project's backlog, the Board shows No access to this board. Other Board read failures show Couldn't load the board with Try again. An empty backlog shows No tasks yet.
  • The app rejects a project response that does not match the route's project ID.
  • Project access and configuration access are separate owner checks. Listing a project does not grant permission to change it.

You can rename, archive, and restore a project in Project settings. The browser has no controls for project deletion or repository cloning.

Requests ​

The following versioned Gateway routes are in the checked-in source. The Owner column names the service that handles each route. These routes do not confirm that the services are deployed in your environment.

OperationGateway requestOwnerResult
List or refreshGET /api/v1/projectsProjects & ConfigReturns visible projects with the current caller's effective role names and resource scopes.
CreatePOST /api/v1/projects with { "name": "..." }Projects & ConfigCreates a project in the selected tenant; it does not grant project roles.
Read the projectGET /api/v1/projects/{projectId}Projects & ConfigReturns the project summary with the current caller's effective role names and resource scopes.
Read configurationGET /api/v1/projects/{projectId}/configurationProjects & ConfigReturns the configuration that the Dashboard readiness card uses.
Save the GitHub repositoryPUT /api/v1/projects/{projectId}/configurationProjects & ConfigSaves the repository for a project created from a GitHub repository.
List runsGET /api/v1/projects/{projectId}/runsOrchestratorReturns one page of runs, newest first. The state filter and cursor select the rows.
Read run metricsGET /api/v1/projects/{projectId}/metricsOrchestratorReturns run counts and daily buckets for a UTC range of up to 92 days.
Read usageGET /api/v1/projects/{projectId}/usageEvents & SessionsReturns usage and cost subtotals by model and agent for the same range.
Read the backlogGET /api/v1/projects/{projectId}/backlogOrchestratorReturns the backlog graph: revision, tasks, and dependencies.
Capture a taskPOST /api/v1/projects/{projectId}/backlog/tasksOrchestratorAdds a task to Backlog with a client-chosen task ID and the expected graph revision.
Edit a taskPUT /api/v1/projects/{projectId}/backlog/tasks/{taskId}/contentOrchestratorReplaces the title and description with the expected graph and task revisions.
Change queue statePUT /api/v1/projects/{projectId}/backlog/tasks/{taskId}/stateOrchestratorMoves an unclaimed open task between Backlog and Ready.
Change position in a queuePUT /api/v1/projects/{projectId}/backlog/tasks/{taskId}/positionOrchestratorMoves an unclaimed open task earlier or later with its queue state, position, and expected graph and task revisions.
Queue eligible Backlog tasksPOST /api/v1/projects/{projectId}/backlog/ready-allOrchestratorMoves all eligible Backlog tasks to Ready at the expected graph revision.
Archive a taskPOST /api/v1/projects/{projectId}/backlog/tasks/{taskId}/archiveOrchestratorArchives a task at the expected graph and task revisions.
Delete a taskDELETE /api/v1/projects/{projectId}/backlog/tasks/{taskId}OrchestratorDeletes a confirmed task with the expected graph and task revisions when owner eligibility checks pass.
Add or remove a prerequisitePUT or DELETE /api/v1/projects/{projectId}/backlog/tasks/{taskId}/dependencies/{prerequisiteTaskId}OrchestratorChanges a prerequisite edge with the expected graph revision.
Claim eligible workPOST /api/v1/projects/{projectId}/runs/{runId}/backlog/tasks/{taskId}/claimOrchestratorAtomically binds one task to the accepted run and checks current prerequisite evidence.
List synced issuesGET /api/v1/projects/{projectId}/source-control/issuesOrchestratorReturns repository issues synced to backlog tasks. The Board reads every page with state=all.

The app includes the tenant selector only when its current authorization context confirms one. See the API reference and Projects & Config architecture.