# `Mailglass.Adapters.Fake.Supervisor`
[🔗](https://github.com/szTheory/mailglass/blob/v1.0.0/lib/mailglass/adapters/fake/supervisor.ex#L1)

Supervises `Mailglass.Adapters.Fake.Storage`. Started unconditionally in
`Mailglass.Application` (D-02) via the `Code.ensure_loaded?/1`-gated
`maybe_add/3` call placed in Plan 01 (I-08).

Idle cost ≈ 2KB + one process; adopters routing production traffic through
`Mailglass.Adapters.Swoosh` pay nothing the Fake isn't doing anyway.

## Why unconditional?

The Fake adapter is the merge-blocking release gate (D-13). Every CI run
exercises the full pipeline through Fake, which requires the Storage
GenServer to be running. Starting it unconditionally means the adapter is
always available, regardless of the configured production adapter. This
matches how `Swoosh.Adapters.Sandbox.Storage` works.

## api_stability.md note

`Mailglass.Adapters.Fake.Storage` is a library-reserved GenServer name.
Adopters must not register a process under this name. (LINT-07 exception:
library-internal singleton per D-02.)

# `child_spec`

Returns a specification to start this module under a supervisor.

See `Supervisor`.

# `start_link`

---

*Consult [api-reference.md](api-reference.md) for complete listing*
