C.3.A:C.1 ESG guard obligations (normative)

Preface node heading:c-3-a-c-1-esg-guard-obligations-normative:39764

What this page is

This is generated FPF reference text from the specification preface or supporting sections. It helps interpret FPF; it is not FPF Reference product documentation.

Methodology

Use it to understand how the specification wants to be read, then return to a route, pattern, or work packet for active work. Cite generated IDs only when the wording changes the task decision.

Content

When a state transition publishes or affirms a claim that quantifies over kinds, the guard SHALL:

  1. Scope coverage (USM). U.ClaimScope(Claim) covers TargetSlice (singleton or finite set) and TargetSlice declares Γ_time (no “latest”).

  2. Typed definedness. A deterministic membership check is available for every kind used by the claim in the TargetSlice. If membership cannot be evaluated in that context, the guard fails closed.

  3. Typed compatibility (same Context). If a downstream consumer expects a specific kind, then for each kind used by the claim either:

  • the used kind is an is‑a / subkind‑of the expected kind, or
  • a documented RoleMask for the expected kind is used and its constraints are met and observable in the TargetSlice.
  1. Typed compatibility (Cross‑context). If any referenced kind is used across Contexts, a KindBridge SHALL be declared with a published type‑congruence level (minimum acceptable level per Context policy), order preserved (no inversions), and loss notes. The guard SHALL apply the kind‑bridge penalty to R.

  2. Scope translation (Cross‑context claim use). If the Claim’s scope originates in another target‑context, a Scope Bridge with a published congruence level is required; apply the scope‑bridge penalty to R.

  3. Formality threshold (if gated). If the ESG state requires rigor, enforce U.Formality(Claim) ≥ F_k (C.2.3). (Note: Raising F does not widen G; do not substitute.)

  4. Evidence freshness (R). Where the new state implies trust, assert freshness windows and confirm no expired bindings.

Prohibitions (normative).

  • Do not widen G to “hide” a type mismatch. Fix typed compatibility (introduce a subkind, use a RoleMask, publish a KindBridge) or reject.
  • Do not treat a mask name as a kind—masks must be registered and deterministic.
  • Do not infer G from the size of a kind’s Extension; Scope ≠ Extension.

Last Updated: 2026-06-08 — upstream FPF commit 093d30e8 (github.com/ailev/FPF)