Update 1.0.2 — The Honest Brain
This update rebuilds the decision core of NRE around one principle: your engineer must EARN the right to touch your setup. It learns the track, proves the problem is repeatable, proposes ONE change — and never writes anything without your consent.
Three things changed everything else. It now runs on any PC, wherever you installed the game. It ships with the real limits of 31 cars, so it works out of the box instead of asking you to teach it. And when it can't do something, it tells you exactly why instead of going quiet.
Plus a large CPU reduction that fixes stutter and Force Feedback loss in busy sessions.
⚡ Performance: big CPU reduction (stutter & FFB)
- FIXED: severe stutter and Force Feedback glitches in busy or multiclass sessions. Three separate calculations (opponent list, gap to class leader, class position) were scanning the ENTIRE grid — up to 128 cars, decoding text — on every single telemetry frame. They are now refreshed at most 4 times per second, with driver names cached: roughly 15x less work per frame when the track is full.
- FIXED: maths libraries (numpy/BLAS, scikit-learn, ONNX Runtime, OpenCV) were opening ONE THREAD PER CORE. A single inference could saturate every core and make the sim's physics thread miss its deadlines — which is exactly what makes a wheelbase jolt or drop FFB. Now limited to one thread each. This is also why setting CPU affinity by hand never fixed it: the issue was the number of threads, not which core they ran on.
- The interface no longer re-reads heavy files on every refresh: track map and internal database are cached and re-read only when they actually change.
🖥️ Works on ANY PC — wherever the game is installed
- FIXED: NRE could not find Le Mans Ultimate if your in-game profile was not called "player". LMU inherits the rFactor 2 structure UserData\<profile>\Settings: if you created a profile with your own name, NRE found nothing, no setup was ever captured, and you were stuck on "No pending setup" forever. NRE now scans EVERY profile and picks the one that actually contains your setups.
- FIXED: the game installation is now located through Steam's own manifest, across ALL your Steam libraries on all drives — it works even if you RENAMED the game folder. Epic installs are covered too.
- FIXED: on Windows 11, Documents is often redirected to OneDrive — and NRE looked in the classic C:\Users\...\Documents, missing your LMU telemetry and ACC setups entirely. NRE now asks Windows for the REAL Documents folder, in any language, and also searches next to the game installation.
- FIXED: drive scanning now only touches fixed disks — no more multi-second freezes at startup caused by empty optical drives or unreachable network drives.
- If NRE's data folder is not writable (OneDrive offline, corporate policies, read-only media), data falls back to a guaranteed-writable location instead of failing silently.
- If nothing can be found automatically you are no longer stuck: NRE prints the FULL list of paths it examined, and you can pin the correct folder permanently. A new diagnostic tool walks every requirement in order and tells you which one is blocking, in plain language.
🔌 The LMU telemetry plugin: detected and explained
- Le Mans Ultimate publishes NO telemetry without the rFactor2 shared memory plugin installed and enabled. Users were losing days to this without ever being told. NRE now checks the whole chain — plugin present, third-party plugins enabled, buffers subscribed — and says exactly which link is missing.
- NRE can repair the plugin configuration for you (with a timestamped backup) and install the plugin file from a local copy. It never downloads executables on your behalf: what it can't do safely, it explains instead.
🚗 Real limits for 31 cars, out of the box
- NRE only moves a parameter within limits it has VERIFIED for your specific car — it never guesses. Those limits used to ship for 4 cars only; on every other car you had to teach them by saving setups by hand. The app now ships with the real MIN/MAX envelope of EVERY parameter for 31 cars: all Hypercars, LMGT3s, LMGTEs, the Oreca 07 and all LMP3s — harvested from real setup files, including which parameters the game declares fixed on each car.
- Those factory limits are now a first-class source in the decision chain. Previously they only reached the engine indirectly and could silently fail to arrive, leaving legitimate changes blocked with "outside the observed limits" on parameters that had plenty of range left.
- Parameters the game declares non-adjustable on YOUR car (e.g. diff power/coast on the LMGT3s) are excluded from the rules BEFORE proposing: a high-priority rule on a non-existent parameter used to consume the proposal slot and leave you with an unexplained "no proposal".
- Continuous scales now use a MEASURABLE minimum step: 1 Nm of diff preload or 1 mm of ride height is below the noise of an A/B test and would always come back inconclusive. Preload moves by 5 Nm, brake pressure by 3 kgf, ride height by 2 mm — still one parameter at a time.
- The anti-roll bar can never be DETACHED by a proposal: index 0 is "Detached", not "one click softer", and it is protected at both the proposal and the write layer. Same for TC slip threshold 0 = "Off".
🧠 Shadow Mode: NRE proposes, YOU decide
- The brain runs in SHADOW mode by default: it analyses, learns the track, diagnoses and PROPOSES setup changes — but writes NOTHING. You apply with one click, or explicitly enable automatic mode.
- ONE parameter per iteration, maximum. The old policy that changed 4-8 parameters per session is gone. An unchanged setup is a legitimate answer when the data doesn't justify a change.
- The ML model can no longer bypass the limits: the cap applies AFTER every decision path, including the neural one.
- The proposal you SEE is the proposal you APPLY: one pending proposal, one APPLY button, deterministic. A stale proposal (car or track changed since the analysis) is refused with a clear message.
- FIXED: the mechanical side of the setup — springs, anti-roll bars, dampers, differential, camber, toe, wings — was gated behind a successful full-setup generation. If that generation failed once, the mechanical rules were frozen for the rest of the session and NRE only ever touched tyre pressures, brake ducts and fuel. They are now independent: once enough laps are collected, the mechanical rules run regardless.
- FIXED: proposals could include dozens of parameters that changed nothing (delta zero), plus fuel — which falsifies any A/B comparison. A single non-adjustable parameter among them made the ENTIRE write fail with a generic error. Proposals are now cleaned before you see them.
- FIXED: after applying a change, NRE waited for the A/B comparison to conclude — and if that comparison never closed, it waited FOREVER. The panel said "waiting for comparison laps" while the counter right above it said "0 experiments running". Drivers reported 29 valid laps with a single change applied and then nothing for the rest of the stint. A comparison that does not conclude within 12 laps is now declared INCONCLUSIVE and the cycle resumes: a result you cannot measure is still a result, and it must unblock rather than freeze.
- FIXED: a proposal made of camber alone was shown as READY and then failed on APPLY with "no change proposed". Camber is never written by the live path (it goes through the candidate chain, where an A/B can actually validate it) — but that filter ran when APPLYING instead of when PROPOSING. What you see proposed is now guaranteed to be something that path can actually write; if only camber applies, NRE says so and points you to the Telemetry Center.
- FIXED: the FIRST proposal of a stint arrived far too late. The gate was meant to be 3 timed laps, but the statistical requirement pushed it to 6-8, so nothing appeared until mid-stint. The first proposal now comes at 3 laps; every proposal after that returns to the full statistical gate. A timely suggestion you can correct beats a perfect one that arrives after you have parked.
- FIXED: two internal errors in the generation path were silently swallowed — if anything went wrong, the proposal simply never appeared, with no log and no reason. Errors are now logged in full and surfaced as a visible reason. And when enough laps are collected but generation fails, the status says so instead of pretending it is still "collecting data".
- No more silent waiting: when there is no proposal, NRE tells you exactly why — "collecting data: 5/8 laps", "track map not confirmed: 2 valid laps missing", "already at the limit: camber is at 40 and the observed range is 0 to 40" — under the Apply button and in the brain report.
🔧 Direction audit: brake bias, camber, toe
- We audited every rule direction against the sim's REAL setup files. First find: brake-bias rules were written in two opposite conventions, so some corrections could move the bias the WRONG way.
- Second find, same class of bug: in LMU's setup files the CAMBER index grows towards ZERO (higher index = LESS negative camber) and the TOE index grows towards MORE toe-in — the opposite of what the knowledge base assumed. 24 camber and toe rules were turning the knob the wrong way, including the tyre-wear rules that ADDED negative camber exactly when the inner shoulder was overheating. All corrected, each with its physical intent declared and verified against real files and the official Le Mans Ultimate setup guide.
- The front-toe understeer rules were also physically wrong regardless of encoding: understeer on entry is fought with toe-OUT, not toe-in. Fixed and sourced.
- Rules whose direction cannot be decided automatically are advice-only: never applied by the machine. Unverified directions on ACC are excluded from automation entirely — no guessing.
🎛️ Traction Control family (LMU)
- The engineer now reasons about the FULL TC family: TC level, TC power cut and TC slip-angle threshold, using the game's real setup fields. New rules for traction, slow corners, power delivery and wet conditions.
- The slip threshold has the INVERSE direction of the other two (higher = more slip allowed = LESS intervention): declared and verified, so no rule can get it backwards.
- Electronics remain PROPOSAL-ONLY: NRE suggests, you apply from the wheel or the game menu.
📂 Two files in your garage, and their names say which is which
- FIXED: up to FOUR NRE files could pile up in the game's setup menu, with three different naming schemes for what were really two roles — nobody could tell which one to load. Now there are two, and the name says it:
- NRE_1_ORIGINAL_<car>.svm — an exact copy of your starting setup. NRE never modifies it: it's your way back.
- NRE_2_USE_THIS_<car>.svm — the result. Overwritten on every application, so it's always the latest and they never accumulate.
- FIXED: the same result could be written twice under different names when you changed livery or team, because two parts of the code derived the file name from different sources. The name now comes from the car's technical identity.
- Old file names are archived (never deleted) at first launch, leaving the menu clean. And the Candidates panel shows a fixed banner: "SETUP TO LOAD IN GAME: <file>", with the time it was updated.
📊 Telemetry Center: the verdict tells the truth
- FIXED: on cars where the diagnosed parameter is fixed (e.g. "Differential (power)" on an LMGT3), the REPAIR button always failed with the misleading "minimum limit reached (index 0)". The real reason — the game declares that parameter non-adjustable on that car — is now detected first and stated verbatim.
- The diagnosis now carries RANKED ALTERNATIVES: if the best action is not applicable on your car, REPAIR falls through to the next one instead of dead-ending. If nothing applies, it lists everything it tried and why.
- Parameters the game declares fixed are no longer even MENTIONED in the verdict: suggesting an impossible change and then refusing it was the fastest way to lose your trust.
- FIXED: "destination missing" when applying a candidate. The working copy is recreated automatically from the verified base when absent.
- FIXED: generating a setup from telemetry and then pressing the main APPLY SETUP button said "No pending setup" with no explanation. They are two different pipelines by design — the message now detects your waiting candidate and walks you to the right place.
🗺️ Track learning, out in the open
- New TRACK LEARNING panel: valid laps (3 to confirm the map), coverage, measured length, registered corners and an explicit state — LEARNING, CONFIRMED, STALE... Laps with an incoherent length are EXCLUDED, never averaged in.
- Until the map is CONFIRMED, automatic changes are blocked at the source. Your manual APPLY is never blocked — you stay in charge. For those who accept the risk, that gate can now be disabled.
- "Laguna Seca", "WeatherTech Raceway Laguna Seca", "laguna_seca": same circuit, same identity. Your map, corners, diagnoses and memory are never split between name variants. Different LAYOUTS are never merged: Silverstone GP / National, Lusail Full / Short, Le Mans / Bugatti stay separate.
- Existing data is migrated automatically at first launch, with a timestamped backup created BEFORE anything is touched. Incompatible geometries are never merged: they are flagged as a conflict and kept.
📍 Corners with a name — the same name, forever
- Every circuit has a persistent corner registry: Turn 1, Turn 2... assigned on first discovery and STABLE across sessions, telemetry files and track-name variants. The verdict speaks your language ("Turn 5") instead of internal codes.
- NEW per-corner diagnosis history: from the second comparison on a track, the verdict shows REPEATABILITY ("problem seen in 3 of 4 comparisons") and the recurring problem of each corner. One bad lap is an episode; three identical ones are a diagnosis.
📚 A memory that never lies
- Every CONCLUDED A/B experiment becomes a permanent experience: car, track, parameter, direction, outcome. Inconclusive tests and rollbacks are never counted as successes.
- Suggestions are ranked by REAL past results with proper statistical smoothing: one lucky success does not create false confidence (1 out of 1 counts as 67%, not 100%).
- New MEMORY line in the AI panel, and the full YES/NO iteration report: track recognized, map confirmed, diagnosis, proposal, result, new baseline.
🏁 Official BoP support (Le Mans Ultimate)
- NEW versioned Balance of Performance registry, imported from the official PDF: BoP 1.4 (28/07/2026) ships with the app — 512 records across 16 circuits and all classes, each with its source page and verification status.
- The BoP is used as CONTEXT and LIMIT, never as a setup generator: a proposal that would break a verified regulatory limit is refused with a clear reason. Where a limit cannot be proven from the data, NRE says so instead of pretending.
- Multiple BoP versions live side by side: importing a new one never overwrites the old.
- FIXED: the BoP registry could end up invisible at runtime because the engine and the installer used two different data folders. It now lives in ONE canonical location, and any copy left in the old one is recovered and merged.
🔒 Transparency: AI notice at first launch
- A one-time notice explains, in your language, that NRE uses artificial intelligence and automated telemetry analysis, and that all AI processing happens locally on your computer: telemetry, diagnoses, setup proposals and experience memory are never sent to external AI services.
- It is a transparency notice, not a consent form: acknowledging it does not change Shadow Mode, does not enable automatic mode and does not authorise any data sharing. It appears once and never again.
🌍 Localization & 📖 manual
- FIXED: several dashboard labels ignored the selected language and stayed in English. They are now translated in all six languages, along with every new message added by this update. An automated check fails the build if a label is added without its translations.
- NEW: a full 20-chapter user manual (how the engineer thinks, track learning, the proposal and APPLY, Telemetry Center, Ghost map, BoP, operating modes, what NRE never touches, troubleshooting, files & backups, privacy) in English, Italian, French, German, Spanish and Portuguese.
- The manuals ship WITH the app as PDFs — no download needed. You will find them in NRE's own install folder, under Manuale\PDF (one file per language, plus a combined six-language edition). They are installed with NRE, never inside the Le Mans Ultimate or ACC folders: NRE does not write into the games' own files, so a game update can never delete them and Steam's "verify integrity" on the sim will never flag them.
- Known limitation: there is no menu entry yet to open the manual from inside the app — for now, open the folder above. A shortcut is coming.
📈 The brain panel was reporting zero — and it was wrong
- FIXED, and this is the big one: the honest-brain panel showed 0 records, 0 sessions, 0 experiments, 0 experiences, model never trained no matter how much you had driven. The data was there and was being written correctly — the panel was reading the wrong folder. Once NRE recognises your simulator it moves its data root down into sims\<sim>; the panel then appended sims\<sim> a SECOND time and looked in a directory that does not exist. Every read failed, and every failed read reported zero.
- Why it mattered more than it looked: those zeros told you the engineer had learned nothing, while it had. And a zero produced by a silent failure is not a measurement — it is an error wearing a measurement's clothes. With the path corrected, collected laps, A/B experiments and stored experiences accumulate visibly, and the ML model finally reaches the record count it needs to train.
- This was the third time the same doubled-path shape has bitten (setups, BoP registry, now the brain). There is now an automated check that fails if any reader rebuilds that path from an unverified root.
🛡️ Safe migration, honest failure
- Knowledge files, track maps, BoP registry and learned data are upgraded automatically at first launch, always with a timestamped backup BEFORE anything is touched. If anything goes wrong, NRE starts anyway in shadow mode — it never bricks and never writes setups on a failed migration.
- Three new guided tutorial steps (40 total, 6 languages). FIXED: the bottom bar showed version 1.0.1 on a 1.0.2 build.
A note on pace
NRE changes ONE parameter at a time and verifies each one with an A/B comparison over 5-6 comparable laps. A single stint therefore produces about one verified change — not twenty. That is the deal: every change it keeps is a change it can prove helped. If you want the full picture of what it did and why, click the AI panel for the iteration report.
As always: report anything odd with the "REPORT PROBLEM NOW" button inside the app. See you on track! 🏁