How is the size of POOL_LUNA updated in constant product algorithm

From the docs I have understood that POOL_LUNA should have amount of LUNA which are equal in worth to SDR in POOL_SDR.

Basically,

VALUE_POOL_SDR = VALUE_POOL_LUNA

Since the reported price of LUNA per SDR is variable,

how is the size of POOL_LUNA maintained?
Is it updated at the end of each block or each voting period?

Size of POOL_SDR is defined by parameter BASE_POOL. It gets changed after each minting activity. But how the price change between LUNA and SDR taken into account when calculating the POOL_LUNA size.