@bongos/core 1.19.947 → 1.19.948

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 CHANGED
@@ -2,11 +2,11 @@
2
2
  "artifact": "bongos-core",
3
3
  "manifest_schema": 1,
4
4
  "generator": "scripts/gds/package-core.js",
5
- "core_version": "1.19.947",
6
- "core_contract": "1.19.947",
7
- "source_commit": "37a9f1c16fc7a96d1a1a5a2a65caf044f3026012",
5
+ "core_version": "1.19.948",
6
+ "core_contract": "1.19.948",
7
+ "source_commit": "7e37e772b13a12d362d065e4717077968a833700",
8
8
  "source_ref": "HEAD",
9
- "built_at": "2026-09-22T00:19:14.818Z",
9
+ "built_at": "2026-09-22T00:24:59.637Z",
10
10
  "redaction": {
11
11
  "model": "docs-redacted+functional-verbatim",
12
12
  "docs_redacted": 512,
@@ -17,7 +17,7 @@
17
17
  "gate": "passed"
18
18
  },
19
19
  "file_count": 2887,
20
- "tree_sha256": "bda269845896de352c55f40f7ce0700fd273326dd76309102c37fd6b9afda131",
20
+ "tree_sha256": "05aa6d17f1fc467a3da4bc029194d33bba69296024f1359ac1f8622f1278ad50",
21
21
  "files": [
22
22
  {
23
23
  "path": ".claude/skills/ask-for-help/SKILL.md",
@@ -377,7 +377,7 @@
377
377
  {
378
378
  "path": "clients/bongos-client/package.json",
379
379
  "mode": "0000644",
380
- "sha256": "d299252221daca415cf982b61fe5e3d9c3707c672a7d47adc052a9ee8166223f"
380
+ "sha256": "f2a46cacecfdfff5632a6fbc7a9c5a7ac09a5b8d45bc48f579e91db4ff1cd7bd"
381
381
  },
382
382
  {
383
383
  "path": "config/branding.neutral.json",
@@ -2682,7 +2682,7 @@
2682
2682
  {
2683
2683
  "path": "docs/module-api-changelog.md",
2684
2684
  "mode": "0000644",
2685
- "sha256": "d9c0cae827a25e58be07c384558b2752a027cd7736ce560af83ee2e2286f8fd8"
2685
+ "sha256": "3f21cd6d53ac515244ae5be6d14bcf36898e487b4638a51bf4611e735c823c9f"
2686
2686
  },
2687
2687
  {
2688
2688
  "path": "docs/modules-contract.md",
@@ -8037,12 +8037,12 @@
8037
8037
  {
8038
8038
  "path": "package-lock.json",
8039
8039
  "mode": "0000644",
8040
- "sha256": "299be5b7d35c653f16b1789ea0a36c9bfa31d0f67ed7f6aebdff81ba17f379d0"
8040
+ "sha256": "987a8459bed5c80b510ed385e8eadc8109c42abf0deadf9c08b3f83da31eb42d"
8041
8041
  },
8042
8042
  {
8043
8043
  "path": "package.json",
8044
8044
  "mode": "0000644",
8045
- "sha256": "875f023498acdbdb7f1c746c2e12390fe77b92fa2ccfadc66204c5271659c4c4"
8045
+ "sha256": "66e973de72ac31b96eca16d6f7fe34dd833d515fb5cf04c32a66bce743518a25"
8046
8046
  },
8047
8047
  {
8048
8048
  "path": "public-docs/index.html",
@@ -8667,7 +8667,7 @@
8667
8667
  {
8668
8668
  "path": "scripts/gds/gen-api-client.js",
8669
8669
  "mode": "0000644",
8670
- "sha256": "a023a19001d63b671409efe1afeae400dae96ea50debd6e3a49a7d10dffb55b0"
8670
+ "sha256": "00f267a8f3ceb040fa217d85f89b6e464ca6366f74b016c888d297ee900e816f"
8671
8671
  },
8672
8672
  {
8673
8673
  "path": "scripts/gds/gen-api-docs.js",
@@ -10047,7 +10047,7 @@
10047
10047
  {
10048
10048
  "path": "src/module-api.js",
10049
10049
  "mode": "0000644",
10050
- "sha256": "e710dd0a8764f9b78f20168fa83b3817d190e5436e384055ffab4352ef0095f0"
10050
+ "sha256": "d657538880551de9fb84c31218b01511298d620cb611f78bc4de93ae4acfb978"
10051
10051
  },
10052
10052
  {
10053
10053
  "path": "src/module-loader/catalog.js",
@@ -10257,7 +10257,7 @@
10257
10257
  {
10258
10258
  "path": "tests/api_client.mjs",
10259
10259
  "mode": "0000644",
10260
- "sha256": "c1563c043f34e84aa6c0eec722244b24c51dc1254750fe1a27d3664c327bacd1"
10260
+ "sha256": "4f9a52f3f3eb998b87d06cb127fa79e21f7488281911159a159e0d856ea3f04c"
10261
10261
  },
10262
10262
  {
10263
10263
  "path": "tests/api_docs.mjs",
@@ -25,5 +25,6 @@
25
25
  "README.md"
26
26
  ],
27
27
  "license": "AGPL-3.0-or-later",
28
+ "private": true,
28
29
  "sideEffects": false
29
30
  }
@@ -2368,5 +2368,7 @@ is load-bearing: the script throws rather than guess if it is missing, and
2368
2368
  landed since 1.19.945 with no explicit bump. run 35669244197. (task 1002620)
2369
2369
  1.19.947 — CI auto-patch (publish-on-merge, ADR 0161): carrier for merges
2370
2370
  landed since 1.19.946 with no explicit bump. run 35671409094. (task 1002620)
2371
+ 1.19.948 — CI auto-patch (publish-on-merge, ADR 0161): carrier for merges
2372
+ landed since 1.19.947 with no explicit bump. run 35671807404. (task 1002620)
2371
2373
  ---------------------------------------------------------------------------
2372
2374
  ```
package/package-lock.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@bongos/core",
3
- "version": "1.19.947",
3
+ "version": "1.19.948",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@bongos/core",
9
- "version": "1.19.947",
9
+ "version": "1.19.948",
10
10
  "license": "AGPL-3.0-or-later",
11
11
  "dependencies": {
12
12
  "express": "^4.21.2",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bongos/core",
3
- "version": "1.19.947",
3
+ "version": "1.19.948",
4
4
  "description": "Cloud Bongos — the AI-first build platform core (GDS + platform surfaces + module system), installed as a versioned dependency (ADR 0108).",
5
5
  "license": "AGPL-3.0-or-later",
6
6
  "main": "src/platform-server.js",
@@ -374,14 +374,29 @@ function renderPackageJson(spec) {
374
374
  },
375
375
  files: ['index.mjs', 'index.cjs', 'index.d.ts', 'bongos-client.global.js', 'README.md'],
376
376
  license: 'AGPL-3.0-or-later',
377
+ // `private: true` is the ENFORCEMENT of the paragraph below (task 1004143). Task
378
+ // 1003742 removed the publishConfig, which stopped the repo CLAIMING this was a
379
+ // published package — but nothing stopped it BECOMING one again: `npm publish` in
380
+ // clients/bongos-client/ succeeded and would have recreated @bongos/client@0.0.2,
381
+ // the exact package the owner deleted from the registry on 2026-09-09. npm now
382
+ // refuses with EPRIVATE, so that removal cannot be silently undone by anyone who
383
+ // runs publish in the wrong directory.
384
+ //
385
+ // This is not the publish posture the note below calls fiction. That was declaring
386
+ // HOW it publishes (access: restricted) for something never published; this
387
+ // declares that it does not publish, which is the same fact the note states in
388
+ // prose. It does not affect `main`/`types`/`exports`, so the vendored copy and a
389
+ // workspace link resolve exactly as before.
390
+ private: true,
377
391
  // NO publishConfig — this client is NOT an npm package (task 1003742).
378
392
  //
379
393
  // It was published once, 2026-07-07 at 0.0.2, under ADR 0134's private-first plan, and never
380
394
  // updated while the API it is generated FROM moved 500+ core versions. It had zero consumers
381
395
  // the whole time: nothing across the core or any instance repo ever declared it as a
382
- // dependency — every consumer VENDORS a copy instead (modules/dev-box/app/src/vendor/, and
383
- // build-cli-package.js into @cloudbongos/cli, which could not depend on it anyway). The owner
384
- // removed it from the registry on 2026-09-09.
396
+ // dependency — every consumer VENDORS a copy instead. That was two places when this was
397
+ // written; task 1003891 deleted the Dev Box Electron app, so build-cli-package.js vendoring
398
+ // it into @cloudbongos/cli (which could not depend on it anyway) is now the only one. The
399
+ // owner removed it from the registry on 2026-09-09.
385
400
  //
386
401
  // The manifest itself stays: `main`/`types`/`exports` are what make the vendored copy and a
387
402
  // workspace link resolve. Declaring a publish posture is the part that was fiction.
package/src/module-api.js CHANGED
@@ -71,7 +71,7 @@ const { responsibilityFor, ROLE_RESPONSIBILITIES } = require('./role-responsibil
71
71
  // there. scripts/gds/bump-version.js still rewrites the literal below; it appends
72
72
  // the entry to that file. Look for a version's history there, not here.
73
73
  // ---------------------------------------------------------------------------
74
- const CORE_VERSION = '1.19.947'; // CI auto-patch carrier (ADR 0161); changelog: docs/module-api-changelog.md
74
+ const CORE_VERSION = '1.19.948'; // CI auto-patch carrier (ADR 0161); changelog: docs/module-api-changelog.md
75
75
 
76
76
  // A namespaced logger so a module's log lines are attributable + consistent.
77
77
  // Usage: const log = api.logger('dev-box'); log.info('mounted');
@@ -303,3 +303,40 @@ test('--check reads a CRLF working copy as fresh, and a real edit as stale (task
303
303
  fs.rmSync(root, { recursive: true, force: true });
304
304
  }
305
305
  });
306
+
307
+ // ── the generated manifest must refuse to become an npm package (task 1004143) ──
308
+ //
309
+ // @bongos/client was published once (2026-07-07, 0.0.2), gathered zero consumers —
310
+ // everyone vendors a copy — and the owner deleted it from the registry on
311
+ // 2026-09-09. Task 1003742 removed the publishConfig so the repo stopped CLAIMING
312
+ // it was published, but nothing stopped it BECOMING published again: `npm publish`
313
+ // in clients/bongos-client/ succeeded and would have recreated it.
314
+ //
315
+ // WHY THIS IS ASSERTED ON THE MANIFEST AND NOT BY RUNNING npm. `npm publish
316
+ // --dry-run` is NOT a test of this and passes with `private: true` set: npm's
317
+ // dry-run path returns in lib/commands/publish.js before it ever calls
318
+ // libnpmpublish, and libnpmpublish/lib/publish.js is where the real guard lives —
319
+ // `if (manifest.private) throw EPRIVATE` as its first statement, unconditional and
320
+ // ahead of any network call. So a real publish IS blocked; a dry-run simply never
321
+ // reaches the check. Asserting the field is the honest test at this layer, and it
322
+ // is the part this repo actually controls.
323
+ test('the generated client manifest is private, so it cannot be republished', () => {
324
+ const pkg = JSON.parse(fs.readFileSync(
325
+ path.join(ROOT, 'clients', 'bongos-client', 'package.json'), 'utf8'));
326
+ assert.equal(pkg.private, true,
327
+ 'clients/bongos-client/package.json lost `private: true` — npm publish in that directory '
328
+ + 'would recreate @bongos/client, the package the owner removed from the registry.');
329
+ // The manifest still has to RESOLVE: 1003742 kept these on purpose, because the
330
+ // vendored copy and a workspace link go through them. `private` must not cost that.
331
+ for (const field of ['main', 'types', 'exports']) {
332
+ assert.ok(pkg[field], `the manifest lost \`${field}\` — the vendored copy resolves through it`);
333
+ }
334
+ });
335
+
336
+ test('the GENERATOR emits it, not just the committed file', () => {
337
+ // Fixing only the output is a fix that the next regeneration undoes.
338
+ const src = fs.readFileSync(path.join(ROOT, 'scripts', 'gds', 'gen-api-client.js'), 'utf8');
339
+ assert.match(src, /private:\s*true/,
340
+ 'gen-api-client.js no longer emits `private: true` — the next regeneration would '
341
+ + 'make clients/bongos-client publishable again.');
342
+ });