That's old news. The staff's output, I mean. All the articles are a month old. It is reasonable to assume that the staff's solution has "features" that are unknown (and unknowable). As noted in the spec,
Additionally, you can search for location based news by modifying parameters in the URL, like the ones below. For a full list of parameters you can ...
This line token.lower() does not change token to lower case, it returns a copy of token in lower case. You can either set something to that return value (as with word = token.lower()) and then test for word in the arrays, or change the test(s) from if token in self.positives: to if token.lower() in self.positives:
While that is the proper path per the pset specs, you need to supply one command-line argument yourself since the usage of caesar requires a number to indicate how many letters to shift. From the command line, it should look like something like this: ~cs50/pset2/caesar 13 where 13 is supplied by you.
Sorry, just realized I wasn't running the staff's solution from my own directory, i.e. the solution was to go into my own pset6 directory and then execute the staff's solution. Both errors above were resolved.