If said AI can assess scenarios and decide what AI is best suited and construct new AI for new tasks. In sufficient time would the AI not have developed a suite of AIs powerful/specialized for their tasks, but versatile as a whole, much like our own brain’s architecture? What’s the constraint ?
If the AI can indeed assess arbitrary scenarios and come up with solutions to handle them, then it would indeed be an AGI.
What’s the constraint ?
It doesn't exist. Current programmers are very good at developing AI that can handle specific tasks ("narrow AIs"), but it is currently impossible to build an AI that can assess and handle "general" situations (unlike your proposed algorithm, which possess that capacity).
Theoretically, we can have a program that can build other programs (genetic algorithms are arguably one such example), but handling arbitrary scenarios and problems requires a form of "general intelligence", which we don't know how to program. Therefore, we can't build this machine.
It's possible that we can built this machine, but we must first figure out the hard problem of "general intelligence". We're nowhere near reaching that level.
If we figure out how to program "general intelligence", then it should be fairly simple to use your approach (building an AGI to assess scenarios and then build "narrow AIs" that can handle Those scenarios). Only then we can understand the AGI's limitations and weaknesses, and be able to identify probable constraints to its power. For example, it's possible that such an AGI may be slow in handling arbitrary scenarios and developing the "narrow AIs"...in which case, it may take an absurdly long period of time to develop "a suite of AIs powerful/specialized for their tasks".
But until we build the AGI itself, we won't be able to identify its faults or weaknesses. Going beyond that would be science-fiction speculation.
To build on Tariq Ali's answer...
There's no such thing as an AGI. The No Free Lunch (NFL) theorem states essentially that: any two optimization algorithms are equivalent when their performance is averaged across all possible problems. Specialization implies a loss of generality, not a gain.
With this AI generating AI, you're describing what I call an 'arbitrary machine generator' (AMG).
There are two types of AMGs: a species level and an individual level.
All species that evolve on earth are AMG - they can evolve to accommodate arbitrary niches, if the correct environmental constraints are present. This is proven by the fact that the species AMG processes on earth have produce humans, which are individual level AMGs. Individual level AMGs can produce arbitrary machines for arbitrary purposes on human time-scales.
The problem is that the simplest possible (and most general) AMG is a purely random machine generator. Any more specificity (and therefore complexity) to the AMG would constrain the domains it closes over. Which is fine, but optimizing a machine for a particular set of tasks means that you are unoptimizing the machine for some other particular set of tasks. Again, there's no free context.
Humans are AMGs, but we are only efficient at creating certain kinds of machines, using our imagination. Our imagination is built on a number of cognitive tools that, on the one hand, constrain what machines we can efficiently imagine, while, on the other hand, avail us to the open-ended set of all possible machines, via prior knowledge or brute force, random lookup.
In summary, when people say "general intelligence", they really mean "human-like intelligence". And, again, while human intelligence is an AMG, any given AMG that is optimized for generating machines of a particular type will be less optimized for generating machines of some other type(s). There's no free context. The most general search algorithm is a random walk - there is no way to improve the generality of the random walk, other than just speeding it up. And that's actually what humans do for many problems anyway - brute force, random searching, as fast as possible.