How startluxlabs/startlux-decision works
StartLux-Decision is a family of typed decision models that returns option probabilities in one forward pass, exposed through a TypeSafe-compatible inference API. The main runtime flow is a client request to the server, question conversion and prompt rendering, model inference, then probability readout. The repository also includes Apple Silicon and int8 inference paths, benchmark and Decision Index evaluation, and LoRA fine-tuning with calibration. Demo harnesses illustrate computer-use and chess clients. Unsampled demo internals and several backend details are represented only where the README or source index documents them.
Main entry points: model.py Decision Engine · jevfmt.py Typed Format · server.py HTTP Server · mlx_model.py MLX Backend
Components 17
Serving and Format
- HTTP Server
startlux_decision/server.py - Typed Format
startlux_decision/jevfmt.py
Inference Runtime
- Decision Engine
startlux_decision/model.py - Torch Backend
startlux_decision/model.py - MLX Backend
startlux_decision/mlx_model.py - MLX Int8
startlux_decision/mlx_int8.py
Evaluation
- Index Engine
eval/di/startlux_decision_engine.py - Benchmark Suites
eval/suites.py - Typed Decisions
eval/typed_decisions.py - Index Batching
eval/di/batched.py - Index Results
eval/di/merge.py
Model Adaptation
- LoRA Fine-tuning
finetune/finetune_lora.py - Temperature Calibration
finetune/calibrate.py
Demonstrations
- Computer-use Demo
demos/computer_use - Chess Demo
demos/chess
Other components
- Decision Client
- Inference Service
Connections 21
- Decision Client → HTTP Server: submits decisions
README.md - HTTP Server → Decision Engine: dispatches requests
startlux_decision/server.py - HTTP Server → MLX Backend: selects backend
startlux_decision/server.py - Decision Engine → Typed Format: renders questions
startlux_decision/model.py - Decision Engine → Torch Backend: runs inference
startlux_decision/model.py - MLX Backend → Decision Engine: extends inference
startlux_decision/mlx_model.py - MLX Backend → Typed Format: renders questions
startlux_decision/mlx_model.py - MLX Backend → MLX Int8: converts projections
startlux_decision/mlx_model.py - HTTP Server → Inference Service: serves responses
startlux_decision/server.py - Index Engine → Decision Engine: calls decisions
eval/di/startlux_decision_engine.py - Benchmark Suites → Decision Engine: predicts in process
eval/suites.py - Benchmark Suites → Typed Format: normalizes answers
eval/suites.py - Typed Decisions → Inference Service: requests predictions
eval/typed_decisions.py - Index Batching → Decision Engine: runs batched evaluation
- Index Results → Index Batching: merges results
- LoRA Fine-tuning → Typed Format: renders training rows
finetune/finetune_lora.py - LoRA Fine-tuning → Torch Backend: loads base model
finetune/finetune_lora.py - Temperature Calibration → Decision Engine: measures logits
finetune/calibrate.py - Temperature Calibration → Typed Format: builds calibration rows
finetune/calibrate.py - Computer-use Demo → Inference Service: sends decisions
README.md - Chess Demo → Inference Service: requests moves
README.md