It depends on which move you make, but if it was the PV move, in principle what you describe culd happen on some engines. Any engine would be prgrammed to restart at depth 1, but when they consult the hash, they might retrieve results that are deeper than they requested. Most engines ignore that. My engines Joker and Spartacus do keep track of the actual depth of scores, and propagate that along the search tree with the scores. These indeed do skip iterations. (They don't support analysis, though, but you see the same in games, if the oppnent plays the PV move.)
Chess Engine Question
Sorry, but I don't understand. You write "It depends on which move you make, but if it was the PV move, in principle what you describe culd happen on some engines." First, it's unclear whether you are refering to an engine that restarts at depth 1 or an engine that continues at 26, having moved 1 ply forward. Second, I assume PV move means the move the engine recomends, but I have never heard that term before. Finally, you write that "Any engine would be prgrammed to restart at depth 1" Why? Why would you restart at depth 1? Why redo all the calculations that have already been done? Why not cut off the portion of the game tree that is no longer relevant and continue from there? Being at depth 27 means that the program has analyzed the program 27 plys deep. Make a move and it should still have 26 plys worth of analysis. It seems incredibly inefficient that most chess engines discard this analysis (other than what's in the hash).
PV = principal variation = the expected line of best play for both sides. With 'PV move' I meant the first move of the PV, which indeed could be considered the move the engine recommends.
If you play a move different from that, it means you are now on a position on which the engine did not really calculate at all. (It only established an upper-bound to the scor, to prove the move was not better than the PV move. This means it does not even know what is the best reply, only that there is at least one reply (the refutation) that is good enough to prove the move was unneccesary poor). So it that case it is logical that the engine has to start calculating from scratch.
Starting from depth 1 does not necessarily mean that it redoes the calculation. It could simply retrieve it from the hash table. Take your exampl, where you have analyzed upto 27 ply, and do the PV move. This brings you in a position that has been searched already to 26 ply, as you mentioned. But that means that when the engine stars searching moves from that position, it will get hash hits that record scores obtained through a 25-ply search. This would be enough to satisfy any request for a depth of 25 ply or less, in particular for a request of 1. So basically the 1-ply search will just be a retreival of the hashed 25-ply results of the daughter positions, and this would remain true upto the 26-ply iteration. So if the engine tries searches for every depth, those from 1 to 26 ply should practically be instantaneous. But they would still be printed, although they would all print the same info, retrieved from the 25-ply deep hash hits on the daughter positions. But because it takes hardly any time, most engine authors don't care about that.
Now there is one other thing that I forgot to mention. If the engine gets a hash hit after 1 ply, it has no idea what the remaining moves of the PV are. From iteration 1-26 you would just see a single move. This would not be very convenient for analysis. Some engines might make an attempt to pry the rest of the PV out of the hash table, but this is not a very reliable method, and often produces PVs that do not correspond to the reported score. (E.g. the PV might end in checkmate while the score is not a mate score, or vice versa.) Some engines therefore use the trick that they never use the hashed info in positions on the PV. So it means that they would always have to re-search the PV. (Another upside of this is that the engine gets more vigilant towards repetitions: a score stored in the hash based on a previous calculation might no longer be valid if later in the line you encounter a repetition, which was not yet a repetition when the line was originally calculated.) I guess Stockfish uses this trick too.
Why does the engine analysis restart everytime I make a move?
I am using Stockfish, but I've noticed the same thing with any engine that I've used. When you make a move, the analysis restarts. Now the depth does climb much faster if it had been thinking for a long time about the move before, presumably because much of the analysis is in the hash, but if the depth is 27 and I make a move, why doesn't the depth just go to 26 automatically?
On a related note, what is a search log? Does the engine interact with a search log such that it remembers previous analyis or does it just literally log the analysis with no purpose for anyone other than an engine developer?