charts, data-tables and resources-list had no <profile>.meta.json at all, so the manifest carried no label for them and the Studio rail humanized the folder name: "Charts", "Data Tables", "Resources List". Those say what the file is called, not what the page answers. Each now has a meta with a label and its stage: charts Gospel Resources -- where the gap is, by language data-tables Gospel Resources -- every resource and every gap, in tables resources-list Gospel Resources -- what each people group has All three declare "stage": "experimental" EXPLICITLY, which is what they already were. A meta-less profile and a meta without a stage key both default to experimental in profile-meta.mjs, so the value would otherwise rest on that default -- and these three sit in a bundle whose stage reads production through gospel-dashboard, so a later change to the default would silently promote them. Measured after the change: the three stay experimental, gospel-dashboard stays production, and bundleStage still returns production. Type is deliberately not declared. generate-tree resolves the composition tier from meta.json `type`, not from whether the file exists, so omitting it leaves all three inferred `single` exactly as before. Nothing in the manifest moves except the three labels and three stage values that already held.
5 lines
583 B
JSON
5 lines
583 B
JSON
{
|
|
"stage": "experimental",
|
|
"label": "Gospel Resources — every resource and every gap, in tables",
|
|
"note": "Label + an EXPLICIT stage; type stays inferred (`single`). Eleven tables: what EXISTS with its real URL, and the people groups where nothing was found with the pools searched recorded per row. Stage is declared rather than inherited: profile-meta.mjs defaults a meta-less profile to experimental, so writing this file without a stage key would leave the value resting on that default — and a later change to it would silently promote a production bundle profile."
|
|
}
|