Target holdings are just that, targets. Double cannot and does not guarantee that your actual holding will ever match your target holdings.
When you setup a weight change on Double, you are setting the weights for the Strategies in your Portfolio. Within each Strategy, we have holdings which are specific securities. Securities weights are either set by the user or are updated from external data providers for Strategies that follow an index like the S&P 500.
We combine this strategy level weight and your holding level weights to come up with a target weight for each security. We then pass these into our optimization engine, which you can read more about here.
Our optimization engine often has a good reason for not bringing your stock immediately to it's target weights. The most common is that our optimizer prevents wash sales by default, which means it will not buy or sell a stock to bring it closer to it's target if it will result in any sort of wash sale.
Also, if your portfolio qualifies, Tax Loss Harvesting will by definition bring your holding weighting away from it's target, and will bring other positions above their targets (as it tried to replicate your overall portfolios factor exposure).