@Kaelan, thanks for the report. Dealing with such huge variability around growing and being active is no easy task and you are doing spectacularly well!
Looks like some users here are trying the āautomatic-bolusā (AB) or FreeAPS branches, so I thought it might be useful to go over the algorithmic differences between the standard Loop and the AB (or FreeABS) Loop. The differences are actually more modest than one may think.
First, the total correction dose calculation is based entirely on the BG forecast and is exactly the same in all Loop branches. For example, consider the BG forecast below:
BG is predicted to eventually be 139 mg/dL. This particular user has the correction range set to 85-85 mg/dL, and the insulin sensitivity (ISF) is set to 55 (mg/dL)/U. The total correction dose calculated by Loop is (139-85)/55 = 0.98 U, same in all Loop branches. This value (rounded down to the nearest deliverable value) would show up if the user tapped on the manual bolus icon. What happens next is where the standard and the AB branches differ. In the standard Loop, the dose of 0.98U is delivered as a 30-min long increased temporary basal rate equal to the (programmed rate) + (2 * 0.98U)/h = (programmed rate) + 1.96 U/h. During the first 5 minutes, however, the additional insulin delivered is only 1.96 * (5 min)/(60 min) = 0.16 U, which equals (2 * 5/60) = 16.7% of the total correction dose. In the AB branch, instead of the 16.7% delivered over the next 5 minutes via temp basal, a higher percentage of 40% is delivered in the form of a bolus. In the example above, an automatic bolus is calculated as 0.4*0.98 U = 0.39 U, which is rounded down to the nearest deliverable value of 0.375 U as seen below:
The exact same process is repeated every 5 minutes, resulting in a series of decreasing boluses until the eventual BG is driven to the correction range. Here is a series of 3 such automatic boluses.
By the way, regardless of the branch, Loop displays IOB as āActive Insulinā - there is no reason to count or guess anything, and from that point of view, AB Loop is no more difficult to use than the standard Loop.
As can be seen in the example above, almost the entire correction is delivered by the AB Loop in about 15 minutes, compared to more than 30 minutes in the standard Loop. So, the AB Loop is not āmore aggressiveā in the sense of delivering more insulin, it is just somewhat faster in delivering automated corrections compared to the standard Loop. The faster up-front correction delivery also means that the time available to counter-act BG dropping down is somewhat shorter, which implies somewhat increased risks of lows. The increased risks should not really be substantially higher - if they are, ISF or something else is probably off.
By the way, where is that 40% coming from? That percentage is a best-guess trade-off that represents a level of confidence a user may have in the Loop predictions. It is a hard-coded value in the AB branch (still easy to adjust in the code if one wishes to do so for some reason), while in FreeAPS the % is an adjustable parameter. Aside from having the % adjustment exposed to the user, I think FreeAPS still delivers a portion of the correction as temp basal, and a portion as a bolus, which objectively does not really make any difference.