Nice write-up. The Form 4 path tip (strip xslF345X06 to get the raw XML) is the part I wish I had found earlier. One thing I'm still unsure about: when you store accession numbers in seen.json, do you also keep 8-K/A and 10-Q/A as separate keys, or do you treat an amendment as an update to the original accession? I've been burned both ways.