> Activating the degraded array is done only if the root fs is not found,
Right, its only in a failure hook, and things like cryptsetup won't be run after that...
The initramfs boot mechanism is just not designed with the right event driven approach yet. Bug #488317
> and only if the mdadm package was configured via debconf to do so.
Not quite right. That debconf question was a rather bogus, unhelpfull an unnecessary implementation. Bug #539597
> There is nothing wrong with this per se,
It is wrong to to use "mdadm --assemble --scan --run", because it will start *all* arrays that have not come up yet in initramfs stage. (They get desynced and need to be resynced) Bug #497186
> Activating the degraded array is done only if the root fs is not found,
Right, its only in a failure hook, and things like cryptsetup won't be run after that...
The initramfs boot mechanism is just not designed with the right event driven approach yet. Bug #488317
> and only if the mdadm package was configured via debconf to do so.
Not quite right. That debconf question was a rather bogus, unhelpfull an unnecessary implementation. Bug #539597
> There is nothing wrong with this per se,
It is wrong to to use "mdadm --assemble --scan --run", because it will start *all* arrays that have not come up yet in initramfs stage. (They get desynced and need to be resynced) Bug #497186