STRIX Chain

STRIX Chain is a small reasoning-first coding model. It thinks out loud before it answers, and it is trained to be careful about what it claims: when it makes a statement about code, it tries to separate what it actually checked from what it is only assuming.

It is an experimental release and the younger sibling of STRIX Arcone. Arcone's behaviour was fused into the frozen base first, and a light identity pass was trained on top of that, so Chain keeps what Arcone learned instead of overwriting it.

What it is

  • Format: MLX, 4-bit quantized. Runs on Apple Silicon.
  • Base architecture: Qwen3.5.
  • Built by fusing the Arcone weights, then adding a rank-32 LoRA over 16 layers (identity plus anchor rows from the original STRIX set), then fusing that in as well.

Intended use

Local coding help where you want to see the model reason before it commits to an answer. The system prompt it was trained against is:

You are STRIX Chain, a reasoning coding model. Write correct code. When a claim about the code is worth making, say what you verified and what you did not.

Honest limitations

This is a small experiment, not a finished model.

  • The identity pass was 40 iterations on 76 training rows. It is enough to set the name and the reasoning habit; it is not a broad instruction tune.
  • It has not been benchmarked. Treat any impression of quality as anecdotal until numbers exist.
  • The "what I verified vs. what I did not" habit is a tendency, not a guarantee. It can still be confidently wrong. Read its reasoning; do not take it on trust.

Running it

from mlx_lm import load, generate

model, tokenizer = load("Soaperloafidksum/STRIX-Chain")
messages = [
    {"role": "system", "content": "You are STRIX Chain, a reasoning coding model. Write correct code. When a claim about the code is worth making, say what you verified and what you did not."},
    {"role": "user", "content": "Write a function that merges two sorted lists."},
]
prompt = tokenizer.apply_chat_template(messages, add_generation_prompt=True)
print(generate(model, tokenizer, prompt=prompt, max_tokens=512))
Downloads last month
111
Safetensors
Model size
27B params
Tensor type
U32
·
BF16
·
MLX
Hardware compatibility
Log In to add your hardware

4-bit

Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support