@bongos/core 1.24.21 → 1.24.22
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 +15 -15
- package/clients/bongos-client/index.d.ts +1 -1
- package/docs/api/openapi.json +3 -0
- package/docs/api-reference.md +1 -1
- package/docs/module-api-changelog.md +2 -0
- package/modules/provisioning/routes/provisioning.js +4 -2
- package/package-lock.json +2 -2
- package/package.json +1 -1
- package/release-notes.json +6 -0
- package/src/module-api.js +1 -1
- package/tests/wizard_demo.mjs +5 -2
package/.bongos-core.json
CHANGED
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
"artifact": "bongos-core",
|
|
3
3
|
"manifest_schema": 1,
|
|
4
4
|
"generator": "scripts/bongos/package-core.js",
|
|
5
|
-
"core_version": "1.24.
|
|
6
|
-
"core_contract": "1.24.
|
|
7
|
-
"source_commit": "
|
|
5
|
+
"core_version": "1.24.22",
|
|
6
|
+
"core_contract": "1.24.22",
|
|
7
|
+
"source_commit": "25ff48c6d442a8dce64b481eaf3f4e7a8b9e02fa",
|
|
8
8
|
"source_ref": "HEAD",
|
|
9
|
-
"built_at": "2026-11-02T00:
|
|
9
|
+
"built_at": "2026-11-02T00:23:18.248Z",
|
|
10
10
|
"redaction": {
|
|
11
11
|
"model": "docs-redacted+functional-verbatim",
|
|
12
12
|
"docs_redacted": 632,
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"gate": "passed"
|
|
18
18
|
},
|
|
19
19
|
"file_count": 4468,
|
|
20
|
-
"tree_sha256": "
|
|
20
|
+
"tree_sha256": "5e6e3d870be65a768c0574be5c3d7a16b2be8850748f9f622d66da5c4f3f5ef2",
|
|
21
21
|
"files": [
|
|
22
22
|
{
|
|
23
23
|
"path": ".claude/skills/ask-for-help/SKILL.md",
|
|
@@ -352,7 +352,7 @@
|
|
|
352
352
|
{
|
|
353
353
|
"path": "clients/bongos-client/index.d.ts",
|
|
354
354
|
"mode": "0000644",
|
|
355
|
-
"sha256": "
|
|
355
|
+
"sha256": "3c301345609619337a39f6385a735722d54552a8e2c4496bc1ab923cd9a65ca5"
|
|
356
356
|
},
|
|
357
357
|
{
|
|
358
358
|
"path": "clients/bongos-client/index.mjs",
|
|
@@ -2457,12 +2457,12 @@
|
|
|
2457
2457
|
{
|
|
2458
2458
|
"path": "docs/api-reference.md",
|
|
2459
2459
|
"mode": "0000644",
|
|
2460
|
-
"sha256": "
|
|
2460
|
+
"sha256": "391006a66d14634cfdc2333d95a9e4aab90376f679b6d4e5b9ff58cd33cec51f"
|
|
2461
2461
|
},
|
|
2462
2462
|
{
|
|
2463
2463
|
"path": "docs/api/openapi.json",
|
|
2464
2464
|
"mode": "0000644",
|
|
2465
|
-
"sha256": "
|
|
2465
|
+
"sha256": "a143477b8f8b9bb1facc61bd0c79f638981c498da2cd04b58997a2cc112df1d8"
|
|
2466
2466
|
},
|
|
2467
2467
|
{
|
|
2468
2468
|
"path": "docs/architecture.md",
|
|
@@ -3002,7 +3002,7 @@
|
|
|
3002
3002
|
{
|
|
3003
3003
|
"path": "docs/module-api-changelog.md",
|
|
3004
3004
|
"mode": "0000644",
|
|
3005
|
-
"sha256": "
|
|
3005
|
+
"sha256": "f2c013805088a650ca5c4ea40b1c62033024d680fcdbf3cbce6bce525506af3d"
|
|
3006
3006
|
},
|
|
3007
3007
|
{
|
|
3008
3008
|
"path": "docs/modules-contract.md",
|
|
@@ -9817,7 +9817,7 @@
|
|
|
9817
9817
|
{
|
|
9818
9818
|
"path": "modules/provisioning/routes/provisioning.js",
|
|
9819
9819
|
"mode": "0000644",
|
|
9820
|
-
"sha256": "
|
|
9820
|
+
"sha256": "c72d11bef0a5fd0f8bbf070dbc28152caac1b1babbdfc9de101172c4fc99d33d"
|
|
9821
9821
|
},
|
|
9822
9822
|
{
|
|
9823
9823
|
"path": "modules/provisioning/routes/render-standup.js",
|
|
@@ -11697,12 +11697,12 @@
|
|
|
11697
11697
|
{
|
|
11698
11698
|
"path": "package-lock.json",
|
|
11699
11699
|
"mode": "0000644",
|
|
11700
|
-
"sha256": "
|
|
11700
|
+
"sha256": "f8d14423c45cc4a1765b3fb41c65c0a73634f5de15da0ab67bae8be2baab8875"
|
|
11701
11701
|
},
|
|
11702
11702
|
{
|
|
11703
11703
|
"path": "package.json",
|
|
11704
11704
|
"mode": "0000644",
|
|
11705
|
-
"sha256": "
|
|
11705
|
+
"sha256": "074860e850922d563941d386715a13c8426c5e7f3378fe433b768a616a6c6f75"
|
|
11706
11706
|
},
|
|
11707
11707
|
{
|
|
11708
11708
|
"path": "public-docs/index.html",
|
|
@@ -11722,7 +11722,7 @@
|
|
|
11722
11722
|
{
|
|
11723
11723
|
"path": "release-notes.json",
|
|
11724
11724
|
"mode": "0000644",
|
|
11725
|
-
"sha256": "
|
|
11725
|
+
"sha256": "8f5fa868a83aa8030c953ac337abb41b7e99ca41fc26e76f0d657f1732eecad8"
|
|
11726
11726
|
},
|
|
11727
11727
|
{
|
|
11728
11728
|
"path": "scripts/bongos/CLAUDE.md",
|
|
@@ -15592,7 +15592,7 @@
|
|
|
15592
15592
|
{
|
|
15593
15593
|
"path": "src/module-api.js",
|
|
15594
15594
|
"mode": "0000644",
|
|
15595
|
-
"sha256": "
|
|
15595
|
+
"sha256": "fa65cb9fab046030b7ccaebb950e2a3489aefb2ba8a7797454b2684356481f33"
|
|
15596
15596
|
},
|
|
15597
15597
|
{
|
|
15598
15598
|
"path": "src/module-loader/catalog.js",
|
|
@@ -22267,7 +22267,7 @@
|
|
|
22267
22267
|
{
|
|
22268
22268
|
"path": "tests/wizard_demo.mjs",
|
|
22269
22269
|
"mode": "0000644",
|
|
22270
|
-
"sha256": "
|
|
22270
|
+
"sha256": "d65fcde85566b1cd0d9ded2c267273d6b8717595348c92953803f54485e04c49"
|
|
22271
22271
|
},
|
|
22272
22272
|
{
|
|
22273
22273
|
"path": "tests/wizard_draft_resume.mjs",
|
|
@@ -577,7 +577,7 @@ export interface PostProvisioningInstancesIdRenderResponse { ok: boolean; queued
|
|
|
577
577
|
export interface PostProvisioningInstancesIdRepoPrivateResponse { ok: boolean; queued: unknown; action: unknown; status: unknown; message: unknown }
|
|
578
578
|
export interface PostProvisioningInstancesIdRestartResponse { ok: boolean; queued: unknown; action: unknown; status: unknown; message: unknown }
|
|
579
579
|
export interface PostProvisioningInstancesIdTeardownResponse { ok: boolean; queued: unknown; action: unknown; status: unknown; superseded: unknown; message: unknown }
|
|
580
|
-
export interface PostProvisioningInstancesRequest { slug: string; target_ref?: string; hosting_shape?: string; domain?: string; no_address?: boolean; tier?: string; onboard_mode?: string; type?: string; description?: string; detail?: Record<string, unknown>; modules?: string[]; terms_acknowledged?: boolean; demo?: Record<string, unknown>; ship_mode?: "auto" | "manual" }
|
|
580
|
+
export interface PostProvisioningInstancesRequest { slug: string; target_ref?: string; hosting_shape?: string; domain?: string; no_address?: boolean; tier?: string; onboard_mode?: string; type?: string; description?: string; detail?: Record<string, unknown>; modules?: string[]; terms_acknowledged?: boolean; demo?: Record<string, unknown>; ship_mode?: "auto" | "manual"; genesis?: boolean }
|
|
581
581
|
export interface PostProvisioningPhysicsCheckRequest { description?: string; detail?: Record<string, unknown> }
|
|
582
582
|
export interface PostProvisioningPhysicsCheckResponse { stop: boolean; message: unknown; soft_limits: unknown }
|
|
583
583
|
export interface PostProvisioningRenderLookupRequest { key: string; owner_id?: string }
|
package/docs/api/openapi.json
CHANGED
|
@@ -39404,6 +39404,9 @@
|
|
|
39404
39404
|
"auto",
|
|
39405
39405
|
"manual"
|
|
39406
39406
|
]
|
|
39407
|
+
},
|
|
39408
|
+
"genesis": {
|
|
39409
|
+
"type": "boolean"
|
|
39407
39410
|
}
|
|
39408
39411
|
},
|
|
39409
39412
|
"required": [
|
package/docs/api-reference.md
CHANGED
|
@@ -789,7 +789,7 @@ Base path: `/api/bongos`. Ranks (enforced server-side, [ADR 0016](adr/0016-trust
|
|
|
789
789
|
| GET | `/api/bongos/provisioning/github-app/status` | `public` | — | GET /provisioning/github-app/status?state=<> — the PUBLIC progress read (task 1004548; the checklist since task 1004649). |
|
|
790
790
|
| GET | `/api/bongos/provisioning/health` | `public` | — | GET /provisioning/health — liveness + the core version this module mounted against. |
|
|
791
791
|
| GET | `/api/bongos/provisioning/instances` | `any-builder` | — | GET /provisioning/instances — the caller's own instances + each open intent. |
|
|
792
|
-
| POST | `/api/bongos/provisioning/instances` | `any-builder` | `slug`, `target_ref`, `hosting_shape`, `domain`, `no_address`, `tier`, `onboard_mode`, `type`, `description`, `detail`, `modules`, `terms_acknowledged`, `demo`, `ship_mode` | POST /provisioning/instances — request a new instance. |
|
|
792
|
+
| POST | `/api/bongos/provisioning/instances` | `any-builder` | `slug`, `target_ref`, `hosting_shape`, `domain`, `no_address`, `tier`, `onboard_mode`, `type`, `description`, `detail`, `modules`, `terms_acknowledged`, `demo`, `ship_mode`, `genesis` | POST /provisioning/instances — request a new instance. |
|
|
793
793
|
| GET | `/api/bongos/provisioning/instances/:id` | `any-builder` | — | GET /provisioning/instances/:id — read one instance (the manage page's read). |
|
|
794
794
|
| GET | `/api/bongos/provisioning/instances/:id/core-upgrade` | `archon` | — | GET the same path — step ONE of the two-step (ADR 0293 D4): what a move would do. |
|
|
795
795
|
| POST | `/api/bongos/provisioning/instances/:id/core-upgrade` | `archon` | — | POST /provisioning/instances/:id/core-upgrade — move the core pin. |
|
|
@@ -3298,5 +3298,7 @@ is load-bearing: the script throws rather than guess if it is missing, and
|
|
|
3298
3298
|
landed since 1.24.19 with no explicit bump. run 41141610027. (task 1002620)
|
|
3299
3299
|
1.24.21 — CI auto-patch (publish-on-merge, ADR 0161): carrier for merges
|
|
3300
3300
|
landed since 1.24.20 with no explicit bump. run 41364831803. (task 1002620)
|
|
3301
|
+
1.24.22 — CI auto-patch (publish-on-merge, ADR 0161): carrier for merges
|
|
3302
|
+
landed since 1.24.21 with no explicit bump. run 41366737579. (task 1002620)
|
|
3301
3303
|
---------------------------------------------------------------------------
|
|
3302
3304
|
```
|
|
@@ -357,7 +357,7 @@ module.exports = function provisioningRoutes() {
|
|
|
357
357
|
// exactly the set the panel preselected. An explicit [] is the different
|
|
358
358
|
// answer "none of them". maxItems is a sanity ceiling well above a catalog
|
|
359
359
|
// that is three modules wide today.
|
|
360
|
-
modules: { type: 'array', itemsType: 'string', maxItems: 50 }, terms_acknowledged: { type: 'boolean' }, demo: { type: 'object' }, ship_mode: { type: 'string', enum: ['auto', 'manual'] }, // the wizard's terms tick (task 1004417, ../terms-ack.js); the demo route's { people, hours_each } (task 1004420, ../demo.js)
|
|
360
|
+
modules: { type: 'array', itemsType: 'string', maxItems: 50 }, terms_acknowledged: { type: 'boolean' }, demo: { type: 'object' }, ship_mode: { type: 'string', enum: ['auto', 'manual'] }, genesis: { type: 'boolean' }, // the wizard's terms tick (task 1004417, ../terms-ack.js); the demo route's { people, hours_each } (task 1004420, ../demo.js)
|
|
361
361
|
})) return;
|
|
362
362
|
const body = req.body || {};
|
|
363
363
|
const detailFault = badProjectDetail(body.detail);
|
|
@@ -472,7 +472,9 @@ module.exports = function provisioningRoutes() {
|
|
|
472
472
|
// Born into genesis (task 1004506, ../birth.js): only the row this request MADE, and before the
|
|
473
473
|
// provision intent exists, so the runner's web.env already carries the marker and the demo's box.
|
|
474
474
|
// Best-effort: a project that misses its marker opens as an ordinary hall; the create still stands.
|
|
475
|
-
|
|
475
|
+
// Genesis is OFF by default (owner, 2026-11-01): a new project opens as the full hall. Only a demo (its
|
|
476
|
+
// time box lives on the birth marker) or an explicit `genesis: true` (the test toggle) is born into it.
|
|
477
|
+
if (created && (demoAsk.demo || body.genesis === true)) await birth.stampBirth(pool, instance.id).catch((err) => log.error('[provisioning] birth marker not stamped', err));
|
|
476
478
|
// The wizard's ship mode (task 1004629) rides beside it; a miss means the project asks at its first ship.
|
|
477
479
|
if (created) await birth.stampShipMode(pool, instance.id, body.ship_mode).catch((err) => log.error('[provisioning] ship mode not stamped', err));
|
|
478
480
|
const demoRow = created && demoAsk.demo ? await demo.startDemoProject(pool, provisioning, instance.id, demoAsk.demo) : null;
|
package/package-lock.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bongos/core",
|
|
3
|
-
"version": "1.24.
|
|
3
|
+
"version": "1.24.22",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "@bongos/core",
|
|
9
|
-
"version": "1.24.
|
|
9
|
+
"version": "1.24.22",
|
|
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.24.
|
|
3
|
+
"version": "1.24.22",
|
|
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",
|
package/release-notes.json
CHANGED
|
@@ -11015,5 +11015,11 @@
|
|
|
11015
11015
|
"id": "1005013",
|
|
11016
11016
|
"text": "Every card in the city now says what it is. Under each question sits a short plain explanation: what kind of thing it is, which goal, task, person or module it belongs to, and what answering does. A Review card used to show a"
|
|
11017
11017
|
}
|
|
11018
|
+
],
|
|
11019
|
+
"1.24.22": [
|
|
11020
|
+
{
|
|
11021
|
+
"id": "1005034",
|
|
11022
|
+
"text": "New projects now open as the full hall instead of starting in the guided setup (genesis and founding mode). The guided setup is paused for now and stays available for demo projects and for test projects that ask for it. Projec"
|
|
11023
|
+
}
|
|
11018
11024
|
]
|
|
11019
11025
|
}
|
package/src/module-api.js
CHANGED
|
@@ -81,7 +81,7 @@ const { sleep } = require('./sleep');
|
|
|
81
81
|
// MAJOR (see allowBoxScope below): passes the request through untouched.
|
|
82
82
|
function deprecatedNoopMiddleware(_req, _res, next) { next(); }
|
|
83
83
|
|
|
84
|
-
const CORE_VERSION = '1.24.
|
|
84
|
+
const CORE_VERSION = '1.24.22'; // CI auto-patch carrier (ADR 0161); changelog: docs/module-api-changelog.md
|
|
85
85
|
|
|
86
86
|
// A namespaced logger so a module's log lines are attributable + consistent.
|
|
87
87
|
// Usage: const log = api.logger('discord'); log.info('mounted');
|
package/tests/wizard_demo.mjs
CHANGED
|
@@ -171,7 +171,10 @@ test('a new project is stamped born, once, before its provision intent; an exist
|
|
|
171
171
|
assert.deepEqual(order, ['birth:41', 'demo:41', 'enqueue:provision'], 'the marker and the demo box are on the row before the runner can read it');
|
|
172
172
|
order.length = 0;
|
|
173
173
|
assert.equal((await post('/provisioning/instances', { slug: 'born-real', hosting_shape: 'byo-host' })).status, 201);
|
|
174
|
-
assert.deepEqual(order, ['
|
|
174
|
+
assert.deepEqual(order, ['enqueue:provision'], 'a real project opens as the full hall: genesis is off by default (owner, 2026-11-01)');
|
|
175
|
+
order.length = 0;
|
|
176
|
+
assert.equal((await post('/provisioning/instances', { slug: 'born-test', hosting_shape: 'byo-host', genesis: true })).status, 201);
|
|
177
|
+
assert.deepEqual(order, ['birth:41', 'enqueue:provision'], 'the genesis toggle still births a test project, with no demo box');
|
|
175
178
|
order.length = 0;
|
|
176
179
|
const again = await post('/provisioning/instances', { slug: 'old-one', hosting_shape: 'byo-host' });
|
|
177
180
|
assert.ok(again.status < 300, JSON.stringify(again.body));
|
|
@@ -179,7 +182,7 @@ test('a new project is stamped born, once, before its provision intent; an exist
|
|
|
179
182
|
const keep = birth.stampBirth;
|
|
180
183
|
birth.stampBirth = async () => { throw new Error('db hiccup'); };
|
|
181
184
|
try {
|
|
182
|
-
assert.equal((await post('/provisioning/instances', { slug: 'unlucky', hosting_shape: 'byo-host' })).status, 201,
|
|
185
|
+
assert.equal((await post('/provisioning/instances', { slug: 'unlucky', hosting_shape: 'byo-host', genesis: true })).status, 201,
|
|
183
186
|
'a missed marker costs the project its genesis, never its creation');
|
|
184
187
|
} finally { birth.stampBirth = keep; }
|
|
185
188
|
});
|