INP and it's sub-parts are calculated from Event Timing entries but there is no specification for the process used to calculate them.
This lack of documentation can lead to differences between implementations – as implementations are all starting with the same stream of events they should all generate the same output
It also leads to a lack to traceability when the process changes, for example, Chrome changed their approach to consider all Event Timing entries within the same frame when calculating the INP sub-parts but didn't document this