Skip to content

Government vertical — academic tutorial

Released in FCC v1.2.0. You are teaching or studying persona-driven agent workflows and want to use the Government pack as a case study. This tutorial connects the persona's R.I.S.C.E.A.R. specification to the underlying regulatory standards and shows how to cite them properly in classwork or publications.

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: CSR — Civic Service Researcher

We'll anchor this tutorial on CSR, because it's the one most relevant to the academic 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 == "CSR")

print(persona.name)
print(persona.risk_category or "minimal")
riscear = persona.riscear or {}
print("Archetype:", riscear.get("archetype"))
print("Role:", riscear.get("role"))

Connecting the persona to its regulatory standards

CSR (Civic Service Researcher) was selected because its responsibilities map cleanly onto published standards in the government domain. The research note at src/fcc/data/verticals/research/government.research.md lists the exact sources.

When citing this persona in classwork or a publication, use both:

  1. The FCC framework citation (see docs/community/citation.md).
  2. The underlying standards cited in the research note.

Extracting persona constraints for comparison

A common assignment is to compare the R.I.S.C.E.A.R. constraints across several personas and argue which are regulatory versus organizational in origin.

for p in pack.personas:
    r = p.riscear or {}
    print(f"=== {p.id}{p.name} ===")
    for c in r.get("constraints", []):
        print(f"  - {c}")
    print()

Your homework: classify each constraint as regulatory, organizational, or professional-ethical.

Generating a model card for citation

fcc model-card generate --persona CSR --output _output/cards

Model cards follow Mitchell et al. (2019) and include a bibliographic field you can cite directly.

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 academic-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