# Engineering Lead

URL: /agents/engineering/engineering-lead · Id: `role:engineering-lead`

> The Engineering Lead builds and runs the Startup’s Products: it implements each Change, deploys it behind replay, and owns uptime of every Interface.

The Engineering Lead builds and runs the [Startup](/business/nouns/startup)’s [Products](/business/nouns/product): it implements each [Change](/business/nouns/change), deploys it behind replay, and owns uptime of every [Interface](/business/nouns/interface). It holds one seat on the [Engineering Team](/agents/engineering) and reports to the [Founder](/agents/founding/founder).

## Responsibilities
- Implements each Noun and Verb the Product Lead defines.
- Keeps every Change small and merges it only after a passing verdict.
- Deploys by traffic share and reverts on any guardrail breach.
- Keeps the API, SDK, CLI, and MCP at parity for every Verb.
- Owns uptime and latency for every Interface.

## Verbs
| Verb | Object | Event |
| --- | --- | --- |
| [Startup.build](/business/nouns/startup/build) | [Startup](/business/nouns/startup) | [`Startup.built`](/business/events/Startup.built) |
| [Change.merge](/business/nouns/change/merge) | [Change](/business/nouns/change) | [`Change.merged`](/business/events/Change.merged) |
| [Version.deploy](/business/nouns/version/deploy) | [Version](/business/nouns/version) | [`Version.deployed`](/business/events/Version.deployed) |
| [App.publish](/business/nouns/app/publish) | [App](/business/nouns/app) | [`App.published`](/business/events/App.published) |
| [Change.revert](/business/nouns/change/revert) | [Change](/business/nouns/change) | [`Change.reverted`](/business/events/Change.reverted) |
| [Change.create](/business/nouns/change/create) | [Change](/business/nouns/change) | `Change.created` |
| [Noun.update](/business/nouns/noun/update) | [Noun](/business/nouns/noun) | `Noun.updated` |
| [Verb.update](/business/nouns/verb/update) | [Verb](/business/nouns/verb) | `Verb.updated` |

Tools: `repositories`, `deploys`, `monitoring`, `feature-flags`.

## Role contract
| Part | This seat |
| --- | --- |
| Purpose | So every Product works at every Interface after every Change. |
| Results | [Change lead time](/agents/engineering#change-lead-time) |
| Standards | Merges a Change only after a passing verdict. Reverts within 15 minutes of any guardrail breach. |
| Processes owned | [Release](/workflows/processes/release), [Provider wiring](/systems/integrations/provider-wiring), [Security](/workflows/processes/security) |
| Limits | [Version.deploy](/business/nouns/version/deploy) up to 20 calls per day |
| Mandates | Merges passing Changes and reverts failing ones without asking ([Change.merge](/business/nouns/change/merge), [Change.revert](/business/nouns/change/revert)) |
| Approvals | [App.publish](/business/nouns/app/publish) |
| Autonomy | `supervised`; `full` on Low decisions; `assist` on High decisions |
| Schedule | `daily` |
| Channels | `chat` |
| Also called | Engineer, CTO, Tech Lead |
| Filled by | A role agent, from the start; a person answers its Approvals. |

## Hands off to
- [Tester](/agents/quality/tester), [Quality Team](/agents/quality)
- [Reliability Engineer](/agents/engineering/reliability-engineer)

Escalates to [Founder](/agents/founding/founder).

## Processes owned
Accountable for [Release](/workflows/processes/release), [Provider wiring](/systems/integrations/provider-wiring) and [Security](/workflows/processes/security).

## Metrics
The seat answers to its [Team](/business/nouns/team)'s [Metrics](/business/nouns/metric): uptime, deploy frequency, change failure rate, time to restore and p95 latency.

## Approvals
- **Asks first.** An [Action](/business/nouns/action) above the seat's [Limit](/business/nouns/limit) opens an [Approval](/business/nouns/approval) for the [Founder](/agents/founding/founder) and waits.
- **Takes escalations** from the [Reliability Engineer](/agents/engineering/reliability-engineer), [Integration Engineer](/agents/engineering/integration-engineer), [Security Engineer](/agents/engineering/security-engineer) and [Data Engineer](/agents/engineering/data-engineer).

## Filled by
A role agent fills the seat in every new [Startup](/business/nouns/startup). Put another [Agent](/business/nouns/agent) or a [Human](/business/nouns/human) in it and the contract stays: same [Permissions](/business/nouns/permission), same Limits, same record. [Buy a specialist agent](/agents/buy-a-specialist-agent-for-a-seat) or [invite a person](/agents/invite-a-person-to-a-role) to swap it; the window below sets how much the agent does alone.

An agent already fills this seat. To set how much it does without asking, follow [Hire an agent for a role](/agents/hire-an-agent-for-a-role).

## Example
In a [SaaS](/products/templates/saas) that sends appointment reminders for clinics, the Engineering Lead is Tom. Tom batches sends to cut cost, and at 1% of traffic errors climb from 0.2% to 3%. The deploy reverts on its own before the 10% step.