Crate torg_core

Crate torg_core 

Source
Expand description

TØR-G: Token-Only Reasoner (Graph)

A zero-parser, boolean-circuit IR for AI agent policy synthesis.

§Overview

TØR-G provides a deterministic state machine for constructing and evaluating boolean circuit DAGs from token streams. Key properties:

  • No text parsing — token stream only
  • Deterministic state machine — guaranteed valid construction
  • Pure boolean combinatorics — no arithmetic, state, or loops
  • DAG structure — formally verifiable

§Example

use torg_core::{Builder, Token, evaluate};
use std::collections::HashMap;

// Build a simple OR circuit: output = input0 OR input1
let mut builder = Builder::new();

// Declare inputs
builder.push(Token::InputDecl).unwrap();
builder.push(Token::Id(0)).unwrap();
builder.push(Token::InputDecl).unwrap();
builder.push(Token::Id(1)).unwrap();

// Define node: node(2) = input(0) OR input(1)
builder.push(Token::NodeStart).unwrap();
builder.push(Token::Id(2)).unwrap();
builder.push(Token::Or).unwrap();
builder.push(Token::Id(0)).unwrap();
builder.push(Token::Id(1)).unwrap();
builder.push(Token::NodeEnd).unwrap();

// Declare output
builder.push(Token::OutputDecl).unwrap();
builder.push(Token::Id(2)).unwrap();

let graph = builder.finish().unwrap();

// Evaluate with inputs
let inputs: HashMap<u16, bool> = [(0, false), (1, true)].into();
let outputs = evaluate(&graph, &inputs).unwrap();
assert_eq!(outputs[&2], true); // false OR true = true

§LLM Integration

The Builder::valid_next_tokens method returns the set of tokens valid in the current state. This enables logit masking during LLM inference, guaranteeing syntactically correct output:

use torg_core::{Builder, Token};

let mut builder = Builder::new();
builder.push(Token::InputDecl).unwrap();
builder.push(Token::Id(0)).unwrap();
builder.push(Token::NodeStart).unwrap();
builder.push(Token::Id(1)).unwrap();

// At this point, only operators are valid
let valid = builder.valid_next_tokens();
assert!(valid.contains(&Token::Or));
assert!(valid.contains(&Token::Nor));
assert!(valid.contains(&Token::Xor));
assert!(!valid.contains(&Token::NodeEnd));

Re-exports§

pub use builder::Builder;
pub use builder::Phase;
pub use error::BuildError;
pub use error::EvalError;
pub use eval::evaluate;
pub use eval::evaluate_graph;
pub use eval::evaluate_into;
pub use graph::Graph;
pub use graph::Node;
pub use limits::Limits;
pub use token::BoolOp;
pub use token::Source;
pub use token::Token;

Modules§

builder
State machine builder for TØR-G graph construction.
error
Error types for TØR-G graph construction and evaluation.
eval
Circuit evaluator for TØR-G graphs.
graph
DAG representation for TØR-G boolean circuits.
limits
Resource limits for DoS prevention.
token
Token vocabulary for TØR-G IR.