# Template — `DEPS.md` (bidirectional dependency manifest)

> **What this is.** The required root-level `DEPS.md` for every Magogi
> project, per **DOC-01** / **DOC-16** (v2.12). It shows **both sides**
> of the dependency graph in one place:
> - **§1 — what this project depends on** (federation siblings + third-party).
> - **§2 — who depends on this project** (consumers + siblings that import it).
>
> `DEPS.md` **replaces** the former `USERS.md` (whose "who depends on
> me" roll is now §2). Delete `USERS.md` after migrating it here.
> **Reference shape:** [`mgf-common/DEPS.md`](../../DEPS.md).

**Maintenance.** Verify before every MINOR release via an import
survey. A leaf application fills §1 and leaves §2 empty ("no downstream
consumers"); the file MUST still exist.

---

## Template — copy the block below into your repo root as `DEPS.md`

```markdown
# DEPS — <PROJECT-NAME>'s bidirectional dependency manifest

> **§1** — what <PROJECT-NAME> depends on. **§2** — who depends on
> <PROJECT-NAME>. 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: YYYY-MM-DD.

---

## §1 What <PROJECT-NAME> depends on

| Dependency | Window | Why | Tier |
|---|---|---|---|
| `mgf-common` | `>=0.X,<0.Y` | typed exceptions / bootstrap / observability | runtime |
| `<third-party>` | `>=…` | <why> | runtime |
| `<extra-only dep>` | `>=…` | <why> | `[extra]` (lazy) |

*Federation siblings depended on (if any): `<mgf-sibling>` — <why>.*

---

## §2 Who depends on <PROJECT-NAME>

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

| Project / sibling | Location | Import sites | Status | Surfaces used |
|---|---|---:|---|---|
| **<consumer>** | `<path>` | <n> | <status> | <surfaces> |

*If nothing depends on this project yet (leaf application or brand-new
library): "No downstream consumers yet."*

---

## §3 Maintenance

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

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