This is the first-class proof journey for Relyra's batteries-included claim. Follow it in order and treat each stage as incomplete until its receipt is visible.

1. Install and scaffold

Start with the blessed host-app entry point:

mix relyra.install --module MyApp --repo MyApp.Repo

Receipt:

  • The scaffold command completes cleanly.
  • The generated host files exist.
  • If you need the optional admin surface, the installer can also scaffold the LiveAdmin scope contract.

2. Prove the local path with FakeIdP

Before any hosted IdP work, prove the local path with FakeIdP:

Receipt:

  • The local ACS flow succeeds in a host-style test without touching a real IdP.

3. Choose one first-class provider path

The first-class provider set is limited to:

  • Okta
  • Microsoft Entra ID
  • Google Workspace

Pick exactly one provider runbook for Day-1, finish it, and do not broaden the claim beyond those three presets.

Receipt:

  • One provider login works after the local FakeIdP proof already passed.

4. Return to operator follow-ons

After the first provider path works, move through the operator-owned follow-ons in order:

  • optional LiveAdmin surface
  • metadata and certificate lifecycle
  • audit and telemetry receipts
  • scheduled refresh review
  • diagnostic bundle support

Receipt:

  • The host team can point to one explicit proof command or artifact for each follow-on, not just narrative docs.

5. Verify the repo-native proof artifact

The claim-to-proof map lives in BATTERIES_INCLUDED.md. That file is generated and drift-checked from repo state.

Receipt:

  • mix ci.docs passes
  • mix relyra.batteries_included --check passes
  • The generated artifact still names the supported provider scope and the operator follow-on seams honestly