custom
code
sovereign-compute

Perplexity Macro VM

Sovereign Source License v1.0 β€” Copyright (c) 2026 Ahmad Ali Parr + Jessica Westerhoff, BEL ESPRIT D ACCORD TRUST HOLDINGS INC. Patent Pending.

Deterministic 16-bit research VM that runs Perplexity-style planning, search, evidence, critique, and synthesis compiled to ROM. Elixir GenServer OTP + Phoenix LiveView streams every retired instruction. Host does web/model/code work behind typed capability boundaries; VM owns control flow.

Live Agent Console β€” https://snapkittywest.github.io/perplexity-macro-vm/

Features

  • Ollama / OpenAI / OpenRouter model integration (local or cloud)
  • Python execution via Pyodide (runs in browser, no server needed)
  • Web search via DuckDuckGo (client-side)
  • Terminal tools (client-side simulation, backend-ready)
  • Tool calling protocol β€” model can invoke tools automatically
  • Deterministic VM β€” 16-bit, 65K words, typed capabilities, transcript hashing

Architecture

                Phoenix LiveView (trace | regs | memory | graph)
                              ^ PubSub
                     TraceHub (ring buffer 50k)
                              ^ {:retired, trace}
MacroVM GenServer β€” fetch/decode/execute -> commit -> emit one trace
      ^ capability request | host result v
ResearchBroker (search/fetch/LLM/evidence)   Compiler (.pqm -> ROM)

VM owns control flow and acceptance policy. Host returns typed evidence records to a waiting RQ instruction.

VM Contract

Word: 16 bits, 65,536 words
ROM: $0000-$1FFF  RAM: $2000-$DFFF  MMIO: $E000-$E0FF  Stack: descending, RAM-backed
Regs: A,B,C,D, PC, SP=0xDFFF, BP, FLAGS
Cycles: fixed per opcode
State: %State{rom, ram, regs, cycles, retired, halted?, waiting?, fuel=128, transcript_hash, breakpoints, watches, trace_seq}

Instruction Set

Op Mnemonic Cyc Meaning
00 NOP 1
01 LDI r,imm16 2
02 LD r,[addr] 3
03 ST [addr],r 3
04 ADD rd,rs 1
05 XOR rd,rs 1
06 CMP ra,rb 1
07 JMP addr 2
08 JZ addr 2/3
09 CALL addr 3
0A RET 3
0B DEC r 1
0C HALT code 1
20 RQ cap,ptr,len 4 capability request
21 POLL rd 2 status
22 READ rd,off 3 host result word
23 VERIFY ptr,len 6 schema/CRC
24 EVIDENCE claim,src 3 provenance
25 COVERAGE rd 4 cited-claim coverage
26 DISAGREE rd 5 contradiction flags
27 HASH ptr,len 8+ transcript hash
28 FUEL 1 trap at zero
29 EMIT kind,ptr,len 3 checkpoint
2A CONFIRM cap 2 one-shot auth

Capabilities: 01=search 02=fetch 03=browser 04=code 05=local_model 06=file_read 07=file_write 08=calendar 09=email β€” sensitive require CONFIRM + expiring token.

Agent Console

Live: https://snapkittywest.github.io/perplexity-macro-vm/

Clean chat interface with tool calling:

  1. Connect β€” Pick provider (Ollama/OpenRouter/OpenAI), enter credentials
  2. Chat β€” Ask anything, model can call tools automatically
  3. Tools β€” Python (Pyodide), web search (DuckDuckGo), terminal
  4. Terminal panel β€” Toggle to see tool execution log
Onboarding -> Provider Selection -> Chat Interface
                                         |
                              Tool Detection (```python, ```search, ```terminal)
                                         |
                              Tool Execution (Pyodide / API / simulated)
                                         |
                              Result -> Model -> Answer

Tool Calling

The model can invoke tools by emitting fenced code blocks:

# Python execution (Pyodide, runs in browser)
import numpy as np
print(np.mean([1, 2, 3, 4, 5]))
WebGPU latest news 2025
ls -la

Results are fed back to the model for synthesis.

Run locally

# Just open the HTML file
open docs/agent-console/index.html

# Or serve with Python
cd docs/agent-console && python -m http.server 8080

Macro Language .pqm

programs/research_loop.pqm β€” declarative research logic compiled to ROM.

program research_loop
const fuel_budget=12, min_sources=3
entry: fuel fuel_budget
plan:  request search, query("topic decomposition") -> await -> verify -> branch_invalid retry_plan
search: request search, subquestion batch -> await -> verify -> evidence -> coverage -> branch_lt min_sources, search
read: request fetch, selected -> await -> verify -> evidence -> disagreement -> branch_true critique
synthesize: request local_model, render_cited_answer -> await -> verify -> emit final -> halt
critique: request search, counterevidence -> await -> verify -> jump synthesize

Compiler: lexer -> parser -> typed AST -> policy checker -> CFG -> label resolution -> opcode selection -> .pqr + .pqmap + manifest.json.

API Endpoints (Research Host)

All via ResearchBroker -> Adapters.*. Every adapter returns normalized TLV-compatible maps with source_hash.

  • Tavily Adapters.Search β€” POST https://api.tavily.com/search
  • Wikipedia Adapters.Wikipedia β€” GET https://en.wikipedia.org/w/api.php
  • Mathematica Adapters.Mathematica β€” POST https://api.wolframalpha.com/v1/query
  • Dictionary Adapters.Dictionary β€” GET https://api.dictionaryapi.dev/api/v2/entries/en/<word>
  • Fetch Adapters.Fetch β€” generic GET with allowlist
  • Browser Adapters.Browser β€” Playwright automation
  • Code Adapters.Code β€” sandboxed Python/JS
  • Local Model Adapters.LocalModel β€” Ollama/LM Studio

Run (Elixir Backend)

mix deps.get
mix test
iex -S mix
# Phoenix at http://localhost:4000
mix compile.pqm programs/research_loop.pqm --out priv/rom/

Layout

cfg/macro_rom.cfg
asm/crc16.s
docs/agent-console/          # Frontend (static, GitHub Pages)
apps/AgentConsole/           # Swift frontend
java-sdk/                    # Java SDK (Maven)
lib/perplexity_macro/        # Elixir backend
proofs/MacroProtocol.lean    # Verification
programs/research_loop.pqm   # VM programs
priv/rom/                    # Compiled ROM

License

Sovereign Source License v1.0

Copyright (c) 2026 Ahmad Ali Parr + Jessica Westerhoff BEL ESPRIT D ACCORD TRUST HOLDINGS INC.

This software is provided under the Sovereign Source License. Use, modification, and distribution are permitted only as authorized by the copyright holders. Patent Pending.

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support