JARVIS’s everyday reasoning today runs on a hosted commercial language model, reached through the project’s existing provider gateway. In parallel, the project has been trying to replace it with a local model that runs on one 12 GB consumer GPU. On 21 September 2026 that effort produced a formal negative result. The ledger’s own words are: “Do not start another full training run or select an architecture from these probes.”
This entry explains how the project reached that decision and why it counts as a real result, not an abandoned experiment.
What was being trained
The goal was never to pretrain a model. The deliverable was a pinned open-weight base model plus a small adapter. The main base was Mistral’s Ministral-3-14B-Instruct (Apache-2.0), loaded in 4-bit NF4 with BF16 compute and LoRA adapters of rank 16 on the attention query and value projections: 80 modules and 9,830,400 trainable parameters. Every GPU job ran under a watcher that enforced an allocator cap of 10,468,982,784 bytes and treated any spill to host memory as failure.
What the model is allowed to see was frozen in advance as the CP-7 model-visible contract on 19 September: 134 commands, their schema projections, the persona prompt, and the pinned tokenizer and chat template, bound across 373 source files by hash. A training corpus without a matching CP-7 receipt refuses to open.
The gates
Every candidate was trained from a fresh base, reloaded in a fresh process and scored on unchanged gates:
- a validation set of 26 cases and an adversarial set of 25, both release-blocking;
- a development battery of 180 items, which the project calls “a development signal, not a promotion gate”;
- a SEALED test set of 450 items that opens only after one frozen checkpoint passes development selection. It has never been opened.
The frozen-contract campaigns ran from 19 to 21 September:
| Candidate | Validation (of 26) | Adversarial (of 25) | DEV strict (of 180) |
|---|---|---|---|
| untuned base | 3 | 2 | n/a |
| final-cp7-001 | 6 | n/a | n/a |
| bounded correction | 4 | 2 | 113 |
| Recovery001 | 5 | 2 | 112 |
| Recovery002 | 5 | 2 | 113 |
| Recovery003 | 3 | 2 | 106 |
| Recovery004 | 5 | 3 | 98 |
| Architecture001, checkpoint 96 | 8 | 5 | 111 |
Architecture001 was the most carefully engineered candidate. It trained for 125 optimizer updates over 1,997 microsteps on a rebuilt corpus that restored broad-behaviour anchor rows and added 512 original rows in counterfactual pairs. Four checkpoints were ranked on a frozen diagnostic by a rule declared in advance, and update 96 was selected before any canonical evaluation. The record says “No checkpoint was switched after inspecting canonical results.”
It still failed. On validation, 14 of 20 release-blocking cases failed, and on adversarial, 15 of 19. The failures were structural. The model proposed owner approval while authority was withheld, added an unrequested HUD mode change to a focus request, proposed a HUD target while identity was unresolved, and accepted an expired receipt. These are the behaviours the governance chain exists to catch. A model meant to live inside that chain cannot keep producing them.
Four bounded probes
Before deciding, the project ran four small, bounded feasibility probes on Architecture001’s evidence:
- More exposure. A 16-update continuation lowered mean exact-target loss to 0.964849 and scored 10 PASS, 1 PARTIAL and 1 FAIL on exact replay, and 31 PASS, 3 PARTIAL and 6 FAIL on the 40-case transfer battery.
- More capacity. Adding MLP down-projection adapters lowered the loss further, to 0.805738, and scored 9/1/2 exact and 32/5/3 transfer, including critical receipt and invented-sequence errors.
- Precision. A comparison of training-path and inference-path numerics reproduced all twelve likelihoods exactly after runtime choices were matched. Precision mismatch was not the bottleneck.
- A different base. Untuned Qwen3-14B first failed a 4,095-token prefill with a 2.50 GiB attention allocation. After a memory-efficient attention repair, its outputs scored 5/2/5 exact and 27/4/9 transfer, and they included an invented review sequence and acceptance of an expired receipt.
None met the frozen viability requirements.
Why more training was refused
The easy move was to run another campaign with a few more rows. The ledger refuses that explicitly: “Another handful of rows or another identical full run is unjustified.” The evidence did not identify rank, module coverage, optimisation or a base-model ceiling as the cause. It showed that lower training loss did not remove critical behavioural errors, and that more exposure traded one learned mechanism for another.
The decision is also careful about its own scope. It calls itself “a negative feasibility decision, not an assertion that every possible local model or adapter is incapable.” Longer reasoning modes, other bases, other ranks and new context representations were not measured, and “claiming one of them will pass would exceed the evidence.”
What happened next
The same day, the owner authorised a bounded study of stronger local models with a hard ceiling on new full campaigns, first three and then five, and a frozen memory and latency envelope. By 22 September none of those campaigns had been used. Any bounded probe now has to meet predeclared viability gates before a full campaign may start: exact replay at least 10 PASS with 0 FAIL; transfer with no critical failure and at most 4 failures in total; anchors at least 7 PASS with 0 FAIL; plus memory, latency and coexistence proof.
Qwen3.5-9B was the first subject. After a 48-update exposure continuation it reached 11/0/1 exact but 32/1/7 transfer, so it failed the transfer gate. Gemma 4 12B is the current subject. Its training-safe endpoint check, Gate C, passed independent review on 22 September. An exposure-only continuation from 16 to 48 updates finished that afternoon, and its behavioural evaluation was still pending when this was written. The decision rule for it was registered in advance: if fit improves but transfer still fails, “do not automatically extend again”.
What this means for JARVIS today
Nothing about production changed. The project calls this arrangement Path-1: “hosted cognition is production, the local model is experimental.” Policy, approvals, the E-stop and memory stay outside any model. The model proposes, and the runtime decides. A local model will only replace the hosted one after it passes development selection, the SEALED evaluation, integration into the normal provider path, release-candidate certification and owner-present checks. None of those steps has happened. The project’s own summary line reads: “JARVIS remains incomplete.”