The Problem
The directive is not initializing properly when the child directive is have a ng-repeat.
Go to the plunker and check the console. The working one have the outer - link at the end of the console, the not working one have the outer - link function init with the controller.
The working Plunker without ng-repeat
<div outer-directive>
<div inner-directive>
</div>
</div>
Console
outer - controller
inner - controller
inner - Link
outer - Link
The not working Plunker with ng-repeat
<div outer-directive>
<div inner-directive ng-repeat="value in [1]">
</div>
</div>
Console
outer - controller
outer - Link
inner - controller
inner - Link