# The backend was three weeks late. We shipped the frontend anyway.

The checkout service slipped three weeks on a Monday. Instead of freezing the web and mobile teams, we spent the week working against one OpenAPI document. This is what each day actually looked like in Powerduck.

## Monday: turn a skeleton into a contract

We had a rough YAML with eight endpoints. I asked the assistant to add the missing order and payment operations. Each proposal arrived as a **patch card** listing the exact JSON Patch operations; nothing touched the file until I clicked Apply. Broad requests get staged automatically — a clarifying question first, then cards of two to five operations — so the document grew in reviewable chunks instead of one unmanageable dump. By evening the spec described the whole checkout flow.

## Tuesday: start a mock that behaves like production’s worst day

I started a local mock straight from the chat; the app confirmed the address it was serving on. The mock is not a static 200 machine:

-   `latencyMs` set to 250 to feel like a real network;
-   **response overrides** for the cases the frontend must handle: `402` for an expired card, `429` for a rate limit, a declined 3DS result — up to 100 overrides per mock;
-   a `basePath` matching our gateway, and a chosen port;
-   multiple mocks at once, one per open document, listable and stoppable individually.

The mock also **records the requests it receives**. Querying that log settled the first integration argument immediately: yes, the mobile client really was posting to v1 instead of v2.

## Wednesday: encode the business flow as a scenario

A single request proves one call; the checkout is a workflow. I built a scenario with four ordered steps: create order, take the returned `id`, create payment against it, then fetch the order and assert it is `paid`. Data passing between steps, assertions on status codes and response fields, and step order are first-class — the runner never silently drops an assertion. Runs execute through the local CLI engine, progress streams step by step, and a long run can be cancelled.

## Thursday: hand over evidence and the database plan

I exported a self-contained **HTML report** of the scenario for the release ticket. Reports come in ten languages, redact credentials automatically, and fold large payloads, so the file is safe to attach as-is.

The backend team got a head start too: the Data model surface derived every table, column, foreign key and the many-to-many join tables from the schemas, and produced one idempotent `CREATE TABLE IF NOT EXISTS` script in foreign-key order with secondary indexes. SQL is generated for review and never executed against a database from the app.

## Friday: publish docs and MCP without exposing internals

The spec went to [Powerduck Cloud](https://www.powerduck.com/cloud?ref=powerduck.com). Rendered documentation switched on immediately; the MCP endpoint stayed off until I enabled it. In the exposed-operations workspace I toggled the internal admin endpoints off individually — the source file is never modified — and protected the docs with a view password while the contractor links were live.

| Old tab                     | What actually replaced it this week                               |
|-----------------------------|-------------------------------------------------------------------|
| Mock SaaS                   | Local mock from the spec, with latency and 100 possible overrides |
| Test tool                   | Ordered scenario with data passing and assertions                 |
| Report builder              | One-click standalone HTML report, credentials redacted            |
| Schema whiteboard           | Derived tables, join tables and forward-only SQL                  |
| Docs generator + agent glue | Hosted docs and managed MCP from the same version                 |

The backend shipped on the Thursday of week four. The frontend merged on time, against a contract that had not drifted once. Start with the [mock server guide](https://www.powerduck.com/docs/client/mock-server?ref=powerduck.com) if this is the week you are in.

