Skip to content

PAOM (SENTINEL) ↔ FCC Coordination — Agent-Spec Handoff (#121)

FCC's record of the PAOM agent-spec handoff contract. PAOM consumes FCC personas as runnable agents; this file resolves the five handoff decisions PAOM raised. Authority: FCC owns personas / archetypes / R.I.S.C.E.A.R.; PAOM owns the agent runtime. Cross-repo posture is Channel-B — FCC does not write into PAOM; coordination is via this record + a GitHub notice on issue #121.

  • PAOM contract draft: paom/partnership_package/cross-repo/fcc_paom_spec_handoff_contract.md
  • PAOM pull adapter: paom/src/paom/integrations/fcc_ingest.py (transport B)
  • FCC binding protocol: archetype-persona-agent-binding.md

Resolved decisions (FCC, v1.11.0)

# Decision Resolution Owner
1 Transport Bless B (pull). PAOM's fcc_ingest.py (reads FCC YAML via PAOM_FCC_ROOT) is the supported transport. FCC additionally publishes a versioned catalog export (docs/catalog/v<ver>/catalog.jsonl + paom_override_map.json, via make catalog-export) as the stable machine-readable surface PAOM may point at. No push pipeline. FCC publishes / PAOM pulls
2 Archetype label→PAOM-8 map FCC owns it. FCC owns the archetype vocabulary; the canonical taxonomy (archetype_taxonomy.yaml) resolves all display labels to a PAOM-8 enum and emits paom_override_map.json for PAOM's override_map seam (zero-code adopt). FCC
3 Traits PAOM derives; schema unchanged. FCC ships no trait weights; PAOM's derive_traits() seeds a per-enum profile so every archetype is fully populated, and archetype.schema.json keeps traits required. Corrected per SENTINEL on #121 — this row previously read "relaxes traits to optional (schema v2.1)", which was the originally proposed path, not the one taken. Same outcome, no gate weakened. PAOM
4 Constitution authority doc_context.constitution is authoritative. The 3-tier guardrail (hard_stop / mandatory / preferred); hard_stop is mandatory for runnability (PAOM rejects personas without it — all FCC personas carry one as of v1.9.1). Any flat constraints[] is advisory / folded into mandatory. FCC
5 Contract record location This file (fcc/docs/ecosystem/coordination/paom-sentinel-coordination.md), mirroring the tri-authority coordination template. PAOM's copy stays in its partnership_package/cross-repo/. FCC + PAOM

What FCC delivers (this release)

  • Canonical archetype taxonomy resolving 168 distinct display labels → 26 canonical archetypes → PAOM-8 enum; audited (0 unmapped).
  • paom_override_map.json — the label→PAOM-8 table for PAOM's override_map, published with every make catalog-export.
  • catalog.jsonl — full per-persona records (R.I.S.C.E.A.R. + canonical archetype + PAOM-8 enum + constitution), core (131) + vertical (45) = 176.
  • 131 of 176 personas are PAOM-runnable. The 131 core personas carry a populated constitution.hard_stop; the 45 vertical personas ship hard_stop: [] (empty) and are therefore rejected by PAOM's runnability gate. Verified against docs/catalog/v2.2.0/catalog.jsonl (176 entries, 45 empty). This line previously claimed all 176 were runnable — that was wrong, and SENTINEL caught it in #121: "the catalog is right and the summary line is stale." Populating the 45 vertical constitutions is a separate, deliberate piece of work — these are regulated domains (healthcare, finance, legal, insurance, energy, government) where a hard_stop is a safety claim, not boilerplate.

Open coordination notes (Channel-B — surface to PAOM via #121 notice)

  1. Verticals blind spot: PAOM's fcc_ingest globs only src/fcc/data/personas/*.yaml and does not read src/fcc/data/verticals/ — so the 45 vertical personas are invisible to the pull adapter today. FCC's published catalog.jsonl includes them; PAOM should either consume the catalog or extend the glob. (FCC will not edit PAOM — flagged for PAOM to action.)
  2. Override-map adoption: point fcc_ingest's override_map at FCC's published paom_override_map.json to replace heuristic/default archetype resolution (the prior ~55 labels that fell to heuristic/default).
  3. Traits derivation (decision 3) is a PAOM-side change (derive_traits(), schema unchanged); FCC tracks it but does not depend on it.

Current as of v1.11.0. Resolutions confirmed by FCC owner 2026-06-20.