@bongos/core 1.19.510 → 1.19.512
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.bongos-core.json +48 -38
- package/config/branding.neutral.json +3 -2
- package/docs/adr/0233-a-copy-proposal-is-a-task-carrying-a-patch.md +16 -2
- package/docs/adr/0238-the-join-door-is-a-provisioning-settings-policy-key.md +57 -0
- package/docs/adr/README.md +1 -0
- package/docs/copy-inventory.md +124 -118
- package/docs/copy-registry.json +223 -158
- package/docs/module-api-changelog.md +4 -0
- package/modules/copy-desk/proposals.js +13 -0
- package/modules/copy-desk/routes/copy-desk.js +9 -2
- package/modules/copy-desk/tests/copy_proposals.mjs +41 -0
- package/modules/lifecycle/conflict-resolve.js +59 -3
- package/modules/provisioning/provisioning.js +27 -1
- package/modules/provisioning/tests/provisioning.mjs +17 -14
- package/modules/public-landing/public/assets/cosmos.css +3 -1
- package/modules/public-landing/public/projects.html +125 -0
- package/modules/ui-design/kit/serve.js +4 -3
- package/package-lock.json +2 -2
- package/package.json +1 -1
- package/scripts/gds/copy-apply.js +54 -4
- package/scripts/gds/git-merge-regen.js +18 -0
- package/src/branding.js +9 -0
- package/src/module-api.js +1 -1
- package/tests/conflict_resolve.mjs +118 -4
- package/tests/currency_label.mjs +5 -4
- package/tests/git_merge_regen.mjs +128 -2
- package/tests/project_door_ui.mjs +267 -0
- package/tests/projects_hub.mjs +86 -1
- package/tests/projects_hub_pre_uat.mjs +4 -1
- package/tests/provision_settings_apply.mjs +8 -7
- package/tests/provisioning_settings.mjs +65 -6
- package/tests/provisioning_settings_apply.mjs +3 -3
- package/tests/provisioning_settings_env.mjs +10 -8
|
@@ -55,7 +55,9 @@ t('a row with NO stored settings emits today\'s behavior EXPLICITLY, never nothi
|
|
|
55
55
|
// an instance must never have to infer a policy from an absent variable
|
|
56
56
|
assert.equal(v.CLOUDBONGOS_PLATFORM_VISIBILITY, 'public');
|
|
57
57
|
assert.equal(v.CLOUDBONGOS_JOINABILITY, 'apply');
|
|
58
|
-
|
|
58
|
+
// the join door rides the same transport (task 1002324, ADR 0182 D1)
|
|
59
|
+
assert.equal(v.CLOUDBONGOS_VISIBILITY, 'public');
|
|
60
|
+
assert.equal(linesOf(provisioning.settingsEnvLines({}, 'X')).length, 3, 'every policy key always present');
|
|
59
61
|
});
|
|
60
62
|
|
|
61
63
|
t('an off-vocabulary stored value falls back to the default, never reaches the instance', () => {
|
|
@@ -94,11 +96,11 @@ t('it names the live push by the intent the runner actually dispatches (task 100
|
|
|
94
96
|
});
|
|
95
97
|
|
|
96
98
|
t('settingsEnvVars is the single source both legs derive from — same keys, same values as the lines', () => {
|
|
97
|
-
const row = { settings: { platform_visibility: 'gated', joinability: 'open' } };
|
|
99
|
+
const row = { settings: { platform_visibility: 'gated', joinability: 'open', visibility: 'stealth' } };
|
|
98
100
|
const vars = provisioning.settingsEnvVars(row, 'CLOUDBONGOS');
|
|
99
|
-
assert.deepEqual(vars, { CLOUDBONGOS_PLATFORM_VISIBILITY: 'gated', CLOUDBONGOS_JOINABILITY: 'open' });
|
|
101
|
+
assert.deepEqual(vars, { CLOUDBONGOS_PLATFORM_VISIBILITY: 'gated', CLOUDBONGOS_JOINABILITY: 'open', CLOUDBONGOS_VISIBILITY: 'stealth' });
|
|
100
102
|
assert.deepEqual(varsOf(provisioning.settingsEnvLines(row, 'CLOUDBONGOS')), vars, 'the standup lines ARE the vars');
|
|
101
|
-
assert.deepEqual(provisioning.settingsEnvVars({}, 'X'), { X_PLATFORM_VISIBILITY: 'public', X_JOINABILITY: 'apply' }, 'defaults, explicitly');
|
|
103
|
+
assert.deepEqual(provisioning.settingsEnvVars({}, 'X'), { X_PLATFORM_VISIBILITY: 'public', X_JOINABILITY: 'apply', X_VISIBILITY: 'public' }, 'defaults, explicitly');
|
|
102
104
|
});
|
|
103
105
|
|
|
104
106
|
console.log('\nwebEnvBody — the settings ride the real per-instance env file:');
|
|
@@ -131,12 +133,12 @@ t('clientBranding\'s project fallbacks are DEFAULT_SETTINGS, key for key — the
|
|
|
131
133
|
|
|
132
134
|
t('the env override resolves onto project.* in a real process', () => {
|
|
133
135
|
const read = (env) => JSON.parse(execFileSync(process.execPath, ['-e',
|
|
134
|
-
"const b=require('./src/branding.js');const r=(b.branding||b)();console.log(JSON.stringify({v:r.project.platformVisibility,j:r.project.joinability}))"],
|
|
136
|
+
"const b=require('./src/branding.js');const r=(b.branding||b)();console.log(JSON.stringify({v:r.project.platformVisibility,j:r.project.joinability,d:r.project.visibility}))"],
|
|
135
137
|
{ cwd: ROOT, encoding: 'utf8', env: { ...process.env, ...env } }));
|
|
136
|
-
assert.deepEqual(read({}), { v: 'public', j: 'apply' }, 'no env → the pack default');
|
|
138
|
+
assert.deepEqual(read({}), { v: 'public', j: 'apply', d: 'public' }, 'no env → the pack default');
|
|
137
139
|
assert.deepEqual(
|
|
138
|
-
read({ CLOUDBONGOS_PLATFORM_VISIBILITY: 'gated', CLOUDBONGOS_JOINABILITY: 'invite_only' }),
|
|
139
|
-
{ v: 'gated', j: 'invite_only' },
|
|
140
|
+
read({ CLOUDBONGOS_PLATFORM_VISIBILITY: 'gated', CLOUDBONGOS_JOINABILITY: 'invite_only', CLOUDBONGOS_VISIBILITY: 'stealth' }),
|
|
141
|
+
{ v: 'gated', j: 'invite_only', d: 'stealth' },
|
|
140
142
|
'the web.env the runner writes is what the instance reads');
|
|
141
143
|
});
|
|
142
144
|
|