ruvnet/ruflo · error

Execution not allowed at security level: ${level}

Error message

Execution not allowed at security level: ${level}

What it means

Sandbox.execute() checked the requested securityLevel against the configured policy with checkPolicy('execute', level) and it was denied. Execution at that level is not permitted by the sandbox configuration — raise the allowed level in config or run at a lower security level.

Source

Thrown at v3/plugins/agentic-qe/src/plugin.ts:437

  constructor(config: AQEPluginConfig['sandbox']) {
    this.config = config;
  }

  async execute<T>(
    fn: () => Promise<T>,
    options: {
      securityLevel?: SecurityLevel;
      allowNetwork?: boolean;
      allowFileWrite?: boolean;
      timeout?: number;
    } = {}
  ): Promise<T> {
    const timeout = options.timeout ?? this.config?.maxExecutionTime ?? 30000;
    const level = options.securityLevel ?? 'medium';

    // Validate execution is allowed
    if (!this.checkPolicy('execute', level)) {
      throw new Error(`Execution not allowed at security level: ${level}`);
    }

    this.activeOperations++;

    try {
      // Create timeout promise
      const timeoutPromise = new Promise<never>((_, reject) => {
        setTimeout(
          () => reject(new Error(`Execution timeout after ${timeout}ms`)),
          timeout
        );
      });

      // Race execution against timeout
      return await Promise.race([fn(), timeoutPromise]);
    } finally {
      this.activeOperations--;
    }

View on GitHub (pinned to fa13ee4ad6)

Solutions

  1. Run the operation at a security level that permits it, or request elevated privileges through the proper approval flow.
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at v3/plugins/agentic-qe/src/plugin.ts:437 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of ruvnet/ruflo@fa13ee4ad6 (2026-08-18). Data as JSON: /api/errors/57dde741e2fd7838. Report an issue: GitHub.