Lazy loading of ruleset: Implement caching layer for Spectral ruleset to avoid reloading on each validation request. Currently the entire ruleset is reloaded per request - consider using an in-memory cache with TTL or file-watch invalidation strategy. This will scale better as the number of custom rules and functions grows.
Conditions of acceptance
- Decide on the best cacheing strategy (in memory, in MediaWiki, etc).
- Establish baseline and capture updated performance metrics.
Implementation details
The actual mechanism might be different from the spec cacheing. This is a fast operation that happens multiple times within the same process; spec caching is more focused on maintaining a cache across processes.
Potential people to talk to for input, recommendations, code review:
- Release Engineering (Tyler, Reedy, Hashar)