That's how most/all the congestion control works. It's essentially a send side only algorithm. On linux congestion control algorithm is actually a per socket option, as I recall. The receivers input/signal is limited to loss, latency, and windowing. "Other" congestion control algorithms also make changes based on loss/latency/windowing events, not necessarily per packet though. The "predefined" wording also struck me as a bit odd; is an undefined response preferable?
I read the readme, but not the implementation yet. It's possible I'm missing some magic. Would have been nice to include even a cursory description of the algorithm/mechanism instead of a bunch of pretty pictures.