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

# banner

> Log SPEC-v0.3 §6.5's observe banner, once per `Control`. An adapter MUST call it (§3.6).

`ctrlrun.banner` — function, defined at `src/ctrlrun/adapter.py:453`

```python theme={null}
def banner(control: Control) -> None
```

Log SPEC-v0.3 §6.5's observe banner, once per `Control`. An adapter MUST call it (§3.6).

Logged and never printed. §6.5 puts the banner on stderr for every CLI command that loads
the operator's policy, and an adapter is not a CLI command: it is inside somebody else's
loop and may have no stream that reaches a human at all. Printing into a framework's channel
is at best noise and at worst a corrupted stream.

Once per `Control`, because a warning that repeats per call is a warning nobody reads -- and
at all, because a deployment that has been observing for six months is exactly the one that
line is for, and an adapter that said nothing would be the quietest place in the system to
forget. A no-op under `mode: enforce`.

## Next

* [Python API index](/reference/api/index).
* [Get started](/get-started/quickstart) · [Why](/why).


## Related topics

- [Adapters](/adapters.md)
- [Python API](/reference/api/index.md)
