Cruise oscillation finding: rotation rates checked as the datalog records them

The steady-cruise engine-speed oscillation finding now also checks the engine's rotation rates as they appear in the datalog itself, where the logger's sample rate can make a fast rotation show up as a slow rhythm, and says so in its evidence. Its verdict does not change.

Terminator X logs now get the wideband reading check

The check for an AFR reading that jumps faster than a wideband sensor can follow now runs on Terminator X logs. When those jumps run through the whole drive in both directions it puts the free exhaust-leak check first, and when they fall inside a speed and load range the same log already shows misfiring, it names the misfire as the cause rather than the sensor.

Three findings that disagreed with their own wording

The idle-landing finding no longer prints ranges such as "6.0 to 6.0 s" when both ends round to the same number (4 logs). The interference card no longer counts sudden timing jumps made while the throttle sensor was reading dead, when the analyzer could not tell idle from driving (1 log, still flagged for its real breakup under load). And the "lean events under load, cause unclear" finding now reads medium rather than high confidence when it also says none of its events carried much weight on their own (9 logs).

E85 logs: the Decel AFR card judges coasting on your fuel's own scale

On a log whose AFR targets are on an ethanol scale, the Decel AFR card counted every coasting reading as rich because it compared them with the 14.5:1 line used for gasoline. It now judges them at the equivalent mixture for that fuel and states the line in your log's own numbers.

Boosted Terminator X tunes no longer show idle and cruise AFR targets taken from the boost rows

On a Terminator X tune whose fuel table runs into boost, the AFR Targets line was quoting "idle" and "cruise" targets from cells that sit in the boost part of the target table. It now shows the full-throttle target only and says that the idle and cruise rows cannot be identified on that file.

Asks for the rest of a Terminator X recording that was split into pieces

The Terminator X datalogger saves a long recording in pieces. When you upload only one piece and it stops with the engine still running, the results page now says so and names the next file to upload, so the end of the drive can be analyzed too.

New check: stops that start out lean after every coast-down

When several stops in a log run lean for their first few seconds at idle and then settle on target, the analyzer now checks whether closed loop took fuel out on the way down because the coast read rich. If it did, a new card explains that the lean start is that correction carried onto the idle, and points the fix at the light-load cells the coast passes through rather than at adding idle fuel.

No exhaust-leak advice from a log that starts on a heat-soaked engine

When a datalog begins on an engine that is already hot from a recent drive, the light-throttle fuel correction it measures in those first minutes no longer gets sent to an exhaust-leak check. The card still holds off on Transfer Learning, shows how that correction changed over the drive, and asks for a log that does not start heat-soaked before judging it.

A slower idle's battery dip is no longer read as an electrical load

Below a certain engine speed the alternator charges less, so battery voltage drops whenever idle speed drops. The two-state idle card now only treats a battery dip as a sign of something electrical switching on, such as the A/C, when idle speed held steady through the step, and otherwise judges the step like any other idle load.

The idle load-step card no longer rules out an A/C the ECU was never told about

When a drop in battery voltage shows an electrical load coming on at idle, the two-state idle card no longer says the load must be something other than the air conditioning just because A/C kick is off and the ECU's A/C input never came on. That only means the ECU was not told about it, which the card already points out on its own line.

Two fix suggestions that contradicted the card beside them are gone

The Decel AFR card no longer suggests raising RoC Blanking when closed loop is off over the whole overrun by design, and the big-cam idle note only suggests a higher-stall converter when the log is clearly an automatic, not for a manual or when the gearbox is unknown.

The warm cranking fuel note checks your last upload too

The low warm cranking fuel note now compares against your most recent upload as well as your earliest one, so a value you changed this round is no longer described as unchanged. It also no longer says the value is what the setup wizard wrote, because the earliest upload we still have is not necessarily your first.

Full-load lean-share comparisons now say when the change happened

When the full-load lean-share card compares a drive against an older upload on the same tune, it now also lists the newer uploads on that tune that showed no change, so a change from weeks ago no longer reads as if it happened since your last upload.

Lean spikes are no longer blamed on closed loop "overshooting" when it was adding fuel

The "closed loop overshooting off a rich base" explanation no longer applies when the ECU had just reset its closed-loop correction as the throttle opened, or when closed loop was already adding fuel as the lean began. Those lean spikes are now reported without that explanation, and a correction quoted on the card is the one actually in force going into the lean.

The accel curve-shape card no longer contradicts the lean tip-in finding

When the lean tip-in finding on a log concludes that the accel fuel already arrived, or that something other than the accel table caused the lean, the "reshape the accel curve" card no longer appears beside it telling you to add fuel at the fast end. The rich and lean tip-in findings now show on their own.

A lean spike from an intake backfire is no longer blamed on the accel table

When the air temperature sensor in the throttle body jumps several degrees in a fraction of a second during a throttle opening, that is a flame in the intake, and the lean reading that goes with it no longer counts toward the accel-enrichment finding. If the log's other lean spikes cannot carry that finding on their own, the card now points you at the ignition side instead of telling you to add accel fuel.

A dead throttle position reading is no longer counted as interference

When the throttle position reading sits at zero while the engine is clearly pulling hard, manifold pressure jumps in that stretch are no longer counted as electrical noise. The idle air finding on such a log now says to repair and re-zero the throttle position sensor before adjusting the throttle stop.

CTS Sensor card: check first, replace second

When the coolant reading starts a little higher than the intake air reading and the coolant sensor finding on the same page rates that evidence low, the CTS Sensor card now rates it fair and leads with the free overnight key-on check instead of telling you to replace the sensor. Stronger evidence still gets the replacement advice.

No "replace your wideband" on a steady cruise log

When a log holds one steady speed, the air-fuel reading barely moves because the engine barely changes what it is doing. The WBO2 Flatline card no longer calls that a dead sensor when the reading and closed loop are both still moving with the target; it now flags only a reading stuck on one value, or one that ignores changes in load.

Mixture cards are not graded off a wideband reading that is grossly wrong

When the wideband reading swings back and forth faster than a sensor can follow through much of a drive, the cruise AFR, accel enrichment and decel AFR cards now say they cannot be graded on that drive instead of reporting engine faults, and the decel popping finding is held back. Fix the reading and log again to get those cards back.

No VE transfer suggestion while the wideband reading is faulty

When a finding on the page says the wideband reading on this drive is faulty, the Tune Accuracy card no longer suggests transferring the learned correction into the base fuel table. The correction was learned against that faulty reading, so the card now says to fix the reading and log again first.

Wideband readings that swing all drive: check for an exhaust leak first

When the wideband reading jumps back and forth faster than a sensor can follow throughout a drive, the analyzer now explains that an exhaust leak ahead of the sensor causes exactly this, just as a failing sensor can, and lists the free leak check first. The finding now also says how much of the drive the swings covered, and a few isolated spikes still point to the sensor and its wiring.

E85 logs are judged on their own fuel scale

When a datalog's commanded targets show it runs on an ethanol scale (stoichiometric near 9.8:1 instead of 14.7), the analyzer now judges idle mixture, cruise richness, accel enrichment and impossible-reading checks against that scale. An on-target E85 cruise or idle is no longer called rich, and the E85 tune's own rich commands are no longer counted as sensor faults.

Compensation-limit columns follow your tune's RPM range

The RPM columns of the Closed Loop and Learned Compensation Limits tables are now cut from your tune's own RPM range, the way the manifold-pressure rows already were. On a tune whose RPM axis stops at 4,000, the columns are 500 RPM wide, so a limit the analyzer names now matches a column on your screen.

Terminator X tunes with a 4-bar sensor, E85 targets or an unregulated blower

Terminator X tunes whose fuel and timing tables run to 4 bar of manifold pressure, and E85 tunes whose richest targets sit below 8:1, are now read in full instead of being skipped. A supercharged car with no boost control in the tune is no longer rated against naturally aspirated pump-gas timing, its WOT AFR target is judged on its own fuel scale, and when a timing table cannot be read the WOT timing figure is no longer rated at all.

Key-on fuel now checked when matching a log to its tune

When a datalog starts before the engine is cranked, the analyzer now compares the fuel the ECU used at key-on with the attached tune's cranking fuel. A steady difference there means the log was recorded on a different tune, and the results page now says so instead of leaving the question open.

A tune file sent on its own is matched to your earlier logs by name

When you upload a tune file without a datalog, earlier datalogs that were recorded with that same tune loaded now count as the same vehicle even if you labelled the uploads differently. That lets the analyzer tell you when the file is an older PC copy rather than what your ECU is running. Accounts with more than one vehicle are unchanged.

A Target AFR edit now counts as a tune change

The finding that compares your full-throttle mixture with an earlier upload on the same tune no longer says the tune did not change when you edited the Target AFR table in between. It now looks for an earlier upload on the same targets instead.

A stalled restart no longer counts as an idle dip

When a hot restart catches, stalls and has to be cranked again, the Idle Stability card no longer counts the engine speed sagging right after that second catch as a dip in your warm idle. Logs with a single start are measured exactly as before.

Findings now agree with the cards beside them

The decel-popping finding no longer tells you to raise RoC Blanking when every overrun reading sits above the engine speed where closed loop stops on a shut throttle. The rev-limiter finding no longer claims the limiter only works with ECU-controlled timing and points you at your ignition box or distributor instead, and the cranking-voltage finding now says when the first catch stalled before the engine caught again.

A/C compressor only suggested for a compressor-sized idle step

The idle load-step finding and the IAC / Throttle Stop card no longer suggest an A/C compressor when the step in idle air is as large as putting an automatic in gear. The battery-voltage observation is still reported.

Idle load-step finding describes a falling idle as falling

When the lighter of the two idle states in the "load steps on and off" finding is really a stretch where engine speed keeps dropping with the throttle shut, the finding now says so, instead of calling it a settled no-load idle.

No "raise the idle target" when the idle valve is already wide open

When idle drops under load but the idle valve already spends a large share of that time fully open, the Idle Under Load card and the config cross-check no longer tell you to raise the idle target, which would only ask for air the valve cannot give. They point you at the idle valve and the throttle stop setting instead.

Interference card no longer flags a held jump in engine speed

When engine speed steps up under a steady throttle and stays at its new level, the EMI/RFI card no longer counts it as the ECU losing its RPM signal. A lost signal comes back to the speed it left; real dropouts are still counted exactly as before.

Stall card recognises a missed catch on the way back to idle

When a stall happens on a closed-throttle return to idle that the idle valve never caught, and the valve was taken over well short of where your settled idle keeps it, the stall card now says so and points you at the idle hand-back settings instead of a general idle checklist.

Stall card reads the throttle on the way down

When the engine dies with the throttle shut and the pedal only goes down at the last moment to try to save it, the stall card now treats it as a closed-throttle idle stall rather than a stall under power, and no longer leads with a fuel-pressure check. The idle valve figure on the card now comes from while the engine was still turning.

Landing-dip card no longer blames an idle valve that was open

On the card about lean dips at the bottom of each return to idle, the idle valve sentences now check the valve against what your settled idle actually uses. When the valve came in more open than that, the card says engine speed fell faster than the valve could make up, instead of saying the valve arrived with too little air.

Lean-event findings skip a one-reading manifold pressure spike

When the worst reading of a lean event is a single spike in manifold pressure, such as an intake backfire, the analyzer now sets that reading aside and judges the event on the rest of its readings. The fuel and airflow figures on the finding no longer come from the engine computer’s reaction to a false reading, and the card says which reading was set aside.

Tune Accuracy agrees with the cruise card about transferring

When the Cruise AFR Accuracy card says a drive’s cruise correction has not settled yet, the Tune Accuracy card no longer suggests a Transfer Learning to Base on that same drive. It now points you to the cruise card and asks you to re-log first.

Misfire-under-load finding needs a clear fuel comparison

The finding that blames lean readings under load on a misfire, and tells you to turn Closed Loop off and clear Learn, now stands down when the fuel comparison it rests on is too small to call and does not point one way. A base fuel table that is simply short is no longer told to switch off the correction that is holding it on target.

Full-load comparisons no longer rest on one earlier drive

When the analyzer compares your full-throttle mixture with an earlier upload on the same tune, the earlier side can pool several drives. It now checks that the change holds against each of those drives, so one unusual drive (a cold morning, say) can no longer make it look as if something moved, and it lists the earlier drives one by one so you can see what the comparison rests on.

Rev Limiter card: what else could be protecting the engine

When the rev limiter is left at the 20000 default on an install where the EFI does not control timing, the Rev Limiter card now says what else could be guarding against an over-rev. With no separate ignition box that is nothing, unless the distributor has its own limiter. With an ignition box, the box may carry one. Either way, it asks you to check which.

Decel AFR card: advice that matches your file

The Decel AFR card no longer suggests raising RoC Blanking to keep a coast-down in closed loop when your coasting speed is above where the ECU turns closed loop off on a closed throttle anyway. When most of the lean readings are sitting on your injectors’ minimum pulse, it now says so beside the enrichment advice.

Throttle stop card no longer grades an idle valve that never stopped opening

On logs made of short stops, the idle air valve can arrive at each stop nearly shut and still be opening when the car pulls away. The IAC / Throttle Stop card used to average those readings and could call the stop good. It now says the valve never settled and asks for a few minutes of warm, unloaded idle.

Rich-after-start finding only measures the engine while it was running

When a hot engine caught and then stalled, the "rich right after a hot start" finding kept counting readings after the stall, from the stopped engine and sometimes from the next start. It now stops at the stall, so on a few logs its figures are smaller or the finding no longer appears, and when the engine only ran a second or two before stalling the finding is shown at low confidence.

Hot Start card no longer calls a start that stalled "clean"

When a hot engine caught and then died a second or two later, the Hot Start card could still say "First crank caught" and rate the start good. It now rates that start fair, says how long the engine ran before it stalled, and says what the next crank did.

Accel finding and fuel-delivery summary no longer disagree

On a log where the fuel-delivery check had already found that the accel fuel arrived and the lean readings came from mixture that did not burn, the accel tip-in finding could still lead with "raise the accel enrichment" when the wideband showed a few stray readings. It now gives the same combustion explanation as the rest of the page.

Lean-after-tip-in finding now recognises manual gear changes

On a manual transmission (or when the gearbox isn't known) the "lean spike after throttle tip-in" finding no longer says no gear shift was found. It now counts the lean tip-ins that came straight after a gear change made with the throttle closed.

Tip-in card no longer mistakes the recovery after a lean stumble for a fuel table problem

When the engine stumbles lean as load comes on, closed loop adds fuel for the next second or two while it recovers. The AE Tip-In card used to count that recovery as proof the fuel table was short where the throttle landed. It now checks only the steady driving after the engine settles, so some tip-in cards change their explanation, and on a few logs their rating.

Progressive linkage staging now read on newer Sniper 2 logs

For Sniper 2 datalogs saved in Holley's newer log format, the analyzer now reads the two injector-set channels, so the progressive throttle linkage card (the throttle position where your secondary injectors start delivering) now appears for those logs the same way it does on older Sniper 2 logs.

Easier-to-read Engine Health cards

The Engine Health cards are wider, so the text no longer wraps every couple of words. Clicking a card now opens its full explanation and any fixes in a wide panel under that row, instead of stretching the card into a tall, narrow column.

Corrected the secondary-injector line on the progressive linkage card

On Sniper 2 datalogs the progressive linkage card could say your secondary injectors sat at your Minimum Injector Opening Time for most of the time they were on. On those logs that channel records fuel flow, not injector on-time, so the comparison was wrong and the line has been removed. Where your secondaries start delivering is unchanged.

Idle mixture is no longer rated off a few seconds of idle

On short logs with no settled warm idle, such as a quick hot restart, the Idle AFR card now says there is not enough idle to rate instead of grading a fraction of a second. The Idle MAP card keeps its reading but says when it is averaged over only a handful of idle readings.

Rich for the first few seconds at every stop

A new finding for logs where the engine runs rich for the first few seconds after each return to idle and then settles on target. It shows the correction that was built up on the way down arriving at idle, and points the fix at the fuel cells just above idle rather than at the idle cells, which an average idle reading hides.

Hot restarts: a retry that runs richer clears the enrichment

When a hot restart catches and dies, and a second try in the same log goes just as rich and keeps running, the rich after-start finding is now held at low confidence and says which attempt was which, instead of blaming the enrichment for the stall.

One upload, one gearbox reading

When one log in an upload shows the shift pattern of a manual gearbox, the other logs in the same upload now read the same way, so the idle cards stop describing the same car two different ways. Nothing is shared if anything in the upload points to an automatic.

"Combustion failing as load rises" card shows the light-load correction

When the "Combustion failing as load rises" card says the engine reads clean at light load, it now shows how much closed-loop and Learn correction the ECU was adding to those light-load readings, and how many of them were being held on target by a large correction. The card still fires exactly as before; the new figure lets you see how much of that clean reading was the ECU propping the mixture up.

Config review spots a switched-off MAP acceleration table

The config review now points out when the table that adds fuel as manifold pressure rises has been flattened to almost nothing, so you can check whether that was intended. It is reported as a setting worth a look, not as the cause of any particular symptom.

Steadier outside-air pressure when comparing uploads

When a finding compares this upload's manifold-pressure readings with an earlier one, the outside-air pressure it checks against now comes from the engine-off reading at the start of the log, or a robust full-throttle figure, instead of the single highest reading, which one backfire could throw off. Two uploads are only compared when both readings were taken the same way.

Tip-in and full-throttle cards point to a misfire another log confirmed

When a misfire finding on one log is only confirmed with help from another log in the same upload, the AE Tip-In and WOT Fueling cards now point to that finding too, the same way they already did when a log proved it on its own.

One event count per tip-in finding

When the tip-in finding explains that a lean reading after a throttle opening was not caused by the throttle, it used to quote two different event counts a line apart. It now quotes a single count, so the numbers on the card agree with each other.

A cleaner, easier-to-read site

The site has a new look and a new icon, with larger text, a simpler upload form that sits right next to the introduction, and a layout that works better on phones. Results pages show the same information with clearer headings, and the playback chart uses colors that are easier to tell apart.

Newer Sniper 2 datalogs now read how fast the throttle is moving

Sniper 2 units on the newer datalog format now have their throttle rate-of-change reading picked up, so a lean moment right after a quick throttle opening is recognised as a tip-in the same way the older format recognises it, instead of being reported as a lean event with no clear cause.

Newer Sniper 2 datalogs now read the cooling-fan output

On Sniper 2 units using the newer datalog format, the charging-system check can now see when your cooling fan was switched on, and splits the idle voltage by fan state the way it already does for the older format.

Newer Sniper 2 datalogs now read the air-temperature enrichment channel

Sniper 2 units on the newer datalog format now have their air-temperature fuel enrichment read and compared against the attached tune, the same way the older format always has. That gives the “was this log recorded on your file?” check one more reading to agree or disagree with.

Terminator X advanced tables that add fuel the whole time the engine runs are now flagged

The config review now reads your Terminator X two-dimensional Advanced Tables too. If one of them is keyed to coolant temperature and set to add fuel as a fixed lb/hr amount, it gets its own card: a table set up that way adds fuel for as long as the engine is running and nothing while it cranks, which can flood a warm-up idle.

Same car, differently named uploads are compared again

If you name your vehicle differently from one upload to the next (“94 SN95” one time, “1994 mustang gt” the next), the before-and-after comparisons against your earlier uploads now still run when the engine details in your tune match. Accounts that hold more than one vehicle keep treating differently named uploads as different cars.

“The tune did not change” now checks the accel tables too

The finding that compares your full-throttle lean readings against an earlier upload on the same tune now also requires the acceleration enrichment tables to match. If you changed any accel table between the two uploads it stays quiet instead of claiming the tune is unchanged, and its wording no longer rules out tuning as a cause.

Heavy, lugging cruise is no longer judged against the light-cruise timing range

When most of a drive’s cruising is done at heavy throttle with little manifold vacuum, the “cruise timing is conservative” finding now judges only the light-throttle part of the drive against Holley’s 32–48° light-cruise range, and says plainly that the heavier cells are meant to run well below it. If the log holds too little light-throttle cruising to judge, the finding stays quiet instead of calling a heavy-load cruise “light load”.

Flat, high heavy-load spark is now caught when the timing jumps into it

The check for spark timing that sits at one high figure under heavy load at low engine speed was being thrown off when the timing jumps abruptly between the lighter-load and heavy-load settings — readings caught part-way up that jump made a flat block look uneven. It now judges the block by where most of its readings sit, so a flat heavy-load figure is reported even when some readings land on the step.

Tip-in fuel advice now names the right table

The acceleration-enrichment reshape advice now points at AE vs TPS Rate of Change (fuel by how fast the throttle opens), with Holley’s own curve shape and step sizes, and warns against copying it into AE Correction vs TPS, which works by throttle position. The old wording mixed the two tables up and its starting curve could add fuel at wide-open throttle.

Decel popping advice only blames the pressure sensor when the lean readings point at it

When part of a coast sits at the bottom of the manifold pressure reading, the vacuum-gauge and sensor checks are now only recommended if the lean readings are the ones sitting there. Otherwise the usual decel advice stands, with one sentence saying the pinned reading is not what is making it lean.

Learn held off by your own settings is now explained, not questioned

When Learn stays off because your file tells it to below a set engine speed or throttle opening, the Tune Accuracy card and the config cross-check now say so, instead of calling Learn switched off and asking which tune is loaded.

The closed-loop check now reads your own correction limits

The analyzer no longer says closed loop looks switched off when the correction used every bit of room your file’s closed-loop limits give it where the log was running — a tight limit there is a setting, not a fault. A correction that stays near zero while the limits allow much more is still flagged.

Idle Stability no longer counts the coast down to a stop as idle

On a car that rolls to a stop in gear, engine speed is still falling when the idle measurement starts, and that descent was being scored as idle hunting. The card now measures each idle stretch from the point it stopped falling, and says how much it left out. A genuine hunt keeps cycling, so it still rates the same.

Blipping the throttle in the driveway is no longer counted as a return to idle

Standing beside the car and blipping the pedal a few times — for a timing light, say — used to be read as the engine dropping back to idle and falling short. Those crossings are now recognised by the run-up to them and left out of the undershoot count. A blip that actually stalls the engine is still reported as a stall.

The idle-undershoot card reads the mixture at the bottom before it names a cause

When the deepest return to idle arrives lean and the self-tuning table was already railed going in, the card now says so and puts “get the fuelling right first” at the top of the fix list — the idle hand-back settings cannot make up a mixture the table is not delivering. And when the bottom of the dip is actually rich, the card no longer claims the engine ran out of air.

A near-stall is no longer read as a fuelling shortfall

The “dip at the bottom of each landing is fuel” finding was counting returns to idle that fell to a fraction of the idle target — an engine on its way to stopping, where the mixture reading describes the engine dying rather than the fuel in those cells. Those landings are now named and left out of the count, and the log’s other findings describe them instead.

“Not burning” now has to hold up once the load has settled

The combustion-failure finding proves itself by showing that lean readings got more fuel than clean ones at the same manifold pressure. On some cars every one of those lean readings lands in the first second and a half after you open the throttle, where extra fuel is still wetting the intake and a lean reading is expected — so the card now checks the settled part of the load too, and says plainly when the comparison cannot decide.

A misfire is no longer called from a third of a second of driving

The misfire/false-lean finding counted readings, which on a fast logger can mean one brief pass through a cell. It now asks how many separate times you drove through that cell and for how long in total, and it leaves out readings taken while closed loop is still catching up after switching back on.

Two logs in one upload no longer disagree about whether your injectors are too small

Deciding whether a high injector duty reading is real takes two wide-open pulls in the same log, so a file without them could get “step up injector size” while the log next to it said the opposite. Your injectors are the same in both files, so that check now carries across an upload — and the page says which log it came from.

The WOT Fueling fixes now match the pulls the card was graded on

The WOT Fueling card grades your settled full-throttle pulls, but the fixes listed under it were still chosen from every reading above 80% throttle — stabs and short lugs included. On a handful of logs that meant a card reading rich of target carried lean-side advice, or the other way round. The fixes now come from the same pulls as the verdict.

When two logs in one upload disagree about a transfer, the longer drive wins

If a short log said your self-tuning corrections had settled while a longer drive in the same upload on the same file said they had not, you got the confident version. The longer drive is the stronger test, so the card now holds back a little and shows you both readings side by side — and it says so when the longer drive agrees, too.

“Ready to transfer” now says how much of the table your drive actually covered

A Transfer Learning to Base writes every corrected cell, but one drive only visits some of them. The card now tells you how many of the cells carrying a real correction this log genuinely spent time in, and how much of what would get written comes from earlier driving instead — so you know which parts of the table to re-check after you run it.

Terminator X temperature tables now use the temperature scale stored in your file

Every coolant-indexed table on this platform shares one editable temperature scale, and we had been assuming the factory one. We now read yours, so if you have ever rescaled it the temperatures we quote back to you are your own breakpoints rather than the defaults.

Terminator X: all six accel-enrichment curves and both blanking values now read from your file

Three of the accel-enrichment screens, and the two rate-of-change blanking values beneath them, were previously guessed at from their position in the file rather than read. All six curves and both values now come from your own tune, so a review can quote them and a comparison between two of your files will show an edit to any of them.

Terminator X: we can now see whether your closed-loop and learn entry conditions are switched on

Those screens let you hold closed loop or learning off below an engine speed or throttle position, and the tick box is stored separately from the number beside it — leave the box clear and the ECU ignores the number. We now read both, so a threshold that is stored but switched off is no longer mistaken for one your ECU is actually enforcing.

Boosted setups: correction-limit rows are now labelled with the right pressures

The eight rows of the closed-loop and learn limit tables cover your engine’s whole manifold-pressure range, so on a boosted setup each row spans far more than on a naturally aspirated one. We were labelling them with naturally aspirated pressures on every car; they now follow the range your own tune is set up for.

Terminator X closed-loop and learn limit tables now name the manifold-pressure band

These two 8×8 tables cap how far the ECU may correct fuelling at each load and engine speed, and we could previously only tell you which half of the table an edit landed in. We can now name the pressure band as well — so if a band has been tightened, the review points at the row you’ll see on screen instead of describing it sideways.

Tell us the ECU doesn’t control your timing and the timing cards will stop grading it

Some ignition setups look ambiguous in the config, and a log on its own can never say whether the ECU or the distributor is setting the advance — so the timing cards graded a channel that some engines never see. If you have told us your distributor sets the timing, those cards now say so and stand down instead, quoting what you told us. Setups where the ECU definitely does control spark are unaffected.

Engine-speed signal findings now suit the ignition you actually have

The two findings about a corrupted engine-speed reading used to recommend the same six fixes to everyone, two of which only apply when the ECU controls spark. On installs where it doesn’t, those two are dropped and the advice leads with the checks written for a trigger taken off the coil negative terminal. A rev-limiter flag raised below your configured limit, inside a stretch where the engine-speed reading is already known to be unreliable, now reads as a signal problem rather than as an over-rev.

The idle load-sag card no longer talks about spark on installs that don’t use it

When your Ignition Type is one where the ECU doesn’t command spark, the timing figure in the log is the ECU’s own internal number rather than what reached the plugs. The card that reports a load dragging your idle down was reading that figure as if it were delivered timing; it now says what the number is, drops the idle-spark fix those installs can’t use, and points at the distributor and its vacuum advance instead.

Clearer wording on the closed-loop correction card

A couple of sentences on the closed-loop correction finding described what the analyzer measured in overly technical terms. They now say the same thing in plain language — the correction sitting at its ceiling while the mixture is still off target — with no change to when the card appears or the numbers on it.

Fixed a count that disagreed with itself on the Timing Mode card

When your timing table still had the placeholder shape from initial setup, the count of distinct values shown on the Timing Mode card was sometimes rounded more finely than the same count elsewhere on the page, so the two numbers didn’t match. Both now read the table the same way.

Two cards stop contradicting the rest of the page

The Decel AFR card could still suggest raising a setting that was already raised, even while the fix list right beside it said so. And the top and bottom Cruise AFR Accuracy cards used to show a bare “Excellent” or “Poor” verdict with no number behind it — they now say how many cruise readings that is based on, how far off target the mixture ran, and what (if anything) to do about it.

New: a self-tuning table that has run away since your last upload

If you upload a config that is unchanged from last time apart from what the ECU learned, and a solid block of its stored corrections has grown by sixty points or more, the analyzer now says so and tells you to clear the table before the next drive rather than transferring it into the fuel table. It only reports it when a log in the same upload shows the correction pinned at its limit across that same part of the map, so an honest large correction is left alone.

New: closed loop yanking fuel out when it wakes on a pull-away

On some tunes the mixture runs well rich of its own target while pulling away from a stop, because closed loop is not allowed in yet at that engine speed. A new finding reports what happens next — the loop waking up and pulling twenty to thirty percent of the fuel back out in a couple of seconds — and shows it is real delivered fuel by comparing injector pulse width at the bottom of the dip against the same engine speed and load with the loop quiet. It points at the base fuel table rather than at the loop.

A manual gearbox can now be recognised from the datalog

Until now the analyzer could only tell you had a manual if you said so, which meant every idle comment on a stick-shift car had to stay deliberately vague about what was loading the engine. It now recognises the shift pattern itself — wide open, throttle shut for a few tenths, back on with engine speed dropped by a gear’s worth — and reads the idle sections accordingly. It fired on none of the 225 logs from owners who told us they have an automatic.

New: the engine going lean when a load pulls it below idle

Letting the clutch out, dropping into gear or a compressor kicking in can drag the engine under its idle speed with your foot still off the pedal — a corner of the fuel table almost nothing else in a drive visits, so it is the corner least likely to have been tuned. A new finding reports it with the mixture, the depth of the sag and the Learn and Closed Loop readings that show the cell was never taught, and points at the base fuel table rather than the tip-in tables.

New: a timing table that pulls spark just as a load arrives at idle

Some timing tables give up several degrees of advance as manifold pressure rises, and on an engine that idles high on that ramp the table takes spark away at the exact moment a load needs torque. A new finding reports it when the log also shows the sag it causes, with the idle spark controller already at its ceiling trying to put the advance back.

Cranking mixture is no longer shown when the sensor was not reading it

On a recording started before you turn the key, the wideband is still warming up through the crank, so the “Min AFR (cranking)” figure can be the sensor warming rather than the engine. The Hot Start panel now says so, and where the part of the crank that would show a flood carried no usable readings at all, the figure is withheld instead of shown as if it meant something.

Newer Sniper 2 datalogs can now be matched against your tune file

On Sniper 2 units using the newer datalog format we could only check whether a log was recorded on the config you sent by replaying the timing table — which says nothing when that table is flat or switched to Simple mode. Those logs now read the fuel and timing values the ECU was actually using, so the answer is far harder to get wrong: one upload had a “this did not run on your file” warning withdrawn, and another correctly identified that only part of the attached tune had been loaded.

Newer Sniper 2 datalogs now read the estimated VE channel

Sniper 2 units on the newer datalog format were missing the estimated VE reading, which several checks depend on — including the one that tells an ignition misfire apart from a genuinely lean mixture. Those logs now analyse the same way the older format does for the same drive.

Terminator X uploads now say when only the timing side could be matched to your file

When we check whether a Terminator X datalog was recorded on the tune file you sent, the answer sometimes rests on the timing table alone — which can look identical across several of your tunes. Those uploads now say so, and we also try to re-derive the base fuel table from the log itself so the fuel side can be confirmed in its own right when the drive supports it.

Terminator X logs no longer say you recorded fewer channels

On Terminator X and newer Sniper 2 datalogs we were telling owners their log had been recorded with a reduced set of channels, and some were sent looking for a setting to switch on. The readings are in the file — our reader simply does not decode all of them yet — so the note now says that plainly, and makes clear there is nothing to turn on.

A config file sent on its own is now checked against your own earlier drives

If you upload a tune file with no datalog, we now compare it against the drives you sent before that were recorded on that same tune. When the file’s self-tuning table is empty but those drives show the ECU had learned real corrections — or it was running an air/fuel target the file doesn’t contain — you get a new finding saying so, before you edit the file or send it back.

One brief stab at the pedal no longer reads as a throttle-travel problem

“Throttle never reached full travel” used to fire off a single short push, which looks the same whether the linkage ran out or you simply lifted. If an earlier upload of the same car reached full throttle, that finding now stands down and says which log reached it and when. A ceiling you actually held is still reported — that is what a linkage going out of adjustment looks like.

A boost checkbox with nothing behind it no longer costs you the WOT check

Switching the Boost section on in the Sniper software was enough to make the WOT Timing card describe your number as a boost figure and decline to rate it — even on a naturally aspirated engine whose manifold-pressure range simply ends at atmosphere. The card now looks for actual boost (a pressure range that goes above it, or a boost target you set) before using that wording, so an NA build gets its normal range check back.

Rev Limiter card asks when the limiter sits past the end of your tables

Anything under the 20,000 RPM factory default used to read simply “Set”. On a stock or mild cam whose fuel and timing tables both stop well below the limiter, the card now asks whether that engine speed is really what the build is for — everything past the last column runs on cells nobody tuned. It stays a question, because the cam setting is your own entry.

A config with no fuel table in it can no longer score “Well Configured”

A blank tuning file — one whose whole Base Fuel table reads zero — was being graded on everything around the missing table and came out well rated. It now gets its own card saying the file cannot fuel the engine, and the overall config badge can no longer read better than “Needs Attention” while that is true.

New check: a cold-start timing adder sitting on the wrong temperature scale

The Sniper software’s blank template leaves the temperature scale under the Timing vs Coolant Temp and Timing vs Air Temp curves running to 999 °F instead of the usual 260 °F. Type a cold-start curve into it, or carry one over from another file, and the extra advance that should fade out by 160 °F keeps applying at every temperature the engine actually runs at. The analyzer now flags that and tells you to check the numbers along the bottom of the curve.

Timing card no longer calls a table you built yourself a leftover

When your account history shows you have rewritten the timing table since an earlier upload, the Timing Mode card said it was still the setup Wizard’s placeholder while the timing finding right below it said the opposite. The card now agrees with the finding: it still points out a block of manifold-pressure rows with no load axis, but it no longer tells you to start the table again.

Cards that suggest baking in a correction now defer to a misfire finding

Tune Accuracy, Learn at Limit and Cruise AFR Accuracy can all end with “transfer Learn into the base table” — which is the one thing not to do while a combustion or false-lean finding on the same page says the correction is chasing a fault. Those cards now say so and name the finding. And where the Learn limit is already at 50% or more, the card stops suggesting you widen it further, because there is nowhere sensible left to go.

WOT Fueling is graded on the pulls, not on everything else in the log

The card refused to rate wide-open throttle whenever the closed-loop correction swung hard anywhere at full throttle — including throttle stabs and from-a-stop launches that the rating already sets aside. It now reads the correction through the settled pulls it actually grades, so eight recordings in our test set get the verdict they earned. Where a lean average sits next to a correction that railed elsewhere in the same recording, the card still holds back and explains why.

The “closed loop maxed out” card now shows how much extra fuel went in

Where the correction is pinned and the mixture reading will not move, the card now compares fuel per engine cycle per unit of manifold pressure against the nearest steady band where the loop was quiet, and prints how rough the engine ran in each. Where a lot more fuel is going in with no sign of a misfire, the card now asks for a closed-loop-off comparison log first instead of leading with a parts list.

Mixture tables now show how hard the ECU was working to keep a cell on target

A cell can read perfectly clean because the ECU is pouring correction into it, and until now that looked the same as a genuinely healthy one. The combustion-failure card now prints the average closed-loop and Learn correction beside every load band — and where one engine-speed band is being propped up that hard, it stops claiming the fault sorts by load rather than by engine speed.

A closed-loop-off test drive is no longer read as a broken tune

If your config has closed loop switched off and the log agrees, every mixture figure on the page is the base fuel table running on its own — which is exactly what that drive is for. Those cards now say so, and the two fixes that only work by keeping the ECU in closed loop are left off the list.

Fuel warnings no longer built on an engine speed the engine never turned

When the engine-speed reading jumps further in a fraction of a second than an engine under load possibly can, everything the ECU works out from it jumps too — including how much fuel it thinks it is sending. The analyzer now leaves those moments out of its fuel-delivery and tip-in warnings instead of grading them, and says how many it set aside.

Two fuelling warnings graded more carefully

A lean-tip-in warning is no longer raised on a handful of events where the extra fuel had demonstrably already arrived and gone rich before the lean reading — it stays, at low confidence, pointing at the combustion side. And a “injectors maxed out” warning now recognises the case where a later pull through the same cells needs half the duty cycle once the correction has wound back: that high number was the correction, not the injectors.

Lean landings that ran out of air now say so

A warning about lean returns to idle always led with the fuel table, even on logs where the idle valve arrived at the bottom of the dip with far less air than that engine’s own idle needs. On those logs it now leads with the idle air and the hand-back settings, keeps the fuel corner as the second half, and where the picture is mixed it says how the landings split. The playback timeline also names warnings the way the cards do instead of showing their internal names.

One dip, one explanation

When engine speed fell away at the bottom of a return to idle, two different warnings could describe the same dip — one calling it a return to idle and the other calling it a load coming onto a settled idle, with opposite fixes. The analyzer now works out which one it is and tells it once.

The seconds just after a start are no longer read as idle

While an engine is still on its start-up enrichment the idle valve is parked where the tune puts it, and on a short hot-restart log that held-open stretch was being read as the engine’s resting idle — on one upload it produced four separate warnings about an idle the car never actually sat at. Those readings are now left out, and a warning about idle speed drawn from only a second or two of steady running is no longer presented as a confident one.

“Throttle stop dialed in” is withdrawn when the idle valve is shut

On a log where the valve sits closed for a long stretch of steady idle while idle speed is still above target, the average idle-air figure can land inside the ideal 3–5% band by accident — and the card called it dialed in. Two logs of one upload, eleven minutes apart on the same tune, gave opposite instructions because of it. That card now reports what the valve is actually doing and asks you to sort idle speed first.

Idle mixture is no longer rated off a few seconds of idle

Idle AFR was being graded from windows as short as two seconds — on the same logs where the idle-stability and throttle-stop cards had already said there was not enough idle to judge. It now uses the same bar they do and says so instead of guessing. Where the whole-log AFR figure is shown, it also now tells you how much of it was recorded coasting with the throttle shut and closed loop switched off.

Warnings that compare a drive against your earlier uploads now actually appear

Three cautions written for returning owners — don’t fold a correction into the base table while it is still moving, don’t read a correction as a table error when the manifold-pressure reading has shifted, and don’t add fuel to a coast that isn’t burning — were only ever reaching our own review tools, never the results page. They now show on the cards they belong to. They add a sentence and never change a rating, and you’ll see them once the earlier uploads they compare against have been re-analysed.

Lean returns to idle can now point at cells that were smoothed back down

When the mixture goes lean at the bottom of each return to idle, the usual advice is to let self-tuning teach those cells. If your previous upload’s file shows you had already filled them and the last edit averaged them back down — which a whole-table smooth will do to any cell you deliberately raised — the finding now says so and asks you to put those values back instead.

Changing a fuel table’s scale without redoing the numbers is now flagged

Editing the engine-speed or manifold-pressure scale of the Base Fuel Table does not re-work the table: every number stays in its cell while the cell’s meaning moves, so the same operating point can end up asking for a lot more or less fuel than before. If your previous upload’s file shows that happened, the results page now says so, shows how much the fuel moved at the operating points your drive actually used, and explains both ways back.

Newer Sniper 2 datalogs get closed-loop, self-tuning and idle-valve analysis

Sniper 2 units on recent firmware record their datalogs in a newer format, and several channels in it had never been identified — so closed loop, Current Learn, idle valve position, injector duty and fuel flow were all missing from the analysis and every check that needs them sat the log out. They are now read, confirmed against a drive one owner happened to upload in both formats at once. Those logs now get the same fuel, idle and learn analysis as every other Sniper.

One drive uploaded in two file formats is now listed once

If you uploaded the same recording as both a .dl and a .dlz, the two could still come back as two separate logs when the compressed copy carried fewer channels. They are now matched on the recorded data itself and shown once, keeping whichever copy has the full set of channels — which also stops the “fewer channels than your last upload” notice appearing on an upload that recorded them all.

Tip-in findings now read the throttle opening, not the coast in front of it

When a drive coasted with the throttle fully shut before you got back on it, the analyzer could take its "did the extra fuel arrive?" reading from the coast instead of from the throttle opening. On some logs that turned a lean reading into a rich one and pointed the whole finding at the wrong system. Those readings now cover the throttle movement itself.

The misfire card no longer calls a cell impossible when your own log says otherwise

The strongest version of the misfire/false-lean finding says a light-load cell is being fuelled for more air than the engine can breathe at full throttle. It was comparing against the middle of your full-throttle readings rather than the highest ones, so a log that plainly did reach that much airflow under load could still be told it was impossible. Where the log itself contradicts the claim, the card now says so and drops its confidence.

An engine slowing to a stop is no longer reported as a second idle state

The "a load steps on and off at idle" finding compares two steady idle conditions, but it was averaging across stretches where engine speed was simply falling — a car rolling to a stop, or the idle valve catching a dip — and quoting that average as a held state. Where a stretch is a slide rather than a steady condition, the finding now stays quiet instead of describing something your engine never did.

Fixed a negative log length on logs recorded through interference

On a handful of logs whose clock readings jump backwards — the same interference the EMI/RFI card already reports — the Duration figure was showing as a negative number of minutes, which reads like a failed upload. Duration now reports how much recording the file actually contains and says plainly that the timestamps ran backwards, and the log-coverage and engine-temperature cards read the corrected figure too.

The decel mixture card now shows your own logged target, not just the generic one

The Decel AFR card and its coast-popping finding grade your overrun mixture against a generic reference number. Where your log carries its own commanded target for that overrun, the card now states it and how far your readings actually sit from it, alongside the existing figure — so a tune with a different target isn't read as further off (or more in the clear) than it really is.

Full-load findings now say how much throttle your engine needs to get there

The full-load comparison between two of your uploads counts readings from a fixed throttle opening so both drives are measured the same way. On an engine that reaches full manifold pressure on a much smaller opening, the finding now says so, so the share it quotes is not read as more of your driving than it covers.

A big stored self-tuning correction under load that your log never drove through

Analysis now flags a large block of learned fuel sitting in the load rows of your saved self-tuning table when the log you sent never visited those cells. It does not say the number is wrong — it says nothing in the upload can check it, lists what could be behind it, and asks for a drive log covering that range before you run Transfer Learning to Base.

The "ready to transfer" verdict now tells you how long the drive behind it was

Whether self-tuning has settled is judged by comparing the first half of a log against the second, and that test is easier to pass on a short drive than a long one. Both the recommendation and the reason it is held back now print the length of the drive they were measured over, so a verdict earned in three minutes does not read like one earned in forty.

The timing-table card stops telling you the setup Wizard wrote a table you built yourself

When a timing table holds one engine-speed curve with no load dependence, the card was calling it leftover setup-Wizard output — including for owners whose own earlier upload proves they rewrote nearly the whole table by hand. If an earlier config on your account shows the table has been rebuilt, the card now keeps the observation about the flat rows, drops the claim about who wrote it, and asks for a load axis instead of a replacement.

The throttle-stop card stops grading a log whose idle valve never stood still

On a short capture the idle air valve can still be walking down from where it started when the recording ends, and the card was quoting a point on that walk as though it were the setting. When the valve never holds a steady position anywhere in the log, the card now says so and asks for a longer settled idle instead of handing out a number and a direction.

When one log does not hold one throttle-stop answer, the card now says which part it graded

On a few logs the idle valve drifts several points across a drive while the engine is taking exactly the same amount of air, so a single reading depends on when in the log it was measured. The throttle-stop card now prints both ends of that range and roughly where each was measured, and asks you to judge the setting on one fully heat-soaked stretch.

A band carrying a big Learn correction no longer sends you to the fuel pump when it cannot be the pump

The stuck-Learn-band finding read a correction that grows with manifold pressure as a fuel-supply shortfall and told you to check injector duty and fuel pressure. It now refuses that reading in the two cases where it cannot be true: when every band's correction is negative — the tune is being told to take fuel out, which no shortfall can cause — and when the same log already carries a misfire finding that excluded fuel supply on capacity. The fuel-pressure suggestion comes off the card in both.

The hot-restart rich flare finding now explains the after-start number it quotes

When a warm engine catches and then runs rich, the card quoted the after-start enrichment figure beside the typical setting for that cell, which read as though the number itself were unusual — it is not, and the setting is not what the finding rests on. The card now says what the figure actually measures: how much extra fuel the after-start bonus was still adding at the moment the mixture was richest, and that it winds itself back to nothing as the start finishes.

A short log no longer suggests a permanent tune change your longer drives argue against

On some engines the fuelling correction travels quite a long way at one fixed cruise point over a single drive, and a short quiet capture catches only one moment of it. When an earlier long drive of the same vehicle has measured that, the Learn at Limit, Tune Accuracy and Cruise AFR Accuracy cards now say so and ask for a twenty-minute drive before you widen the correction limits or transfer Learn into the base table — both of which are permanent.

A short start clip no longer gets told it is undercharging

A log that only catches the engine firing and runs a few seconds was being rated "Undercharging", which also dragged the whole scorecard down — an alternator that has not spun up yet and a dead one look the same in that window. Across 225 start captures a healthy one is at charging voltage within 21 seconds, so below that the charging card now says there is not enough running time to rate it and shows you the numbers anyway.

A momentary oil pressure blip no longer reads as "stop and investigate"

The oil pressure card used to raise its most alarming wording off the single lowest reading in the whole log — on one Terminator X file that was 22 readings out of 2,562, all inside a four-tenths-of-a-second dip in engine speed. It now judges the low the same way the fuel pressure card already does, so a real loss of pressure still triggers it and a blip does not.

Suggestions you have already done now sit at the bottom of the list

When a suggestion asks you to set a value and your file is already there, it still gets listed — with the note saying so — but it no longer sits above something you can actually act on. Suggestions that also ask for a second change are untouched, because that second half may still be what you need.

New check: a Transfer Learning to Base that moved one block the wrong way

If you have uploaded before, the analyzer now compares your new fuel table against what the self-tuning table in your earlier file was asking for, cell by cell. When a group of neighbouring cells came out the opposite way — and your ECU has already started re-learning the same correction back into them — it names that block, quotes the before and after values, and explains why transferring again would not fix it.

The warm cranking fuel note now says whether you set that value or the setup wizard did

When your cranking fuel sits in the lowest tenth of comparable tunes, the note used to read as though you had dialled it down. If you have uploaded before, it now checks your own earliest file: if the value has not moved since then it says so and credits the wizard, and if it has moved it quotes what you started from.

Warm restarts are checked for a rich flare from 160 °F, and a warming oxygen sensor no longer counts as one

The post-start mixture check only ran on restarts above 180 °F, which left a gap on warm restarts just below it — the fuel tables treat anything from 160 °F up as fully warm, so that is where the check now starts. At the same time, a start where the wideband was still heating up and swept the full width of its range on its way to a reading is no longer read as a rich flare, and the write-up no longer implies the factory after-start value itself is the fault.

Idle hand-back settings stop leading the fix list when they were never involved

The return-to-idle card recommends adjusting the idle valve’s hold position, ramp decay and re-enable threshold. Those only do anything from a certain engine speed downward, and on some logs every dip being described started below it — so none of them ran. The card now says so and leads with the warm idle air baseline and throttle stop instead, keeping the hand-back settings as the next step.

A load arriving at idle is no longer counted as a return to idle that fell short

When the engine had already settled at idle and something then took hold of it — engine speed falling while manifold pressure climbed with the throttle still shut — that dip was being reported as the deepest return-to-idle undershoot in the log. On one drive it read as 300 RPM below target on a log whose other thirty landings ran 52. Those dips are now told apart and described for what they are, and the return-to-idle figures are worked out without them.

Simple timing mode now shows the advance it actually delivered under load

The Timing Mode card explained that a Simple curve climbs with engine speed and stays flat across manifold pressure, without ever saying what that worked out to on your drive. When your Max setting is 36° or more it now adds the figure the ECU commanded at low engine speed with the manifold loaded, and the engine speed and pressure it happened at. It is reported, not graded — whether a number is right for your engine depends on compression and fuel.

An engine being lugged down is no longer read as a fuelling problem

When engine speed collapses under load with the throttle barely moving, the report used to file it as a lean sag on a throttle reapply and hand out accelerator-enrichment changes. It now recognises the shape as a torque hole — a gear-and-load question — prints the engine speed, throttle and manifold pressure through it, and drops the enrichment advice. The detector was also missing these because a tenth of a point of throttle noise was enough to end its search.

A stumble at full throttle is no longer thrown out as a gear change

If the engine loses speed while your foot is already down, the analysis used to discard it whenever the pedal moved at all across the sag — which is exactly what happens on a hard launch. It now tells the two apart by shape instead: a gear change takes the speed in one step and leaves it there, while a stumble walks down over a couple of tenths and the engine comes back. When the mixture also goes well lean of what the ECU was asking for through it, the report names the event and prints the walk.

Base VE Topology now reads the fuel table's own load and RPM scales

This card compares a part-throttle fuel cell against the near-full-throttle cell at the same engine speed, and it was reading the scales off the timing table instead of the fuel table. On configs where a user has rescaled the two differently that meant the wrong cells were being compared, and on files whose timing scale reaches past normal atmospheric pressure the card was skipped altogether. It now uses the fuel table's own scales and the same near-full-throttle band the config comparison tool uses, so the two can no longer disagree.

New check: the full-load mixture moved and your tune did not

If you upload again, the analysis now compares the same full-throttle engine-speed bands against your earlier drive. When the share of lean readings there moves several times over while the fuel table, the tune the log ran on and the ignition timing actually delivered in that band are all unchanged, the report says so directly: the tune is not what changed, so do not keep tuning it. It prints the band-by-band table with the reading count on each side, works in both directions — a corner that got better on an unchanged tune is a result worth keeping — and needs an earlier upload to compare against.

Oil pressure is now judged by engine speed

An oil pump is driven by the engine, so its pressure rises with revs — which means a whole-drive average mostly measures how much of that drive was spent idling. The Oil Pressure card now reads the pressure at idle and under load separately and reports how much it climbs per 1,000 RPM, so an engine with a lowish hot idle but healthy pressure on the road no longer gets the "stop and investigate" warning it does not deserve. An engine that is genuinely low everywhere, and a log that only caught idle, are unchanged.

New check: your coast has stopped burning what it is being fed

If you upload again, the analysis now compares the same closed-throttle coasting cells against your earlier drive. When those cells read far leaner on at least as much fuel as before — and your idle has not moved with them — the fuel is going in and something is stopping it burning, which is the opposite of what a lean reading usually means. The report says so, quotes any stretches where the wideband was reading free air while the injectors were still firing, and tells you not to add fuel there or transfer learn until it is sorted. It needs an earlier upload to compare against, so it only appears for returning users.

The closed-loop-authority finding now points at the moment it is talking about

This finding compares one steady operating point early in a drive against the same point later, and it used to give the time the later comparison started rather than the second the off-target reading was actually taken — which could be minutes apart. It now quotes the exact time, with the engine speed, pressure and throttle to go with it. It also stands down when the injector was visibly working at that moment, which is the case it was reading wrong.

New check: the manifold pressure reading itself has moved

If you upload again on the same fuel table, the analysis now compares the two drives at matched throttle and engine speed instead of matched manifold pressure. When the pressure number has dropped but the same fuel is going in and the wideband reads the same, that is the reading moving, not the mixture — and it makes self-tuning look like a table that is short. The new finding says so, and tells you not to transfer learn until the reading is checked. It needs an earlier upload to compare against, so it only appears for returning users.

A lean coast is no longer blamed on the decel cells when the pressure reading has run out of scale

The Sniper's manifold pressure reading bottoms out at 20 kPa, and on some cars a good part of the coast sits right on that number. The Decel AFR card and its matching diagnosis used to read those stretches as a lean mixture and tell you to add fuel to the decel cells. When the reading is pinned at the bottom of its range and the coast reads lean, both now say so and point at checking the pressure reading first. Rich coasts and cars whose reading stays off the bottom are unchanged.

The low-RPM learn cutoff card now says how much of that region you actually drove

When the self-tuning table stops dead at one engine speed, the card used to present every empty cell below that line as proof of a setting. Where a datalog is attached it now measures how long the engine spent down there and how many of those cells it reached — so you can see which empty cells are evidence and which were simply never driven in. If a log never goes below the line at all, the card stands down.

A warm restart no longer reads as a failing coolant sensor

The CTS Sensor card said "replace sensor" whenever coolant read hotter than intake air at key-on — including on restarts where the block was simply still giving up heat from an earlier run. When the engine keys on warm and the log never shows it warm all the way up, the card now says the reading cannot be settled from this log and points at the free overnight key-on check instead of rating it. A log that does show a full warm-up from cold keeps the original finding.

Warm Idle Target reads the unloaded part of your idle

When a log's idle spends part of its time carrying a load — air conditioning, an automatic in gear, a pump at lock — the idle vacuum reads higher than the same engine unloaded, and that was being read as camshaft. Where a log shows both states, the cam estimate now comes from the unloaded part and the card says so.

The idle-target check now reads the idle your engine actually holds

"Warm idle target doesn't match actual warm idle RPM" was averaging every warm idle reading in the log, so returns to idle and surges pulled the number away from the speed the engine really settles at. It now grades the settled stretch when the log has one, says which stretch it used, and can also reach uploads with no config file by using the target the ECU itself was running to.

Two idle findings stop claiming the car was standing still

The idle-authority and two-state-idle findings each ended a line with "so the engine is making its own idle here, not being turned by the driveline" — read off a vacuum comparison that cannot actually tell those apart. Both now report the comparison as the check it is, and leave the conclusion to the rest of the evidence.

Coasting in gear is no longer mistaken for a stuck idle

The "idle hold air latches idle above the ramp-down threshold" finding was firing on closed-throttle coasting on several cars — the wheels turning the engine downhill holds engine speed just as steadily as a stuck idle does. It now checks the steady stretch against the same log's own idle before naming it, and the supporting line no longer treats the vacuum difference as proof, because a closed throttle spun faster pulls more vacuum either way.

The same drive sent twice is analyzed once

Holley's software leaves one recording in your folder in two formats, and uploading the folder whole used to have that drive scored, listed and counted twice. Matching drives are now recognised and analyzed once, with a note on the results page saying which file was folded in. Both files are still saved and still downloadable.

How many cylinders, from the lean readings themselves

When the analysis finds that combustion is failing under load, it now counts how deep the lean readings go and says what that is consistent with — one cylinder intermittently not burning, or two. The figure is a floor, because a very brief miss reads shallower than it really is, and it only appears where a combustion finding has already been made.

A dropped cylinder has to read like one

The "ignition misfire false-leaning the O2" finding could name a cell that only ever read slightly lean — which is a calibration offset, not a cylinder going out. It now requires the readings to reach the depth a missing cylinder actually produces, ignores warm-up enrichment while it measures that, and leads with the cell where the lean is deepest rather than the busiest one.

Tip-in findings stop counting readings the throttle cannot explain

Two changes to the accel-enrichment tip-in card. Very brief lean readings taken while the engine is lugging — high manifold pressure, low engine speed, light throttle, gone in a tenth of a second — no longer count toward it, because no amount of accel fuel could change a reading that short. And where the log shows the enrichment arriving rich of target and then more fuel going in while the reading gets leaner, the card now hands the cause to the combustion side instead of pointing at the accel tables or the fuel system.

One lean reading, one explanation

When a log shows combustion failing in a particular load and engine-speed region, the same readings were also being reported separately as "lean under load, cause unclear" and counted against your tip-in enrichment — three findings about one thing. The lean-under-load card now stands aside where the combustion finding already covers those readings, and the tip-in card says which of its events belong to it. Lean events elsewhere in the log are unaffected.

Progressive linkage: the mixture note now says which way

On the progressive-linkage staging card, the line about mixture at the staging point used to say only how far off target it was. It now says whether that is rich or lean — and when it is rich, points at the accel-enrichment step you may have put there deliberately, instead of reading like a fault.

Suggestions no longer point you at a setting you already have

Some suggested fixes name a specific value to aim for — "lower IAC Hold Position toward 12%", for instance — and if your tune file was already there, nothing said so. When you upload a config, those suggestions now add a line saying which of the named values your file already meets, so it is clear what is actually left to change.

A few evidence numbers didn't add up

One finding about a fast throttle opening was printing a percentage calculated from a different set of events than the count shown right next to it. A closed-loop dropout finding was leaning on a measurement that turned out not to tell your log apart from anyone else's, and a cooling-fan voltage reading described a single measurement as if it happened repeatedly. All three now report the numbers they're actually built from.

Uploading two tune files to compare them reads correctly now

If you send two config files in one upload and your logs were recorded on both, each log's findings are now worked out from the file that log actually ran, and the Config Review card says which of the two files it is grading.

Settings quoted from a file your ECU wasn't running now say so

Findings that hold a setting from your config file up against what the log actually did — idle target, rev limiter, IAC hold, fan setpoints — now open by saying when the log was recorded on a different tune than the file you attached. The measurement from the drive is still yours; the number it is compared against may not be.

Findings about the wrong tune file are now held back the first time too

When a datalog can be shown to have run on a different tune than the config file uploaded with it, several findings are supposed to stay quiet rather than describe a file the ECU was not holding. That check was only taking effect on a re-analysis; it now applies to every upload the first time round.

Coasting with your foot resting on the pedal is no longer read as unstable AFR

Coming down off a pull with a little throttle still applied, the engine is being turned by the car rather than by the air it is drawing, and the AFR reading there means nothing. Those stretches were already ignored when the throttle was fully shut; they are now ignored when your foot is resting lightly on the pedal too, so a coast-down no longer shows up as an AFR control problem.

"Every time you lift" is no longer said to a log where nobody lifted

The closed-loop re-entry over-shoot finding described the driver lifting and getting back on the throttle. On a log where closed loop drops out and comes back dozens of times a minute, in bursts lasting a fraction of a second, that is the loop cycling and not your right foot. The finding now measures how often closed loop came back and how long each break lasted, and says which of the two it is; the verdict and the settings to change are the same either way.

Impossible AFR swings are no longer missed when they start on a tip-in

The check for AFR readings moving faster than a wideband can physically respond used to judge a burst by how steady the throttle was across the whole burst plus a margin either side. A burst that began on a tip-in, or that carried a brief lift in its middle, was discarded whole — on one log a six-second run of readings flicking between 10 and 21 AFR at a held throttle went unreported. Each jump is now judged where it happened, so those bursts are caught while genuine throttle and load changes are still ruled out.

Over-Boost Protection now tells you the margin

The card used to state your over-boost thresholds and stop there. When a datalog in the same upload shows the boost your car actually holds, it now names that figure and how far under the cut it sits. As before, the card never suggests raising the threshold or turning the cut off.

A high IAC hold is no longer flagged as a fault on a config-only upload

When you send a tune with no datalog, the only thing behind a high "IAC Hold Position" rating is how your number compares with other people's tunes — which is a comparison, not a fault in your car. That card now reads as a comparison and says a drive log is what settles it; with a log in the upload the rating is unchanged.

We now spot a correction limit that only binds in part of the map

Compensation Limits are a grid, not a single number, and a tune that narrows them over one pressure and RPM band can stop closed loop finishing the job exactly where you drive — while the headline figure still says there is plenty of room. When your logs show the correction sitting on that narrower number with the mixture still off target, the analysis now names the band and says which limit to open up.

"Fuelling not stable enough to tune idle control" now reads your own idle target

This card is meant to stay quiet when idle is already landing on the mixture your tune asks for, but the check could only read that target from an attached config — so uploads with logs only got the card anyway, and so did uploads whose config disagreed with what the ECU was actually commanding. It now reads the idle target the log itself records, and 16 logs across our sample stop showing the card.

What a cooling fan costs your charging system, on more logs

The Charging System card can report how far the battery voltage drops each time the fan switches on, but a normal amount of timing jitter in the recording was enough to throw the measurement out — so it almost never appeared on the cars that cycle a fan. It now shows up on those logs, and readings taken across an engine start or a throttle change are discarded rather than reported as fan load.

Unusual fan switch-on temperatures now read correctly

Terminator X configs that use a fan output to drive something that should run almost all the time — an electric water pump, for example — set it to switch on near ambient temperature, and we were showing those outputs as "not configured" instead of reporting the setting. They now read correctly.

Base VE Row Shape now judges a step against your own table

A step in the fuel table meant one thing on a smooth Wizard-built file and something else on a table that has been hand-carved for months, but the check only ever compared it to a fixed number. It now also measures the step against how much the rest of your own table moves between neighbouring engine speeds, and the card says how it compares.

Coasting mixture now measured on big-cam engines too

The coasting (decel) mixture card used to disappear on engines with a big cam, because their manifold vacuum never gets as deep as a stock-cam engine's and the readings fell outside the window we looked at. The coasting window is now taken relative to each engine's own idle vacuum, so those cars get a Decel AFR reading — and the card says which window it used.

Cruise Timing Stability no longer praises flatness it cannot vouch for

When you upload a log with no config, rock-steady cruise timing was being rated good even on setups where flat timing is simply what they produce. If the drive itself shows that timing barely moves with load, the finding now says so and restates the reading instead of praising it.

New finding: a warm restart that runs rich for too long

Restarts on a part-warm engine used to fall between the hot-start and cold-start checks and got no start finding at all. The analyzer now times how long the engine runs richer than the mixture the ECU itself is asking for before it gets there, and when that takes too long it names the two After Start Enrichment cells your start sits between so you know exactly which ones to lower.

Logs that start recording after the engine is already running

If you hit record a second or two after turning the key, the analyzer now recognises the restart instead of skipping the start entirely, and the after-start mixture checks run on it. It says plainly that the crank itself is not in the file, so cranking time, cranking voltage and cranking mixture are not graded — start the recording before you turn the key if you want those.

New finding: something loads the engine at idle

The analyzer now names the moment a settled idle gets loaded and drops away — engine speed collapsing well below where it was holding with the throttle still shut, manifold pressure climbing, and the mixture never moving. Each one comes with what the ignition timing did at the bottom of the dip, which is often the difference between a timing-table fix and an idle-air one.

The full-throttle fueling card stops speaking for pulls it cannot read

If engine speed drops away and comes straight back while you are holding the throttle down, the WOT Fueling card no longer rates the mixture across it or tells you to check fuel delivery — it says the engine was not turning at the speed the throttle was asking for and hands that question to the misfire and ignition findings. And when a combustion finding already covers part of the same full-throttle region, a clean fueling verdict now says so instead of reading like an all-clear.

Comparing the low-speed corner against your last upload

If you change your spark table and upload again, the combustion finding now compares each engine-speed band against the same band last time — how much advance it actually ran, and whether the lean readings went up or down. It reports one verdict per band rather than one for the whole corner, because these bands often move in opposite directions, and a band that got worse on less advance is sent to the distributor and plugs instead of another table edit.

A finer view of the low-speed, high-load corner

The check for combustion failing at low engine speed under load used to read that corner in 500 RPM steps, which could average a half you had already fixed against a half you had not — and go quiet just as the remaining trouble became the whole complaint. It now also reads the same corner in 250 RPM steps and prints the shape, step by step, with the number of readings behind each one so you can see which rows are thin.

The misfire finding now says whether your spark is being delivered

When the analyzer reports a cylinder intermittently failing to burn, it now checks whether the spark advance the engine actually ran matches the advance your tune asked for, in the exact cells the finding is about. If they match, "the tune is pulling timing here" is crossed off the list for you. If they do not, checking timing with a light moves to the front of it.

When one of your logs contradicts another

Some findings are true of a single drive — a throttle that never opened all the way, an idle air valve sitting shut — and a later log in the same upload can show the opposite. Where that happens the result now says so on the card, names the log that reads differently, and turns the finding down instead of leaving two of your own logs arguing. It never removes a finding: what that drive showed is still reported.

A rev-limiter flag on an impossible engine-speed reading is now called what it is

When the ECU raises its rev-limiter flag on a single engine-speed reading that the readings either side of it do not support, the result no longer reports it as having hit the limiter. It now says the flag rode a bad reading, prints the neighbouring values, and points at the engine-speed signal instead of the limiter setting. Flags backed by their own neighbours read exactly as before.

New diagnosis: the RPM reading getting worse the faster the engine turns

A new check measures how often the logged engine speed jumps to a value its own neighbouring readings do not support, band by band from idle up, and reports the speed at which it starts. It also splits the same readings by engine load, so a fault that shows up on a light-throttle coast is not mislabelled as something that only happens under load. On multi-log uploads the check pools every log in the upload, so a fault spread thinly across several drives is still found.

Learn at Limit no longer says "widen the limits" when the engine is short of fuel

When Learn sits on its ceiling in the add-fuel direction and the fuel the ECU is already commanding is more than the engine can breathe — or closed loop is pinned at its own limit with the mixture still lean — raising the ceiling is the wrong move: it just lets the correction hide a delivery problem. The card now says so and points at fuel pressure, the injectors and the wideband instead. The rating is unchanged, and the original advice still stands everywhere else.

Idle Fuel Trim reports what it measured instead of blaming the fuel table

This card used to end with "the base fuel table is about X% lean at idle" — a conclusion the same data cannot support, and one we have seen turn out wrong on real cars in both directions. It now states the standing correction the ECU is holding, says plainly that a config on its own cannot tell a table error from something skewing the mixture readings, and lists the likely causes as candidates. Where your datalogs show the engine asking for far less correction under load than at idle, it now also holds off on recommending Transfer Learning To Base.

Tune Accuracy stops suggesting a transfer when neighbouring rows need opposite fixes

The Tune Accuracy card rated the whole drive at once, so it could say "consider VE transfer" on a log where we had already found two neighbouring load rows needing corrections in opposite directions — something a transfer, or any percentage applied across a block of cells, cannot fix. It now names those two rows and points at the row-by-row finding instead. The rating itself is unchanged.

Two more reasons the transfer-to-base recommendation now holds off

If the same log shows the wideband jumping further between readings than a sensor can physically respond, the report no longer tells you to bake the learn table into the base table — it says so, sizes how much of the drive was affected, and points at the wideband checks first. It also holds off when the correction the engine asks for at one fixed operating point drifts across the drive: the table may be settled, but what it is settled against is moving, and a gauge on the fuel feed settles that question before anything permanent goes into the table.

A one-second blip no longer counts as a learn correction worth transferring

The "ready to transfer learn to base" recommendation sized the correction from the single highest and single lowest learn readings in the whole log. A brief handover between closed loop and the learn table could put a big number there on a table that was already dialled in. It now needs the typical correction — or one engine-speed range's average — to agree before it fires, and where the extremes overstate things the card says what 98% of the readings actually sat at.

Fixed: the accel-curve verdict no longer averages in a misfire

The "accel curve too steep" finding compares gentle roll-ons against hard stabs. On one car the gentle half was built almost entirely from roll-ons inside the load corner where we had already found combustion failing, so it was averaging a misfire and calling it an accel-fuelling error. Those roll-ons are now left out, and if too few remain the finding stands down instead of reporting half a comparison.

Fixed: more fuel going in with a leaner reading is never a fuel shortage

We already stood the accel-fuel and fuel-pressure findings down when a log showed the enrichment landing rich before each lean reading. That test cannot work on a tune that is short of fuel everywhere, which is exactly where the mistake is most costly. Those findings now also stand down on the shape alone — the lean starting after the throttle stops, with the injector pulse still climbing as the reading gets leaner — and point at the ignition side instead.

Fixed: a lean reading after the throttle stopped is not always the accel tables

When a throttle opening reaches the mixture the tune asked for and only goes lean afterwards — with closed loop then spending its whole correction range to pull it back and hold it there — the accel enrichment did its job. The tip-in card used to imply otherwise and recommend more accel fuel; it now names the base fuel table in the cell the throttle landed in, and says which one.

New: when nothing is allowed to correct your idle mixture

On some tunes — big camshafts especially — closed loop and self-tuning are held out of the idle band on purpose. If your idle mixture is a long way off its target while both corrections sit at exactly zero there, and both are working normally everywhere else in the same log, we now say so directly: nothing will fix this on its own, and the base fuel table is what has to change. The idle mixture card stops sending you to check fuel pressure, injectors and the oxygen sensor when the log has already ruled that out.

Fixed: a converged Transfer Learning recommendation withheld over an idle it could never fix

The Transfer Learning recommendation used to be held back whenever idle was off target, even on tunes where nothing is learned at idle at all — so a fully settled cruise band would never be recommended for transfer, no matter how many logs you sent. When both corrections read zero across the whole idle band, the recommendation now covers the driving bands and says plainly that idle is a separate job.

Fixed: “closed loop is not correcting here” on stretches where closed loop was switched off

This finding now checks whether the loop was actually running across the readings it quotes. Where the mixture drifted while closed loop was suspended — which is normal after a throttle lift, or in a region the tune gates the loop out of — the card stands down instead of reporting a fault, and where the loop really was active it now says so.

Fixed: two diagnostic cards citing the wrong number or the wrong fix

The rev-limiter finding could quote the wrong configured limit when your ECU's own protection flag came up below your main limiter but at or above a secondary one — it now names the limiter that actually acted. Separately, the accel-fuel (AE Tip-In) card could recommend adding fuel on the same results page as a finding that said the mixture was already running out of range rich on fast throttle stabs; it now points at reshaping the accel-enrichment curve instead of pulling in opposite directions.

New: telling you whether your last Transfer Learning to Base landed

If you sent a config before a transfer and a datalog after it, we now answer the question directly. We compare the correction your ECU still asks for at each load range — warm, closed loop on, steady throttle, with the settling minutes right after the transfer left out — against what it was asking for on the earlier drive, and say plainly when the base fuel table has taken the correction over and there is nothing to redo. The whole-drive learn average cannot answer this and we explain why.

New: grading the idle ramp against a hung idle your own car has shown

When a config lowers the point at which the idle valve stops holding and starts ramping back down, we now check it against a hung idle measured on one of your earlier logs at the same hold setting — not against a general estimate. If the new setting lands within about 150 RPM of a speed that hold has actually sustained on your engine, we say so, show both numbers and the cold-side effect, and tell you to change the ramp on its own. With no such measurement on your account we stay quiet rather than guess.

New: an injector rating that changed without the fuel table following

If you have uploaded before, we now compare the rated flow per injector in your new file against the one in your earlier upload. When it has changed by more than about ten percent and the base fuel table has not been rescaled to match, every cell is delivering more or less fuel than the table intends — and we say by how much, and give you the drive-and-measure test that recovers the true figure. If the self-tuning table has already refilled with an even correction of about that size, we show that too.

New: spotting fuelling that drifts across a long drive

On a drive of twenty minutes or more we now follow one fixed operating point — the same engine speed at the same manifold pressure — and check whether the correction your ECU needs there keeps moving while the mixture stays on target. When it travels in two load bands at once, and air temperature, coolant temperature, supply voltage and the learn table finishing its work have all been ruled out, we say so and tell you the one test that settles it. It matters because it makes every whole-drive learn average for that car a snapshot of a moving number, and a Transfer Learning To Base would freeze one arbitrary point of it into the fuel table.

Telling us an output has nothing on it now sticks

A datalog cannot tell a fan output with nothing connected to it from one whose wiring has failed, so we kept raising the same fan finding on cars that only run one fan. If you tell us in a review that nothing is wired to an output, we now record that answer against your car and stop raising findings about it — on every future upload, with your own words as the reason. Findings about the outputs you do have are unaffected.

New: the engine speed your closed loop stops correcting at

With the throttle shut, closed loop hands the mixture back to the base fuel table once engine speed climbs past a set margin above your warm idle target. Config Review now works that engine speed out for you and shows it as normal background, not as a problem — every calibration we have seen uses the same margin, so there is nothing to change. It is worth knowing because a rich or lean coast above that speed is a fuel-table question rather than a closed-loop one.

New: fuel delivery checked under load, not just at idle

The analyzer already checked whether the fuel your ECU commands at idle is physically possible for the engine to burn. It now runs the same check across the loaded part of your drive, one engine-speed band at a time, and compares it against light cruise. A car that reads normal at cruise but impossible under load points at fuel delivery falling behind as demand rises; one that reads high everywhere points at an entered engine or injector number, or the wideband. When it fires, the new Fuel Delivery Under Load card says which, and says to measure fuel pressure under load before changing the fuel table.

New: quick throttle stabs that run the mixture off the bottom of your wideband

A fast blip from a closed throttle can command so much extra fuel that the wideband bottoms out — and once it does, the reading only tells you the mixture is richer than the number shown. The analyzer now measures that per log, using your own sensor’s floor rather than a fixed value, and reports how many of your closed-throttle openings reached it, how big the fuel pulse was, and how fast the throttle was moving. The AE Tip-In card can no longer read “good” while this is happening.

Cruise CL Stability now accounts for how busy the driving was

Time in open loop at cruise has two very different causes: a driver working the throttle over hilly roads, or a trigger threshold set too low. The card now shows how much the throttle and manifold pressure were actually moving alongside the open-loop share, says which of the two the numbers support, and stops rating a busy drive as harshly as a steady one.

The wide idle fuel-trim finding now shows what the Learn table was doing

When closed-loop trim swings at idle, it matters whether the Learn table is quietly taking that correction over or whether the engine’s fuel demand is genuinely moving. The finding now prints how far each of the two moved across the log, and stands down entirely when the swing is just the Learn table finishing the job.

The heavy-load timing finding now says whether cold starts are involved

The “too much advance at low engine speed under heavy load” finding is a tempting explanation for a car that stalls cold, and across our whole log library it is almost never the right one — cold idle sits at the same manifold pressure as warm idle, well clear of those cells. When your log includes a cold start, the finding now reports what your own idle actually measured and rules the connection in or out instead of leaving it open.

Logs with no engine speed no longer get told “the engine never ran”

When a datalog records no RPM, the site used to say the engine never ran — even on a seventeen-minute drive where fuel, timing, coolant and manifold pressure all showed it plainly did. It now says that engine speed was not recorded, explains that this is either a throttle-body-only install or a channel that dropped out of that capture, and goes on to produce the full warm-up breakdown, which never needed RPM in the first place.

Clearer wording when the wideband reading jumps faster than it physically can

This finding used to add a line saying every burst happened with the coolant hot — which on a log that was hot from the first second to the last is true of everything in it and tells you nothing, while still reading like a heat-related fault. It now only says that when the drive actually covers both cool and hot running and the bursts stayed in the hot part; otherwise it says plainly that there is no comparison to make. Separately, a swing that steps faster than any wideband can respond is no longer described as a closed-loop tuning problem — it is now reported as a signal problem, with the fuel-side, harness and sensor checks in the right order.

The idle fuel-trim reading no longer goes quiet on the biggest corrections

The check that reads how far off your base fuel table is at idle used to need the idle cells to agree very tightly, which meant it said nothing on exactly the tunes carrying the largest corrections. It now allows for the fact that a bigger correction naturally has more variation in it, and reports the idle trim on 14 more configs in our test set — every one of them a genuine, coherent block, none of them noise.

New scorecard row: how big your self-tuning correction is compared with everyone else’s

When the saved Learn table is carrying a very large standing correction over a base fuel table nobody has edited, and no cell is stuck against its limit, the review now says so and shows where the number sits against every other config we have measured. It deliberately stops short of naming a cause — a number that size can come from the table itself or from something skewing the mixture readings, and only a datalog separates them.

The scorecard no longer gives two opposite answers about Transfer Learning

When a config showed both a delivered-fuel step and an idle fuel-trim block, one row told you to run Transfer Learning To Base and the other told you not to. The two now share one decision and the “not yet” always wins, because a transfer bakes the step in permanently.

New check for boosted engines: self-tuning pulling fuel out in vacuum and adding it under boost

On a supercharged or turbocharged setup, a saved Learn table that removes a large, even slice of fuel everywhere below atmospheric pressure and adds fuel everywhere above it is now flagged as its own finding. The sign change at that boundary is the point: it means two separate things to chase, not one wrong number. The advice comes with a warning against clearing the Learn table while you sort it out — those boost cells are covering a fuel shortfall, and wiping them goes lean exactly where lean does damage.

Boost and two-step settings now get reviewed on Terminator X

A Terminator X config with boost control used to get a full config card that said nothing at all about boost. It now reports your over-boost protection setting, whether the boost duty table is actually shaped or sitting flat, and whether its engine-speed axis still runs to the factory 20,000 RPM. A second rev limiter set well below your main one is also called out now, with a question about how it is armed rather than a recommendation — and rev-limiter settings no longer show a dropdown name we could not verify.

Cold-timing and warm-up fuel checks reach Terminator X

Two checks that were Sniper-only now run on Terminator X: the missing cold-timing adder, and the coolant enrichment curve that decides when the tune is allowed to start learning. The enrichment one only appears when a datalog in the same upload confirms the temperature scale we read the table against — if it cannot be confirmed, we say so instead of quoting a temperature.

Cruise timing is now judged by engine speed, not one average

A timing table can be right over most of the cruise range and several degrees short at the low-speed end of it, and the old whole-log average hid that completely. The cruise-timing finding now splits your steady cruising by engine speed and names the band that is short, so the advice is "raise these rows" rather than "raise the table". Two more timing readings joined the config card: a note when the curve has already reached full advance by 1,600 RPM at part load on a bigger cam, and the plain figure for what the table commands under heavy load down at 1,000-1,500 RPM.

Your earlier uploads are now part of the analysis

When you upload from the same account, or with the same email, as before, the analysis now compares the new upload against your earlier ones. Two new findings come from that: a config file saved before the ECU ran Transfer Learning to Base, which would quietly lose the cold-running corrections the transfer baked in; and a datalog recorded with fewer channels than your last one, so the earlier findings that could not be re-checked are named instead of reading as fixed.

Decel fuel cuts and gear changes are recognised

Some tunes shut the injectors off completely on a closed-throttle coast. The analyzer now spots that, tells you which descents it happened on and where the fuel came back, and stops counting the wideband’s free-air reading during a cut as a dangerously lean mixture. Separately, an upshift taken with your foot held still is no longer reported as a stumble, and the brief timing drop that comes with one no longer counts against your timing-stability score.

A cold wideband no longer counts as a rich idle

For the first half-minute after a restart the wideband sits at the bottom of its range while its heater warms up, and the analyzer was reading that as a genuinely rich mixture — on one log it pulled the idle mixture reading almost seven tenths of a point off and reported a 28-second rich event that never happened. Those readings, and the matching stuck-high ones, are now recognised and left out of every mixture figure; a wideband that stays stuck for a whole drive is still reported as a failed sensor.

A free test for a start that will not catch

When a start drags on, the log alone cannot tell you whether there is too much fuel or too little. There is a test that can: hold the pedal flat while cranking and the ECU stops injecting entirely. The analyzer now measures how far the throttle actually opened during the crank against your configured Clear Flood setting, so it can tell you when the pedal you gave it was nowhere near enough for that to have happened.

Two start-up findings that were arguing with the scorecard

The cranking-voltage warnings now use the same test as the Cranking Voltage line on the scorecard, so a brief dip on a fast warm restart no longer produces two findings that contradict a “good” rating taken from the identical number. And the post-start sag finding now stands down when engine speed had already climbed back out on its own before the idle air valve released — the extra air it blames the sag on had not arrived yet.

Four new closed-loop findings, from lockouts to over-shoots

The analyzer now spots closed loop being locked out below a fixed throttle position or engine speed — including on Terminator X logs, where the on/off channel is missing and nothing could reach this before — and can see the same gate in a saved Learn table on a config-only upload. It also names two ways the loop misbehaves at cruise: dropping out on throttle wobble too small to be a real input, with the rich dives that causes measured and priced, and over-shooting lean every time it re-engages after a lift.

A tune asking for a very lean mixture at light throttle

Config Review and the log analysis now check the mixture the ECU was actually asking for at light throttle against every tuned configuration on file, and flag a target far outside the documented range along with the abrupt step into it. Lean readings just after a throttle opening are also re-checked: where the commanded mixture dropped several points across the opening, the analyzer stops calling it an accel-fuel shortfall and points at the target table instead.

An idle that rests on the 2% throttle line is now named

Holley’s software treats 2% throttle as the line between “closed” and “just cracked open”, and three separate idle controls change behaviour when you cross it. A throttle stop that leaves the engine resting right on that line makes all three switch back and forth several times a second, which the driver feels as a surge and often reads as electrical noise on the plot. The analyzer now measures the crossings and reports which controls are moving with them, and points the fix at the throttle stop rather than the timing table.

A timing step just above the idle target can give an engine two idle speeds

When the spark table jumps ten degrees or more between neighbouring speeds just above where the engine is supposed to idle, the extra advance can hold a second, higher idle on stop air alone — and the idle controller runs out of authority trying to bring it back. The analyzer now checks for that step, confirms both resting speeds in the log, and names it as the cause instead of just reporting that the idle target and the actual idle disagree.

Short bursts of cruise surge no longer read as “smooth cruising”

Cruise hunting was judged over seven-second stretches, so a three-to-five second burst sitting inside a slow roll-on of the throttle was too short to resolve and the card simply said the cruising was smooth. Those bursts are now measured separately and reported with their duration, frequency and RPM swing, so a complaint the log clearly contains is no longer answered with silence.

Returns to idle are now diagnosed, not just labelled

Coming back to idle is where a lot of Sniper complaints actually live, and until now a log that captured one going wrong got a “Needs Attention” label with nothing behind it. The analyzer now measures every closed-throttle return to idle in a log — how far below target it dips, whether it rings back and forth before settling, and what manifold pressure and injector pulse were doing at the bottom — and names three separate outcomes: the idle controller failing to catch the descent at all, a survivable but deep undershoot-and-ring on every landing, and a dip whose bottom is lean because the engine overshoots into cells that are short of fuel. That last one is a fuelling fix, not an idle-air one, and it now stops the idle-air card from blaming the wrong thing.

Idle checks that needed a tuning file can now work from the log alone

Several idle findings used to go quiet on a log-only upload because they had no idle speed target to measure against. They now work it out from the log itself — from the target the log records, from a stretch where the idle valve was visibly holding a steady speed, or from another log in the same upload that was idling normally — and they say which one they used, right in the finding.

Three different reasons a lift can run rich, told apart

Coming off the throttle from speed can run far too rich for three separate reasons, and they need opposite fixes — so the analyzer now measures that corner on its own and says which one it is: base fuel numbers that are genuinely too high, self-tuning earned with the throttle open and still being applied with it shut, or cells the engine never gets to correct at all. Each one names the cells, says whether a learn transfer will help or make it worse, and warns that those cells are shared with ordinary cruise before suggesting any cut. There is also a new check for neighbouring load rows that need corrections in opposite directions, where a single block edit is bound to make one of them worse.

Fuel spent while slowing down is now flagged from the config alone

Config Review now spots a block of learned extra fuel sitting in the part of the map only reached while decelerating — fuel the engine is spending at the one time it buys nothing. It is an economy note rather than a fault, and the suggested change is a small one to the mixture targets at the highest-vacuum rows, which lets the learned block unwind on its own. Works on a config-only upload with no datalog.

Steps and dips in the fuel table are now found and measured

The analyzer now reads the base fuel table across engine speed and flags places where it steps up and drops straight back down, or dips and recovers — the seam an edit or a learn transfer leaves behind when it changes part of a row and stops. Where a datalog is attached it checks what the ECU was actually correcting at those same cells, so a step the engine really feels is separated from a shape you could argue about, and it prints the replacement values to type in. There is also a new full-throttle finding for when closed loop adds fuel low in a pull and takes it back out high — a correction that is thrown away at every key-off and can never learn itself out.

Clearer wording when a log did not run on the config you attached

If you upload two configs and one of your logs was recorded on the other one, the analyzer now says exactly that instead of warning that it cannot tell which tune produced the log. Findings that are read out of a config’s saved self-tuning table — the delivered-fuel step, the idle fuel trim and the “ready to transfer” recommendation — now say when the file is not the tune the ECU was running, and the transfer recommendation is held back until a matching config is attached. Dated file names one revision apart are also recognised as the same tune family rather than as unrelated files.

Closed-loop corrections are read more carefully

The analyzer now spots a correction that stops short of the limit your config sets — a real cap coming from somewhere else — and names what to check. The “always correcting one way” finding is now measured over steady, fully warm driving instead of the whole log, reports how much of the correction is warm-up enrichment rather than the fuel table, and stays quiet on a short cold capture that cannot support the conclusion.

Closed Loop and Learn limits show their full range

A config whose limits headline reads ±25% but caps one part of the map at ±10% now says so, and points at which part. On Terminator X the “correction stuck at zero” warning no longer counts the moments the ECU deliberately pauses closed loop after a lift or a throttle stab, and needs some warm running before it will raise the flag at all.

All three return-to-idle settings are graded together

The Config Review card that reads IAC Hold Position against the ramp-start RPM now also mentions Ramp Decay Time when it sits near the bottom of what we see, and says so more firmly when a log in the same upload shows the engine struggling on the way back to idle. Terminator X configs get the card for the first time — the ramp-start and decay settings are now read out of those files — with bands measured against other Terminator X tunes rather than borrowed from the Sniper family.

The return-to-idle diagnosis now says how long the landings take

The "IAC Hold Position delivers more air than this engine needs" card was counting returns to idle that the driver interrupted within a second, which inflated the RPM range it quoted; it now measures only the landings it actually watched, reports how many seconds they take to come back to target, and eases off when they come back quickly. The Config Review IAC Hold Position card cross-references it instead of rating the same number "good" beside it, and the "consider raising your idle target" note only appears where we have positive evidence of an automatic and no return-to-idle finding of its own.

Config Review reads your warm-up curves, not just the warm numbers

Two new Config Review cards look at the shape of warm-up instead of the fully-warm values: one flags an idle speed target that drops a long way in a single coolant-temperature step and is already at its hot value well before the thermostat, and one flags a Timing vs Coolant Temp curve that hands back five degrees or more of advance at a single breakpoint. Both are advisory — most tunes are fine — and they name the temperature to look at if warm-up idle sags, stalls or hunts.

Warm Idle Target now accounts for how big your cam actually is

The idle target recommendation used to come only from the four-way cam dropdown in your config, which cannot tell a mild cam from a big one — so a genuinely big cam was being told 800-900 RPM when the reference material says nearer 1000. It now reads a cam duration out of your upload description when you gave one, or your log's own idle vacuum when you did not, raises the recommended range accordingly, and says which of the two it used.

New finding: Learn switching on before the idle target finishes warming up

When Coolant Temp Enrichment reaches 100% well before the idle speed target reaches its fully-warm value, the ECU spends that band learning off a raised warm-up idle and stores it in the same cells warm idle uses. The analyzer now spots that pairing, checks the stored Learn table for the idle-only correction it produces, and warns against running a Transfer Learning to Base until it is sorted.

Config Review now covers progressive throttle linkage

If you run progressive linkage, the Config Review card now shows your Primary to Secondary TPS Switch setting, how it compares to other progressive setups, and where the secondaries will actually come in — which is around half the number in the software. A second check looks for the extra shot of fuel Holley says a progressive setup needs where the secondaries open, and tells you if your acceleration enrichment curve does not have one.

The secondary-staging finding is calmer when your fuelling is fine

The diagnosis about secondary injectors coming in at half the configured throttle position used to head the page as a high-confidence finding on every progressive setup. It now checks the mixture just above and just below that point first, and when nothing is going wrong there it says so and steps down the page instead.

Config-only uploads now get diagnoses

Uploading just a tune file, with no datalog, used to show only the Config Review card. It now also runs the sixteen checks that can stand on the config alone — rev limiter, timing-table shape, cranking fuel, ignition setup and more — and shows them as full diagnosis cards. Checks that need a datalog to be trustworthy stay quiet rather than guessing, so upload a log alongside your config when you can.

Config Review now covers the cranking and startup settings

Two settings that decide how your engine gets from key-on to a running idle — Crank to Run RPM and Cranking Timing — are now rated on the Config Review card, with a note showing how your value compares to everyone else's. The analyzer also flags a new pattern where every startup enrichment setting has been nudged rich at once: each one looks reasonable on its own, and together they flood the engine after it catches.

New check for magnetic-pickup distributor timing setup

If your ignition type is a magnetic pickup and the Inductive Delay setting is left at the value meant for a different kind of sensor, delivered spark drifts further from the commanded number the faster the engine turns — and no datalog channel can show it. The analyzer now catches that and walks you through checking it with a timing light.

Cleaned up attribution in recommendation text

Some tuning tips shown on your results page cited forum usernames or names directly in the explanation text. Those are now replaced with generic source attribution ("a Holley forum thread", "Holley-staff forum guidance") — the guidance itself is unchanged.

Logs that recorded fewer channels now say so

Some datalogs arrive with a reduced set of readings — the same drive, fewer channels — and every section that needed a missing one simply came up blank. The results page now names the channels a log did not record, so a blank section reads as "the log does not contain this" instead of "nothing wrong here".

A lean reading at a loaded idle is now diagnosed instead of skipped

If something loads your engine while the throttle is closed and the mixture then reads lean, the analyzer used to have nothing to say — every check it had needed the throttle open. It now measures that window against your own log's unloaded idle and reports when the reading is false, using the same test it already applies elsewhere: readings that got more fuel per cycle reading leaner cannot be a fuel-supply problem. The advice is to raise the idle so the engine can hold speed, not to add fuel.

Clearer wording when a cylinder is missing, and a result on light-load-only logs

The misfire diagnosis no longer states ignition as the cause — it now lists every reason a cylinder can stop burning, in the order they are cheapest to rule out, with the check that separates each one. Separately, a log where you never opened the throttle far can now report a misfire band if the readings either side of it are clean, and it says plainly that a light-load drive cannot tell you whether the fault also shows up under load.

WOT Fueling now grades the pulls, not everything the throttle touched

This card used to average every full-throttle reading in a log together, so a bog at 1,500 RPM and a real pull to 5,600 came out as one number — and on one log that produced "lean at wide-open throttle, check fuel delivery" off nine-tenths of a second of bogging. It now measures only full throttle the engine actually pulled through, sets aside throttle stabs that had not finished, and says which pull carries the rating. Where a log has no real pull in it, the card says so instead of guessing.

Better answers when a lean reading is really the engine bogging down

When the engine loses speed while the throttle is opening at low RPM, the analyzer now names that torque hole instead of pointing at the fuel table and closed-loop settings, and shows the arithmetic proving the mixture could not physically have been as lean as the reading claimed. It also stops flagging a short throttle when the manifold shows the engine was already getting all the air available.

Idle Stability now counts the sags and the high idle it used to skip

Idle Stability was measured over the quietest stretch of idle it could find, so an idle that repeatedly dropped 300-400 RPM and recovered still read "Rock solid", and an idle that sits above 1000 RPM was left out of the idle figures altogether. It now reports those dips and that high idle alongside the steady-state number, and it rates a hunting idle instead of saying there was not enough warm idle to judge.

Idle Under Load needs the engine to actually sit under load

This card was recommending an idle-target increase off a few seconds of the engine catching itself as the car rolls to a stop. It now needs a sustained stretch of loaded idle before it escalates, and says how much of the log it actually measured.

Cruise fuelling: the two cards now agree, and say when a correction is just moving

Cruise AFR Accuracy no longer reads a correction that wanders across a long drive — or one that is re-learning in both directions after a Learn transfer — as a fixed base fuel table error; it now says the correction is unsettled and tells you to re-log instead. Tune Accuracy stops claiming the table is accurate when the cells you actually cruise in are measurably out, and names the range instead of contradicting the cruise card.

AFR swings at steady throttle: where they live, and what set them off

This finding now reports where in the load range the fuel corrections dip and whether closed loop woke up onto a mixture that was already rich after a coast — the case where the fix is the base fuel table on the coast rows, not the sensor or the exhaust. On that branch the wideband and exhaust-leak suggestions are dropped, and the write-up no longer calls widely spaced bursts periodic.

Throttle stop: graded on the right idle, or not at all

The throttle-stop verdict now checks what your idle was actually doing before it quotes a number. It grades the air-conditioning-off part of the idle and says so, stands down on a log that never finished warming up rather than reporting a warm-up figure as a setting, and quotes the unloaded state when something switches a load on and off partway through. It also picks up a case it used to call "acceptable": a stationary idle sitting well over target with both the idle valve and idle spark on their floors, which means the closed blade is passing more air than the target needs.

Lean after a throttle opening: did the fuel actually arrive?

A lean reading right after you open the throttle used to be reported as missing accel fuel, and sometimes as a fuel supply problem worth putting a pressure gauge on. The analyzer now walks each of those events back to the throttle movement itself, and when the mixture went rich of target on the way in — the extra fuel demonstrably arrived — and only went lean after the pedal stopped moving, it says so and points at the combustion side instead. Accel-table and fuel-pump advice no longer ships with those findings.

Clearer accel-enrichment verdicts, and fewer wrong ones

The AE Tip-In card now says how many of the log's throttle openings it could actually score, and it stops prescribing a table change when only a handful of them were scoreable — that count moves enough between logs of the same tune to flip the verdict on its own. Rich readings after a brief closed-throttle coast are also recognised for what they are on firmware with no decel fuel cut, so a coast mixture arriving late no longer reads as accel enrichment over-fuelling.

Fuel pressure findings need the injectors to have been asked for fuel

A lean stretch where the ECU was commanding almost no fuel cannot show a supply shortfall, so it is no longer put forward as a fuel-pressure candidate. And when a log's only lean event is a gear change or a closed-loop overshoot, the report no longer suggests a fuel pressure gauge on the strength of injector duty measured somewhere else in the drive.

Cooling fan outputs: is anything actually on the other end?

A fan output the Sniper switches on is not the same as a fan that runs, so the analyzer now watches what battery voltage does the moment each output switches and flags one that changes nothing while the other output on the same car moves the reading every time — the signature of an open relay coil, fuse or ground. That measurement, plus how fast coolant climbs while you sit still, now appears alongside the existing "fan is running and coolant still climbed" finding. The report also stops telling you to switch a fan output back on while the Sniper is already running your other fan flat out and struggling, and fan temperature setpoints are no longer printed to twelve decimal places.

Better advice on when to Transfer Learning To Base

When you upload a datalog without a config, the "ready to transfer" recommendation now judges your idle mixture against the target your own tune commands, read straight out of the log, instead of assuming the Wizard default — so a richer idle target no longer hides the advice. It is now withheld while a misfire finding is live on the same log, since unburned mixture reads lean and a transfer would bake that false correction in permanently. And when an attached config's self-tuning table is out of date in just one corner of the map, the report now says which corner and tells you to clear and re-save first.

Corrected Ignition Type and CAM Type names

Two of the five Ignition Type choices were showing the wrong name: what the Sniper software calls Coil (-) was being reported as "CD Ignition", and CD Box was being reported as "HEI". Both now read the way they do on your own screen. The Mild CAM Type was likewise being reported as "Street". Nothing about how the analysis treats these settings has changed — only the names you see.

Rev limiter readings, and the ECU's own limiter flag

A config whose Rev Limiter #1 held a value too low to be a real engine speed could be read as the operative limiter, producing a loud "RPM exceeded the rev limiter" warning on a log that never came close. The rev limiter is now derived one way for both the scorecard and the diagnosis, and an implausible value is set aside instead of published. Separately, the analyzer now reads the flag the ECU raises while it is actually cutting — so a limiter hit is reported even when the soft limiter is switched off, and even on a log uploaded without its config.

Idle Timing no longer graded when the ECU isn't controlling spark

On installs where the distributor runs the timing curve, the logged timing figure is the ECU reporting its own internal number rather than the advance the engine received. Idle Timing was still grading that number and could recommend adding vacuum advance off it. It now stands aside with an explanation, the way the other timing cards on the same scorecard already did.

Saved self-tuning corrections are now reported at the right RPM

The saved Learn table in an uploaded config was being read one RPM column off, so a correction the ECU stored at one RPM was described as belonging to the next column down. The amounts were always right — only the RPM label was wrong — but it affected where in the rev range a Learn correction was reported. This also removes a long-standing workaround that hid the top RPM column of that table, so the full grid is now read.

Fewer false timing-scatter warnings on Terminator X logs

A rare corrupted sample in a Terminator X datalog could slip through the sanity checks with a value close to zero and drag a cruise window's timing spread up with it. One such reading was enough to raise a timing-stability warning — and suggest checking rotor phasing and reference angle — on an ignition system that was working perfectly. Those samples are now discarded before the analysis sees them.

More accurate reading of when Learn switches on

A Coolant Temp Enrichment curve that adds a little extra fuel at the very hot end was being reported as "Learn always blocked" even though Learn was plainly running in the datalog. The Config Review now reads the temperature Learn first unlocks at, and reports a curve that blocks Learn again higher up as its own separate note. The matching datalog finding also steps back from a firm verdict when the log shows Learn staying off even above that temperature, and asks for a follow-up log to confirm the curve was the only cause.

Warm-up fuelling findings on logs that stop soon after warming up

If your log ends a few degrees after the thermostat opens, the analyzer used to have nothing settled to compare the cold running against, and a real warm-up fuelling shortfall could go unreported. It now measures the fade across the warm-up itself and says which comparison it used, and it lists the correction band by band with a suggested Coolant Temp Enrichment step. Related: when closed loop hits its limit during a warm-up, the scorecard no longer tells you to widen the limits — that fuel belongs in the enrichment curve.

Coolant sensor finding now leads with the free check

When the coolant reading is much hotter than the air reading at startup, the write-up now puts the overnight key-on check first and the replacement sensor second, and it shows what the air reading did over the first minute and a half of running. A datalog cannot prove how long a car sat, so the check is what settles it — the finding and its confidence are unchanged.

One drive split across several files is now analyzed once

Some logging software saves a long recording as a whole file plus the sections it was split into. Uploading all of them used to give you a separate scorecard for each piece, with the same findings repeated and every number counted more than once. The analyzer now recognizes the pieces and scores the drive once, and the results page says which files were folded in. Two genuinely different drives are still two logs, and every file you upload is still saved.

Two new findings for a base fuel table that is running rich

When closed loop settles on a big negative correction and the mixture then sits on target, that correction is a measurement of how rich the base fuel table is in those cells — and the analyzer now says so, both under load (the "ease into it and it pulls, stab it and it bogs" case) and at light load and closed throttle (the "bangs on every lift" case). The light-load finding is careful not to fire on an ordinary rich coast, which is normal on most cars; it fires on a table that is asking for more fuel per cycle as the revs climb with the throttle shut, which is not.

HyperSpark reference angle is now checked against Holley's preset

If your config says HyperSpark distributor but the Ignition Reference Angle is not the 57.5° Holley presets it to, the analyzer now says so — a mismatch that usually arrives with a base file or setup pass built for different ignition hardware, and that no datalog can reveal, because the log records the timing the ECU asked for rather than what the engine received. Terminator X configs get the same check, and now show their reference angle and HyperSpark ignition setting where they previously read as unknown.

Tip-in mixture swings now say what actually caused them

The Accel Enrichment card used to answer every lean or rich tip-in with "change the accel tables". It now checks each one against the log first, and names the four things that look like an accel problem but are not: a mixture reading still coming down off a long coast, a fuel correction the idle cell holds that the next cell does not, a cell that is already short of fuel sitting still, and a rich blip that arrives after the throttle stopped moving and clears itself the moment closed loop wakes up. When most of a log's tip-ins turn out to be one of those, the card points at the base fuel table instead — and the "raise accel enrichment" advice, which would have made those four worse, no longer ships.

The charging check now reads the part of the drive that tests charging

An alternator makes its output above idle, so the Charging System card now grades the above-idle part of your log and prints the idle reading alongside it — a car that idles at 12.9V and cruises at 13.6V no longer scores worse just for spending the drive parked. It also reports how much of the log had a cooling fan commanded on, since that load is worth a few tenths of a volt when you compare two logs of the same car. And a charging system that never once reaches charging voltage is now called out even when the reading sags and recovers, which it previously had to be flat to catch.

Breaks in a datalog now get an answer

When a recording stops for several seconds and picks back up with the engine still turning but the ECU starting over, that is now reported as an ECU restart — a power problem to fix before any tuning change — and a stall inside one no longer gets idle-tuning advice. Breaks where the recorder simply paused, which a sleeping laptop screen or a handheld changing screens both cause, are labelled as exactly that instead. The report also names brief drops in the engine-speed reading with the throttle closed, and no longer counts a reading as a spike when the reading before it came far too long ago to compare against.

Spark advance in the low-RPM, heavy-load corner

The report now looks at the corner of the timing map with the least margin — low engine speed with the throttle well open — and says so when a tune commands well above the published range there. It checks it two ways: from your timing table when you attach a tune file, and from the spark the ECU actually delivered when all you send is a datalog.

Timing is now judged on its level and its response to load, not just its shape

A fully built timing curve can still be calibrated well under the 32-48° cruise range Holley's manual calls typical, and nothing used to say so — there is now a finding for it, and it only speaks up once the log proves the table itself is what the engine is getting. The Timing Mode score also stops calling a Simple-mode tune an active timing curve: those settings advance with engine speed but stay flat across load, and where a drive gives a clear answer the score now reports what timing actually did across manifold pressure.

We now check whether the config you attached still matches what the ECU learned

If the self-tuning corrections saved in your config file no longer match what the ECU was actually holding while the log was recorded — usually because the file was saved earlier and the ECU has kept learning since — the report says so, and says which way. It matters twice: findings that read the saved corrections describe the older state, and loading that file back would undo learning the engine has already done.

The report no longer contradicts itself about Transfer Learning

When a log shows lean readings that swing rich again a moment later — proof they were never real lean — one card was telling you not to transfer while another said you were ready to. The "ready to transfer" card now holds off and names the corner to settle first. It also flags when your closed-loop settings meant the ECU was only learning for part of the drive, since that makes "settled" a smaller claim than it looks.

Two Transfer Learning recommendations that were being held back for the wrong reasons

A self-tuning correction that briefly touched its limit, or that ran deep at light throttle while the engine was on target under load, was being treated as a fault and the transfer advice withheld. Both now get judged on the readings that actually carry the correction rather than on the busiest moment of the whole drive, and the reason is spelled out either way. A genuinely railing closed loop, or a mixture still off target, still holds the advice back as before.

Safer Transfer Learning advice when the correction only exists at light throttle

A large self-tuning correction that disappears once the engine is pulling is not proof the fuel table is short — air leaking into the exhaust ahead of the oxygen sensor makes the mixture read lean at light throttle and produces the same picture. The analyzer now compares what the tune asks for under load against what it asks for at light throttle, and holds back the "transfer it to the base table" recommendation until the exhaust has been ruled out.

New: spotting a load switching on and off at idle

If your idle runs in two distinct states — an air conditioning compressor cycling, an automatic put in gear, a fan or a power steering pump — the analyzer now says so and reports both states separately instead of averaging them into one number that describes neither. It is a note, not a fault, and it will ask you which load it was so the next review can judge the throttle stop and the idle target against the right one.

Clearer idle-air advice, and no more guessing at your throttle stop

The IAC / Throttle Stop card no longer tells you which way to turn the stop screw — that depends on your throttle body, and the datalog can't know it. It describes what should happen to commanded IAC instead. It also stops giving contradictory advice on logs where idle is above target with the valve already shut, and the "consider raising your idle target" note now only appears when the ECU still has the idle air to act on it.

Better at telling a real idle from coasting in gear

The analyzer now works out which part of a log is the engine's own idle. Coasting in gear, engine braking and light-throttle cruising are no longer mistaken for a high idle, so a couple of alarming idle findings that were really just a downhill run have stopped appearing. And on a car that idles in gear as well as in Park, the scorecard now describes both — which fixed a case where a runaway idle went completely unreported because the analyzer was looking at the in-gear idle instead.

Sniper 1 datalogs: the base timing readings are now the real ones

Some Sniper 1 datalogs (and a few Sniper 2 logs recorded in the same format) were showing the wrong values for the base timing table — the playback trace and the idle-timing checks were reading a fixed number that was not timing at all, so a healthy timing table could be flagged as too low at idle. Those logs now read the correct value, and the idle-timing diagnosis no longer fires on them when the table itself is fine.

Reviews now check which parts of your config the ECU was actually running

When you attach a config with a datalog, the analyzer now compares the fuel table, the timing table, the warm-up fuel curves and the injector settings the ECU reported in the log against the attached file, part by part — so a review can say "the timing table matches but the fuel table does not" instead of guessing whether the whole file is the right one. It also notices when the ECU's self-tuning was switched off, or had just been cleared by a Transfer Learning to Base, while the attached config says otherwise, and asks you to attach the file saved afterwards.

Each datalog now shows which tune file it was recorded with

Sniper datalogs carry the name of the config that was loaded in the ECU when they were recorded, and the results page now shows it in each log's Overview. When you attach a config, the analyzer compares the two names and tells you plainly whether the attached file is the same one, a different save of the same tune, or a different file altogether — and reviews use that alongside the log's own readings before trusting any config-based finding. Newer Sniper 2 log formats do not store the name, and those say so instead of guessing.

Config review now catches a backwards cold-start fuel curve

The config review can now catch a Coolant Temp Enrichment curve where a colder cell adds less fuel than a warmer one just above it — backwards, since a colder engine always needs more fuel, not less. This only checks the range where closed-loop correction isn't active yet, so a normal warm-up curve is never flagged. It works from a config file alone, no datalog required.

Accel Enrichment is rated on evidence, not on whether you touched it

The config review used to mark the stock Wizard acceleration-enrichment curve as needing work, and mark any hand-edited curve as good no matter what the edit did. It now leaves the stock curve alone unless your own datalog shows the mixture going lean on a throttle stab, or the config has progressive throttle linkage — the one setup Holley says needs correction added back at high throttle. Edited curves are judged on their shape and size instead of on the fact that they were edited.

A slowed learn rate no longer makes a fuel table look finished

When Base Fuel Learn Gain is set below 100%, the learn table moves slowly — so a small learn average can hide a base fuel table that closed loop is quietly propping up on every drive. Tune Accuracy now judges those tunes on what closed loop and learn are asking for together, and the config review reports a reduced learn gain, flagging it only when your own datalog shows the correction is not making it into the table.

The lean-on-tip-in finding now waits out a fresh Transfer Learning load

That finding could fire in the first few minutes of a datalog recorded right after a Transfer Learning To Base send, while the ECU's self-tuning was still catching up to the newly cleared table — telling you to raise the base fuel table again when the transfer had already done its job. The analyzer now recognizes that brief re-settling window and holds the finding back until the self-tuning has caught up, then judges the rest of the drive normally.

Closed-loop dropout advice now follows your own settings

When we find closed loop switching off at steady throttle, we now read your configuration and measure how steady your throttle signal actually is before suggesting anything — so we no longer send you chasing throttle linkage on a car whose throttle reads clean, or ask you to slow a setting that is already below Holley's own default. The advice you do get names the measurement behind it, and says which of the usual suspects were ruled out and why.

Log Coverage checks that cruise was actually held

A parked warm-up log with a handful of throttle blips could be reported as covering cruise, and its cruise mixture average was then taken from those blips. Coverage now asks for a stretch of steady part-throttle driving the car really held, and the card names where the drive spent its time — "most of this log sat at 1,800-2,400 RPM under light load" — so it is easier to see which part of the map still needs a log.

A quiet note when warm cranking fuel is unusually low

We already flag a warm cranking fuel setting below anything else we have seen. There is now a softer note for the band just above that — settings in the lowest tenth of comparable tunes get a "look here first if a hot restart ever gets stubborn" line, with the comparison spelled out rather than asserted. It stays quiet when your log already answers the question: a warm start that caught cleanly, or one that flooded.

Warm cranking fuel is read at a temperature your engine reaches

The Warm Cranking Fuel check was reading the very hottest point of your cranking curve — a coolant temperature no thermostat-equipped engine ever gets to. It now reads the cell a fully warm engine actually restarts on, and both the check and the config summary tell you which temperature that is. A small number of configs will see this rating change, in either direction.

Warm-up lean check no longer counts coasting

The warm-up fuelling check could mistake a car coasting down with the throttle closed for an engine running lean on cold enrichment — and the more you drove during warm-up, the more often it fired, on cars whose warm-up fuelling was actually fine. It now only looks at readings where the engine is under some load, so a healthy warm-up stops getting flagged while a genuine light-throttle cold-fuelling shortfall still gets caught.

Decel popping: when the fix is spark, not fuel

A closed-throttle charge that is failing to burn reads lean exactly like one that is short of fuel, and adding fuel to it makes the popping worse. Where the log shows the engine coasting on less ignition advance than the calibration's own floor, and matched readings at the same engine speed and manifold pressure come out leaner purely on less advance, we now point at the high-vacuum cells of the timing table instead of at enrichment. We also fixed a case where the "don't add fuel here" check switched itself off on the very engines with the strongest evidence for it.

Decel-lean severity now counts descents, not readings

How strongly we call a lean coast used to be a share of decel readings, so a long drive with real coast-downs scored worse than a short one on the same car — even when the coast mixture had measurably improved. It is now based on how the typical descent ran and how many descents went lean, so the rating tracks the tune rather than how much you happened to coast. Descents where the injectors were shut off entirely are left out.

When the minimum injector pulse is doing the tuning for you

We now catch the case where the Minimum Injector Opening Time is holding the pulse above what the fuel table is actually asking for at idle and on coast: closed loop keeps winding its correction to the bottom of its range against an injector that can't respond, and the engine can die lean the next time it needs fuel back. The stall card also now says which way the mixture went as the engine died, whether closed loop had any room left, and how far the idle air valve opened — and points at the right fixes for each.

We no longer grade timing the ECU isn't controlling

On the ignition types where the ECU doesn't command spark — timing comes from the distributor instead — the timing cards used to rate your saved settings as if the engine were running them, and the interference card blamed grounds for movement in a reading the ECU only computes for itself. Those now say so plainly, and if your config carries a timing table or temperature curve you built, we call out that the engine never sees it.

Signed in? No need to type your email again

When you're signed in and you request a tuning review — either on the upload page or from a results page — we now use your account's email address automatically instead of asking for it again. You can still send a review to a different address if you're uploading on someone else's behalf.

Sign-in links now ask you to confirm

Opening a sign-in link now shows a short page with a "Confirm sign-in" button instead of signing you in immediately. This stops spam filters and link scanners from silently using up your one-time link before you get to it — the main cause of "this link expired" when you'd only just received the email.

Optional sign-in: find all your past uploads in one place

You can now sign in with just your email address (we send you a link — no password) and see every upload you've made under My uploads, including any that already have a tuning review. Analysis results and reviews in your account are kept until you delete them; the raw datalog and config files are still removed after 90 days. Uploading without signing in works exactly as before.

Three scorecard items no longer give a confident verdict they can't back up

The IAC / Throttle Stop card could report a near-zero idle air reading — and tell you to move the throttle stop — off a brief low stretch of an otherwise normal idle; it now checks the whole warm idle first and asks for a steady idle capture instead of handing out a direction. Idle AFR now says how far off the mixture actually is against the target your ECU commanded, with "noticeably" and "significantly" tiers above "slightly", and flags the large uncorrected ones. And the CL / Learn Limits card will no longer call a very tight Closed Loop limit "nothing to change" when your own datalog shows the correction running into it.

New diagnosis: lean hesitation after a throttle move that isn't an accel-enrichment problem

The classic "lean on tip-in" complaint often isn't the accel-enrichment tables at all: if the mixture holds target while the throttle is actually moving and only goes lean a beat later — recovering as the ECU's self-tuning correction rebuilds — the base fuel table is what's running short, and the corrections were quietly covering for it until the throttle movement reset them. The analyzer now recognizes that exact pattern on both Sniper and Terminator X datalogs and points the fix at the base fuel table, with the before-and-after numbers from your own log as evidence.

Fixed false alarms on some Terminator X datalogs

Some Terminator X logs contain a few corrupted samples that could poison the analysis — producing false "oil pressure very low" warnings, nonsense durations and averages, and hiding real throttle-transient events. The analyzer now detects and excludes these samples, and notes on the results page when it did. If an older upload of yours showed an implausible reading, a re-upload will now analyze cleanly.

A major analysis upgrade: new diagnoses, fewer false alarms

The analyzer gained roughly twenty new diagnoses — including misfire detection that can arithmetically prove a "lean" reading false, checks for a charging system that isn't charging, hard-start and hot-start analysis, and a family of idle-control diagnoses that pinpoint throttle-stop, IAC hold, and heat-soak problems. Dozens of existing checks now verify their own evidence before giving advice, so you'll see far fewer wrong suggestions (like fuel-pressure gauge tests on a healthy fuel system) and no more "Healthy" verdicts on a log that ends in a stall. Config reviews also dig deeper — hand-edited closed-loop limit grids, accel-enrichment table interactions, and temperature-curve details the previous version missed — and many more checks now run on Terminator X uploads.

"Ready to transfer" now reads your own Learn limit

The Transfer Learning recommendation used to judge your Learn table against a fixed number, so anyone running a tighter Learn limit could never be told their transfer was overdue — even with the table pinned at its ceiling and everything else on the log clean. It now measures Learn against the limit your tune actually sets. It also stays quiet while an active fuel fault is being diagnosed, instead of suggesting you bake a bad correction into the base table.

Fewer false lean flags when you get back on the throttle after coasting

When you lift off and then reapply throttle, the wideband is still reading the tail of the lean coasting mixture for a moment — which used to get counted as the engine running lean on tip-in. The analyzer now recognizes those readings (fuel was clearly already being added, and the mixture swings rich immediately after) and leaves them out, so the accel-enrichment diagnosis no longer inflates its confidence on them.

Older Sniper datalogs decode more channels

Datalogs from older Sniper firmware now recover their base-table channels — base fuel, base timing, target AFR, and injector output — verified against Holley's own software rather than guessed from position. The playback chart on these logs gains a Base Timing lane, and exported data now carries correct names for every recovered channel.

Verified against Holley's own software

A bench session with the Holley tuning software confirmed two things our analysis previously hedged on. The progressive-linkage diagnosis now says definitively that secondary injectors begin delivering at about half the configured switch point, and tells you how to plan around it. Config reviews also grade TPS rate-of-change blanking against the correct factory values — the shipped base calibrations and the touchscreen Wizard use different ones, and the old copy treated one number as "the default" for everything.

Tidier results page

Config Review cards are now a consistent height — click any card's note to read the rest of it. The explanations behind the longest notes were shortened, the Config Cross-References section was retired (everything it flagged already appears in the diagnoses and scorecard), and the vehicle nickname box on the upload page now only appears when you request a tuning review.

Rich coasts no longer look like excessive acceleration fuel

Reopening the throttle after a closed-throttle coast could be scored as an overly rich acceleration event even when the mixture was already rich before the pedal moved. Those pre-rich readings no longer count as acceleration-enrichment overshoots, while genuine rich dives from an on-target baseline remain visible.

Cold enrichment corrections get their own diagnosis

A large closed-loop correction during warm-up could be mistaken for unstable hot-idle fueling even when the correction disappeared at operating temperature. The analyzer now keeps that signal out of idle-control advice and identifies the cold enrichment shortfall separately, with a coolant-sensor check before table changes.

Stall recoveries no longer masquerade as steady-load fuel pressure sag

Catching a falling engine with the throttle can produce a brief lean, high-MAP trace that resembles fuel pressure loss once RPM starts recovering. The analyzer now keeps those stall-and-rescue windows out of the steady-load diagnosis while preserving genuine low-RPM pulls.

One-direction Learn corrections no longer look fully tuned

A long drive could be labeled accurate when every part of the fuel table it visited was still correcting in the same direction, simply because the average stayed inside five percent. Tune Accuracy now recognizes that broad, consistent pattern while leaving short clips and freshly transferred near-zero tables alone.

Repeated lean tip-ins get clearer confidence

Two confirmed acceleration-enrichment undershoots now receive medium confidence when the broader tip-in record is consistently lean, never rich, and contains no competing pressure-sag evidence. Mixed unclassified events alone no longer send the review toward a fuel-pressure test.

Cold-start test clips no longer count as temperature faults

A short log recorded specifically during a cold start could be marked down simply because the engine had not yet reached operating temperature. Cold captures up to five minutes now explain that temperature and Learn readiness cannot be judged from the clip, while longer runs that fail to warm up still receive attention.

Older datalogs no longer expose mislabeled channels

Some older 832-byte logs could display changing analog data under unrelated A/C, warning, or status labels. Those logs now expose only the channel range that has been verified, so unsupported tail data cannot be mistaken for a real signal.

Frozen dynamic channels are now visible during review

A timing trace pinned to one non-zero value could pass unnoticed even while engine speed and load changed substantially. The analyzer now records dynamic-channel activity and calls out that observation for review without guessing whether the cause is a control limit, temporary lock mode, or an external-control setup.

A freshly transferred Learn table is no longer called unused

Transfer Learning To Base deliberately clears the saved corrections, but a newly cleared table could be reported as proof the engine had never run under load. On an established tune, the analyzer now recognizes the post-transfer shape, explains that the empty history is expected, and waits for the next log before judging coverage or limit changes.

A stuck-high idle no longer needs to cross the normal idle range

When a warm engine spent the entire log idling above 1,000 RPM, the analyzer could miss the idle because it never passed through the normal range. A steady closed-throttle high idle now reaches Idle Stability, Idle AFR, the idle-target check, and Drive Playback even when there are no lower-RPM idle samples.

Cruise hunting no longer blames a normally parked idle valve

A steady IAC position while cruising does not show that the valve caused an RPM hunt—the throttle blade is carrying the airflow. Cruise findings no longer use that reading to raise confidence or recommend IAC Hold changes unless the dedicated config check can compare a genuinely high setting with the log.

Normal start-up timing changes no longer look like interference

Timing can jump normally as the ECU hands control from cranking to running. The interference check now ignores that brief start-up handoff while continuing to report timing jumps that occur after the engine has settled.

Cruise IAC readings no longer inflate loop-switching diagnoses

A steady IAC position is normal while cruising because the throttle blade is carrying the airflow. The analyzer no longer presents that normal behavior as a second symptom or uses it to strengthen a closed-loop switching diagnosis; genuine loop switching remains visible in the Cruise CL Stability card.

Manual-transmission IAC Hold settings get the right context

A higher IAC Hold Position can be deliberate anti-stall margin when the clutch goes in, but the config scorecard judged it by the same narrow range used for automatics. When your upload identifies a manual transmission, settings in the documented 10-30% range are now recognized instead of being flagged for reduction.

Throttle tip-ins are no longer assumed to be gear shifts

A lean stumble after opening the throttle could be labeled a post-shift problem even when no shift occurred. The analyzer now reserves that wording for events with a matching RPM drop and recovery while the throttle stays open; other events are reported as ordinary tip-in lean spikes at a lower confidence.

Stall findings no longer assume an automatic transmission

A warm closed-throttle stall could be explained as torque-converter engagement even when the log never established an automatic transmission. Converter-specific wording and advice now require positive transmission evidence; other logs keep the measured stall evidence without guessing the cause.

Near-stalls no longer masquerade as failed hot starts

A hot engine dipping through cranking-range RPM and recovering could be reported as multiple failed start attempts even when the recording began with the engine already running. The Hot Start check now requires evidence that the engine was actually off before it calls the recovery a cranking attempt.

Fewer reviews lost to a mistyped email address

The review queue now flags likely one-character email typos, and an address can be corrected before a review or question is sent. Corrections are recorded so follow-up messages keep going to the intended inbox.

Keep multiple vehicles separate with an optional nickname

Shops and owners uploading logs from more than one car can now add a vehicle nickname. It travels with the upload so each review stays tied to the right vehicle.

Throttle stop is now judged on a fully warmed-up idle, whatever your engine runs at

The IAC / Throttle Stop card was only willing to call an engine fully warmed up above 195°F. Plenty of healthy engines settle below that, so on those logs the card averaged in the whole warm-up instead — reading high on a correctly-set stop, and sometimes missing an idle air valve that had closed completely by the end of the log. It now uses the temperature your engine actually holds.

The scorecard no longer assumes you have an automatic

The In-Drive Idle card told every car with a loaded idle that it was seeing "converter load" — including manual-transmission cars, and the many logs where we have no idea what's behind the engine. It's now Idle Under Load, and it only mentions a torque converter when your description or your config actually establishes an automatic. Ratings are unchanged; only the wording and the suggested fixes moved.

Drive Playback now colours a stuck-high idle

On a log where the engine sat at a high idle with the throttle closed, the playback timeline left that whole stretch uncoloured — often the most important part of the log. It's now shown as idle time, and the deceleration cards no longer count a held idle as coasting.

An idle that's stuck high is now recognised as an idle

If your engine settles at a high idle with the throttle closed — say 1,400 RPM against an 800 RPM target — the analyzer used to treat it as coasting and report that your log contained no idle to rate. Idle Stability, Idle AFR and the idle-target check now measure where the engine is actually sitting, and say how far that is from the target in your config.

Timing Mode now shows your actual table's range

On tunes running the 2D timing table, the Timing Mode card showed a range built from the simple timing screen's idle and cruise numbers — values your ECU ignores in that mode, which on some configs printed backwards (like "27-25.5°"). It now reports the lowest and highest timing in the table you're actually running.

No more false "cruise timing isn't higher than WOT" warning

If your tune runs the 2D timing table, the Config Cross-References list could warn that your cruise timing wasn't higher than your wide-open-throttle timing — comparing two numbers from the simple timing screen that your ECU ignores in that mode. The warning now only appears on tunes actually running simple timing, where those numbers are live. The shape of a 2D table is already judged by the timing checks on your scorecard.

Accel Fueling now compares against your own target

The Accel Fueling check was measuring your acceleration mixture against a fixed 12.5 AFR instead of the target your ECU actually commanded — so tunes that were dead on target were being flagged as lean. It now reads the commanded target straight out of the datalog, needs a decent stretch of throttle before it will say anything at all, and will tell you when your acceleration fuelling looks right instead of only speaking up when something is wrong.

Sniper 2 scorecards no longer mention Terminator X

Newer Sniper 2 firmware records datalogs in the same file format Holley uses for Terminator X. A few scorecard checks that stay unrated on that format were explaining themselves with "Not yet validated for Terminator X" — on Sniper 2 cards, which read like we'd mis-identified your ECU. Those cards now say what's actually going on, and the same wording fix applies to the message you'd see if we couldn't read a log's layout.

Tuning reviews are much easier to read

Reviews used to arrive as one wall of plain text. They now render properly on your results page — headings, bulleted and numbered steps, bold callouts, setting names in monospace, and action checklists as real checkboxes. The content is unchanged; it's just laid out the way it was written.

Lean tip-ins: it now checks whether your base fuel table is the real cause

If your fuel table is lean and Learn has been quietly covering for it, that shortfall shows up during a throttle roll-on — and the old advice, "raise your accel enrichment", stacks a correction on top of a correction. The finding now looks at how much Learn is holding in the RPM zones where the tip-ins happened, and where it's substantial it tells you to transfer Learn into the base table first and re-log instead. It also stops naming a fixed throttle-rate range and quotes the speeds your throttle actually moved at, measured from the throttle trace rather than the logged rate channel, which reads low.

"Transfer Learning" is no longer recommended while fuelling is faulty

Transferring Learn into your base fuel table is permanent and cumulative, so it's the wrong move while something is still feeding bad numbers into Learn — doing it during a fault is what corrupts a base table. Findings that used to recommend a transfer now check first, and when a lean fault is live on the same log they say to fix that and clear Learn instead, naming what held it back. They also check whether your base table already shows damage from an earlier transfer. Where nothing is wrong, the advice is unchanged.

Cranking speed is now measured while the engine is actually cranking

The cranking-speed reading used the highest RPM seen during the start, which includes the moment the engine catches — so a start that cranked at 164 RPM was reported as 443. It now shows the steady speed while the starter is turning the engine, and says nothing at all when the start was too quick to measure one. A related flag that was meant to mean "took a long time to start" was silently switching itself off whenever an attempt failed first, which is exactly when it should have spoken.

Boosted setups no longer get told to add timing

On a boosted engine the timing figure at the top of the table is a full-boost number, and it is supposed to be low. The scorecard was comparing it to a naturally-aspirated range and telling owners they were leaving power on the table — advice that could hurt an engine. It now reports that figure descriptively instead of rating it, says how much the table pulls back as boost rises, and explicitly says not to raise it toward a naturally-aspirated number. Naturally-aspirated tunes are unaffected, including the "leaving power on the table" note where it is genuinely true.

Three scorecard rows now judge you on the right part of the log

Engine Temp said "not fully warm" on logs that finished at over 200°F, because a five-minute warm-up dragged the average down — it now looks at where the log ended up. WOT Fueling could say "slightly lean" while your average was actually rich of target; that contradiction is gone, and it now separates a sustained lean pull from a momentary blip at a shift. The IAC / Throttle Stop row judges from your fully hot idle rather than a merely warm one, drops the "Park" wording on logs it can't confirm were out of gear, and no longer tells you which way to turn the screw when the reading says the opposite.

Throttle blips no longer count against your accel fueling

A quick blip — throttle open and shut again inside about a third of a second — goes rich after the throttle has already closed, so that's decel mixture, not an accel-fueling error. Those were being counted as failed tip-ins, which on some logs produced a confident "most of your tip-ins went rich" from nothing but clutch and shift blips. They're now excluded and disclosed, and a log made up entirely of blips says so instead of being rated. The same fix stops a single tip-in being counted twice when its start was recorded 20 milliseconds apart.

New: catches air/fuel readings jumping faster than the sensor can respond

A wideband can't follow a real mixture change from one reading to the next, so when the number jumps several AFR while throttle, load and engine speed all hold steady, that isn't your mixture. The analysis now finds those bursts and gives you the causes in order — rule out fuel actually arriving uncommanded first, then the harness, connector and any splice, and only then the sensor itself. That order matters: one owner replaced the sensor and afterwards found a broken wire. Lean findings whose worst moment lands inside one of these bursts are now marked as suspect instead of being reported as real.

New scorecard row: your Closed Loop and Learn limits

There's now a row for your Closed Loop and Learn compensation limits — and it judges them against how far your tune has actually got, not against a fixed number. Wide limits on a tune whose full-throttle cells have never been corrected are the right setting, so it says so plainly, because you'll find advice telling you to clamp them to 20%. The state worth worrying about is the opposite one: limits already tightened before those cells were ever validated, which stops the ECU correcting exactly where it matters most. It also flags a Learn table that has run away, and is explicit that tightening the limits is the last step there, not the first.

Config-only uploads now get real findings from your Learn table

If you upload a config without a datalog, the analysis used to have very little to say. Your saved Learn table is a record of where the engine has actually run and what the base fuel table got wrong there, so it now reads it: whether the file came back off your ECU or is a fresh Wizard calibration, how lean or rich the base table is at idle, roughly what idle vacuum that implies, and which parts of the table your engine has never visited. That last one matters — never-visited cells are exactly why tightening the Learn limits can be the wrong move.

New: catches closed loop switching off for no configured reason

Sometimes closed loop stops correcting while you're holding a steady throttle, with nothing in your settings to explain it — coolant is up to temperature, no limits apply, the throttle isn't moving, and the mixture was already on target. While it's off, the base fuel table alone decides the mixture and it drifts until closed loop takes over and hauls it back, which is what "runs rich for a few seconds at a time" feels like from the driver's seat. The analysis now finds those moments and, deliberately, does not guess the cause — it gives you two things to test in order.

New: checks how fast a boosted tune pulls timing back

On a boosted engine, timing needs to come out as boost comes up — Holley's manual gives one degree per pound as the starting point. A table that pulls back too slowly looks fine at low boost and gets worse the harder you lean on it, which is the version that's easy to miss. The analysis now measures that rate on boosted setups, checks the table against what your log shows was actually delivered, and says how many seconds you've spent up there — so it reads as something to fix before you raise boost, not an alarm about damage already done. It won't comment on your zero-boost timing, which is a separate question.

New: spots Learn propping up full throttle while cruise is fine

If your fuel table is short only at wide-open throttle, Learn quietly makes up the difference up there while cruise stays untouched — so the tune looks healthy on average and the only symptom is a lean moment at the start of each pull, before Learn catches up. The analysis now looks at Learn separately at full throttle and at cruise instead of averaging them together, and Tune Accuracy no longer calls a fuel table accurate when it's only accurate at cruise. On a short log it asks you for one more full-throttle pull before recommending a transfer, since that change is permanent.

New: names a coolant sensor that reads high when cold

A coolant sensor that reads 15–20°F high when cold makes the ECU think the engine is warmer than it is, so warm-up gets less fuel than it needs — which is what stalling or stumbling before the engine is hot usually turns out to be. There was already a note that the sensor and air temperature disagree at startup; there's now a proper finding that shows the consequence in your own log, and separates a genuinely bad sensor from a restart of an engine that was simply still warm. It also tells you to replace the sensor before touching any warm-up fuel settings, and the warm-up-lean finding now nests underneath it rather than giving you contradictory advice.

New: tells you when your throttle never actually opened all the way

A blade resting against its stop reads 90–93%. If your log shows the engine pulling hard while the throttle reading stops well short of that, something is limiting travel — a cable, a bracket, a floor mat, a stop screw. The analysis now checks for it, and is careful about what one log can prove: a single push can't tell a linkage limit from a driver lifting early, so that's flagged to check rather than called a fault, while a pedal stopping at the same place on several pushes is called what it is. It also explains why your full-throttle tune isn't wrong — Sniper fuel and spark follow manifold pressure, not pedal position.

New: catches a System Type set for more injectors than you have

If System Type is set to a bigger unit than the one on your engine, the ECU calculates fuel for injectors that aren't there and your Learn table quietly doubles itself trying to cope — which then shows up as rich acceleration, closed loop that never settles, and scattered air/fuel readings all at once. The analysis now works out the injector capacity your ECU is actually calculating with, straight from your log's own fuel readings, and compares it to the injectors your config says you have.

Cold-start logs now get a real warm-up breakdown

Upload a log that starts cold and you'll now get a table of what your engine did at each coolant temperature on the way up — enrichment, air/fuel against target, closed-loop correction, idle speed and timing. Previously this only appeared if your warm-up was running lean in a specific way, so most cold-start uploads showed nothing at all. It also flags two things that were invisible before: a warm-up that's actually fine because closed loop is quietly adding a lot of fuel, and fuel corrections learned when hot being replayed while the engine is still cold. When a log has no warm-up in it, it now says so instead of staying blank.

New: catches a fuel cliff your two tables only create together

Your base fuel table and your saved Learn table can each look fine on their own while the fuel actually injected — the two multiplied together — falls off a cliff at one manifold-pressure line. Opening the throttle sweeps straight through it, which feels like a stumble, hesitation or backfire on tip-in. The analysis now multiplies the two tables and reports any step like that, including the warning not to run Transfer Learning To Base while it's there, since that would bake the step permanently into your base table.

Terminator X: timing-table checks now actually run, and boosted WOT timing reads correctly

The timing table from a Terminator X config was being loaded in a shape the analysis couldn't read, so every timing-table check quietly skipped it — including the new ones. That's fixed, and they now run on Terminator X configs. One consequence matters if you're boosted: WOT timing was being read from the naturally-aspirated part of the table and could report a healthy number while your actual full-boost cells were far lower. It now reads the boost cells and flags them.

New: flags a timing table that was never built for your engine

The setup Wizard writes a placeholder spark table, and on a lot of tunes it never gets replaced — whole blocks of load rows sit identical, so timing barely changes as load comes on. The analysis now says so, and tells you whether that table is live today or only becomes live if you switch timing to the 2D Table type. Two scorecard items that used to praise those tunes have been corrected too: "timing is shaped per cell" is no longer claimed for a table that isn't, and rock-steady cruise timing is no longer scored as good control when it's really just a flat table.

New: spots closed loop quietly giving up at cruise

A new check compares moments where your engine is doing the same job — same RPM, load and throttle — and looks for the fuel command sitting still while the mixture drifts away from target. Working closed loop can't do that; it either corrects the error or moves trying to. The finding says plainly that it can't tell you why from the log alone and lists what produces it, including a drifting oxygen sensor, which looks identical in a datalog. It works on the newer log format where the closed-loop and Learn readings aren't recorded at all.

New: checks when your secondary injectors actually start

If you run Progressive Throttle Linkage, the analysis now reports the throttle position where your secondary injector set really begins delivering, measured from the log, and compares it to the switch point in your config. Across the uploads we can check, the two don't agree — the secondaries come in around half the configured figure — so the check reports what your log shows rather than assuming either number is wrong, and tells you how to measure the mechanical opening point yourself. It matters because fuel going into barrels whose blades are still shut spreads unevenly between cylinders, which shows up as fast air/fuel scatter just above that point.

New: two timing-table shape checks for engines that ping

Timing advance should climb with RPM under load and back off as load rises. Two new checks flag tables that don't: one where the high-load rows hold a single value from idle to redline, and one where advance actually increases as load comes on. Both describe the shape rather than the peak number — a 34° reading can sit inside Holley's published range and still be wrong for low-RPM, high-load driving. The second check is aimed at a common half-fix: lowering your wide-open-throttle number while the part-throttle cells that were also too high stay where they are.

New: catches a warm-up setting that silently switches Learn off

Your Sniper won't save fuel corrections while the coolant warm-up enrichment is still adding fuel — so a warm-up curve that doesn't come back down to 100% until the thermostat opens leaves Learn switched off for most of every drive, and your tune never settles. Nothing on the site could see this before. The analysis now reports the temperature your Learn actually switches on at, how much of the log ran with it off, and the fuel correction the ECU was making but could never save. Tune Accuracy also stops claiming your fuel table is accurate on a log where Learn barely ran.

Coasting to a stop no longer counts as idle

When you lift off and roll to a stop, RPM is still falling and the idle air valve is shut — the engine isn't idling yet, it's being driven by the wheels. Those samples were being averaged into the idle readings, which made steady idles look unstable and produced a "your idle trim is swinging" finding on engines that idle fine. They're now excluded from the settled-idle window, so idle stability, idle mixture and the idle-trim finding all describe your actual idle. Throttle-stop readings are deliberately unaffected.

"Ready to transfer Learning" is now withheld when the tune isn't ready

The transfer-readiness check looked at one log at a time, so a calm idle log could recommend transferring Learning into the base table while the attached tune showed clear signs of an earlier bad transfer — advice that would have made things worse. It now checks the fuel table's condition first and says which finding blocked it, and when Learning has already converged it says "no transfer needed" instead. Separately, low idle timing is no longer reported when the ECU is deliberately pulling timing to bring a high idle down.

Interference results now show the full set of detected events

The interference panel on logs without usable RPM data was missing three of its readings — RPM glitches, throttle-position spikes and timing scatter — along with the short explanation under each number. All three views now show the same complete set. Terminator X users also get corrected cell locations in the fuel-table check.

Terminator X no-start logs are analyzed instead of rejected

If you logged a crank that never caught, the analyzer used to reject the whole file as an unrecognized log variant — the exact log a no-start complaint produces. Those logs now read normally, cranking speed, battery, coolant and air/fuel included, so a hard-start problem can actually be diagnosed from it.

Sharper idle and closed-loop diagnoses

Several diagnoses have been tightened so they only appear when the data can actually support them. The throttle-stop finding now quotes your warm idle rather than a whole-log average, and when your idle target is simply set below what the closed throttle delivers it says so instead of blaming the stop screw. Findings that depend on readings your ECU's log format doesn't include no longer fire on that missing data, and logs with no out-of-gear idle no longer get a confident throttle-stop verdict.

Idle AFR is now judged on your warmed-up idle, not the whole log

On a log that starts cold, idle runs deliberately rich-then-lean while the engine warms, and averaging that in made the Idle AFR card read "too lean" on tunes that idle fine once hot. It now rates the settled, fully-warm idle and mentions the warm-up separately, and a log whose idle never reaches operating temperature says so instead of guessing. A genuinely lean warm idle still gets flagged.

Fixed a false "engine breaks up under load" warning

The RPM-interference check could report that your ECU was losing its crank signal when the datalog only contained a few brief, harmless RPM readings that the engine never reacted to — and it described those readings as dropping when they were actually rising. Both problems are fixed: the check now needs a genuinely large RPM excursion before it flags anything, and it correctly tells you which direction the reading moved, which points at a different cause. Logs with a real interference problem are unaffected.

Terminator X: tip-in analysis, direct-injection stumble detection, and a flex-fuel safety check

Throttle tip-in analysis is now active for Terminator X datalogs — including a new diagnosis for direct-injection engines (Gen V LT swaps) where a stab of throttle from coasting goes lean because rail pressure needs a moment to recover; the analyzer now spots this from the rail-pressure channel and explains why adding acceleration enrichment won't fix it. The config review also warns if a flex-fuel sensor is enabled but the tune has no ethanol compensation — a setup that would run dangerously lean on E85.

No more nagging about the soft rev limiter

If your main rev limiter is set at a sensible RPM, the config review no longer suggests enabling Rev Limiter #1 — the main limiter already protects your engine, and the soft limiter is an optional comfort feature, not a requirement. The suggestion now only appears when the main limiter itself looks off.

Fixes: accurate Target AFR readout and no more nagging about disabled AC Kick

The config review was reading your idle/cruise/WOT Target AFR values slightly off in some tunes — it now reports exactly what your tune commands, and config comparisons no longer show phantom AFR changes. Also fixed: if you've disabled AC Kick, the analyzer no longer suggests turning it down. Analysis is now also accurate for tunes where the fuel or timing table's RPM/MAP ranges were customized.

Config review catches two more root causes

Config review now flags a base fuel table where light-throttle cells carry more fuel than full-load cells at the same RPM — a physically impossible shape for a naturally aspirated engine that usually means bad corrections got baked in during an old misfire or exhaust leak. And a new diagnosis catches cold-idle roughness caused by the timing-vs-coolant table still being at its all-zero factory default, so the engine gets no extra timing when cold — complete with a temperature-by-temperature breakdown from your own log.

Two new diagnoses for AFR signal problems at steady throttle

The analyzer now catches violent AFR swings during otherwise-steady cruising — the "mostly smooth with periodic freakouts" pattern that the cruise-quality check couldn't see — and separately flags when commanded fuel doubles at constant load while the wideband barely moves, which means the AFR reading itself can't be trusted (misfire or sensor trouble). Both work on newer Sniper 2 logs that record fewer channels.

Better detection of ignition signal dropouts

The RPM-breakup detector now catches shorter signal dropouts that the original check missed — on one real log it found all six episodes the owner was feeling as an intermittent misfire, where previously only one was reported. The diagnosis also now says whether the pattern points to a wiring/connector dropout or radiated interference, and lean readings caused by the dropout itself no longer trigger a separate misleading fuel-delivery warning.

New diagnosis: correction limits maxed out

The analyzer now detects when both of the ECU's self-tuning systems — Learn and closed-loop compensation — are pinned at their configured ceilings across the RPM range while AFR still runs lean of target. That combination means the base fuel table is short on fuel and the correction limits are too tight for the ECU to cover it; the diagnosis walks through widening the limits, re-learning, and transferring to the base table.

Smarter tune-accuracy and timing advice

Tune Accuracy no longer reports your VE table as accurate when the self-learning is actually pinned at its correction limit while AFR misses target — that now flags that learn limits may be masking a fueling error. Config review reads wide-open-throttle timing from your actual timing table when you're in table mode (it previously read a setting that's inactive in that mode). And idle-timing advice now matches your ignition setup — HyperSpark and Dual Sync users get table-based fixes instead of vacuum-advance-canister suggestions that don't apply to their hardware.

Fewer false alarms on the health scorecard

Three checks were flagging healthy cars: MAP readings during a normal throttle lift could be counted as electrical interference (especially on boosted engines), a warm restart could be mistaken for a bad coolant temp sensor, and a split-second starter-motor voltage dip could be reported as a weak battery. Each now tells the harmless case apart from the real problem — genuine noise, stuck sensors, and truly weak batteries still get flagged.

Holley Dual Sync setups now get the full timing checks

Configs set up with a Holley Dual Sync distributor were being labeled as a different ignition type, which quietly disabled several idle-timing diagnoses for those cars. The label is corrected and the timing checks now run — including on previously uploaded logs, no re-upload needed.

Scorecard consistency fixes

The EMI/RFI health card could report "No interference detected" on a log where an RPM-breakup-under-load episode had actually been found — those episodes now count toward the noise total and flag the card for attention. Also, Idle Stability no longer shows a "good" rating when a log doesn't contain enough settled idling to judge.

Clearer wording for a brief lean blip at wide-open throttle

When a full-throttle pull is on-target overall but shows one or two momentary lean flickers — the kind caused by a quick throttle transition, not a real fueling shortfall — the WOT fueling check now labels them as harmless transients instead of suggesting you review your fuel table. The stronger "review your WOT cells" wording is now reserved for pulls that actually run lean on average.

Config Cross-References are back on the results page

The section that cross-checks your config file against what the datalog actually shows — including the warning that the attached config doesn't appear to be the tune the log ran on — had stopped appearing after the multi-log redesign. It now renders for every log, and the same flags are visible during tuning reviews again.

Upload reliability fixes

A batch of fixes from an internal audit: a file that fails to process now shows an error banner instead of silently disappearing from the results, uploading more than 5 files now warns you instead of silently dropping the extras, results links with a trailing slash load correctly, and uploads no longer show a false "processing failed" during busy stretches or get stuck on the processing spinner forever.

More honest readings on sparse logs and configs

Drive Playback gauges no longer invent a reading (like an alarming "0.00V") for sensors a log simply doesn't record — they now show "--" as intended. The Config Summary no longer states "No" for settings it couldn't actually read from an older config format, and fuel-only Sniper 2 installs logging in the newest firmware format no longer get false idle-timing warnings.

Smarter cruise-surge detection on noisy RPM signals

Some ignition setups (CD boxes especially) put a lot of electrical noise on the RPM signal, and the analyzer was reading that noise as "cruise surge" — one user saw the warning on six uploads in a row with a genuinely smooth-driving car. Surge detection now separates real slow RPM oscillation from signal noise, and actually catches gentle surges the old check missed. Also fixed: the Timing Mode health card now reads the mode from your attached config instead of guessing from the datalog, and rich tip-in reports now show how deep the rich dip actually went.

Detects when the attached config isn't the tune your log ran on

On Terminator X uploads, the analyzer now compares the self-tuning history saved in your config file against what the datalog actually reports, and warns you when they don't match — for example when an older config file is attached after a new tune was loaded into the ECU. Also fixed two false alarms on automatics: an idle warning that mixed in-gear idle with Park idle, and an "IAC wide open" warning that could fire during the normal settle-down after a hot restart.

Fixed a false "torque collapse" warning on multi-gear pulls

A normal full-throttle run through more than one gear could trigger a false "sudden torque collapse" warning — the analyzer was comparing how fast the engine gained RPM between two pulls without accounting for the fact that a taller gear naturally climbs slower. It now tells a real power ceiling apart from a simple upshift, so ordinary shifted pulls no longer get flagged.

"Show on timeline" now actually zooms to the evidence

Clicking "show on timeline" on a diagnosis card now zooms the Drive Playback chart onto the moment or region the diagnosis is about — previously it only scrolled and highlighted, leaving the chart wherever it was, which could look like a blank graph if you'd accidentally zoomed in. The links now also recover the chart from any stuck zoom, and small mouse twitches while clicking the chart scrub the playhead instead of zooming into a blank sliver.

Terminator X custom outputs and channels

The analyzer now understands Terminator X custom input/output setups — including PWM fan outputs — so cooling advice no longer assumes the built-in fan settings are the whole story. Custom datalog channels you've named in your tuner now show up as their own lanes in Drive Playback, and the knock lane is hidden when knock sensors aren't configured (it always reads zero there).

Results page redesign: easier multi-log navigation, smarter playback chart

Multi-log uploads get a sticky jump-to navigator and clear per-log banners, with the RPM-band views moved up front and the small stat tables grouped into one collapsed “Detailed Stats” section. “Show on timeline” on a diagnosis now turns on the relevant chart lanes, zooms to the evidence, and explains what it focused. The playback chart also picks up every channel your ECU records — including fuel and oil pressure gauges on Terminator X logs — behind a “+ N more” lane toggle.

New diagnosis: real misfire confined to an RPM band

The analyzer now recognizes a genuine misfire that lives in a specific RPM range: the ECU fuels for more airflow than the engine can physically breathe while the oxygen sensor still reads lean, at light load and wide-open throttle alike, with clean readings above the band. The diagnosis points at ignition and mechanical causes, warns against “fixing” it with more fuel, and full-throttle fueling is now judged excluding a detected misfire band — so a clean pull isn’t flagged for a fault it merely drove through.

Power-loss detection, cam-timing checks, and smarter fuel-pressure scoring for Terminator X

On Terminator X logs, the analyzer now compares your full-throttle pulls against each other and can flag a sudden loss of engine power even when fueling looks normal — with a checklist of physical causes to chase. When cam-timing channels are included in the log, it also verifies the cams are actually following their targets. And fuel-pressure scoring now recognizes vacuum-referenced regulators, so a rail that correctly tracks manifold pressure is no longer flagged as a pressure swing.

Results page now speaks driver language

Diagnosis cards lead with the one reading that matters and tuck the rest behind "all readings". Internal metrics like sample counts and statistical jargon are gone from the scorecard and stats sections — timestamps now read as minutes into the drive, and every number left on the page is one you can act on.

Smarter verdicts and better-matched fix suggestions

Very short logs now show "Not Enough Data" instead of judging your tune off a handful of readings. Fix suggestions now match the direction of the finding (rich vs lean) and your hardware, several health cards that previously showed no fixes now include them, and the over-rev check now catches RPM excursions past an enabled Rev Limiter #1.

Smarter analysis when your logs and config come from different days

When an upload bundles older datalogs with a newer config, the analyzer now notices the mismatch and frames its config warnings as forward-looking instead of misreading the logs. Also fixed three false alarms: hot-restart "not enough fuel" warnings based on oxygen-sensor readings taken before the sensor had warmed up, wide-open-throttle fueling judgments made while closed loop was chasing a bad reading, and fuel-pressure "sag" warnings triggered by a single glitched sample.

New diagnosis: closed loop chasing a false lean reading

The analyzer now detects when closed-loop correction maxes out at light load chasing an oxygen-sensor reading that won't respond to the added fuel — the classic signature of a false lean (an exhaust leak near the sensor, a leaky sensor bung, or big-cam overlap dilution), which quietly contaminates the Learn table and causes real over-fueling. Also fixed two false alarms: fuel-pressure warnings triggered by the normal pressure drop when you shut the engine off at the end of a log, and cold warm-up idle being mistaken for in-gear idle.

Fixed a backwards warning about high idle targets

The config review used to warn that a higher-than-typical warm idle target could cause stalling when decelerating to a stop. That was backwards — it's a low idle target that risks a decel stall, while a higher target actually gives idle control more room to catch the engine as RPM falls. The item now describes the real trade-offs of a high target: fuel economy and, on automatics, firmer engagement into gear.

New check: running lean while warming up

The analyzer now flags when your engine runs leaner than the computer is asking for during warm-up, before it reaches operating temperature. A lean warm-up mixture is a common cause of cold-start and not-fully-warm stalling, and it points you at the coolant-temperature enrichment as the fix. The check is careful to ignore the first few seconds after start (while the oxygen sensor is still warming up), so it only fires on a real, sustained lean warm-up.

Deeper Terminator X config analysis

Uploading a Terminator X config on its own now gives you a rated health scorecard — timing, rev limiter, idle, fueling and AFR targets — instead of just a plain summary. The summary also shows more of what tuners care about: target air/fuel ratios, fuel pressure and injector size, closed-loop and Learn status, and where your tune is in its learning cycle. Older config versions now show a clear note about what's available.

Terminator X: catches a misfire-baked fuel table on its own

When an ignition misfire fakes a lean reading, auto-tune can keep piling fuel into the same cells until the fuel table takes on a physically impossible shape. The analyzer now spots that shape in a Terminator X config by itself — even if your log never went wide-open — and warns you not to transfer Learn into the table until the misfire is fixed, which would otherwise bake the bad correction in for good.

Support for newer Sniper 2 datalogs

Some newer Sniper 2 setups record datalogs in a different internal format that the analyzer couldn't read before — those uploads came back as an unrecognized file. They now decode and analyze like any other log, with the full health scorecard, AFR-vs-target accuracy, and diagnoses.

Drive Playback graph now keeps every line in view

When a log had a tall spike — like the AFR pegging lean on decel, common on wideband Terminator X logs — the line could run off the top or bottom of the playback graph. The graph now expands its scale to fit the whole trace so you can see the full spike instead of a flat-topped clip.

New: detects an ignition misfire faking a lean condition

The analyzer now flags an intermittent ignition misfire that fools the wideband O₂ into reading lean — which can trick Closed Loop and Learn into piling fuel into those cells. When a band is commanded far over-fueled yet still reads lean at light-to-moderate load, the analyzer points you at the ignition (coil, plug, gap, wire, cap) instead of chasing it with more fuel. Works on Sniper and Terminator X.

Terminator X: detects boost, nitrous, trans & DBW

Terminator X config summaries now show which power-adder and control features your build runs — boost control, nitrous, transmission control, and drive-by-wire throttle.

Terminator X: rev limiter & 2-step in the config summary

Terminator X config summaries now show your rev limiter mode (soft, spark cut, etc.) and your 2-step launch RPM when one is set.

Smarter cranking-voltage checks on cold starts

A cold battery cranks at a lower voltage, which was tripping false weak-battery and pink-wire warnings on clean cold starts. Those checks now tell a genuinely low crank apart from the normal dip of a cold start, and they run on Terminator X results too.

More accurate CL Comp & Cruise IAC health cards

The CL Comp Rail-to-Rail and Cruise IAC health cards no longer raise a flag for a brief closed-loop correction or a normally-parked idle air valve at steady cruise — they now only fire on sustained issues, and they show ratings on Terminator X results too.

Terminator X: more scorecard ratings

Terminator X results now also rate Decel Fueling and Cruise Timing Stability on the engine health scorecard, where they previously showed as not-yet-supported.

Terminator X: full results page

Terminator X results now show the same complete layout as Sniper logs — drive playback, the engine health scorecard, and the overview, idle, cruise, AFR, and voltage sections — with your configuration summarized once at the bottom. The old beta readout has been retired.

Terminator X: rev limiter check

Terminator X results now flag a rev limiter set high enough to offer no real over-rev protection, with a suggestion to set it near your peak RPM.

Terminator X: cruise & decel scorecards

Terminator X results now rate Cruise Quality and Decel AFR — both previously shown as not-yet-supported — and flag RPM hunting at steady cruise.

Terminator X: Tune Accuracy scorecard

Terminator X results now rate Tune Accuracy — how far your Learn table has moved from the base fuel calibration — instead of showing it as not-yet-supported, and can flag when a tune has settled and is ready to transfer into the base table.

Terminator X: hot-start, WOT & timing checks

Terminator X results now flag more datalog issues — flooded or lean hot restarts and rich after-start flares, injectors maxing out or a fuel-pressure shortfall at wide-open throttle, and dangerously low cruise timing.

Terminator X: more automated diagnoses

Terminator X results now run a broad set of additional checks from your datalog — idle stalls and big-cam idle signatures, coolant-sensor noise, electrical/RFI resets, low-voltage ECU confusion, and several closed-loop and cruise air/fuel issues.

Terminator X: closed-loop tuning checks

Terminator X results now flag closed-loop fueling issues read against your config — trim limits set too tight, wide trim swings at idle, a stay-in-closed-loop throttle threshold set too low, and a too-short decel re-entry delay.

Terminator X: A/C compressor check

Terminator X results now flag a common A/C setup gap — A/C Kick enabled with no A/C Shutdown configured, which leaves the compressor engaged at wide-open throttle and during heat-soak.

Terminator X: idle checks

Terminator X results now flag idle-tuning issues read against your config — idle RPM that's off the target curve, idle-spark correction running at its limits, and a throttle held cracked open with the idle air valve stuck at its hold position.

Terminator X: fuel and cranking checks

Terminator X results now flag a too-lean wide-open-throttle target air/fuel ratio and cranking-fuel problems (a flooded hot restart, or too little cold-start fuel), and the health scorecard now rates WOT fueling, hot start, and cranking voltage.

Terminator X: timing mode now shown

Terminator X results now show whether your ignition is running the load-based 2D timing table or Simple mode, with a short note on what that means for your tune.

More reliable uploads under load

Fixed an issue where an upload could occasionally be reported as failed when several uploads were being processed at the same time. Uploads that hit the processing time limit now report an error instead of appearing stuck on "analyzing" indefinitely.

Analysis accuracy improvements

Restored a decel-popping (overrun backfire) diagnosis that wasn't being surfaced, and stopped over-confidently flagging a healthy, steady-cruise wideband as a "dead sensor" — that case is now reported with appropriate confidence. Health ratings and config values no longer display "NaN" when a log contains corrupt channel data.

Terminator X: no more false low-pressure warnings on cold-start logs

Cold-start datalogs were incorrectly flagging low oil and fuel pressure because the analyzer counted the brief key-on/cranking moment before the engine catches, when those pressures are naturally near zero. The analyzer now judges oil and fuel pressure only while the engine is actually running, so a healthy cold start no longer triggers a scary warning.

Terminator X: fixed impossibly long log durations

Some Terminator X datalogs were reporting nonsensical run times — a short cold-start log showing up as days long — which also threw off timing-based readings like temperature minimums. The analyzer now ignores the placeholder record at the very start of these logs, so durations and the values derived from them read correctly.

Terminator X: Learn-table progress check

When you upload a Terminator X config, the results now report how far your Learn table has converged — whether every cell is settled within a healthy band, or some areas are still asking for noticeably more or less fuel. If you're partway through a drive-and-transfer cycle, it points out which RPM range still needs work so you know whether to keep going.

Cleaner results page: detail sections start collapsed

The results page now opens with the verdict up front — diagnoses, the health scorecard, and the drive playback — while the detailed stat sections (overview, idle, cruise, voltage, and the rest) start collapsed. Tap any section header to open it, or use "Expand all," especially handy on phones where the full page used to be a very long scroll.

Fixed garbled readings on some Sniper config files

Some Sniper config files — typically ones saved straight from the setup wizard — store their settings in a different internal arrangement, which made the Config Review show nonsense values like impossible cylinder counts and unknown ignition types. The analyzer now detects this variant and reads these configs correctly.

Terminator X Max datalogs now supported

Datalogs from Terminator X Max systems (the variant with transmission control) previously came back as "log variant not recognized." The analyzer now reads this format — including ignition timing, knock retard, and oil and fuel pressure channels — so these logs get the full health scorecard.

Smarter pressure and idle checks

If no oil or fuel pressure sensor is wired to your Terminator X, the scorecard now says "no sensor" instead of warning about dangerously low pressure. Idle logs labeled "in gear" in the filename are now scored as in-gear idle — where higher IAC is normal converter load, not a throttle-stop problem — and the cruise mixture check shows N/A when a log contains no cruise driving to grade.

More Terminator X health checks

The Terminator X health scorecard now rates oil pressure and fuel pressure, and the charging and idle-MAP checks that were previously marked "not yet validated" now get real ratings tuned for this platform. The Terminator X config summary also shows your target fuel pressure, injector size, and rev limiter.

Health scorecard & diagnoses for Terminator X

Terminator X datalogs now get a health scorecard and automated diagnoses, the same kind of analysis Sniper logs receive. We start with the checks we've verified for this platform — idle stability, AFR accuracy, idle mixture, IAC/throttle stop, engine temperature, and electrical-noise detection — and clearly mark the rest "not yet validated for Terminator X" while we confirm them, so you only ever see results we trust.

Verified Terminator X readings + Drive Playback

Terminator X datalogs now decode a full set of channels — ignition timing, MAP, TPS, IAC, learn, injector duty, oil and fuel pressure, and more — all confirmed against the Holley software so the numbers are trustworthy. They also get the interactive Drive Playback chart with the correct log timing, so you can scrub or play through the log and watch every channel move over time, the same timeline view Sniper logs have.

Terminator X support (beta)

The analyzer now accepts Holley Terminator X uploads — datalogs (.dl and .dlz) and global configs (.terx). For now you'll get decoded readings (RPM, AFR, coolant and intake temps, voltage, target idle, fuel pressure) plus a configuration summary, while we finish verifying the full health analysis for this platform. Thanks to the community members who contributed sample files.

Calmer, better-aimed advice on several health cards

A batch of results-page refinements: rich deceleration is now described as the normal Sniper behavior it is instead of "unusual", brief lean blips during hard-throttle transitions no longer raise a fuel-delivery alarm when your wide-open fueling is on target, cranking-voltage notes only escalate when the dip actually approaches the problem threshold, and a few recommendations that pointed at the wrong fix — like suggesting more accel fuel on rich tip-ins, or telling a finished tune to widen its closed-loop limits — now point at the right one.

A fresh look for the site

The upload, results, and changelog pages have a new visual design. Everything works the same — same analysis, same links — it just reads better.

Fewer false idle-fueling warnings on cold-start logs

Logs that start cold and warm up could trigger an idle fueling-stability warning even when the warmed-up idle was right on target — the rich warm-up minutes were dragging down the numbers. The analyzer now judges idle fueling from the warmed-up portion of the log, so a healthy tune recorded from a cold start no longer gets flagged.

Fewer false idle warnings on automatic-transmission engines

On automatics, the torque converter naturally raises the idle air-valve position when you're in gear — which is normal, not a problem. The analyzer no longer reads that in-gear idle as a throttle-stop or fueling fault; idle checks now key off your Park idle, so a dialed-in tune stops seeing idle warnings it has already addressed.

Support for another Sniper datalog variant

Some valid Sniper datalogs were being turned away as an unrecognized format. The analyzer now reads this additional variant correctly, so those logs upload and analyze like any other.

Fewer false-positive ratings on healthy logs

Tightened about 30 analysis checks that occasionally flagged healthy, in-spec logs as problems. The rich-decel note now appears only when deceleration is genuinely rich rather than normal sample spread, the idle fueling-stability warning now needs a genuinely wide swing, and the rev-limiter warning only flags settings high enough to actually remove over-rev protection — among other acceleration, idle, and cruise refinements. Across our test logs this cleared about a third of borderline false alarms while still flagging every real problem.

Cleaner ratings on healthy tunes

The results page now hides health cards and warnings that fired as "fair" on well-tuned engines even when nothing was wrong — including the rich-decel warning on current Sniper firmware, where Holley removed the Decel Fuel Cutoff option and rich decel is the expected default. Idle stability and cruise AFR accuracy (previously labeled "AFR Control") also use smarter sample windows, so a clean tune no longer gets flagged just because the log included normal warmup or post-throttle transitions. At the same time, WOT fueling now detects sustained lean periods that a per-sample average can mask — so if your WOT Fueling rating changed, it's flagging a real event, not a regression.

Engine-off logs now recognized

Datalogs captured with the engine off (key-on, engine-off) are now detected and clearly labeled, showing only the readings that are meaningful in that state instead of a misleading all-red health report.

Fewer false-positive diagnoses on the results page

Reviewed the most-fired diagnoses against real logs and tightened four matchers that were over-flagging. Cruise hunting no longer mistakes gentle linear acceleration for engine-side surge, the closed-loop trim diagnosis no longer escalates to high confidence from one transient sample, the rev-limiter warning ignores sub-50-RPM sensor touches, and the engine-stalled card is suppressed when the log simply ends shortly after RPM drops (typically a datalogger disconnect or end-of-drive shutdown rather than a real stall).

Better platform detection for Sniper 1 throttle bodies running V2 firmware

The analyzer was previously mis-identifying Sniper 1 hardware as Sniper 2 when the owner had updated to V2 firmware, which caused some Sniper-1-specific recommendations to be skipped and some Sniper-2-only items to be shown in error. The system now reads the throttle body's hardware identifier directly, so a Sniper 1 running V2 firmware is correctly recognized regardless of firmware version.

Clearer upload errors when files are too big

The upload page now checks total file size before submitting and disables the button with an inline message if you're over the limit, so you find out up front instead of after waiting for the upload to fail. When something does go wrong server-side, the error message now names the actual problem (too large, server unavailable, etc.) instead of the confusing "Unexpected token '<'" message a few users saw recently.

Cleaner diagnosis stack: one issue, one card

When two diagnoses describe the same underlying issue (for example, when a wider-cam idle would trigger both the "big cam" notice and the "high IAC" notice, or when ignition-switch resistance is what's actually causing a cranking voltage dip), the report now leads with the most informative one and tucks the related notices underneath as "downstream effects of this issue." Less visual noise; the same data is still available if you expand it.

Optional tip jar in the footer

Added a small Ko-fi button to the footer. The analyzer stays free; if it has saved you a tuning headache and you want to chip in, the option is there. No tracking, no popups — the button is just a link.

Six new diagnoses for things the analyzer was missing

Added detection for wideband sensors producing impossible single-sample spikes, Target AFR tables left at Wizard defaults that hurt WOT power, acceleration-enrichment curves with the wrong overall shape, the right moment to bake learn corrections into the base fuel table, ignition-switch resistance on the Sniper's switched-12V feed (distinct from a weak battery), and a stronger framing for AC-Kick configurations when no AC use is visible. These came from real review patterns the existing matchers weren't catching.

Sharper diagnoses, fewer false alarms

Tightened several diagnosis thresholds so healthy logs stop getting flagged for normal cruise behavior, and improved the wideband-failure detection to catch sensors that fail at non-standard voltages. Also resolved a couple of cases where two diagnoses were firing on the same engine condition — the more relevant one will surface in those cases now.

Matcher audit cleanup — idle-timing floor and rev-limiter fix

Two follow-ups from a full audit pass on the 52 pattern matchers. The "idle timing too low" matcher now uses 18° as its floor (was 14°), matching the KB-cited Holley-forum recommendation that vacuum-advance-equivalent should be baked into the Sniper timing table — tunes in the 14-17° band now get flagged at medium confidence instead of being silently ignored. And the "rev limiter set too high" diagnosis now surfaces an actionable recommendation in the fix list (set to peak usable RPM + 300-500) instead of leaving the suggestion buried in the prose.

Config scorecard now considers fuel type, induction, and tune intent

Three more health-scorecard ratings got sharpened. WOT timing now scales by fuel type and boost: pump-gas naturally-aspirated stays 26-36°, E85 widens to 30-42° (to credit the octane margin), and boost-enabled configs cap lower at 22-34° (the WOT scalar should be the no-boost peak, with the table pulling timing as manifold pressure rises). Simple timing mode is now flagged "fair" on naturally-aspirated street builds (a missed opportunity, not a fault) but still "attention" when a boost ICF is present (because the 31×31 cells are decorative in Simple mode and can't pull timing under boost). And the AE Correction "flat 100%" reading is now rated "good" — it's the neutral baseline; tapering above 60% TPS is a symptom-driven refinement when datalogs show WOT lean, not a config-only requirement.

Smarter warm-cranking-fuel and idle-target ratings

The config health scorecard's "Warm Cranking Fuel" rating used to claim "most engines need 10-15 lb/hr" universally — but that's the Sniper Wizard's intentionally-rich default, not what engines actually need. Per Holley-staff forum guidance, hot engines typically only need 7-8 lb/hr. The rating now scales by engine displacement and cam aggressiveness (rough rule: lb/hr ≈ displacement / 50 + cam offset), and a 7 lb/hr value on a properly-set-up engine now rates as "good" instead of "attention." The "Warm Idle Target" rating got the same treatment — it now scales by cam type (stock 700-800, street 750-850, street/strip 800-900, race 850-1100) instead of a single threshold that missed the big-cam case. It also now reads the 200°F cell from your idle-target table rather than the 100°F cell, since most engines operate above 180°F.

Quieter diagnoses — four false-positive signatures suppressed

The idle-target-vs-actual matcher now looks up your idle RPM table at the engine's actual coolant temperature instead of always comparing against the 100°F cell — properly-tuned engines no longer fire this warning when running at normal operating temp. The hot-restart lean-crank matcher now ignores brief fuel-vapor purge during clean catches under one second. The rich-decel matcher's recommendations no longer cite a lean-direction fuel-pressure fix. And the warm-cranking-fuel config flag now only fires when an actual warm-start was observed AND the engine didn't catch cleanly.

Config viewer now identifies EFI System Type

Uploaded Sniper configs are now tagged with the EFI System Type they were built for — Sniper 4 Inj, Super Sniper 8 Inj, SniperXFlow 4 Inj, Sniper Quadrajet, MSD Atomic 2.0, and the rest of the 27 hardware variants in the PC software dropdown. Helps disambiguate which hardware family a config targets, which matters because the Sniper PC software shows different tuning controls (MAP Sensor Filter, Closed Loop Advanced Parameters) only on Sniper-2-family configs.

Several Sniper config fields now display correctly

A walkthrough comparing the config parser against the Sniper PC software UI on a real V2 tune turned up several fields that were being read incorrectly. The most visible: After Start Enrichment was showing decay-rate seconds instead of enrichment percentages, the Idle Speed warm target could be off by one temperature bin, and the Closed Loop Compensation Limits grid now surfaces the full 8×8 +/- table instead of just one cell. The Boost and Nitrous sections also surface more fields, including Boost-vs-Time target pressures, Nitrous timing retard depth, and Nitrous Added Fuel Enrichment for Dry-mode setups.

Safer IAC Hold guidance and current-firmware decel analysis

IAC Hold Position recommendations now lead with a 12% target and a documented 10% floor — earlier advice suggesting lower values could trigger stall cascades on some setups. Decel analysis no longer references the older Decel Fuel Cutoff / Decel Wait Time / Reactivation RPM controls that newer Sniper firmware removed; the DIY base-fuel-table workaround is recommended instead. Stall detection now also works on very short clips, and several config cross-reference flags (Simple timing mode, low warm idle target, low warm cranking fuel) that weren't firing previously now do.

Better support for Boost and Nitrous configs

Configs with the optional Boost and/or Nitrous sections enabled are now fully accepted, and their tuning values are surfaced in the analysis output.

More config fields parsed, plus three new diagnostics

The .sniper parser now reads roughly 30 additional config fields — A/C Shutdown, 2nd Fuel Pump, the full Closed Loop / Learn parameter set, and more. Three new diagnostics flag common misconfigurations: A/C Kick enabled without A/C Shutdown, “Stay Closed Loop While TPS is Above” set too low, and a too-short Closed Loop Decel Delay (Lean) that causes lean tip-in stumbles.

More accurate Sniper 1 config parsing

Fixed several Sniper 1 (V1) config parsing bugs that caused Fan, A/C Kick, A/C Override, and CL/Learn limit values to display incorrectly. Sniper 2 (V2) parsing is unchanged.

Smarter cooling-fan diagnostics

The “fan never kicked in” check now only fires when the Sniper actually commanded the fan during the log, so users with externally-controlled fans no longer get false alarms. A new check also flags when Fan #1 or Fan #2 is disabled in your config but the engine still ran hot. Both fans covered.

Smarter rich-decel detection

Samples within 3 seconds of a WOT lift are now excluded, so brief sensor lag from prior rich exhaust no longer triggers false “check for injector leak” flags. When a .sniper config is included, the analysis also compares your Target AFR table against actual decel behavior to distinguish a hardware fault from a tune that’s intentionally rich at cruise.

Smarter “fuel not arriving” diagnosis

The fuel-delivery-loss-under-load matcher fires on a signature shared by three causes: real fuel pressure sag, closed-loop lag on step demand, and AE undershoot on fast tip-ins. The analyzer now clusters the flagged samples into distinct events, classifies each by TPS rate-of-change, and reports the bucket breakdown alongside the diagnosis. When AE undershoot dominates the events, confidence drops and the recommendation flips to the AE table — no more generic “check your fuel pressure” when the data is actually pointing at a tune issue.

Clearer feedback when AI review is missing info

If you check “Request AI-assisted tuning review” but forget the description or email, the Upload & Analyze button no longer just sits there greyed out. A hint under the button tells you what’s missing, and clicking the button highlights the specific field to fill in.

Print-friendly results page

The results page now prints with a clean light background and dark text. Charts still print in the dark theme; everything else (scorecard, diagnoses, cross-references, heatmap) is high-contrast on white paper. Just hit Ctrl+P / File → Print.

Code blocks in tuning reviews

Tuning reviews now display fenced code blocks in monospace, making AFR tables, timing offsets, and parameter lists easier to read.

New diagnoses

Added several diagnosis types: WBO2 open-circuit detection (catches dead wideband sensors), hot-start lean-crank pattern recognition, post-catch rich-flare detection, and fuel-delivery-loss under load.

Improved .dl / .dlz format support

Better auto-detection of Sniper 1 vs Sniper 2 datalog format variants, including edge cases with shorter headers. Fewer "failed to parse" errors on older logs.

Drive Playback

New interactive timeline on the results page — scrub through your drive with synced gauges (RPM, AFR, timing, MAP, voltage, etc.) and click any diagnosis to jump to the exact moment it occurred.