Skip to content

Government vertical — beginner tutorial

Released in FCC v1.2.0. You are new to FCC and want a gentle introduction to the Government 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 Government pack in one paragraph

The government vertical pack (at src/fcc/data/verticals/government.yaml) contains 6 personas for open data stewardship (DCAT-US 3.0), NIEM information exchange, FedRAMP compliance, privacy impact assessment, civic service research, and zero-trust identity architecture. Headline compliance frameworks: DCAT-US 3.0, NIEM 6.0, FedRAMP Rev 5, NIST SP 800-53 Rev 5, OMB M-22-09.

Focus persona: ODS — Open Data Steward

We'll anchor this tutorial on ODS, because it's the one most relevant to the beginner audience in the Government domain.

from fcc.verticals.registry import VerticalRegistry

reg = VerticalRegistry.from_builtin()
pack = reg.get("government")
persona = next(p for p in pack.personas if p.id == "ODS")

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 ODS

pack = reg.get("government")
p = next(p for p in pack.personas if p.id == "ODS")

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.

fcc scenarios list --vertical government

Pick the first scenario in the list, then:

fcc scenarios run --scenario GOV-001

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:

pytest tests/test_verticals.py -k "government" -v

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