I gave a vision-language model a short video and asked to recognize it. It answered with a complete miss: a screen recording of a terminal running code.

The video shows a mounted automatic weapon known as a YakB firing. Nothing in the clip is a terminal, a line of code, or a screen. The evidence is easily seen, and even more easily heard, in the video. No mystery here.
And yet the model tried to complain it was having a resolution problem to excuse its confused state. Any person with even the least training (e.g. Hollywood movies) hears and sees the unmistakable BRZZZZT of a four-barrel rotary cluster. The screen frames clearly show an ammo box and feed chute, a large sight, and rapid ejection of very heavy large-caliber casings.


An expert could say even more, like the temporal (rapid) sound was at 82 Hz, with a cyclic rate around 4,500 to 5,000 of large (over 10mm) rounds per minute, followed by Russian voices. Definitely YakB.
The firing rate sound says rotary gun; the firing rate image says rotary gun. The LLM produced an answer uncorrelated with any of it. Note how it leaned on the “automatic-fire” file name, rationalizing it incorrectly as a software feature firing off automated tool calls.
I’m not even saying it weighed the audio against the video and misjudged, as if some integrity breach at the data processing layer. Its analysis was to skip processing, and use an absolute maximum overfit. A generative VLM conditions an autoregressive text decoder on a fixed prefix of visual tokens, and as generation proceeds the visual signal is progressively diluted while the language prior takes over the output distribution, the established mechanism behind object hallucination in these systems.
What it emits is a probable caption given its unknown and opaque training corpus, governed by object frequency and co-occurrence rather than by the input (POPE, Li et al. 2023), with linguistic priors concentrated in the dominant directions of the representation, where they overwrite visual evidence. A terminal with code is one of the highest-frequency objects in that corpus. A Russian helicopter 12.7mm minigun is apparently rare, while being mainstream Cold War lore. The “Old Painless” GE six barrel electric M134, for example, was fired in the 1987 Predator, in the 1988 Rambo III mockup, in the 1991 Terminator 2, in the 2012 The Expendables 2, in the 2014 Captain America: The Winter Soldier, and on and on. Who doesn’t train on those?
Technically Rambo III took an Aérospatiale Puma helicopter already mocked up like a Soviet Hind. It added the M134-style minigun and puffed acetylene flame bursts to look like the Soviet YakB. The whole effect was borrowed from 1984 Red Dawn, which had introduced the same Puma with an Afanasev A-12.7, if you really want to go back to how long ago a low-fi look and sound of the minigun was being popularized.

The Soviet gunship and minigun was a major fascination, not obscure, such that in 1988 Operation Mount Hope III deployed Chinooks hundreds of miles into Chad at night to recover a crashed Libyan Mi-24, with the blessing of Habre, one of Ronald Reagan’s best friends who was later convicted of war crimes (2016, Extraordinary African Chambers in Dakar, crimes against humanity, torture, sentenced to life).

But I digress. The output from the model today was a narrow corpus guess, not the actual prompt content being assessed.
The model cannot report what the object is. Ok. Fine, that proves these models are deeply flawed. But note how it has no internal boundary between recognizing something and then generating output for what it believes to be a plausible name, and no representation of the difference.
This is what the Palantir CEO means when he says his view of the world is binary, either you are a friend or an enemy, and his company runs models without any reliable representation of the difference.
When the model does not know, that state does not appear in the output as uncertainty or low probability. If you doubt Palantir you are probably right. Its binary, broken classifier, is probably still running extra judicial assassination of innocent civilians, for profit.
The model returns the nearest typical label at the confidence it would attach to a correct one, and instruction tuning has shaped it to assert that label rather than withhold it (Sharma et al. 2023; pathological truth bias in VLMs, Thube 2025).
Every reliable fact was ignored by the model in this test. The fire rate, for example, is simple arithmetic on the waveform. The model never initiated such basic work because nothing in its objective pointed it towards checking its lazy and wrong assumptions. It isn’t ever taking steps to falsify its own answer. I’ve been presenting reports like this for over a decade now, and things aren’t getting better.
The correct response to the first question was that the object could not be recognized without work, and that the file should be examined. The model cannot produce that response, because it has no way to represent not knowing, and a system that cannot represent not knowing will answer an obvious video of a distinctively firing minigun with nonsense about nonsense.
If Palantir kills the wrong people, it still gets paid. In fact, killing the wrong people at scale generates the kind of resistance to Palantir operators that Palantir would say justifies killing more people. Think about it. Because the models won’t.
