@bongos/core 1.19.211 → 1.19.212

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.211",
6
- "core_contract": "1.19.211",
7
- "source_commit": "348da70b502ddf8be58aa20aeb71dcf7be94ec7c",
5
+ "core_version": "1.19.212",
6
+ "core_contract": "1.19.212",
7
+ "source_commit": "2b4762e127c88a4114c66c25801c21aef9ebf2d9",
8
8
  "source_ref": "HEAD",
9
- "built_at": "2026-08-17T23:14:01.398Z",
9
+ "built_at": "2026-08-17T23:23:19.730Z",
10
10
  "redaction": {
11
11
  "model": "docs-redacted+functional-verbatim",
12
12
  "docs_redacted": 310,
@@ -17,7 +17,7 @@
17
17
  "gate": "passed"
18
18
  },
19
19
  "file_count": 1632,
20
- "tree_sha256": "5d3eac725354ec0e3bd3c1d91f38bcc539a355b8e2b137de56de74ddfbe2572f",
20
+ "tree_sha256": "a403f7e947eaebd53f2d3b95ff22cc32202aec1c2c0d05aa5e8fdc68dccd599c",
21
21
  "files": [
22
22
  {
23
23
  "path": ".claude/skills/blocker-review/SKILL.md",
@@ -4282,12 +4282,12 @@
4282
4282
  {
4283
4283
  "path": "package-lock.json",
4284
4284
  "mode": "0000644",
4285
- "sha256": "aa3d213f3f3548f655bee0361f01e43ee380b54e958f8d11683ba7d94a098d2b"
4285
+ "sha256": "61ee2e3d2da104909ace97881b37ba3fe85535e4f1ca2adfe430c2e12a93a087"
4286
4286
  },
4287
4287
  {
4288
4288
  "path": "package.json",
4289
4289
  "mode": "0000644",
4290
- "sha256": "368f9931ba9dc39483dc3a9c488fb8df45342cccccab65d34b9a4d083fa530ed"
4290
+ "sha256": "3e6a4e9d8281f4911612230833fa96b8ff7f3461f38e5655eafaff2f032aa1fb"
4291
4291
  },
4292
4292
  {
4293
4293
  "path": "public-docs/index.html",
@@ -4547,7 +4547,7 @@
4547
4547
  {
4548
4548
  "path": "public-landing/projects.html",
4549
4549
  "mode": "0000644",
4550
- "sha256": "790034f4256a31da114969853e14fdf47b43b0ad35907b4fcc14ff98897ec7d1"
4550
+ "sha256": "603ec55ce4de6477cf5d0602e5963a096799a404b2324f12c62104023e9e0e4b"
4551
4551
  },
4552
4552
  {
4553
4553
  "path": "public-landing/world/assets/clouds/cloud-island-large.png",
@@ -5902,7 +5902,7 @@
5902
5902
  {
5903
5903
  "path": "src/module-api.js",
5904
5904
  "mode": "0000644",
5905
- "sha256": "5998d6f2561e88ca21f3f764a48fd496767d0b2f16aeaf1a1e7cf981333c4faf"
5905
+ "sha256": "a97718759370258d16378f3e7794180173fabef4053c2f3f1d28c7357affc5dc"
5906
5906
  },
5907
5907
  {
5908
5908
  "path": "src/module-loader/catalog.js",
@@ -7527,7 +7527,7 @@
7527
7527
  {
7528
7528
  "path": "tests/projects_hub.mjs",
7529
7529
  "mode": "0000644",
7530
- "sha256": "963b745e4b4ecd6a786f88758d57aee8680edd49d25f0cc84e3b563a5125be3b"
7530
+ "sha256": "0471ced4ef3d16b5df6a373c04b13c1e83f2c9b2a9590734e4f02f95e195c45a"
7531
7531
  },
7532
7532
  {
7533
7533
  "path": "tests/provision.mjs",
@@ -7577,7 +7577,7 @@
7577
7577
  {
7578
7578
  "path": "tests/public_landing_projects.mjs",
7579
7579
  "mode": "0000644",
7580
- "sha256": "266f5936675c0f6eb8d64af713d215edea2b88bcab50153497ef2d23fec1ff65"
7580
+ "sha256": "c0e2e85c84f75503438c1951b72a94cf1c74a7cd0c27b774c2dc4d46d99d6cf8"
7581
7581
  },
7582
7582
  {
7583
7583
  "path": "tests/public_mirror_export.mjs",
package/package-lock.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@bongos/core",
3
- "version": "1.19.211",
3
+ "version": "1.19.212",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@bongos/core",
9
- "version": "1.19.211",
9
+ "version": "1.19.212",
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.211",
3
+ "version": "1.19.212",
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",
@@ -626,6 +626,14 @@ h1[tabindex="-1"]:focus{outline:none;}
626
626
  <div class="card" id="mRepoVisibility">
627
627
  <h2 style="font-family:var(--font-display);font-size:19px;margin-bottom:12px;">Repository visibility</h2>
628
628
  <div id="mRepoVis"><p class="finePrint">Checking the repository on GitHub…</p></div>
629
+ <!-- the limitation itself, one click away (grade follow-up task 1003077):
630
+ the refusal above states it; this fold explains it and links the
631
+ tracked fix. The hall link is apex-only — a child instance keeps the
632
+ explanation, not another platform's task tracker. -->
633
+ <details class="finePrint" id="mRepoVisWhy">
634
+ <summary>Why can’t it be private yet?</summary>
635
+ <p>The platform deploys a project by reading its code from GitHub with a shared read-only credential — and private repositories don’t admit it. A private repository’s next deploy would simply fail, so the switch stays off until each project gets its own deploy credential. <!--apex-only:start-->That work is tracked as <a href="{{buildersOrigin}}#/task/1002735" target="_blank" rel="noopener">task 1002735</a> in the builders’ hall.<!--apex-only:end--></p>
636
+ </details>
629
637
  </div>
630
638
 
631
639
  <div class="card" id="mDelete">
package/src/module-api.js CHANGED
@@ -849,8 +849,10 @@ const { validateOrRespond, LIMITS, parseId, asyncHandler, corsPublicGet, parsePa
849
849
  // landed since 1.19.209 with no explicit bump. run 32078135414. (task 1002620)
850
850
  // 1.19.211 — CI auto-patch (publish-on-merge, ADR 0161): carrier for merges
851
851
  // landed since 1.19.210 with no explicit bump. run 32079512489. (task 1002620)
852
+ // 1.19.212 — CI auto-patch (publish-on-merge, ADR 0161): carrier for merges
853
+ // landed since 1.19.211 with no explicit bump. run 32080157462. (task 1002620)
852
854
  // ---------------------------------------------------------------------------
853
- const CORE_VERSION = '1.19.211'; // CI auto-patch carrier (ADR 0161); see changelog above
855
+ const CORE_VERSION = '1.19.212'; // CI auto-patch carrier (ADR 0161); see changelog above
854
856
 
855
857
  // A namespaced logger so a module's log lines are attributable + consistent.
856
858
  // Usage: const log = api.logger('dev-box'); log.info('mounted');
@@ -1028,6 +1028,21 @@ test('the reconnect door asks for repository access and returns to this project'
1028
1028
  'and returns to the exact project being managed');
1029
1029
  });
1030
1030
 
1031
+ test('the refusal carries a LINK to the limitation, never prose alone (task 1003077)', () => {
1032
+ assert.match(HUB, /id="mRepoVisWhy"/, 'the why-fold is real markup beside the section body');
1033
+ const fold = (HUB.match(/<details[^>]*id="mRepoVisWhy"[\s\S]*?<\/details>/) || [''])[0];
1034
+ assert.ok(fold, 'the fold must be extractable');
1035
+ assert.match(fold, /shared read-only credential/, 'the WHY is stated in plain words');
1036
+ assert.match(fold, /\{\{buildersOrigin\}\}#\/task\/1002735/,
1037
+ 'the tracked fix is a real link, hall-origin server-stamped (never client-filled)');
1038
+ // apex-only: a child instance keeps the explanation, not another platform's tracker
1039
+ const at = HUB.indexOf('{{buildersOrigin}}#/task/1002735');
1040
+ const before = HUB.slice(0, at);
1041
+ const opens = (before.match(/<!--apex-only:start-->/g) || []).length;
1042
+ const closes = (before.match(/<!--apex-only:end-->/g) || []).length;
1043
+ assert.equal(opens - closes, 1, 'the task link sits inside an apex-only sentinel pair');
1044
+ });
1045
+
1031
1046
  test('making a repo public asks first — exposure is never one accidental click', () => {
1032
1047
  const fn = (SCRIPT.match(/function askRepoPublic\(\)\s*\{([\s\S]*?)\n \}/) || [, ''])[1];
1033
1048
  assert.ok(fn, 'askRepoPublic() must be extractable');
@@ -129,6 +129,15 @@ test('the repo-visibility section is served live, with the private direction ref
129
129
  assert.doesNotMatch(body, /visibility:\s*'private'/,
130
130
  'no served code path may send the private direction');
131
131
  assert.match(body, /repos=1/, 'the reconnect door asks for repository access');
132
+ // the limitation is one click away (task 1003077). This DB-free serve is the
133
+ // STANDALONE shape, where apex-only spans are stripped — so the explanation
134
+ // must survive while the cloudbongos task link must NOT (a child instance
135
+ // never shows another platform's tracker). The link itself is pinned inside
136
+ // its sentinels by tests/projects_hub.mjs.
137
+ assert.match(body, /id="mRepoVisWhy"/, 'the why-fold is served');
138
+ assert.match(body, /shared read-only credential/, 'the explanation survives the strip');
139
+ assert.doesNotMatch(body, /#\/task\/1002735/,
140
+ 'the apex-only task link is stripped from a standalone serve');
132
141
  });
133
142
 
134
143
  test('the empty state points a new owner at the wizard view — never at a hall', async () => {