Node specific values will be written in a specific directory and put on the agent.
In this directory, there will be many different JSON files.
Those files will be of the form { "namespace": { "key1": ..., "key2": ...} }
Where namespace can be "properties", "inventory", ...
First, a specific rudder bundle (let's call it property_reader) will read those files in a per file variable.
So property will exist under the form property_reader.myfile[thenamespace][key1]
Let's not document this form at first.
Then, this bundle will translate this content into the "node" namespace (or bundle).
They will then be accessible under the general form node.thenamespace[key1]
This will be the documented way to access them.
This is consistent with the node.env existing namespace.
This translation can only be done using a merging strategy, not defining one is equivalent to :
"for each namespace take the exact content of the last read file that contains it "