Energy vertical — beginner tutorial¶
Released in FCC v1.2.0. You are new to FCC and want a gentle introduction to the Energy vertical. This tutorial walks you through loading the pack, inspecting one persona, and running the simplest scenario end-to-end — no AI provider required.
The Energy pack in one paragraph¶
The energy vertical pack (at src/fcc/data/verticals/energy.yaml) contains 6 personas covering grid model management (IEC 61970 CIM), energy settlements, NERC CIP compliance, demand response planning, renewable integration, and battery storage optimization. Headline compliance frameworks: IEC 61970 CIM, NERC CIP-003 through CIP-014, FERC Order 2222, IEEE 1547.
Focus persona: RES — Renewable Energy Integrator¶
We'll anchor this tutorial on RES, because it's the one most relevant to the beginner audience in the Energy domain.
from fcc.verticals.registry import VerticalRegistry
reg = VerticalRegistry.from_builtin()
pack = reg.get("energy")
persona = next(p for p in pack.personas if p.id == "RES")
print(persona.name)
print(persona.risk_category or "minimal")
riscear = persona.riscear or {}
print("Archetype:", riscear.get("archetype"))
print("Role:", riscear.get("role"))
Step 1 — Load the pack¶
The VerticalRegistry auto-discovers all packs from src/fcc/data/verticals/. You never need to list them manually.
from fcc.verticals.registry import VerticalRegistry
reg = VerticalRegistry.from_builtin()
print(f"Loaded {len(reg)} packs with {sum(len(p.personas) for p in reg.all_packs())} total personas")
You should see 6 packs and 45 personas on v1.2.0.
Step 2 — Inspect RES¶
pack = reg.get("energy")
p = next(p for p in pack.personas if p.id == "RES")
print(f"Name: {p.name}")
print(f"Role: {(p.riscear or {}).get('role', '—')}")
print(f"Compliance frameworks: {list(p.compliance_frameworks)}")
Step 3 — Run a mock scenario¶
FCC always defaults to MockAIClient unless you explicitly set an API key, so you can run scenarios without any cost or cloud calls.
Pick the first scenario in the list, then:
You'll see persona-generated output in your terminal — all mocked, all deterministic.
What you learned¶
- Packs are auto-discovered YAML files.
- Every persona has a nested R.I.S.C.E.A.R. block you can read from Python.
- Scenarios run in mock mode by default.
Verify what you did¶
Run the vertical test suite to make sure your changes didn't break anything:
All beginner-path steps in this tutorial leave your working tree unchanged — the pack YAML is read-only from your perspective. The only state that accumulates is in _output/ (scenario run traces) and docs/model-cards/ (if you regenerated cards).
Next steps¶
- Notebook 26 — Vertical packs tour — same flow in an executable notebook.
- Notebook 27 — Vertical packs deep dive — longer walkthrough of healthcare as an exemplar.
- Guidebook ch25 — Industry verticals — full authoring guide for your own pack.
- Book 3 ch11 — Vertical packs at enterprise scale — architectural view.
- Streamlit vertical_explorer — interactive browser for all 6 packs.
- Research note for energy — cited standards sources behind the persona selection.