Independent New Hampshire Journalism · Northfield, NHThe UFO Data Analysis Engine treats a sky video the way a records newsroom treats a document: hash it, log it, measure it, test every ordinary explanation, and say plainly what stays open. On its first three clips it named an airliner and declined to name a blink.
At 2:59 on the afternoon of October 25 I was doing what I do on most clear days in Northfield: looking up to log an airplane. I keep a running record of the planes that cross over the house, most of it shot through the camera in my glasses. This time there was a second thing up there, white, elongated, far off and high, moving with the plane. I got the phone out and recorded for a minute and forty-four seconds. Then I did what most people do not. I did not post it. I built a tool to find out what the frames could prove.
Full disclosure: I shot the three clips in this article myself, on my own phone, in Northfield, and the eyewitness accounts are mine. The analysis software described here was written for Granite State Report in the last week of October 2026 and run on these clips first. Nothing in it was reviewed by anyone else before publication.
What the engine is
The UFO Data Analysis Engine is just over 3,000 lines of Python on free libraries: OpenCV, NumPy, SciPy, Matplotlib, ffmpeg. It runs on a laptop. One rule outranks every other: it never decides what an object is. It measures, it documents, and it scores the ordinary explanations against the measurements with every line of evidence printed, so a reader can disagree with any of them. If the leading explanation does not beat the next by a full point, it says so. Nothing has made UFO videos worse than software that is confident.
It works the way this newsroom works a records request. First, custody: the file’s SHA-256 fingerprint and size, every tag the phone wrote into the container, the make and software, the creation stamp, the GPS fix and its stated accuracy, the codec, the frame rate and the frame count. From the time and the place it computes where the sun was, because a sunlit object against deep blue reads bright and lens flare lives near the sun. Then the frames. It streams every one, builds a sky mask so twigs and leaves are set aside, and subtracts a blurred copy of each frame from itself, which leaves nothing where the sky is smooth and a residual wherever a speck is brighter or darker than its surroundings. It estimates how the camera moved between frames, because a path that looks like a swerve is often the photographer’s wrist, and it marks frames of blank sky as camera-unknown rather than pretending a correlation drawn from sensor noise was a measurement. It links detections into tracks, measures each track’s brightness, size, shape and motion, runs a frequency test to catch an aircraft strobe or a wingbeat, and reads the audio for a motor tone.
Then it scores: aircraft, bird, insect near the lens, balloon or drifting debris, drone, satellite, lens artifact, contrail, and a leaf that only looks airborne because the camera moved. Each hypothesis gains or loses points from stated evidence, and the leader’s margin is printed. A second module replays the public flight record: volunteers with cheap receivers collect every position an aircraft broadcasts, adsb.lol publishes each day’s take as an archive after the day ends, and the engine streams that archive to list every aircraft within a chosen distance of the camera in a chosen window, where each one would have appeared in the sky, and which pairs would have shared a phone frame. A third module, added after the clips below, looks for the things the tracker drops: sources visible for a few frames at a time and dark between. Everything, parameters included, goes into one manifest file, so anyone with the same clip can rerun it and get the same numbers.
Two inputs it cannot measure for itself are stated as inputs. The field of view: 69 degrees across the long axis is the assumption for a 26-millimeter phone camera at 1x, and if the phone was zoomed every angular figure shrinks by the zoom factor, which the manifest records. And range: one camera gives angles, not distance, so the engine prints the family of size-and-speed answers at reference distances instead of picking one. The three clips below are its first cases. They are also mine, which is the reason for the disclosure above, and the reason every number here is in the fact table with its source.
Case one: a white object beside a plane
The clip is 156,788,786 bytes. Its SHA-256 fingerprint is a7c7a8b1ceb7bbd6052752436d2f9bcc56aa92540c8f395d480da4f332b83c9b. The container says Apple iPhone Air, software 27.0.1, created October 25, 2026 at 14:59:36 Eastern, at 43.4361 north, 71.5967 west, 133 meters above sea level, position accurate to about four meters. The picture is 1080 by 1920 pixels in portrait, 30 frames a second, 3,129 frames, HEVC 10-bit in HLG high dynamic range, with a mono audio track. The sun was at azimuth 221 degrees and elevation 25, low in the southwest.

My account, written down before the engine ran: I looked up to log the plane and saw an elongated white object off to one side of it, far away and high, moving at what looked like the plane’s pace, as if it were keeping station. It stopped for a second or three. While I could still see both, the object disappeared, then showed up on what seemed to be the other side of the plane and carried on. I remembered facing roughly east. That is a claim like any other and it gets the same treatment as the file; two parts of it did not survive, and both are below.

The engine logged 397 tracks lasting at least eight frames. One hundred thirty lasted a second or more. Ninety-five of those move with the camera rather than against the scene, the signature of a leaf at a twig tip; the engine sets those aside and says so. Thirty-five move against the scene, and four groups matter.

The white object. From 11.6 to 17.9 seconds a bright, elongated white shape crosses the frame, and the same shape is there in the first two seconds before the camera loses it. It is about 11 pixels across, two and a half times longer than wide, with a dark band through its middle in frame after frame, 51 gray levels brighter than the sky around it, the strongest bright signal in the clip. At 17.9 seconds it is gone, and the frames say how: the camera was swinging about a degree a frame, and in one frame the object’s peak contrast drops from 86 gray levels to 28 while its footprint grows from 81 pixels to 130, which is what motion blur does to a point of light. Two frames later nothing in the picture clears the threshold, and when the camera settles the object is not in the frame. The same signature, brightness down by two thirds and footprint up by half, happened once before, at 15.1 seconds, and that time the object was back at full brightness a tenth of a second later. The eye would never register a blink that short. The camera did. The engine’s score for this track is a tie between contrail and bird, for a reason that is the engine working as designed: for all 183 frames the picture is nothing but sky, the camera estimate had nothing to lock on to, and it refused to score speed or path at all. That is also why it could not say whether the object stopped. It will not guess.


The plane beside it. At 17.9 seconds, as the white object fades on the left of the frame, an airplane’s contrail enters on the right. The engine missed it, because it ignores a six-pixel margin at the frame edge; I found it by stepping through the frames. So the two were up there together, on the same side of the sky, which is what I saw.

The specks and the leaves. Four faint bright points, three to five pixels across, wander through the frame between 27 and 77 seconds. The longest holds for 18.8 seconds, bright on 99 percent of its frames, with no peak in the strobe band or the wingbeat band; the engine scores it bird 1.7 against balloon or debris 1.3, margin 0.4, and reports that two explanations fit about equally. A dark shape crosses 37 degrees of sky in a second at 32.6 seconds, flickering at 1.8 hertz: bird or insect, either of which flies past yards in New Hampshire in October. The ninety-five leaf tracks are the engine’s quiet achievement: a flying object’s position, once the camera’s motion is subtracted, drifts, while a leaf’s sways around one spot, and before that test was added the engine reported sixty-five flying objects in this clip. Thirty were leaves. The audio is close to silent, with no motor line in the spectrogram that a drone would draw.

The number one camera cannot give. For the white object, at 1,000 meters the frames allow a thing 7 meters long; at 10,000 meters, 72 meters long, which is airliner-sized at airliner altitude. For the longest speck, at 30 meters 8 centimeters across, at 1,000 meters nearly 3 meters. Milkweed fluff, a gull, a balloon: the frames fit all three. Anyone who tells you a phone video of a dot proves which one is selling something.

What the flight record did
GSR’s own rule is that aircraft get checked first, and on this clip the order was reversed for a reason worth stating: the replay was attempted the same evening, and neither public archive had the hour. ADS-B Exchange refuses direct access to its history files, and adsb.lol publishes each day’s archive after that day ends. The October 25 file posted at 11:25 p.m. Eastern: two parts, 3.55 gigabytes, 67,333 aircraft traces for the day. The engine’s flight-data module streamed it and kept every aircraft whose broadcast position fell within 40 kilometers of the camera between 2:54 and 3:05 p.m. There were 26, and 142 within 120 kilometers.

Two of them were on one line of sight. GoJet 4527, a Bombardier CRJ550 regional jet registered N529GJ, was 15.6 kilometers away at the clip’s first frame, climbing through 26,900 feet at 534 miles an hour on a heading of 256 degrees. Condor 114, an Airbus A330-900 registered D-ANRI, was 25.6 kilometers away at 39,150 feet, doing 582 miles an hour on a heading of 216 degrees. From the camera, both sat in the northwest, 27 to 31 degrees above the horizon, four degrees apart. Nothing above 3,400 feet was anywhere in the eastern wedge where I remembered pointing the phone. The camera faced northwest; the clip’s own record of its swings says the same. That is the first part of my account that did not survive.

The frames then get to vote. At 17.9 seconds the clip holds the white object at pixel column 295 and the tip of the contrail entering at column 1,062, on the same row to within 14 pixels: 767 pixels apart, level. In the record at that second, 2:59:54, the CRJ550 was at azimuth 313 degrees and the Condor jet at 319, with less than a degree between their elevations, the contrail to the right, 5.25 degrees apart as seen from the camera. For 767 pixels to span 5.25 degrees, the phone had to be zoomed to about 5x, which the iPhone Air allows in video and which I did not note at the time. Every angular figure in the first case was computed at 1x and shrinks by that factor: the white object’s 25 arcminutes become 4.7. A CRJ550 is 32.3 meters long; at 17.3 kilometers it spans 6.4 arcminutes, and a detector that keeps only the sunlit part of an airframe above its threshold reads it smaller. The object’s drift across the frame from 11.6 to 17.9 seconds becomes 0.83 degrees a second if the camera held still; the record has the CRJ550 moving at 0.77 degrees a second over the same seconds.

One more thing the record shows: the two lines of sight cross. At the first frame the CRJ550 was 3.3 degrees above the Condor jet’s line; by 17.9 seconds it was 0.8 degrees below it, with the crossing at 14.8 seconds. That is the geometry of a smaller, closer, faster jet sliding past a higher one, and it is what “on the other side of the airplane” looks like from the ground. The record shows no stop: the CRJ550 held 534 to 558 miles an hour through the whole window. Two objects nearly on one line and moving at similar apparent rates will look, to an eye tracking one of them, as if the other paused. That is the second part of my account that did not survive. What the record cannot do is show an aircraft that broadcasts nothing, and within 120 kilometers nothing else was within 12 degrees of the pair.
So, on the record: the white object over Northfield was GoJet 4527, a CRJ550 climbing out at 27,000 feet, seen beside the contrail of Condor 114. The engine never said so and was not built to. It said two explanations fit about equally and refused to range, which was the right answer from one camera, and the archive did the rest in 48 seconds of scanning once the file existed. Rerun on October 27 with the zoom set to 5.25x, the engine’s angular figures for every track in this clip came down by that factor, and the scores moved where the camera was known: the longest speck, now 1.85 arcminutes across and drifting 0.17 degrees a second, scores balloon or drifting debris 1.3 against bird 0.7; the dark crosser at 32.6 seconds, now 6.7 degrees a second, bird 1.6 against drone 0.2; the straight-line speck at 69 seconds, 0.41 degrees a second, aircraft 2.0. The white object itself still reads contrail 1.0 against bird 1.0, because the zoom changes its size, not the blank sky that kept its path unscored. One thing did move that should not have: the leaf test’s slow-drift branch is written in degrees a second, so at 5.25x it took 13 more short tracks, none of the four groups above, for leaves (22 movers and 108 scene-fixed against 35 and 95 at 1x), which is logged as a limit to fix: that test has to scale with the zoom too. The engine’s answer on this clip did not need to change; the record had answered it.
Case two: a point of light that blinks
At 3:16 p.m., seventeen minutes after the first clip, I had walked down the trail to a second spot about 180 meters southwest of the yard and shot two more clips, 22 and 33 seconds long, pointed, as best I recall, straight up. I saw nothing at the time. Reviewing them in slow motion that night I found a point of light that flickers in and out of the picture. Their tags say iPhone Air, 3:16:05 and 3:16:40 p.m., 43.4349 north, 71.5983 west, 132 to 133 meters above sea level, accurate to five to seven meters. The container says one thing the first clip’s did not: both files were written again at 10:39 p.m. that night as 8-bit H.264, clip B at 13 megabits a second and clip C at 3.9, where the first clip is 10-bit HEVC at 11.9, with the capture tags carried over, which is what a phone does when it exports a video in a compatible format. The hashes in the table belong to the files as exported.

The engine’s tracker found nothing it could follow, for a reason worth naming: it keeps only objects it can track for a second, and nothing here lasts a tenth of that. That gap is why the engine now has a third module. The blink pass runs the detector on every frame at a lower threshold, groups consecutive-frame detections at one place into appearances, links appearances into chains by camera-corrected drift where the camera’s motion is known and by time alone where it is not, and reports each chain’s duty, on-durations, gaps, the regularity of the gaps and a straight-line fit to its path. On clip B, where treetops anchor the camera for 93 percent of the frames, it found a chain of 14 appearances between 0.7 and 6.4 seconds, each one to three frames long, 12 to 43 gray levels above the sky, visible on 33 of 170 frames, about a fifth of the time, with gaps of 0.1 to 1.5 seconds that it calls irregular (a strobe’s would not be). With the camera’s motion subtracted the 14 positions fall on one path: 251 pixels in 5.7 seconds, 42 pixels a second, R-squared 0.96 against a straight line, which at the 5x the other two clips show is about 0.30 degrees a second. The point was there the whole time, moving steadily; the camera recorded it only when it was bright.

On clip C the first five seconds are blank sky, so the camera’s drift cannot be measured, and there the pass does worse, and its own numbers say so: it lists 152 brief appearances and 18 chains, most of them the contrail jet and its trail flickering through the threshold in the tree-anchored seconds, and with no camera to lean on in the first five seconds it links by time alone and splits the five flashes across 2 chains, together with 2 single-frame specks from the noise floor. The five flashes it finds, at 1.30, 1.80, 2.53, 3.53 and 4.60 seconds (starting a frame earlier than the hand count on three of them, at its lower threshold), two or three frames each and 19 to 60 gray levels above the sky, are the five found by hand on October 26, scattered across the frame because the frame itself was drifting. Between flashes, nothing above five gray levels sits at or near where a flash was; what sits anywhere else is single-frame specks of six to fifteen levels at random places, the floor the sensor and the encoder put under every frame. The brightness rises and falls inside each flash rather than switching on and off, which is what a turning sunlit surface does and what a strobe does not. Could the encoder have made the flicker by dropping a faint steady object between the frames it spent bits on? No. Its keyframes fall every 30th frame, at 60, 90 and 120; the flashes fall at 40, 55, 76, 106 and 139. And between flashes the point is not merely dim but below five levels, a tenth of its peaks. An encoder smooths; it does not turn a steady point into a ten-to-one blink.

Clip C also holds a ruler. From its twelfth second a contrail jet is in the frame, with treetops at the bottom, so the camera was no longer straight up but tilted toward it. In the record that is Condor 10, an Airbus A330-300 registered D-AIKF, at 39,100 feet on a heading of 208 degrees, coming in from the north-northeast: 30 degrees above the horizon at 3:16:52, 39 degrees when the clip ended at 3:17:13, 23 to 19 kilometers away, and within eight degrees of straight overhead at 3:18:09, 56 seconds after the clip ended. At 16 seconds its airframe spans 18 pixels at the detector’s threshold, and an A330-300’s wings span 60.3 meters, which at 22.5 kilometers is 9.2 arcminutes: about 4x, and higher once the wingtips the threshold misses are allowed for. Against the treetops the airframe drifts 58 pixels a second where the record says 0.39 degrees a second: 5.3x. The phone was zoomed to about 5x, the same as in the first clip. At 1x the engine had scored this airframe “balloon or drifting debris 1.6, bird 1.1,” because its aircraft test wants a straight fast path and a jet moving 0.4 degrees a second read five times too big and too slow. Rerun at 5.3x it reads 5.1 arcminutes across and 0.16 degrees a second, airliner numbers, and still scores balloon or drifting debris 1.6 against bird 0.1, because its camera-corrected path wanders (straightness 0.191) and the aircraft test wants a straight one. The wander is the camera estimate’s own noise on a slow mover with little texture in the frame. The zoom fixed the size; the path test is the next thing to fix, and it is logged as such.

The flight record for the six minutes around the two clips holds ten aircraft within 40 kilometers of the second spot and 102 within 120. During the clips the highest in the sky was Condor 10, at 20 to 39 degrees in the north-northeast; the next was a flight at 41,000 feet, 13 degrees above the southeastern horizon. Nothing that broadcasts a position was within 50 degrees of straight overhead while either clip ran. GoJet 4527, the white object of 2:59, was by then 249 kilometers to the southwest at 30,000 feet, over New York, on its way to the ground at St. Louis. Whatever blinked over the trail at 3:16, it was not the same object as 2:59, and if the phone was pointed anywhere near straight up, it was not an aircraft broadcasting its position.

What is dark for most of a second and bright for a tenth of one, over and over, on no fixed beat? Not a planet in daylight, which holds steady. Not a satellite, which cannot be seen at three in the afternoon. Not an airliner’s airframe: the one in the same clip is lit steadily for twenty seconds. Not a strobe, which flashes on a fixed beat; these gaps run from a tenth of a second to a second and a half. What fits is a sunlit surface that keeps turning toward the camera and away. My reading, on review, and labeled as mine: a piece of foil, carried on the wind high up, catching the sun as it tumbles. The engine’s numbers are consistent with that. They are equally consistent with a bird’s wings, and the first clip holds the demonstration: at 1:10 a bird crosses 600 pixels of frame in a fifth of a second, close enough to show its wings, and on two of those six frames the wings flash white as they catch the sun. Move that bird a kilometer or two away and it is a point that blinks. Two pixels, no range, no second camera: the engine does not say foil and does not say bird. It says what the frames say, that a small sunlit thing moved steadily across the sky and was visible a fifth of the time, and the record says what the record says, that no aircraft was there to be it.

Where these sit in the public record
The National UFO Reporting Center, the volunteer database most American reports end up in, sorts every report by the shape the witness gave. Its index, read October 25, holds 162,453 reports; the biggest category by far is “light,” 29,335 of them, and the two elongated categories, cigar and cylinder, hold 7,030 between them, 4.3 percent of the whole. A July 2026 ranking built on the same database put Nashua first in New Hampshire at 60 reports, Manchester at 59, Concord at 49 and Laconia at 27; Exeter, the state’s most famous UFO town, had 24, and Northfield is not on the list. The federal record is the more useful comparison, because it says what the reports turned out to be. The Pentagon’s All-domain Anomaly Resolution Office took in 319 reports between June 2024 and May 2025 and resolved 114 of them, every one to a balloon, a bird, a satellite, an aircraft or a drone, plus one commercial rocket launch and one person in a jet pack. Among reports that described a shape, 40 percent were spheroidal and 33 percent were lights, and the airborne objects sat mostly between 10,000 and 35,000 feet.

Set the two Northfield cases against that. The first was daylight, elongated, beside an aircraft, at airliner altitude by the size the frames allowed: the profile of the reports that close fastest once flight data is in hand, and it did. The second was a point of light that the office’s ledger would file under the 33 percent, and that nobody’s ledger can close from one phone. New Hampshire’s famous cases are the other kind: the Hills’ 1961 account was at night on a mountain road, Exeter’s 1965 lights were in the dark over a field. As of the evening of October 25 no other report of either Northfield object had surfaced anywhere GSR looked, and NUFORC posts about ten days behind, so that question stays open; the address for an answer is at the bottom of this page.

What it cannot do, and what comes next
The engine cannot give range from one camera, cannot see an aircraft that broadcasts nothing, cannot check flight data for the current day until the archive posts, and cannot tell a tumbling reflector from a flapping bird at two pixels. It took the zoom as an input only after a 5x clip made it call an airliner a balloon, and it reads the files it is given: the two 3:16 clips reached it as the phone’s exports, with their capture tags intact and their hashes in the table, and the camera originals carry their own. Each of those is stated in its manual as a limit, because a tool that does not state its limits is the confident kind.
What would settle the open case is a second camera. Two clips with GPS and timestamps turn angles into distance, and distance turns a point into a size and a speed; the engine’s next version is built for that, and it is what the blinking point and the specks are for. After that it reads night clips, where satellites and planets do most of the fooling. After that, the same discipline goes to work on recordings that people say hold ghosts: a control recording from the same device in the same room, a hash, a manifest, and no software that is confident. If you have a clip of anything in a New Hampshire sky, send it. The engine runs on it the same way, hash first, and the report comes back with its parameters attached.
— Dexter Dow, Granite State Report
Fact check
| # | Claim | Status | Source |
|---|---|---|---|
| 1 | The clip is 156,788,786 bytes with SHA-256 a7c7a8b1…83c9b; the engine’s manifest records both hashes | VERIFIED | Engine run manifest (analysis.json), hashed from the original file in session |
| 2 | Container tags: Apple iPhone Air, software 27.0.1, created 2026-10-25T14:59:36-04:00, location 43.4361, −71.5967, altitude 133 m, horizontal accuracy 3.96 m | VERIFIED | ffprobe of the original file; QuickTime metadata keys com.apple.quicktime.make, .model, .software, .creationdate, .location.ISO6709 |
| 3 | Video: 1080×1920 portrait (sensor 1920×1080, rotation −90°), 30 fps, 3,129 frames, 104.29 s, HEVC 10-bit, HLG (arib-std-b67), mono AAC audio | VERIFIED | ffprobe stream report |
| 4 | Sun at the recorded time and place: azimuth 220.7°, elevation 24.7° | VERIFIED | Computed in the engine from the NOAA solar-position equations; checked against solar noon for the same day (azimuth 179.9°, elevation 34.3°) |
| 5 | iPhone Air main camera is 48 MP, 26 mm equivalent, ƒ/1.6; 1080p Dolby Vision video at 30 fps; video digital zoom up to 6× | VERIFIED | Apple, iPhone Air technical specifications page, read this session |
| 6 | 397 tracks of ≥8 frames; 130 of ≥1 s; 95 scene-fixed, 35 movers; 802 of 3,129 frames featureless (camera motion unknown) | VERIFIED | Engine run 2 manifest; counts recomputed in code |
| 7 | Track 637 (11.6–17.9 s): 183 detections, median 11.45 px ≈ 24.7 arcmin, aspect 2.56:1, +51 gray levels; scored contrail 1.0 / bird 1.0, camera unknown on all frames | VERIFIED | Engine run 2 manifest, track 637 summary, kinematics and hypotheses |
| 8 | The editor’s eyewitness account: an elongated white object moving with an airplane, pausing for one to three seconds, disappearing while both were in view, reappearing on the other side of the plane and continuing at its pace | ATTRIBUTED | Dexter Dow, written account to the newsroom, Oct. 25, 2026, 5:13 p.m. |
| 9 | At 17.9 s the white object (left) and the airplane’s contrail (entering at the right edge) are in the same frame; the contrail is 0.7 s further into the frame at 18.6 s; the engine did not detect it because of its 6-px edge margin | VERIFIED | Frames at 17.6, 17.9, 18.2, 18.6, 19.0 and 20.0 s, stepped through and inspected; figure in the article |
| 10 | At 17.87–17.93 s the object’s peak contrast drops from 86 to 28 then 40 gray levels while its area grows from 81 to 130 then 126 px, during a camera swing of about 30 px (roughly 1°) per frame; from 17.97 s no bright object anywhere in the frame clears the threshold; the camera settles by 18.3 s | VERIFIED | Engine run 2 manifest (track 637 peak and area series) and a frame-by-frame re-run of the detector and camera estimate over 17.7–19.0 s |
| 11 | Track 637, the white object, was GoJet 4527 (N529GJ, a Bombardier CRJ550) seen beside the contrail of Condor 114 (D-ANRI, an Airbus A330-900): two aircraft on one line of sight in the northwest, 4.0° apart at the clip’s first frame and 5.25° apart at 17.9 s, matching the frame’s object-to-contrail spacing, level, contrail to the right | VERIFIED | adsb.lol archive v2026.10.25-planes-readsb-prod-0, traces for hex a6aafc (GJS4527) and 3c7a49 (CFG114), replayed in the engine’s flight-data module; frame positions measured in the clip at 17.90 s (object at column 295, row 539; contrail tip at column 1,062, row 553); the identification is GSR’s inference from the record and the frames, not a statement in the record itself |
| 12 | Track 1546 (48.7–54.4 s): aspect 10:1, equivalent diameter 21.3 px, 1.9°/s net, scored contrail 2.2 by a 1.1 margin | VERIFIED | Engine run 2 manifest, track 1546 |
| 13 | Track 1531 (48.3–67.1 s): 558 detections over 18.77 s, bright on 99%, +30.5 gray levels, 4.51 px ≈ 9.7 arcmin, 0.918°/s net, straightness 0.257; scored bird 1.7 / balloon or debris 1.3, margin 0.4 | VERIFIED | Engine run 2 manifest, track 1531 |
| 14 | Track 1945 (69.4–77.0 s): straightness 0.919, fit R² 0.9916, 2.15°/s; scored aircraft 2.0 by a 1.3 margin | VERIFIED | Engine run 2 manifest, track 1945 |
| 15 | Track 867 (32.6–33.7 s): 37.4° in 1.07 s = 35°/s, straightness 0.962, brightness period 1.82 Hz (power share 0.52); scored bird 1.6 / insect 1.5 | VERIFIED | Engine run 2 manifest, track 867 |
| 16 | Size-and-speed families: track 637 at 1,000 m → 7.2 m, at 10,000 m → 71.8 m; track 1531 at 30 m → 0.08 m and 1.1 mph, at 300 m → 0.85 m and 10.8 mph, at 1,000 m → 2.83 m and 35.8 mph | VERIFIED | Engine kinematics table at the assumed 69° field of view; recomputed from the manifest |
| 17 | Audio: peak RMS 0.002, mean 0.0001 (full scale 1.0); no steady tone found | VERIFIED | Engine audio module on the clip’s AAC track, resampled to 16 kHz |
| 18 | N.H. Historical Marker No. 224, Lincoln, U.S. Route 3, erected 2011 by the N.H. Division of Historical Resources, for the Betty and Barney Hill incident of Sept. 19–20, 1961; it calls the case the first widely-reported UFO abduction report in the United States | VERIFIED | Historical Marker Database entry for marker 224 (inscription and location); NHPR, March 28, 2014 |
| 19 | Exeter incident: Sept. 3, 1965, in Kensington; Kathleen Marden, the Hills’ niece, was billed to speak at the Exeter UFO Festival the weekend of Sept. 5–6, 2026 | VERIFIED | The Boston Globe, Sept. 4, 2026 |
| 20 | John G. Fuller’s Incident at Exeter was published in 1966 and reached The New York Times best-seller list | ATTRIBUTED | Wikipedia, Exeter incident, citing Fuller (1997 reissue) and Peebles |
| 21 | AARO’s Historical Record Report, Volume I (dated February 2024, released March 2024) found no evidence that any U.S. government investigation had confirmed a UAP sighting as extraterrestrial technology, and concluded that most sightings were ordinary objects and phenomena and the result of misidentification | VERIFIED | The report PDF, executive summary, p. 7, read this session |
| 22 | FAA Order JO 7110.65, para. 9-8-1, Unidentified Anomalous Phenomena (UAP) Reports: “Inform the operations supervisor/CIC of any reported or observed unidentified anomalous phenomena (UAP)/unexplained phenomena activity.” | VERIFIED | FAA air traffic publications, chapter 9 section 8, read this session |
| 23 | GSR’s Oct. 11, 2026 footage process says aircraft are checked first using ADS-B position broadcasts, then satellites, balloons, witnesses and the camera | VERIFIED | Granite State Report, Oct. 11, 2026 (corrected Oct. 15), read this session |
| 24 | ADS-B replay: attempted Oct. 25, 2026, 5:40 p.m. ET, when ADS-B Exchange refused direct history access (HTTP 403) and adsb.lol’s Oct. 25 file did not yet exist; run Oct. 25, 2026, 11:46 p.m. ET on the adsb.lol release v2026.10.25-planes-readsb-prod-0 (parts .aa and .ab, 3,386 MiB, SHA-256 f30e5160ea62…f06c and 617ca94d5b17…0baf; mlat-only release also scanned): 67,333 trace files; 26 aircraft inside 40 km between 18:54:06 and 19:05:06 UTC; 142 inside 120 km | VERIFIED | Engine flight-data manifest (adsb_manifest.json) with part hashes; the archive’s own release notes name readsb as the writer and ODbL as the license |
| 25 | The editor recalls facing roughly east; with the sun at azimuth 221°, objects to the east were front-lit | ATTRIBUTED | Dexter Dow, written note to the newsroom, Oct. 25, 2026, 5:31 p.m.; sun position from the engine |
| 26 | Track 637 at 15.07–15.23 s: peak contrast falls from 93 to 30, 34 and 32 gray levels while the footprint grows from 111 to 137, 171 and 187 px; no detection on the next three frames; back to 97 gray levels and 82 px at 15.27 s | VERIFIED | Engine run 2 manifest, track 637 peak and area series, read in code |
| 27 | NUFORC’s shape index holds 162,453 reports; light 29,335; cigar 4,253 and cylinder 2,777, together 7,030 (4.3%) | VERIFIED | NUFORC, index by shape, read Oct. 25, 2026 (the page carries no as-of date); total and share computed from the 25 category counts |
| 28 | NUFORC reports since 1995 by N.H. city: Nashua 60, Manchester 59, Concord 49, Rochester 31, Dover 29, Salem 29, Laconia 27, Londonderry 25, Exeter 24, Merrimack 24; Northfield not in the top ten | VERIFIED | Stacker, Cities with the most UFO sightings in New Hampshire, July 6, 2026, from NUFORC data |
| 29 | AARO fiscal 2025 report: 319 reports received June 2, 2024–May 30, 2025; case holdings 1,870 as of May 30, 2025; 114 of the 319 resolved, all to balloons, birds, satellites, aircraft or UAS, plus one commercial rocket launch and one manned jet pack; among reports with a described morphology 40% spheroidal and 33% lights; 77 of 319 (24.13%) lacked enough information to classify; airborne UAP predominately 10,000–35,000 ft; civilian FAA pilot reports 21% of incoming reporting; “None of the cases AARO resolved indicate advanced foreign adversarial capabilities” | VERIFIED | AARO, Fiscal Year 2025 Consolidated Annual Report on UAP, executive summary and sections I, III and IV, read this session (copy hosted by The Black Vault) |
| 30 | Airliner lengths 31.44 m (A318) to 76.25 m (747-8); Cessna 172 length 8.28 m, wingspan 11.00 m; bird span band 0.3–2 m is approximate | ATTRIBUTED | Wikipedia, Airbus A320 family and Boeing 747-8 specification tables and Cessna 172 general characteristics (citing Cessna’s 172R data), read this session; the bird band is a rough reference, not a measurement |
| 31 | GoJet 4527 (hex a6aafc, N529GJ): in radius 18:56:35–19:01:45 UTC, altitude 22,850–29,125 ft climbing, median track 256°, median ground speed 452 kt; at 18:59:36 UTC azimuth 328.3°, elevation 31.0°, slant range 15.6 km, 26,878 ft geometric, 534 mph; at 18:59:54 azimuth 312.9°, elevation 28.1°, 17.3 km; at 19:00:27 azimuth 293.8°, elevation 21.9°; at 19:01:08 azimuth 281.6°, elevation 16.1° | VERIFIED | adsb.lol archive trace for a6aafc, positions interpolated between broadcasts; look angles computed from the clip’s GPS tag |
| 32 | Condor 114 (hex 3c7a49, D-ANRI, Airbus A330-900): in radius 18:58:18–19:02:15 UTC, 39,125–39,150 ft, median track 216°, median ground speed 509 kt; at 18:59:36 UTC azimuth 330.4°, elevation 27.4°, slant range 25.6 km, 582 mph; at 18:59:54 azimuth 318.8°, elevation 28.9°, 24.3 km; at 19:00:27 azimuth 295.4°, elevation 29.0°; at 19:01:08 azimuth 270.9°, elevation 24.8° | VERIFIED | adsb.lol archive trace for 3c7a49, as above |
| 33 | Apparent separation of the two from the camera: 4.02° at clip time 0 s, 4.29° at 11.6 s, 5.25° at 17.9 s, 7.32° at 51 s, 13.22° at 92 s; their lines of sight cross in elevation at 14.8 s, 5.5° apart in azimuth; the CRJ550’s apparent rate 0–17.9 s was 0.77°/s and the A330’s 51–92 s was 0.54°/s | VERIFIED | Computed from the two traces in code |
| 34 | Frame geometry at 17.90 s: object centroid at column 295, row 539 (15×10 px); contrail tip at column 1,062, row 553; 767 px apart horizontally, 14 px vertically; 767 px spanning 5.25° implies 0.00685°/px, 5.25× the 1× scale of 0.03594°/px | VERIFIED | Residual detection on the tone-mapped frame at 17.90 s in session; the zoom factor is an inference from the record and the frame, not a tag in the file |
| 35 | At about 5× zoom the object’s 24.7 arcmin becomes 4.7 arcmin; a CRJ550 (32.3 m) at 17.3 km spans 6.4 arcmin; the object’s 765-px drift over 11.6–17.9 s becomes 5.2° (0.83°/s if the camera held still); the contrail track’s 1.92°/s becomes 0.37°/s | VERIFIED | Arithmetic on the run-2 manifest values and the record; the frame-drift rate assumes a still camera, which the clip cannot confirm on sky-only frames |
| 36 | N529GJ is a Bombardier CL-600-2C11, registrant SkyWest Leasing Inc., status valid; the CL-600-2C11 is the CRJ550, 106 ft 1 in (32.3 m) long, 76 ft 3 in (23.2 m) wingspan | VERIFIED / ATTRIBUTED | FAA Aircraft Registry N-number inquiry for N529GJ, read this session (VERIFIED); Wikipedia, Bombardier CRJ700 series, specifications table (ATTRIBUTED for the length and the model designation) |
| 37 | No aircraft above 3,400 ft was within the east-facing frame (azimuth 69°–111°) during the window; the two in that wedge were a Piper PA-28 (N275ND) at about 3,300 ft and a Cessna 172 (N277GT) at about 2,900 ft, both under 2° above the horizon; within 120 km no other aircraft was within 12° of the pair at 18:59:54 UTC | VERIFIED | Engine flight-data manifests for the 40 km and 120 km runs |
| 38 | Clip B, IMG_2774.MOV: 36,273,528 bytes, SHA-256 e3af0ae9dc790d4a0bf3e7e08f85215a32e877b0d850372d0baa3b8989883115; capture tags Apple iPhone Air, software 27.0.1, creationdate 2026-10-25T15:16:05-0400, location 43.4350, −71.5982, altitude 132.1 m, horizontal accuracy 5.3 m; container creation_time 2026-10-26T02:39:49Z; H.264 8-bit (yuv420p, bt709), 1920×1080 rotated −90°, 30 fps, 669 frames, 22.30 s, 12.9 Mbit/s | VERIFIED | sha256sum and ffprobe of the file as received, in session |
| 39 | Clip C, IMG_2775.MOV: 16,063,928 bytes, SHA-256 56fdf540c656ef4cf42db647e9438b68b0ae689f2fdb693e623b1db7d002c4b2; creationdate 2026-10-25T15:16:40-0400, location 43.4349, −71.5983, altitude 132.8 m, accuracy 6.7 m; container creation_time 2026-10-26T02:39:52Z; H.264 8-bit, 977 frames, 32.57 s, 3.82 Mbit/s; the first clip is HEVC Main 10 at 11.9 Mbit/s | VERIFIED | sha256sum and ffprobe of both files; the first clip’s stream report |
| 40 | The second spot is 172–186 m from the first clip’s position, bearing 224°–225° (southwest); the two 3:16 clips are tagged 14 m apart | VERIFIED | Haversine distance between the clips’ GPS tags; the tags carry 4–7 m horizontal accuracy |
| 41 | The editor’s account of the second clips: he walked down the trail to another place, pointed the phone straight up, noticed nothing at the time, and found on slow-motion review a point that flickered in and out, which he took to be the object from 2:59 | ATTRIBUTED | Dexter Dow, note to the newsroom, Oct. 26, 2026, 8:38 a.m. |
| 42 | Engine on clip B: 669 frames, camera motion reliable on 93%; 20 tracks of ≥8 frames, 4 of ≥1 s; movers: track 96 (6.8–8.6 s, dark, 25.7°/s at 1×, scored insect near the lens 1.2 / bird 1.0) and track 139 (7.1–8.9 s, bright on 82% of frames, scored bird 1.7 / balloon or debris 1.3); two scene-fixed | VERIFIED | Engine run manifest, run 4 (analysis.json) |
| 43 | Engine on clip C: 977 frames, camera reliable on 59%; 41 tracks of ≥8 frames, 11 of ≥1 s, 7 movers and 4 scene-fixed; the jet’s airframe, track 109 (13.2–18.2 s, 12.5 px, +34 gray levels), scored balloon or drifting debris 1.6 / bird 1.1; its contrail, track 164 (aspect 3.9:1), bird 1.1 / contrail 1.0; track 41 (7.2–8.7 s, dark, 21.9°/s) insect 1.5 | VERIFIED | Engine run manifest, run 3; the balloon call on an airliner is logged as a scorer error |
| 44 | Clip B blink: 14 appearances between 0.73 and 6.37 s, each spanning 1–3 frames, peak 12–43 gray levels, median area 2–6 px; visible on 33 of 170 frames (19%); gaps 0.10–1.50 s; with the camera’s motion removed the 14 start positions run from scene (568, 1171) to (733, 1361), 251 px in 5.6 s (42 px/s), straight-line R² 0.963; of the 137 frames between appearances, 130 hold nothing above 5 gray levels within 12 px of the interpolated path, 5 are onset or tail frames of an appearance, and 2 (2.73 s and 3.13 s) are single-frame glimmers of 12–13 levels | VERIFIED | Per-frame residual scan of the file (21-px median, sky mask, thresholds 10 and 5) and the run-4 camera shifts; events clustered in code; blink_report.json |
| 45 | Clip C blink: five appearances at 1.33, 1.83, 2.53, 3.53 and 4.60 s, spanning 2–3 frames each, peak 19–60 gray levels, median area 16–41 px, at frame positions (934, 244), (1,005, 550), (976, 1,002), (817, 1,088) and (747, 767); single-frame glimmers of 13 and 11 levels at 1.60 and 2.13 s; between them the only detection above 5 levels within 12 px of a flash position is the onset frame 39 (11 levels); elsewhere only single-frame specks of 6–15 levels at unrelated positions (frames 10, 15, 19, 26, 73, 102, 116 and 145 among them), the floor against which the 1.60 s and 2.13 s glimmers (13 and 11 levels) cannot be told from noise; the camera’s motion is unmeasurable on those frames (sky fraction 1.0); a second intermittent point from 14.77 to 16.73 s, six appearances, moving from scene (998, 848) at 14.77 s to (1,041, 913) at 15.70 s, 78 px in 0.93 s, while the camera estimate held, then to the frame’s right edge | VERIFIED | Per-frame residual scan at thresholds 10 and 5; run-3 camera shifts |
| 46 | Clip C keyframes fall every 30th frame (60, 90, 120, …); the flashes fall on frames 40–41, 54–56, 76–77, 106–107 and 138–140, all P or B frames | VERIFIED | ffprobe frame types (pict_type) for the file |
| 47 | Condor 10 (hex 3c6566, D-AIKF, Airbus A330-300 per the archive’s aircraft fields): 39,100 ft geometric, track 208°, 501–511 kt; from the second spot at 19:16:05 UTC azimuth 25.1°, elevation 19.9°, 34.5 km; at 19:16:40 azimuth 24.0°, elevation 26.7°, 26.1 km; at 19:17:13 azimuth 21.6°, elevation 38.6°, 18.9 km; closest to overhead at 19:18:09, elevation 81.9°, azimuth 298°; apparent rate 0.39°/s between 19:17:00 and 19:17:03 | VERIFIED | adsb.lol archive trace for 3c6566, positions interpolated between its 20-second broadcasts; look angles from clip C’s GPS tag; the type and description are the archive’s database fields, not a registry lookup |
| 48 | Zoom in clip C: at 16.0 s the airframe’s widest row is 18 px above 18 gray levels; an A330-300’s 60.3-m span at 22.5 km is 9.2 arcmin, so 0.51 arcmin/px, 4.2× the 1× scale, and higher once the wingtips below threshold are allowed for; with the camera corrected the airframe moved from scene (676.6, 1,302.1) at 22.37 s to (677.1, 1,250.2) at 23.27 s, 52 px in 0.9 s, 58 px/s, against the record’s 0.39°/s: 0.0067°/px, 5.3× | VERIFIED | Residual map of the frame at 16.0 s; run-3 camera shifts and the blob scan; the A330-300 span from Wikipedia’s Airbus A330 specifications table (ATTRIBUTED for that one figure); the zoom is an inference |
| 49 | Flight record for 19:13:40–19:19:40 UTC from the second spot: 10 aircraft within 40 km; 102 within 120 km; the highest-elevation aircraft during 19:16:05–19:17:13 was Condor 10 (20°–39°), the next CJT3254 at 41,075 ft, 12.8° above the horizon at azimuth 155°; no broadcasting aircraft within 50° of the zenith during either clip | VERIFIED | Engine flight-data manifests for the 40 km and 120 km runs at 19:16:40 UTC (window ±180 s) |
| 50 | GoJet 4527 at 19:16:34 UTC: 41.8841, −73.7950, 30,000 ft, 522 kt, track 219°, 249 km from the second spot at bearing 227°; its trace ends on the ground at 38.745, −90.368 at 23:55 UTC | VERIFIED | adsb.lol archive trace for a6aafc; the coordinates of the last point are Lambert airport in St. Louis, GSR’s identification |
| 51 | The first clip at 70.13–70.30 s: a dark shape crosses from (891, 50) to (749, 612) in six frames, 14–27 px wide, 55–69 gray levels below the sky, with a white flash on two of the six frames; about 115 px per frame, 0.79° per frame at 5.25×, 24°/s; it was not among the run-2 tracks because it lasted under a second | VERIFIED | Frames 2098–2125 of the original clip, tone-mapped and scanned for dark residuals; the bird reading is GSR’s from the shape and the wing flashes |
| 52 | The flicker is not a planet, satellite, steady airframe or strobe, and the fit is a turning sunlit surface such as foil, a mylar balloon or a bird’s wings | ATTRIBUTED | GSR’s reasoning from the measurements above; not a measurement and not an identification |
| 53 | No other public report of an Oct. 25 sighting near Northfield found as of 9:30 p.m. ET in NUFORC’s index (newest batch posted Oct. 24, 38 reports, submissions through Oct. 14, none from N.H.), ufoindex.com’s N.H. page (newest entry Feb. 28, 2026), UFO Slice’s daily roll, or a news search; MUFON’s tracker and Reddit not checked | VERIFIED | Each source opened and read Oct. 25, 2026, 9:11–9:30 p.m. ET |
| 54 | The engine is 3,079 lines of Python in 16 files (14 modules plus the package’s init and entry point) at version 0.3.0 | VERIFIED | wc -l on the engine’s package in session, Oct. 27, 2026 |
| 55 | Clip A rerun Oct. 27, 2026 with engine 0.3.0 at zoom 5.25 (effective field of view 13.1429° across the long axis): track 637 4.7 arcmin, scored contrail 1.0 / bird 1.0 (camera unknown on its frames; path unscored); track 1531 1.85 arcmin, 0.175°/s, scored balloon or drifting debris 1.3 / bird 0.7; track 867 6.681°/s, bird 1.6 / drone 0.2; track 1945 0.41°/s, aircraft 2.0 / balloon or drifting debris 2.0; leaf test at 5.25×: 22 movers and 108 scene-fixed of the same 130 tracks (35 and 95 at 1×; the 13 reclassified tracks are 13–67 frames long and none is a track named in the article; the rule’s slow-drift branch is in °/s and does not yet scale with the zoom); blink pass: 514 brief appearances, 46 chains | VERIFIED | Engine 0.3.0 run manifests for clip A (analysis.json, blink/blink.json), Oct. 27, 2026, against the 1× manifest of Oct. 25 (run 2) |
| 56 | Clip B rerun Oct. 27 with engine 0.3.0 at an assumed zoom of 5 (no ruler in the frame; the other two clips measured about 5×): blink pass finds 130 brief appearances and 3 chains; the longest, 14 appearances 0.733–6.366 s, visible 33 of 170 frames (duty 0.194), gaps 0.1–1.5 s (coefficient of variation 0.911, irregular (not a fixed beat)), peaks 12–43, scene path 251.3 px in 5.666 s, 42.0 px/s = 0.3021°/s at 5×, straight-line R² 0.963; the pass reproduces the hand analysis of Oct. 26 (row 44) appearance for appearance | VERIFIED | Engine 0.3.0 run manifests for clip B (analysis.json, blink/blink.json), Oct. 27, 2026 |
| 57 | Clip C rerun Oct. 27 with engine 0.3.0 at zoom 5.3 (from the Condor 10 ruler, row 48): the airframe track 109 reads 5.1 arcmin and 0.159°/s and scores balloon or drifting debris 1.6 / bird 0.1 / drone 0.1; blink pass: 152 brief appearances, 18 chains; with the camera unknown on the sky-only frames the five flashes of 1.30–4.60 s are split across 2 time-linked chains with 2 noise-floor specks, and the tree-anchored seconds fragment the contrail jet’s threshold flicker into short chains; the hand analysis of Oct. 26 (row 45) stands as the record for this clip | VERIFIED | Engine 0.3.0 run manifests for clip C, Oct. 27, 2026 |
| 58 | The editor’s reading of the blinking point, on review: a piece of foil carried on the wind high up, catching the sun as it tumbles; and his reading of the first case as a plane, on the flight data | ATTRIBUTED | Dexter Dow, note to the newsroom, Oct. 27, 2026, 8:53 a.m.; the engine’s measurements fit a turning sunlit surface and do not distinguish foil from a bird’s wings (row 52) |
Reach the editor directly — confidentiality respected where possible.
granitestatereport@gmail.com
a7c7a8b1ceb7bbd6052752436d2f9bcc56aa92540c8f395d480da4f332b83c9b) and the UFO Data Analysis Engine v0.1.0 run manifest, analysis.json, run 2, with every parameter. ffprobe (FFmpeg) stream and container report of the clip. Apple, iPhone Air technical specifications. NOAA solar-position equations as implemented in the engine’s solar module. Historical Marker Database, Betty and Barney Hill Incident, N.H. marker 224, Lincoln. New Hampshire Public Radio, Marking History: The Betty and Barney Hill Incident in Lincoln, March 28, 2014. The Boston Globe, Niece of N.H. couple famous for alien abduction story to speak at Exeter UFO Festival, Sept. 4, 2026. Wikipedia, Exeter incident, citing Jerome Clark, The UFO Book (1998) and John G. Fuller, Incident at Exeter (1966). Department of Defense, All-domain Anomaly Resolution Office, Report on the Historical Record of U.S. Government Involvement with Unidentified Anomalous Phenomena (UAP), Volume I, February 2024 (copy hosted by The Black Vault). Federal Aviation Administration, Order JO 7110.65, Chapter 9, Section 8, Unidentified Anomalous Phenomena (UAP) Reports. National UFO Reporting Center, index of reports by shape and index by posting date, read Oct. 25, 2026. Stacker, Cities with the most UFO sightings in New Hampshire, July 6, 2026 (NUFORC data since 1995). Department of War, All-domain Anomaly Resolution Office, Fiscal Year 2025 Consolidated Annual Report on Unidentified Anomalous Phenomena (copy hosted by The Black Vault). ufoindex.com, New Hampshire reports, read Oct. 25, 2026. Wikipedia, Airbus A320 family, Boeing 747-8 and Cessna 172, for the reference lengths on the size chart. adsb.lol, globe_history_2026 release v2026.10.25-planes-readsb-prod-0 (Open Database License; written by readsb) and the mlat-only release for the same day, downloaded and hashed Oct. 26, 2026. Federal Aviation Administration, Aircraft Registry, N529GJ. Wikipedia, Bombardier CRJ700 series, for the CRJ550’s length. The second and third clips, IMG_2774.MOV (SHA-256 e3af0ae9dc790d4a0bf3e7e08f85215a32e877b0d850372d0baa3b8989883115) and IMG_2775.MOV (SHA-256 56fdf540c656ef4cf42db647e9438b68b0ae689f2fdb693e623b1db7d002c4b2), as exported by the phone; engine run manifests 3 and 4 and the per-frame blink scan of Oct. 26 (blink_report.json); engine version 0.3.0 run manifests for all three clips, Oct. 27, 2026 (analysis.json at the stated zoom and blink/blink.json for each). adsb.lol trace for hex 3c6566 (Condor 10) in the same release. Wikipedia, Airbus A330, for the A330-300 wingspan. Related GSR coverage: Granite State Report Takes UFO, Paranormal and Wildlife Footage. Here Is How Every Clip Gets Checked.; Exploring New Hampshire’s UFO History: Aliens and Encounters; Every AI Company Bans the Biden Robocall. Read the Fine Print Anyway..Editor’s note. Every measurement in this article comes from the engine’s run manifests on the files named in the fact-check table, and every outside fact is sourced there. The eyewitness accounts are the editor’s own and are marked as such; the reading of the blinking point as foil is the editor’s, not a measurement, and the article gives the alternative the data fits equally. The identification of the two aircraft in the first case is GSR’s inference from the flight record and the frames, not a statement in the record itself; the zoom factor and camera heading are derived from them, not read from the file. The flight data for both cases come from the adsb.lol archive for Oct. 25, 2026, read the night of Oct. 25 and on Oct. 26. The two 3:16 p.m. clips were analyzed Oct. 26 from the files as the phone exported them, and all three clips were rerun Oct. 27 with engine version 0.3.0, which takes the zoom as an input and adds the blink pass; the table records both runs. The comparison figures come from NUFORC’s indexes and Stacker’s July 2026 ranking as read Oct. 25, 2026, and from AARO’s fiscal 2025 annual report. Corrections: Granite State Report corrects verified errors promptly and appends a note identifying what changed and when.

