I assume you’re building this template as a text template instead of a reconciliation?
In text templates, inputs are by default period-independent, or in other words, they’re not linked to the PeriodDrop.
So by default any change you make to the booleans or text inputs, will be changed in all periods (in future AND past periods).
If you want to make an input period-dependent inside a text template, you need to link it to the PeriodDrop:
I would also suggest to not link the keys of your inputs to the strings you’re using as a default, because this will make it harder to not lose data if you would ever need to update a specific piece of text in your array.
In case of a reconciliation, the nil rollforward should be working to reset the value of the booleans.
However, I don’t see any rollforward in your snippet shared above, maybe you’re placing the rollforward outside of the for-loop?
When I test with the rollforward inside the loop then it’s working: