# Reactive Clauses: Time, Risk, and Trigger Logic

#### **3.5.1 Why Reactive Clauses?**

Not all governance logic should be executed manually or on static input.\
In high-stakes, distributed, and risk-intensive environments—like disaster response, financial disbursement, or emissions monitoring—clauses must be:

* **Event-triggered**
* **Threshold-sensitive**
* **Time-aware**
* **Linked to sensor data, simulations, and smart contracts**

NSF defines **Reactive Clauses** as Smart Clauses that activate based on **validated, observable conditions**, rather than direct agent invocation.

***

#### **3.5.2 Reactive Clause Definition**

A Reactive Clause in SCL includes:

```scl
sclCopyEdittrigger: onEvent("SensorUpdate") where floodIndex > 0.85
```

Or:

```scl
sclCopyEdittrigger: onTime("0 0 * * *") if policyWindow == "active"
```

Or:

```scl
sclCopyEdittrigger: onThresholdCross("EmissionLevel", jurisdiction="NL") if value > 50.0
```

Each clause execution is:

* **Cryptographically validated**
* **Traceable in CAC and audit layers**
* **Linked to source of truth** (simulation, oracle, credential)

***

#### **3.5.3 Trigger Types in NSF**

| Trigger Type           | Description                                               | Example                               |
| ---------------------- | --------------------------------------------------------- | ------------------------------------- |
| **Time-based**         | Executes on schedule or time window                       | Daily water quality check             |
| **Threshold-based**    | Fires on numeric, categorical, or logical boundary        | Disaster risk index > 0.9             |
| **Event-based**        | Linked to data input, contract call, or simulation signal | DAO vote completed                    |
| **Sensor-based**       | Executes upon validated EO/IoT data                       | River gauge anomaly                   |
| **Credential-based**   | Activated when agent receives/loses credential            | MedicVC revoked                       |
| **Simulation-based**   | Triggered by forecast outcome match                       | Heat index forecast exceeds tolerance |
| **Jurisdiction-based** | Conditional activation by location                        | Clause active in country “IN”         |

***

#### **3.5.4 Trigger Validation and Anti-Spoofing**

All triggers are:

* **Authenticated via DID or signed oracle**
* **Checked against governance-configured policies**
* **Stored in Audit Layer with timestamp and proof of origin**
* **Executed only within TEE or ZK-compatible environments**

Example:

```scl
sclCopyEdittrigger: onEvent("Oracle::USGS::SeismicTrigger") where magnitude > 6.0
```

Is permitted **only** if the data source is signed and verified under:

* Credential: `USGSDataProviderVC`
* Enclave integrity proof
* Governance approval for cross-jurisdictional sensor execution

***

#### **3.5.5 Time and Recurrence Control**

Clauses can define:

* **Fixed schedules**: daily, weekly, fiscal quarters
* **Rolling conditions**: 7-day moving average, annualized emissions
* **Recurrence limits**: max 1 execution per day or once per policy cycle
* **Silence windows**: prevent re-trigger during cooldown

Example:

```scl
sclCopyEdittrigger: every("6 hours") if rainfall7DayAvg > 80mm
```

Combined with simulation outputs and policy windows, time-aware clauses become **predictive and enforceable**.

***

#### **3.5.6 Threshold-Based Risk Activation**

Reactive Clauses may reference real-time or simulated values:

```scl
sclCopyEdittrigger: onThreshold("ClimateRiskModel.FloodProbability") > 0.85
```

Or:

```scl
sclCopyEdittrigger: onIndexCross("CropYieldIndex", jurisdiction="KE") where zscore < -2.5
```

All thresholds:

* Are defined in the clause or bound via **parametric resolution**
* Must be **governance-reviewed if risk class ≥ 3**
* Produce signed CACs with full variable trace
* May be linked to **anticipatory finance**, **early warning**, or **emergency coordination**

***

#### **3.5.7 Trigger-Aware Credential and Contract Hooks**

Reactive Clauses can:

* **Issue or revoke credentials** based on triggered execution
* **Activate smart contracts** (e.g., payouts, DAO votes, fund disbursement)
* **Signal governance actions** (e.g., clause override proposals)

Example:

```scl
sclCopyEditonTrigger: revokeCredential("CropInsuranceActiveVC")
and callContract("DisburseRelief@Polygon::USD") with {
    beneficiary: farmerDID,
    amount: $200
}
```

Trigger paths are sandboxed and **execution-limited** per DAO policy or jurisdictional enforcement.

***

#### **3.5.8 Trigger Simulation and Foresight Validation**

For high-risk domains, reactive clauses must:

* Include a **simulation model** of potential triggers and impacts
* Define **trigger precision and recall** (to avoid false positives/negatives)
* Use **ZK simulation audits** to prove trigger fairness and non-manipulability
* Undergo **multi-actor governance signoff** before becoming executable

This prevents **policy triggers from being exploited, spoofed, or misconfigured.**

***

#### **3.5.9 Trigger Forking, Jurisdictional Overrides, and Escalation Paths**

Triggers can be:

* **Overridden** by DAO governance votes
* **Scoped** to specific geographies (e.g., “only trigger if in EU jurisdiction”)
* **Escalated** to override clauses (e.g., “payout suspended pending review”)
* **Throttled** by domain-specific rules (e.g., emissions clause only triggers once per reporting cycle)

Overrides must be:

* Signed
* Registered in the GCR
* Anchored to cause (e.g., simulation mismatch, policy error, conflict detection)

***

#### **3.5.10 Reactive Clauses as Executable Risk Memory**

In NSF, governance is **not just about static rules—it’s about reacting to the world.**

Reactive Clauses ensure that:

* Governance is real-time
* Rules are responsive
* Policies are simulation-bound
* Triggers are verifiable and auditable
* Trust is not based on hope, but on **machine-verifiable events**

Every clause that reacts, logs:

* **What triggered it**
* **Where it came from**
* **Who governed its scope**
* **What action was taken**
* **And how to reverse, escalate, or override**

Reactive Clauses turn **governance from code-on-paper into code-on-condition**.

***


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.therisk.global/organization/standardization/nexus-sovereignty/iii.-design/reactive-clauses-time-risk-and-trigger-logic.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
