Documentation

Factory sessions

Factory runs AI coding agents in isolated sandboxes against the repos you host on GitForge. You direct the work through threads; sessions are the sandboxed runs that execute it.

Projects

A Factory project is one of your repos, surfaced in the Factory space. The projects list shows each repo's active and total thread counts, its last activity, and — when the repo mirrors an external source — the source link (origin host, upstream owner/name, and sync mode).

Threads

Threads are conversations pinned to a repo. Each thread keeps the full message history — your instructions, the agent's replies, and system events — and tracks a status through its life:

  • draft — created, no agent run yet.
  • active — an agent session is attached or queued.
  • completed — the work concluded.
  • archived — kept for history, out of the active list.

Messages you send while no session is live are queued and delivered when the next session starts.

Sessions and sandboxes

A session is a single sandboxed agent run. Sessions execute inside a dedicated container image managed by the Factory control-plane — the agent gets a clone of your repo, scoped credentials, and nothing else. It works on a branch and pushes back through the same Git Smart HTTP transport you use, so every object it writes lands in your storage like any other push.

Checkpoints capture session state along the way, so long-running work is inspectable and resumable.

Availability

Thread and project browsing is available on every deployment. Starting sessions, checkpoints, and credential management require the deployment to have the Factory control-plane configured — on deployments without it, those actions are unavailable and the UI says so rather than failing silently.

# Factory surface (session cookie or PAT auth)
GET /api/factory/projects              # your repos as Factory projects
GET /api/factory/repos/:id/threads     # threads for a repo
GET /api/factory/threads/:id           # one thread
GET /api/factory/threads/:id/messages  # chronological message tail