---
title: "word_collision"
url: https://services.dev/docs/reference/check/word_collision
---
# word_collision

URL: https://services.dev/docs/reference/check/word_collision

> A Brand.words value takes a generic word, a word an operation's id is spelled with or a path services.dev already serves, or makes two rows render the same, so two things would read the same.

| Fix | Fails in | Exit |
|---|---|---|
| Choose a word of your own for it. | the brand: `check` prints it under every Service | 1 |

**Owned by** [Your brand's words](https://services.dev/docs/service/brand-words.md): the page that explains what this gate holds.

## What check says

```txt title="npx services.dev check"
  ✗ A Brand.words value takes a generic word, a word an operation's id is spelled with or a path services.dev already serves, or makes two rows render the same, so two things would read the same. Choose a word of your own for it. words.job is 'order', a word of the operation service.order.
    https://services.dev/docs/reference/check/word_collision
✗ 1 to fix
```

## The failing file

```ts title="brand.ts"
import { Brand } from 'services.dev'

export default Brand({
  domain: 'lingua.example',
  words: { job: 'order' },
})
```

## The fix

```diff title="git add -A && git diff --staged"
diff --git a/brand.ts b/brand.ts
index d78f630..cbf0f47 100644
--- a/brand.ts
+++ b/brand.ts
@@ -2,5 +2,5 @@ import { Brand } from 'services.dev'
 
 export default Brand({
   domain: 'lingua.example',
-  words: { job: 'order' },
+  words: { job: 'project' },
 })
```

```txt title="npx services.dev check"
✓ ready to sell · 1 Service · AI delivers it alone · it keeps at least 80% of every job
```

## The rest of the brand

```txt title="ls services"
translation.ts
```

## In the legal example

How the legal example passes this gate, in lines read from its files.

```ts title="examples/legal/brand.ts"
words: { job: 'matter', subject: 'asset', task: 'review', member: 'signer', pool: 'network', end: 'outcome' },
```

Read them in context: [What the brand gets](https://services.dev/docs/examples/legal/surfaces.md).

## Explained in

- [Your brand's words](https://services.dev/docs/service/brand-words.md)
- [Brand()](https://services.dev/docs/service/brand.md)
- [The contract](https://services.dev/docs/surfaces/contract.md)

## What an agent reads

```json title="npx services.dev check --json · the word_collision failure"
{
  "code": "word_collision",
  "reason": "A Brand.words value takes a generic word, a word an operation's id is spelled with or a path services.dev already serves, or makes two rows render the same, so two things would read the same.",
  "next": "Choose a word of your own for it. words.job is 'order', a word of the operation service.order.",
  "doc_url": "https://services.dev/docs/reference/check/word_collision"
}
```

<details>
<summary>The whole document check --json prints</summary>

```json title="npx services.dev check --json"
{
  "ai": {
    "cents_per_call": 42,
    "simulated": true
  },
  "mcp": {
    "tools": 13,
    "tokens": 4512,
    "sandbox": 9,
    "budget": 8000
  },
  "files": [
    {
      "path": "brand.ts",
      "lines": 2,
      "kind": "brand",
      "says": "lingua · lingua.example · words job → order"
    }
  ],
  "services": [
    {
      "path": "services/translation.ts",
      "lines": 4,
      "steps": "draft · ai → review · ai · adversarial",
      "ok": false,
      "price": "$49 per job, within 48 hours, charged on delivery.",
      "who": "AI delivers every job.",
      "agent": {
        "tool": "order_translation",
        "words": 24,
        "job": "job_7Hq2",
        "status": "accepted",
        "on": null,
        "charged": 4900,
        "person": false,
        "why": ""
      },
      "ledger": "+$49.00 · AI $0.84 (example) · you $48.16",
      "approved_ledger": null,
      "outcome": null,
      "margin": {
        "floor": {
          "cents": 3920,
          "pct": 80
        },
        "own": 3920,
        "stop": 980,
        "nested": []
      },
      "apps": [
        "customer portal",
        "owner console"
      ],
      "failures": [
        {
          "code": "word_collision",
          "reason": "A Brand.words value takes a generic word, a word an operation's id is spelled with or a path services.dev already serves, or makes two rows render the same, so two things would read the same.",
          "next": "Choose a word of your own for it. words.job is 'order', a word of the operation service.order.",
          "doc_url": "https://services.dev/docs/reference/check/word_collision"
        }
      ]
    }
  ]
}
```

</details>

---

- Up: [check’s gates](https://services.dev/docs/reference/check.md)
- Previous: [service_id_reserved](https://services.dev/docs/reference/check/service_id_reserved.md)
- Next: [The services.dev CLI](https://services.dev/docs/reference/cli.md)
