FirstMate: agent crews, durable evidence and delivery authority
FirstMate explained: a crew of coding agents with explicit delivery contracts
Understand the agent distro, its ship and scout tasks, and the difference between terminal visibility, durable state and permission to merge.
What you will learn
- A directory that specializes an existing agent
- The deliverable determines the task shape
- Visibility, recovery and authority are separate
Before you start
- Git worktrees and pull-request basics
- Understanding of terminal agents and credential scope
Define a delivery contract and inspect state and authority evidence without claiming untested runtime guarantees.
Key takeaways
- FirstMate organizes existing agents rather than providing a model.
- Scout reports and ship changes have different authority.
- Visible, accepted and completed are different states.
A directory that specializes an existing agent
FirstMate supplies instructions, helper scripts, skills and state conventions around a terminal coding agent. At revision b182d0f, the README calls this an agent distro, not a model, harness, MCP server or standalone CLI. The primary agent coordinates a crew; the repository is the operating environment, not a new inference engine.
Imagine investigating a flaky test while another worker implements an unrelated interface change. Separate worktrees keep their checkouts apart, and visible backend sessions let an operator inspect each worker. This does not eliminate integration conflicts: two isolated changes can still disagree about an API when brought together.
The deliverable determines the task shape
Ship tasks produce authorized project changes. Scout tasks produce standalone investigation reports under the private data directory and should not push project changes. Choosing a scout is therefore meaningful scope control, not merely a slower ship task. A report can justify a later implementation request without granting that request in advance.
Delivery mode is another dimension. The architecture describes no-mistakes validation, direct-PR delivery and local-only delivery through an approved fast-forward merge. These names describe workflows, not certainty: no-mistakes does not prove a change is correct, and local-only does not mean a worker may merge without approval.
Visibility, recovery and authority are separate
A terminal can exist while its agent is unresponsive. A wake event can exist while nobody has consumed it. A pull request can be accepted for merging without having landed. FirstMate maintains distinct observations for these situations; an operator should preserve those distinctions in status reports instead of collapsing them into “done.”
This series reviews pinned documentation and one merge-authority source file. It also supplies an executable JavaScript teaching model for identity matching, not a port of the full shell system. No fleet, live forge merge, SSH secondmate or harness recovery was exercised in this review.
Decision guide
| Criterion | Option A | Option B |
|---|---|---|
| Best when | You need predictable behavior and easy auditing | You need adaptive optimization and have reliable telemetry |
| Main risk | May leave performance on the table | Can become difficult to explain or debug |
Implementation steps
- 1
Name the required deliverable before selecting a task shape.
- 2
Choose an explicit delivery and merge posture.
- 3
Define evidence required before declaring completion.
Copy-ready example
{
"example": true,
"taskShape": "scout",
"deliverable": "investigation report",
"projectWritesAuthorized": false,
"liveFleetTested": false
}Frequently asked questions
Is FirstMate an MCP server?
No. Its README describes a directory-based agent distro that uses an existing terminal agent.
Does an isolated worktree prevent every conflict?
No. It separates checkouts, but integration and shared-resource conflicts still need review.
Sources
- FirstMate / README.mdSource checked 2026-09-14
- FirstMate / docs/architecture.mdSource checked 2026-09-14
- FirstMate / docs/configuration.mdSource checked 2026-09-14