# Ecosystem

Nobulex is the enforcement and proof layer. These projects provide complementary capabilities that compose with the protocol.

## Ecosystem Partners

Dominion Observatory (vdineshk)
Pre-call trust scoring

Cross-ecosystem runtime behavioral trust scores for MCP servers. Feeds trust signals (0-100) into Nobulex enforcement via the `require` statement.

SidClaw (VladUZH)
HITL approval workflows

Human-in-the-loop approval with 7 state transitions and Ed25519 hash chain. Uses Nobulex verification model for signed state-transition receipts.

Aira (Barakat)
Authorization and audit layer

Policy-check before execution with Ed25519 signing and RFC 3161 timestamps. Multi-party signing with distinct policy evaluator and gateway keys.

Signet (willamhou)
Signing layer

Offline-verifiable Ed25519 action receipts with bilateral co-signing and policy attestation. Composable with Nobulex enforcement layer.

AgentMint (Aniketh)
Runtime enforcement

In-process runtime enforcement with Ed25519 plan signing, scope pattern matching, and 23-pattern content scanning.

APS (aeoess)
Receipt schema design

Public endorsement and co-designed the Receipt schema with Nobulex outcome_hash.

## Trust Score Integration

The covenant DSL supports dot path access on context objects. This means you can reference trust scores from Dominion Observatory (or any scoring system) directly in your covenant rules.

### Covenant with trust_score

    covenant SecureTrader {
      permit execute_trade (amount <= 10000);
      forbid execute_trade (amount > 10000);
      require counterparty.trust_score >= 70;
      require counterparty.compliance_score >= 0.8;
    }

### Passing trust scores at runtime

    import { Monitor } from '@nobulex/core';

    const monitor = new Monitor(covenantId, covenantSource, {
      mode: 'enforce'
    });

    // Dominion Observatory provides the trust score
    const trustScore = await dominionClient.getScore(serverDid);

    // Pass it as context to the enforcement engine
    await monitor.evaluate('execute_trade', 'portfolio', {
      amount: 5000,
      counterparty: {
        trust_score: trustScore,      // 0-100 from Dominion
        compliance_score: 0.92,       // from your own scoring
        did: 'did:nobulex:partner-x'
      }
    });

If `counterparty.trust_score` is below 70, the action is denied and the denial is recorded in the hash chain with the trust score value that caused it. The receipt proves both the decision and the data it was based on.

## Build on Nobulex

If you're building observability, approval workflows, signing infrastructure, or compliance tooling for AI agents, your system can compose with Nobulex enforcement. Open an issue on GitHub or reach out at nobulex.dev@gmail.com.