npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

@wundr.io/governance

v1.0.6

Published

AI governance and alignment monitoring for the Wundr platform

Readme

@wundr.io/governance

AI governance and alignment monitoring for the Wundr platform, implementing the IPRE governance framework: Intent, Policies, Rewards, and Evaluators.

Table of Contents

Overview

The @wundr.io/governance package provides a comprehensive framework for monitoring AI system alignment, ensuring policy compliance, and detecting behavioral drift. It implements the IPRE governance model which structures AI governance into four interconnected layers:

  1. Intent - The strategic mission and values that guide AI behavior
  2. Policies - Hard constraints that must never be violated (security, compliance, operational)
  3. Rewards - Weighted objectives that incentivize desired behaviors
  4. Evaluators - Monitoring agents that continuously assess alignment

Installation

npm install @wundr.io/governance
# or
pnpm add @wundr.io/governance
# or
yarn add @wundr.io/governance

IPRE Framework

Intent

The Intent layer defines the organization's strategic purpose and core values. It answers the question: "What are we trying to achieve?"

import { IntentParser, createIntentParser } from '@wundr.io/governance';

// Parse intent from YAML
const parser = createIntentParser();
const intent = parser.parseFromYAML(`
mission: "Build AI systems that augment human capabilities while maintaining safety"
values:
  - transparency
  - user_privacy
  - reliability
  - innovation
constraints:
  - "Never compromise user data security"
  - "Always provide explainable outputs"
goals:
  - "Achieve 99.9% uptime"
  - "Reduce false positive rate below 1%"
`);

// Validate the intent
const validation = parser.validate(intent);
if (!validation.valid) {
  console.error('Intent validation errors:', validation.errors);
}

// Convert to system prompt context
const promptContext = parser.toPromptContext(intent);

Intent Interface:

interface Intent {
  mission: string;           // The organization's primary purpose
  values: string[];          // Core principles guiding decisions
  constraints?: string[];    // Boundaries that must be respected
  goals?: string[];          // Strategic objectives to achieve
}

Policies

The Policies layer defines hard constraints that AI agents must never violate. Policies are organized into three categories:

  • Security - Prevent security vulnerabilities (secrets in code, SQL injection, XSS, command injection)
  • Compliance - Ensure regulatory and process compliance (PR reviews, no force pushes, test coverage)
  • Operational - Maintain operational excellence (deployment windows, rollback plans)
import { PolicyEngine } from '@wundr.io/governance';

const engine = new PolicyEngine({
  debug: true,
  maxHistorySize: 10000,
  defaultSeverity: 'medium',
  defaultBlocking: true,
});

// Check an agent action against all policies
const result = engine.checkAction({
  id: 'action-1',
  sessionId: 'session-123',
  agentId: 'coder-1',
  type: 'commit',
  description: 'Add user authentication',
  timestamp: new Date(),
  codeContent: 'const apiKey = "sk-secret123"', // This will trigger sec-001
});

if (!result.allowed) {
  console.log('Action blocked!');
  for (const violation of result.violations) {
    console.log(`- [${violation.severity}] ${violation.message}`);
  }
}

Default Security Policies:

| Policy ID | Name | Description | Severity | |-----------|------|-------------|----------| | sec-001 | No secrets in code | Prevents hardcoded secrets, API keys, passwords | Critical | | sec-002 | No SQL injection | Prevents SQL injection vulnerabilities | Critical | | sec-003 | No XSS | Prevents cross-site scripting vulnerabilities | High | | sec-004 | No command injection | Prevents command injection vulnerabilities | Critical |

Default Compliance Policies:

| Policy ID | Name | Description | Severity | |-----------|------|-------------|----------| | comp-001 | All changes require PR review | Ensures code goes through review | High | | comp-002 | No force pushes | Prevents force pushes to protected branches | Critical | | comp-003 | Test coverage minimum 80% | Ensures adequate test coverage | Medium |

Default Operational Policies:

| Policy ID | Name | Description | Severity | |-----------|------|-------------|----------| | ops-001 | No Friday deployments after 2pm | Prevents risky late Friday deployments | High | | ops-002 | Rollback plan required | Requires rollback plan for production changes | High |

Adding Custom Policies:

engine.loadPolicies({
  security: [
    {
      id: 'sec-custom-001',
      name: 'No eval usage',
      description: 'Prevents use of eval() which can be a security risk',
      pattern: 'eval\\s*\\(',
      severity: 'high',
      blocking: true,
    },
  ],
  compliance: [
    {
      name: 'Changelog required',
      description: 'All PRs must update the changelog',
      validatorName: 'changelog_check',
      severity: 'medium',
      blocking: false,
    },
  ],
});

Rewards

The Rewards layer implements weighted objective scoring to incentivize desired behaviors. It calculates composite scores across multiple dimensions:

import { RewardCalculator, createRewardCalculator } from '@wundr.io/governance';

// Create calculator with default weights
const calculator = createRewardCalculator();

// Or customize weights (must sum to 1.0)
const customCalculator = createRewardCalculator({
  customer_value: 0.40,        // 40%
  code_quality: 0.25,          // 25%
  delivery_speed: 0.15,        // 15%
  technical_debt_reduction: 0.15, // 15%
  documentation: 0.05,         // 5%
});

// Calculate score from metrics (0-100 scale)
const score = calculator.calculateScore({
  customer_value: 85,
  code_quality: 92,
  delivery_speed: 78,
  technical_debt_reduction: 65,
  documentation: 88,
});

console.log(`Overall Score: ${score.overall}`);
console.log('Breakdown:', score.byDimension);

Default Weight Configuration:

| Dimension | Weight | Description | |-----------|--------|-------------| | customer_value | 0.35 | Value delivered to customers | | code_quality | 0.25 | Code maintainability and correctness | | delivery_speed | 0.20 | Velocity of feature delivery | | technical_debt_reduction | 0.15 | Progress on reducing tech debt | | documentation | 0.05 | Quality and completeness of docs |

Score Comparison and Analysis:

// Compare current score against a baseline
const comparison = calculator.compareToBaseline(currentScore, baselineScore);

console.log(`Overall change: ${comparison.overallDelta}`);
console.log(`Improved: ${comparison.improved}`);
console.log('Significant changes:', comparison.significantChanges);

// Identify areas needing improvement
const improvementAreas = calculator.identifyImprovementAreas(currentScore);
console.log('Focus on:', improvementAreas);

Evaluators

The Evaluators layer provides monitoring agents that continuously assess alignment across three dimensions:

  1. Policy Compliance - Checks adherence to defined policies
  2. Reward Alignment - Verifies scores meet expected thresholds
  3. Drift Detection - Monitors for behavioral drift over time
import {
  EvaluatorAgent,
  createEvaluator,
  createEvaluatorSuite,
  runEvaluatorSuite,
} from '@wundr.io/governance';

// Create individual evaluator
const policyEvaluator = createEvaluator('policy_compliance', {
  threshold: 0.8,
  frequency: 'per_commit',
  action: 'block_on_violation',
});

// Create evaluation context
const context = {
  evaluationId: 'eval-001',
  timestamp: new Date(),
  source: 'commit',
  repository: 'my-project',
  branch: 'feature/new-feature',
  commitSha: 'abc123',
  changedFiles: ['src/auth.ts', 'src/utils.ts'],
};

// Run evaluation
const result = await policyEvaluator.evaluate(context);

if (!result.passed) {
  console.log('Evaluation failed!');
  console.log('Score:', result.score);
  console.log('Issues:', result.issues);
  console.log('Recommendations:', result.recommendations);
  console.log('Action:', result.action);
}

Evaluator Types and Defaults:

| Type | Frequency | Threshold | Action | |------|-----------|-----------|--------| | policy_compliance | per_commit | 0.8 | block_on_violation | | reward_alignment | hourly | 0.85 | escalate_to_guardian | | drift_detection | daily | 0.9 | alert_architect |

Running Multiple Evaluators:

// Create a complete evaluator suite
const suite = createEvaluatorSuite();
const evaluators = [
  suite.policyCompliance,
  suite.rewardAlignment,
  suite.driftDetection,
];

// Run all evaluators in parallel
const aggregatedResult = await runEvaluatorSuite(evaluators, context);

console.log(`Overall passed: ${aggregatedResult.passed}`);
console.log(`Overall score: ${aggregatedResult.overallScore}`);
console.log(`Critical issues: ${aggregatedResult.criticalIssues.length}`);

Quick Start

import {
  createIntentParser,
  PolicyEngine,
  createRewardCalculator,
  createEvaluatorSuite,
  runEvaluatorSuite,
  type IPREConfig,
} from '@wundr.io/governance';

// 1. Define Intent
const parser = createIntentParser();
const intent = parser.parseFromYAML(`
mission: "Deliver secure, reliable AI-powered trading solutions"
values:
  - security_first
  - regulatory_compliance
  - user_trust
`);

// 2. Initialize Policy Engine
const policyEngine = new PolicyEngine({ debug: true });

// 3. Set up Reward Calculator
const rewardCalculator = createRewardCalculator();

// 4. Create Evaluator Suite
const evaluators = createEvaluatorSuite();

// 5. Check an action
const action = {
  id: 'action-001',
  sessionId: 'session-001',
  agentId: 'trading-agent',
  type: 'commit',
  description: 'Update trading algorithm',
  timestamp: new Date(),
  codeContent: '// safe code here',
};

const policyResult = policyEngine.checkAction(action);

if (policyResult.allowed) {
  // Calculate rewards
  const metrics = {
    customer_value: 90,
    code_quality: 85,
    delivery_speed: 80,
    technical_debt_reduction: 70,
    documentation: 75,
  };
  const score = rewardCalculator.calculateScore(metrics);
  console.log(`Reward score: ${score.overall}`);
} else {
  console.log('Action blocked by policy:', policyResult.violations);
}

API Reference

IntentParser

Constructor:

new IntentParser(config?: IntentParserConfig)

| Config Option | Type | Default | Description | |---------------|------|---------|-------------| | strict | boolean | true | Enforce strict validation | | conflictRules | ConflictRule[] | default rules | Custom conflict detection rules | | maxValues | number | Infinity | Maximum number of values allowed | | maxConstraints | number | Infinity | Maximum number of constraints | | maxGoals | number | Infinity | Maximum number of goals |

Methods:

| Method | Returns | Description | |--------|---------|-------------| | parseFromYAML(content: string) | Intent | Parse intent from YAML string | | parseFromJSON(content: string) | Intent | Parse intent from JSON string | | parseFromFile(path: string) | Promise<Intent> | Parse intent from file (.yaml, .yml, .json) | | validate(intent: Intent) | ValidationResult | Validate an intent object | | extractValues(intent: Intent) | string[] | Extract values array | | extractMission(intent: Intent) | string | Extract mission string | | toPromptContext(intent: Intent) | string | Convert to system prompt context |

PolicyEngine

Constructor:

new PolicyEngine(config?: PolicyEngineConfig)

| Config Option | Type | Default | Description | |---------------|------|---------|-------------| | debug | boolean | false | Enable debug logging | | maxHistorySize | number | 10000 | Maximum violations to track | | defaultSeverity | ViolationSeverity | 'medium' | Default severity for new policies | | defaultBlocking | boolean | true | Default blocking behavior | | customValidators | Record<string, Function> | {} | Custom validator functions | | logger | PolicyEngineLogger | undefined | Custom logger |

Methods:

| Method | Returns | Description | |--------|---------|-------------| | loadPolicies(config: PolicyConfig) | void | Load additional policies | | checkAction(action: AgentAction) | PolicyCheckResult | Check action against all policies | | isBlocked(action: AgentAction) | boolean | Quick check if action is blocked | | getViolations(action: AgentAction) | PolicyViolation[] | Get violations without recording | | recordViolation(violation: PolicyViolation) | void | Record a violation | | getViolationHistory(sessionId?: string) | PolicyViolation[] | Get violation history | | getViolationRate(timeWindowMs?: number) | number | Calculate violations per hour | | getPolicies() | PolicySet | Get all policies | | setPolicyEnabled(policyId: string, enabled: boolean) | void | Enable/disable a policy | | clearViolationHistory(sessionId?: string) | void | Clear violation history | | getViolationStats() | ViolationStats | Get violation statistics |

RewardCalculator

Constructor:

new RewardCalculator(weights?: Partial<RewardWeights>)

Methods:

| Method | Returns | Description | |--------|---------|-------------| | calculateScore(metrics: RewardMetrics) | RewardScore | Calculate weighted score | | getWeightedScore(dimension: string, value: number) | number | Get single dimension weighted score | | normalizeScores(scores: Record<string, number>) | Record<string, number> | Normalize scores to sum to 100 | | updateWeights(newWeights: Partial<RewardWeights>) | void | Update weight configuration | | getWeights() | RewardWeights | Get current weights | | compareToBaseline(current: RewardScore, baseline: RewardScore) | ScoreComparison | Compare against baseline | | identifyImprovementAreas(score: RewardScore) | string[] | Find areas needing improvement |

EvaluatorAgent

Constructor:

new EvaluatorAgent(config: EvaluatorConfig)

| Config Option | Type | Required | Description | |---------------|------|----------|-------------| | evaluatorType | EvaluatorType | Yes | Type of evaluator | | frequency | EvaluationFrequency | Yes | How often to run | | threshold | number | Yes | Score threshold (0-1) | | action | ViolationAction | Yes | Action on violation | | name | string | No | Evaluator instance name | | options | EvaluatorOptions | No | Additional options |

Methods:

| Method | Returns | Description | |--------|---------|-------------| | evaluate(context: EvaluationContext) | Promise<EvaluationResult> | Run evaluation | | checkPolicyCompliance(context: EvaluationContext) | Promise<ComplianceResult> | Check policy compliance | | checkRewardAlignment(context: EvaluationContext, rewardScore: RewardScore) | Promise<AlignmentResult> | Check reward alignment | | detectDrift(context: EvaluationContext, patterns: string[]) | Promise<DriftResult> | Detect drift | | shouldTriggerAction(result: EvaluationResult) | boolean | Check if action needed | | getRecommendedAction(result: EvaluationResult) | string | Get recommended action | | getEvaluatorType() | EvaluatorType | Get evaluator type | | getFrequency() | EvaluationFrequency | Get frequency | | getThreshold() | number | Get threshold | | getAction() | ViolationAction | Get configured action | | getName() | string | Get evaluator name |

VP Daemon Integration

The governance package is designed to integrate with the VP (Virtual Processor) Daemon for real-time policy enforcement. The VP Daemon acts as a middleware layer that intercepts AI agent actions and enforces governance policies.

Integration Architecture

+-------------------+     +------------+     +------------------+
|    AI Agent       | --> | VP Daemon  | --> | Target System    |
|  (Coder, etc.)    |     | (Enforcer) |     | (Git, Deploy)    |
+-------------------+     +------------+     +------------------+
                               |
                               v
                    +-------------------+
                    | @wundr/governance |
                    |  - PolicyEngine   |
                    |  - EvaluatorAgent |
                    |  - RewardCalc     |
                    +-------------------+

VP Daemon Integration Example

import { PolicyEngine, createEvaluatorSuite } from '@wundr.io/governance';

class VPDaemon {
  private policyEngine: PolicyEngine;
  private evaluators: ReturnType<typeof createEvaluatorSuite>;

  constructor() {
    this.policyEngine = new PolicyEngine({
      debug: process.env.NODE_ENV === 'development',
    });
    this.evaluators = createEvaluatorSuite();
  }

  async interceptAction(action: AgentAction): Promise<InterceptResult> {
    // 1. Check against hard policies
    const policyResult = this.policyEngine.checkAction(action);

    if (!policyResult.allowed) {
      return {
        allowed: false,
        reason: 'Policy violation',
        violations: policyResult.violations,
      };
    }

    // 2. Run continuous evaluation (async, non-blocking)
    this.runAsyncEvaluation(action);

    // 3. Allow the action to proceed
    return { allowed: true };
  }

  private async runAsyncEvaluation(action: AgentAction): Promise<void> {
    const context = this.actionToContext(action);

    // Run policy compliance check
    const complianceResult = await this.evaluators.policyCompliance.evaluate(context);

    if (!complianceResult.passed) {
      this.alertOnViolation(complianceResult);
    }

    // Run drift detection (daily)
    if (this.shouldRunDriftDetection()) {
      const driftResult = await this.evaluators.driftDetection.evaluate(context);
      if (!driftResult.passed) {
        this.alertOnDrift(driftResult);
      }
    }
  }
}

Pre-Commit Hook Integration

// .husky/pre-commit or similar
import { PolicyEngine } from '@wundr.io/governance';

async function preCommitCheck(): Promise<void> {
  const engine = new PolicyEngine();

  const stagedFiles = await getStagedFiles();
  const codeContent = await getFileContents(stagedFiles);

  const result = engine.checkAction({
    id: `commit-${Date.now()}`,
    sessionId: 'pre-commit',
    agentId: 'git-hook',
    type: 'commit',
    description: 'Pre-commit check',
    timestamp: new Date(),
    affectedFiles: stagedFiles,
    codeContent,
  });

  if (!result.allowed) {
    console.error('Commit blocked due to policy violations:');
    for (const violation of result.violations) {
      console.error(`  - [${violation.severity}] ${violation.message}`);
    }
    process.exit(1);
  }
}

preCommitCheck();

Configuration

Complete IPRE Configuration Type

interface IPREConfig {
  version: string;
  intent: Intent;
  policies: Policy;
  rewards: Rewards;
  evaluators: EvaluatorConfig[];
  metadata?: IPREMetadata;
}

Example Configuration File

# ipre.config.yaml
version: "1.0.0"
intent:
  mission: "Build secure, reliable AI trading systems"
  values:
    - security_first
    - regulatory_compliance
    - transparency
    - user_trust
  constraints:
    - "Never expose customer financial data"
    - "Always comply with SEC regulations"
  goals:
    - "Maintain 99.99% uptime"
    - "Achieve SOC2 compliance"

policies:
  security:
    - id: "sec-custom-001"
      name: "No raw SQL queries"
      pattern: "execute.*SELECT.*FROM"
      severity: "critical"
      blocking: true

  compliance:
    - id: "comp-custom-001"
      name: "Require approval for trades > $1M"
      validatorName: "large_trade_approval"
      severity: "high"
      blocking: true

  operational:
    - id: "ops-custom-001"
      name: "No deployments during market hours"
      validatorName: "market_hours_check"
      severity: "high"
      blocking: true

rewards:
  weights:
    customer_value: 0.30
    code_quality: 0.25
    security_posture: 0.25
    operational_excellence: 0.15
    compliance: 0.05
  threshold: 75
  frequency: "hourly"

evaluators:
  - id: "eval-001"
    name: "Trading Policy Compliance"
    type: "static"
    frequency: "realtime"
    threshold: 0.95
    action: "block"
    enabled: true

metadata:
  createdAt: "2024-01-01T00:00:00Z"
  updatedAt: "2024-01-15T10:30:00Z"
  author: "governance-team"
  description: "IPRE configuration for Wundr trading platform"

Examples

Full Governance Workflow

import {
  createIntentParser,
  PolicyEngine,
  createRewardCalculator,
  createEvaluatorSuite,
  runEvaluatorSuite,
} from '@wundr.io/governance';

async function runGovernanceWorkflow() {
  // Initialize all components
  const intentParser = createIntentParser();
  const policyEngine = new PolicyEngine({ debug: true });
  const rewardCalculator = createRewardCalculator();
  const evaluatorSuite = createEvaluatorSuite();

  // Load intent from file
  const intent = await intentParser.parseFromFile('./ipre-intent.yaml');
  const promptContext = intentParser.toPromptContext(intent);
  console.log('Intent loaded:', intent.mission);

  // Define an agent action
  const action = {
    id: 'action-trading-001',
    sessionId: 'trading-session-001',
    agentId: 'trading-agent-alpha',
    type: 'trade_execution',
    description: 'Execute buy order for AAPL',
    timestamp: new Date(),
    metadata: {
      symbol: 'AAPL',
      quantity: 100,
      orderType: 'market',
    },
  };

  // Step 1: Policy Check (synchronous, blocking)
  const policyResult = policyEngine.checkAction(action);

  if (!policyResult.allowed) {
    console.error('Action blocked by policies:');
    policyResult.violations.forEach(v => {
      console.error(`  - ${v.policy.name}: ${v.message}`);
    });
    return;
  }

  console.log('Policy check passed');

  // Step 2: Calculate Reward Score
  const metrics = {
    customer_value: 88,
    code_quality: 92,
    delivery_speed: 85,
    technical_debt_reduction: 72,
    documentation: 80,
  };

  const rewardScore = rewardCalculator.calculateScore(metrics);
  console.log(`Reward Score: ${rewardScore.overall.toFixed(2)}`);

  // Step 3: Run Evaluator Suite
  const context = {
    evaluationId: `eval-${Date.now()}`,
    timestamp: new Date(),
    source: 'manual' as const,
    repository: 'trading-system',
    metadata: { action: action.id },
  };

  const evaluators = [
    evaluatorSuite.policyCompliance,
    evaluatorSuite.rewardAlignment,
    evaluatorSuite.driftDetection,
  ];

  const suiteResult = await runEvaluatorSuite(evaluators, context);

  console.log(`Suite Result: ${suiteResult.passed ? 'PASSED' : 'FAILED'}`);
  console.log(`Overall Score: ${(suiteResult.overallScore * 100).toFixed(1)}%`);

  if (suiteResult.criticalIssues.length > 0) {
    console.log('Critical Issues:');
    suiteResult.criticalIssues.forEach(issue => {
      console.log(`  - ${issue}`);
    });
  }

  // Step 4: Get Violation Statistics
  const stats = policyEngine.getViolationStats();
  console.log('\nViolation Statistics:');
  console.log(`  Total: ${stats.total}`);
  console.log(`  By Category: ${JSON.stringify(stats.byCategory)}`);
  console.log(`  Blocking: ${stats.blockingCount}`);
}

runGovernanceWorkflow().catch(console.error);

License

MIT