@bongos/core 1.19.319 → 1.19.321
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 +125 -40
- package/.claude/skills/merge-mode/SKILL.md +3 -1
- package/.devcontainer/init-firewall.sh +41 -5
- package/clients/bongos-client/examples/hello-world.mjs +11 -2
- package/docs/copy-inventory.md +20 -20
- package/docs/copy-registry.json +22 -22
- package/modules/dev-box/box-access.js +20 -0
- package/modules/hall-ui/public/builders.js +0 -1
- package/package-lock.json +2 -2
- package/package.json +1 -1
- package/scripts/gds/audit-replay.sh +20 -3
- package/scripts/gds/box.js +79 -86
- package/scripts/gds/db-backup-nightly.sh +17 -4
- package/scripts/gds/db-backup-offsite.sh +23 -6
- package/scripts/gds/discipline-modes.json +1 -1
- package/scripts/gds/doc-cli-guard.js +34 -2
- package/scripts/gds/fitness-ratchets.js +54 -6
- package/scripts/gds/fitness.js +8 -4
- package/scripts/gds/gds-db-backup.service +15 -4
- package/scripts/gds/gds-db-backup.timer +12 -1
- package/scripts/gds/gds-db-offsite.service +16 -5
- package/scripts/gds/gds-db-offsite.timer +12 -1
- package/scripts/gds/instance-apex.js +28 -0
- package/scripts/gds/newcomer-floor.templates.json +2 -2
- package/scripts/gds/provision.js +7 -3
- package/scripts/gds/ship-deploy-target.js +388 -0
- package/scripts/gds/ship-finish.js +377 -0
- package/scripts/gds/ship-flow.js +814 -0
- package/scripts/gds/ship-git.js +100 -0
- package/scripts/gds/ship-grade-steps.js +376 -0
- package/scripts/gds/ship-grade.js +319 -0
- package/scripts/gds/ship-io.js +100 -0
- package/scripts/gds/ship-land.js +539 -0
- package/scripts/gds/ship-memory-sync.js +192 -0
- package/scripts/gds/ship-merge.js +297 -0
- package/scripts/gds/ship-preflight-steps.js +323 -0
- package/scripts/gds/ship-regen.js +286 -0
- package/scripts/gds/ship-resume.js +151 -0
- package/scripts/gds/ship-session-upload.js +216 -0
- package/scripts/gds/ship-state.js +73 -0
- package/scripts/gds/ship-surprise.js +84 -0
- package/scripts/gds/ship.js +105 -4195
- package/scripts/status-probe.mjs +30 -2
- package/src/module-api.js +5 -1
- package/tests/box_access.mjs +46 -0
- package/tests/fitness_ratchets.mjs +82 -0
- package/tests/helpers.mjs +13 -0
- package/tests/provision.mjs +7 -1
- package/tests/regrade_eligibility.mjs +43 -0
- package/tests/ship_assurance.mjs +4 -2
- package/tests/ship_publish_error.mjs +43 -0
package/.bongos-core.json
CHANGED
|
@@ -2,22 +2,22 @@
|
|
|
2
2
|
"artifact": "bongos-core",
|
|
3
3
|
"manifest_schema": 1,
|
|
4
4
|
"generator": "scripts/gds/package-core.js",
|
|
5
|
-
"core_version": "1.19.
|
|
6
|
-
"core_contract": "1.19.
|
|
7
|
-
"source_commit": "
|
|
5
|
+
"core_version": "1.19.321",
|
|
6
|
+
"core_contract": "1.19.321",
|
|
7
|
+
"source_commit": "242735e2b39608c5500b8c5bd231832a90c5fae7",
|
|
8
8
|
"source_ref": "HEAD",
|
|
9
|
-
"built_at": "2026-08-
|
|
9
|
+
"built_at": "2026-08-24T01:17:55.486Z",
|
|
10
10
|
"redaction": {
|
|
11
11
|
"model": "docs-redacted+functional-verbatim",
|
|
12
12
|
"docs_redacted": 323,
|
|
13
13
|
"agent_docs_stubbed": 22,
|
|
14
|
-
"functional_verbatim":
|
|
14
|
+
"functional_verbatim": 1455,
|
|
15
15
|
"rules": 3,
|
|
16
16
|
"gate_literals": 3,
|
|
17
17
|
"gate": "passed"
|
|
18
18
|
},
|
|
19
|
-
"file_count":
|
|
20
|
-
"tree_sha256": "
|
|
19
|
+
"file_count": 1800,
|
|
20
|
+
"tree_sha256": "5d80f6db5c26850188eb0c3f5ace7c42ff85561d277dc525e24f46cdcf52dee8",
|
|
21
21
|
"files": [
|
|
22
22
|
{
|
|
23
23
|
"path": ".claude/skills/blocker-review/SKILL.md",
|
|
@@ -182,7 +182,7 @@
|
|
|
182
182
|
{
|
|
183
183
|
"path": ".claude/skills/merge-mode/SKILL.md",
|
|
184
184
|
"mode": "0000644",
|
|
185
|
-
"sha256": "
|
|
185
|
+
"sha256": "5d58991170f12c2b32897c8e662fa85ef88207f8c4fd59fc75cafbec235c58fa"
|
|
186
186
|
},
|
|
187
187
|
{
|
|
188
188
|
"path": ".claude/skills/new-project/SKILL.md",
|
|
@@ -282,7 +282,7 @@
|
|
|
282
282
|
{
|
|
283
283
|
"path": ".devcontainer/init-firewall.sh",
|
|
284
284
|
"mode": "0000644",
|
|
285
|
-
"sha256": "
|
|
285
|
+
"sha256": "65dfe7467e1ec1c6f8a32b89cd3207a6bda13f805d77e54384320f83733e0cfa"
|
|
286
286
|
},
|
|
287
287
|
{
|
|
288
288
|
"path": ".devcontainer/post-create.sh",
|
|
@@ -357,7 +357,7 @@
|
|
|
357
357
|
{
|
|
358
358
|
"path": "clients/bongos-client/examples/hello-world.mjs",
|
|
359
359
|
"mode": "0000644",
|
|
360
|
-
"sha256": "
|
|
360
|
+
"sha256": "80573aa533a5f95b6974f0e87d50f0d4f08395565e2027e9ea239caec7c4862e"
|
|
361
361
|
},
|
|
362
362
|
{
|
|
363
363
|
"path": "clients/bongos-client/index.cjs",
|
|
@@ -1447,12 +1447,12 @@
|
|
|
1447
1447
|
{
|
|
1448
1448
|
"path": "docs/copy-inventory.md",
|
|
1449
1449
|
"mode": "0000644",
|
|
1450
|
-
"sha256": "
|
|
1450
|
+
"sha256": "265f46593fe663dc38aa7980b0eacde8e6ab001b75301c5d0e38f1c1887d0e11"
|
|
1451
1451
|
},
|
|
1452
1452
|
{
|
|
1453
1453
|
"path": "docs/copy-registry.json",
|
|
1454
1454
|
"mode": "0000644",
|
|
1455
|
-
"sha256": "
|
|
1455
|
+
"sha256": "e2e2af87ad6c8023e6b7399caac2372f08a87f41239873e83dbff39ac2fe1855"
|
|
1456
1456
|
},
|
|
1457
1457
|
{
|
|
1458
1458
|
"path": "docs/design-contract.md",
|
|
@@ -2827,7 +2827,7 @@
|
|
|
2827
2827
|
{
|
|
2828
2828
|
"path": "modules/dev-box/box-access.js",
|
|
2829
2829
|
"mode": "0000644",
|
|
2830
|
-
"sha256": "
|
|
2830
|
+
"sha256": "a51e16aba67547c0692d9422587f83d8ce40f0e45830463b80bfd188401eb6c0"
|
|
2831
2831
|
},
|
|
2832
2832
|
{
|
|
2833
2833
|
"path": "modules/dev-box/box-credential.js",
|
|
@@ -3312,7 +3312,7 @@
|
|
|
3312
3312
|
{
|
|
3313
3313
|
"path": "modules/hall-ui/public/builders.js",
|
|
3314
3314
|
"mode": "0000644",
|
|
3315
|
-
"sha256": "
|
|
3315
|
+
"sha256": "779e604e91dc4a057ac4db81f2215f7f26c7ec5eac65aae1680c0014bad05851"
|
|
3316
3316
|
},
|
|
3317
3317
|
{
|
|
3318
3318
|
"path": "modules/hall-ui/public/chime.wav",
|
|
@@ -4642,12 +4642,12 @@
|
|
|
4642
4642
|
{
|
|
4643
4643
|
"path": "package-lock.json",
|
|
4644
4644
|
"mode": "0000644",
|
|
4645
|
-
"sha256": "
|
|
4645
|
+
"sha256": "6f62185348f89cc7ae1c8998a25d4bdccb2e204ad81581555686f37057db1511"
|
|
4646
4646
|
},
|
|
4647
4647
|
{
|
|
4648
4648
|
"path": "package.json",
|
|
4649
4649
|
"mode": "0000644",
|
|
4650
|
-
"sha256": "
|
|
4650
|
+
"sha256": "3ba87e851af1bf1ad2a08cb62d4c875be12d7ec6d86ffda9e5b26e24fee313ae"
|
|
4651
4651
|
},
|
|
4652
4652
|
{
|
|
4653
4653
|
"path": "public-docs/index.html",
|
|
@@ -5032,7 +5032,7 @@
|
|
|
5032
5032
|
{
|
|
5033
5033
|
"path": "scripts/gds/audit-replay.sh",
|
|
5034
5034
|
"mode": "0000644",
|
|
5035
|
-
"sha256": "
|
|
5035
|
+
"sha256": "ce9ff07ca0fc8807a97de74780569d43f02ba492351773451c72b8f4c883de8e"
|
|
5036
5036
|
},
|
|
5037
5037
|
{
|
|
5038
5038
|
"path": "scripts/gds/audit-ships.js",
|
|
@@ -5087,7 +5087,7 @@
|
|
|
5087
5087
|
{
|
|
5088
5088
|
"path": "scripts/gds/box.js",
|
|
5089
5089
|
"mode": "0000644",
|
|
5090
|
-
"sha256": "
|
|
5090
|
+
"sha256": "c1146f6fd4bb2b27e912a5ae50f3f597abbce26ae109366daad4fd828dc1e243"
|
|
5091
5091
|
},
|
|
5092
5092
|
{
|
|
5093
5093
|
"path": "scripts/gds/build-bongos.js",
|
|
@@ -5197,12 +5197,12 @@
|
|
|
5197
5197
|
{
|
|
5198
5198
|
"path": "scripts/gds/db-backup-nightly.sh",
|
|
5199
5199
|
"mode": "0000644",
|
|
5200
|
-
"sha256": "
|
|
5200
|
+
"sha256": "0a4b3490ad5d4724c693053b16af61f6632e4933d18bedbdc5737a84111f03ae"
|
|
5201
5201
|
},
|
|
5202
5202
|
{
|
|
5203
5203
|
"path": "scripts/gds/db-backup-offsite.sh",
|
|
5204
5204
|
"mode": "0000644",
|
|
5205
|
-
"sha256": "
|
|
5205
|
+
"sha256": "f455e4a6fdd69f0105104752c86099e3a17dad7b4802fa715191cedab9762cd2"
|
|
5206
5206
|
},
|
|
5207
5207
|
{
|
|
5208
5208
|
"path": "scripts/gds/demote.js",
|
|
@@ -5242,7 +5242,7 @@
|
|
|
5242
5242
|
{
|
|
5243
5243
|
"path": "scripts/gds/discipline-modes.json",
|
|
5244
5244
|
"mode": "0000644",
|
|
5245
|
-
"sha256": "
|
|
5245
|
+
"sha256": "ae93a1068fa02259bc68372ce374e00db99df048730e3b3734619ec7f20da2dc"
|
|
5246
5246
|
},
|
|
5247
5247
|
{
|
|
5248
5248
|
"path": "scripts/gds/discord-channels.js",
|
|
@@ -5257,7 +5257,7 @@
|
|
|
5257
5257
|
{
|
|
5258
5258
|
"path": "scripts/gds/doc-cli-guard.js",
|
|
5259
5259
|
"mode": "0000644",
|
|
5260
|
-
"sha256": "
|
|
5260
|
+
"sha256": "6f157f0b3a5618bcc2372b6d3a2805ff212013b421720470b443da35aa72cf26"
|
|
5261
5261
|
},
|
|
5262
5262
|
{
|
|
5263
5263
|
"path": "scripts/gds/docs-entropy.js",
|
|
@@ -5292,12 +5292,12 @@
|
|
|
5292
5292
|
{
|
|
5293
5293
|
"path": "scripts/gds/fitness-ratchets.js",
|
|
5294
5294
|
"mode": "0000644",
|
|
5295
|
-
"sha256": "
|
|
5295
|
+
"sha256": "3f32080357abdecb0f0860c5c9313f12283f01774c8367ac22c1c12d0d176411"
|
|
5296
5296
|
},
|
|
5297
5297
|
{
|
|
5298
5298
|
"path": "scripts/gds/fitness.js",
|
|
5299
5299
|
"mode": "0000644",
|
|
5300
|
-
"sha256": "
|
|
5300
|
+
"sha256": "2de9f3b0e2c488ac1170aa90eab53c850b37c332676e36c4c8f214b219019352"
|
|
5301
5301
|
},
|
|
5302
5302
|
{
|
|
5303
5303
|
"path": "scripts/gds/gate-review.js",
|
|
@@ -5312,22 +5312,22 @@
|
|
|
5312
5312
|
{
|
|
5313
5313
|
"path": "scripts/gds/gds-db-backup.service",
|
|
5314
5314
|
"mode": "0000644",
|
|
5315
|
-
"sha256": "
|
|
5315
|
+
"sha256": "211b85d1663beaf4174ecde2f157816e28144f34c0bede467a13917754044039"
|
|
5316
5316
|
},
|
|
5317
5317
|
{
|
|
5318
5318
|
"path": "scripts/gds/gds-db-backup.timer",
|
|
5319
5319
|
"mode": "0000644",
|
|
5320
|
-
"sha256": "
|
|
5320
|
+
"sha256": "78885667bc92135c40b5830341650bdef55ff757e57be58ddc274717cf03f8ad"
|
|
5321
5321
|
},
|
|
5322
5322
|
{
|
|
5323
5323
|
"path": "scripts/gds/gds-db-offsite.service",
|
|
5324
5324
|
"mode": "0000644",
|
|
5325
|
-
"sha256": "
|
|
5325
|
+
"sha256": "6b94054101083d1cc6fcd425fb907aa1212da0f60857bce395d25eb490d14702"
|
|
5326
5326
|
},
|
|
5327
5327
|
{
|
|
5328
5328
|
"path": "scripts/gds/gds-db-offsite.timer",
|
|
5329
5329
|
"mode": "0000644",
|
|
5330
|
-
"sha256": "
|
|
5330
|
+
"sha256": "26a3dcc15c98128229df015292b8f9e9d3a41152c8803555f858fa4bb6a26d53"
|
|
5331
5331
|
},
|
|
5332
5332
|
{
|
|
5333
5333
|
"path": "scripts/gds/gen-api-client.js",
|
|
@@ -5414,6 +5414,11 @@
|
|
|
5414
5414
|
"mode": "0000644",
|
|
5415
5415
|
"sha256": "668d97543e863394527bad2a629037bfc81eea2f8244f53eb5e79fd43f7485c0"
|
|
5416
5416
|
},
|
|
5417
|
+
{
|
|
5418
|
+
"path": "scripts/gds/instance-apex.js",
|
|
5419
|
+
"mode": "0000644",
|
|
5420
|
+
"sha256": "fcb59a4eda007d98179dfe54956fcce4ff07c11ca941ed6dea41b38c0daca421"
|
|
5421
|
+
},
|
|
5417
5422
|
{
|
|
5418
5423
|
"path": "scripts/gds/key-card.js",
|
|
5419
5424
|
"mode": "0000644",
|
|
@@ -5527,7 +5532,7 @@
|
|
|
5527
5532
|
{
|
|
5528
5533
|
"path": "scripts/gds/newcomer-floor.templates.json",
|
|
5529
5534
|
"mode": "0000644",
|
|
5530
|
-
"sha256": "
|
|
5535
|
+
"sha256": "5049d67431a8d3d4b336f4d849068db47a52687755312e26192a8ce61edc039d"
|
|
5531
5536
|
},
|
|
5532
5537
|
{
|
|
5533
5538
|
"path": "scripts/gds/newcomer-floor.test.js",
|
|
@@ -5597,7 +5602,7 @@
|
|
|
5597
5602
|
{
|
|
5598
5603
|
"path": "scripts/gds/provision.js",
|
|
5599
5604
|
"mode": "0000644",
|
|
5600
|
-
"sha256": "
|
|
5605
|
+
"sha256": "1d6b8330d3a9e9ae563c1cadc7416ab8d33ce80f3ba0e21b10c5634b508a7670"
|
|
5601
5606
|
},
|
|
5602
5607
|
{
|
|
5603
5608
|
"path": "scripts/gds/publish-credential-check.js",
|
|
@@ -5864,15 +5869,95 @@
|
|
|
5864
5869
|
"mode": "0000644",
|
|
5865
5870
|
"sha256": "087def1396283b19cb8a6deea4cc7f362d7a2f164d496a587220f0a48568aae6"
|
|
5866
5871
|
},
|
|
5872
|
+
{
|
|
5873
|
+
"path": "scripts/gds/ship-deploy-target.js",
|
|
5874
|
+
"mode": "0000644",
|
|
5875
|
+
"sha256": "61c24ea220b7bc2bc36d6b30fd660e7c00c22d7a58150b390a9fe36aea1591b7"
|
|
5876
|
+
},
|
|
5877
|
+
{
|
|
5878
|
+
"path": "scripts/gds/ship-finish.js",
|
|
5879
|
+
"mode": "0000644",
|
|
5880
|
+
"sha256": "c21571c599889317e9023b8486c2d9969087af30a5394a834e16df45e4fea531"
|
|
5881
|
+
},
|
|
5882
|
+
{
|
|
5883
|
+
"path": "scripts/gds/ship-flow.js",
|
|
5884
|
+
"mode": "0000644",
|
|
5885
|
+
"sha256": "efad88d4ead86356f27650b81c5ee28362bc94695dede92958e5398e9e71748c"
|
|
5886
|
+
},
|
|
5887
|
+
{
|
|
5888
|
+
"path": "scripts/gds/ship-git.js",
|
|
5889
|
+
"mode": "0000644",
|
|
5890
|
+
"sha256": "dd635e743229912e2c574003f2b94c47283b03f06d6efbb1cd1355efa2ce76bd"
|
|
5891
|
+
},
|
|
5892
|
+
{
|
|
5893
|
+
"path": "scripts/gds/ship-grade-steps.js",
|
|
5894
|
+
"mode": "0000644",
|
|
5895
|
+
"sha256": "52dc5ae1aca08033d2d217694273d8fed1597c0329491118ffa48ccdadc0a3ca"
|
|
5896
|
+
},
|
|
5897
|
+
{
|
|
5898
|
+
"path": "scripts/gds/ship-grade.js",
|
|
5899
|
+
"mode": "0000644",
|
|
5900
|
+
"sha256": "51b9132fc77f5f639a4597b26a6a5d083bf43c56944bf6710c939cafa074ba90"
|
|
5901
|
+
},
|
|
5867
5902
|
{
|
|
5868
5903
|
"path": "scripts/gds/ship-honesty.js",
|
|
5869
5904
|
"mode": "0000644",
|
|
5870
5905
|
"sha256": "32827178a46cc01c36c422e1adef433be99492e8444a8affbe51e5e8c1e8ce9f"
|
|
5871
5906
|
},
|
|
5907
|
+
{
|
|
5908
|
+
"path": "scripts/gds/ship-io.js",
|
|
5909
|
+
"mode": "0000644",
|
|
5910
|
+
"sha256": "dc863484634845b84913532db0606a64006f6a506b97b94ea131dfdc1c1ed245"
|
|
5911
|
+
},
|
|
5912
|
+
{
|
|
5913
|
+
"path": "scripts/gds/ship-land.js",
|
|
5914
|
+
"mode": "0000644",
|
|
5915
|
+
"sha256": "c3224ab05621b1e1e523b926c7a3d0e09b36c7de3fc6d984ee6c588dfcdd1e38"
|
|
5916
|
+
},
|
|
5917
|
+
{
|
|
5918
|
+
"path": "scripts/gds/ship-memory-sync.js",
|
|
5919
|
+
"mode": "0000644",
|
|
5920
|
+
"sha256": "3eb7d979b1d1706b532cd93e272e254e166bdc27d18101e0d4b7b1a0f7b51346"
|
|
5921
|
+
},
|
|
5922
|
+
{
|
|
5923
|
+
"path": "scripts/gds/ship-merge.js",
|
|
5924
|
+
"mode": "0000644",
|
|
5925
|
+
"sha256": "7c5751c146bcddc9cbf88c6177925e049413d0d275ddb174d5d92b38e75ecab8"
|
|
5926
|
+
},
|
|
5927
|
+
{
|
|
5928
|
+
"path": "scripts/gds/ship-preflight-steps.js",
|
|
5929
|
+
"mode": "0000644",
|
|
5930
|
+
"sha256": "6b6e7afdcc66c44e191c43b566e36af7f0519f5dbeb751c8ff9b3285a637603a"
|
|
5931
|
+
},
|
|
5932
|
+
{
|
|
5933
|
+
"path": "scripts/gds/ship-regen.js",
|
|
5934
|
+
"mode": "0000644",
|
|
5935
|
+
"sha256": "32599b3ae9c5f32dc82250dba824f9acea98ae1a4ac8b0d5d0e61870186921f6"
|
|
5936
|
+
},
|
|
5937
|
+
{
|
|
5938
|
+
"path": "scripts/gds/ship-resume.js",
|
|
5939
|
+
"mode": "0000644",
|
|
5940
|
+
"sha256": "4d56098b0b7df003e7efece23b8d1bca55dd272774117cd75074a1c7609939ec"
|
|
5941
|
+
},
|
|
5942
|
+
{
|
|
5943
|
+
"path": "scripts/gds/ship-session-upload.js",
|
|
5944
|
+
"mode": "0000644",
|
|
5945
|
+
"sha256": "f340c466aa2eb2b7e79fb8626f687de3f85f3631a103e36f0ca91a27787efb7f"
|
|
5946
|
+
},
|
|
5947
|
+
{
|
|
5948
|
+
"path": "scripts/gds/ship-state.js",
|
|
5949
|
+
"mode": "0000644",
|
|
5950
|
+
"sha256": "a22377162ea9449249ee338e434c2b595a4de88743e6dacc290138f0ea9799dc"
|
|
5951
|
+
},
|
|
5952
|
+
{
|
|
5953
|
+
"path": "scripts/gds/ship-surprise.js",
|
|
5954
|
+
"mode": "0000644",
|
|
5955
|
+
"sha256": "ff7e9d74c4349a3c5bb41df121165f4868fd78913211872c4b055a7282463144"
|
|
5956
|
+
},
|
|
5872
5957
|
{
|
|
5873
5958
|
"path": "scripts/gds/ship.js",
|
|
5874
5959
|
"mode": "0000644",
|
|
5875
|
-
"sha256": "
|
|
5960
|
+
"sha256": "342dd41ae45a1c7babd30b0ec136706034e4873a43bb6779a7df428bcceffb33"
|
|
5876
5961
|
},
|
|
5877
5962
|
{
|
|
5878
5963
|
"path": "scripts/gds/skill-preflight.js",
|
|
@@ -6047,7 +6132,7 @@
|
|
|
6047
6132
|
{
|
|
6048
6133
|
"path": "scripts/status-probe.mjs",
|
|
6049
6134
|
"mode": "0000644",
|
|
6050
|
-
"sha256": "
|
|
6135
|
+
"sha256": "c3681a59b442751e44e9b070d757fb20df381c6cc3df093d659a02854d1bbdc8"
|
|
6051
6136
|
},
|
|
6052
6137
|
{
|
|
6053
6138
|
"path": "src/asset-version.js",
|
|
@@ -6332,7 +6417,7 @@
|
|
|
6332
6417
|
{
|
|
6333
6418
|
"path": "src/module-api.js",
|
|
6334
6419
|
"mode": "0000644",
|
|
6335
|
-
"sha256": "
|
|
6420
|
+
"sha256": "31c5e453080859713ed00c327a6b1fb1a022d2509438523979bad2e0e8feb7bf"
|
|
6336
6421
|
},
|
|
6337
6422
|
{
|
|
6338
6423
|
"path": "src/module-loader/catalog.js",
|
|
@@ -6647,7 +6732,7 @@
|
|
|
6647
6732
|
{
|
|
6648
6733
|
"path": "tests/box_access.mjs",
|
|
6649
6734
|
"mode": "0000644",
|
|
6650
|
-
"sha256": "
|
|
6735
|
+
"sha256": "fcad6c578c2d8698d6ad93fe04f500734d589013590f006910f1bc33fc908642"
|
|
6651
6736
|
},
|
|
6652
6737
|
{
|
|
6653
6738
|
"path": "tests/box_auth_check.mjs",
|
|
@@ -7187,7 +7272,7 @@
|
|
|
7187
7272
|
{
|
|
7188
7273
|
"path": "tests/fitness_ratchets.mjs",
|
|
7189
7274
|
"mode": "0000644",
|
|
7190
|
-
"sha256": "
|
|
7275
|
+
"sha256": "e33edfa4925694d824c042f1fd06a977f1ac14b5c1cb24b5326014ca9f86ece0"
|
|
7191
7276
|
},
|
|
7192
7277
|
{
|
|
7193
7278
|
"path": "tests/fitness_two_root.mjs",
|
|
@@ -7602,7 +7687,7 @@
|
|
|
7602
7687
|
{
|
|
7603
7688
|
"path": "tests/helpers.mjs",
|
|
7604
7689
|
"mode": "0000644",
|
|
7605
|
-
"sha256": "
|
|
7690
|
+
"sha256": "3c1066d26925b277bee1cab8b04f8c467296a6fa0c2a1861761f10da89798fb2"
|
|
7606
7691
|
},
|
|
7607
7692
|
{
|
|
7608
7693
|
"path": "tests/hierarchy-config.mjs",
|
|
@@ -8212,7 +8297,7 @@
|
|
|
8212
8297
|
{
|
|
8213
8298
|
"path": "tests/provision.mjs",
|
|
8214
8299
|
"mode": "0000644",
|
|
8215
|
-
"sha256": "
|
|
8300
|
+
"sha256": "304f8d9243512672a706a1e073a4874aec2e24a43cfbed550967db1fd23a16dc"
|
|
8216
8301
|
},
|
|
8217
8302
|
{
|
|
8218
8303
|
"path": "tests/provisioning_default_domain.mjs",
|
|
@@ -8342,7 +8427,7 @@
|
|
|
8342
8427
|
{
|
|
8343
8428
|
"path": "tests/regrade_eligibility.mjs",
|
|
8344
8429
|
"mode": "0000644",
|
|
8345
|
-
"sha256": "
|
|
8430
|
+
"sha256": "a7a0a61260a4ee78f5452b76ee6d8ef732104cf9c32a3c05bfa25517bf883aeb"
|
|
8346
8431
|
},
|
|
8347
8432
|
{
|
|
8348
8433
|
"path": "tests/render_prefs.mjs",
|
|
@@ -8577,7 +8662,7 @@
|
|
|
8577
8662
|
{
|
|
8578
8663
|
"path": "tests/ship_assurance.mjs",
|
|
8579
8664
|
"mode": "0000644",
|
|
8580
|
-
"sha256": "
|
|
8665
|
+
"sha256": "7257c4041ba48300172bbacbed4b0727ebd222e3626c7e871d845c048646dc12"
|
|
8581
8666
|
},
|
|
8582
8667
|
{
|
|
8583
8668
|
"path": "tests/ship_autolinkify.mjs",
|
|
@@ -8652,7 +8737,7 @@
|
|
|
8652
8737
|
{
|
|
8653
8738
|
"path": "tests/ship_publish_error.mjs",
|
|
8654
8739
|
"mode": "0000644",
|
|
8655
|
-
"sha256": "
|
|
8740
|
+
"sha256": "b6ca6ac4802b035c02be382a8aa7f63f5381b02524343d5fe002336c1aadc512"
|
|
8656
8741
|
},
|
|
8657
8742
|
{
|
|
8658
8743
|
"path": "tests/ship_resume.mjs",
|
|
@@ -117,7 +117,9 @@ This mirrors what `ship.js` does automatically; it's here because /merge-mode de
|
|
|
117
117
|
|
|
118
118
|
**Step 5 — smoke tests, push, deploy.**
|
|
119
119
|
|
|
120
|
-
> **Deploy mode (#679 / [ADR 0042](../../../docs/adr/<redacted>.md)).** `config/deploy.json` is now `mode: ci` (CI cutover landed 2026-06-13), so the **`ci`** path is current: there is no laptop merge and no SSH at all — landing happens via PR auto-merge and [`.github/workflows/deploy-prod.yml`](../../../.github/workflows/deploy-prod.yml) deploys `main`→prod from Actions. In `ci` mode, do NOT run the `git push origin main` + `ssh … ~/deploy.sh` lines below — instead confirm the PR auto-merged and the `deploy-prod` Actions run went green. The block below is the **legacy `laptop`** deploy mode (the operator's machine pushes `main` and SSHes the droplet) — it is the fallback path and only applies if `config/deploy.json` is reverted to `mode: laptop`. Check the active mode with `node
|
|
120
|
+
> **Deploy mode (#679 / [ADR 0042](../../../docs/adr/<redacted>.md)).** `config/deploy.json` is now `mode: ci` (CI cutover landed 2026-06-13), so the **`ci`** path is current: there is no laptop merge and no SSH at all — landing happens via PR auto-merge and [`.github/workflows/deploy-prod.yml`](../../../.github/workflows/deploy-prod.yml) deploys `main`→prod from Actions. In `ci` mode, do NOT run the `git push origin main` + `ssh … ~/deploy.sh` lines below — instead confirm the PR auto-merged and the `deploy-prod` Actions run went green. The block below is the **legacy `laptop`** deploy mode (the operator's machine pushes `main` and SSHes the droplet) — it is the fallback path and only applies if `config/deploy.json` is reverted to `mode: laptop`. Check the active mode with `node scripts/gds/ship.js --print-deploy-mode`.
|
|
121
|
+
|
|
122
|
+
> **Do NOT probe `parseDeployMode` directly (task 1003221).** It reads only the env var and `config/deploy.json`, and **defaults to `laptop`** when neither is present — and `config/` is not in the dev-box sparse checkout (`BASE_SPARSE_PATHS`, ADR 0148), so on a box that probe answers `laptop` every time. It sent a builder down the laptop merge path — local merge, `push-main.js`, SSH deploy — on a machine with none of those credentials (2026-08-21, 163 minutes). `effectiveDeployMode` is the credential-aware answer and reroutes to `ci` when the machine cannot push locally; the flag above prints that one.
|
|
121
123
|
|
|
122
124
|
```bash
|
|
123
125
|
node scripts/gds/smoke-gds.js # 16/16 expected (cross-platform; replaces smoke-gds.sh)
|
|
@@ -18,7 +18,9 @@
|
|
|
18
18
|
# - GitHub (api.github.com/meta ranges) ......... git push/pull, `gh`
|
|
19
19
|
# - npm registry (registry.npmjs.org) ............ `npm ci`
|
|
20
20
|
# - Anthropic API (api.anthropic.com + telemetry) the brain (tokens), Claude Code
|
|
21
|
-
# -
|
|
21
|
+
# - THIS instance's own API host(s) .............. the GDS API (/api/gds/* CLI)
|
|
22
|
+
# (resolved from config/branding.json at runtime — task 1002757; a hardcoded
|
|
23
|
+
# founder host allow-listed someone else's server and BLOCKED the builder's own)
|
|
22
24
|
# - generativelanguage.googleapis.com ............ the pixel-art pipeline (Gemini) [OTB]
|
|
23
25
|
# - pypi.org + files.pythonhosted.org ............ `pip install` art deps [OTB]
|
|
24
26
|
#
|
|
@@ -45,13 +47,42 @@ ALLOWED_HOSTS=(
|
|
|
45
47
|
"api.anthropic.com"
|
|
46
48
|
"statsig.anthropic.com"
|
|
47
49
|
"sentry.io"
|
|
48
|
-
"amazonprimea.com"
|
|
49
|
-
"staging.amazonprimea.com"
|
|
50
50
|
"generativelanguage.googleapis.com"
|
|
51
51
|
"pypi.org"
|
|
52
52
|
"files.pythonhosted.org"
|
|
53
|
+
# THIS instance's own hosts are appended below from its branding pack.
|
|
53
54
|
)
|
|
54
55
|
|
|
56
|
+
# Append the instance's OWN API hosts, read from config/branding.json at runtime
|
|
57
|
+
# (task 1002757). Was two hardcoded founder hosts, which allow-listed someone
|
|
58
|
+
# else's server and left the builder's own GDS API blocked — the devcontainer
|
|
59
|
+
# then failed every /builder-* call for a reason nothing in the log explained.
|
|
60
|
+
# GDS_ALLOW_HOSTS (space/comma separated) overrides for a non-standard setup.
|
|
61
|
+
REPO_ROOT_FW="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
62
|
+
INSTANCE_HOSTS="${GDS_ALLOW_HOSTS:-}"
|
|
63
|
+
if [ -z "$INSTANCE_HOSTS" ]; then
|
|
64
|
+
INSTANCE_HOSTS="$(node -e '
|
|
65
|
+
const d = (require(process.argv[1]).branding().domains) || {};
|
|
66
|
+
const hosts = new Set();
|
|
67
|
+
// Only *_ORIGIN-shaped values yield a host, and only a real public FQDN
|
|
68
|
+
// counts: the neutral starter pack carries localhost:3000 and bare subdomain
|
|
69
|
+
// PREFIXES ("sandbox-", "term-"), none of which is an allow-listable host.
|
|
70
|
+
for (const v of Object.values(d)) {
|
|
71
|
+
if (typeof v !== "string" || !v.trim()) continue;
|
|
72
|
+
let host = null;
|
|
73
|
+
try { host = new URL(v).hostname; } catch { host = v.trim(); }
|
|
74
|
+
if (!host) continue;
|
|
75
|
+
if (!/^(?=.{1,253}$)[a-z0-9]([a-z0-9-]*[a-z0-9])?(\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)+$/i.test(host)) continue;
|
|
76
|
+
if (/^localhost$/i.test(host)) continue;
|
|
77
|
+
hosts.add(host.toLowerCase());
|
|
78
|
+
}
|
|
79
|
+
process.stdout.write([...hosts].join(" "));
|
|
80
|
+
' "$REPO_ROOT_FW/src/branding" 2>/dev/null || true)"
|
|
81
|
+
fi
|
|
82
|
+
for h in ${INSTANCE_HOSTS//,/ }; do
|
|
83
|
+
[ -n "$h" ] && ALLOWED_HOSTS+=("$h")
|
|
84
|
+
done
|
|
85
|
+
|
|
55
86
|
log() { echo "[firewall] $*"; }
|
|
56
87
|
die() {
|
|
57
88
|
# Honor the documented escape hatch: a cap/permission failure on a laptop
|
|
@@ -189,8 +220,13 @@ log " ✓ allow-listed host (api.github.com) is reachable"
|
|
|
189
220
|
|
|
190
221
|
# Our own GDS API must be reachable (the CLI depends on it). Non-fatal warn:
|
|
191
222
|
# the host may be mid-deploy; the firewall correctness is already proven above.
|
|
192
|
-
|
|
193
|
-
|
|
223
|
+
# The instance's OWN first API host (task 1002757 — was a founder literal, so this
|
|
224
|
+
# probe reported a stranger's health as the container's connectivity).
|
|
225
|
+
GDS_PROBE_HOST="$(printf '%s\n' ${INSTANCE_HOSTS//,/ } | head -n 1)"
|
|
226
|
+
if [ -z "$GDS_PROBE_HOST" ]; then
|
|
227
|
+
log " · no instance API host resolved from the branding pack — skipping the GDS reachability probe"
|
|
228
|
+
elif curl -fsS --max-time 10 "https://$GDS_PROBE_HOST/healthz" 2>/dev/null | grep -q '^ok$'; then
|
|
229
|
+
log " ✓ GDS API ($GDS_PROBE_HOST) is reachable"
|
|
194
230
|
else
|
|
195
231
|
log " ! GDS API healthz did not return ok (host may be redeploying) — allow rule is in place"
|
|
196
232
|
fi
|
|
@@ -21,8 +21,17 @@
|
|
|
21
21
|
|
|
22
22
|
import { createClient, ApiError, API_VERSION } from '../index.mjs';
|
|
23
23
|
|
|
24
|
-
//
|
|
25
|
-
|
|
24
|
+
// Point this at YOUR instance: set BONGOS_BASE_URL to its public v1 surface,
|
|
25
|
+
// e.g. https://your-instance.example.com/api/bongos/v1. There is deliberately no
|
|
26
|
+
// default (task 1002757): this example ships in the published npm client, and a
|
|
27
|
+
// baked-in host meant every consumer's copy-paste starting point called someone
|
|
28
|
+
// else's server.
|
|
29
|
+
const baseUrl = process.env.BONGOS_BASE_URL;
|
|
30
|
+
if (!baseUrl) {
|
|
31
|
+
console.error('Set BONGOS_BASE_URL to your instance\'s API base, e.g.:');
|
|
32
|
+
console.error(' BONGOS_BASE_URL=https://your-instance.example.com/api/bongos/v1 node examples/hello-world.mjs');
|
|
33
|
+
process.exit(2);
|
|
34
|
+
}
|
|
26
35
|
const token = process.env.BONGOS_TOKEN; // optional — only needed for the /me call
|
|
27
36
|
|
|
28
37
|
const api = createClient({ baseUrl, token });
|