julia-1-swe

julia-1-swe is a ticket triage model for Zorch SDLC orchestration. It is a full fine-tune of niko0xdev/julia-1-zorch-triage, which is itself built on SupersonicLabs/Julia-1.

Given a ticket (title, and optionally description, labels and Given/When/Then acceptance criteria), the model makes three decisions:

  • role: which role should own the task
  • action: what kind of work the task is
  • risk: the main risk category of the task

Model summary

Base model niko0xdev/julia-1-zorch-triage (runtime SupersonicLabs/Julia-1)
Fine-tuning mode Full fine-tune, all heads trainable
Heads role (12 labels), action (11 labels), risk (5 labels)
Languages in fine-tuning data Vietnamese (with and without diacritics), Korean
License Apache 2.0 (same as the base model)
Code https://github.com/niko0xdev/julia-1-zorch
Training data niko0xdev/julia-1-swe-data
Related dataset niko0xdev/zorch-triage-dataset (same label schema; not the fine-tuning data of this model)

Labels

Head Question Labels
role (12) Which role should own this task? product, business_analysis, research, design, frontend, mobile, backend, data, ai, qa, devops, security
action (11) What kind of work is this task? implement, document, fix, test, research, review, analyze, investigate, design, deploy, refactor
risk (5) What is the main risk category of this task? normal, production, security, data_sensitive, architecture

Intended use

  • A fast first-pass classifier in an SDLC control plane: route a ticket to an owner role, tag the kind of work, and flag the risk category.
  • Use the per-head confidence to send uncertain or high-risk tickets to a stronger LLM judge or a human reviewer.

Out-of-scope use

  • Fully automated, unreviewed decisions on production, security or data-sensitive work.
  • Labels outside the fixed label sets above. The model only chooses among the listed options.
  • General text classification, generation, or chat.
  • Treating the scores below as an estimate of accuracy on real tickets (see Limitations).

Training details

Data format. Each training row has the form {state, question, options, target}, with one row per head. state holds the ticket fields (title, description, labels, acceptanceCriteria), question is the head question from the table above, options is the label list, and target is the correct label.

Training data. Published as niko0xdev/julia-1-swe-data (config default, split train). Union of the R134 and R126 synthetic compositional sets, built with scripts/linux/build_latest_union.py: 63,324 rows (21,108 tickets x 3 heads).

Language Rows
Vietnamese without diacritics 28,494
Korean 18,990
Vietnamese 15,840

Validation / model selection. R118, R119 and R121 hard validation sets combined (default / validation and eval_tasks in the same dataset): 1,188 tasks (3,564 head rows). Checkpoints were selected by task exact match.

Hyperparameters (configs/colab_cuda_latest.yaml):

Setting Value
Epochs 1
Micro batch size 1
Gradient accumulation steps 16
Learning rate 1.0e-5
Warmup ratio 0.08
Weight decay 0.01
Max grad norm 1.0
Head loss weights role 1.2, action 1.3, risk 1.0
Max length / head length 256 / 128
Precision auto
Eval every 1,000 steps (early stopping patience 4)
Seed 20261095

Hardware and code. Trained on a Google Colab NVIDIA L4 GPU with scripts/linux/train_cuda.py and scripts/linux/train_resumable.py (resumable training with periodic state checkpoints).

Evaluation

Evaluated with scripts/linux/eval_heads.py on the hard validation task files. Each set has 396 tasks (132 per language: Vietnamese, Vietnamese without diacritics, Korean).

Set Tasks Role Action Risk All three correct
R118 396 98.99% 98.48% 99.49% 97.22%
R119 396 99.75% 99.75% 99.75% 99.24%
R121 396 99.75% 99.75% 100.00% 99.49%
Overall 1,188 99.49% 99.33% 99.75% 98.65%

For reference, the base checkpoint niko0xdev/julia-1-zorch-triage scored role 67%, action 36%, risk 45% on R121.

Calibration on the same 3,564 head rows: NLL 0.021, ECE 0.0031. At a confidence threshold of 0.9, coverage is 99.47% with 99.83% accuracy.

Usage

The checkpoint uses the Julia-1 decision model runtime from the companion repository, not a standard transformers pipeline.

git clone https://github.com/niko0xdev/julia-1-zorch && cd julia-1-zorch && pip install -e .
# Per-head evaluation on task files ({task, expected} rows)
python scripts/linux/eval_heads.py --model niko0xdev/julia-1-swe path/to/validation_tasks_hard.jsonl

Loading the model in Python, as done in scripts/linux/eval_heads.py:

import os, torch
from huggingface_hub import snapshot_download
from zorch.runtime import ensure_julia_runtime
from zorch.eval_core import evaluate_task_exact

_, data_mod, model_mod, tok = ensure_julia_runtime(
    "SupersonicLabs/Julia-1", os.getenv("HF_TOKEN"), runtime_only=True
)
path = snapshot_download("niko0xdev/julia-1-swe")
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
model = model_mod.JuliaDecisionModel.from_pretrained(path).to(device).eval()
collator = data_mod.Collator(tok, max_length=256, head_length=128)

result = evaluate_task_exact(model, "validation_tasks_hard.jsonl", collator, device, batch_size=16)
print(result["task_head_accuracy"], result["task_exact_match"])

For single-ticket prediction, see scripts/v3/predict.py in the repository.

Limitations

  • Synthetic data only. Training and evaluation data are synthetic compositional tickets. The base model card reports much lower scores on a held-out benchmark of real tickets; this fine-tune has not been evaluated on that benchmark, so the numbers above should not be read as real-world accuracy.
  • Shared generator. The validation sets come from the same family of generators and vocabulary as the training data (the training union contains rows tagged with R118, R122, R126, R132 and R133 sources). No validation ticket appears verbatim in training, but the evaluation measures in-distribution generalisation.
  • Not all latest sets evaluated. R126 and R134 were used for training, so they were not evaluated.
  • Small evaluation sets. 396 tasks per set; a single error moves a per-set score by about 0.25 points.
  • Language coverage. The fine-tuning and evaluation data contain only Vietnamese and Korean. English is listed because the base model supports it, but English performance after this fine-tune was not measured.

Citation

@misc{julia1swe2026,
  title        = {julia-1-swe: Multilingual SDLC Ticket Triage on Julia-1},
  author       = {niko0xdev},
  year         = {2026},
  howpublished = {\url{https://huggingface.co/niko0xdev/julia-1-swe}},
  note         = {Fine-tuned from niko0xdev/julia-1-zorch-triage; code at https://github.com/niko0xdev/julia-1-zorch}
}
Downloads last month

-

Downloads are not tracked for this model. How to track
Safetensors
Model size
0.1B params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for niko0xdev/julia-1-swe

Finetuned
(2)
this model

Dataset used to train niko0xdev/julia-1-swe

Evaluation results