This clarifies and helps me to understand.
First configuration maps (and their variation, feature) are NOT the critical part in supporting you to load
s.th. in your image.
Critical is the load of an application (including its subapplications) and its content, the defined and referenced artefacts (classes, global variables and pools).
An application forms an atomar unit which must have proper prequisites to be successfully loadable.
Having improper prequisites otherwise will cause the load to fail (leaving artefacts in image to be cleaned up).
It is easy to create an "all" image configuration map -> just add any other application to your config map and collect them using the config map browser, almost only one click.
But that such an universal map won't help - as loading such a map delegates the load to its apps in a given order, would fail again.
So you will end up at the same.
if the prequisites of an app are not correct, its load will fail or create artefacts (no matter of how you arrange the load in configuration maps, features or other arrangements).
Now to create apps with circular dependencies (as temporary bypass) is a time bomb and will cause unforseeable damage.
You cannot avoid to sit down and solve the simple truth: you cannot load anything before anything else on which it depends.
Allowing circular prequistes won't change this fact (and as you noted yourself, is escalating the problem, the observed explosion).
As Davide mentiioned here: you need a skeleton first to be able to load its decoration in a second pass.
And this suggestion is no deviatiion from the principle, it is a confirmation: you cannot load a class in a skeleton without or before its father, so you are already bound to the hierarchical order (parent before children), again.
Smalltalk is and was strict here (e.g. the major reason of denying multiple inheritance, you remember).
So you have to sit down and determine a strict non circular order of applications. This order determines how and when an application is loaded in your image - not to mention consequences again.
Or you plan to throw the whole code into a single application (perhaps devided by subapplications).
This is a logical consequence of the sequential process of loading.
And besides, if such an order cannot be determined easy, that throws a bad light on the structural architecture of the whole existing material.
It sounds like a natural grown mess.
It is the applications structure enforcing such basic architectural principles. I won't echange that for more comfort.
Kind regards
M
PS: because of the mass of your material it is worth to think about an industrial measure to overcome the current situation and leave that behind.
My idea here is a tool inspecting the given structure, using a topological sort.
It will pinpoint you to all already existing critical hidden circular dependencies, which have to be solved in advance by breaking them.
A universal image wont solve this.
Bob Nemec schrieb am Sonntag, 12. April 2026 um 15:12:02 UTC+2: