G.Core:4.3 - RSCR Trigger Catalogue and docking discipline
Preface node
heading:g-core-4-3-rscr-trigger-catalogue-and-docking-discipline:54411
Content
G.Core is the single writer for Part‑G‑wide trigger kinds.
G.Core:4.3.1 - Definitions
-
RSCRTriggerKindId Canonical, stable identifier for a trigger kind (a class of “why RSCR/refresh must fire”). Cross-pattern reason code.
-
RSCRTriggerAliasId Pattern-scoped human label/token kept for ergonomics/backward compatibility (e.g.,
G.11:T4,G.6:H3:lane-tag correction). -
TriggerAliasMap Mapping table:
RSCRTriggerAliasId → {RSCRTriggerKindId…}(1..n). -
RSCRTrigger Minimal conceptual form (notation-independent):
Where
payloadPinscontains any edition pins, policy-ids, Bridge ids, evidence pins, regression-set ids, etc., required to make the trigger actionable.
G.Core:4.3.2 - Owner model
- TriggerOwner :=
G.Core. - Any new trigger kind SHALL be added to
G.Corefirst. - Other patterns MAY define aliases only (or cite shared alias maps), and MUST map aliases to canonical kinds.
G.Core:4.3.3 - Authoring rules
-
No implicit triggers: Any RSCR/SCR/refresh artefact that records reasons MUST record canonical
RSCRTriggerKindId. Aliases may be recorded as labels, but must not be the only reason code. -
No implicit overloading: A local token string (e.g.,
T4) SHALL NOT silently change meaning across patterns; namespace is part of the alias (G.11:T4≠A.20:T4). -
Granularity discipline: If a local cause is narrower than an existing canonical kind, map it to that kind and keep the nuance as a local scope note. If the difference matters for planning/selection, add a new canonical kind.
-
Multi-cause discipline: When an event spans multiple canonical kinds, record multiple triggers (preferred) or map the alias to a set
{…}and require emitting the full set.
G.Core:4.3.4 - Seed canonical catalogue (Phase‑2 minimum)
The Phase‑2 stabilized canonical catalogue (based on the Phase‑2 inventory; sufficient to dock legacy G.6:H3 and G.11:T0…T7 triggers and to populate RSCRTriggerKindIds in G.0…G.13):
RSCRTriggerKindId.LegalitySurfaceEditRSCRTriggerKindId.PenaltyPolicyEditRSCRTriggerKindId.CrossingBundleEditRSCRTriggerKindId.ReferencePlaneEditRSCRTriggerKindId.EditionPinChangeRSCRTriggerKindId.TokenizationOrNameChangeRSCRTriggerKindId.PolicyPinChangeRSCRTriggerKindId.TelemetryDeltaRSCRTriggerKindId.FreshnessOrDecayEventRSCRTriggerKindId.EvidenceSurfaceEditRSCRTriggerKindId.MaturityRungChangeRSCRTriggerKindId.BaselineBindingEditRSCRTriggerKindId.DefaultOwnerChange
G.Core:4.3.4.1 - Canonical kind definitions (normative, minimal)
Each RSCRTriggerKindId SHALL have a short, stable definition in G.Core (single-writer) to prevent semantic drift.
G.Core:4.3.4.2 - Canonical trigger sets (compression primitive)
GCoreTriggerSetId identifies a named set of RSCRTriggerKindId values. A G.x MAY cite trigger sets in RSCRTriggerSetIds instead of repeating long RSCRTriggerKindIds lists.
G.Core:4.3.5 - Initial alias maps
These alias maps are normative docking artefacts and preserve legacy tokens while moving semantics to canonical ids.
TriggerAliasMap.G11
Based on the existing trigger catalogue in G.11 (T0…T7).
G.11:T0 → { RSCRTriggerKindId.PolicyPinChange }G.11:T1 → { RSCRTriggerKindId.TelemetryDelta }G.11:T2 → { RSCRTriggerKindId.EditionPinChange }G.11:T3 → { RSCRTriggerKindId.EditionPinChange }G.11:T4 → { RSCRTriggerKindId.CrossingBundleEdit, RSCRTriggerKindId.PenaltyPolicyEdit }G.11:T5 → { RSCRTriggerKindId.FreshnessOrDecayEvent }G.11:T6 → { RSCRTriggerKindId.MaturityRungChange }G.11:T7 → { RSCRTriggerKindId.PolicyPinChange }
TriggerAliasMap.G0 (reserved; empty in Phase‑2).
Map any stable legacy registry‑hook labels emitted/recorded by G.0 to the canonical kinds above (typically LegalitySurfaceEdit, PenaltyPolicyEdit, CrossingBundleEdit, ReferencePlaneEdit, TokenizationOrNameChange), preserving the original label text as RSCRTriggerAliasId. If none exist, G.0 SHOULD emit canonical RSCRTriggerKindId values directly.
TriggerAliasMap.G6
EvidenceGraph H3 example causes → canonical kinds:
G.6:H3:freshness/decay change → { RSCRTriggerKindId.FreshnessOrDecayEvent }G.6:H3:Bridge CL/CL^k or loss update → { RSCRTriggerKindId.CrossingBundleEdit }G.6:H3:Φ/Ψ policy change → { RSCRTriggerKindId.PenaltyPolicyEdit }G.6:H3:lane tag correction → { RSCRTriggerKindId.EvidenceSurfaceEdit }G.6:H3:ReferencePlane correction → { RSCRTriggerKindId.ReferencePlaneEdit }G.6:H3:QD/OEE artefact updates (U.DescriptorMapRef.edition/DistanceDef, EmitterPolicyRef, InsertionPolicyRef, archive K-capacity) → { RSCRTriggerKindId.EditionPinChange, RSCRTriggerKindId.PolicyPinChange }