> ## Documentation Index
> Fetch the complete documentation index at: https://filament.getgalaxy.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Standard output

> Print records to stdout for local development and debugging

`connectors/stdout` (registered as `stdout`, **stable**) writes records to
standard output instead of a real destination. As the reference sink, it is
the fastest way to see a pipeline run end-to-end, and the simplest complete
implementation of the
[sink contract](/pages/connectors/building-a-connector/writing-a-sink) to
read.

## Configuration

None. The sink has no configuration fields.

## Supported write modes

The sink advertises `full_replace` and `full_append`. See
[replication modes](/pages/guides/concepts/replication-modes). Since stdout
has no state to replace, both modes print the same stream.

## Output format

Each Arrow row becomes one flat JSON object followed by a newline. For example,
a batch with `id`, `email`, and `active` columns produces:

```json theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
{"id":42,"email":"dev@example.com","active":true}
```

CDC metadata appears only when it is present as columns in the Arrow schema;
the sink does not wrap rows in an `{op, data}` envelope. Concurrent batches are
serialized so their lines do not interleave. Write receipts use URIs of the
form `stdout://<run>/<resource>`.

At `Commit`, the sink prints a manifest line prefixed with `#` summarizing the
run:

```
# {"sink":"stdout","run":"...","resources":[{"name":"...","uri":"stdout://<run>/<resource>","records":123,"bytes":4567}]}
```

## Failure behavior

There is nothing to roll back. Lines already printed stay printed, and `Abort`
is a no-op. A run that fails simply stops producing output and prints no
manifest.
