Update parser to use sanitized project IDs, update caching system