# DEPS — mgf-livepush's bidirectional dependency manifest

> **§1** — what mgf-livepush depends on. **§2** — who depends on
> mgf-livepush. Knowing both directions makes deprecation,
> breaking-change blast-radius, and feature-prioritisation tractable.
>
> **Per standard DOC-16** (v2.12): every project ships a `DEPS.md`.
> Replaces the former `USERS.md`.

Last verified: 2026-06-08.

---

## §1 What mgf-livepush depends on

| Dependency   | Window         | Why                                                       | Tier             |
|--------------|----------------|-----------------------------------------------------------|------------------|
| `mgf-common` | `>=0.41,<0.47` | `AppError` (SSE/broker error base) + observability + standards CLI | runtime |
| `redis`      | `>=5.0`        | the Redis pub/sub broker adapter (`RedisBroker`)          | `[redis]` extra (lazy) |
| `fastapi`    | `>=0.110`      | the `StreamingResponse` wrapper (`mgf.livepush.fastapi`)  | `[fastapi]` extra (lazy) |

*Federation siblings depended on: `mgf-common` — the cornerstone
(typed exceptions / bootstrap / observability). No other `mgf-*`
sibling is depended on.*

Runtime core is kept tight: only `mgf-common` ships transitively into
every consumer. The Redis and FastAPI adapters live behind extras with
lazy imports, and the import-linter contract forbids `fastapi` from the
framework-agnostic core (`_sse` / `_broker` / `_slotcap` / `_errors`).

---

## §2 Who depends on mgf-livepush

Consumer projects + federation siblings that import this project.
(Inverse of each consumer's `MGF_ADOPTION.md`.)

| Project / sibling | Location                                    | Import sites | Status                              | Surfaces used                                                  |
|-------------------|---------------------------------------------|-------------:|-------------------------------------|----------------------------------------------------------------|
| **PlasmaMapper**  | `/home/bassam/PycharmProjects/PlasmaMapper` | 5            | Active — consumer #1 (`mgf-livepush[redis,fastapi]`); newly extracted 2026-05-28 | `SSEStreamService` / `RedisBroker` / `SlotCap` / `CapExceededError` |

No federation siblings depend on mgf-livepush.

---

## §3 Maintenance

Updated every MINOR release + when a dependency or consumer changes.
Import-survey methodology:

```sh
grep -rE "(from|import) +mgf\.livepush" /path/to/each/consumer \
  --include='*.py' | wc -l
```
