Vulnerability: meta.tuneBelowCapacity param is not updated when BondBaseSDA.setIntervals is called
Severity: medium

Description:
When BondBaseSDA.setIntervals function is called then meta.tuneBelowCapacity param is not updated which has impact on price tuning.\\n```\\n    function setIntervals(uint256 id_, uint32[3] calldata intervals_) external override {\\n        // Check that the market is live\\n        if (!isLive(id_)) revert Auctioneer_InvalidParams();\\n\\n\\n        // Check that the intervals are non-zero\\n        if (intervals_[0] == 0 || intervals_[1] == 0 || intervals_[2] == 0)\\n            revert Auctioneer_InvalidParams();\\n\\n\\n        // Check that tuneInterval >= tuneAdjustmentDelay\\n        if (intervals_[0] < intervals_[1]) revert Auctioneer_InvalidParams();\\n\\n\\n        BondMetadata storage meta = metadata[id_];\\n        // Check that tuneInterval >= depositInterval\\n        if (intervals_[0] < meta.depositInterval) revert Auctioneer_InvalidParams();\\n\\n\\n        // Check that debtDecayInterval >= minDebtDecayInterval\\n        if (intervals_[2] < minDebtDecayInterval) revert Auctioneer_InvalidParams();\\n\\n\\n        // Check that sender is market owner\\n        BondMarket memory market = markets[id_];\\n        if (msg.sender != market.owner) revert Auctioneer_OnlyMarketOwner();\\n\\n\\n        // Update intervals\\n        meta.tuneInterval = intervals_[0];\\n        meta.tuneIntervalCapacity = market.capacity.mulDiv(\\n            uint256(intervals_[0]),\\n            uint256(terms[id_].conclusion) - block.timestamp\\n        ); // don't have a stored value for market duration, this will update tuneIntervalCapacity based on time remaining\\n        meta.tuneAdjustmentDelay = intervals_[1];\\n        meta.debtDecayInterval = intervals_[2];\\n    }\\n```\\n\\n`meta.tuneInterval` has impact on `meta.tuneIntervalCapacity`. That means that when you change tuning interval you also change the capacity that is operated during tuning. There is also one more param that depends on this, but is not counted here.\\n```\\n        if (\\n            (market.capacity < meta.tuneBelowCapacity && timeNeutralCapacity < initialCapacity) ||\\n            (time_ >= meta.lastTune + meta.tuneInterval && timeNeutralCapacity > initialCapacity)\\n        ) {\\n            // Calculate the correct payout to complete on time assuming each bond\\n            // will be max size in the desired deposit interval for the remaining time\\n            //\\n            // i.e. market has 10 days remaining. deposit interval is 1 day. capacity\\n            // is 10,000 TOKEN. max payout would be 1,000 TOKEN (10,000 * 1 / 10).\\n            markets[id_].maxPayout = capacity.mulDiv(uint256(meta.depositInterval), timeRemaining);\\n\\n\\n            // Calculate ideal target debt to satisty capacity in the remaining time\\n            // The target debt is based on whether the market is under or oversold at this point in time\\n            // This target debt will ensure price is reactive while ensuring the magnitude of being over/undersold\\n            // doesn't cause larger fluctuations towards the end of the market.\\n            //\\n            // Calculate target debt from the timeNeutralCapacity and the ratio of debt decay interval and the length of the market\\n            uint256 targetDebt = timeNeutralCapacity.mulDiv(\\n                uint256(meta.debtDecayInterval),\\n                uint256(meta.length)\\n            );\\n\\n\\n            // Derive a new control variable from the target debt\\n            uint256 controlVariable = terms[id_].controlVariable;\\n            uint256 newControlVariable = price_.mulDivUp(market.scale, targetDebt);\\n\\n\\n            emit Tuned(id_, controlVariable, newControlVariable);\\n\\n\\n            if (newControlVariable < controlVariable) {\\n                // If decrease, control variable change will be carried out over the tune interval\\n                // this is because price will be lowered\\n                uint256 change = controlVariable - newControlVariable;\\n                adjustments[id_] = Adjustment(change, time_, meta.tuneAdjustmentDelay, true);\\n            } else {\\n                // Tune up immediately\\n                terms[id_].controlVariable = newControlVariable;\\n                // Set current adjustment to inactive (e.g. if we are re-tuning early)\\n                adjustments[id_].active = false;\\n            }\\n\\n\\n            metadata[id_].lastTune = time_;\\n            metadata[id_].tuneBelowCapacity = market.capacity > meta.tuneIntervalCapacity\\n                ? market.capacity - meta.tuneIntervalCapacity\\n                : 0;\\n            metadata[id_].lastTuneDebt = targetDebt;\\n        }\\n```\\n\\nIf you don't update `meta.tuneBelowCapacity` when changing intervals you have a risk, that price will not be tuned when tuneIntervalCapacity was decreased or it will be still tuned when tuneIntervalCapacity was increased.\\nAs a result tuning will not be completed when needed.

Impact:
Tuning logic will not be completed when needed.

Recommended mitigation:
Update meta.tuneBelowCapacity in BondBaseSDA.setIntervals function.