@bongos/core 1.19.852 → 1.19.853
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 +10 -10
- package/docs/module-api-changelog.md +2 -0
- package/package-lock.json +2 -2
- package/package.json +1 -1
- package/src/module-api.js +1 -1
- package/tests/rank_gate.mjs +35 -7
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.
|
|
6
|
-
"core_contract": "1.19.
|
|
7
|
-
"source_commit": "
|
|
5
|
+
"core_version": "1.19.853",
|
|
6
|
+
"core_contract": "1.19.853",
|
|
7
|
+
"source_commit": "23d160b78996d913c0510928995bae59a1ae6832",
|
|
8
8
|
"source_ref": "HEAD",
|
|
9
|
-
"built_at": "2026-09-17T21:
|
|
9
|
+
"built_at": "2026-09-17T21:14:11.854Z",
|
|
10
10
|
"redaction": {
|
|
11
11
|
"model": "docs-redacted+functional-verbatim",
|
|
12
12
|
"docs_redacted": 497,
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"gate": "passed"
|
|
18
18
|
},
|
|
19
19
|
"file_count": 2801,
|
|
20
|
-
"tree_sha256": "
|
|
20
|
+
"tree_sha256": "cfc90395d496db6fa9ae34f98458137adcc184faa73c806f2bfdba99027d74ff",
|
|
21
21
|
"files": [
|
|
22
22
|
{
|
|
23
23
|
"path": ".claude/skills/ask-for-help/SKILL.md",
|
|
@@ -2587,7 +2587,7 @@
|
|
|
2587
2587
|
{
|
|
2588
2588
|
"path": "docs/module-api-changelog.md",
|
|
2589
2589
|
"mode": "0000644",
|
|
2590
|
-
"sha256": "
|
|
2590
|
+
"sha256": "cd9e820a59b864c0b7c48431cbfe39edfeb421fcb807d24679a768c217373720"
|
|
2591
2591
|
},
|
|
2592
2592
|
{
|
|
2593
2593
|
"path": "docs/modules-contract.md",
|
|
@@ -7912,12 +7912,12 @@
|
|
|
7912
7912
|
{
|
|
7913
7913
|
"path": "package-lock.json",
|
|
7914
7914
|
"mode": "0000644",
|
|
7915
|
-
"sha256": "
|
|
7915
|
+
"sha256": "d6109cde0d5b5a6a8667252455ec1221dbcd4891b4937bfd240743990d0a354a"
|
|
7916
7916
|
},
|
|
7917
7917
|
{
|
|
7918
7918
|
"path": "package.json",
|
|
7919
7919
|
"mode": "0000644",
|
|
7920
|
-
"sha256": "
|
|
7920
|
+
"sha256": "e4c6a0d643d7fbf5c9220a2449763f4cbd0b05594eec7fec5d1fffd7e691c54c"
|
|
7921
7921
|
},
|
|
7922
7922
|
{
|
|
7923
7923
|
"path": "public-docs/index.html",
|
|
@@ -9857,7 +9857,7 @@
|
|
|
9857
9857
|
{
|
|
9858
9858
|
"path": "src/module-api.js",
|
|
9859
9859
|
"mode": "0000644",
|
|
9860
|
-
"sha256": "
|
|
9860
|
+
"sha256": "239294e8e4023ccc05619cd66992afebfceea6453821ec3ee7ceb8cabb540cf7"
|
|
9861
9861
|
},
|
|
9862
9862
|
{
|
|
9863
9863
|
"path": "src/module-loader/catalog.js",
|
|
@@ -12932,7 +12932,7 @@
|
|
|
12932
12932
|
{
|
|
12933
12933
|
"path": "tests/rank_gate.mjs",
|
|
12934
12934
|
"mode": "0000644",
|
|
12935
|
-
"sha256": "
|
|
12935
|
+
"sha256": "05e193a23bb1218c1c96a4f4bbc734f2f09a6dd76434eb59750014277f0cef3b"
|
|
12936
12936
|
},
|
|
12937
12937
|
{
|
|
12938
12938
|
"path": "tests/rank_roles_audit.mjs",
|
|
@@ -2178,5 +2178,7 @@ is load-bearing: the script throws rather than guess if it is missing, and
|
|
|
2178
2178
|
landed since 1.19.850 with no explicit bump. run 35274042996. (task 1002620)
|
|
2179
2179
|
1.19.852 — CI auto-patch (publish-on-merge, ADR 0161): carrier for merges
|
|
2180
2180
|
landed since 1.19.851 with no explicit bump. run 35274827497. (task 1002620)
|
|
2181
|
+
1.19.853 — CI auto-patch (publish-on-merge, ADR 0161): carrier for merges
|
|
2182
|
+
landed since 1.19.852 with no explicit bump. run 35275456041. (task 1002620)
|
|
2181
2183
|
---------------------------------------------------------------------------
|
|
2182
2184
|
```
|
package/package-lock.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bongos/core",
|
|
3
|
-
"version": "1.19.
|
|
3
|
+
"version": "1.19.853",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "@bongos/core",
|
|
9
|
-
"version": "1.19.
|
|
9
|
+
"version": "1.19.853",
|
|
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.
|
|
3
|
+
"version": "1.19.853",
|
|
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/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.
|
|
74
|
+
const CORE_VERSION = '1.19.853'; // 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');
|
package/tests/rank_gate.mjs
CHANGED
|
@@ -323,12 +323,41 @@ const __dir = dirname(fileURLToPath(import.meta.url));
|
|
|
323
323
|
// task 1003204: the lifecycle data layer is db.js + db-*.js now — read the family.
|
|
324
324
|
const dbSrc = lifecycleDbSource();
|
|
325
325
|
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
326
|
+
// Isolate the listClaimableTasks function body so we don't match CASE expressions
|
|
327
|
+
// elsewhere in the lifecycle data layer.
|
|
328
|
+
//
|
|
329
|
+
// ANCHORED TO THE NEXT TOP-LEVEL FUNCTION, not to a byte count (task 1004015; the
|
|
330
|
+
// same fix task 1004002 landed in tests/reward_gate.mjs). The window used to be
|
|
331
|
+
// `start + 4000`, and listClaimableTasks measures 12019 chars — so the slice carried
|
|
332
|
+
// a THIRD of the function it claims to scan.
|
|
333
|
+
//
|
|
334
|
+
// That is a false RED for the positive assertion below (the last WHEN clause it needs
|
|
335
|
+
// sits at +3400, leaving 600 characters of margin before an unrelated feature pushes
|
|
336
|
+
// it out of frame — reward_gate was widened four times for exactly that). It is a
|
|
337
|
+
// false GREEN for the NEGATIVE assertions in the next test, which is the worse half:
|
|
338
|
+
// a stale pre-thetes mapping living anywhere past +4000 — two thirds of the body —
|
|
339
|
+
// passes a test whose entire purpose is to catch it.
|
|
340
|
+
//
|
|
341
|
+
// The boundary lookup is ASSERTED rather than defaulted: if listActiveClaims is ever
|
|
342
|
+
// renamed or moved, this fails loudly and names the fix, instead of silently falling
|
|
343
|
+
// back to a byte window and reinstating the bug.
|
|
344
|
+
// LAZY, and called from inside each t() — deliberately not an IIFE evaluated at module
|
|
345
|
+
// load. Every assertion in this file lives inside a t() closure so a failure is caught,
|
|
346
|
+
// named and counted while the other ~30 tests below still run. An assert at top level
|
|
347
|
+
// would throw at IMPORT time in exactly the case it guards (listActiveClaims renamed),
|
|
348
|
+
// aborting the file before any downstream test registers — trading a false green for a
|
|
349
|
+
// silent loss of the rest of the suite.
|
|
350
|
+
const claimableBody = () => {
|
|
329
351
|
const start = dbSrc.indexOf('async function listClaimableTasks');
|
|
330
|
-
assert.ok(start >= 0, 'listClaimableTasks not found in
|
|
331
|
-
const
|
|
352
|
+
assert.ok(start >= 0, 'listClaimableTasks not found in the lifecycle data layer');
|
|
353
|
+
const end = dbSrc.indexOf('async function listActiveClaims', start);
|
|
354
|
+
assert.ok(end > start,
|
|
355
|
+
'listActiveClaims boundary not found — re-anchor this slice to whatever function now follows listClaimableTasks');
|
|
356
|
+
return dbSrc.slice(start, end);
|
|
357
|
+
};
|
|
358
|
+
|
|
359
|
+
t('every live rank appears in the claimable CASE at its REQUIRES_RANK_TIER value', () => {
|
|
360
|
+
const body = claimableBody();
|
|
332
361
|
for (const [rank, tier] of Object.entries(db.REQUIRES_RANK_TIER)) {
|
|
333
362
|
const re = new RegExp(`WHEN '${rank}' THEN ${tier}\\b`);
|
|
334
363
|
assert.ok(re.test(body),
|
|
@@ -338,8 +367,7 @@ t('every live rank appears in the claimable CASE at its REQUIRES_RANK_TIER value
|
|
|
338
367
|
});
|
|
339
368
|
|
|
340
369
|
t('the claimable CASE no longer carries the pre-thetes archon=3/metic=2 scale', () => {
|
|
341
|
-
const
|
|
342
|
-
const body = dbSrc.slice(start, start + 4000);
|
|
370
|
+
const body = claimableBody();
|
|
343
371
|
assert.ok(!/WHEN 'archon' THEN 3\b/.test(body),
|
|
344
372
|
"stale archon=3 mapping present — CASE not migrated to the 4-rank scale");
|
|
345
373
|
assert.ok(!/WHEN 'metic' THEN 2\b/.test(body),
|