C.3.A:C.1 ESG guard obligations (normative)
Preface node
heading:c-3-a-c-1-esg-guard-obligations-normative:34442
Content
When a state transition publishes or affirms a claim that quantifies over kinds, the guard SHALL:
-
Scope coverage (USM).
U.ClaimScope(Claim) covers TargetSlice(singleton or finite set) and TargetSlice declaresΓ_time(no “latest”). -
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.
-
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.
-
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. -
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.
-
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.) -
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.