Wire a repository before the coding agent runs
Hosted ticket-to-PR delivery needs two layers in Git and in Staff. A checklist before you open the first delivery.
Orkestia3 min read
Orkestia is the backbone that connects software, AI, and the real world. Staff can run coding workers that edit your repositories without ever holding GitHub credentials. The agent plans in a worktree. A trusted broker publishes only the exact objects you already acknowledged.
That story is easy to read and hard to run the first time if the repository was never prepared. A session can stop before a single edit, often because the runner prepared a branch that had no lockfile, or because Staff had no active delivery policy for that repo. The fix is not "paste a PAT into the agent." The fix is two layers, done in the right order.
The full checklist is now in the docs: Wire a repository for coding agents.
Two layers, not one checkbox
Orkestia platform. The repository is registered in your org, bound to GitHub through your GitHub App connection, and covered by an active delivery policy and execution profile. Your org administrator does this in Staff, not in the coding prompt.
Repository manifest. On the branch the runner will prepare, usually your
default branch, you commit what your stack expects. For Python projects on
python-uv, that means a uv.lock and orkestia.runner.json at
the repo root. CI job names must match what the delivery policy lists as
required checks.
You can be platform-complete and still fail prep if the manifest lives only
on a feature branch while the runner syncs main. The docs call out that
class of mistake on purpose.
Two modes: laptop vs hosted
Coding agents on DevKit
are enough for attended work at your keyboard: register the repo, map
repository_uuid to a local path, ltinteg-devkit runner serve.
Hosted ticket-to-PR delivery is the unattended loop: ticket, git work, coding session, trusted publish, pull request, approval gate, merge. That path needs both layers above and Run a ticket end to end. DevKit alone does not substitute for platform setup when you want the controller to merge without you at the keyboard.
Who does what
| Role | First move |
|---|---|
| Engineer | Bootstrap pull request: lockfile, runner manifest, tests that match CI |
| Org administrator | Staff registration, GitHub connection, policy, profile, agent runner group |
| Operator | Coding preflight green, then open the delivery on a ticket written as a spec |
Do not assign the coding agent to create the first lockfile on a greenfield repo. Humans merge bootstrap first. Agents implement specs on repos that are already reproducible.
Plain-language blockers
| What you see | What it usually means |
|---|---|
| Session ends before edits | Manifest missing on the prepared branch |
| Preflight mentions commands | Policy requires a command not in orkestia.runner.json |
| Gate never approves | Required check names in policy do not match GitHub |
| Lane busy | Prior delivery still holds the target branch |
Provider-blind rules still apply. The child never gets git credentials. Publication stays in the trusted parent.
What to read next
- staff
- coding-agents
- tickets
