Lane defaults below are core/config.py:LLMConfig (verified 2026-08-01).
Override any of them with AURA_MODEL, AURA_DEEP_MODEL,
AURA_BRAINSTEM_MODEL, AURA_FALLBACK_MODEL, or the nested
AURA_LLM__* form.
| Field | Value |
|---|---|
| Role | Primary reasoning and conversation |
| Architecture | Transformer LLM (32B parameters, Qwen2.5-32B-Instruct) |
| Runtime | MLX on Apple Silicon |
| Quantization | 8-bit (MLX native); a 4-bit build exists as a legacy / low-memory option |
| Context Window | 8192 tokens (configurable) |
| Inference | Local, on-device |
| Fine-tuning | 8-bit base weights with a personality LoRA applied; the runtime can also promote a fused LoRA delta (training/fused-model/active.json) as the live Cortex without a re-quantize |
Primary model for all user-facing conversation, reasoning, tool planning, and complex cognitive tasks.
- May confabulate when knowledge is insufficient
- Context window limits multi-turn reasoning depth
- 4-bit quantization trades precision for memory efficiency
- Cannot process images or audio natively
- Model weights are publicly available base models
- No private/personal data in training
- Prompt injection mitigations applied at runtime layer
| Field | Value |
|---|---|
| Role | Deep-reasoning hot-swap tier for hard problems |
| Architecture | Transformer LLM (72B parameters, Qwen2.5-72B-Instruct) |
| Runtime | MLX on Apple Silicon |
| Quantization | 4-bit (MLX native) |
| Inference | Local, on-device |
Hot-swapped in for the deepest reasoning passes on 64GB-class desktops. It is
the highest-capacity local lane but the slowest (~84s/pass), so it is not the
default foreground model — the 32B Cortex handles standard turns and the Solver
is promoted only when a problem warrants it. Auto-detected/enabled via
AURA_DEEP_MODEL.
| Field | Value |
|---|---|
| Role | Background maintenance, classification, lightweight tasks |
| Architecture | Transformer LLM (7B parameters) |
| Runtime | MLX on Apple Silicon |
| Quantization | 4-bit (MLX native) |
| Context Window | 4096 tokens |
| Inference | Local, on-device |
Background tasks: memory consolidation, classification, health probes, maintenance reasoning. Never used for user-facing responses in production mode.
- Reduced reasoning capability compared to primary
- Not suitable for complex multi-step reasoning
- Background-only; foreground lane isolation prevents interference
| Field | Value |
|---|---|
| Role | Fast reflex lane: sub-second acknowledgements, routing, guards |
| Architecture | Transformer LLM (1.5B parameters, Qwen2.5-1.5B-Instruct) |
| Runtime | MLX on Apple Silicon |
| Quantization | 4-bit (MLX native) |
| Inference | Local, on-device |
The lowest-latency local tier. Handles reflexive turns and lightweight routing/guard decisions when the 32B Cortex is warming or contended, so the conversation lane can answer immediately instead of waiting on the heavy model. Never used for substantive full-mind replies.
| Field | Value |
|---|---|
| Role | Fallback when local models unavailable |
| Provider | Google Gemini (llm.teacher_model, default gemini-2.5-pro) via core/brain/llm/gemini_adapter.py |
| Credential | GEMINI_API_KEY / llm.gemini_api_key — absent by default |
| Activation | Opt-in only; requires explicit configuration |
| Privacy | Prompts classified before transmission |
Emergency fallback only. Activated when local models are unavailable and the user has explicitly opted in. With no API key configured — the default state — this lane cannot activate at all.
- Cloud use is a governed action domain
(
ActionDomain.CLOUD_FALLBACKincore/governance/will.py), so it passes the Unified Will and leaves a receipt like any other consequential action. - Prompts are classified before transmission; sensitive and restricted content is not sent.
- Cloud usage is logged in the Will receipt trail and is visible in the audit chain export.
Model identity is measured from the artifact, not inferred from its path.
core/brain/llm/model_artifact_profile.py exists because footprint,
minimum-headroom, deadline, cache-residency, and identity decisions used to be
derived from spoofable path substrings ("72b", "cortex", "zenith") — a
renamed heavy checkpoint inherited light-model budgets, and an unrelated path
containing "32b" inherited a 20 GB reservation.
At load time the runtime reads:
model.safetensors.index.json→metadata.total_parametersandmetadata.total_size(exact weight bytes),config.json→ architecture shape (parameter count is estimated from this when index metadata is absent),- the safetensors file listing (names + sizes).
From those it derives a cached ModelArtifactProfile carrying a SHA-256
fingerprint over config bytes, index metadata, and the weight-file
listing. This is an identity binding, not a weight hash — hashing 20 GB on
every admission check is not viable, and the card should not imply otherwise.
The fingerprint changes whenever the artifact's declared shape changes.
The profile records which evidence produced it, so a receipt can distinguish measured truth from a naming-convention fallback (used only when the artifact is absent, as in tests and pre-download paths).
Memory footprint is then validated against the hardware profile before the
load is admitted; AURA_MLX_32B_LOAD_MIN_AVAILABLE_GB sets the floor below
which a 32B load is refused outright.