r-io suiter-io suiteinterceptor docs
← Model loading
Node interceptor / Situation semantics

Actuality & Potentiality

Materializes the objectives required by an active situation, reusing reference templates when available and preserving their lineage.

A/P

ActualityAndPotentialityModelsPopulateInterceptor

Situation-to-objective projection inside core governance.

afterAdd · beforeDelete
TriggerThe node inherits Actuality or Potentiality, is ACTIVE, and the global ActualityAndPotentialityInterceptorControl is not disabled.
TEMPLATE PATHClone reference objectives

A Near relation to a FREEZE or REFERENCE situation supplies the objectives and semantic edges to clone.

FALLBACK PATHCreate one objective

Creates objective_<nodeId> when no template applies and the situation is not NOT_VALIDATED.

DELETE PATHRemove dependants

Associated active objectives and their relations are deleted before the situation disappears.

01 · Creation

From a situation template to live objectives

ACTIVE situationActuality, Risk or Opportunity
Near templateFREEZE / REFERENCE
Clone objectivesACTIVE + new color
Rewire meaningTreats / Prevents / Enables
Keep lineageNear original objective

Each clone receives an id suffixed with _clonedFor_<situationId>. Modeling metadata and broken edges are cleared. Derived writes notify only when the element is new and use preAndPostTreatment=false; deletions, by contrast, replay the chain.

afterAddNodesimplified
if disabled or not Actuality/Potentiality or status != ACTIVE: return
templates = query Near(FREEZE | REFERENCE, situation)
if templates are present:
    for objective linked to template:
        clone objective as ACTIVE
        add Treats, Prevents or Enables toward situation
        add Near(clone, originalObjective)
        persist without nested treatments
else if situation is valid and has no active objective:
    create objective_<situation.id>
    connect with Treats / Prevents / Enables
02 · Semantics

The relation depends on the situation kind

ActualityObjective —Treats→ Actuality

The objective describes how the current fact is handled.

RiskObjective —Prevents→ Risk

The objective aims to stop a potential adverse situation.

OpportunityObjective —Enables→ Opportunity

The objective makes a beneficial potentiality achievable.

No update behavior

actionAfterUpdateNode is intentionally empty. Recreating objectives on update is incompatible with r-iota’s positive-deviation deletion workflow.

Browse the complete node lifecycleAll node interceptors →
Intercepteur de nœud / Sémantique des situations

Actuality & Potentiality

Matérialise les objectifs requis par une situation active, en réutilisant les modèles de référence disponibles et en conservant leur filiation.

A/P

ActualityAndPotentialityModelsPopulateInterceptor

Projection d’une situation vers ses objectifs dans la gouvernance.

afterAdd · beforeDelete
DéclencheurLe nœud hérite d’Actuality ou Potentiality, est ACTIVE et le contrôle global n’est pas désactivé.
AVEC MODÈLECloner les objectifs

Une relation Near vers une situation FREEZE ou REFERENCE fournit les objectifs et les arêtes sémantiques.

SANS MODÈLECréer un objectif

Crée objective_<nodeId> si aucun modèle ne convient et si la situation n’est pas NOT_VALIDATED.

SUPPRESSIONNettoyer les dépendances

Les objectifs actifs associés et leurs relations sont supprimés avant la situation.

01 · Création

Du modèle de situation aux objectifs vivants

Situation ACTIVEActuality, Risk ou Opportunity
Modèle NearFREEZE / REFERENCE
ClonerACTIVE + nouvelle couleur
RelierTreats / Prevents / Enables
Conserver la filiationNear vers l’original

Chaque clone reçoit un identifiant suffixé par _clonedFor_<situationId>. Les informations de modélisation et les broken edges sont effacées. Les écritures dérivées notifient seulement si l’élément est nouveau et désactivent les traitements imbriqués ; les suppressions, elles, rejouent la chaîne.

afterAddNodesimplifié
si désactivé, type incorrect ou statut != ACTIVE : sortir
modèles = chercher Near(FREEZE | REFERENCE, situation)
si modèles présents :
    pour chaque objectif du modèle :
        cloner comme ACTIVE
        créer Treats, Prevents ou Enables vers la situation
        créer Near(clone, objectifOriginal)
        persister sans traitements imbriqués
sinon, si situation valide et sans objectif actif :
    créer objective_<situation.id> et sa relation
02 · Sémantique

La relation dépend du type de situation

ActualityObjective —Treats→ Actuality

L’objectif décrit le traitement du fait actuel.

RiskObjective —Prevents→ Risk

L’objectif empêche une potentialité défavorable.

OpportunityObjective —Enables→ Opportunity

L’objectif rend une potentialité favorable réalisable.

Pas de traitement à l’update

actionAfterUpdateNode est volontairement vide : recréer les objectifs serait incompatible avec la suppression d’une déviation positive dans r-iota.

Consulter le cycle de vie completTous les intercepteurs de nœuds →