I found a few problems with image files not being named correctly and causing broken image links on Linux where filesystems are truly case sensitive. The author is obviously developing on Windows NTFS which preserves case on creation and ignores it on read. Also, they are probably allowing Explorer to default to hiding file extensions and need to force that to be shown. Then they will see what is going on. A number of the images look like "file.JPG" when the file URL in the html specifies "file.jpg".
I ended up getting stuck trying to get James to go out jogging and threw the html into Twine and opened up the Javascript console to see what was wrong. The variable $tvevent starts at 0 in order to have us attempt to mess with his TV viewing like we do with Sarah. There are a selection of about half a dozen channels to look at, but none of these have a "hall" passage link to allow us to mess with Sarah at the same time. Instead we have to switch him to news first, do a "nudge" (bumps $tvevent) and then switch him to sports (bumps it again), change sports type in that passage, and then do another "nudge" in there to set it to 3.
During this mess I wanted to do something with Sarah, assumed the missing "hall" link was a bug and saw the author had provided an emergency reset on the status frame to do such a thing (cementing my thought that it was indeed a bug). I used that to break away from James and the TV and had left $tvevent set to 2. There was now no way for me to know that this was the only way to corrupt James, and I was prevented from going back in his messing with the TV event to fix the problem. I had to set $tvevent back to 0 in the console and then went through the whole sequence again now knowing what I had to do.