Skip to main content
[AVAILABLE]. packages/execution-system. Note DefaultExecutionSystem’s real scope below, it is a placeholder, not a verified boundary.

Purpose

Defines the one interface RuntimeFactory.create() needs to actually release an execution: ExecutionSystem. DefaultExecutionSystem, HttpExecutionSystem, and @parmana/execution-gateway’s ExecutionGateway are three different implementations of this exact interface, interchangeable without touching RuntimeEngine or RuntimePipeline.

Install

npm install @parmana/execution-system

Key exports

ExportSignature / Stability
ExecutionSystem (interface){ execute(request: ExecutionRequest): Promise<ExecutionResult> }. [AVAILABLE]
DefaultExecutionSystem[AVAILABLE], but a placeholder: execute() unconditionally returns { success: true, ... }, echoing the request back. No policy re-check, no content-binding, no connector. Many tutorials (1-13) use this for simplicity to demonstrate the Runtime in isolation, it performs no real verification.
HttpExecutionSystem[AVAILABLE]. new HttpExecutionSystem({ baseUrl }), execute() POSTs to ${baseUrl}/execute and returns the parsed response.
ExecutionRequest{ businessTransactionId, action, target, parameters }
ExecutionTrustRecordBuilder[AVAILABLE]. Assembles the final ExecutionTrustRecord from a transaction, decision, and execution result.
DefaultExecutionSystem is not a smaller version of the gateway, it is a stand-in that does nothing. If you see it in a tutorial’s source, that tutorial is deliberately demonstrating the Runtime, Policy Engine, or trust record shape in isolation, not the verified end-to-end pipeline. The default packages/api server does not use DefaultExecutionSystem, it always constructs a real ExecutionGateway, see The gateway.

Minimal example

import { RuntimeFactory } from "@parmana/runtime";
import { DefaultExecutionSystem } from "@parmana/execution-system";

const application = RuntimeFactory.create(
  transactionRepository,
  trustRecordRepository,
  policyRepository,
  new DefaultExecutionSystem(), // placeholder, always succeeds
);
For the real, verified boundary, see @parmana/execution-gateway.

Next

The gateway

The real ExecutionSystem implementation the default server actually uses.

@parmana/runtime

Where this interface is consumed.