# incident.failed

Something broke and someone should look: a request, a job, a dependency

Profile: [Logs](https://www.prongs.dev/docs/intents/logs.md) · Written with: [`log()`](https://www.prongs.dev/docs/profiles/logs.md) · Level: `error` · Alerts: yes

## Example

```ts
log('incident.failed', 'Feed refresh stopped', { source: 'npr', attempt: 3 });
```

Writes

```ts
{
  "intent": "incident.failed",
  "level": "error",
  "alert": true,
  "message": "Feed refresh stopped",
  "data": {
    "source": "npr",
    "attempt": 3
  },
  "time": "2026-10-09T12:00:00.000Z"
}
```

## Choosing between neighbours

Find the row that describes your case, and use the intent on the right.

| If it is for… | Use |
|---|---|
| Something broke and someone should look: a request, a job, a dependency | `incident.failed` (this page) |
| Something that recovered or fell back | [`incident.degraded`](https://www.prongs.dev/docs/intents/incident/degraded.md) |
| A job that stopped on an error (rather than [`job.finished`](https://www.prongs.dev/docs/intents/job/finished.md)) | `incident.failed` (this page) |

## Connections

Declared in the registry, both directions. Where an intent is used in your own code is something check and the gallery see; this site has no app code.

- Built from: [`level.error`](https://www.prongs.dev/docs/intents/logs.md#level-error)
- Written by: [`failure.internal`](https://www.prongs.dev/docs/intents/failure/internal.md), [`failure.unavailable`](https://www.prongs.dev/docs/intents/failure/unavailable.md)

## For registry authors

**Starter intents.** These are the intents `prongs add logs` puts in your registry. Change levels through the [`level.*`](https://www.prongs.dev/docs/intents/logs.md#level) intents, and point [`log()`](https://www.prongs.dev/docs/profiles/logs.md) at your logger.

The entry `prongs add logs` writes into your registry. Change the level through its [`level.*`](https://www.prongs.dev/docs/intents/logs.md#level) ref.

```ts
'incident.failed': {
  kind: 'semantic',
  description: 'Something broke and someone should look: a request, a job, a dependency',
  refs: ['level.error'],
  binding: { alert: true },
  notFor: [
    {
      context: 'something that recovered or fell back',
      instead: 'incident.degraded',
    },
    {
      context: 'a caller’s own mistake, like invalid input: return a request.* error and do not log it as an incident',
    },
  ],
},
```
