frame-isa

Crates.ioframe-isa
lib.rsframe-isa
version0.1.0
created_at2025-12-27 07:53:21.396873+00
updated_at2025-12-27 07:53:21.396873+00
descriptionSAM Instruction Set Architecture - 6-byte opcode definitions for AI systems
homepage
repositoryhttps://github.com/Blackfall-Labs/frame-isa
max_upload_size
id2006823
size58,278
Magnus Trent (magnus-trent)

documentation

README

Frame ISA

SAM Instruction Set Architecture - Zero-dependency 6-byte opcode definitions for AI systems.

License: MIT

Overview

Frame ISA defines a compact instruction format for AI output:

[ACT:2 bytes][SUBJ:2 bytes][MOD:2 bytes] = 6 bytes total (big-endian)
  • ACT (Action): What operation to perform (GREET, RESPOND, CALCULATE, etc.)
  • SUBJ (Subject): The topic or entity (TIME, USER, WEATHER, RAG reference, etc.)
  • MOD (Modifier): Style flags (voice, tone, warmth, format, urgency, etc.)

Installation

[dependencies]
frame-isa = "0.1"

Usage

use frame_isa::{Action, Subject, Modifier, Instruction};

// Create an instruction
let instr = Instruction::new(
    Action::RESPOND,
    Subject::TIME,
    Modifier::default(),
);

// Serialize to bytes
let bytes = instr.to_bytes();
assert_eq!(bytes.len(), 6);

// Parse from bytes
let parsed = Instruction::parse_one(&bytes).unwrap();
assert_eq!(instr, parsed);

Using the Builder

use frame_isa::{Action, Subject, InstructionBuilder, Voice, Tone};

let instr = InstructionBuilder::new(Action::GREET)
    .subject(Subject::USER)
    .voice(Voice::Casual)
    .tone(Tone::Positive)
    .build();

Preset Modifiers

use frame_isa::Modifier;

// For crisis situations
let crisis = Modifier::crisis();  // Empathetic, warm, high urgency

// For professional contexts
let pro = Modifier::professional();  // Formal, neutral warmth

// For friendly interactions
let friendly = Modifier::friendly();  // Casual, warm, positive

Opcode Categories

Actions (ACT)

Range Category Examples
0x00xx System NOP, HALT, ERROR, STATUS
0x01xx Response GREET, CONFIRM, DENY, EXPLAIN, RESPOND
0x02xx Query ASK, REQUEST, SEARCH, RETRIEVE
0x03xx Knowledge DEFINE, DESCRIBE, COMPARE, SUMMARIZE
0x04xx Skill CALCULATE, SET_TIMER, KNOWLEDGE_SEARCH
0x05xx Emotion EMPATHY, CONCERN, ENCOURAGEMENT
0x06xx Template TEMPLATE_LOAD, TEMPLATE_FILL
0x07xx Chain CHAIN, FORK, MERGE

Subjects (SUBJ)

Range Category Examples
0x00xx System NULL, SELF, USER, CONTEXT
0x01xx Common WEATHER, TIME, DATE, SCHEDULE
0x02xx Math/Science NUMBER, EQUATION, PHYSICS
0x03xx Technology COMPUTER, SOFTWARE, AI, API
0x04xx Knowledge DOCUMENTATION, CONCEPT
0x05xx Emotions FEELINGS, STRESS, ANXIETY
0x06xx TRM Refs References to other TRM models
0xE0xx RAG Refs Dynamic document lookups

Modifier Bit Layout

Bit:  15  14  13  12  11  10   9   8   7   6   5   4   3   2   1   0
      [--VOICE--] [--TONE--] [-WARM-] [--FORMAT--] [ACCURACY] [URGENCY]
Field Bits Values
Voice 15-14 Neutral, Formal, Casual, Technical
Tone 13-12 Neutral, Positive, Empathetic, Cautious
Warmth 11-10 Cold, Neutral, Warm, VeryWarm
Format 9-8 Prose, Bulleted, Numbered, Structured
Accuracy 7-6 Low, Medium, High, Verified
Urgency 5-4 Low, Normal, High, Critical

TRM Integration

This crate is designed for use with TinyRecursiveModels (TRMs) that output opcodes directly.

The factored prediction approach uses 3 heads:

  • ACT head → Action code
  • SUBJ head → Subject code
  • MOD head → Modifier flags

This allows small models (~148K params) to achieve 99%+ accuracy on opcode prediction.

Related Crates

  • frame-catalog: Vector store and RAG system

License

MIT

Commit count: 0

cargo fmt