An integer cellular automaton that writes language, No neural network, no floating point. Free for research; non-commercial license
See the codeA one-of-a-kind language model: an integer cellular automaton that writes language.
Not a transformer and not a neural network: no attention, just learned integer rules on a ring of cells.
Try it in your browser · Research guide · Changelog · License (non-commercial)

The live playground with Flame-W. The waiting time is sped up about 2×.
MICA is its own kind of language model, designed from scratch rather than adapted from a transformer. It is a learned integer-rule cellular automaton. Its reference implementation follows the MICA exact mechanism and learning specification, revision R1.
| Part | Where | Status |
|---|---|---|
| Engine and training code (R1) | r1/ | added |
| MICA Flame-W (sentence model) | flame/ | B-740 + memory (0.3.1); sentence continuation and generation |
| MICA Ember (word assistance on a byte engine) | ember/ | v0.3a integer word readouts on the v0.2A cellular checkpoint |
Want to experiment or do research with MICA? Start with RESEARCH.md: how it works, how to measure it, the open problems, and what has already been tried.
pip install -r requirements-dev.txt # requirements.txt is numpy only, for the website
python -m pytest r1/tests -q # 139 tests, including the §7 worked example
Generate text with Flame-W:
echo '{"id":"1","prompt":"I went to the"}' > prompts.jsonl
python r1/runs/claude_flame_word_20260928/word_decode.py sentence \
--model mica:flame/runs/claude_flamew_b_20261001/train \
--vocab r1/data/word/vocab.json --prompts prompts.jsonl --tag demo --out out.jsonl
The command above runs the automaton alone. With the 0.3.1 memory readout, as on the website:
python flame/runs/claude_flamew_031_20261004/generate.py "I went to the"
python flame/runs/claude_flamew_031_20261004/run_tom.py # Tiny Theory-of-Mind, 31.25% / 31.45%
sentence writes a full sentence ("I went to the" → " movies with you.").
suggest gives a 2-3 word next-words suggestion ("Can you help me" → " find my").
Each output line in out.jsonl has the prompt and its continuation.
Try Ember v0.3a word suggestions:
python ember/runs/ember_v03a_20261004/test_word_model.py
python ember/runs/ember_v03a_20261004/word_model.py
The original v0.2A byte generator is also available:
python r1/generate_bytes.py ember/runs/codex_ember_balanced_v02a_20260928/train "I don't know"
These are research models. Ember's measured role is next-word suggestion and typed-word completion; Flame-W handles sentences. The website offers both Ember v0.3a word actions alongside Flame-W's sentence actions.
public/ and api/ are a Vercel site where people try both models and rate the output:
| Path | What it does |
|---|---|
public/index.html | The page: Flame-W sentence / next words, Ember v0.3a next word / finish word, feedback and corrections |
api/flame.py, api/ember.py | Run the official checkpoints with the exact integer engine (webapp/) and sign each output |
api/log.js | Saves signed generations and feedback to a private Vercel Blob store |
api/export.js | Owner download of all logs: curl -H "Authorization: Bearer ADMIN_KEY" <site>/api/export -o logs.jsonl (?summary=1 for counts, ?check=1 for a storage check) |
r1/data/ingest_site_logs.py | Turns that export into Ember byte records and Flame-W word records for training |
The site needs three environment variables: LOG_SECRET, ADMIN_KEY and BLOB_READ_WRITE_TOKEN.
The last one is set automatically when the Blob store is connected.
| Path | Contents |
|---|---|
r1/mica_r1/ | The engine: spec, exact integer engine, model file loader, decoders |
r1/data/ | Corpus builders; r1/data/word/vocab.json is the Flame-W vocabulary |
r1/runs/claude_flame_word_20260928/ | Flame-W word decoder (word_decode.py) and word metrics (word_eval.py) |
r1/run_train.py, r1/train_soft.py | Training |
r1/checks/, r1/tests/ | Experiments, evaluations and tests |
docs/ | Findings, plans and experiment write-ups (r1-findings.md, spec-gaps.md, ...) |
r1/mica_r1/score.dll is a Windows build of r1/mica_r1/score_kernel.c.
See r1/README.md for the engine layout and training commands.
Free for personal use and research use. Commercial use is forbidden. See LICENSE for the full terms. For commercial licensing, contact the repository owner.
An integer cellular automaton that writes language, No neural network, no floating point. Free for research; non-commercial license
See the codeA one-of-a-kind language model: an integer cellular automaton that writes language.
Not a transformer and not a neural network: no attention, just learned integer rules on a ring of cells.
Try it in your browser · Research guide · Changelog · License (non-commercial)

The live playground with Flame-W. The waiting time is sped up about 2×.
MICA is its own kind of language model, designed from scratch rather than adapted from a transformer. It is a learned integer-rule cellular automaton. Its reference implementation follows the MICA exact mechanism and learning specification, revision R1.
| Part | Where | Status |
|---|---|---|
| Engine and training code (R1) | r1/ | added |
| MICA Flame-W (sentence model) | flame/ | B-740 + memory (0.3.1); sentence continuation and generation |
| MICA Ember (word assistance on a byte engine) | ember/ | v0.3a integer word readouts on the v0.2A cellular checkpoint |
Want to experiment or do research with MICA? Start with RESEARCH.md: how it works, how to measure it, the open problems, and what has already been tried.
pip install -r requirements-dev.txt # requirements.txt is numpy only, for the website
python -m pytest r1/tests -q # 139 tests, including the §7 worked example
Generate text with Flame-W:
echo '{"id":"1","prompt":"I went to the"}' > prompts.jsonl
python r1/runs/claude_flame_word_20260928/word_decode.py sentence \
--model mica:flame/runs/claude_flamew_b_20261001/train \
--vocab r1/data/word/vocab.json --prompts prompts.jsonl --tag demo --out out.jsonl
The command above runs the automaton alone. With the 0.3.1 memory readout, as on the website:
python flame/runs/claude_flamew_031_20261004/generate.py "I went to the"
python flame/runs/claude_flamew_031_20261004/run_tom.py # Tiny Theory-of-Mind, 31.25% / 31.45%
sentence writes a full sentence ("I went to the" → " movies with you.").
suggest gives a 2-3 word next-words suggestion ("Can you help me" → " find my").
Each output line in out.jsonl has the prompt and its continuation.
Try Ember v0.3a word suggestions:
python ember/runs/ember_v03a_20261004/test_word_model.py
python ember/runs/ember_v03a_20261004/word_model.py
The original v0.2A byte generator is also available:
python r1/generate_bytes.py ember/runs/codex_ember_balanced_v02a_20260928/train "I don't know"
These are research models. Ember's measured role is next-word suggestion and typed-word completion; Flame-W handles sentences. The website offers both Ember v0.3a word actions alongside Flame-W's sentence actions.
public/ and api/ are a Vercel site where people try both models and rate the output:
| Path | What it does |
|---|---|
public/index.html | The page: Flame-W sentence / next words, Ember v0.3a next word / finish word, feedback and corrections |
api/flame.py, api/ember.py | Run the official checkpoints with the exact integer engine (webapp/) and sign each output |
api/log.js | Saves signed generations and feedback to a private Vercel Blob store |
api/export.js | Owner download of all logs: curl -H "Authorization: Bearer ADMIN_KEY" <site>/api/export -o logs.jsonl (?summary=1 for counts, ?check=1 for a storage check) |
r1/data/ingest_site_logs.py | Turns that export into Ember byte records and Flame-W word records for training |
The site needs three environment variables: LOG_SECRET, ADMIN_KEY and BLOB_READ_WRITE_TOKEN.
The last one is set automatically when the Blob store is connected.
| Path | Contents |
|---|---|
r1/mica_r1/ | The engine: spec, exact integer engine, model file loader, decoders |
r1/data/ | Corpus builders; r1/data/word/vocab.json is the Flame-W vocabulary |
r1/runs/claude_flame_word_20260928/ | Flame-W word decoder (word_decode.py) and word metrics (word_eval.py) |
r1/run_train.py, r1/train_soft.py | Training |
r1/checks/, r1/tests/ | Experiments, evaluations and tests |
docs/ | Findings, plans and experiment write-ups (r1-findings.md, spec-gaps.md, ...) |
r1/mica_r1/score.dll is a Windows build of r1/mica_r1/score_kernel.c.
See r1/README.md for the engine layout and training commands.
Free for personal use and research use. Commercial use is forbidden. See LICENSE for the full terms. For commercial licensing, contact the repository owner.