Moissanite Labs · open research

ML Weft

Become the weaver.

Weft is an open research program on adaptive models that change themselves within bounds you can check. It treats models as cells and gates every weight update on a measurable distance from a saved baseline. Each claim it makes is paired with a test that could fail.

Early research, not a product Code: Apache-2.0 Docs: CC BY 4.0 No token, no sale
The idea

Three threads, woven together

A weft is the thread a weaver passes across the fixed warp. In Weft, the fixed warp is a set of checks that never loosen, and the models are the threads that move.

Models as cells

Each model is treated as a cell in a shared memory arena. A cell proposes two candidate updates, one cautious and one exploratory, and keeps whichever does better on its target. A frozen core stays put while the edges adapt.

weft/runtime/plasm

Bounds you can check

An update is committed only if it stays within a fixed distance of a saved baseline and fits its resource budget. The same rule is written in Python, C11 and JavaScript. Python and the browser port read one JSON conformance file; the C11 header is checked against hand-written copies of most of those cases (Python all 12 vectors, JavaScript the 6 weight-update vectors).

weft/runtime/invariants

Interfaces as fields

Eido is Weft's design language. Style is a point in a continuous space rather than a fixed theme, and the screen is fed small hash-checked packets instead of loose JSON. The demos on this page run on its code.

Moissanite-Labs/weft-eido
Try it

Run the real code in your browser

Each demo below imports a module from the repository. The modules are tested in CI, and nothing is mocked.

The safety gate

A model may rewrite its own weights, but only inside a ball around a saved baseline: ‖W − W₀‖ ≤ R, and only while budget ≥ cost > 0.

The design notes first checked something weaker: whether the size of the weights changed. Press Flip signs to see why that fails. The flip keeps the size identical while moving every weight as far as it can go. The weak check waves it through, and the gate rejects it. That was the project's first repair.

Source: invariant-gate.js, a port of invariants.py that is checked against the six weight-update vectors from the same vectors.json file Python runs in CI—not the full twelve-case corpus.

Distance from baseline0.00
Budget10 / 10
3.0
Weak check (before repair)
| ‖W′‖ − ‖W₀‖ | ≤ R
Waiting for a proposal
Weft gate
‖W′ − W₀‖ ≤ R, budget ≥ cost > 0
Waiting for a proposal

Propose an update. Only proposals the gate accepts are committed.

Packets you can verify

Agents in Weft talk in SYM-2P: one dense line with a header, an s-expression payload and the SHA-256 of that payload. One status message is 101 bytes, where the JSON version took 481, and a program can check it without parsing English.

Edit any character in the packet. The verifier recomputes the hash as you type.

Source: sym2p-parse.js (browser) and sym2p_codec.py (Python). Protocol: Moissanite-Labs/abios.

checking

Style as a point in space

Eido treats a visual style as a position in a continuous space. Drag the point inside the triangle to blend three presets. Their weights always sum to one.

Hue is periodic, so the mixer averages it as an angle on a circle. A straight average of red at 0.95 and red at 0.05 would land on cyan.

Source: simplex-pad.js and aesthetic-mixer.js from Eido.

A card in the blended style

Corner radius, spacing, hue and contrast all come from the point you chose.

Woven
Status

What runs today, and what doesn't

Weft keeps a strict line between code that executes and tests, and ideas that are still on paper. The biological names (cells, membranes, mitosis) describe what the design aims for. They don't claim the code has arrived.

ComponentWhat it isStatus
C1 · Plasmweft/runtime/plasm Shared-memory arena, A/B candidate updates, a frozen-core mask and provenance watermark checks.CPU; Apple MPS when the backend reports it available. runs · tested
C2 · Invariantsweft/runtime/invariants The safety gate above, in Python, C11 and JavaScript: Python all 12 shared vectors; JavaScript the 6 weight-update vectors; C11 hand-coded copies of most cases. runs · tested
C3 · ICweft/runtime/ic Interaction-combinator graph reducer with a binary serializer and a graph-committed execution record.Confluence of this variant is not proven. runs · tested
C4 · Ledgerweft/runtime/ledger Three Solidity contracts for provenance, metering and disputes.Not compiled in CI. Never deployed. research draft
C5 · Gatewayweft/runtime/gateway Offline simulator of the contracts, a pure-Python Keccak-256 and ABI topic checks. Localhost RPC only by default. simulation only
C6 · Telemetryweft/runtime/telemetry Host metrics, 64-byte uniform frames and the SYM-2P encoder.The data shipped with this site is a labelled fixture, not live. runs · tested
C7 · Aywaweft/runtime/aywa · site/ Weft's browser field: packet verifier, telemetry worker and a WebGPU loom with a Canvas2D fallback, built on Eido modules. runs · tested
Mac harnessweft/runtime/mac Apple Silicon entry points that wrap C1 and C6.No native Metal kernels yet. wrappers
runs · tested executes in CI simulation only runs, but models something not yet real research draft written, not executed

Not built yet: a bare-metal OS, RTL or FPGA designs, custom silicon, the peer-to-peer mesh, and any deployed governance system. Each one is kept as a design branch with its own next experiment.

Horizons

Where it is going

Four horizons, each keeping the interfaces of the one before. They are directions, not dates.

HORIZON 0

Symbolic seed

A compact, checkable wire language for agents, and claims audited against executable falsifiers.

in use
HORIZON I

Cells on a laptop

Models as cells in unified memory on commodity hardware such as Apple Silicon, under the safety gate.

in progress
HORIZON II

The physical loom

Push the gate into hardware: a minimal kernel, then a memory controller that refuses out-of-bounds weight writes.

design research
HORIZON III

The shared weave

Attribution that survives fine-tuning, fair metering, and dispute rules that people can audit and appeal.

design research
Papers

Read the papers

An overview of the whole program and a technical paper on the cell and its safety gate. Every number in them comes from code in the repository.

No token. No sale. Nothing on-chain.

Weft has no coin, token or sale, and nothing is deployed to any blockchain. The Solidity files are research drafts for studying provenance and dispute rules, and they only run inside an offline simulator. Anyone selling a “Weft token” is not us.

The corpus

Where Weft came from

Weft began as a long design conversation. About forty of those documents are kept word for word, alongside an evidence ledger that records, file by file, what was kept, what was repaired and what was set aside.

Read them as sources and hypotheses. Where they narrate a command running, that is not proof it ran.

Get started

Run the checks yourself

You need Python 3.12 or newer, Node 20 or newer, and a C compiler. Nothing here talks to the network or touches a blockchain.

Full quick start →

git clone https://github.com/Moissanite-Labs/weft
cd weft
python3 -m venv .venv && . .venv/bin/activate
pip install numpy torch

# the safety gate, in Python and C11
python -m unittest discover -s weft/runtime/invariants -p 'test_*.py'

# the browser modules this page uses
node --test weft/runtime/aywa/test_*.mjs