Instructions to use Mihai-LeanZero/Qwen3.5-9B-Atlassian-lora with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- MLX
How to use Mihai-LeanZero/Qwen3.5-9B-Atlassian-lora with MLX:
# Make sure mlx-lm is installed # pip install --upgrade mlx-lm # if on a CUDA device, also pip install mlx[cuda] # Generate text with mlx-lm from mlx_lm import load, generate model, tokenizer = load("Mihai-LeanZero/Qwen3.5-9B-Atlassian-lora") prompt = "Once upon a time in" text = generate(model, tokenizer, prompt=prompt, verbose=True) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- LM Studio
- MLX LM
How to use Mihai-LeanZero/Qwen3.5-9B-Atlassian-lora with MLX LM:
Generate or start a chat session
# Install MLX LM uv tool install mlx-lm # Generate some text mlx_lm.generate --model "Mihai-LeanZero/Qwen3.5-9B-Atlassian-lora" --prompt "Once upon a time"
- Atomic Chat
Qwen3.5-9B-Atlassian-lora
The LoRA adapter (rank 32) behind Qwen3.5-9B-Atlassian-Q8-mlx.
Release v0.3. The full write-up, with every test explained and every round compared, is on LeanZero's page: leanzero.net/portfolio/atlassian-models. The same evidence is reproduced below.
Built by LeanZero, the people behind CogniRunner (AI workflow rules for Jira), Sentinel Vault (Confluence attachment governance), LeanZero Management (PPM for Jira Cloud) and Atlassian migrations. Quantised with mlx-node and mlx-lm, trained with mlx-lm, served and evaluated with LeanZero's Rapid-MLX fork, all on one Apple Silicon Mac Studio.
What it is
The adapter alone (rank 32, scale 2.0) for Mihai-LeanZero/Qwen3.5-9B-Atlassian-Q8-base-mlx. mlx-lm resolves adapters from a local folder only, so download it first.
What it was trained on
One run, two full epochs (4300 steps, learning rate 5e-5) on the 27B's round-4 mix m7: 18,189 samples, about 6.1M tokens. Twelve Forge apps written by LeanZero plus five forge-sim fixtures; schema-generated manifests validated by Atlassian's validator; UI Kit examples that compile (@forge/react 12); the Forge documentation as text and as verbatim-gated question-answer pairs; endpoint and scope facts from six Atlassian OpenAPI specs; LeanZero's community-research compendium and posted answers; 220 public Atlassian Developer Community threads; the 27B's own gate-passing apps from two rejection-sampling rounds (431 + 937) and 362 validator-corrected fix pairs; a general-code replay slice.
Measured
Against its own untouched base on the same harness as the 27B: Atlassian identifier probe 62% vs 15% (facts before 2026-04) and 15% vs 15% (after), thinking on; with thinking off, served: 69% / 38%. Forge shape tasks (a complete app from a one-line brief, thinking OFF, served through Rapid-MLX): 19 of 25 manifests pass Atlassian's validator and 16 of 25 complete apps also compile under tsc against the real @forge/* types. For scale, the 27B release scores 12 of 25 on the identical tasks: the small model trained two full epochs on the same data in one run and that budget shows. Looping battery (40 prompts x 4 sampling legs, 2048 tokens): genuine loops 0 / 0 / 4 / 0 vs its base 0 / 0 / 5 / 3, non-termination 18 / 8 / 13 / 0% vs 28 / 23 / 33 / 23%. Leak probe: LEAK PROBE PASS: 0 leaks over 112 outputs (26 regex matches: {'hallucinated': 21, 'hallucinated-token': 5}). Validation loss: 0.575 on its training mix, 0.959 on the 27B's round-1 mix. Merged 8-bit model vs base+adapter (top-1024 KLD, 200 prompts): 0.0537, top-1 99.14%. MTP on the merged model in Rapid-MLX, single stream: draft acceptance 67%, decode 63 -> 72 tok/s (1.14x) at 128, 63 -> 69 tok/s (1.09x) at 2048, 61 -> 66 tok/s (1.08x) at 8192, 54 -> 57 tok/s (1.05x) at 32768. LM Studio MLX engine: loaded the folder and answered a Forge question (gate PASS).
Evidence: every round, every test
This model against its base and the 27B release
| test | untouched 9B base | 9B tuned | 27B release (T4) |
|---|---|---|---|
| identifiers pre / post, thinking on | 15% / 15% | 62% / 15% | 69% / 23% |
| identifiers, thinking off (served) | n/a | 69% / 38% | 62% / 31% |
| manifests valid (of 25) | n/a | 19 | 14 |
| complete app passes every gate (of 25) | n/a | 16 | 12 |
| loops per leg | 0 / 0 / 5 / 3 | 0 / 0 / 4 / 0 | 0 / 0 / 1 / 0 |
| non-termination per leg | 28 / 23 / 33 / 23% | 18 / 8 / 13 / 0% | 25 / 15 / 28 / 12% |
| merged 8-bit vs base+adapter: KLD / top-1 | - | 0.0537 / 99.14% | 0.0407 / 99.43% |
| MTP acceptance / speedup | - | 67% / 1.14x, 1.09x, 1.08x, 1.05x | 51% / 1.26x, 1.38x, 1.34x, 1.21x |
| LM Studio load | - | PASS | PASS |
How each test works, the training data per round and the full 27B history: leanzero.net/portfolio/atlassian-models.
How to run it
goose (LeanZero local edition) / Rapid-MLX
rapid-mlx serve <folder> --text-only --tool-call-parser qwen3_coder_xml --reasoning-parser qwen3 --speculative-config '{"method":"mtp","model":"<folder>","num_speculative_tokens":3}'
LM Studio: put the folder under your models directory (for example models/leanzero/<folder>); it loads with the MLX engine like any mlx-community model. Measured on this release, see above.
mlx-lm
mlx_lm.generate --model <folder> --prompt "Which Forge module adds a panel to the Jira issue view?"
mlx-lm with the adapter
hf download Mihai-LeanZero/Qwen3.5-9B-Atlassian-lora --local-dir ./lora-9b
mlx_lm.generate --model Mihai-LeanZero/Qwen3.5-9B-Atlassian-Q8-base-mlx --adapter-path ./lora-9b --prompt "Write the manifest.yml for a Jira issue panel with UI Kit"
Sampling
Thinking: temperature 1.0, top_p 0.95, top_k 20. Instruct: temperature 0.7, top_p 0.8, top_k 20, presence penalty 1.5. Trained with reasoning_effort=medium, preserve_thinking=false.
Limits
A 9B that knows Forge, Jira, Confluence and JSM far better than its base, at a fraction of the 27B's memory. It is not a compiler: pair it with the manifest validator and tsc. Use thinking for questions and thinking OFF for code generation. Version facts are pinned to the June 2026 @forge/* wave. English only. Trained with reasoning_effort=medium.
Family
Qwen3.5-9B-Atlassian-Q8-mlx (the model), Qwen3.5-9B-Atlassian-lora (the adapter), Qwen3.5-9B-Atlassian-Q6-mlx and -Q4-mlx (smaller), Qwen3.5-9B-Atlassian-Q8-base-mlx (the untouched base). The 27B: Qwen3.8-27B-Atlassian-Q8-mlx and family.
Licence and provenance
Apache-2.0 (inherits the base). Training data: Forge apps written by LeanZero, public Atlassian developer documentation, Atlassian Cloud OpenAPI specifications, LeanZero's vetted community-research compendium and posted community answers, 220 public Atlassian Developer Community threads (question plus accepted answer), and a small general-code replay slice. No credentials; tenant hostnames and e-mail addresses were rewritten before training, and the finished model was probed for memorised strings against a control run on the untrained base. Method and gates: see the LeanZero write-up.
Quantized