R-Think

Architecture

R-Think is built on a layered architecture that separates protocol definition, rule validation, runtime execution, and artifact persistence.

Overview

The architecture consists of four primary layers:

Protocol Layer

Defines reasoning flows as sequences of steps with explicit transitions.

Rule Layer

Validates inputs, outputs, and state transitions using declarative contracts.

Runtime Layer

Executes protocols, enforces rules, and manages state.

Artifact Layer

Persists reasoning traces, evidence, and validation results.

Core Components

Each component has a single responsibility. They compose together to form complete reasoning systems.

architecture.ts typescript
// Protocol definition
const protocol = Protocol.define({
  id: 'data-processing',
  steps: [
    { name: 'ingest', action: ingestData },
    { name: 'transform', action: transformData },
    { name: 'validate', action: validateOutput },
    { name: 'emit', action: emitResult }
  ],
  retry: { maxAttempts: 3, backoff: 'exponential' }
});

// Rule definition
const rules = [
  Rule.required('data'),
  Rule.type('data', 'object'),
  Rule.minLength('data.records', 1)
];

// Runtime execution
const runtime = Runtime.create({ protocol, rules });
const result = await runtime.execute(input);

Execution Flow

When a protocol executes, the runtime follows a deterministic flow:

  1. Validate input against rules
  2. Execute protocol steps sequentially or in parallel
  3. Apply transition rules between steps
  4. Capture artifacts at each step
  5. Return result with complete trace

Next Reading