I believe that it would be possible to implement this without having the looping problem, by establishing a strict hierarchy of buffer chests. If chests are only able to request items from chests that are at least one level above them in the hierarchy, then there will never be a danger of a loop.
Such a strict hierarchy actually already exists in the game:
- Hierarchy Level 1: requester chests
- Hierarchy Level 2: buffer chests
- Hierarchy Level 3: storage chests
- Hierarchy Level 4: passive/active provider chests
In the current system, the rule already applies that chests are only able to request items from chests that are at least one level above them in the hierarchy. This is necessary to ensure that there is no danger of a loop.
In order to implement the OP's suggestion, all that is necessary is to increase the number of hierarchy levels, so that there are several hierarchy levels of buffer chests. For example, if 16 levels of hierarchy existed, then the current requester chests would simply be level 1 chests, buffer chests could be set by the player to levels 2-14, storage chests would be level 15 and provider chests would be level 16.
That way, requester chests (level 1) can request items from buffer chests (levels 2-14), from storage chests (level 15) and from provider chests (level 16). However, they cannot request items from other requester hests (level 1), due to the rule that chests can only request items from chests that are above them in the hierarchy.
Level 3 buffer chests, on the other hand, will only be able to request items from level 4-16 chests, but not from requester chests (level 1) or level 2-3 buffer chests.
Also, it could be useful if it were possible for the circuit network to dynamically change the hierarchy level of a buffer chest, for added flexibility. If it were also possible to dynamically set a buffer chest to hierarchy level 1 (=requester chest), then such a level 1 buffer chests would behave exactly like a requester chest, which could also be useful.