19 public projects.

Each entry is a research artefact rather than a product line: one question, one repository, one declared scope. 18 carry a detected OSS licence; Perishable's public repository has no licence file yet, so we do not describe it as open source.

How to read this index

These pages are the lab's view of each project: the question it was built to answer, where it sits in the portfolio, and what it compares against. They are not the product documentation. Every project that has a site of its own links to it from its page, and that site — together with the repository — is the authority on installation, APIs and current status.

The grouping below is by research domain, not by maturity or popularity. A domain with three projects is not less important than one with nine; it means the question has been attacked from fewer angles so far. Within a domain, projects marked featured appear first, which is an editorial judgement about where a new reader should start rather than a ranking.

What the badges mean

Language is the implementation language of the core, not of the bindings: waremax is listed as Rust and ships Python bindings, l0l1 is listed as Python and ships an LSP server. Choose on the interface you will use, not the badge.

Licence is the licence detected on the current public repository, and it varies across the portfolio. MIT and Apache-2.0 components impose almost nothing on a downstream user; the GPL-3.0 components — embedcache, memista and polymathy — carry obligations that matter if you redistribute a derived work. One entry is public-source with its licence unresolved, and we do not describe that one as open source until it is.

Status distinguishes active work from experimental work. Experimental means the public interface may change without a deprecation cycle and the scope is still being established. It is not a quality judgement — some of the most interesting results in the portfolio are in experimental repositories — but it is a planning input if you intend to depend on one.

If you are choosing between projects rather than browsing, Compare puts each one against the alternatives people actually evaluate, and Research explains the five questions the portfolio is organised around.

19 Projects
5 Domains
6 Languages
18 OSS licensed
LLM Cognition & Prompt Theory
↗
mpl Rust

Contracts, quality measurement, and audit trails for AI agent communication — between MCP, A2A, and your application.

MIT ★ 1 agent-protocol code
↗
blogus Python

Studying prompt lifecycle management. Extracts prompts from codebases and versions them as first-class dependencies.

MIT ★ 1 prompts code
↗
direktor Python

Exploring multi-modal generation pipelines. Text-to-video synthesis combining LLM scripting with generative media models.

MIT generative-ai code
↗
l0l1 Python

Studying AI-assisted data analysis with formal validation. An SQL co-pilot that learns query patterns while preserving privacy.

MIT sql code
↗
perishable TypeScript

Investigating ephemeral credential models for AI APIs. Scoped, time-limited token proxies for secure LLM access.

Licence pending security code
↗
promptel JavaScript

Exploring declarative prompt specification as a formal language. Write once, run anywhere — treating prompts as portable, typed artefacts.

MIT ★ 1 prompts code
↗
route-switch Go

Research into cost-quality optimisation for LLM routing. Routes across providers by strategy and reruns MIPROv2 prompt tuning on captured traces.

MIT MIPROv2 code
Safe & Verifiable Computing
↗
gpuemu Rust

Catch silently-wrong CUDA/Triton kernels before they ship — a GPU-less correctness oracle that finds the bugs a single-shape torch.allclose check misses.

MIT / Apache-2.0 gpu code
↗
memista Rust

Research into lightweight vector similarity search. SQLite-backed approximate nearest neighbour retrieval in pure Rust.

GPL-3.0 ★ 2 vector-db code
↗
tessera Python

Open-source privacy protocol for authenticated, metadata-private messaging — Schnorr zero-knowledge proofs, per-recipient blinded pseudonyms, and (ε,δ)-differentially-private cover traffic. No central authority.

MIT privacy code
↗
zviz Zig

Research into low-overhead sandboxing for untrusted code. An OCI-compatible Zig runtime that lets 132 syscalls through natively and denies 24 at seccomp.

MIT ★ 1 sandboxing code
↗
embedcache Rust

Studying caching strategies for high-dimensional vector computations. Eliminates redundant embedding recomputation at scale.

GPL-3.0 caching code
↗
numaperf Rust

Investigating topology-aware scheduling for latency-critical workloads. NUMA-first memory allocation and thread placement in Rust.

MIT NUMA code
↗
polymathy Rust

Investigating the transformation of keyword search into semantic answer generation. Async chunking and embedding pipelines in Rust.

GPL-3.0 search code
Formal Optimisation & Decision Science
↗
savanty Python

Bridging natural language and constraint satisfaction. Describe a discrete constraint problem in English; an LLM writes Answer Set Programming and Clingo solves it or proves it infeasible.

MIT solver code
↗
compere Python

Studying efficient ranking under sparse feedback. Multi-armed bandit algorithms for achieving better orderings with fewer pairwise comparisons.

MIT MAB code
Edge Intelligence & On-Device AI
↗
anouk JavaScript

Studying LLM integration patterns for browser extensions. A framework for rapid development of AI-augmented web experiences.

MIT browser-extension code
↗
slorg JavaScript

Research into deliberative search interfaces. A SvelteKit engine that reasons about query intent before retrieving results.

MIT SvelteKit code
Robotics & Autonomous Systems
↗
waremax Rust

High-fidelity discrete-event simulation for warehouse robotics — RMFS, AMRs, task allocation, and reinforcement-learning benchmarks in Rust.

MIT robotics code