# Recipe: the adopt prompt (understand / adopt the standards from OUTSIDE the federation)

> **Front door:** reachable via `mgf-fed start --mode adopt`. `mgf-fed start`
> is the single onboarding front-door over all four prompts.

> **Audience:** an AI agent (or human) in a project that is **not** a Magogi
> Foundation member and will not become one — it wants to **understand**, and
> optionally **adopt**, the MGF engineering standards. Two shapes: a *consumer*
> that depends on `mgf-*` libraries, and a *learner* that wants to raise its own
> bar (as the Plasma project — since renamed **soothfast** — did).
> **What this is:** the copy-paste prompt for that case. `mgf-fed adopt-prompt`
> prints it (self-updating, resolved from the pinned `mgf-standard`).

## When to use

- A downstream app/service that **consumes** `mgf-*` packages but isn't a sibling.
- An external project that wants to **learn from / port** the standards.
- **Not** for a federation member (use the sync prompt) and **not** for a new
  member-to-be (use the new-project prompt).

## The prompt

Copy the block below into an agent launched from the project's root.

```text
ROLE: You are in a project that is NOT a Magogi Foundation (MGF) member and will NOT become one — it wants to
UNDERSTAND, and optionally ADOPT, the MGF engineering standards. Read the living sources; never work from memory.

STEP 0 — INSTALL + UNDERSTAND (the standards ship as data):
  pip install -U 'mgf-common[standards]'   # or use the offline `magogi-standard-bundle` snapshot if you have no registry access
  mgf-fed agents        # the canonical engineering briefing
  mgf-fed standards     # list + read EVERY topic (mgf.standard.list_standards / read_standard)
  # the contract + the WHY: mgf.standard.federation()  and  mgf.standard.read_design("federation")
  Read especially the principles/ trio — agent-empowerment-charter, non-adoption-is-valid, audit-outcomes — they are
  the transferable core. GUARD: a plain `mgf-common` (no [standards]) cannot resolve the corpus; install the extra.

STEP 1 — KNOW WHAT YOU ARE (you are NOT a sibling):
  • Do NOT run `init-project` — that scaffolds a federation member.
  • Do NOT file a §Z MGF_STANDARDS_CONFORMANCE.md ledger and do NOT claim an L1/L2/L3 level — those bind members.
  The per-rule MUSTs bind members; for you the corpus is a high-quality reference to adopt with JUDGMENT.

STEP 2 — CHOOSE YOUR PATH:
  • CONSUMER (you depend on mgf-* libraries): pin them `>=X,<X+1`, and add an MGF_ADOPTION.md to your repo
    (template: read_recipe("mgf-adoption-md-template")) — it declares which mgf-* you use + their version currency,
    and is the doc the federation's `catch-up` tooling reads. Keep pins current against the registry (libraries()).
    Read a sibling's PUBLIC_API.json before you couple to it (authenticated; magogi-admin is private).
  • LEARNER (you want to raise your own bar, like the Plasma project — since renamed soothfast): port the principles + the rules that fit YOUR shape into
    your OWN standard, WITH attribution. Non-adoption of any specific rule is VALID and first-class
    (principles/non-adoption-is-valid.md) — adopt selectively, document what you decline and why.

STEP 3 — FEEDBACK IS WELCOMED (the standard is not stone):
  If a rule is wrong, ambiguous, or costly for your shape, write it up using the feedback-md-template fields
  (severity · what-hurts · why-it-matters · evidence file:line/version · suggested shape) and send it to the
  maintainers. External feedback (the Plasma "court intake" → PAPER-100..107) is exactly how the standard improves.

GUARDRAILS: read-only on EVERY MGF repo — you never edit mgf-standard / mgf-common / a sibling. You own your repo
and your adoption decisions. No federation release or registry action is yours to take.

DELIVERABLE: a short note — what you read; whether you are a CONSUMER (→ MGF_ADOPTION.md + current pins) or a
LEARNER (→ which principles/rules you adopted into your own standard, and which you consciously declined + why);
and any feedback you are sending back to the maintainers.
```

## Notes

- **Not a member — by design.** This prompt deliberately *forbids* `init-project`
  and a §Z ledger; adopters take what fits, with non-adoption a first-class
  outcome. That is the difference from the new-project prompt.
- **Self-updating.** Resolved live from the pinned `mgf-standard` (`read_recipe`).

## Related

- [`federation-sync-prompt.md`](federation-sync-prompt.md) · [`federation-new-project-prompt.md`](federation-new-project-prompt.md) — the member-facing prompts.
- [`mgf-adoption-md-template.md`](mgf-adoption-md-template.md) — the `MGF_ADOPTION.md` a consumer writes.
- [`feedback-md-template.md`](feedback-md-template.md) — the paper fields for feeding back to the maintainers.
