---
title: "A change, end to end"
description: "The spec lane step by step — proposal, delta specs, approval, test-first tasks, verification, merge."
canonical_url: "https://razcue-agent-kit.vercel.app/en/guides/spec-lane-change"
---
# A change, end to end

> The spec lane step by step — proposal, delta specs, approval, test-first tasks, verification, merge.

Example: *"Add invoices with lines, totals rounded to 3 decimals, visible only to users of the invoice's provincia."*

<steps>

### Ground

The agent searches knowledge (`agent-kit knowledge find invoices`), lists the living specs (`agent-kit specs list`) and reads the code the change touches. Nothing is written yet.

### Proposal and delta specs

```bash [Terminal]
npx @razcue/agent-kit work new change invoices --title "Invoices module"
```

The agent fills `proposal.md` (why, in / out, capabilities, open questions) and one delta per capability, e.g. `specs/invoices.md`:

```markdown
## ADDED Requirements

### invoices.R2 — Rounded totals
When an invoice is saved, the BFF shall store each line amount and the total rounded half-up to 3 decimals.

#### invoices.R2.S3 — Rounding edge @boundary
- Given a line of quantity 1 at unit price 0.0005
- When the invoice is saved
- Then the line amount is 0.001
```

`agent-kit specs lint 001` must report no errors.

### You approve

The agent shows the requirements with their scenarios and the open questions, and stops. Your answers go into the proposal; it becomes `status: approved`.

### Plan and tasks

`plan.md` lists files, schema / RPC changes and risks. `tasks.md` tags every task with the scenario ids it covers; in SDD + TDD each scenario's test task comes before its implementation. On Supabase projects with test data on, a task extends seed and purge for the new scenarios.

### Implement

One task at a time, test first (`tdd` skill). A task is ticked only with evidence under it — the command and its result.

### Verify

Project checks and tests, the scenario → evidence table, `agent-kit work trace 001` with nothing uncovered, `agent-kit preflight`, and the reviewer agent for non-trivial diffs.

### Merge and close

```bash [Terminal]
npx @razcue/agent-kit specs merge 001
```

The deltas land in `work/specs/invoices/spec.md`, the QA checklist refreshes, the proposal is marked `status: done`. You commit under your git flow.

</steps>


## Sitemap

See the full [sitemap](https://razcue-agent-kit.vercel.app/sitemap.md) for all pages.
